Tests for module 'stdlib'.
[gnulib.git] / ChangeLog
1 2007-02-18  Bruno Haible  <bruno@clisp.org>
2
3         * modules/stdlib-tests: New file.
4         * tests/test-stdlib.c: New file.
5
6         * modules/mkstemp (Files): Remove lib/mkstemp.h.
7         (Depends-on): Add stdlib.
8         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
9         (Includes): Use <stdlib.h> instead of mkstemp.h.
10         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
11         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
12         * lib/mkstemp.c: Don't include mkstemp.h.
13         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
14         * lib/stdlib--.h: Don't include mkstemp.h.
15
16         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
17         (Depends-on): Add stdlib.
18         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
19         (Includes): Use <stdlib.h> instead of mkdtemp.h.
20         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
21         HAVE_MKDTEMP.
22         * lib/mkdtemp.c: Don't include mkdtemp.h.
23         * lib/clean-temp.c: Don't include mkdtemp.h.
24
25         * modules/exit (Files): Remove lib/exit.h.
26         (Depends-on): Add stdlib.
27         (Makefile.am): Remove lib_SOURCES.
28         (Include): Use <stdlib.h> instead of exit.h.
29
30         * modules/stdlib: New file.
31         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
32         and extra comments about mkstemp().
33         * lib/exit.h: Remove file.
34         * lib/mkdtemp.h: Remove file.
35         * lib/mkstemp.h: Remove file.
36         * m4/stdlib_h.m4: New file.
37         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
38
39 2007-02-18  Bruno Haible  <bruno@clisp.org>
40
41         * modules/math-tests: New file.
42         * tests/test-math.c: New file.
43
44         * modules/math: New file.
45         * modules/mathl (Files): Remove lib/mathl.h.
46         (Depends-on): Add math.
47         (Makefile.am): Don't mention mathl.h.
48         (Include): Use <math.h> instead of mathl.h.
49         * lib/math_.h: New file.
50         * lib/mathl.h: Remove file.
51         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
52         mathl.h.
53         * lib/asinl.c: Likewise.
54         * lib/atanl.c: Likewise.
55         * lib/ceill.c: Likewise.
56         * lib/cosl.c: Likewise.
57         * lib/expl.c: Likewise.
58         * lib/floorl.c: Likewise.
59         * lib/frexpl.c: Likewise.
60         * lib/ldexpl.c: Likewise.
61         * lib/logl.c: Likewise.
62         * lib/sincosl.c: Likewise.
63         * lib/sinl.c: Likewise.
64         * lib/sqrtl.c: Likewise.
65         * lib/tanl.c: Likewise.
66         * lib/trigl.c: Likewise.
67         * m4/math_h.m4: New file.
68         * MODULES.html.sh (Mathematics): Add math.
69
70 2007-02-17  Bruno Haible  <bruno@clisp.org>
71
72         * modules/wctype-tests: New file.
73         * tests/test-wctype.c: New file.
74
75         * modules/wchar-tests: New file.
76         * tests/test-wchar.c: New file.
77
78         * modules/unistd-tests: New file.
79         * tests/test-unistd.c: New file.
80
81         * modules/time-tests: New file.
82         * tests/test-time.c: New file.
83
84         * modules/sysexits-tests: New file.
85         * tests/test-sysexits.c: New file.
86
87         * modules/sys_time-tests: New file.
88         * tests/test-sys_time.c: New file.
89
90         * modules/sys_stat-tests: New file.
91         * tests/test-sys_stat.c: New file.
92
93         * modules/sys_socket-tests: New file.
94         * tests/test-sys_socket.c: New file.
95
96         * modules/sys_select-tests: New file.
97         * tests/test-sys_select.c: New file.
98
99         * modules/string-tests: New file.
100         * tests/test-string.c: New file.
101
102         * modules/stdbool-tests: New file.
103         * tests/test-stdbool.c: New file.
104
105         * modules/netinet_in-tests: New file.
106         * tests/test-netinet_in.c: New file.
107
108         * modules/inttypes-tests: New file.
109         * tests/test-inttypes.c: New file.
110
111         * modules/fcntl-tests: New file.
112         * tests/test-fcntl.c: New file.
113
114         * modules/byteswap-tests: New file.
115         * tests/test-byteswap.c: New file.
116
117         * modules/arpa_inet-tests: New file.
118         * tests/test-arpa_inet.c: New file.
119
120 2007-02-17  Bruno Haible  <bruno@clisp.org>
121
122         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
123         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
124         if the corresponding module is not enabled. Emit link warnings if
125         the function is used nevertheless.
126         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
127         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
128         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
129         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
130         * modules/inttypes (Depends-on): Add link-warning.
131         (Makefile.am): Copy the contents of build-aux/link-warning.h into
132         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
133         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
134         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
135         * modules/imaxdiv (configure.ac): Likewise.
136         * modules/strtoimax (configure.ac): Likewise.
137         * modules/strtoumax (configure.ac): Likewise.
138         
139 2007-02-17  Bruno Haible  <bruno@clisp.org>
140
141         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
142         gl_STRING_MODULE_INDICATOR_DEFAULTS.
143         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
144         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
145
146 2007-02-17  Bruno Haible  <bruno@clisp.org>
147
148         * modules/link-warning: New file.
149         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
150         * lib/string_.h (GL_LINK_WARNING): Remove definition.
151         * modules/string (Depends-on): Add link-warning.
152         (Makefile.am): Copy the contents of build-aux/link-warning.h into
153         string.h.
154         * MODULES.html.sh (Support for building libraries and executables): Add
155         link-warning.
156
157 2007-02-17  Bruno Haible  <bruno@clisp.org>
158
159         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
160         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
161         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
162         long lines.
163
164 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
165             Bruno Haible  <bruno@clisp.org>
166
167         * modules/tmpfile: New file.
168         * lib/tmpfile.c: New file.
169         * m4/tmpfile.m4: New file.
170         * MODULES.html.sh (func_all_modules): New section "Input/output".
171
172 2007-02-15  Bruno Haible  <bruno@clisp.org>
173
174         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
175         (supports_delete_on_close): New function.
176         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
177
178 2007-02-14  Bruno Haible  <bruno@clisp.org>
179
180         * modules/mbspcasecmp-tests: New file.
181         * tests/test-mbspcasecmp.sh: New file.
182         * tests/test-mbspcasecmp.c: New file.
183
184         New module mbspcasecmp.
185         * modules/mbspcasecmp: New file.
186         * lib/mbspcasecmp.c: New file.
187         * lib/string_.h (strncasecmp): Change warning message.
188         (mbspcasecmp): New declaration.
189         * m4/mbspcasecmp.m4: New file.
190         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
191         GNULIB_MBSPCASECMP.
192         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
193         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
194
195 2007-02-14  Bruno Haible  <bruno@clisp.org>
196
197         * modules/mbsncasecmp-tests: New file.
198         * tests/test-mbsncasecmp.sh: New file.
199         * tests/test-mbsncasecmp.c: New file.
200
201         New module mbsncasecmp.
202         * modules/mbsncasecmp: New file.
203         * lib/mbsncasecmp.c: New file.
204         * lib/string_.h (mbsncasecmp): New declaration.
205         * m4/mbsncasecmp.m4: New file.
206         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
207         GNULIB_MBSNCASECMP.
208         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
209         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
210
211 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
212
213         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
214         Verify that it doesn't overlap with our flags.
215         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
216         do not have the desired effect in multibyte locales; instead, use
217         mbscasecmp.
218         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
219         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
220         we don't require GNU fnmatch ourselves (if our users require it, they
221         should do so explicitly).
222
223         Fix regex code so it doesn't rely on strcasecmp.
224         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
225         Otherwise, include gnulib's langinfo.h.
226         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
227         undesirable behavior in non-C locales.  Instead, rely on localecharset.
228         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
229         * modules/regex (FILES): Remove m4/codeset.m4.
230         (Depends-on): Add localcharset.  Remove strcase.
231
232 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
233
234         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
235         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
236
237 2007-02-13  Bruno Haible  <bruno@clisp.org>
238
239         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
240         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
241
242 2007-02-12  Bruno Haible  <bruno@clisp.org>
243
244         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
245         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
246         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
247         time warning rather than a link error.
248
249 2007-02-12  Bruno Haible  <bruno@clisp.org>
250
251         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
252         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
253         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
254
255 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
256
257         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
258         args, not 2.
259
260 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
261
262         New module 'time', so that apps can include <time.h> as per
263         POSIX and GNU instead of separate include files like time_r.h
264         and timegm.h.  This implementation tries out a simpler approach
265         for replacing decls in standard include files (as compared to
266         the string module), somewhat as an experiment.
267
268         * config/srclist.txt: Comment out mktime.c for now.
269         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
270         since it doesn't apply any more.  Use generic wording instead.
271         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
272         'time'.
273         * lib/time_.h, m4/time_h.m4, modules/time: New files.
274         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
275         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
276         Don't include <sys/types.h>; no longer needed since we assume C89.
277         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
278         * lib/strftime.c: Likewise.
279         * lib/time_r.c: Likewise.
280         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
281         * lib/nanosleep.c: Include <time.h> first, to check interface.
282         * lib/strptime.c: Likewise.
283         * lib/time_r.c: Likewise.
284         * lib/timegm.c: Likewise.
285         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
286         needed.
287         * lib/timegm.c: Don't include timegm.h; no longer needed.
288         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
289         time.h now handles any problems in that area.
290         (struct timespec, nanosleep): Remove; time.h now arranges for these.
291         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
292         that time.h defines struct timespec.
293         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
294         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
295         handles that.
296         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
297         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
298         needed.  Set REPLACE_LOCALTIME.
299         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
300         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
301         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
302         nanosleep; time_h.m4 now does that.  Don't require
303         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
304         module handles this now.
305         * modules/getdate (Depends-on): Remove timespec.  Add time.
306         * modules/nanosleep (Depends-on): Likewise.
307         * modules/stat-time (Depends-on): Likewise.
308         * modules/nanosleep (Include): Include time.h, not timespec.h.
309         * modules/strptime (Files): Remove lib/strptime.h.
310         (Depends-on): Add extensions, time.
311         (Include): Include time.h, not strptime.h.
312         * modules/time_r (Files): Remove lib/time_r.h.
313         (Depends-on): Add time.
314         (Include): Include time.h, not time_r.h.
315         * modules/timegm: Likewise.
316         * modules/timespec (Description): Now does timespec-related decls
317         of our own, instead of struct timespec itself.
318         (Depends-on): Add time; remove extensions.
319         (Maintainer): Add self.
320         * modules/utimecmp (Depends-on): Add time; remove timespec.
321         * modules/utimens (Depends-on): Likewise.
322         * modules/xnanosleep (Depends-on): Likewise.
323
324 2007-02-11  Bruno Haible  <bruno@clisp.org>
325
326         * lib/c-strstr.c: Include allocsa.h.
327         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
328         * lib/c-strcasestr.c: Include allocsa.h.
329         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
330         * lib/strcasestr.c: Include allocsa.h.
331         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
332         * lib/mbsstr.c: Include allocsa.h.
333         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
334         allocsa/freesa instead of malloc/free.
335         * lib/mbscasestr.c: Include allocsa.h.
336         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
337         allocsa/freesa instead of malloc/free.
338         * modules/c-strstr (Depends-on): Add allocsa.
339         * modules/c-strcasestr (Depends-on): Likewise.
340         * modules/strcasestr (Depends-on): Likewise.
341         * modules/mbsstr (Depends-on): Likewise.
342         * modules/mbscasestr (Depends-on): Likewise.
343
344 2007-02-11  Bruno Haible  <bruno@clisp.org>
345
346         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
347
348         * modules/mbsspn-tests: New file.
349         * tests/test-mbsspn.sh: New file.
350         * tests/test-mbsspn.c: New file.
351
352 2007-02-11  Bruno Haible  <bruno@clisp.org>
353
354         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
355
356         * modules/mbspbrk-tests: New file.
357         * tests/test-mbspbrk.sh: New file.
358         * tests/test-mbspbrk.c: New file.
359
360 2007-02-11  Bruno Haible  <bruno@clisp.org>
361
362         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
363         unneeded cast.
364
365         * modules/mbscspn-tests: New file.
366         * tests/test-mbscspn.sh: New file.
367         * tests/test-mbscspn.c: New file.
368
369 2007-02-11  Bruno Haible  <bruno@clisp.org>
370
371         * modules/mbscasecmp-tests: New file.
372         * tests/test-mbscasecmp.sh: New file.
373         * tests/test-mbscasecmp.c: New file.
374
375 2007-02-11  Bruno Haible  <bruno@clisp.org>
376
377         Ensure O(n) worst-case complexity of mbscasestr.
378         * lib/mbscasestr.c: Include stdbool.h.
379         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
380         functions.
381         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
382         the bookkeeping indicates that it's worth it.
383         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
384
385         * modules/mbscasestr-tests: New file.
386         * tests/test-mbscasestr1.c: New file.
387         * tests/test-mbscasestr2.sh: New file.
388         * tests/test-mbscasestr2.c: New file.
389         * tests/test-mbscasestr3.sh: New file.
390         * tests/test-mbscasestr3.c: New file.
391         * tests/test-mbscasestr4.sh: New file.
392         * tests/test-mbscasestr4.c: New file.
393         * m4/locale-tr.m4: New file.
394
395 2007-02-11  Bruno Haible  <bruno@clisp.org>
396
397         Ensure O(n) worst-case complexity of mbsstr.
398         * lib/mbsstr.c: Include stdbool.h.
399         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
400         functions.
401         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
402         bookkeeping indicates that it's worth it.
403         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
404
405         * modules/mbsstr-tests: New file.
406         * tests/test-mbsstr1.c: New file.
407         * tests/test-mbsstr2.sh: New file.
408         * tests/test-mbsstr2.c: New file.
409         * tests/test-mbsstr3.sh: New file.
410         * tests/test-mbsstr3.c: New file.
411         * m4/locale-fr.m4: New file.
412
413 2007-02-11  Bruno Haible  <bruno@clisp.org>
414
415         * lib/mbsrchr.c (mbsrchr): Fix bug.
416
417         * modules/mbsrchr-tests: New file.
418         * tests/test-mbsrchr.sh: New file.
419         * tests/test-mbsrchr.c: New file.
420
421 2007-02-11  Bruno Haible  <bruno@clisp.org>
422
423         * lib/mbschr.c (mbschr): Fix bug.
424
425         * modules/mbschr-tests: New file.
426         * tests/test-mbschr.sh: New file.
427         * tests/test-mbschr.c: New file.
428         * m4/locale-zh.m4: New file.
429
430 2007-02-11  Bruno Haible  <bruno@clisp.org>
431
432         Support for copying multibyte string iterators.
433         * lib/mbiter.h: Include <string.h>.
434         (mbiter_multi_copy): New function.
435         (mbi_copy): New macro.
436         * lib/mbuiter.h: Include <string.h>.
437         (mbuiter_multi_copy): New function.
438         (mbui_copy): New macro.
439
440 2007-02-11  Bruno Haible  <bruno@clisp.org>
441
442         New module mbslen.
443         * modules/mbslen: New file.
444         * lib/mbslen.c: New file.
445         * lib/string_.h (mbslen): New declaration.
446         * m4/mbslen.m4: New file.
447         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
448         GNULIB_MBSLEN.
449         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
450         * MODULES.html.sh (Internationalization functions): Add mbslen.
451
452 2007-02-11  Bruno Haible  <bruno@clisp.org>
453
454         Ensure O(n) worst-case complexity of strcasestr substitute.
455         * lib/strcasestr.c: Include stdbool.h.
456         (knuth_morris_pratt): New function.
457         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
458         bookkeeping indicates that it's worth it.
459         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
460
461         * modules/strcasestr-tests: New file.
462         * tests/test-strcasestr.c: New file.
463
464 2007-02-11  Bruno Haible  <bruno@clisp.org>
465
466         Ensure O(n) worst-case complexity of c_strcasestr.
467         * lib/c-strcasestr.c: Include stdbool.h, string.h.
468         (knuth_morris_pratt): New function.
469         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
470         the bookkeeping indicates that it's worth it.
471         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
472
473         * modules/c-strcasestr-tests: New file.
474         * tests/test-c-strcasestr.c: New file.
475
476 2007-02-11  Bruno Haible  <bruno@clisp.org>
477
478         Ensure O(n) worst-case complexity of c_strstr.
479         * lib/c-strstr.c: Include stdbool.h, string.h.
480         (knuth_morris_pratt): New function.
481         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
482         bookkeeping indicates that it's worth it.
483         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
484
485         * lib/c-strstr.c: Complete rewrite for maintainability.
486
487         * modules/c-strstr-tests: New file.
488         * tests/test-c-strstr.c: New file.
489
490 2007-02-11  Bruno Haible  <bruno@clisp.org>
491
492         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
493         5.2.1 and earlier, whereby \055 was treated just like the range
494         delimiter '-'.  Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
495
496 2007-02-08  Bruno Haible  <bruno@clisp.org>
497
498         * modules/regex (Depends-on): Add stdbool.
499         Reported by Dalibor Topic <robilad@kaffe.org>.
500
501 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
502
503         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
504         Prefer returning from main to exiting from it.
505         Remove unnecessary parens after sizeof.
506
507 2007-02-05  Bruno Haible  <bruno@clisp.org>
508
509         New module mbssep.
510         * modules/mbssep: New file.
511         * lib/mbssep.c: New file.
512         * lib/string_.h (strsep): Add a conditional link warning.
513         (mbssep): New declaration.
514         * m4/mbssep.m4: New file.
515         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
516         GNULIB_MBSSEP.
517         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
518         * MODULES.html.sh (Internationalization functions): Add mbssep.
519
520 2007-02-05  Bruno Haible  <bruno@clisp.org>
521
522         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
523         Optimize search in case of 1 delimiter.
524
525 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
526
527         * lib/acl.h: Include sys/types.h before sys/acl.h.
528
529 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
530
531         Merge upstream fix for glibc bugzilla #3957:
532
533         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
534
535         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
536         bit for RE_HAT_LISTS_NOT_NEWLINE.
537         (build_charclass_op): Remove bogus comment.
538
539 2007-02-05  Simon Josefsson  <simon@josefsson.org>
540
541         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
542
543 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
544
545         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
546         * lib/memmem.c [!defined _LIBC]: Include config.h.
547
548 2007-02-04  Bruno Haible  <bruno@clisp.org>
549
550         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
551         warning message.
552
553 2007-02-04  Bruno Haible  <bruno@clisp.org>
554
555         New module mbstok_r.
556         * modules/mbstok_r: New file.
557         * lib/mbstok_r.c: New file.
558         * lib/string_.h (strtok_r): Change argument names to match the
559         comments. Add a conditional link warning.
560         (mbstok_r): New declaration.
561         * m4/mbstok_r.m4: New file.
562         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
563         GNULIB_MBSTOK_R.
564         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
565         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
566
567 2007-02-04  Bruno Haible  <bruno@clisp.org>
568
569         New module mbsspn.
570         * modules/mbsspn: New file.
571         * lib/mbsspn.c: New file.
572         * lib/string_.h (strspn): Add a conditional link warning.
573         (mbsspn): New declaration.
574         * m4/mbsspn.m4: New file.
575         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
576         GNULIB_MBSSPN.
577         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
578         * MODULES.html.sh (Internationalization functions): Add mbsspn.
579
580 2007-02-04  Bruno Haible  <bruno@clisp.org>
581
582         New module mbspbrk.
583         * modules/mbspbrk: New file.
584         * lib/mbspbrk.c: New file.
585         * lib/string_.h (strpbrk): Add a conditional link warning.
586         (mbspbrk): New declaration.
587         * m4/mbspbrk.m4: New file.
588         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
589         GNULIB_MBSPBRK.
590         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
591         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
592
593 2007-02-04  Bruno Haible  <bruno@clisp.org>
594
595         New module mbscspn.
596         * modules/mbscspn: New file.
597         * lib/mbscspn.c: New file.
598         * lib/string_.h (strcspn): Add a conditional link warning.
599         (mbscspn): New declaration.
600         * m4/mbscspn.m4: New file.
601         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
602         GNULIB_MBSCSPN.
603         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
604         * MODULES.html.sh (Internationalization functions): Add mbscspn.
605
606 2007-02-04  Bruno Haible  <bruno@clisp.org>
607
608         New module mbscasestr, reduced goal of strcasestr.
609         * modules/mbscasestr: New file.
610         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
611         (mbscasestr): Renamed from strcasestr.
612         * lib/strcasestr.c: Don't include mbuiter.h.
613         (strcasestr): Remove support for multibyte locales.
614         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
615         Change the conditional link warning.
616         (mbscasestr): New declaration.
617         * m4/mbscasestr.m4: New file.
618         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
619         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
620         REPLACE_STRCASESTR.
621         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
622         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
623         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
624         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
625         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
626         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
627         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
628         (Depends-on): Remove mbuiter.
629         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
630
631 2007-02-04  Bruno Haible  <bruno@clisp.org>
632
633         Simplify handling of strncasecmp.
634         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
635         the conditional link warning.
636         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
637         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
638         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
639         * modules/strcase (configure.ac): Don't invoke
640         gl_STRING_MODULE_INDICATOR.
641         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
642
643 2007-02-04  Bruno Haible  <bruno@clisp.org>
644
645         New module mbscasecmp, reduced goal of strcasecmp.
646         * modules/mbscasecmp: New file.
647         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
648         (mbscasecmp): Renamed from strcasecmp.
649         * lib/strcasecmp.c: Don't include mbuiter.h.
650         (strcasecmp): Remove support for multibyte locales.
651         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
652         Change the conditional link warning.
653         (mbscasecmp): New declaration.
654         * m4/mbscasecmp.m4: New file.
655         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
656         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
657         REPLACE_STRCASECMP.
658         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
659         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
660         GNULIB_MBSCASECMP.
661         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
662         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
663         * modules/strcase (Files): Remove m4/mbrtowc.m4.
664         (Depends-on): Remove mbuiter.
665         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
666
667 2007-02-04  Bruno Haible  <bruno@clisp.org>
668
669         New module mbsstr. Remove module strstr.
670         * modules/mbsstr: New file.
671         * modules/strstr: Remove file.
672         * lib/mbsstr.c: Renamed from lib/strstr.c.
673         (mbsstr): Renamed from strstr.
674         * lib/string_.h (strstr): Remove declaration. Change the conditional
675         link warning.
676         (mbsstr): New declaration.
677         * m4/mbsstr.m4: New file.
678         * m4/strstr.m4: Remove file.
679         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
680         REPLACE_STRSTR.
681         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
682         Don't initialize GNULIB_STRSTR.
683         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
684         substitute GNULIB_STRSTR and REPLACE_STRSTR.
685         * MODULES.html.sh (Internationalization functions): Add mbsstr.
686         (Support for systems lacking ANSI C 89): Remove strstr.
687
688 2007-02-04  Bruno Haible  <bruno@clisp.org>
689
690         New module mbsrchr.
691         * modules/mbsrchr: New file.
692         * lib/mbsrchr.c: New file.
693         * lib/string_.h (strrchr): Add a conditional link warning.
694         (mbsrchr): New declaration.
695         * m4/mbsrchr.m4: New file.
696         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
697         GNULIB_MBSRCHR.
698         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
699         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
700
701 2007-02-04  Bruno Haible  <bruno@clisp.org>
702
703         New module mbschr.
704         * modules/mbschr: New file.
705         * lib/mbschr.c: New file.
706         * lib/string_.h (strchr): Add a conditional link warning.
707         (mbschr): New declaration.
708         * m4/mbschr.m4: New file.
709         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
710         GNULIB_MBSCHR.
711         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
712         * MODULES.html.sh (Internationalization functions): Add mbschr.
713
714 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
715
716         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
717
718         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
719
720 2007-02-04  Bruno Haible  <bruno@clisp.org>
721
722         New module description section 'configure.ac-early'.
723         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
724         (func_get_autoconf_early_snippet): New function.
725         (func_import, func_create_testdir): Use it. Remove special cases for
726         modules 'extensions' and 'lock'.
727         * modules/extensions (configure.ac-early): Require
728         gl_USE_SYSTEM_EXTENSIONS.
729         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
730
731 2007-02-04  Bruno Haible  <bruno@clisp.org>
732
733         Make use of gcj-4.3's -fsource and -ftarget option.
734         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
735         and if so try the options -fsource and -ftarget.
736         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
737         source_version, ftarget_option, target_version arguments.
738         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
739         (is_envjavac_oldgcj_14_14_usable): Renamed from
740         is_envjavac_gcj_14_14_usable.
741         (is_envjavac_oldgcj_14_13_usable): Renamed from
742         is_envjavac_gcj_14_13_usable.
743         (is_gcj_present): Update.
744         (is_gcj_43, is_gcj43_usable): New functions.
745         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
746         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
747         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
748         try the options -fsource and -ftarget.
749
750 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
751
752         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
753         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
754         larger value.
755
756 2007-02-03  Jim Meyering  <jim@meyering.net>
757
758         Give tools a better chance to allocate space for very large buffers.
759         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
760
761         Make pwd and readlink work also when run with an unreadable parent dir
762         on systems with openat support.
763         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
764         provided getcwd function, even when we have openat support.
765         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
766
767 2007-02-02  Bruno Haible  <bruno@clisp.org>
768
769         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
770         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
771         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
772         portability problems if one of these functions is only used on specific
773         platforms.
774         Reported by Paul Eggert.
775
776 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
777
778         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
779         is causing more trouble than it's curing.
780         * lib/regex_internal.h (__mempcpy): Remove.
781         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
782         (and make the code a tad smaller to boot).
783         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
784
785 2007-02-02  Jim Meyering  <jim@meyering.net>
786
787         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
788         section, not in the Makefile.am: one.
789
790 2007-02-02  Eric Blake  <ebb9@byu.net>
791
792         * lib/strchrnul.c: Always include config.h first.
793
794         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
795         gnulib strstr is not necessary here.
796
797 2007-02-02  Simon Josefsson  <simon@josefsson.org>
798
799         * m4/socklen.m4: Fix typo.
800
801 2007-02-02  Eric Blake  <ebb9@byu.net>
802
803         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
804         * modules/netinet_in (Makefile.am): Likewise.
805
806 2007-02-01  Bruno Haible  <bruno@clisp.org>
807
808         * lib/string_.h (GL_LINK_WARNING): New macro.
809         (strcasecmp, strstr, strcasestr): If provided by the system,
810         conditionally define as a macro that leads to a warning instead of to
811         an error.
812         (strncasecmp): Conditionally define as a macro that leads to a warning.
813
814 2007-02-01  Jim Meyering  <jim@meyering.net>
815
816         Give tools a better chance to allocate space for very large buffers.
817         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
818
819 2007-02-01  Karl Berry  <karl@gnu.org>
820
821         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
822
823 2007-02-01  Bruno Haible  <bruno@clisp.org>
824
825         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
826         renamings.
827
828 2007-02-01  Eric Blake  <ebb9@byu.net>
829
830         * modules/regex (Depends-on): Revert dependence on mempcpy.
831         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
832         module's definition of mempcpy.
833         Reported by Paul Eggert.
834
835 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
836
837         * lib/string_.h: If the gnulib module XYZ is not present, undefine
838         the symbol XYZ before redefining it.  This fixes a problem with
839         programs that don't use XYZ, when compiled on systems that define
840         XYZ to something else.
841
842 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
843
844         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
845         occurs when "mkdir -m foo" creates a setgid directory that is (1)
846         writeable to group or other and (2) is intended to have a special
847         mode bit that is set or cleared.  In such a case, the directory
848         should be neither group- nor other-writeable until the special
849         mode bits are right.
850
851 2007-01-31  Eric Blake  <ebb9@byu.net>
852
853         * modules/mountlist (Depends-on): Add strstr.
854
855         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
856         bug.
857         * modules/string (Makefile.am): Remove redundant replacement.
858         * modules/regex (Depends-on): Add mempcpy.
859
860 2007-01-31  Bruno Haible  <bruno@clisp.org>
861
862         New module description field 'Link'.
863         * gnulib-tool (func_usage): Document --extract-link-directive.
864         (sed_extract_prog): Recognize 'Link' directive.
865         (func_get_link_directive): New function.
866         (func_import): Show summary of link directives.
867         Handle --extract-link-directive option.
868         * modules/acl (Link): New section.
869         * modules/clock-time (Link): New section.
870         * modules/euidaccess (Link): New section.
871         * modules/gettext (Link): New section.
872         * modules/iconv (Link): New section.
873         * modules/lock (Link): New section.
874         * modules/nanosleep (Link): New section.
875         * modules/readline (Link): New section.
876
877 2007-01-27  Bruno Haible  <bruno@clisp.org>
878
879         Enforce the use of gnulib modules for unportable <string.h> functions.
880         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
881         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
882         (gl_HEADER_STRING_H_BODY): Require it.
883         * lib/string_.h: If the gnulib module XYZ is not present, redefine
884         the symbol XYZ to one that gives a link error.
885         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
886         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
887         * modules/mempcpy (configure.ac): Likewise.
888         * modules/memrchr (configure.ac): Likewise.
889         * modules/stpcpy (configure.ac): Likewise.
890         * modules/stpncpy (configure.ac): Likewise.
891         * modules/strcase (configure.ac): Likewise.
892         * modules/strcasestr (configure.ac): Likewise.
893         * modules/strchrnul (configure.ac): Likewise.
894         * modules/strdup (configure.ac): Likewise.
895         * modules/strndup (configure.ac): Likewise.
896         * modules/strnlen (configure.ac): Likewise.
897         * modules/strpbrk (configure.ac): Likewise.
898         * modules/strsep (configure.ac): Likewise.
899         * modules/strstr (configure.ac): Likewise.
900         * modules/strtok_r (configure.ac): Likewise.
901
902 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
903
904         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
905
906 2007-01-30  Jim Meyering  <jim@meyering.net>
907
908         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
909
910 2007-01-29  Bruno Haible  <bruno@clisp.org>
911
912         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
913         * lib/execute.c: Likewise.
914         * lib/pipe.c: Likewise.
915         * lib/printf-args.h: Likewise.
916         * lib/printf-args.c: Likewise.
917         * lib/printf-parse.c: Likewise.
918         * lib/vasnprintf.c: Likewise.
919
920 2007-01-29  Eric Blake  <ebb9@byu.net>
921
922         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
923         declaration.
924
925 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
926
927         * lib/strptime.h (strptime): Use 'restrict' for args where
928         POSIX requires this.
929         * lib/strptime.c (strptime): Likewise.
930         Change license notice from LGPL to GPL, since gnulib-tool will
931         change this as needed.
932         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
933         defined.
934         Include "strptime.h" first, to check interface.
935         Do not #undef _LIBC and _NL_CURRENT.
936         Do not include <stdlib.h>; no longer needed.
937         Include "time_r.h" and declare ptime_locale_status
938         only if _LIBC is not defined.
939         (__P): Remove unused macro.
940         (match_string): Bring back glibc version, but use it only if _LIBC
941         is defined.
942         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
943         Remove unnecessary assertion and abort() call.
944         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
945         * m4/strptime.m4: Fix serial number comment.
946         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
947         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
948         (Depends-on): Add time_r.
949
950 2007-01-29  Bruno Haible  <bruno@clisp.org>
951
952         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
953         strptime.
954         * modules/strptime (Depends-on): Add stdbool.
955         * lib/strptime.h: Include <time.h> always. Add comments.
956
957 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
958
959         * modules/strptime: New file.
960         * lib/strptime.h: New file.
961         * lib/strptime.c: New file.
962         * m4/strptime.m4: New file.
963
964 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
965
966         * MODULES.html.sh: New module mpsort.
967         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
968
969         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
970         a circularity problem with HP-UX ia64 reported by Bob Proulx in
971         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
972         All uses changed.
973         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
974         All uses changed.
975         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
976         to _Restrict_.
977         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
978         the parameter matches the prototype.
979
980 2007-01-28  Jim Meyering  <jim@meyering.net>
981
982         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
983         sys/time.h here, reverting that part of the previous patch:
984         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
985
986 2007-01-28  Bruno Haible  <bruno@clisp.org>
987
988         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
989         value of $(SYS_TIME_H).
990         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
991         remove it conditionally, too. [added by Jim Meyering]
992         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
993         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
994         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
995         GETTIMEOFDAY_REPLACEMENT to 1.
996
997 2007-01-28  Bruno Haible  <bruno@clisp.org>
998
999         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
1000         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
1001         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
1002         Set UNISTD_H instead of UNISTD_H2.
1003         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
1004
1005 2007-01-28  Bruno Haible  <bruno@clisp.org>
1006
1007         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
1008         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
1009
1010 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1011
1012         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
1013         (func_create_testdir): Ensure C locale for `grep' and `tr'
1014         character ranges.
1015         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
1016         ACLOCAL_AMFLAGS parsing state machine.
1017
1018 2007-01-27  Bruno Haible  <bruno@clisp.org>
1019
1020         * modules/unistr/base: Update.
1021
1022 2007-01-27  Bruno Haible  <bruno@clisp.org>
1023
1024         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
1025         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
1026         * modules/unistr/u32-mbtouc-unsafe: Renamed from
1027         modules/unistr/u32-mbtouc.
1028         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
1029         * lib/unistr.h: Update.
1030         * lib/linebreak.c: Update.
1031         * modules/unistr/u32-mbtouc: Renamed from
1032         modules/unistr/u32-mbtouc-safe.
1033         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
1034         * lib/unistr.h: Update.
1035         * lib/unistr/u32-to-u8.c: Update.
1036         * lib/unistr/u32-to-u16.c: Update.
1037
1038 2007-01-27  Bruno Haible  <bruno@clisp.org>
1039
1040         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
1041         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
1042         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
1043         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
1044         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
1045         * modules/unistr/u16-mbtouc-unsafe: Renamed from
1046         modules/unistr/u16-mbtouc.
1047         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
1048         * lib/unistr.h: Update.
1049         * lib/linebreak.c: Update.
1050         * modules/linebreak: Update.
1051         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
1052         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
1053         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
1054         * modules/unistr/u16-mbtouc: Renamed from
1055         modules/unistr/u16-mbtouc-safe.
1056         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
1057         * lib/unistr.h: Update.
1058         * lib/unistr/u16-to-u8.c: Update.
1059         * modules/unistr/u16-to-u8: Update.
1060         * lib/unistr/u16-to-u32.c: Update.
1061         * modules/unistr/u16-to-u32: Update.
1062
1063 2007-01-27  Bruno Haible  <bruno@clisp.org>
1064
1065         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
1066         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
1067         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
1068         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
1069         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
1070         * modules/unistr/u8-mbtouc-unsafe: Renamed from
1071         modules/unistr/u8-mbtouc.
1072         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
1073         * lib/unistr.h: Update.
1074         * lib/striconveh.c: Update.
1075         * modules/striconveh: Update.
1076         * lib/linebreak.c: Update.
1077         * modules/linebreak: Update.
1078         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
1079         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
1080         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
1081         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
1082         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
1083         * lib/unistr.h: Update.
1084         * lib/striconveh.c: Update.
1085         * modules/striconveh: Update.
1086         * lib/unistr/u8-to-u16.c: Update.
1087         * modules/unistr/u8-to-u16: Update.
1088         * lib/unistr/u8-to-u32.c: Update.
1089         * modules/unistr/u8-to-u32: Update.
1090
1091 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1092
1093         Sync from Libtool.
1094         * lib/argz.c: Do not include strings.h nor memory.h, include
1095         string.h unconditionally.  Patch by Simon Josefsson.
1096
1097 2007-01-27  Bruno Haible  <bruno@clisp.org>
1098
1099         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
1100         from gl_HEADER_STRING_H_BODY.
1101         (gl_HEADER_STRING_H_BODY): Require it.
1102         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
1103         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
1104         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
1105         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
1106         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1107         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
1108         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1109         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
1110         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
1111         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
1112         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
1113         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
1114         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
1115         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
1116         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
1117
1118 2007-01-27  Bruno Haible  <bruno@clisp.org>
1119
1120         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
1121         check_PROGRAMS into noinst_PROGRAMS.
1122         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
1123         check_PROGRAMS in this case.
1124         (func_import): Set for_test to false.
1125         (func_create_testdir): Set for_test to true.
1126
1127 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1128             Bruno Haible  <bruno@clisp.org>
1129
1130         * modules/strcasestr (Files): Remove lib/strcasestr.h.
1131         (Depends-on): Add string.
1132         (Includes): Use <string.h> instead of strcasestr.h.
1133         * modules/string (Makefile.am): Also substitute the value of
1134         REPLACE_STRCASESTR.
1135         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
1136         assume strcasestr is declared in <string.h> not <strings.h>. Also
1137         set REPLACE_STRCASESTR.
1138         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
1139         REPLACE_STRCASESTR.
1140         * lib/strcasestr.h: Remove file.
1141         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
1142         * lib/string_.h (strcasestr): New declaration.
1143
1144 2007-01-27  Bruno Haible  <bruno@clisp.org>
1145
1146         * lib/string_.h: Use 'extern'.
1147
1148 2007-01-27  Jim Meyering  <jim@meyering.net>
1149
1150         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
1151         of set-but-not-used local, "q".
1152
1153         * lib/mempcpy.c: Include <config.h> before <string.h>.
1154         This fixes a compilation error on HP-UX, due to the system's
1155         "restrict"-using mempcpy prototype.
1156
1157 2007-01-26  Bruno Haible  <bruno@clisp.org>
1158
1159         Small optimization.
1160         * lib/javacomp.c: Include c-strstr.h.
1161          (is_envjavac_gcj): Use c_strstr instead of strstr.
1162         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
1163
1164 2007-01-26  Bruno Haible  <bruno@clisp.org>
1165
1166         * MODULES.html.sh (Unicode string functions): Add the new modules.
1167
1168         * modules/uniconv/u32-strconv-to-locale: New file.
1169         * lib/uniconv/u32-strconv-to-locale.c: New file.
1170
1171         * modules/uniconv/u16-strconv-to-locale: New file.
1172         * lib/uniconv/u16-strconv-to-locale.c: New file.
1173
1174         * modules/uniconv/u8-strconv-to-locale: New file.
1175         * lib/uniconv/u8-strconv-to-locale.c: New file.
1176
1177         * modules/uniconv/u32-strconv-from-locale: New file.
1178         * lib/uniconv/u32-strconv-from-locale.c: New file.
1179
1180         * modules/uniconv/u16-strconv-from-locale: New file.
1181         * lib/uniconv/u16-strconv-from-locale.c: New file.
1182
1183         * modules/uniconv/u8-strconv-from-locale: New file.
1184         * lib/uniconv/u8-strconv-from-locale.c: New file.
1185
1186         * modules/uniconv/u32-strconv-to-enc: New file.
1187         * lib/uniconv/u32-strconv-to-enc.c: New file.
1188         * modules/uniconv/u32-strconv-to-enc-tests: New file.
1189         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
1190
1191         * modules/uniconv/u16-strconv-to-enc: New file.
1192         * lib/uniconv/u16-strconv-to-enc.c: New file.
1193         * lib/uniconv/u-strconv-to-enc.h: New file.
1194         * modules/uniconv/u16-strconv-to-enc-tests: New file.
1195         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
1196
1197         * modules/uniconv/u8-strconv-to-enc: New file.
1198         * lib/uniconv/u8-strconv-to-enc.c: New file.
1199         * modules/uniconv/u8-strconv-to-enc-tests: New file.
1200         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
1201
1202         * modules/uniconv/u32-strconv-from-enc: New file.
1203         * lib/uniconv/u32-strconv-from-enc.c: New file.
1204         * modules/uniconv/u32-strconv-from-enc-tests: New file.
1205         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
1206
1207         * modules/uniconv/u16-strconv-from-enc: New file.
1208         * lib/uniconv/u16-strconv-from-enc.c: New file.
1209         * modules/uniconv/u16-strconv-from-enc-tests: New file.
1210         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
1211
1212         * modules/uniconv/u8-strconv-from-enc: New file.
1213         * lib/uniconv/u8-strconv-from-enc.c: New file.
1214         * lib/uniconv/u-strconv-from-enc.h: New file.
1215         * modules/uniconv/u8-strconv-from-enc-tests: New file.
1216         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
1217
1218         * modules/uniconv/u32-conv-from-enc: New file.
1219         * lib/uniconv/u32-conv-from-enc.c: New file.
1220         * modules/uniconv/u32-conv-from-enc-tests: New file.
1221         * tests/uniconv/test-u32-conv-from-enc.c: New file.
1222
1223         * modules/uniconv/u16-conv-from-enc: New file.
1224         * lib/uniconv/u16-conv-from-enc.c: New file.
1225         * lib/uniconv/u-conv-from-enc.h: New file.
1226         * modules/uniconv/u16-conv-from-enc-tests: New file.
1227         * tests/uniconv/test-u16-conv-from-enc.c: New file.
1228
1229         * modules/uniconv/u8-conv-from-enc: New file.
1230         * lib/uniconv/u8-conv-from-enc.c: New file.
1231         * modules/uniconv/u8-conv-from-enc-tests: New file.
1232         * tests/uniconv/test-u8-conv-from-enc.c: New file.
1233
1234         * modules/uniconv/base: New file.
1235         * lib/uniconv.h: New file.
1236
1237 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
1238
1239         * doc/gnulib-tool.texi (Initial import): Update to match current
1240         behavior with strdup module.
1241         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
1242         * lib/memmem.h: Remove; all uses removed.  This is now done
1243         by <string.h>.
1244         * lib/mempcpy.h: Likewise.
1245         * lib/memrchr.h: Likewise.
1246         * lib/stpcpy.h: Likewise.
1247         * lib/stpncpy.h: Likewise.
1248         * lib/strcase.h: Likewise.
1249         * lib/strchrnul.h: Likewise.
1250         * lib/strdup.h: Likewise.
1251         * lib/strndup.h: Likewise.
1252         * lib/strnlen.h: Likewise.
1253         * lib/strpbrk.h: Likewise.
1254         * lib/strsep.h: Likewise.
1255         * lib/strstr.h: Likewise.
1256         * lib/strtok_r.h: Likewise.
1257         * lib/string_.h: New file.
1258         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
1259         Rely on <string.h> instead.
1260         * lib/canon-host.c: Likewise.
1261         * lib/chdir-long.c: Likewise.
1262         * lib/concatpath.c: Likewise.
1263         * lib/exclude.c: Likewise.
1264         * lib/fchdir.c: Likewise.
1265         * lib/getaddrinfo.c: Likewise.
1266         * lib/getcwd.c: Likewise.
1267         * lib/getsubopt.c: Likewise.
1268         * lib/glob.c: Likewise.
1269         * lib/hard-locale.c: Likewise.
1270         * lib/iconvme.c: Likewise.
1271         * lib/javacomp.c: Likewise.
1272         * lib/mempcpy.c: Likewise.
1273         * lib/memrchr.c: Likewise.
1274         * lib/regex_internal.h: Likewise.
1275         * lib/stpncpy.c: Likewise.
1276         * lib/strcasecmp.c: Likewise.
1277         * lib/strchrnul.c: Likewise.
1278         * lib/strdup.c: Likewise.
1279         * lib/striconv.c: Likewise.
1280         * lib/striconveh.c: Likewise.
1281         * lib/striconveha.c: Likewise.
1282         * lib/strncasecmp.c: Likewise.
1283         * lib/strndup.c: Likewise.
1284         * lib/strnlen.c: Likewise.
1285         * lib/strsep.c: Likewise.
1286         * lib/strstr.c: Likewise.
1287         * lib/strtok_r.c: Likewise.
1288         * lib/userspec.c: Likewise.
1289         * lib/w32spawn.h: Likewise.
1290         * lib/xstrndup.c: Likewise.
1291         * lib/mountlist.c (strstr): Remove decl.
1292         * m4/string_h.m4: New file.
1293         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
1294         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
1295         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
1296         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
1297         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
1298         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
1299         Set REPLACE_STRCASECMP if necessary.
1300         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
1301         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
1302         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
1303         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
1304         HAVE_DECL_STRDUP if necessary.
1305         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
1306         since gl_FUNC_STRNDUP does that now.
1307         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
1308         Check for decl here...
1309         (gl_PREREQ_STRNLEN): ... not here.
1310         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
1311         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
1312         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
1313         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
1314         necessary.
1315         * modules/string: New file.
1316         * modules/memmem (Files): Remove special-purpose include file.
1317         (Depends-on): Add string.
1318         (Include): Include <string.h>, not the removed file.
1319         * modules/mempcpy: Likewise.
1320         * modules/memrchr: Likewise.
1321         * modules/stpcpy: Likewise.
1322         * modules/stpncpy: Likewise.
1323         * modules/strcase: Likewise.
1324         * modules/strchrnul: Likewise.
1325         * modules/strdup: Likewise.
1326         * modules/strndup: Likewise.
1327         * modules/strnlen: Likewise.
1328         * modules/strpbrk: Likewise.
1329         * modules/strsep: Likewise.
1330         * modules/strstr: Likewise.
1331         * modules/strtok_r: Likewise.
1332         * tests/test-dirname.c: Don't include "strdup.h", since
1333         <string.h> now suffices.
1334         * tests/test-memmem.c: Don't include "memmem.h", since
1335         <string.h> now suffices.
1336
1337 2007-01-25  Bruno Haible  <bruno@clisp.org>
1338
1339         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
1340         *resultp is 0.
1341
1342         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
1343         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
1344         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
1345         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
1346
1347         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
1348         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
1349         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
1350         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
1351         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
1352         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
1353
1354 2007-01-24  Bruno Haible  <bruno@clisp.org>
1355
1356         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
1357         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
1358         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
1359         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
1360         gl_FUNC_FTS_CORE.
1361         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
1362         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
1363         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
1364         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
1365         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
1366         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
1367         gl_FUNC_FCHOWNAT.
1368         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
1369         gl_FUNC_STRFTIME.
1370         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
1371         Reported by Ralf Wildenhues.
1372
1373 2007-01-24  Bruno Haible  <bruno@clisp.org>
1374
1375         Drop AC_REQUIRE calls that are redundant with the module dependencies.
1376         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
1377         gl_GETADDRINFO.
1378         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
1379         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
1380         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
1381
1382 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
1383
1384         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
1385         Don't use 'exit'; just return from 'main'.
1386         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
1387
1388         * lib/fnmatch_.h: Readjust white space and comments to match
1389         glibc, to avoid spurious diffs.
1390
1391 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1392
1393         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
1394         2004-12-01 change by Jakub Jelinek, since this code won't compile
1395         if !LIBC.  Problem reported by Bob Proulx.
1396
1397 2007-01-23  Bruno Haible  <bruno@clisp.org>
1398
1399         * lib/striconveh.c: Include c-strcaseeq.h.
1400         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
1401         * modules/striconveh (Depends-on): Add c-strcaseeq.
1402
1403 2007-01-23  Bruno Haible  <bruno@clisp.org>
1404
1405         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
1406
1407         * modules/c-strcaseeq: New file.
1408         * lib/c-strcaseeq.h: New file.
1409
1410         * modules/streq: New file.
1411         * lib/streq.h: New file.
1412
1413 2007-01-23  Bruno Haible  <bruno@clisp.org>
1414
1415         * modules/striconveha-tests: New file.
1416         * tests/test-striconveha.c: New file.
1417
1418         * lib/striconveha.h: Include <stdbool.h>.
1419         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
1420         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
1421         (mem_iconveha_notranslit): Renamed from mem_iconveha.
1422         (mem_iconveha): New function.
1423         (str_iconveha_notranslit): Renamed from str_iconveha.
1424         (str_iconveha): New function.
1425         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
1426         c-strcase.
1427
1428 2007-01-23  Bruno Haible  <bruno@clisp.org>
1429
1430         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
1431         encodings without forgiving before trying any encoding with handler.
1432         (str_iconveha): Try all encodings without forgiving before trying any
1433         encoding with handler.
1434
1435 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1436
1437         Import the following changes from libc.
1438
1439         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
1440
1441         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
1442
1443         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
1444
1445         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
1446         normal_bracket label.
1447
1448         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
1449
1450         [BZ #361]
1451         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
1452         to normal_bracket after fetching the next character.
1453
1454 2007-01-22  Bruno Haible  <bruno@clisp.org>
1455
1456         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
1457         argument.
1458         * lib/striconveh.c (iconv_carefully_1): New function.
1459         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
1460         argument.
1461         (str_cd_iconveh): Update.
1462         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
1463         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
1464         * tests/test-striconveh.c (MAGIC): New macro.
1465         (new_offsets): New function.
1466         (main): Test call with and without offsets.
1467
1468 2007-01-22  Bruno Haible  <bruno@clisp.org>
1469
1470         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
1471         * modules/sys_select (Makefile.am): Likewise.
1472         * modules/sys_socket (Makefile.am): Likewise.
1473         * modules/sys_time (Makefile.am): Likewise.
1474
1475 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1476
1477         * modules/gettimeofday (License): Change from GPL to LGPL, since
1478         gettimeofday is a library function.
1479
1480 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1481
1482         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
1483
1484 2007-01-21  Bruno Haible  <bruno@clisp.org>
1485
1486         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
1487
1488 2007-01-21  Bruno Haible  <bruno@clisp.org>
1489
1490         * modules/striconveha: New file.
1491         * lib/striconveha.h: New file.
1492         * lib/striconveha.c: New file.
1493         * MODULES.html.sh (Internationalization functions): Add striconveha.
1494         * lib/striconv.c (str_iconv): Optimize the case of an empty input
1495         string.
1496         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
1497
1498 2007-01-21  Bruno Haible  <bruno@clisp.org>
1499
1500         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
1501         * lib/striconveh.c (str_iconveh): Likewise.
1502
1503 2007-01-21  Bruno Haible  <bruno@clisp.org>
1504
1505         * lib/striconveh.h (mem_iconveh): New declaration.
1506         * lib/striconveh.c (mem_iconveh): New function.
1507         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
1508
1509 2007-01-21  Bruno Haible  <bruno@clisp.org>
1510
1511         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
1512
1513         * lib/striconveh.h (mem_cd_iconveh): Change specification.
1514         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
1515         original result buffer.
1516         (str_cd_iconveh): Update.
1517         * tests/test-striconveh.c (main): Update.
1518
1519         * lib/striconv.h (mem_cd_iconv): Change specification.
1520         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
1521         result buffer.
1522         (str_cd_iconv): Update.
1523         * tests/test-striconv.c (main): Update.
1524
1525 2007-01-21  Bruno Haible  <bruno@clisp.org>
1526
1527         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
1528
1529 2007-01-20  Jim Meyering  <jim@meyering.net>
1530
1531         * lib/userspec.c (parse_with_separator): If a user or group string
1532         starts with "+", skip the corresponding name-to-ID look-up, since
1533         such a look-up must fail: user and group names may not include "+".
1534
1535 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
1536
1537         * lib/poll.c: Include sys/time.h and time.h unconditionally,
1538         since we now assume the sys_time module.
1539         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
1540         check for sys/time.h; no longer needed.
1541         * modules/poll (Depends-on): Depend on sys_time.
1542
1543 2007-01-18  Bruno Haible  <bruno@clisp.org>
1544
1545         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
1546         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
1547
1548         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
1549         gettimeofday.
1550
1551         * tests/test-gettimeofday.c: Include <time.h>.
1552         (dummy): Remove variable.
1553
1554         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
1555         gl_HEADER_SYS_TIME_H.
1556         (gl_HEADER_SYS_TIME_H): New macro.
1557
1558         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
1559         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1560         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
1561         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
1562         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1563         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
1564         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
1565         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1566         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
1567         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
1568         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1569
1570         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
1571         last change; it caused a compilation error when cross-compiling to
1572         Cygwin.
1573
1574 2007-01-18  Jim Meyering  <jim@meyering.net>
1575
1576         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
1577         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
1578         than the race-prone "test -d sys || mkdir sys".
1579         (configure.ac): Use AC_PROG_MKDIR_P.
1580         * modules/sys_select: Likewise.
1581         * modules/sys_socket: Likewise.
1582         * modules/sys_time: Likewise.
1583
1584 2007-01-18  Eric Blake  <ebb9@byu.net>
1585
1586         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
1587         replace gettimeofday.
1588         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
1589         name, to avoid infinite recursion.
1590
1591 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
1592
1593         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
1594         module sys_time.
1595         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
1596         assume timespec.h defines struct timeval.
1597         * lib/settime.c: Likewise.
1598         * lib/utimens.c: Likewise.
1599         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
1600         since we now assume the gettimeofday module.
1601         * lib/tempname.c (__gen_tempname): Likewise.
1602         * lib/gettimeofday.h: Remove.
1603         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
1604         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
1605         Include <time.h>, for 'time()'.
1606         (localtime_buffer_addr): Also use this workaround if
1607         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
1608         to simplify the uses.  All uses changed.
1609         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
1610         that #undef is inside {}, and 'const' follows type name consistently.
1611         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
1612         (gettimeofday): Do not use the maximum possible value for
1613         tv->tv_usec, since that might break usages other than ls.c.
1614         Instead, we'll leave ls.c alone.  This undoes today's patch
1615         by Bruno.  Add a compile-time warning for 1s-clock resolution;
1616         we've never observed the problem but might as well keep the
1617         canary.
1618         * lib/nanosleep.c: Include timespec.h first, for interface check.
1619         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
1620         now assume the sys_time module.
1621         * lib/tempname.c: Likewise.
1622         * lib/timespec.h: Likewise.
1623         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
1624         needed.
1625         * lib/strftime.c: Likewise.
1626         * lib/timespec.h: Likewise.
1627         * lib/posixtm.c: Include posixtm.h first, for interface check.
1628         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
1629         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
1630         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
1631         * lib/sys_time_.h: New file.
1632         * lib/timespec.h (struct timespec): Use long int, not long.
1633         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
1634         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
1635         Remove obsolescent call to AC_HEADER_TIME.
1636         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
1637         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1638         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
1639         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
1640         Likewise.
1641         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
1642         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
1643         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
1644         into the sys_time module.  Check for gettimeofday just once.
1645         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
1646         for gettimeofday signature to just check the signature.  Merely
1647         compile it, since linking doesn't test signature.  Improve test for
1648         whether gettimeofday.o is actually needed.
1649         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
1650         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
1651         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
1652         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1653         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
1654         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
1655         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
1656         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
1657         than worrying about sys/time.h.
1658         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
1659         Don't bother worrying about TIME_WITH_SYS_TIME.
1660         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
1661         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
1662         * m4/sys_time_h.m4: New file.
1663         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
1664         Don't include sys/time.h.  Return from main rather than exiting.
1665         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
1666         all uses changed.
1667         * modules/gethrxtime (Depends-on): Add sys_time.
1668         * modules/gettime (Depends-on): Likewise.
1669         * modules/gettimeofday (Depends-on): Likewise.
1670         * modules/nanosleep (Depends-on): Likewise.
1671         * modules/settime (Depends-on): Likewise.
1672         * modules/tempname (Depends-on): Likewise.
1673         * modules/utimens (Depends-on): Likewise.
1674         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
1675         (Include:) Change back to <sys/time.h>.
1676         (Maintainer:) Add self.
1677         * modules/sys_time: New file.
1678         * modules/tempname (Depends-on): Add gettimeofday.
1679         * tests/test-gettimeofday.c: Include <sys/time.h>
1680         rather than gettimeofday.h.
1681
1682 2007-01-17  Bruno Haible  <bruno@clisp.org>
1683
1684         * gnulib-tool (func_get_license): Revert last patch. Instead, let
1685         the license default to GPL.
1686         (func_create_testdir): Don't complain if a module is LGPL and its
1687         tests module depends on GPLed modules.
1688
1689 2007-01-17  Bruno Haible  <bruno@clisp.org>
1690
1691         * lib/gettimeofday.c (gettimeofday): Add code for the case
1692         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
1693         maximum possible value for tv->tv_usec, rather than the minimum one.
1694
1695 2005-10-08  Martin Lambers  <marlam@marlam.de>
1696 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
1697 2007-01-16  Bruno Haible  <bruno@clisp.org>
1698
1699         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
1700         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
1701         gl_FUNC_GETTIMEOFDAY.
1702         (Include): Add gettimeofday.h.
1703         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
1704         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
1705         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
1706         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
1707         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
1708         * lib/gettimeofday.h: New file.
1709         * lib/gettimeofday.c: Include <sys/timeb.h>.
1710         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
1711         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1712         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
1713         fall back on time().
1714
1715         * tests/test-gettimeofday.c: New file.
1716         * modules/gettimeofday-tests: New file.
1717
1718 2007-01-16  Eric Blake  <ebb9@byu.net>
1719
1720         * modules/fnmatch (Depends-on): Depend on wchar.
1721         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
1722         * m4/fnmatch.m4: Likewise.
1723         * modules/mbchar (Makefile.am): Assume <wchar.h>.
1724         * m4/mbchar.m4: Likewise.
1725         * modules/mbswidth (Depends-on): Depend on wchar.
1726         * lib/mbswidth.c: Assume <wchar.h>.
1727         * m4/mbswidth.m4: Likewise.
1728         * modules/quotearg (Depends-on): Depend on wchar.
1729         * lib/quotearg.c: Assume <wchar.h>.
1730         * m4/quotearg.m4: Likewise.
1731         * modules/regex (Depends-on): Depend on wchar.
1732         * lib/regex_internal.h: Assume <wchar.h>.
1733         * m4/regex.m4: Likewise.
1734         * modules/stdint (Depends-on): Depend on wchar.
1735         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
1736         * m4/stdint.m4: Likewise.
1737         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
1738         * modules/strftime (Depends-on): Depend on wchar.
1739         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
1740         * modules/strtol (Depends-on): Depend on wchar.
1741         * lib/strtol.c: Assume <wchar.h>.
1742         * modules/wcwidth (Depends-on): Depend on wchar.
1743         * lib/wcwidth.h: Assume <wchar.h>.
1744         * m4/wcwidth.m4: Likewise.
1745
1746 2007-01-16  Bruno Haible  <bruno@clisp.org>
1747
1748         * modules/csharpexec-script: New, created from...
1749         * modules/csharpexec: ... this.
1750
1751 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
1752
1753         * modules/javaexec-script: New, created from...
1754         * modules/javaexec: ... this.
1755
1756 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1757
1758         * modules/poll (Dependencies): Add sys_select.
1759
1760 2007-01-15  Jim Meyering  <jim@meyering.net>
1761
1762         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
1763         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
1764         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
1765         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
1766
1767 2007-01-15  Bruno Haible  <bruno@clisp.org>
1768
1769         * modules/striconveh: New file.
1770         * lib/striconveh.h: New file.
1771         * lib/striconveh.c: New file.
1772         * MODULES.html.sh (Internationalization functions): Add striconveh.
1773
1774         * modules/striconveh-tests: New file.
1775         * tests/test-striconveh.c: New file.
1776
1777 2007-01-15  Bruno Haible  <bruno@clisp.org>
1778
1779         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
1780         not from GNU libiconv or GNU libc.
1781
1782 2007-01-15  Bruno Haible  <bruno@clisp.org>
1783
1784         * doc/gnulib-intro.texi (Copyright): Explain the different license
1785         terms for module descriptions, autoconf macros, tests, documentation.
1786
1787 2007-01-14  Bruno Haible  <bruno@clisp.org>
1788
1789         * modules/striconv-tests: New file.
1790         * tests/test-striconv.c: New file.
1791
1792 2007-01-14  Bruno Haible  <bruno@clisp.org>
1793
1794         * modules/iconv-tests: New file.
1795         * tests/test-iconv.c: New file.
1796
1797 2007-01-14  Bruno Haible  <bruno@clisp.org>
1798
1799         * gnulib-tool (func_get_license): For test modules, use the license of
1800         the main module.
1801
1802 2007-01-14  Bruno Haible  <bruno@clisp.org>
1803
1804         * modules/iconv (Include): Clarify that <iconv.h> can only be included
1805         if iconv is found to exist.
1806
1807 2007-01-14  Bruno Haible  <bruno@clisp.org>
1808
1809         * modules/c-ctype-tests: New file.
1810         * tests/test-c-ctype.c: New file.
1811
1812 2007-01-14  Bruno Haible  <bruno@clisp.org>
1813
1814         * modules/binary-io-tests: New file.
1815         * tests/test-binary-io.sh: New file.
1816         * tests/test-binary-io.c: New file.
1817
1818 2007-01-14  Bruno Haible  <bruno@clisp.org>
1819
1820         * modules/array-oset-tests: New file.
1821         * tests/test-array_oset.c: New file.
1822
1823 2007-01-14  Bruno Haible  <bruno@clisp.org>
1824
1825         * modules/array-list-tests: New file.
1826         * tests/test-array_list.c: New file.
1827
1828 2007-01-14  Bruno Haible  <bruno@clisp.org>
1829
1830         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
1831         and make.
1832         Reported by Simon Josefsson in
1833         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
1834
1835 2007-01-14  Bruno Haible  <bruno@clisp.org>
1836
1837         * modules/allocsa-tests: New file.
1838         * tests/test-allocsa.c: New file.
1839
1840 2007-01-14  Bruno Haible  <bruno@clisp.org>
1841
1842         * modules/fchdir (Depends-on): Add absolute-header.
1843         * modules/unistd (Depends-on): Likewise.
1844
1845 2006-12-30  Bruno Haible  <bruno@clisp.org>
1846
1847         * modules/fchdir: New file.
1848         * modules/unistd (Files): Add lib/unistd_.h.
1849         (Makefile.am): Generate unistd.h from unistd_.h.
1850         * lib/fchdir.c: New file.
1851         * lib/dirent_.h: New file.
1852         * lib/unistd_.h: New file.
1853         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
1854         * m4/fchdir.m4: New file.
1855         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
1856         (gl_HEADER_UNISTD): Invoke it.
1857         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
1858         function.
1859         * lib/backupfile.c (opendir, closedir): Undefine.
1860         * lib/chown.c (open, close): Undefine.
1861         * lib/clean-temp.c (open, close): Undefine.
1862         * lib/copy-file.c (open, close): Undefine.
1863         * lib/execute.c (open, close): Undefine.
1864         * lib/fsusage.c (open, close): Undefine.
1865         * lib/gc-gnulib.c (open, close): Undefine.
1866         * lib/getcwd.c (opendir, closedir): Undefine.
1867         * lib/glob.c (opendir, closedir): Undefine.
1868         * lib/javacomp.c (open, close): Undefine.
1869         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
1870         * lib/openat-proc.c (open, close): Undefine.
1871         * lib/pagealign_alloc.c (open, close): Undefine.
1872         * lib/pipe.c (open, close): Undefine.
1873         * lib/progreloc.c (open, close): Undefine.
1874         * lib/savedir.c (opendir, closedir): Undefine.
1875         * lib/utime.c (open, close): Undefine.
1876         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
1877
1878 2007-01-10  Bruno Haible  <bruno@clisp.org>
1879
1880         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
1881
1882 2007-01-12  Eric Blake  <ebb9@byu.net>
1883
1884         Provide a robust <wchar.h>.  Further simplifications are now
1885         possible in other modules, but not included here.
1886         * modules/wchar: New module.
1887         * m4/wchar.m4: New file.
1888         * lib/wchar_.h: Likewise.
1889         * modules/mbchar (Depends-on): Depend on wchar, as the first use
1890         of the new module.
1891         * MODULES.html.sh (Extended multibyte and wide character utilities):
1892         New section.
1893
1894 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1895
1896         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
1897         to a reasonable default for memory allocation.
1898         (xreadlink): Don't allocate a huge buffer, to work around a buggy
1899         file system that reports garbage st_size values for symlinks.
1900         Problem reported by Liyang Hu.
1901
1902 2007-01-11  Simon Josefsson  <simon@josefsson.org>
1903
1904         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
1905         Emacs .#* auto-save files).
1906
1907 2007-01-11  Bruno Haible  <bruno@clisp.org>
1908
1909         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
1910         directory.
1911
1912 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1913
1914         Use @...@ consistently in lib/wctype_.h.
1915         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
1916         on it being set to 1 or 0.
1917         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
1918         go back to AC_SUBSTing it.
1919         * modules/wctype (Makefile.am): Undo previous change.
1920
1921 2007-01-10  Eric Blake  <ebb9@byu.net>
1922
1923         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
1924         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
1925         * modules/wctype (Makefile.am): Likewise.
1926         Reported by Chris McGuire.
1927
1928 2007-01-10  Jim Meyering  <jim@meyering.net>
1929
1930         fts.c: a small readability/maintainability improvement
1931         * lib/fts.c (fts_read): Make this code slightly more readable and
1932         maintainable by hoisting the "sp->fts_cur = p" assignments to
1933         immediately follow the statements that set P.  Derived from
1934         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
1935
1936 2007-01-10  Eric Blake  <ebb9@byu.net>
1937
1938         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
1939         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
1940         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1941         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1942         Reported by Chris McGuire.
1943
1944 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1945
1946         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
1947         in sed script.
1948
1949 2007-01-09  Bruno Haible  <bruno@clisp.org>
1950
1951         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
1952         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
1953         variables.
1954         (func_module): Use them.
1955
1956 2007-01-09  Bruno Haible  <bruno@clisp.org>
1957
1958         * modules/unistr/base: New file.
1959         * lib/unistr.h: New file.
1960
1961         * modules/unistr/u8-to-u16: New file.
1962         * lib/unistr/u8-to-u16.c: New file.
1963
1964         * modules/unistr/u8-to-u32: New file.
1965         * lib/unistr/u8-to-u32.c: New file.
1966
1967         * modules/unistr/u16-to-u8: New file.
1968         * lib/unistr/u16-to-u8.c: New file.
1969
1970         * modules/unistr/u16-to-u32: New file.
1971         * lib/unistr/u16-to-u32.c: New file.
1972
1973         * modules/unistr/u32-to-u8: New file.
1974         * lib/unistr/u32-to-u8.c: New file.
1975
1976         * modules/unistr/u32-to-u16: New file.
1977         * lib/unistr/u32-to-u16.c: New file.
1978
1979         * modules/unistr/u8-check: New file.
1980         * modules/unistr/u16-check: New file.
1981         * modules/unistr/u32-check: New file.
1982         * lib/unistr/u8-check.c: New file.
1983         * lib/unistr/u16-check.c: New file.
1984         * lib/unistr/u32-check.c: New file.
1985
1986         * modules/unistr/u8-chr: New file.
1987         * modules/unistr/u16-chr: New file.
1988         * modules/unistr/u32-chr: New file.
1989         * lib/unistr/u8-chr.c: New file.
1990         * lib/unistr/u16-chr.c: New file.
1991         * lib/unistr/u32-chr.c: New file.
1992
1993         * modules/unistr/u8-cmp: New file.
1994         * modules/unistr/u16-cmp: New file.
1995         * modules/unistr/u32-cmp: New file.
1996         * lib/unistr/u8-cmp.c: New file.
1997         * lib/unistr/u16-cmp.c: New file.
1998         * lib/unistr/u32-cmp.c: New file.
1999
2000         * modules/unistr/u8-cpy: New file.
2001         * modules/unistr/u16-cpy: New file.
2002         * modules/unistr/u32-cpy: New file.
2003         * lib/unistr/u8-cpy.c: New file.
2004         * lib/unistr/u16-cpy.c: New file.
2005         * lib/unistr/u32-cpy.c: New file.
2006         * lib/unistr/u-cpy.h: New file.
2007
2008         * modules/unistr/u8-cpy-alloc: New file.
2009         * modules/unistr/u16-cpy-alloc: New file.
2010         * modules/unistr/u32-cpy-alloc: New file.
2011         * lib/unistr/u8-cpy-alloc.c: New file.
2012         * lib/unistr/u16-cpy-alloc.c: New file.
2013         * lib/unistr/u32-cpy-alloc.c: New file.
2014         * lib/unistr/u-cpy-alloc.h: New file.
2015
2016         * modules/unistr/u8-endswith: New file.
2017         * modules/unistr/u16-endswith: New file.
2018         * modules/unistr/u32-endswith: New file.
2019         * lib/unistr/u8-endswith.c: New file.
2020         * lib/unistr/u16-endswith.c: New file.
2021         * lib/unistr/u32-endswith.c: New file.
2022         * lib/unistr/u-endswith.h: New file.
2023
2024         * modules/unistr/u8-mblen: New file.
2025         * modules/unistr/u16-mblen: New file.
2026         * modules/unistr/u32-mblen: New file.
2027         * lib/unistr/u8-mblen.c: New file.
2028         * lib/unistr/u16-mblen.c: New file.
2029         * lib/unistr/u32-mblen.c: New file.
2030
2031         * modules/unistr/u8-mbtouc: New file.
2032         * modules/unistr/u16-mbtouc: New file.
2033         * modules/unistr/u32-mbtouc: New file.
2034         * lib/unistr/u8-mbtouc.c: New file.
2035         * lib/unistr/u16-mbtouc.c: New file.
2036         * lib/unistr/u32-mbtouc.c: New file.
2037
2038         * modules/unistr/u8-mbtouc-safe: New file.
2039         * modules/unistr/u16-mbtouc-safe: New file.
2040         * modules/unistr/u32-mbtouc-safe: New file.
2041         * lib/unistr/u8-mbtouc-safe.c: New file.
2042         * lib/unistr/u16-mbtouc-safe.c: New file.
2043         * lib/unistr/u32-mbtouc-safe.c: New file.
2044
2045         * modules/unistr/u8-move: New file.
2046         * modules/unistr/u16-move: New file.
2047         * modules/unistr/u32-move: New file.
2048         * lib/unistr/u8-move.c: New file.
2049         * lib/unistr/u16-move.c: New file.
2050         * lib/unistr/u32-move.c: New file.
2051         * lib/unistr/u-move.h: New file.
2052
2053         * modules/unistr/u8-next: New file.
2054         * modules/unistr/u16-next: New file.
2055         * modules/unistr/u32-next: New file.
2056         * lib/unistr/u8-next.c: New file.
2057         * lib/unistr/u16-next.c: New file.
2058         * lib/unistr/u32-next.c: New file.
2059
2060         * modules/unistr/u8-prev: New file.
2061         * modules/unistr/u16-prev: New file.
2062         * modules/unistr/u32-prev: New file.
2063         * lib/unistr/u8-prev.c: New file.
2064         * lib/unistr/u16-prev.c: New file.
2065         * lib/unistr/u32-prev.c: New file.
2066
2067         * modules/unistr/u8-set: New file.
2068         * modules/unistr/u16-set: New file.
2069         * modules/unistr/u32-set: New file.
2070         * lib/unistr/u8-set.c: New file.
2071         * lib/unistr/u16-set.c: New file.
2072         * lib/unistr/u32-set.c: New file.
2073         * lib/unistr/u-set.h: New file.
2074
2075         * modules/unistr/u8-startswith: New file.
2076         * modules/unistr/u16-startswith: New file.
2077         * modules/unistr/u32-startswith: New file.
2078         * lib/unistr/u8-startswith.c: New file.
2079         * lib/unistr/u16-startswith.c: New file.
2080         * lib/unistr/u32-startswith.c: New file.
2081         * lib/unistr/u-startswith.h: New file.
2082
2083         * modules/unistr/u8-stpcpy: New file.
2084         * modules/unistr/u16-stpcpy: New file.
2085         * modules/unistr/u32-stpcpy: New file.
2086         * lib/unistr/u8-stpcpy.c: New file.
2087         * lib/unistr/u16-stpcpy.c: New file.
2088         * lib/unistr/u32-stpcpy.c: New file.
2089         * lib/unistr/u-stpcpy.h: New file.
2090
2091         * modules/unistr/u8-stpncpy: New file.
2092         * modules/unistr/u16-stpncpy: New file.
2093         * modules/unistr/u32-stpncpy: New file.
2094         * lib/unistr/u8-stpncpy.c: New file.
2095         * lib/unistr/u16-stpncpy.c: New file.
2096         * lib/unistr/u32-stpncpy.c: New file.
2097         * lib/unistr/u-stpncpy.h: New file.
2098
2099         * modules/unistr/u8-strcat: New file.
2100         * modules/unistr/u16-strcat: New file.
2101         * modules/unistr/u32-strcat: New file.
2102         * lib/unistr/u8-strcat.c: New file.
2103         * lib/unistr/u16-strcat.c: New file.
2104         * lib/unistr/u32-strcat.c: New file.
2105         * lib/unistr/u-strcat.h: New file.
2106
2107         * modules/unistr/u8-strchr: New file.
2108         * modules/unistr/u16-strchr: New file.
2109         * modules/unistr/u32-strchr: New file.
2110         * lib/unistr/u8-strchr.c: New file.
2111         * lib/unistr/u16-strchr.c: New file.
2112         * lib/unistr/u32-strchr.c: New file.
2113
2114         * modules/unistr/u8-strcmp: New file.
2115         * modules/unistr/u16-strcmp: New file.
2116         * modules/unistr/u32-strcmp: New file.
2117         * lib/unistr/u8-strcmp.c: New file.
2118         * lib/unistr/u16-strcmp.c: New file.
2119         * lib/unistr/u32-strcmp.c: New file.
2120
2121         * modules/unistr/u8-strcpy: New file.
2122         * modules/unistr/u16-strcpy: New file.
2123         * modules/unistr/u32-strcpy: New file.
2124         * lib/unistr/u8-strcpy.c: New file.
2125         * lib/unistr/u16-strcpy.c: New file.
2126         * lib/unistr/u32-strcpy.c: New file.
2127         * lib/unistr/u-strcpy.h: New file.
2128
2129         * modules/unistr/u8-strcspn: New file.
2130         * modules/unistr/u16-strcspn: New file.
2131         * modules/unistr/u32-strcspn: New file.
2132         * lib/unistr/u8-strcspn.c: New file.
2133         * lib/unistr/u16-strcspn.c: New file.
2134         * lib/unistr/u32-strcspn.c: New file.
2135         * lib/unistr/u-strcspn.h: New file.
2136
2137         * modules/unistr/u8-strdup: New file.
2138         * modules/unistr/u16-strdup: New file.
2139         * modules/unistr/u32-strdup: New file.
2140         * lib/unistr/u8-strdup.c: New file.
2141         * lib/unistr/u16-strdup.c: New file.
2142         * lib/unistr/u32-strdup.c: New file.
2143         * lib/unistr/u-strdup.h: New file.
2144
2145         * modules/unistr/u8-strlen: New file.
2146         * modules/unistr/u16-strlen: New file.
2147         * modules/unistr/u32-strlen: New file.
2148         * lib/unistr/u8-strlen.c: New file.
2149         * lib/unistr/u16-strlen.c: New file.
2150         * lib/unistr/u32-strlen.c: New file.
2151         * lib/unistr/u-strlen.h: New file.
2152
2153         * modules/unistr/u8-strmblen: New file.
2154         * modules/unistr/u16-strmblen: New file.
2155         * modules/unistr/u32-strmblen: New file.
2156         * lib/unistr/u8-strmblen.c: New file.
2157         * lib/unistr/u16-strmblen.c: New file.
2158         * lib/unistr/u32-strmblen.c: New file.
2159
2160         * modules/unistr/u8-strmbtouc: New file.
2161         * modules/unistr/u16-strmbtouc: New file.
2162         * modules/unistr/u32-strmbtouc: New file.
2163         * lib/unistr/u8-strmbtouc.c: New file.
2164         * lib/unistr/u16-strmbtouc.c: New file.
2165         * lib/unistr/u32-strmbtouc.c: New file.
2166
2167         * modules/unistr/u8-strncat: New file.
2168         * modules/unistr/u16-strncat: New file.
2169         * modules/unistr/u32-strncat: New file.
2170         * lib/unistr/u8-strncat.c: New file.
2171         * lib/unistr/u16-strncat.c: New file.
2172         * lib/unistr/u32-strncat.c: New file.
2173         * lib/unistr/u-strncat.h: New file.
2174
2175         * modules/unistr/u8-strncmp: New file.
2176         * modules/unistr/u16-strncmp: New file.
2177         * modules/unistr/u32-strncmp: New file.
2178         * lib/unistr/u8-strncmp.c: New file.
2179         * lib/unistr/u16-strncmp.c: New file.
2180         * lib/unistr/u32-strncmp.c: New file.
2181
2182         * modules/unistr/u8-strncpy: New file.
2183         * modules/unistr/u16-strncpy: New file.
2184         * modules/unistr/u32-strncpy: New file.
2185         * lib/unistr/u8-strncpy.c: New file.
2186         * lib/unistr/u16-strncpy.c: New file.
2187         * lib/unistr/u32-strncpy.c: New file.
2188         * lib/unistr/u-strncpy.h: New file.
2189
2190         * modules/unistr/u8-strnlen: New file.
2191         * modules/unistr/u16-strnlen: New file.
2192         * modules/unistr/u32-strnlen: New file.
2193         * lib/unistr/u8-strnlen.c: New file.
2194         * lib/unistr/u16-strnlen.c: New file.
2195         * lib/unistr/u32-strnlen.c: New file.
2196         * lib/unistr/u-strnlen.h: New file.
2197
2198         * modules/unistr/u8-strpbrk: New file.
2199         * modules/unistr/u16-strpbrk: New file.
2200         * modules/unistr/u32-strpbrk: New file.
2201         * lib/unistr/u8-strpbrk.c: New file.
2202         * lib/unistr/u16-strpbrk.c: New file.
2203         * lib/unistr/u32-strpbrk.c: New file.
2204         * lib/unistr/u-strpbrk.h: New file.
2205
2206         * modules/unistr/u8-strrchr: New file.
2207         * modules/unistr/u16-strrchr: New file.
2208         * modules/unistr/u32-strrchr: New file.
2209         * lib/unistr/u8-strrchr.c: New file.
2210         * lib/unistr/u16-strrchr.c: New file.
2211         * lib/unistr/u32-strrchr.c: New file.
2212
2213         * modules/unistr/u8-strspn: New file.
2214         * modules/unistr/u16-strspn: New file.
2215         * modules/unistr/u32-strspn: New file.
2216         * lib/unistr/u8-strspn.c: New file.
2217         * lib/unistr/u16-strspn.c: New file.
2218         * lib/unistr/u32-strspn.c: New file.
2219         * lib/unistr/u-strspn.h: New file.
2220
2221         * modules/unistr/u8-strstr: New file.
2222         * modules/unistr/u16-strstr: New file.
2223         * modules/unistr/u32-strstr: New file.
2224         * lib/unistr/u8-strstr.c: New file.
2225         * lib/unistr/u16-strstr.c: New file.
2226         * lib/unistr/u32-strstr.c: New file.
2227         * lib/unistr/u-strstr.h: New file.
2228
2229         * modules/unistr/u8-strtok: New file.
2230         * modules/unistr/u16-strtok: New file.
2231         * modules/unistr/u32-strtok: New file.
2232         * lib/unistr/u8-strtok.c: New file.
2233         * lib/unistr/u16-strtok.c: New file.
2234         * lib/unistr/u32-strtok.c: New file.
2235         * lib/unistr/u-strtok.h: New file.
2236
2237         * modules/unistr/u8-uctomb: New file.
2238         * modules/unistr/u16-uctomb: New file.
2239         * modules/unistr/u32-uctomb: New file.
2240         * lib/unistr/u8-uctomb.c: New file.
2241         * lib/unistr/u16-uctomb.c: New file.
2242         * lib/unistr/u32-uctomb.c: New file.
2243
2244         * MODULES.html.sh (Unicode string functions): Add the new modules.
2245
2246 2007-01-08  Bruno Haible  <bruno@clisp.org>
2247
2248         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
2249         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
2250         subdirectories.
2251
2252 2007-01-08  Karl Berry  <karl@gnu.org>
2253
2254         * doc/error.texi: mention that main() fns must set program_name
2255         when progname is used.
2256
2257 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
2258
2259         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
2260         WCTYPE_H is empty, for the benefit of builds from non-distclean
2261         directories.  Problem reported by Eric Blake in
2262         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
2263
2264 2007-01-08  Bruno Haible  <bruno@clisp.org>
2265
2266         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
2267         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
2268         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
2269         PROVIDE_CANONICALIZE_FILENAME_MODE.
2270         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
2271
2272 2007-01-08  Bruno Haible  <bruno@clisp.org>
2273
2274         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
2275         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
2276         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
2277         * lib/fts.c: Likewise.
2278         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
2279
2280 2006-12-25  Bruno Haible  <bruno@clisp.org>
2281
2282         * modules/utf8-ucs4-safe: New file.
2283         * lib/utf8-ucs4-safe.h: New file.
2284         * lib/unistr/utf8-ucs4-safe.c: New file.
2285
2286         * modules/utf16-ucs4-safe: New file.
2287         * lib/utf16-ucs4-safe.h: New file.
2288         * lib/unistr/utf16-ucs4-safe.c: New file.
2289
2290         * MODULES.html.sh (Unicode string functions): Add the new modules.
2291
2292 2007-01-08  Bruno Haible  <bruno@clisp.org>
2293
2294         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
2295         (Depends-on): Add unitypes.
2296         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2297         (u8_mbtouc_aux): Move out to separate file.
2298         (u8_mbtouc): Use ucs4_t, uint8_t types.
2299         * lib/unistr/utf8-ucs4.c: New file.
2300
2301         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
2302         (Depends-on): Add unitypes.
2303         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
2304         (u16_mbtouc_aux): Move out to separate file.
2305         (u16_mbtouc): Use ucs4_t, uint16_t types.
2306         * lib/unistr/utf16-ucs4.c: New file.
2307
2308         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
2309         (Depends-on): Add unitypes.
2310         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
2311         (u8_uctomb_aux): Move out to separate file.
2312         (u8_uctomb): Use ucs4_t, uint8_t types.
2313         * lib/unistr/ucs4-utf8.c: New file.
2314
2315         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
2316         (Depends-on): Add unitypes.
2317         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
2318         (u16_uctomb_aux): Move out to separate file.
2319         (u16_uctomb): Use ucs4_t, uint16_t types.
2320         * lib/unistr/ucs4-utf16.c: New file.
2321
2322 2006-12-25  Bruno Haible  <bruno@clisp.org>
2323
2324         * modules/unitypes: New file.
2325         * lib/unitypes.h: New file.
2326         * MODULES.html.sh (func_all_modules): New section "Unicode string
2327         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
2328         this section. Add unitypes.
2329
2330 2007-01-08  Bruno Haible  <bruno@clisp.org>
2331
2332         Avoid variable names that conflict with those from libtool.
2333         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
2334         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
2335         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
2336         library_names_spec to acl_library_names_spec, hardcode_* to
2337         acl_hardcode_*.
2338         Reported by Ralf Wildenhues.
2339
2340 2007-01-08  Bruno Haible  <bruno@clisp.org>
2341
2342         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
2343         definition.
2344         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
2345         definition.
2346         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
2347         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
2348         definition.
2349         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
2350         definition.
2351         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
2352         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
2353         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
2354         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
2355         definition.
2356         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
2357         definition.
2358         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
2359         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
2360         GC_USE_<algorithm>.
2361         * lib/gc-libgcrypt.c: Likewise.
2362         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
2363         * modules/gc-arctwo (configure.ac): Likewise.
2364         * modules/gc-des (configure.ac): Likewise.
2365         * modules/gc-hmac-md5 (configure.ac): Likewise.
2366         * modules/gc-hmac-sha1 (configure.ac): Likewise.
2367         * modules/gc-md2 (configure.ac): Likewise.
2368         * modules/gc-md4 (configure.ac): Likewise.
2369         * modules/gc-md5 (configure.ac): Likewise.
2370         * modules/gc-random (configure.ac): Likewise.
2371         * modules/gc-rijndael (configure.ac): Likewise.
2372         * modules/gc-sha1 (configure.ac): Likewise.
2373
2374 2007-01-08  Bruno Haible  <bruno@clisp.org>
2375
2376         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
2377         macro definition.
2378         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
2379         definition.
2380         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
2381         definition.
2382         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
2383         * modules/fcntl-safer (configure.ac): Likewise.
2384         * modules/fopen-safer (configure.ac): Likewise.
2385         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
2386         GNULIB_FWRITEERROR macro definition.
2387
2388 2007-01-08  Bruno Haible  <bruno@clisp.org>
2389
2390         * m4/gnulib-common.m4: New file.
2391         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
2392         (func_get_filelist): Add m4/gnulib-common.m4.
2393
2394 2007-01-08  Bruno Haible  <bruno@clisp.org>
2395
2396         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
2397         command.
2398
2399 2007-01-08  Jim Meyering  <jim@meyering.net>
2400
2401         Use a more robust test for a "can't happen" condition.
2402         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
2403         narrowed the st_size value.  Presuming the "can't happen" condition
2404         is true, that narrowing could conceivably convert an invalid st_size
2405         value into a valid one.  Instead, use a change based on Matthew
2406         Woehlke's original patch.
2407
2408         Slight readability improvement: use an assert-like macro
2409         in place of literal "abort ()" uses.
2410         * lib/fts.c (fts_assert): Define.
2411         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
2412         Use this macro instead of a bare 'abort'.
2413
2414 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
2415
2416         Don't worry about using IRIX 5.3's wctype.h broken definitions;
2417         simply work around them.
2418         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
2419         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
2420         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before declaring.
2421         Don't bother to define as macros, since the standard doesn't require it.
2422         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
2423         longer worry about IRIX 5.3.
2424         (HAVE_WCTYPE_CTMP_BUG): Remove.
2425
2426 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
2427
2428         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
2429         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
2430         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
2431         Problems reported by Georg Schwarz for IRIX 5.3.
2432
2433         * gnulib-tool (autoconf_minversion): Take the maximum version number
2434         found, not the minimum.  Problem reported by James Youngman.
2435
2436 2007-01-03  Karl Berry  <karl@gnu.org>
2437
2438         * doc/error.texi: new file, explaining interaction with progname.
2439         * doc/gnulib.texi: include it.  Update copyright.
2440
2441 2007-01-03  Simon Josefsson  <simon@josefsson.org>
2442
2443         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
2444         AC_CANONICAL_HOST, to improve autobuild outputs.
2445
2446 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
2447             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
2448
2449         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
2450         sockets, server sockets, and other file descriptors.  Count errors
2451         to compute the return value.  Reorder the code a bit to be easier
2452         to follow.  Don't set event bits that were not requested (except
2453         POLLERR and POLLHUP).
2454
2455 2007-01-01  Bruno Haible  <bruno@clisp.org>
2456
2457         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
2458
2459 2007-01-03  Jim Meyering  <jim@meyering.net>
2460
2461         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
2462
2463 2007-01-02  Bruno Haible  <bruno@clisp.org>
2464
2465         * modules/settime (Include): Require timespec.h.
2466         * modules/nanosleep (Include): Likewise.
2467
2468 2007-01-01  Bruno Haible  <bruno@clisp.org>
2469
2470         * gnulib-tool (func_emit_copyright_notice): Bump year.
2471         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
2472
2473 2007-01-01  Bruno Haible  <bruno@clisp.org>
2474
2475         Improve support for OpenBSD.
2476         * build-aux/config.rpath (libname_spec): Export.
2477         (library_names_spec): New variable. Export.
2478         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
2479         library_names_spec from the config.rpath output. Locate shared library
2480         through the name pattern in library_names_spec.
2481
2482 2007-01-01  Eric Blake  <ebb9@byu.net>
2483
2484         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
2485
2486 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
2487
2488         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
2489         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
2490         assume the C locale, and avoid an "eval" that could cause trouble.
2491         Problem with SORT reported by Bob Proulx.
2492
2493         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
2494         Define.  Trivial patch from Henning Nielsen Lund, originally
2495         sent to bug-grep@gnu.org today.
2496
2497 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
2498
2499         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
2500         struct stat.  Problem reported by Henning Nielsen Lund.
2501         * lib/acl.c: Include acl.h first, to check interface.  Don't
2502         bother to include sys/types.h and sys/stat.h again.
2503
2504 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
2505
2506         Import the following change from libc; problem reported by
2507         Sven Verdoolaege.
2508
2509         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
2510
2511         [BZ #1373]
2512         * lib/argp.h: Remove __NTH for __argp_usage inline function.
2513
2514 2006-12-28  Jim Meyering  <jim@meyering.net>
2515
2516         * build-aux/announce-gen: Do not assume that the package
2517         builds any of tar.gz, tar.bz2, and .xdelta files.
2518         Suggestion from Simon Josefsson.
2519
2520 2006-12-28  Simon Josefsson  <simon@josefsson.org>
2521
2522         * modules/announce-gen: New file.
2523
2524 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
2525
2526         * lib/mbchar.h: Just include <wctype.h>; the wctype module
2527         handles its gotchas now.
2528         * lib/mbswidth.c: Likewise.
2529         * lib/wcwidth.h: Likewise.
2530         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
2531         and iswcntrl; the wctype module does this stuff now.
2532         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
2533         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2534         * modules/mbchar (Depends-on): Add wctype.
2535         * modules/mbswidth (Depends-on): Likewise.
2536         * modules/wcwidth (Depends-on): Likewise.
2537
2538 2006-12-27  Eric Blake  <ebb9@byu.net>
2539
2540         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
2541         module uses more than what <wctype.h> is required to provide.
2542
2543 2006-12-26  Eric Blake  <ebb9@byu.net>
2544
2545         * gnulib-tool (sed_extract_prog): Avoid space-tab.
2546
2547 2006-12-26  Eric Blake  <ebb9@byu.net>
2548
2549         * modules/absolute-header: New module.
2550         * modules/fcntl (Depends-on): Depend on it.
2551         * modules/inttypes (Depends-on): Likewise.
2552         * modules/stdint (Depends-on): Likewise.
2553         * modules/sys_stat (Depends-on): Likewise.
2554         * modules/wctype (Depends-on): Likewise.
2555         * MODULES.html.sh (Support for building libraries and
2556         executables): Document it.
2557
2558 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2559
2560         * gnulib-tool (SED): Remove, undoing previous change.
2561         The problem was that it broke coreutils on Solaris, because
2562         "sed --posix" leaked into a makefile.
2563         (sed): New alias, if 'alias' and GNU sed.
2564
2565 2006-12-24  Jim Meyering  <jim@meyering.net>
2566
2567         Work around an fchownat bug in glibc-2.4:
2568         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
2569         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
2570         in spite of the -P option.
2571         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
2572         New macros.
2573         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
2574         * modules/openat (Files): Add lib/fchownat.c.
2575         * lib/openat.c (fchownat): Don't define here.  Move to...
2576         * lib/fchownat.c: ...this new file.
2577
2578 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
2579
2580         Fix bug reported by Bruno Haible in
2581         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
2582         where quotearg.c didn't compile on Mac OS X 10.2 because it
2583         lacks <wchar.h> and wint_t.
2584         * lib/wctype_.h (__wctype_wint_t): New type.
2585         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
2586         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
2587         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
2588         Arg is now of type __wctype_wint_t, not wint_t.
2589         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
2590         substitute HAVE_WINT_T.
2591         * modules/wctype (Files): Add m4/wint_t.m4.
2592         (wctype.h): Substitute HAVE_WINT_T.
2593
2594 2006-12-23  Bruno Haible  <bruno@clisp.org>
2595
2596         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
2597
2598 2006-12-23  Bruno Haible  <bruno@clisp.org>
2599
2600         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
2601         S_ISLNK.
2602         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
2603         mingw.
2604
2605 2006-12-22  Bruno Haible  <bruno@clisp.org>
2606
2607         * lib/copy-file.c: Include acl.h.
2608         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
2609         Close the file descriptors only after being done with copy_acl.
2610         * modules/copy-file (Depends-on): Add acl.
2611
2612 2006-12-22  Bruno Haible  <bruno@clisp.org>
2613
2614         * gnulib-tool (SED): New variable.
2615         Use $SED instead of sed everywhere.
2616
2617 2006-12-22  Bruno Haible  <bruno@clisp.org>
2618
2619         * modules/no-c++: New file.
2620         * m4/no-c++.m4: New file.
2621         * MODULES.html.sh (Support for building libraries and executables):
2622         Add no-c++.
2623
2624 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
2625
2626         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
2627         Include <limits.h>, and use its INT_MAX to rewrite the
2628         j loop so that it does not overflow 'int'.  Problem reported by
2629         Ralf Wildenhues in
2630         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
2631         Play it safe by shifting left by 1 rather than multiplying by 2,
2632         as GCC is less likely to optimize this away when the value
2633         is signed (when it assumes overflow leads to undefined behavior).
2634         Also, don't assume time_t uses two's complement.
2635
2636 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
2637
2638         * MODULES.html.sh: New module wctype.
2639         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
2640         * lib/fnmatch.c: Don't bother to include <wchar.h> before
2641         <wctype.h>, since the new wctype module should fix this.
2642         * lib/quotearg.c: Include <wctype.h> unconditionally, since
2643         the wctype module should arrange for it.
2644         * lib/regex_internal.h: Likewise.
2645         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
2646         since the wctype module should handle this now.
2647         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
2648         * modules/fnmatch (Depends-on): Add wctype.
2649         * modules/quotearg (Depends-on): Likewise.
2650         * modules/regex (Depends-on): Likewise.
2651
2652 2006-12-19  Bruno Haible  <bruno@clisp.org>
2653
2654         * lib/strdup.h [C++]: Wrap definitions in extern "C".
2655         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
2656
2657 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2658
2659         * modules/savewd (Depends-on): Fix dependency on fcntl.
2660
2661 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2662
2663         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
2664         conforms to C99, rather than relying on the user's environment
2665         setting of STDINT_H.
2666
2667 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2668         and Eric Blake  <ebb9@byu.net>
2669
2670         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
2671         This is more consistent with the other defines here.
2672         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
2673         Port to z/OS.  Problem reported by Paul Gilmartin.
2674         Change local vars to use gl_ prefix rather than ac_.
2675         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
2676         with other defines.
2677         * modules/double-slash-root: New module.
2678         * modules/dirname (Files): Remove m4/double-slash-root.m4.
2679         (Depends-on): Add double-slash-root.
2680         * MODULES.html.sh (File system functions): Mention new module.
2681
2682 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
2683
2684         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
2685         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
2686         This is for the benefit of gzip, which doesn't do i18n.
2687
2688 2006-12-12  Jim Meyering  <jim@meyering.net>
2689
2690         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
2691         Reported by Andreas Schwab <schwab@suse.de>.
2692
2693 2006-12-12  Bruno Haible  <bruno@clisp.org>
2694
2695         Merge these changes.
2696         2006-09-05  Bruno Haible  <bruno@clisp.org>
2697         * lib/iconvme.c (iconv_string): No need to save and restore errno when
2698         iconv_alloc succeeded.
2699         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
2700         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
2701         test for " && dest " at the end - dest is always != NULL there. Call
2702         iconv with 4xNULL arguments initially, to reset the state. Call iconv
2703         with 2xNULL arguments, also to flush the state storage. Handle the
2704         IRIX iconv behaviour. Realloc the final result, to throw away unused
2705         memory.
2706
2707 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
2708
2709         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
2710         and fchmodat unconditionally, since glibc 2.4 has them.
2711         Problem reported by Arkadiusz Miskiewicz.
2712
2713 2006-12-10  Bruno Haible  <bruno@clisp.org>
2714
2715         * gnulib-tool (func_import): Show the include files only for those
2716         modules that are copied and specified.
2717         Reported by Karl Berry.
2718
2719 2006-12-08  Jim Meyering  <jim@meyering.net>
2720
2721         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
2722         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
2723
2724         * build-aux/announce-gen: Add two new options, both optional:
2725         --bootstrap-tools=TOOL_LIST
2726               a comma-separated list of tools, e.g.,
2727               autoconf,automake,bison,gnulib
2728         --gnulib-snapshot-date=DATE
2729               if gnulib is in the bootstrap tool list,
2730               then report this as the snapshot date.
2731               If not specified, use the current date/time.
2732               If you specify a date here, be sure it's UTC.
2733
2734 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2735
2736         * tests/test-argp-2.sh: Fix test to match actual output.
2737         (func_compare): Fix sed script to be portable.
2738
2739 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
2740
2741         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
2742         workaround for this case.  It is not autoconfigured now; offhand
2743         it's hard to see how to autoconfigure it.
2744
2745 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
2746
2747         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
2748         a directory that is about to be chowned.  Such a directory's
2749         initial file permissions should permit the owner only and this
2750         should not be changed until after the chown, since the group and
2751         other bits would be incorrect if they granted permission before
2752         the chown.
2753
2754         Fix porting problem for iswctype reported by Georg Schwarz in:
2755         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
2756         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
2757         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
2758         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
2759         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2760
2761 2006-12-03  Jim Meyering  <jim@meyering.net>
2762
2763         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
2764         p->fts_statp may not yet be defined.
2765         (fts_read): Instead, set it in the caller, once p->fts_statp is
2766         sure to be defined, and corresponds to a top-level directory.
2767         This bug made du -x fail.  Here's the coreutils test case:
2768         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
2769         Reported by Mike Frysinger.
2770
2771 2006-12-01  Jim Meyering  <jim@meyering.net>
2772
2773         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
2774         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
2775         Reported by Simon Josefsson.
2776
2777 2006-11-30  Jim Meyering  <jim@meyering.net>
2778
2779         * m4/warning.m4: Use the all-permissive copyright notice
2780         recommended by RMS (rather than LGPL).
2781         * m4/vararrays.m4: Likewise.
2782         * m4/flexmember.m4: Likewise.
2783
2784 2006-11-29  Bruno Haible  <bruno@clisp.org>
2785
2786         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
2787         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
2788         using +=.
2789         Reported by Simon Josefsson <simon@josefsson.org>.
2790
2791 2006-11-28  James Youngman <jay@gnu.org>
2792
2793         * README: Advise users that they might find the bug-gnulib@gnu.org
2794         and autotools-announce@gnu.org mailing lists useful.
2795
2796 2006-11-28  Bruno Haible  <bruno@clisp.org>
2797
2798         * m4/ptrdiff_max.m4: Remove file.
2799
2800 2006-11-21  Bruno Haible  <bruno@clisp.org>
2801
2802         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
2803         _AC_COMPUTE_INT.
2804         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
2805         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
2806         _AC_COMPUTE_INT.
2807         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
2808         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
2809         _AC_COMPUTE_INT.
2810         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
2811
2812 2006-11-28  Jim Meyering  <jim@meyering.net>
2813
2814         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
2815         warning from "gcc -Wshadow" about shadowing the builtin.
2816
2817 2006-11-27  Bruno Haible  <bruno@clisp.org>
2818
2819         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
2820         _AC_COMPUTE_INT.
2821         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
2822
2823 2006-11-27  Bruno Haible  <bruno@clisp.org>
2824             Paul Eggert  <eggert@cs.ucla.edu>
2825
2826         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
2827
2828 2006-11-26  Bruno Haible  <bruno@clisp.org>
2829
2830         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
2831         noinst_LTLIBRARIES.
2832
2833 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
2834             Bruno Haible  <bruno@clisp.org>
2835
2836         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
2837         if compiling with "gcc -ansi".
2838
2839 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
2840
2841         Fix some incompatibilities with gcc -ansi -pedantic.
2842         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
2843         if compiling pedantically with GCC, unless it's C99 or later.
2844         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
2845         it mishandles gcc -ansi -pedantic as well.
2846         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
2847         if gcc -pedantic.
2848         * lib/regexec.c (check_node_accept_bytes): Don't use auto
2849         initializers for struct if -pedantic, unless it's C99 or later.
2850
2851 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
2852
2853         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
2854         Don't close an fd more than once. Identical atimes indicate
2855         success, not failure.
2856
2857 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
2858
2859         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
2860
2861 2006-11-23  Jim Meyering  <jim@meyering.net>
2862
2863         * build-aux/announce-gen: New file.  From coreutils.
2864
2865 2006-11-22  Jim Meyering  <jim@meyering.net>
2866
2867         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
2868         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
2869         (fts_read): Use a temporary to narrow the overused st_size member
2870         before using it in a switch statement.  Reported by Matthew Woehlke.
2871
2872         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
2873         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
2874
2875 2006-11-20  Bruno Haible  <bruno@clisp.org>
2876
2877         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
2878         changequote instead of pairs of brackets.
2879         Reported by Andreas Schwab <schwab@suse.de>.
2880
2881 2006-11-21  Jim Meyering  <jim@meyering.net>
2882
2883         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
2884         so as to remain compatible with older compilers.
2885         Patch from Michael Deutschmann.
2886
2887 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
2888
2889         * MODULES.html.sh (File system functions): Add openat.
2890
2891         * lib/openat.h (rpl_fstatat): New macro, if
2892         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
2893         (fstatat): Define to rpl_fstatat under the same conditions,
2894         unless COMPILING_FSTATAT.
2895         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
2896         seems to have the bug.
2897         * lib/fstatat.c: New file.
2898         * modules/openat (Files): Add it.
2899
2900 2006-11-20  Bruno Haible  <bruno@clisp.org>
2901
2902         * Makefile: New file.
2903
2904 2006-11-20  Jim Meyering  <jim@meyering.net>
2905
2906         The beginnings of syntax-related checks for gnulib.
2907         * lib/Makefile: New file.
2908         * lib/t-idcache: New script.  Ensure that the two halves of
2909         idcache.c stay in sync.
2910
2911         * lib/idcache.c: Adjust comments in user- and group- portions to
2912         be more accurate, and to be consistent with one another.
2913
2914 2006-11-20  Jim Meyering  <jim@meyering.net>
2915
2916         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
2917         continue using the flexible array member (thus, this module performs
2918         half as many malloc calls), with the addition that...
2919         (getgroup, getuser): Consistently record a non-match via an empty
2920         "name" string, and map an empty string match to a NULL return value.
2921         * modules/idcache (Depends-on): Re-add flexmember.
2922
2923         * lib/idcache.c (getuser): Remove all uses of the register keyword.
2924         (getuidbyname, getgroup, getgidbyname): Likewise.
2925
2926         Use cleaner syntax: NULL rather than 0.
2927         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
2928
2929 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
2930
2931         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
2932         It mishandled the case where the group was missing.
2933         Problem reported by Greg Schafer.
2934         * modules/idcache: Likewise.
2935
2936 2006-11-18  Jim Meyering  <jim@meyering.net>
2937
2938         * check-module (%exempt_header): Add exception for some
2939         conditionally-included headers.
2940
2941         * modules/i-ring (Depends-on): Add verify.
2942         (License): Change to LGPL.
2943
2944 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
2945
2946         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
2947         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
2948         and inttostr.h.  Use snprintf rather than uinttostr, so that
2949         LGPLed code doesn't depend on GPLed.
2950
2951 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2952
2953         * modules/inline (License): Change from GPL to LGPL.
2954
2955 2006-11-17  Jim Meyering  <jim@meyering.net>
2956
2957         * modules/d-type (License): Switch to LGPL.
2958
2959 2006-11-15  Bruno Haible  <bruno@clisp.org>
2960
2961         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
2962
2963 2006-11-15  Eric Blake  <ebb9@byu.net>
2964
2965         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
2966         the module dependency.
2967
2968 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2969             Bruno Haible  <bruno@clisp.org>
2970
2971         * gnulib-tool (func_create_testdir): Add license consistency check.
2972
2973 2006-11-15  Eric Blake  <ebb9@byu.net>
2974
2975         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
2976         random "(cached)" in configure output.
2977
2978 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2979
2980         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
2981         test for conforming inttypes.h is both announced and cached.
2982
2983         * MODULES.html.sh (seen_modules, seen_files): New variables.
2984         (func_module): Rewrite to use a few less gnulib-tool and sed
2985         invocations.  Avoid a couple of quadratic algorithms for ...
2986         (missed_modules, missed_files): ... these, with ...
2987         (func_append, func_tmpdir): ... these new functions, from
2988         gnulib-tool.  Analogously, install traps for cleanup.
2989
2990         * tests/test-gc.c (main): Remove unused variables.
2991         * tests/test-read-file.c: Include stdlib.h, for 'free'.
2992
2993 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
2994
2995         * modules/inttostr (License): Change to LGPL.
2996
2997 2006-11-14  Eric Blake  <ebb9@byu.net>
2998
2999         * modules/tempname (License): Change to LGPL.
3000
3001 2006-11-14  Eric Blake  <ebb9@byu.net>
3002
3003         * doc/functions.texi (Function Portability): *printf functions on
3004         Cygwin now understand all POSIX size specifiers.
3005
3006 2006-11-14  Bruno Haible  <bruno@clisp.org>
3007
3008         * modules/c-ctype (License): Change to LGPL.
3009
3010 2006-11-12  Bruno Haible  <bruno@clisp.org>
3011
3012         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3013         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
3014         for GNOME libraries, for which the include files are installed in
3015         subdirectories of $prefix/include.
3016
3017 2006-11-12  Bruno Haible  <bruno@clisp.org>
3018
3019         * m4/lib-link.m4: Require at least autoconf-2.54.
3020         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
3021         name to underscores for the --with option.
3022
3023 2006-11-13  Bruno Haible  <bruno@clisp.org>
3024
3025         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
3026         the tests directory.
3027         Reported by Ralf Wildenhues.
3028
3029 2006-11-13  Bruno Haible  <bruno@clisp.org>
3030
3031         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
3032         (func_emit_initmacro_end): Undo the override here.
3033         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
3034         Works around the famous automake error in coreutils.
3035
3036 2006-11-13  Eric Blake  <ebb9@byu.net>
3037
3038         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
3039         element, not its node.
3040
3041 2006-11-12  Bruno Haible  <bruno@clisp.org>
3042
3043         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
3044         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
3045
3046 2006-11-12  Bruno Haible  <bruno@clisp.org>
3047
3048         * gnulib-tool: New option --local-symlink.
3049         (func_usage): Document it.
3050         (lsymbolic): New variable.
3051         (func_import, func_create_testdir): If --symlink was not specified,
3052         test whether --local-symlink was specified and the file comes from
3053         the local_gnulib_dir.
3054
3055 2006-11-12  Bruno Haible  <bruno@clisp.org>
3056
3057         * gnulib-tool (func_ln): New function.
3058         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
3059
3060 2006-11-12  Bruno Haible  <bruno@clisp.org>
3061
3062         Finish support for source files in subdirectories.
3063         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
3064         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
3065         AUTOMAKE_OPTIONS.
3066         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
3067
3068 2006-11-12  Bruno Haible  <bruno@clisp.org>
3069
3070         * gnulib-tool (func_get_automake_snippet): Synthesize also an
3071         EXTRA_lib_SOURCES augmentation.
3072         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
3073
3074 2006-11-12  Jim Meyering  <jim@meyering.net>
3075
3076         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
3077         file descriptors.  This also averts a failure on systems with
3078         native openat support when a traversed directory lacks "x" access.
3079         * lib/fts_.h: Include "i-ring.h"
3080         (struct FTS) [fts_fd_ring]: New member.
3081         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
3082         (FCHDIR): Add parentheses.
3083         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
3084         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
3085         When descending, rather than simply closing the previous
3086         fts_cwd_fd value, push that file descriptor onto the ring.
3087         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
3088         (fts_open): Initialize the new fd_ring member.
3089         (fts_close): Clear the ring.
3090         (fts_safe_changedir): When possible, use our new fd_ring to skip
3091         the diropen and fstat and dev/ino comparison that would normally
3092         accompany a virtual `chdir ("..")'.
3093
3094         * modules/fts (Depends-on): Add i-ring.
3095         * modules/i-ring: New module.
3096         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
3097         * m4/i-ring.m4: New file.
3098
3099 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3100
3101         * gnulib-tool (func_create_testdir): Fix replacement of
3102         `build-aux' in configure.ac.  Run autotools in gltests
3103         subdirectory.
3104         (func_create_testdir, func_create_megatestdir, test): There is
3105         no need for '--force' in most autotool invocations in a new
3106         tree.  Actually fail the whole test if any of the tools, or the
3107         configure or make stages fail.
3108
3109         Sync from Automake.
3110         * build-aux/gnupload: Revert last change.  Add pointer to upload
3111         instructions of the GNU Maintenance Instructions.
3112         Suggestion by Karl Berry.
3113
3114 2006-11-10  Jim Meyering  <jim@meyering.net>
3115
3116         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
3117
3118 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3119
3120         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
3121         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
3122         (bind_textdomain_codeset) [! ENABLE_NLS]:
3123         Evaluate all the arguments.  That way, callers get compatible behavior
3124         if the arguments have side effects.  Also, it avoids some GCC
3125         diagnostics in some cases; Joel E. Denny reported problems when Bison
3126         was configured with --enable-gcc-warnigs.
3127
3128 2006-11-10  Jim Meyering  <jim@meyering.net>
3129
3130         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
3131         relevant options in CFLAGS (like -O, -fno-inline) are taken into
3132         account.
3133
3134 2006-11-10  Jim Meyering  <jim@meyering.net>
3135
3136         * modules/inline: New file/module.
3137         * modules/xalloc (Files): Remove m4/inline.m4.
3138         (Depends-on): Add inline, instead.
3139         * modules/oset: Likewise.
3140         * modules/list: Likewise.
3141
3142 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
3143
3144         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
3145         Problem reported by Matthew Woehlke.
3146
3147 2006-11-09  Bruno Haible  <bruno@clisp.org>
3148
3149         * lib/tempname.c (gen_tempname): Remove variant that invokes
3150         __gen_tempname.
3151         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
3152         __gen_tempname.
3153
3154 2006-11-08  Bruno Haible  <bruno@clisp.org>
3155
3156         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
3157         to 'yes' instead of 'cross-compiling'.
3158
3159 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
3160
3161         * lib/quotearg.h (quotearg_free): New decl.
3162         * lib/quotearg.c (quotearg_free): New function.
3163         (slot0, nslots, slotvec0, slotvec):
3164         Now file-scope so that quotearg_free can get at them.
3165
3166 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3167
3168         Sync from Automake.
3169         * build-aux/gnupload: Add missing 'gnu' to example URL.
3170         Report by Karl Berry.
3171
3172 2006-11-08  Bruno Haible  <bruno@clisp.org>
3173
3174         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
3175         Suggested by Paul Eggert.
3176
3177 2006-11-08  Jim Meyering  <jim@meyering.net>
3178
3179         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
3180         It's already included if !_LIBC.
3181         (fts_safe_changedir): Add a comment.
3182
3183 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3184
3185         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
3186         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
3187         Matthew Woehlke.
3188
3189         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
3190         definitions up, to avoid colliding with change below.
3191         (static_inline) [HAVE_INLINE]: New macro.
3192         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
3193         Provide extern decls when !HAVE_INLINE.  Do not define unless
3194         static_inline is defined, either by us or by xmalloc.c.  Use
3195         static_inline rather than static inline.
3196         (XCALLOC): Optimize sizeof(T) = 1 case.
3197         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
3198
3199 2006-11-07  Bruno Haible  <bruno@clisp.org>
3200
3201         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
3202         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
3203         AC_C_INLINE.
3204         * modules/xalloc (Files): Add m4/inline.m4.
3205
3206 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3207
3208         * README: Fix typo.
3209         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
3210         (Miscellanous Notes): ...from this.
3211
3212 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
3213
3214         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3215         Mention that offsetof should be used instead of sizeof.
3216         From Bruno Haible.
3217
3218 2006-11-07  Bruno Haible  <bruno@clisp.org>
3219
3220         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
3221
3222 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3223
3224         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3225         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
3226         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3227         (gl_tree_add_before, gl_tree_add_after):
3228         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
3229         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
3230         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
3231         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
3232         (gl_linked_add_after, gl_linked_add_at): Likewise.
3233         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
3234         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
3235         (gl_tree_add_before, gl_tree_add_after): Likewise.
3236         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
3237         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
3238         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
3239
3240 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3241
3242         * lib/gl_oset.h: Use C comment style, not C++ comment style.
3243
3244 2006-11-06  Bruno Haible  <bruno@clisp.org>
3245
3246         * m4/inline.m4: New file.
3247         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
3248         * modules/list (Files): Add m4/inline.m4.
3249         * modules/oset (Files): Likewise.
3250
3251 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
3252
3253         * lib/idcache.c: Include <stddef.h>, for offsetof.
3254         (struct userid.name): Change from char * to a flexible array member.
3255         All uses changed.
3256         * modules/idcache (Depends-on): Add flexmember.
3257
3258         * MODULES.html.sh (Core language properties): New module flexmember.
3259         * modules/flexmember, m4/flexmember.m4: New files.
3260
3261         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
3262         inline functions that are identical with the old xnmalloc_inline,
3263         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
3264         that we can avoid some unnecessary integer multiplications and
3265         divisions in the common case where the element size is known at
3266         compile time.
3267         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
3268         needed.
3269         (xnboundedmalloc): Remove.
3270         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
3271         arguments, for consistency with rest of this header.
3272         (xcharalloc): Rewrite using XNMALLOC.
3273         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
3274         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
3275         versions have been moved to lib/xalloc.h and renamed to be the
3276         non-*_inline versions.
3277         (xmalloc, xrealloc): Implement without reference to the xnmalloc
3278         and xnrealloc functions, since those functions are now inline and
3279         now call us.
3280         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
3281         renaming described above.
3282         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
3283         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
3284         captures the dependency in AC_C_INLINE.
3285
3286         New module canonicalize-lgpl, proposed by Charles Wilson in
3287         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
3288         with a few small changes afterwards.
3289         * MODULES.html.sh (File system functions): New module
3290         canonicalize-lgpl.
3291         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
3292         and canonicalize_file_name.
3293         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
3294         * modules/canonicalize-lgpl: New files.
3295
3296 2006-11-05  Bruno Haible  <bruno@clisp.org>
3297
3298         * gnulib-tool (func_import, func_create_testdir): Create directories
3299         also for files in subdirectories of lib/.
3300
3301 2006-11-05  Bruno Haible  <bruno@clisp.org>
3302
3303         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
3304         ANSI C compliant.
3305
3306 2006-11-03  Bruno Haible  <bruno@clisp.org>
3307
3308         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
3309         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
3310         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
3311         (xnboundedmalloc): New inline function.
3312         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
3313         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
3314         xmalloc.
3315         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
3316         xmalloc.
3317         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
3318         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
3319         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
3320         xmalloc.
3321         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
3322         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
3323         xmalloc.
3324         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
3325         gl_tree_add_after): Use XMALLOC instead of xmalloc.
3326         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
3327         xmalloc.
3328         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
3329         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
3330         gl_tree_add_after): Use XMALLOC instead of xmalloc.
3331         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
3332         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
3333         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
3334         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
3335
3336 2006-11-03  Bruno Haible  <bruno@clisp.org>
3337
3338         * lib/c-ctype.h [C++]: Define functions without name mangling.
3339         * lib/fwriteerror.h [C++]: Likewise.
3340         * lib/gcd.h [C++]: Likewise.
3341         * lib/linebreak.h [C++]: Likewise.
3342
3343 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
3344
3345         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
3346         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
3347         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
3348         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
3349         Check for functions and headers just once.
3350         Check for declaration of canonicalize_file_name.
3351         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
3352
3353 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
3354
3355         * gnulib-tool (func_import): Fix typo in actioncmd.
3356
3357 2006-11-02  Bruno Haible  <bruno@clisp.org>
3358
3359         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
3360         newline sequence in the Makefile.am snippet as a space, like "make"
3361         does.
3362         Reported by Roger Persson <perrog@gmail.com>.
3363
3364 2006-11-01  Bruno Haible  <bruno@clisp.org>
3365
3366         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
3367         already declared in <string.h>.
3368         * lib/strcase.h (strncasecmp): Don't declare it if yes.
3369
3370 2006-11-01  Bruno Haible  <bruno@clisp.org>
3371
3372         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
3373         * lib/strcase.h: Include <string.h>.
3374         (strcasecmp): Define to rpl_strcasecmp here.
3375
3376 2006-11-01  Bruno Haible  <bruno@clisp.org>
3377
3378         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
3379
3380 2006-11-01  Eric Blake  <ebb9@byu.net>
3381
3382         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
3383
3384         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
3385
3386 2006-10-29  Bruno Haible  <bruno@clisp.org>
3387
3388         Make it compile in C++ mode.
3389         * lib/full-write.c (full_rw): Add a cast.
3390
3391 2006-11-01  Bruno Haible  <bruno@clisp.org>
3392
3393         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
3394         be POSIX compliant.
3395         Reported by Roger Persson <perrog@gmail.com>.
3396
3397 2006-11-01  Eric Blake  <ebb9@byu.net>
3398
3399         * lib/getopt_.h: Fix comments.
3400
3401 2006-10-31  Eric Blake  <ebb9@byu.net>
3402
3403         * modules/tmpdir (Depends-on): Add sys_stat.
3404         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
3405         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
3406         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
3407         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
3408         tempname.
3409
3410 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
3411
3412         Avoid some C++ diagnostics reported by Bruno Haible.
3413         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
3414         xmalloc.
3415         (quotearg_alloc): Use xcharalloc rather than xmalloc.
3416         (struct slotvec): Move to top level.
3417         (quotearg_n_options): Rewrite to avoid xmalloc.
3418         * lib/xalloc.h (xcharalloc): New function.
3419         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
3420         [defined __cplusplus]: Add function template that provides result
3421         type propagation.  This part of the change is from Bruno Haible.
3422
3423 2006-10-29  Bruno Haible  <bruno@clisp.org>
3424
3425         Make it compile in C++ mode.
3426         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
3427         * lib/strnlen1.c (strnlen1): Cast memchr result.
3428         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
3429         * lib/clean-temp.c (string_equals, string_hash): Add casts.
3430         (create_temp_dir): Rename local variable 'template'.
3431         (compile_csharp_using_sscli): Add cast.
3432         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
3433         * lib/findprog.c (find_in_path): Likewise.
3434         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
3435         * lib/wait-process.c (register_slave_subprocess): Likewise.
3436
3437 2006-10-22  Bruno Haible  <bruno@clisp.org>
3438
3439         * modules/tsearch: New file.
3440         * lib/tsearch.h: New file.
3441         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
3442         * m4/tsearch.m4: New file.
3443         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
3444
3445 2006-10-29  Eric Blake  <ebb9@byu.net>
3446
3447         * lib/arcfour.c: Assume config.h.
3448         * lib/arctwo.c: Likewise.
3449         * lib/base64.c: Likewise.
3450         * lib/check-version.c: Likewise.
3451         * lib/crc.c: Likewise.
3452         * lib/des.c: Likewise.
3453         * lib/gc-gnulib.c: Likewise.
3454         * lib/gc-libgcrypt.c: Likewise.
3455         * lib/gc-pbkdf2-sha1.c: Likewise.
3456         * lib/getaddrinfo.c: Likewise.
3457         * lib/getdelim.c: Likewise.
3458         * lib/getline.c: Likewise.
3459         * lib/hmac-md5.c: Likewise.
3460         * lib/hmac-sha1.c: Likewise.
3461         * lib/iconvme.c: Likewise.
3462         * lib/md2.c: Likewise.
3463         * lib/md4.c: Likewise.
3464         * lib/memxor.c: Likewise.
3465         * lib/read-file.c: Likewise.
3466         * lib/readline.c: Likewise.
3467         * lib/rijndael-alg-fst.c: Likewise.
3468         * lib/rijndael-api-fst.c: Likewise.
3469         * lib/xgetdomainname.c: Likewise.
3470
3471 2006-10-28  Eric Blake  <ebb9@byu.net>
3472
3473         * lib/xstrndup.c: Assume config.h.
3474
3475 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3476
3477         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
3478         stat-macros.h is now for our own macros, whereas stat_h is for
3479         macros in the <sys/stat.h> name space.
3480         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
3481         (STAT_MACROS_H): Remove.
3482         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
3483         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
3484         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
3485         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
3486         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
3487         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
3488         Move these macros to ...
3489         * lib/stat_.h: here.  Don't include stat-macros.h.
3490         * lib/canonicalize.c: Don't include stat-macros.h.
3491         * lib/chown.c: Likewise.
3492         * lib/euidaccess.c: Likewise.
3493         * lib/file-type.c: Likewise.
3494         * lib/filemode.c: Likewise.
3495         * lib/glob.c: Likewise.
3496         * lib/isapipe.c: Likewise.
3497         * lib/lchown.c: Likewise.
3498         * lib/lstat.c: Likewise.
3499         * lib/mkdir-p.c: Likewise.
3500         * lib/rmdir.c: Likewise.
3501         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
3502         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
3503         unless mkdir isn't declared, to speed up 'configure'.
3504         Always create sys/stat.h, since it's unlikely any real sys/stat.h
3505         would define all the S_* symbols.
3506         * modules/canonicalize (Depends-on):
3507         Depend on sys_stat, not stat-macros.
3508         * modules/chown: Likewise.
3509         * modules/euidaccess: Likewise.
3510         * modules/filemode: Likewise.
3511         * modules/file-type: Likewise.
3512         * modules/glob: Likewise.
3513         * modules/isapipe: Likewise.
3514         * modules/lchown: Likewise.
3515         * modules/lstat: Likewise.
3516         * modules/mkancesdirs: Likewise.
3517         * modules/rmdir: Likewise.
3518         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
3519         * modules/modechange: Likewise.
3520         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
3521         (configure.ac): Remove gl_STAT_MACROS.
3522         * modules/sys_stat (Depends-on): Remove stat-macros.
3523
3524 2006-10-27  Bruno Haible  <bruno@clisp.org>
3525
3526         * m4/signed.m4: Remove file.
3527         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
3528         invocation.
3529         * modules/vasnprintf (Files): Remove m4/signed.m4.
3530
3531 2006-10-27  Bruno Haible  <bruno@clisp.org>
3532
3533         Update to GNU gettext 0.16.
3534         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
3535         m4/inttypes-h.m4, m4/signed.m4.
3536         * m4/gettext.m4: Update to GNU gettext 0.16.
3537         * m4/intl.m4: New file, from GNU gettext.
3538         * m4/intldir.m4: New file, from GNU gettext.
3539         * config/srclist.txt: Update
3540
3541 2006-10-27  Eric Blake  <ebb9@byu.net>
3542
3543         * MODULES.html.sh: Document tempname.
3544         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
3545         dependencies.
3546         (Files): Move lib/tempname.c...
3547         * modules/tempname: ...to this new module.
3548         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
3549         (gl_PREREQ_TEMPNAME): Move...
3550         * m4/tempname.m4: ...to this new file.
3551         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
3552         * modules/sys_stat (Depends-on): Add stat-macros.
3553         * lib/stat_.h (includes): Pick up stat macros.
3554         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
3555         if stat macros are broken.
3556         * lib/tempname.c (includes): No need to include "stat-macros.h".
3557         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
3558         (direxists, __path_search) [!_LIBC]: Don't compile these in
3559         gnulib; the tmpdir module covers that.
3560         * lib/tempname.h: New file.
3561
3562 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3563
3564         * COPYING: Explain how gnulib-tool converts licence headers.
3565         Almost all wording by Eric Blake.
3566
3567 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
3568
3569         * lib/mbchar.h (is_basic_table): Make read-only.
3570         * lib/mbchar.c (is_basic_table): Likewise.
3571         Reported by John Darrington.
3572
3573 2006-10-25  Bruno Haible  <bruno@clisp.org>
3574
3575         * lib/progname.h (set_program_name): Undefine before defining.
3576
3577 2006-10-25  Bruno Haible  <bruno@clisp.org>
3578
3579         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
3580         false for non-gcc C++ compilers.
3581         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
3582
3583 2006-10-24  Bruno Haible  <bruno@clisp.org>
3584
3585         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
3586         iconv implementations like Irix iconv.
3587
3588 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3589
3590         * modules/vararrays: New file.
3591         * m4/vararrays.m4: New file, taken from diffutils.
3592         * MODULES.html.sh: New module vararrays.
3593
3594 2006-10-24  Karl Berry  <karl@gnu.org>
3595
3596         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
3597         Don't call GNU Unix.
3598
3599 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3600
3601         * users.txt: Add Libtool.
3602
3603         Sync from Libtool:
3604
3605         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3606
3607         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
3608         to gnulib's policy of including config.h unconditionally.
3609
3610 2006-10-24  Bruno Haible  <bruno@clisp.org>
3611
3612         * modules/wcwidth (Files): Add m4/wint_t.m4.
3613         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
3614         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
3615
3616 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3617
3618         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
3619         to pacify GCC with some -W flags enabled.  Problem reported by
3620         Bruno Haible.
3621
3622 2006-10-24  Jim Meyering  <jim@meyering.net>
3623
3624         * MODULES.html.sh: Remove uinttostr.  It's not a module.
3625         Reported by Karl Berry.
3626
3627 2006-10-23  Bruno Haible  <bruno@clisp.org>
3628
3629         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
3630
3631 2006-10-24  Bruno Haible  <bruno@clisp.org>
3632
3633         * lib/gl_list.h: Use C comment style, not C++ comment style.
3634
3635 2006-10-23  Eric Blake  <ebb9@byu.net>
3636
3637         * lib/getaddrinfo.c (includes): Add missing include.
3638
3639 2006-10-23  Bruno Haible  <bruno@clisp.org>
3640             Paul Eggert  <eggert@cs.ucla.edu>
3641
3642         Ability to rename obstack_free.
3643         * lib/obstack.h (__obstack_free): New macro. Declare instead of
3644         obstack_free.
3645         (obstack_free): Invoke the __obstack_free macro.
3646         * lib/obstack.c (obstack_free): Use __obstack_free macro.
3647
3648 2006-10-23  Bruno Haible  <bruno@clisp.org>
3649             Paul Eggert  <eggert@cs.ucla.edu>
3650
3651         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
3652         __argc, __argv from the declaration. (They are defined as macros on
3653         mingw.)
3654
3655 2006-10-22  Bruno Haible  <bruno@clisp.org>
3656
3657         * doc/gnulib-intro.texi: New file.
3658         * doc/gnulib.texi: Include it.
3659
3660 2006-10-21  Bruno Haible  <bruno@clisp.org>
3661
3662         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
3663         "Introduction", "Miscellanous Notes", "Particular Modules".
3664
3665 2006-10-21  Bruno Haible  <bruno@clisp.org>
3666
3667         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3668         Change mostlyclean-local rule to avoid sh syntax error from bash
3669         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
3670
3671 2006-10-23  Jim Meyering  <jim@meyering.net>
3672
3673         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
3674         in place of snprintf.
3675
3676         * modules/inttostr (Files): Add lib/uinttostr.c.
3677         * lib/uinttostr.c (inttostr): New file/function.
3678         * lib/inttostr.h (uinttostr): Declare.
3679         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
3680         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
3681         Add uinttostr.
3682         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
3683
3684 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
3685
3686         * lib/canonicalize.c (ELOOP): Define if not already defined.
3687         Problem reported by Bruno Haible in
3688         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
3689
3690 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
3691
3692         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
3693         Problem reported by Perry Smith and Ville Laurikari.
3694
3695         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
3696         uses.
3697
3698 2006-10-19  Bruno Haible  <bruno@clisp.org>
3699
3700         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
3701         for mingw.
3702
3703 2006-10-19  Bruno Haible  <bruno@clisp.org>
3704
3705         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
3706         Needed for mingw.
3707
3708 2006-10-19  Bruno Haible  <bruno@clisp.org>
3709
3710         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
3711
3712 2006-10-19  Bruno Haible  <bruno@clisp.org>
3713
3714         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
3715         it.
3716
3717 2006-10-19  Bruno Haible  <bruno@clisp.org>
3718
3719         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
3720         invocation.
3721
3722 2006-10-19  Bruno Haible  <bruno@clisp.org>
3723
3724         * gnulib-tool (func_create_testdir): Don't include ftruncate and
3725         mountlist by default.
3726
3727 2006-10-16  Bruno Haible  <bruno@clisp.org>
3728
3729         * lib/c-strstr.c: Include c-strstr.h.
3730
3731 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
3732
3733         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
3734         in a slash.
3735
3736 2006-10-18  Bruno Haible  <bruno@clisp.org>
3737
3738         * lib/lock.h [C++]: Wrap definitions in extern "C".
3739
3740 2006-10-18  Bruno Haible  <bruno@clisp.org>
3741
3742         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
3743         gl_LIBOBJS list.
3744
3745 2006-10-18  Bruno Haible  <bruno@clisp.org>
3746
3747         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
3748
3749 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
3750
3751         * lib/xstrtol.h: Include gettext.h.
3752         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
3753         Problem reported by Eric Blake.
3754         * modules/xstrtol (Depends-on): Add gettext-h.
3755
3756 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
3757
3758         * lib/strftime.c (advance): New macro.
3759         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
3760         incomplete type, so you can't add 0 to it.  Problem and patch
3761         reported by Eelco Dolstra for dietlibc.
3762
3763 2006-10-18  Jim Meyering  <jim@meyering.net>
3764
3765         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
3766         type for a local, and rename it: s/up/user_proc/.
3767
3768 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
3769
3770         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
3771         READ_UTMP_USER_PROCESS.
3772         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
3773
3774 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
3775
3776         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
3777         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
3778
3779 2006-10-17  Eric Blake  <ebb9@byu.net>
3780
3781         * lib/sigprocmask.c (sigprocmask): Fix typo.
3782
3783         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
3784
3785         * modules/clean-temp (Makefile.am): Don't add to make output...
3786         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
3787         config.h.
3788
3789 2006-10-17  Bruno Haible  <bruno@clisp.org>
3790
3791         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
3792         differently if DEFAULT_TEXT_DOMAIN is set.
3793
3794 2006-10-16  Bruno Haible  <bruno@clisp.org>
3795
3796         * lib/clean-temp.c: Include fwriteerror.h.
3797
3798 2006-10-16  Bruno Haible  <bruno@clisp.org>
3799
3800         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
3801
3802 2006-10-16  Bruno Haible  <bruno@clisp.org>
3803
3804         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
3805         * lib/sigprocmask.h: Include <sys/types.h>.
3806         (sigset_t): Use the system's definition if present.
3807
3808 2006-10-17  Eric Blake  <ebb9@byu.net>
3809
3810         * lib/xvasprintf.c (includes): Assume config.h.
3811         * lib/xasprintf.c (includes): Likewise.
3812
3813 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
3814
3815         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
3816         at least as wide as intmax_t.
3817
3818 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
3819
3820         (Imported from Automake.)
3821         * build-aux/gnupload: Update to version 1.1 of directive file.
3822
3823 2006-10-16  Eric Blake  <ebb9@byu.net>
3824
3825         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
3826         match Automake 1.10a.
3827
3828 2006-10-14  Bruno Haible  <bruno@clisp.org>
3829
3830         * modules/sigprocmask: New file.
3831         * lib/sigprocmask.h: New file.
3832         * lib/sigprocmask.c: New file.
3833         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
3834         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
3835         request sigprocmask.o.
3836         (gl_PREREQ_SIGPROCMASK): New macro.
3837         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
3838         (Depends-on): Add sigprocmask.
3839         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
3840         gt_SIGNALBLOCKING. Test for 'raise' only once.
3841         * lib/fatal-signal.c: Include sigprocmask.h.
3842         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
3843         unblock_fatal_signals): Define always.
3844         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
3845         sigprocmask.
3846
3847 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
3848
3849         Sync from Automake.
3850         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
3851         which incorrectly sets the mode of an existing destination
3852         directory.  In some cases the unpatched install-sh could do the
3853         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
3854         system.  We hope this is rare in practice, but it's clearly worth
3855         fixing.  Problem reported by Alex Unleashed in
3856         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
3857         Also, don't bother to check for -m bugs unless we're using -m;
3858         suggested by Stepan Kasal.
3859
3860 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3861
3862         Sync from Automake.
3863         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
3864         `-c' flag, so they appear at the same position as in %FASTDEP%
3865         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
3866         which ignores unknown options only after the first non-option.
3867         Bug report against M4 by Nelson H. F. Beebe.
3868
3869 2006-10-13  Jim Meyering  <jim@meyering.net>
3870
3871         Fix a bug in yesterday's change.
3872         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
3873         p->fts_statp->st_dev would be used uninitialized.
3874         Ensures that we always call fts_stat on the very first entry.
3875         Miklos Szeredi reported that find -xdev stopped working.
3876
3877 2006-10-12  Bruno Haible  <bruno@clisp.org>
3878
3879         * gnulib-tool (func_get_automake_snippet): Append an automatically
3880         computed EXTRA_DIST augmentation.
3881         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
3882         * modules/alloca-opt (Makefile.am): Likewise.
3883         * modules/allocsa (Makefile.am): Likewise.
3884         * modules/arcfour (Makefile.am): Likewise.
3885         * modules/arctwo (Makefile.am): Likewise.
3886         * modules/argmatch (Makefile.am): Likewise.
3887         * modules/argz (Makefile.am): Likewise.
3888         * modules/atexit (Makefile.am): Likewise.
3889         * modules/backupfile (Makefile.am): Likewise.
3890         * modules/byteswap (Makefile.am): Likewise.
3891         * modules/c-strtod (Makefile.am): Likewise.
3892         * modules/c-strtold (Makefile.am): Likewise.
3893         * modules/calloc (Makefile.am): Likewise.
3894         * modules/canon-host (Makefile.am): Likewise.
3895         * modules/canonicalize (Makefile.am): Likewise.
3896         * modules/chdir-long (Makefile.am): Likewise.
3897         * modules/chdir-safer (Makefile.am): Likewise.
3898         * modules/check-version (Makefile.am): Likewise.
3899         * modules/chown (Makefile.am): Likewise.
3900         * modules/cloexec (Makefile.am): Likewise.
3901         * modules/close-stream (Makefile.am): Likewise.
3902         * modules/closeout (Makefile.am): Likewise.
3903         * modules/crc (Makefile.am): Likewise.
3904         * modules/csharpexec (Makefile.am): Likewise.
3905         * modules/cycle-check (Makefile.am): Likewise.
3906         * modules/des (Makefile.am): Likewise.
3907         * modules/dev-ino (Makefile.am): Likewise.
3908         * modules/dirfd (Makefile.am): Likewise.
3909         * modules/dirname (Makefile.am): Likewise.
3910         * modules/dup2 (Makefile.am): Likewise.
3911         * modules/eealloc (Makefile.am): Likewise.
3912         * modules/error (Makefile.am): Likewise.
3913         * modules/euidaccess (Makefile.am): Likewise.
3914         * modules/exclude (Makefile.am): Likewise.
3915         * modules/exitfail (Makefile.am): Likewise.
3916         * modules/fcntl-safer (Makefile.am): Likewise.
3917         * modules/fcntl (Makefile.am): Likewise.
3918         * modules/file-type (Makefile.am): Likewise.
3919         * modules/fileblocks (Makefile.am): Likewise.
3920         * modules/filemode (Makefile.am): Likewise.
3921         * modules/filenamecat (Makefile.am): Likewise.
3922         * modules/fnmatch (Makefile.am): Likewise.
3923         * modules/fopen-safer (Makefile.am): Likewise.
3924         * modules/fpending (Makefile.am): Likewise.
3925         * modules/fprintftime (Makefile.am): Likewise.
3926         * modules/free (Makefile.am): Likewise.
3927         * modules/fsusage (Makefile.am): Likewise.
3928         * modules/ftruncate (Makefile.am): Likewise.
3929         * modules/fts (Makefile.am): Likewise.
3930         * modules/gc-arcfour (Makefile.am): Likewise.
3931         * modules/gc-des (Makefile.am): Likewise.
3932         * modules/gc-hmac-md5 (Makefile.am): Likewise.
3933         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
3934         * modules/gc-md4 (Makefile.am): Likewise.
3935         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
3936         * modules/gc-sha1 (Makefile.am): Likewise.
3937         * modules/gc (Makefile.am): Likewise.
3938         * modules/getaddrinfo (Makefile.am): Likewise.
3939         * modules/getcwd (Makefile.am): Likewise.
3940         * modules/getdelim (Makefile.am): Likewise.
3941         * modules/getdomainname (Makefile.am): Likewise.
3942         * modules/getgroups (Makefile.am): Likewise.
3943         * modules/gethostname (Makefile.am): Likewise.
3944         * modules/gethrxtime (Makefile.am): Likewise.
3945         * modules/getline (Makefile.am): Likewise.
3946         * modules/getloadavg (Makefile.am): Likewise.
3947         * modules/getlogin_r (Makefile.am): Likewise.
3948         * modules/getndelim2 (Makefile.am): Likewise.
3949         * modules/getopt (Makefile.am): Likewise.
3950         * modules/getpagesize (Makefile.am): Likewise.
3951         * modules/getpass-gnu (Makefile.am): Likewise.
3952         * modules/getpass (Makefile.am): Likewise.
3953         * modules/getsubopt (Makefile.am): Likewise.
3954         * modules/gettime (Makefile.am): Likewise.
3955         * modules/gettimeofday (Makefile.am): Likewise.
3956         * modules/getugroups (Makefile.am): Likewise.
3957         * modules/getusershell (Makefile.am): Likewise.
3958         * modules/glob (Makefile.am): Likewise.
3959         * modules/group-member (Makefile.am): Likewise.
3960         * modules/hard-locale (Makefile.am): Likewise.
3961         * modules/hash (Makefile.am): Likewise.
3962         * modules/hmac-md5 (Makefile.am): Likewise.
3963         * modules/hmac-sha1 (Makefile.am): Likewise.
3964         * modules/human (Makefile.am): Likewise.
3965         * modules/idcache (Makefile.am): Likewise.
3966         * modules/imaxabs (Makefile.am): Likewise.
3967         * modules/imaxdiv (Makefile.am): Likewise.
3968         * modules/inet_ntop (Makefile.am): Likewise.
3969         * modules/inet_pton (Makefile.am): Likewise.
3970         * modules/intprops (Makefile.am): Likewise.
3971         * modules/inttostr (Makefile.am): Likewise.
3972         * modules/inttypes (Makefile.am): Likewise.
3973         * modules/isapipe (Makefile.am): Likewise.
3974         * modules/javaversion (Makefile.am): Likewise.
3975         * modules/lchmod (Makefile.am): Likewise.
3976         * modules/lchown (Makefile.am): Likewise.
3977         * modules/localcharset (Makefile.am): Likewise.
3978         * modules/long-options (Makefile.am): Likewise.
3979         * modules/lstat (Makefile.am): Likewise.
3980         * modules/malloc (Makefile.am): Likewise.
3981         * modules/mathl (Makefile.am): Likewise.
3982         * modules/mbchar (Makefile.am): Likewise.
3983         * modules/md2 (Makefile.am): Likewise.
3984         * modules/md4 (Makefile.am): Likewise.
3985         * modules/md5 (Makefile.am): Likewise.
3986         * modules/memcasecmp (Makefile.am): Likewise.
3987         * modules/memchr (Makefile.am): Likewise.
3988         * modules/memcmp (Makefile.am): Likewise.
3989         * modules/memcoll (Makefile.am): Likewise.
3990         * modules/memcpy (Makefile.am): Likewise.
3991         * modules/memmem (Makefile.am): Likewise.
3992         * modules/memmove (Makefile.am): Likewise.
3993         * modules/mempcpy (Makefile.am): Likewise.
3994         * modules/memrchr (Makefile.am): Likewise.
3995         * modules/memset (Makefile.am): Likewise.
3996         * modules/memxor (Makefile.am): Likewise.
3997         * modules/mkancesdirs (Makefile.am): Likewise.
3998         * modules/mkdir-p (Makefile.am): Likewise.
3999         * modules/mkdir (Makefile.am): Likewise.
4000         * modules/mkdtemp (Makefile.am): Likewise.
4001         * modules/mkstemp (Makefile.am): Likewise.
4002         * modules/mktime (Makefile.am): Likewise.
4003         * modules/modechange (Makefile.am): Likewise.
4004         * modules/mountlist (Makefile.am): Likewise.
4005         * modules/nanosleep (Makefile.am): Likewise.
4006         * modules/obstack (Makefile.am): Likewise.
4007         * modules/openat (Makefile.am): Likewise.
4008         * modules/pagealign_alloc (Makefile.am): Likewise.
4009         * modules/pathmax (Makefile.am): Likewise.
4010         * modules/physmem (Makefile.am): Likewise.
4011         * modules/poll (Makefile.am): Likewise.
4012         * modules/posixtm (Makefile.am): Likewise.
4013         * modules/posixver (Makefile.am): Likewise.
4014         * modules/putenv (Makefile.am): Likewise.
4015         * modules/quote (Makefile.am): Likewise.
4016         * modules/quotearg (Makefile.am): Likewise.
4017         * modules/raise (Makefile.am): Likewise.
4018         * modules/read-file (Makefile.am): Likewise.
4019         * modules/readline (Makefile.am): Likewise.
4020         * modules/readlink (Makefile.am): Likewise.
4021         * modules/readtokens (Makefile.am): Likewise.
4022         * modules/readutmp (Makefile.am): Likewise.
4023         * modules/realloc (Makefile.am): Likewise.
4024         * modules/regex (Makefile.am): Likewise.
4025         * modules/rename-dest-slash (Makefile.am): Likewise.
4026         * modules/rename (Makefile.am): Likewise.
4027         * modules/rijndael (Makefile.am): Likewise.
4028         * modules/rmdir (Makefile.am): Likewise.
4029         * modules/rpmatch (Makefile.am): Likewise.
4030         * modules/safe-read (Makefile.am): Likewise.
4031         * modules/safe-write (Makefile.am): Likewise.
4032         * modules/same-inode (Makefile.am): Likewise.
4033         * modules/same (Makefile.am): Likewise.
4034         * modules/save-cwd (Makefile.am): Likewise.
4035         * modules/savedir (Makefile.am): Likewise.
4036         * modules/setenv (Makefile.am): Likewise.
4037         * modules/settime (Makefile.am): Likewise.
4038         * modules/sha1 (Makefile.am): Likewise.
4039         * modules/sig2str (Makefile.am): Likewise.
4040         * modules/snprintf (Makefile.am): Likewise.
4041         * modules/stat-macros (Makefile.am): Likewise.
4042         * modules/stat-time (Makefile.am): Likewise.
4043         * modules/stdbool (Makefile.am): Likewise.
4044         * modules/stdint (Makefile.am): Likewise.
4045         * modules/stdlib-safer (Makefile.am): Likewise.
4046         * modules/stpcpy (Makefile.am): Likewise.
4047         * modules/stpncpy (Makefile.am): Likewise.
4048         * modules/strcase (Makefile.am): Likewise.
4049         * modules/strcasestr (Makefile.am): Likewise.
4050         * modules/strchrnul (Makefile.am): Likewise.
4051         * modules/strcspn (Makefile.am): Likewise.
4052         * modules/strdup (Makefile.am): Likewise.
4053         * modules/strerror (Makefile.am): Likewise.
4054         * modules/strftime (Makefile.am): Likewise.
4055         * modules/strndup (Makefile.am): Likewise.
4056         * modules/strnlen (Makefile.am): Likewise.
4057         * modules/strpbrk (Makefile.am): Likewise.
4058         * modules/strsep (Makefile.am): Likewise.
4059         * modules/strstr (Makefile.am): Likewise.
4060         * modules/strtod (Makefile.am): Likewise.
4061         * modules/strtoimax (Makefile.am): Likewise.
4062         * modules/strtok_r (Makefile.am): Likewise.
4063         * modules/strtol (Makefile.am): Likewise.
4064         * modules/strtoll (Makefile.am): Likewise.
4065         * modules/strtoul (Makefile.am): Likewise.
4066         * modules/strtoull (Makefile.am): Likewise.
4067         * modules/strtoumax (Makefile.am): Likewise.
4068         * modules/strverscmp (Makefile.am): Likewise.
4069         * modules/sys_socket (Makefile.am): Likewise.
4070         * modules/sys_stat (Makefile.am): Likewise.
4071         * modules/sysexits (Makefile.am): Likewise.
4072         * modules/time_r (Makefile.am): Likewise.
4073         * modules/timegm (Makefile.am): Likewise.
4074         * modules/timespec (Makefile.am): Likewise.
4075         * modules/tmpfile-safer (Makefile.am): Likewise.
4076         * modules/trim (Makefile.am): Likewise.
4077         * modules/unistd-safer (Makefile.am): Likewise.
4078         * modules/unlinkdir (Makefile.am): Likewise.
4079         * modules/unlocked-io (Makefile.am): Likewise.
4080         * modules/userspec (Makefile.am): Likewise.
4081         * modules/utime (Makefile.am): Likewise.
4082         * modules/utimecmp (Makefile.am): Likewise.
4083         * modules/utimens (Makefile.am): Likewise.
4084         * modules/vasnprintf (Makefile.am): Likewise.
4085         * modules/vasprintf (Makefile.am): Likewise.
4086         * modules/vsnprintf (Makefile.am): Likewise.
4087         * modules/xalloc (Makefile.am): Likewise.
4088         * modules/xgetcwd (Makefile.am): Likewise.
4089         * modules/xnanosleep (Makefile.am): Likewise.
4090         * modules/xreadlink (Makefile.am): Likewise.
4091         * modules/xstrtod (Makefile.am): Likewise.
4092         * modules/xstrtol (Makefile.am): Likewise.
4093         * modules/xstrtold (Makefile.am): Likewise.
4094         * modules/yesno (Makefile.am): Likewise.
4095         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
4096
4097 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4098
4099         * modules/error (Makefile.am): Distribute files through
4100         EXTRA_DIST, not lib_SOURCES.
4101
4102 2006-10-12  Eric Blake  <ebb9@byu.net>
4103
4104         * modules/error (Makefile.am): Distribute files in /lib.
4105         * modules/obstack (Makefile.am): Likewise.
4106
4107 2006-10-12  Bruno Haible  <bruno@clisp.org>
4108
4109         * modules/acl (Makefile.am): Distribute all files in lib/ through
4110         EXTRA_DIST.
4111         * modules/arcfour (Makefile.am): Likewise.
4112         * modules/arctwo (Makefile.am): Likewise.
4113         * modules/argmatch (Makefile.am): Likewise.
4114         * modules/argz (Makefile.am): Likewise.
4115         * modules/atexit (Makefile.am): Likewise.
4116         * modules/backupfile (Makefile.am): Likewise.
4117         * modules/c-strtod (Makefile.am): Likewise.
4118         * modules/c-strtold (Makefile.am): Likewise.
4119         * modules/calloc (Makefile.am): Likewise.
4120         * modules/canon-host (Makefile.am): Likewise.
4121         * modules/canonicalize (Makefile.am): Likewise.
4122         * modules/chdir-long (Makefile.am): Likewise.
4123         * modules/chdir-safer (Makefile.am): Likewise.
4124         * modules/check-version (Makefile.am): Likewise.
4125         * modules/chown (Makefile.am): Likewise.
4126         * modules/cloexec (Makefile.am): Likewise.
4127         * modules/close-stream (Makefile.am): Likewise.
4128         * modules/closeout (Makefile.am): Likewise.
4129         * modules/crc (Makefile.am): Likewise.
4130         * modules/cycle-check (Makefile.am): Likewise.
4131         * modules/des (Makefile.am): Likewise.
4132         * modules/dirfd (Makefile.am): Likewise.
4133         * modules/dirname (Makefile.am): Likewise.
4134         * modules/dup2 (Makefile.am): Likewise.
4135         * modules/euidaccess (Makefile.am): Likewise.
4136         * modules/exclude (Makefile.am): Likewise.
4137         * modules/exitfail (Makefile.am): Likewise.
4138         * modules/fcntl-safer (Makefile.am): Likewise.
4139         * modules/file-type (Makefile.am): Likewise.
4140         * modules/fileblocks (Makefile.am): Likewise.
4141         * modules/filemode (Makefile.am): Likewise.
4142         * modules/filenamecat (Makefile.am): Likewise.
4143         * modules/fnmatch (Makefile.am): Likewise.
4144         * modules/fopen-safer (Makefile.am): Likewise.
4145         * modules/fpending (Makefile.am): Likewise.
4146         * modules/fprintftime (Makefile.am): Likewise.
4147         * modules/free (Makefile.am): Likewise.
4148         * modules/fsusage (Makefile.am): Likewise.
4149         * modules/ftruncate (Makefile.am): Likewise.
4150         * modules/fts (Makefile.am): Likewise.
4151         * modules/gc (Makefile.am): Likewise.
4152         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
4153         * modules/getaddrinfo (Makefile.am): Likewise.
4154         * modules/getcwd (Makefile.am): Likewise.
4155         * modules/getdelim (Makefile.am): Likewise.
4156         * modules/getdomainname (Makefile.am): Likewise.
4157         * modules/getgroups (Makefile.am): Likewise.
4158         * modules/gethostname (Makefile.am): Likewise.
4159         * modules/gethrxtime (Makefile.am): Likewise.
4160         * modules/getline (Makefile.am): Likewise.
4161         * modules/getloadavg (Makefile.am): Likewise.
4162         * modules/getlogin_r (Makefile.am): Likewise.
4163         * modules/getopt (Makefile.am): Likewise.
4164         * modules/getpass (Makefile.am): Likewise.
4165         * modules/getpass-gnu (Makefile.am): Likewise.
4166         * modules/getsubopt (Makefile.am): Likewise.
4167         * modules/gettime (Makefile.am): Likewise.
4168         * modules/gettimeofday (Makefile.am): Likewise.
4169         * modules/getugroups (Makefile.am): Likewise.
4170         * modules/getusershell (Makefile.am): Likewise.
4171         * modules/glob (Makefile.am): Likewise.
4172         * modules/group-member (Makefile.am): Likewise.
4173         * modules/hard-locale (Makefile.am): Likewise.
4174         * modules/hash (Makefile.am): Likewise.
4175         * modules/hmac-md5 (Makefile.am): Likewise.
4176         * modules/hmac-sha1 (Makefile.am): Likewise.
4177         * modules/human (Makefile.am): Likewise.
4178         * modules/idcache (Makefile.am): Likewise.
4179         * modules/imaxabs (Makefile.am): Likewise.
4180         * modules/imaxdiv (Makefile.am): Likewise.
4181         * modules/inet_ntop (Makefile.am): Likewise.
4182         * modules/inet_pton (Makefile.am): Likewise.
4183         * modules/inttostr (Makefile.am): Likewise.
4184         * modules/isapipe (Makefile.am): Likewise.
4185         * modules/lchown (Makefile.am): Likewise.
4186         * modules/long-options (Makefile.am): Likewise.
4187         * modules/lstat (Makefile.am): Likewise.
4188         * modules/malloc (Makefile.am): Likewise.
4189         * modules/mathl (Makefile.am): Likewise.
4190         * modules/mbchar (Makefile.am): Likewise.
4191         * modules/md2 (Makefile.am): Likewise.
4192         * modules/md4 (Makefile.am): Likewise.
4193         * modules/md5 (Makefile.am): Likewise.
4194         * modules/memcasecmp (Makefile.am): Likewise.
4195         * modules/memchr (Makefile.am): Likewise.
4196         * modules/memcmp (Makefile.am): Likewise.
4197         * modules/memcoll (Makefile.am): Likewise.
4198         * modules/memcpy (Makefile.am): Likewise.
4199         * modules/memmem (Makefile.am): Likewise.
4200         * modules/memmove (Makefile.am): Likewise.
4201         * modules/mempcpy (Makefile.am): Likewise.
4202         * modules/memrchr (Makefile.am): Likewise.
4203         * modules/memset (Makefile.am): Likewise.
4204         * modules/memxor (Makefile.am): Likewise.
4205         * modules/mkancesdirs (Makefile.am): Likewise.
4206         * modules/mkdir (Makefile.am): Likewise.
4207         * modules/mkdir-p (Makefile.am): Likewise.
4208         * modules/mkdtemp (Makefile.am): Likewise.
4209         * modules/mkstemp (Makefile.am): Likewise.
4210         * modules/mktime (Makefile.am): Likewise.
4211         * modules/modechange (Makefile.am): Likewise.
4212         * modules/mountlist (Makefile.am): Likewise.
4213         * modules/nanosleep (Makefile.am): Likewise.
4214         * modules/openat (Makefile.am): Likewise.
4215         * modules/pagealign_alloc (Makefile.am): Likewise.
4216         * modules/physmem (Makefile.am): Likewise.
4217         * modules/poll (Makefile.am): Likewise.
4218         * modules/posixtm (Makefile.am): Likewise.
4219         * modules/posixver (Makefile.am): Likewise.
4220         * modules/putenv (Makefile.am): Likewise.
4221         * modules/quote (Makefile.am): Likewise.
4222         * modules/quotearg (Makefile.am): Likewise.
4223         * modules/raise (Makefile.am): Likewise.
4224         * modules/read-file (Makefile.am): Likewise.
4225         * modules/readline (Makefile.am): Likewise.
4226         * modules/readlink (Makefile.am): Likewise.
4227         * modules/readtokens (Makefile.am): Likewise.
4228         * modules/readutmp (Makefile.am): Likewise.
4229         * modules/realloc (Makefile.am): Likewise.
4230         * modules/regex (Makefile.am): Likewise.
4231         * modules/rename (Makefile.am): Likewise.
4232         * modules/rename-dest-slash (Makefile.am): Likewise.
4233         * modules/rijndael (Makefile.am): Likewise.
4234         * modules/rmdir (Makefile.am): Likewise.
4235         * modules/rpmatch (Makefile.am): Likewise.
4236         * modules/safe-read (Makefile.am): Likewise.
4237         * modules/safe-write (Makefile.am): Likewise.
4238         * modules/same (Makefile.am): Likewise.
4239         * modules/save-cwd (Makefile.am): Likewise.
4240         * modules/savedir (Makefile.am): Likewise.
4241         * modules/setenv (Makefile.am): Likewise.
4242         * modules/settime (Makefile.am): Likewise.
4243         * modules/sha1 (Makefile.am): Likewise.
4244         * modules/sig2str (Makefile.am): Likewise.
4245         * modules/snprintf (Makefile.am): Likewise.
4246         * modules/stdlib-safer (Makefile.am): Likewise.
4247         * modules/stpcpy (Makefile.am): Likewise.
4248         * modules/stpncpy (Makefile.am): Likewise.
4249         * modules/strcase (Makefile.am): Likewise.
4250         * modules/strcasestr (Makefile.am): Likewise.
4251         * modules/strchrnul (Makefile.am): Likewise.
4252         * modules/strcspn (Makefile.am): Likewise.
4253         * modules/strdup (Makefile.am): Likewise.
4254         * modules/strerror (Makefile.am): Likewise.
4255         * modules/strftime (Makefile.am): Likewise.
4256         * modules/strndup (Makefile.am): Likewise.
4257         * modules/strnlen (Makefile.am): Likewise.
4258         * modules/strpbrk (Makefile.am): Likewise.
4259         * modules/strsep (Makefile.am): Likewise.
4260         * modules/strstr (Makefile.am): Likewise.
4261         * modules/strtod (Makefile.am): Likewise.
4262         * modules/strtoimax (Makefile.am): Likewise.
4263         * modules/strtok_r (Makefile.am): Likewise.
4264         * modules/strtol (Makefile.am): Likewise.
4265         * modules/strtoll (Makefile.am): Likewise.
4266         * modules/strtoul (Makefile.am): Likewise.
4267         * modules/strtoull (Makefile.am): Likewise.
4268         * modules/strtoumax (Makefile.am): Likewise.
4269         * modules/strverscmp (Makefile.am): Likewise.
4270         * modules/time_r (Makefile.am): Likewise.
4271         * modules/timegm (Makefile.am): Likewise.
4272         * modules/tmpfile-safer (Makefile.am): Likewise.
4273         * modules/unistd-safer (Makefile.am): Likewise.
4274         * modules/unlinkdir (Makefile.am): Likewise.
4275         * modules/userspec (Makefile.am): Likewise.
4276         * modules/utime (Makefile.am): Likewise.
4277         * modules/utimecmp (Makefile.am): Likewise.
4278         * modules/utimens (Makefile.am): Likewise.
4279         * modules/vasnprintf (Makefile.am): Likewise.
4280         * modules/vasprintf (Makefile.am): Likewise.
4281         * modules/vsnprintf (Makefile.am): Likewise.
4282         * modules/xalloc (Makefile.am): Likewise.
4283         * modules/xgetcwd (Makefile.am): Likewise.
4284         * modules/xnanosleep (Makefile.am): Likewise.
4285         * modules/xreadlink (Makefile.am): Likewise.
4286         * modules/xstrtod (Makefile.am): Likewise.
4287         * modules/xstrtol (Makefile.am): Likewise.
4288         * modules/xstrtold (Makefile.am): Likewise.
4289         * modules/yesno (Makefile.am): Likewise.
4290
4291 2006-10-12  Jim Meyering  <jim@meyering.net>
4292
4293         * m4/getloadavg.m4: Revert the change below.
4294
4295         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
4296         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
4297         fail with a symlink, which is what coreutils' ./bootstrap now
4298         creates by default.
4299
4300 2006-10-12  Bruno Haible  <bruno@clisp.org>
4301
4302         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
4303         mingw.
4304         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
4305         MSVC and mingw explicitly.
4306
4307 2006-10-11  Simon Josefsson  <jas@extundo.com>
4308             Bruno Haible  <bruno@clisp.org>
4309
4310         Add support for multiple gnulib-tool invocations in the scope of a
4311         single configure.ac file.
4312         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
4313         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
4314         with the same contents as the _LIBADD variable.
4315         (func_emit_initmacro_start, func_emit_initmacro_end,
4316         func_emit_initmacro_done): New functions.
4317         (func_import, func_create_testdir): Invoke them. Allow the identifiers
4318         gl_LIBOBJS and gl_LTLIBOBJS.
4319
4320 2006-10-11  Bruno Haible  <bruno@clisp.org>
4321
4322         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
4323         (func_create_testdir): Don't create po/Makefile.am, don't invoke
4324         autoreconf. Instead, invoke autopoint explicitly but move back the
4325         *.m4 files from gnulib.
4326
4327 2006-10-11  Bruno Haible  <bruno@clisp.org>
4328
4329         * gnulib-tool (func_usage): Make module names after --create-testdir
4330         optional.
4331         (func_create_testdir): If no module was specified, use nearly all
4332         modules.
4333
4334 2006-10-12  Jim Meyering  <jim@meyering.net>
4335
4336         Big performance improvement for fts-based tools that use FTS_NOSTAT.
4337         Avoid spurious inode-mismatch problems on non-POSIX file systems.
4338         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
4339         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
4340         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
4341         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
4342         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
4343         (fts_set_stat_required): New function.
4344         (fts_open): Defer the calls to fts_stat, if possible or requested.
4345         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
4346         into fts_stat itself.
4347         (fts_read): Perform any required (deferred) fts_stat call.
4348         (fts_build): Likewise, for the directory we're about to open and read.
4349         In the readdir loop, carefully decide whether each entry will require
4350         an eventual call to fts_stat, using dirent.d_type info if available.
4351         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
4352         a command line argument into this function.  Update all callers.
4353         Map a return value of FTS_DOT to FTS_D for a command line argument.
4354         * modules/fts (Depends-on): Add d-type.  Alphabetize.
4355         Thanks to Miklos Szeredi for his tenacity and for the initial
4356         bug report about "find" failing on a FUSE-based file system.
4357
4358         * lib/fts.c (fts_open): Use consistent indentation.
4359
4360 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4361
4362         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
4363         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
4364         reported by Jim Meyering.  All uses of cache variables renamed
4365         to match Autoconf's.
4366         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
4367         the other one.
4368
4369         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
4370         Fix misspelling in diagnostic.
4371
4372 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4373
4374         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
4375         defined.  Problem reported by Matthew Woehlke.
4376
4377         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
4378         Add support for Tandem NonStop R series.
4379         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
4380         Use new macro.
4381
4382         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
4383         (has_trailing_slash): Omit size arg; all callers changed.
4384         Omit 'inline', since it doesn't help performance and we'd
4385         need to configure it.
4386         Don't count //, ///, etc. as having a trailing slash.
4387         As a side effect, this removes a C99ism reported by Matthew Woehlke.
4388         (rpl_rename_dest_slash): On failure, use rename's errno rather
4389         than (in some cases) an incorrect or junk errno.
4390         Simplify code by removing need to compute length; this does
4391         cause it to make two passes instead of one over the file name,
4392         but it's worth it.
4393
4394         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
4395         change, since Autoconf's version may no longer be appropriate now
4396         that we are using CVS Autoconf's version.  Add support for Tandem.
4397
4398 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
4399             Bruno Haible  <bruno@clisp.org>
4400
4401         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
4402         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
4403         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
4404         gl_AC_TYPE_LONG_LONG.
4405
4406         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
4407         instead of HAVE_LONG_LONG.
4408         * lib/printf-args.c (printf_fetchargs): Likewise.
4409         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
4410         * lib/vasnprintf.c (VASNPRINTF): Likewise.
4411         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
4412         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
4413         gl_AC_TYPE_LONG_LONG.
4414
4415 2006-10-11  Bruno Haible  <bruno@clisp.org>
4416
4417         * m4/longlong.m4: Add comments.
4418         * m4/ulonglong.m4: Likewise.
4419
4420 2006-10-10  Bruno Haible  <bruno@clisp.org>
4421
4422         Make it possible to #define stpcpy, strdup to aliases.
4423         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
4424         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
4425
4426 2006-10-10  Bruno Haible  <bruno@clisp.org>
4427
4428         Make it possible to #define gcd to an alias.
4429         * lib/gcd.c: Include config.h.
4430
4431 2006-10-10  Bruno Haible  <bruno@clisp.org>
4432
4433         Make it possible to #define c_isascii to an alias.
4434         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
4435         defined. Undefine the macros before defining them, to avoid gcc
4436         warnings.
4437         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
4438         define NO_C_CTYPE_MACROS early.
4439
4440 2006-10-10  Bruno Haible  <bruno@clisp.org>
4441
4442         Make it possible to #define set_program_name to an alias.
4443         * lib/progname.c: Don't undefine set_program_name; instead, undefine
4444         ENABLE_RELOCATABLE early.
4445
4446 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
4447
4448         Port to Tandem NSK OSS, which has 64-bit signed int but at most
4449         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
4450         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
4451         More generally, don't assume that 64-bit signed int is available
4452         if unsigned int is, and vice versa.
4453         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
4454         unsigned symbols, not on their signed counterparts.
4455         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
4456         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
4457         (UINT64_C, UINTMAX_C):
4458         Likewise.
4459         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
4460         unsigned counterparts.
4461         (Have_long_long, Unsigned): New macros.
4462         (Int): Renamed from INT.
4463         (strtoimax): Use the new macros.
4464         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
4465         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
4466         * modules/inttypes (inttypes.h): Substitute
4467         HAVE_UNSIGNED_LONG_LONG_INT.
4468         * modules/stdint (stdint.h): Likewise.
4469         (Files): Add m4/ulonglong.m4.
4470
4471 2006-10-10  Bruno Haible  <bruno@clisp.org>
4472
4473         Fix a gcc -Wshadow warning.
4474         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
4475         to 'bucket'.
4476         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
4477         gl_linked_indexof_from_to): Likewise.
4478         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
4479         Likewise.
4480         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
4481         Likewise.
4482         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
4483         Reported by Eric Blake.
4484
4485 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
4486
4487         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
4488         for NetBSD.  Problem reported by Bruno Haible.
4489
4490 2006-10-09  Jim Meyering  <jim@meyering.net>
4491
4492         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
4493         Patch from Bruno Haible.
4494
4495 2006-10-09  Jim Meyering  <jim@meyering.net>
4496
4497         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
4498         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
4499         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
4500
4501 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
4502
4503         Don't include <config.h> twice; this doesn't work in some cases,
4504         e.g., when config.h has "#define intmax_t long long int" and
4505         we include <config.h>, <inttypes.h>, <config.h> in that order.
4506         Problem reported by Matthew Woehlke in:
4507         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
4508         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
4509         * lib/fts-cycle.c: Don't include config.h.
4510         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
4511         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
4512         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
4513         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
4514         inttypes.h.
4515         * lib/xstrtoumax.c: Likewise.
4516         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
4517         __strtol and the like, so that this module is more like its siblings.
4518         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
4519         Remove; no longer needed now that we assume gnulib inttypes.h.
4520
4521 2006-10-08  Bruno Haible  <bruno@clisp.org>
4522
4523         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
4524         option.
4525
4526 2006-10-07  Jim Meyering  <jim@meyering.net>
4527
4528         * modules/inttypes (inttypes.h): Revert what seems to have been
4529         an inadvertent part of today's change: use "|", not "/" in the
4530         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
4531
4532 2006-10-07  Bruno Haible  <bruno@clisp.org>
4533
4534         * modules/sublist: New file.
4535
4536 2006-10-07  Bruno Haible  <bruno@clisp.org>
4537
4538         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
4539         * modules/argz (argz.h): Likewise.
4540         * modules/arpa_inet (arpa/inet.h): Likewise.
4541         * modules/byteswap (byteswap.h): Likewise.
4542         * modules/configmake (configmake.h): Likewise.
4543         * modules/fcntl (fcntl.h): Likewise.
4544         * modules/fnmatch (fnmatch.h): Likewise.
4545         * modules/getopt (getopt.h): Likewise.
4546         * modules/glob (glob.h): Likewise.
4547         * modules/inttypes (inttypes.h): Likewise.
4548         * modules/netinet_in (netinet/in.h): Likewise.
4549         * modules/poll (poll.h): Likewise.
4550         * modules/stdbool (stdbool.h): Likewise.
4551         * modules/stdint (stdint.h): Likewise.
4552         * modules/sys_select (sys/select.h): Likewise.
4553         * modules/sys_socket (sys/socket.h): Likewise.
4554         * modules/sys_stat (sys/stat.h): Likewise.
4555         * modules/sysexits (sysexits.h): Likewise.
4556         * modules/unistd (unistd.h): Likewise.
4557         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4558         Add a "DO NOT EDIT" comment to the generated file.
4559         (func_import): Likewise for gnulib-comp.m4.
4560
4561 2006-10-07  Bruno Haible  <bruno@clisp.org>
4562
4563         * lib/gl_sublist.h: New file.
4564         * lib/gl_sublist.c: New file.
4565
4566 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
4567
4568         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
4569         name (relative to the original working directory) and the file
4570         name component (relative to the temporary working directory).  All
4571         callers changed.
4572         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
4573         * lib/mkdir-p.c (make_dir_parents): Likewise.
4574         * lib/mkdir-p.h (make_dir_parents): Likewise.
4575
4576 2006-10-06  Eric Blake  <ebb9@byu.net>
4577
4578         Define several macros for use by the clean-temp module.
4579         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
4580         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
4581         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
4582
4583         * lib/clean-temp.h (close_stream_temp): New declaration.
4584         * lib/clean-temp.c (includes): Pull in headers according to what
4585         other modules are in use.
4586         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
4587
4588 2006-10-06  Bruno Haible  <bruno@clisp.org>
4589
4590         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
4591         instead of fopen, fwriteerror.
4592
4593 2006-10-06  Bruno Haible  <bruno@clisp.org>
4594
4595         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
4596         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
4597         int.
4598         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
4599         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
4600         Return an error indicator.
4601         Suggested by Eric Blake.
4602
4603 2006-10-06  Bruno Haible  <bruno@clisp.org>
4604
4605         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
4606         Reported by Eric Blake.
4607
4608 2006-10-06  Bruno Haible  <bruno@clisp.org>
4609
4610         * modules/closeout (Description): Mention stderr too.
4611
4612 2006-10-06  Bruno Haible  <bruno@clisp.org>
4613         and Paul Eggert  <eggert@cs.ucla.edu>
4614
4615         * lib/closeout.c (close_stdout): Also close stderr.
4616         * lib/closeout.h: Update comment.
4617
4618 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
4619
4620         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
4621         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
4622         * lib/dirchownmod.c: Include lchown.h.
4623         * lib/lchown.c: Don't include files that lchown.h now includes.
4624         Don't declare chown, since lchown.h now does that.
4625         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
4626         (lchown): Define to rpl_chown if lchown is declared but
4627         does not exist.  Declare using a prototype if lchown is not
4628         declared.  Add a copyright notice.
4629         * lib/mkstemp.h: Include <unistd.h>.
4630         * lib/openat.c: Include lchown.h.
4631
4632         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
4633         we now test for that separately.
4634         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
4635         rather than O_NOFOLLOW, when testing whether it's possible to
4636         avoid a race condition reliably.
4637         * lib/savewd.c (savewd_chdir): Likewise.
4638
4639         Remove macros that are no longer needed now that stdint.h is
4640         reliable.
4641         * lib/fsusage.c (UINTMAX_MAX): Remove.
4642         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
4643         * lib/utimecmp.c (SIZE_MAX): Remove.
4644
4645         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
4646
4647         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
4648         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
4649         O_NOATIME works.
4650
4651 2006-10-05  Bruno Haible  <bruno@clisp.org>
4652
4653         * lib/gl_list.h (gl_sortedlist_search_from_to,
4654         gl_sortedlist_indexof_from_to): New declarations.
4655         (gl_list_implementation): New fields sortedlist_search_from_to,
4656         sortedlist_indexof_from_to.
4657         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
4658         inline functions.
4659         * lib/gl_list.c (gl_sortedlist_search_from_to,
4660         gl_sortedlist_indexof_from_to): New functions.
4661         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
4662         function.
4663         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
4664         (gl_array_sortedlist_search_from_to): New function.
4665         (gl_array_list_implementation): Update.
4666         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
4667         function.
4668         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
4669         (gl_carray_sortedlist_search_from_to): New function.
4670         (gl_carray_list_implementation): Update.
4671         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
4672         gl_linked_sortedlist_indexof_from_to): New functions.
4673         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
4674         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
4675         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
4676         gl_tree_sortedlist_indexof_from_to): New functions.
4677         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
4678         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
4679         Update.
4680         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
4681         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
4682         Update.
4683
4684 2006-10-05  Bruno Haible  <bruno@clisp.org>
4685
4686         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
4687         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
4688         (struct gl_list_implementation): Add fields search_from_to,
4689         indexof_from_to. Remove fields search, indexof.
4690         (gl_list_search): Use the search_from_to method.
4691         (gl_list_search_from, gl_list_search_from_to): New functions.
4692         (gl_list_indexof): Use the indexof_from_to method.
4693         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
4694         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
4695         (gl_list_search_from, gl_list_search_from_to): New functions.
4696         (gl_list_indexof): Use the indexof_from_to method.
4697         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
4698         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
4699         gl_array_indexof. Add start_index, end_index arguments.
4700         (gl_array_search_from_to): Renamed from gl_array_search. Add
4701         start_index, end_index arguments.
4702         (gl_array_remove, gl_array_list_implementation): Update.
4703         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
4704         gl_carray_indexof. Add start_index, end_index arguments.
4705         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
4706         start_index, end_index arguments.
4707         (gl_carray_remove, gl_carray_list_implementation): Update.
4708         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
4709         gl_linked_search. Add start_index, end_index arguments.
4710         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
4711         start_index, end_index arguments.
4712         (gl_linked_remove): Update.
4713         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
4714         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
4715         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
4716         field to 'size_t'.
4717         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
4718         gl_tree_search. Add start_index, end_index arguments.
4719         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
4720         start_index, end_index arguments.
4721         (gl_tree_remove): Update.
4722         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
4723         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
4724         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
4725         function.
4726         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
4727         gl_tree_search. Add start_index, end_index arguments.
4728         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
4729         start_index, end_index arguments.
4730         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
4731         Update.
4732         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
4733
4734 2006-10-05  Bruno Haible  <bruno@clisp.org>
4735
4736         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
4737
4738         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
4739         fwriteerror_temp): New declarations.
4740         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
4741         (descriptors): New variable.
4742         (cleanup): First, close the descriptors.
4743         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
4744         fclose_temp, fwriteerror_temp): New functions.
4745
4746 2006-10-04  Jim Meyering  <jim@meyering.net>
4747
4748         * lib/fts.c (fts_open): Tiny comment change.
4749
4750 2006-10-04  Bruno Haible  <bruno@clisp.org>
4751
4752         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
4753         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
4754         gl_LOCK_BODY.
4755         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
4756         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
4757         gl_LOCK_EARLY_BODY.
4758         (gl_LOCK): Require gl_LOCK_BODY.
4759
4760 2006-10-04  Bruno Haible  <bruno@clisp.org>
4761
4762         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
4763         (gl_oset_search_atleast): New declaration.
4764         (struct gl_oset_implementation): Add field 'search_atleast'.
4765         (gl_oset_search_atleast): New inline function.
4766         * lib/gl_oset.c (gl_oset_search_atleast): New function.
4767         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
4768         (gl_array_oset_implementation): Update.
4769         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
4770         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
4771         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
4772
4773 2006-10-04  Bruno Haible  <bruno@clisp.org>
4774
4775         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
4776
4777 2006-10-03  Bruno Haible  <bruno@clisp.org>
4778
4779         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
4780         from gl_avltreehash_list_implementation.
4781
4782 2006-10-03  Bruno Haible  <bruno@clisp.org>
4783
4784         * lib/gl_oset.c (gl_oset_add): Fix return type.
4785
4786 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
4787
4788         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
4789
4790 2006-10-02  Eric Blake  <ebb9@byu.net>
4791
4792         * modules/strnlen (Depends-on): Add extensions.
4793
4794 2006-10-02  Eric Blake  <ebb9@byu.net>
4795
4796         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
4797         definition in 2.60+.
4798
4799 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
4800
4801         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
4802         checks.
4803
4804 2006-10-02  Bruno Haible  <bruno@clisp.org>
4805
4806         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
4807         to the AUTOMAKE_OPTIONS.
4808         Reported by Jim Meyering.
4809
4810 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
4811
4812         Work around bug in Solaris 10 /proc file system:
4813         /proc/self/fd/NNN/.. isn't the parent directory of
4814         the directory whose file descriptor is NNN.  This needs to
4815         be worked around at run time, not compile time, since a
4816         program might be built on Solaris 8, where things work, and
4817         run on Solaris 10.
4818         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
4819         to use the following interface instead:
4820         (OPENAT_BUFFER_SIZE): New macro.
4821         (openat_proc_name): New function.
4822         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
4823         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
4824         Likewise.
4825         * lib/openat-proc.c: New file.
4826         * modules/openat (Files): Add lib/openat-proc.c.
4827         (Depends-on): Add same-inode, stdbool.
4828         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
4829
4830 2006-09-29  Bruno Haible  <bruno@clisp.org>
4831
4832         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
4833         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
4834         argument. Set stdout_closed before testing for ferror, not after.
4835         (fwriteerror, fwriteerror_no_ebadf): New functions.
4836
4837 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4838
4839         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
4840
4841 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
4842
4843         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
4844         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
4845
4846 2006-09-28  Jim Meyering  <jim@meyering.net>
4847
4848         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
4849         Include <unistd.h>.
4850
4851 2006-09-28  Bruno Haible  <bruno@clisp.org>
4852
4853         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
4854         * modules/linkedhash-list (Depends-on): Likewise.
4855         * modules/rbtreehash-list (Depends-on): Likewise.
4856
4857 2006-09-28  Bruno Haible  <bruno@clisp.org>
4858
4859         * lib/strndup.h: Simplify the redefinition of strndup.
4860         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
4861         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
4862
4863 2006-09-28  Bruno Haible  <bruno@clisp.org>
4864
4865         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
4866         * lib/gl_linkedhash_list.c: Likewise.
4867         * lib/gl_rbtreehash_list.c: Likewise.
4868
4869 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
4870
4871         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
4872         getaddrinfo.
4873
4874         * lib/__fpending.h: Don't include <stdio_ext.h> unless
4875         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
4876         it causes <stdio_ext.h> to cause a compile-time error.
4877         Problem reported by Nelson H. F. Beebe.
4878         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
4879         of HAVE_DECL___PENDING.
4880
4881         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
4882         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
4883         declaration.
4884
4885 2006-09-27  Jim Meyering  <jim@meyering.net>
4886
4887         This file could end up with a definition for a function
4888         named __strndup, rather than rpl_strndup on a system with
4889         incomplete weak_alias support.
4890         * lib/strndup.c (strndup): Rename from __strndup.
4891         Remove #defines that used to map __strndup to strndup.
4892         Don't use K&R prototypes.
4893         Remove LIBC-related code, since this file is not sync'd with glibc.
4894         * lib/strndup.h: Revamp, accordingly.
4895         * m4/strndup.m4: Modernize.
4896
4897 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4898
4899         * modules/savewd (Depends-on): Add 'raise'.
4900         * lib/savewd.c: Include <signal.h>, for 'raise'.
4901
4902 2006-09-26  Jim Meyering  <jim@meyering.net>
4903
4904         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
4905         when we detect Darwin 8.7.0's acl_get_file bug.
4906         Rearrange to perform the new (below) run-test while $LIBS
4907         contains any acl-related library.  Set USE_ACL at the end.
4908         (gl_ACL_GET_FILE): New function.
4909
4910 2006-09-26  Eric Blake  <ebb9@byu.net>
4911
4912         * lib/verror.c: Include <config.h> unconditionally.
4913
4914 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4915
4916         * modules/clock-time (Maintainer): Add self.
4917         * modules/getlogin_r (Depends-on): Add extensions.
4918
4919 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4920
4921         * modules/clock-time: New module.
4922         * modules/nanosleep (Depends-on): Add clock-time.
4923         * modules/gethrxtime (Depends-on): Likewise.
4924         * modules/gettime (Depends-on): Likewise.
4925         * modules/settime (Depends-on): Likewise.
4926
4927         * modules/fts-lgpl: Depend on openat.
4928         * modules/mkancesdirs: Depend on savewd.
4929         * modules/mkdir-p: Likewise.
4930
4931 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4932
4933         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
4934
4935         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
4936         `gl_have_arbitrary_file_name_length_limit' to
4937         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
4938         actually works between configure runs.
4939
4940 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4941             Bruno Haible  <bruno@clisp.org>
4942
4943         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
4944
4945 2006-09-25  Jim Meyering  <jim@meyering.net>
4946
4947         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
4948         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
4949
4950 2006-09-25  Eric Blake  <ebb9@byu.net>
4951
4952         * gnulib-tool (func_import, func_create_testdir): Fix typos in
4953         exec's in 2006-09-18 patch when shuffling fds.
4954
4955 2006-09-25  Bruno Haible  <bruno@clisp.org>
4956
4957         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
4958         Reported by Jim Meyering.
4959
4960 2006-09-24  Jim Meyering  <jim@meyering.net>
4961
4962         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
4963         compare a pointer against a literal "0".  That caused failures with
4964         at least HP-UX's hpcc.
4965
4966 2006-09-22  Simon Josefsson  <jas@extundo.com>
4967
4968         * modules/gc-sha1:
4969         * modules/gc-md4:
4970         * modules/gc-hmac-sha1:
4971         * modules/gc-hmac-md5:
4972         * modules/gc-des:
4973         * modules/gc-arcfour: Distribute more files.
4974
4975 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4976
4977         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
4978         (gl_linked_iterator_from_to): Initialize struct completely.
4979         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
4980         (gl_tree_iterator_from_to): Likewise
4981         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
4982         * lib/gl_array_list.c [lint] (gl_array_iterator)
4983         (gl_array_iterator_from_to): Likewise.
4984         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
4985         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
4986         (gl_carray_iterator_from_to): Likewise.
4987
4988         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
4989         * lib/md4.c (md4_process_block): Remove unused variable.
4990         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
4991         parentheses for clarity.
4992
4993 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4994
4995         * modules/bison-i18n (Depends-on): Add gettext.
4996
4997 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4998
4999         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
5000         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
5001         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
5002         also add missing comma that caused broken test.
5003         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
5004         stdlib.h, for `abort'.
5005         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
5006         variables.
5007         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
5008         include unistd.h if present, for `rmdir'.
5009         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
5010         variables.
5011         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
5012         in the process include standard headers for prototypes.
5013         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
5014         gets declared on GNU/Linux.
5015         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
5016         unistd.h, for `rmdir'.
5017         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
5018
5019         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
5020         always true.
5021         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
5022
5023         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
5024
5025 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5026
5027         * gnulib-tool (func_version): Create output all at once.  This
5028         may help avoid triggering unnecessary SIGPIPEs, and at any
5029         rate it doesn't hurt.
5030
5031 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5032             Bruno Haible  <bruno@clisp.org>
5033
5034         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
5035         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
5036         * m4/signed.m4 (bh_C_SIGNED): Likewise.
5037
5038         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
5039         (gl_FUNC_VASPRINTF): Invoke it.
5040
5041 2006-09-22  Bruno Haible  <bruno@clisp.org>
5042
5043         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
5044         getloadavg.c as first argument.
5045
5046 2006-09-22  Bruno Haible  <bruno@clisp.org>
5047
5048         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
5049         at the beginning of the gl_INIT macro.
5050         * modules/getloadavg (configure.ac): Pass $gl_source_base to
5051         gl_GETLOADAVG.
5052
5053 2006-09-22  Bruno Haible  <bruno@clisp.org>
5054
5055         * gnulib-tool (func_create_megatestdir): Don't include the config-h
5056         module.
5057         Suggested by Ralf Wildenhues.
5058
5059 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
5060
5061         Import this patch from libc:
5062
5063         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
5064
5065         * lib/regex_internal.c (re_string_reconstruct): Handle
5066         offset < pstr->valid_raw_len && pstr->offsets_needed case.
5067         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
5068         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
5069         re_string_context_at.
5070
5071         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
5072         now requires it.
5073         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
5074         gl_REGEX now does it for us.
5075         (gl_REGEX): Add test taken from
5076         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
5077
5078         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
5079         Check that large offsets work.  Modernize Autoconf usages.
5080         Prefer "yes" to mean a good thing rather than a bad.
5081         Don't put "#define mkstemp" in config.h, as this might interfere
5082         with standard system headers that "#define mkstemp mkstemp64".
5083
5084         * modules/mkstemp (Depends-on): Add extensions, so that
5085         mkstemp is visible on some platforms.
5086         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
5087         (Include): Change to "mkstemp.h" from <stdlib.h>.
5088         (Files): Add mkstemp.h.
5089
5090         * lib/mkstemp.h: New file, since some standard headers
5091         #define mkstemp.
5092         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
5093         Include "mkstemp.h".
5094         Make the _LIBC code resemble glibc original more,
5095         e.g., use K&R style.
5096         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
5097         (mkstemp): Remove, since mkstemp.h does this for us.
5098         * lib/stdlib--.h: Include mkstemp.h.
5099
5100         Import this patch from libc:
5101
5102         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5103
5104         * lib/tempname.c (__gen_tempname): Change attempts_min
5105         into a macro.  Use preprocessor to decide how to initialize
5106         attempts [Coverity CID 67].
5107
5108 2006-09-20  Bruno Haible  <bruno@clisp.org>
5109
5110         * lib/mkdtemp.c: Import from libc.
5111         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
5112                 * sysdeps/posix/tempname.c (__gen_tempname): Change
5113                 attempts_min into a macro.  Use preprocessor to decide how to
5114                 initialize attempts [Coverity CID 67].
5115         2001-11-27  Paul Eggert  <eggert@twinsun.com>
5116                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
5117                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
5118
5119 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5120
5121         * gnulib-tool (func_exit): New function, to allow to pass the
5122         exit status portably through the trap.  Use everywhere.
5123         (--help, --version): Signal a write error.
5124         (trap): catch SIGPIPE, for write errors.
5125         Exit at the end of the trap, with the correct exit status.
5126
5127 2006-09-19  Karl Berry  <karl@gnu.org>
5128
5129         * doc/gnulib.texi: note about the license texinfo files.
5130
5131 2006-09-19  Eric Blake  <ebb9@byu.net>
5132
5133         * gnulib-tool: Avoid space-tab.
5134
5135 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5136
5137         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
5138         that prevented coreutils 6.1 from building.  Problem reported
5139         by Petter Reinholdtsen.
5140
5141 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
5142
5143         * gnulib-tool (avoidlist): Fix typo that broke options like
5144         --avoid=lock that are used by coreutils bootstrap.
5145
5146 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
5147
5148         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
5149         more systematically.
5150
5151 2006-09-18  Jim Meyering  <jim@meyering.net>
5152
5153         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
5154
5155 2006-09-18  Bruno Haible  <bruno@clisp.org>
5156
5157         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
5158
5159 2006-09-18  Bruno Haible  <bruno@clisp.org>
5160
5161         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
5162         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
5163         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
5164         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
5165         * m4/gettext.m4: Require autoconf >= 2.52.
5166         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
5167         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
5168         of gl_cv_header_inttypes_h.
5169
5170 2006-09-18  Bruno Haible  <bruno@clisp.org>
5171
5172         * lib/javaversion.c: Include configmake.h.
5173
5174 2006-09-18  Bruno Haible  <bruno@clisp.org>
5175
5176         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
5177         avoid that the while loops be executed in a subshell.
5178
5179 2006-09-18  Bruno Haible  <bruno@clisp.org>
5180
5181         * MODULES.html.sh (func_module): Break long lines.
5182         Suggested by Bruce Korb <bkorb@gnu.org>.
5183
5184 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5185
5186         Speed up by a factor of 1.12.
5187         * gnulib-tool (nl): New variable.
5188         (func_import): Rewrite include directive extraction to only read each
5189         directive once.
5190
5191 2006-09-17  Bruno Haible  <bruno@clisp.org>
5192
5193         * modules/javaversion (Makefile.am): Remove DEFS setting.
5194         (Depends-on): Add configmake, for PKGDATADIR definition.
5195
5196 2006-09-17  Bruno Haible  <bruno@clisp.org>
5197
5198         * gnulib-tool (func_create_testdir): Rewrite all files at once.
5199
5200 2006-09-17  Bruno Haible  <bruno@clisp.org>
5201
5202         * gnulib-tool (func_append): New function, stolen from libtool.m4.
5203         (func_modules_transitive_closure, func_modules_add_dummy,
5204         func_modules_to_filelist, func_import, func_create_testdir,
5205         func_create_megatestdir, ...): Use it wherever possible.
5206         Suggested by Ralf Wildenhues.
5207
5208 2006-09-16  Karl Berry  <karl@gnu.org>
5209
5210         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
5211         to avoid sectioning errors.
5212         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
5213         [ifinfo]: blank line after @center-ed titles.
5214         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
5215         Spell FSF address consistently with others.
5216         (These changes approved by rms.)
5217
5218 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5219
5220         Speed up by a factor of 1.61.
5221         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
5222         already checked module names again.
5223
5224 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5225
5226         Speed up by a factor of 1.13.
5227         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
5228         for new_files, and the input to func_add_or_update.
5229
5230 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5231
5232         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
5233         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
5234
5235 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5236
5237         * modules/mkancesdirs (Depends-on): Add fcntl.
5238         * modules/savewd: New file.
5239         * MODULES.html.sh (File system functions): Add savewd.
5240
5241         * modules/configmake (Makefile.am): Add support for the
5242         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
5243
5244 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5245
5246         * m4/savewd.m4: New file.
5247
5248 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
5249
5250         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
5251         (dirchownmod): New arg FD.  All callers changed.
5252         Use FD rather than opening the directory ourself, as opening is
5253         now the caller's responsibility.
5254         * lib/dirchownmod.h: Likewise.
5255         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
5256         hosts that require <sys/types.h> before <sys/stat.h>.  Include
5257         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
5258         (test_dir): Remove.
5259         (mkancesdirs): Return length of prefix of FILE that has already
5260         been made, or -2 if there is a child doing the work.  Redo
5261         algorithm so that it is O(N) rather than O(N**2).  Optimize away
5262         ".", and treat ".." specially since it might stray back into
5263         already-created areas.  Use a subprocess if necessary.  New arg
5264         WD; all users changed.  MAKE_DIR function should now return 1
5265         if it creates a directory that is not readable.  Return -2 if
5266         a child process is spun off.
5267         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
5268         Adjust signature to match code.
5269         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
5270         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
5271         all users changed.
5272         * lib/savewd.c, lib/savewd.h: New files.
5273
5274 2006-09-15  Jim Meyering  <jim@meyering.net>
5275
5276         * modules/rename-dest-slash: New module.
5277         * MODULES.html.sh (posix_compat): Add it here.
5278
5279         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
5280
5281 2006-09-15  Jim Meyering  <jim@meyering.net>
5282
5283         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
5284         file.
5285
5286         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
5287
5288 2006-09-15  Jim Meyering  <jim@meyering.net>
5289
5290         * lib/rename-dest-slash.c (has_trailing_slash): Use
5291         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
5292         (rpl_rename_dest_slash): Perform the cheaper trailing slash
5293         test before testing whether SRC is a directory.
5294         Suggestions from Bruno Haible.
5295
5296         Avoid a warning about an unused variable.
5297         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
5298         into the #ifdef block where it's used.
5299
5300         * lib/rename-dest-slash.c: New file.
5301
5302 2006-09-14  Bruno Haible  <bruno@clisp.org>
5303
5304         * lib/allocsa.c: Include <config.h> unconditionally.
5305         * lib/asnprintf.c: Likewise.
5306         * lib/asprintf.c: Likewise.
5307         * lib/c-strcasecmp.c: Likewise.
5308         * lib/c-strcasestr.c: Likewise.
5309         * lib/c-strncasecmp.c: Likewise.
5310         * lib/c-strstr.c: Likewise.
5311         * lib/classpath.c: Likewise.
5312         * lib/clean-temp.c: Likewise.
5313         * lib/concatpath.c: Likewise.
5314         * lib/copy-file.c: Likewise.
5315         * lib/csharpcomp.c: Likewise.
5316         * lib/csharpexec.c: Likewise.
5317         * lib/execute.c: Likewise.
5318         * lib/fatal-signal.c: Likewise.
5319         * lib/findprog.c: Likewise.
5320         * lib/fwriteerror.c: Likewise.
5321         * lib/gl_array_list.c: Likewise.
5322         * lib/gl_array_oset.c: Likewise.
5323         * lib/gl_avltree_list.c: Likewise.
5324         * lib/gl_avltree_oset.c: Likewise.
5325         * lib/gl_avltreehash_list.c: Likewise.
5326         * lib/gl_carray_list.c: Likewise.
5327         * lib/gl_linked_list.c: Likewise.
5328         * lib/gl_linkedhash_list.c: Likewise.
5329         * lib/gl_list.c: Likewise.
5330         * lib/gl_oset.c: Likewise.
5331         * lib/gl_rbtree_list.c: Likewise.
5332         * lib/gl_rbtree_oset.c: Likewise.
5333         * lib/gl_rbtreehash_list.c: Likewise.
5334         * lib/imaxabs.c: Likewise.
5335         * lib/imaxdiv.c: Likewise.
5336         * lib/javacomp.c: Likewise.
5337         * lib/javaexec.c: Likewise.
5338         * lib/javaversion.c: Likewise.
5339         * lib/linebreak.c: Likewise.
5340         * lib/localcharset.c: Likewise.
5341         * lib/lock.c: Likewise.
5342         * lib/mbchar.c: Likewise.
5343         * lib/mbswidth.c: Likewise.
5344         * lib/mkdtemp.c: Likewise.
5345         * lib/pipe.c: Likewise.
5346         * lib/printf-args.c: Likewise.
5347         * lib/printf-parse.c: Likewise.
5348         * lib/progname.c: Likewise.
5349         * lib/progreloc.c: Likewise.
5350         * lib/readlink.c: Likewise.
5351         * lib/sh-quote.c: Likewise.
5352         * lib/stpcpy.c: Likewise.
5353         * lib/stpncpy.c: Likewise.
5354         * lib/strcasecmp.c: Likewise.
5355         * lib/strcasestr.c: Likewise.
5356         * lib/strcspn.c: Likewise.
5357         * lib/striconv.c: Likewise.
5358         * lib/strncasecmp.c: Likewise.
5359         * lib/strnlen1.c: Likewise.
5360         * lib/strstr.c: Likewise.
5361         * lib/strtok_r.c: Likewise.
5362         * lib/tls.c: Likewise.
5363         * lib/tmpdir.c: Likewise.
5364         * lib/unicodeio.c: Likewise.
5365         * lib/unsetenv.c: Likewise.
5366         * lib/vasnprintf.c: Likewise.
5367         * lib/vasprintf.c: Likewise.
5368         * lib/wait-process.c: Likewise.
5369         * lib/xallocsa.c: Likewise.
5370         * lib/xsetenv.c: Likewise.
5371         * lib/xstriconv.c: Likewise.
5372
5373 2006-09-13  Simon Josefsson  <jas@extundo.com>
5374
5375         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
5376         that internally, suggested by Ralf Wildenhues
5377         <Ralf.Wildenhues@gmx.de>.
5378
5379 2006-09-13  Simon Josefsson  <jas@extundo.com>
5380
5381         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
5382         @LIBOBJS@.
5383         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5384
5385 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
5386
5387         * lib/_fpending.c: Include <config.h> unconditionally, since we no
5388         longer worry about uses that don't define HAVE_CONFIG_H.
5389         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
5390         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
5391         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
5392         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
5393         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
5394         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
5395         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
5396         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
5397         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
5398         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
5399         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
5400         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
5401         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
5402         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
5403         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
5404         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
5405         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
5406         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
5407         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
5408         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
5409         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
5410         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
5411         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
5412         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
5413         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
5414         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
5415         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
5416         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
5417         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
5418         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
5419         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
5420         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
5421         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
5422         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
5423         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
5424         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
5425         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
5426         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
5427         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
5428         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
5429         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
5430         Likewise.
5431
5432 2006-09-13  Eric Blake  <ebb9@byu.net>
5433
5434         * lib/getopt.c: Fix typo in last commit.
5435
5436 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
5437
5438         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
5439         dgettext.
5440
5441 2006-09-12  Jim Meyering  <jim@meyering.net>
5442
5443         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
5444         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
5445         Reported by Nelson H. F. Beebe.
5446
5447 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
5448
5449         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
5450         program_invocation_name and program_invocation_short_name are
5451         initialized.
5452         * lib/argp-namefrob.h: Move declarations of program_invocation_name
5453         and program_invocation_short_name to argp.h, so they are visible
5454         to user programs.
5455         * lib/argp.h: Likewise
5456
5457 2006-09-10  Bruno Haible  <bruno@clisp.org>
5458
5459         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
5460         m4/inttypes_h.m4, m4/uintmax_t.m4.
5461
5462 2006-09-10  Bruno Haible  <bruno@clisp.org>
5463
5464         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
5465         gl_AC_TYPE_UINTMAX_T.
5466
5467 2006-09-10  Bruno Haible  <bruno@clisp.org>
5468
5469         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
5470
5471 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
5472
5473         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
5474         convention.  Text proposed by Bruno Haible.
5475         (struct argp_option): Document the use of N_() wrappers.
5476
5477         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
5478         '\v', and translate the two parts separately, instead of feeding
5479         the whole string to gettext.  This allows to exclude
5480         '\v' from the strings visible to the translator by writing doc
5481         strings as N_("..") "\v" N_("..").
5482
5483 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
5484
5485         * config/srclist.txt: Undo latest change; the bug was fixed.
5486
5487 2006-09-09  Bruno Haible  <bruno@clisp.org>
5488
5489         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
5490         assignments if building a library without libtool.
5491         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
5492         in func_emit_lib_Makefile_am.
5493         (func_import): When building a static library libfoo.a, arrange to
5494         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
5495         (func_create_testdir): Likewise.
5496         * modules/gc (configure.ac, Makefile.am): If building statically,
5497         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
5498         * modules/iconvme (configure.ac, Makefile.am): Likewise.
5499         * modules/striconv (configure.ac, Makefile.am): Likewise.
5500         Based on a suggestion by Ralf Wildenhues.
5501
5502 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5503
5504         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
5505         Check for unistd.h too, since Autoconf doesn't assume POSIX.
5506         Also:
5507
5508         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5509         Add year_2050_test to catch glibc bug 2821
5510         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
5511
5512         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5513         Prefer #ifdef to #if.
5514
5515         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
5516         Return from 'main' instead of calling 'exit'.
5517
5518 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5519
5520         * lib/mktime.c (guess_time_tm): Fix bug where mktime
5521         returned the maximum time_t value rather than (time_t) -1.
5522         Problem originally reported by William Bardwell
5523         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
5524
5525         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
5526         Moved to here ...
5527         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
5528         ... from here.
5529
5530 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5531
5532         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
5533         2821 is fixed.
5534
5535 2006-09-08  Jim Meyering  <jim@meyering.net>
5536
5537         Don't make generated files read-only.  That would bother too many
5538         people.  However, do retain the ability to work when targets are
5539         read-only: remove the destination and temporary files before writing
5540         them (when generated via sed or echo), or by using the -f option for
5541         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
5542         * modules/alloca-opt, modules/argz, modules/arpa_inet:
5543         * modules/byteswap, modules/configmake, modules/fcntl:
5544         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
5545         * modules/localcharset, modules/netinet_in, modules/poll:
5546         * modules/stdbool, modules/stdint, modules/sys_select:
5547         * modules/sys_socket, modules/sys_stat, modules/sysexits:
5548
5549 2006-09-08  Jim Meyering  <jim@meyering.net>
5550
5551         Avoid new build failure on FreeBSD 6.0.
5552         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
5553         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
5554         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
5555
5556 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5557
5558         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
5559
5560 2006-09-07  Jim Meyering  <jim@meyering.net>
5561
5562         Fix global typo in last change: use chmod u-w, not chmod u-x.
5563         Spotted by Paul Eggert and Bruce Korb.
5564         * modules/alloca-opt, modules/argz, modules/arpa_inet:
5565         * modules/byteswap, modules/configmake, modules/fcntl:
5566         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
5567         * modules/localcharset, modules/netinet_in, modules/poll:
5568         * modules/stdbool, modules/stdint, modules/sys_select:
5569         * modules/sys_socket, modules/sys_stat, modules/sysexits:
5570
5571 2006-09-06  Jim Meyering  <jim@meyering.net>
5572
5573         Make generated files be read-only.
5574         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
5575         Ensure that each generated file is now read-only.
5576         * modules/argz: Likewise.
5577         * modules/arpa_inet: Likewise.
5578         * modules/byteswap: Likewise.
5579         * modules/configmake: Likewise.
5580         * modules/fcntl: Likewise.
5581         * modules/fnmatch: Likewise.
5582         * modules/getopt: Likewise.
5583         * modules/glob: Likewise.
5584         * modules/inttypes: Likewise.
5585         * modules/netinet_in: Likewise.
5586         * modules/poll: Likewise.
5587         * modules/stdbool: Likewise.
5588         * modules/stdint: Likewise.
5589         * modules/sys_select: Likewise.
5590         * modules/sys_socket: Likewise.
5591         * modules/sys_stat: Likewise.
5592         * modules/sysexits: Likewise.
5593         * modules/localcharset: Same as above, but continue using temporary
5594         file named "t-$@" (why different?) rather than the "$@-t" used
5595         everywhere else.
5596
5597         * modules/sysexits (Makefile.am): Replace literal occurrences
5598         of "sysexit.h" more readable, and more consistent, "$@".
5599
5600 2006-09-06  Bruno Haible  <bruno@clisp.org>
5601
5602         * modules/striconv: New file.
5603         * modules/xstriconv: New file.
5604         * MODULES.html.sh (Internationalization functions): Add striconv,
5605         xstriconv.
5606
5607 2006-09-06  Bruno Haible  <bruno@clisp.org>
5608
5609         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
5610         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
5611         not using libtool correctly.
5612
5613 2006-09-06  Bruno Haible  <bruno@clisp.org>
5614
5615         * lib/striconv.h: New file.
5616         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
5617         iconvstring.c.
5618         * lib/xstriconv.h: New file.
5619         * lib/xstriconv.c: New file.
5620
5621 2006-09-06  Bruno Haible  <bruno@clisp.org>
5622
5623         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
5624         lib_..._LDFLAGS.
5625
5626 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5627
5628         * lib/argz_.h: Sync from Libtool.
5629
5630         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
5631                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5632
5633         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
5634
5635 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
5636
5637         * modules/trim: New file.
5638
5639 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
5640
5641         * lib/trim.h: New file.
5642         * lib/trim.c: New file.
5643
5644 2006-09-05  Bruno Haible  <bruno@clisp.org>
5645
5646         * MODULES.html.sh (String handling): Add trim.
5647
5648 2006-09-04  Karl Berry  <karl@gnu.org>
5649
5650         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
5651         until next release.
5652
5653 2006-09-03  Bruno Haible  <bruno@clisp.org>
5654
5655         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
5656         correctly.
5657
5658 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5659
5660         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
5661         not gl_GETLOADAVG.  Omit unneeded semicolons.
5662         Problems reported by Ralf Wildenhues in
5663         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
5664         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
5665         at the end, which is the usual gnulib style.
5666
5667         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
5668         of doing all the work ourselves.
5669         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
5670         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
5671
5672 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5673
5674         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
5675         Problem reported by Ralf Wildenhues in
5676         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
5677
5678         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
5679         HAVE_STRUCT_STATFS_F_FSTYPENAME.
5680
5681 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5682
5683         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
5684         yesterday's patch by changing test -n to test -z.
5685
5686 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
5687
5688         * modules/getloadavg (Files): Add m4/getloadavg.m4.
5689         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
5690         the former is now obsolescent.
5691
5692         * modules/chdir-long (Depends-on): Add fcntl.
5693
5694 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
5695
5696         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
5697         obsolescent, and programs should use gnulib instead.
5698         * m4/getloadavg.m4: New file, with contents taken from Autoconf
5699         but with prefixes changed.
5700
5701 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
5702
5703         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
5704         or stdbool.h, because they might not exist while configuring.
5705
5706         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
5707         Don't include unistd.h or limits.h; not needed, since chdir-long.h
5708         does that for us.
5709         (O_DIRECTORY): Remove.
5710
5711 2006-08-31  Eric Blake  <ebb9@byu.net>
5712
5713         * gnulib-tool: Don't let emacs change spaces to TAB.
5714
5715 2006-08-31  Bruno Haible  <bruno@clisp.org>
5716
5717         * gnulib-tool: When calling func_import more than once, do it in a
5718         subshell.
5719         Reported by Eric Blake <ebb9@byu.net>.
5720
5721 2006-08-31  Bruno Haible  <bruno@clisp.org>
5722
5723         * gnulib-tool (nl): Remove variable.
5724         (sed_transform_lib_file): Use more robust test for config-h module.
5725         (func_import): Fix typo in 2006-08-25 patch.
5726
5727 2006-08-31  Bruno Haible  <bruno@clisp.org>
5728
5729         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
5730         specified, augment Makefile.am variables instead of assigning them.
5731
5732 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5733
5734         Work around a bug in both the Linux and SunOS 64-bit kernels:
5735         nanosleep mishandles sleeps for longer than 2**31 seconds.
5736         Problem reported by Frank v Waveren in
5737         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
5738         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
5739         Check for nanosleep bug.
5740         (LIB_NANOSLEEP): Append clock_gettime library if needed.
5741
5742 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5743
5744         Work around a bug in both the Linux and SunOS 64-bit kernels:
5745         nanosleep mishandles sleeps for longer than 2**31 seconds.
5746         Problem reported by Frank v Waveren in
5747         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
5748         * lib/nanosleep.c (BILLION): New constant.
5749         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
5750         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
5751         implementation.
5752
5753 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5754
5755         * modules/nanosleep (Depends-on): Add gettime.
5756
5757 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5758         and Simon Josefsson  <jas@extundo.com>
5759         and Oskar Liljeblad  <oskar@osk.mine.nu>
5760
5761         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
5762         * gnulib-tool (func_import): New license type 'unmodifiable license
5763         text'.
5764         * modules/fdl: Use it.  Longer description.
5765         * module/gpl, module/lgpl: New files.
5766
5767 2006-08-30  Jim Meyering  <jim@meyering.net>
5768
5769         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
5770         shadowing the parameter.
5771
5772 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5773
5774         Sync from Libtool:
5775
5776         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5777
5778         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
5779         sharing with gnulib.  Report by Eric Blake.
5780
5781 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
5782
5783         * modules/isapipe: New file.
5784         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
5785
5786 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
5787
5788         * modules/configmake (Makefile.am): Add a comment, and omit
5789         the CONFIGMAKE_ prefix from generated macro names.  Suggested
5790         by Bruno Haible.
5791
5792 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
5793
5794         * m4/isapipe.m4: New file.
5795
5796 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
5797
5798         * lib/isapipe.c, lib/isapipe.h: New files.
5799
5800 2006-08-29  Jim Meyering  <jim@meyering.net>
5801
5802         * modules/configmake (Makefile.am): Make configmake.h depend on
5803         Makefile.  Otherwise, a stale configmake.h could hang around.
5804
5805 2006-08-29  Eric Blake  <ebb9@byu.net>
5806
5807         * lib/error.c (error_at_line, print_errno_message): Match libc, after
5808         resolution of upstream bug 3044.
5809
5810 2006-08-29  Bruno Haible  <bruno@clisp.org>
5811
5812         * modules/localcharset (Depends-on): Add configmake.
5813         (Makefile.am): Remove setting of LIBDIR through DEFS.
5814
5815 2006-08-29  Bruno Haible  <bruno@clisp.org>
5816
5817         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
5818         defined.
5819
5820 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
5821
5822         * modules/fcntl: New file.
5823         * modules/chdir-safer (Depends-on): Add fcntl.
5824         * modules/fts: Likewise.
5825         * modules/mkdir-p: Likewise.
5826
5827         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
5828         This undoes the most recent change, since we're now addressing the
5829         problem in a different way.
5830
5831         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
5832         into output, since the output might be called Makefile.am even
5833         if $makefile_name is something different.
5834         (func_import): Use $makefile_am rather than
5835         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
5836         empty.
5837
5838         * modules/inttypes (Files): Add m4/inttypes-h.m4.
5839
5840 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
5841
5842         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
5843         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
5844         recent change to stdint.m4, since we're now addressing the problem in a
5845         different way.
5846
5847 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
5848
5849         * m4/fcntl_h.m4: New file.
5850
5851 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
5852
5853         * lib/fcntl_.h: New file.
5854         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
5855         the fcntl module.
5856         * lib/dirchownmod.c: Likewise.
5857         * lib/fts.c: Likewise.
5858
5859         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
5860         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
5861         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
5862         just before including <inttypes.h>, to avoid circular inclusion.
5863
5864 2006-08-28  Jim Meyering  <jim@meyering.net>
5865
5866         * doc/visibility.texi: Actually read and correct the grammar of the
5867         sentence affected by yesterday's change.
5868
5869 2006-08-28  Eric Blake  <ebb9@byu.net>
5870
5871         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
5872         needs wrapper.
5873
5874 2006-08-28  Eric Blake  <ebb9@byu.net>
5875
5876         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
5877
5878 2006-08-28  Eric Blake  <ebb9@byu.net>
5879
5880         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
5881
5882 2006-08-28  Bruno Haible  <bruno@clisp.org>
5883
5884         * modules/c-strstr: New file, from GNU gettext.
5885         * MODULES.html.sh (String handling): Add c-strstr.
5886
5887 2006-08-28  Bruno Haible  <bruno@clisp.org>
5888
5889         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
5890         macros.
5891         Reported by Eric Blake.
5892
5893 2006-08-28  Bruno Haible  <bruno@clisp.org>
5894
5895         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
5896         (VASNPRINTF): Return a string of length > INT_MAX without failing.
5897         * lib/vasprintf.c: Include errno.h, limits.h.
5898         (EOVERFLOW): New fallback definition.
5899         (vasprintf): Test here whether the string length is > INT_MAX.
5900         * lib/vsnprintf.c: Include errno.h, limits.h.
5901         (EOVERFLOW): New fallback definition.
5902         (vsnprintf): Fix bug when generated string was too long for the buffer.
5903         Test here whether the string length is > INT_MAX.
5904
5905 2006-08-28  Bruno Haible  <bruno@clisp.org>
5906
5907         * lib/inttypes_.h (SCNX*): Remove definitions.
5908         Reported by Eric Blake.
5909
5910 2006-08-28  Bruno Haible  <bruno@clisp.org>
5911
5912         * lib/c-strstr.h: New file, from GNU gettext.
5913         * lib/c-strstr.c: New file, from GNU gettext.
5914
5915 2006-08-28  Bruno Haible  <bruno@clisp.org>
5916
5917         * gnulib-tool: Reorder some statements.
5918
5919 2006-08-28  Bruno Haible  <bruno@clisp.org>
5920
5921         * gnulib-tool: New option --makefile-name.
5922         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
5923         $makefile_name.
5924         (func_import): Write $makefile_name to the cache file, and read it from
5925         there unless explicitly specified. Use $makefile_name as file name
5926         instead of Makefile.am. Adjust the recommendations accordingly.
5927
5928 2006-08-28  Bruno Haible  <bruno@clisp.org>
5929
5930         * gnulib-tool (func_verify_module): Check against misapplying patch.
5931
5932 2006-08-28  Bruno Haible  <bruno@clisp.org>
5933
5934         * gnulib-tool (func_relativize, func_relconcat): New functions.
5935         Give an error if --local-dir is given with --update.
5936         Remove trailing slashes from $local_gnulib_dir.
5937         (func_import): Store the relativized $local_gnulib_dir in
5938         gnulib-cache.m4, and read it from there if not specified explicitly.
5939
5940 2006-08-28  Bruno Haible  <bruno@clisp.org>
5941
5942         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
5943         is the current directory. Respect also $local_gnulib_dir.
5944
5945 2006-08-28  Bruno Haible  <bruno@clisp.org>
5946             Simon Josefsson  <jas@extundo.com>
5947
5948         BeOS portability.
5949         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
5950
5951 2006-08-27  Jim Meyering  <jim@meyering.net>
5952
5953         * doc/visibility.texi: Remove duplicate word: "pointer".
5954
5955 2006-08-26  Bruno Haible  <bruno@clisp.org>
5956
5957         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
5958         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
5959         (Makefile.am): Create inttypes.h from inttypes_.h.
5960         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
5961
5962         * modules/imaxabs: New file.
5963
5964         * modules/imaxdiv: New file.
5965
5966 2006-08-26  Bruno Haible  <bruno@clisp.org>
5967
5968         * m4/inttypes.m4: New file.
5969         * m4/_inttypes_h.m4: Remove file.
5970         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
5971         PRI_MACROS_BROKEN.
5972         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
5973
5974         * m4/imaxabs.m4: New file.
5975
5976         * m4/imaxdiv.m4: New file.
5977
5978 2006-08-26  Bruno Haible  <bruno@clisp.org>
5979
5980         * lib/inttypes_.h: New file.
5981         * lib/inttypes.h: Remove file.
5982         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
5983
5984         * lib/imaxabs.c: New file.
5985
5986         * lib/imaxdiv.c: New file.
5987
5988 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
5989
5990         New config-h module, so that "make" output needn't be cluttered
5991         by -DHAVE_CONFIG_H.
5992         * MODULES.html.sh (Support for building libraries and executables):
5993         Add config-h.
5994         * modules/config-h: New file.
5995         * gnulib-tool (nl, sed_transform_lib_file): New vars.
5996         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
5997         the config-h module is used.
5998
5999         New configmake module, so that "make" output needn't be cluttered
6000         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
6001         * MODULES.html.sh (Support for building libraries and executables):
6002         Add configmake.
6003         * modules/configmake: New file.
6004
6005 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6006
6007         * m4/config-h.m4: New file.
6008
6009 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6010
6011         * config/srclist.txt: Add elisp-comp.
6012
6013 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6014
6015         * MODULES.html.sh (Support for building libraries and executables):
6016         Add elisp-comp.
6017         * build-aux/elisp-comp: New file.
6018         * modules/elisp-comp: New file.
6019
6020 2006-08-24  Bruno Haible  <bruno@clisp.org>
6021
6022         * gnulib-tool (func_create_testdir): Use non-default values of
6023         sourcebase and m4base.
6024
6025 2006-08-24  Bruno Haible  <bruno@clisp.org>
6026
6027         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
6028         HTML structure.
6029
6030 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
6031
6032         * modules/openat (Depends-on): Add lchown.
6033
6034 2006-08-23  Bruno Haible  <bruno@clisp.org>
6035
6036         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
6037         of gl_LOCK_EARLY instead of gl_LOCK.
6038
6039 2006-08-23  Bruno Haible  <bruno@clisp.org>
6040
6041         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
6042         on OSF/1 to no.
6043         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
6044
6045 2006-08-23  Bruno Haible  <bruno@clisp.org>
6046
6047         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
6048         as unusable.
6049
6050         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
6051         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
6052         (gl_LOCK): New macro.
6053
6054 2006-08-22  Simon Josefsson  <jas@extundo.com>
6055
6056         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
6057         to md5 module.
6058
6059 2006-08-22  Simon Josefsson  <jas@extundo.com>
6060
6061         * MODULES.html.sh: Add "Support for maintaining and release
6062         projects".
6063
6064         * build-aux/gnupload: New file, from coreutils.
6065
6066 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6067
6068         Avoid the need for AC_LIBSOURCES in m4 macros.
6069         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
6070         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
6071         * modules/check-version (EXTRA_DIST): Add check-version.h.
6072         * modules/crc (EXTRA_DIST): Add crc.h.
6073         * modules/des (EXTRA_DIST): Add des.h.
6074         * modules/gc (EXTRA_DIST): Add gc.h.
6075         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
6076         * modules/getline (EXTRA_DIST): Add getline.h.
6077         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
6078         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
6079         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
6080         * modules/md2 (EXTRA_DIST): Add md2.h.
6081         * modules/md4 (EXTRA_DIST): Add md4.h.
6082         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
6083         * modules/read-file (EXTRA_DIST): Add read-file.h.
6084         * modules/readline (EXTRA_DIST): Add readline.h.
6085         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
6086         rijndael-api-fst.h.
6087
6088 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6089
6090         * m4/rijndael.m4 (gl_ARCFOUR):
6091         * m4/arctwo.m4 (gl_ARCTWO):
6092         * m4/check-version.m4 (gl_CHECK_VERSION):
6093         * m4/crc.m4 (gl_CRC):
6094         * m4/des.m4 (gl_DES):
6095         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
6096         * m4/gc.m4 (gl_GC):
6097         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
6098         * m4/getline.m4 (gl_FUNC_GETLINE):
6099         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
6100         * m4/hmac-md5.m4 (gl_HMAC_MD5):
6101         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
6102         * m4/md2.m4 (gl_MD2):
6103         * m4/md4.m4 (gl_MD4):
6104         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
6105         * m4/read-file.m4 (gl_FUNC_READ_FILE):
6106         * m4/readline.m4 (gl_FUNC_READLINE):
6107         * m4/rijndael.m4 (gl_RIJNDAEL):
6108         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6109         to get the necessary .h files and whatnot.
6110
6111 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
6112
6113         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
6114         gnulib rather than the other way around.
6115         * config/srclistvars.sh (COREUTILS): Remove.
6116
6117 2006-08-22  Jim Meyering  <jim@meyering.net>
6118
6119         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
6120
6121         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
6122
6123 2006-08-22  Eric Blake  <ebb9@byu.net>
6124
6125         * modules/regexprops-generic: New file.
6126         * MODULES.html.sh (Support for building documentation): List it.
6127
6128 2006-08-22  Eric Blake  <ebb9@byu.net>
6129
6130         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
6131         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
6132         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
6133         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
6134
6135 2006-08-22  Bruno Haible  <bruno@clisp.org>
6136
6137         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
6138         and lib_LTLIBRARIES like the other lib_* variables.
6139
6140 2006-08-22  Bruno Haible  <bruno@clisp.org>
6141
6142         * build-aux/x-to-1.in: New file, from GNU gettext.
6143
6144 2006-08-22  Bruno Haible  <bruno@clisp.org>
6145
6146         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
6147         <utmpx.h> exists.
6148
6149 2006-08-22  Bruno Haible  <bruno@clisp.org>
6150
6151         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
6152         <utmpx.h> exists.
6153
6154 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6155
6156         BeOS portability.
6157         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
6158         exist.
6159         Problem reported by Bruno Haible.
6160
6161 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6162
6163         Avoid the need for AC_LIBSOURCES in m4 macros.
6164         * modules/acl (EXTRA_DIST): Add acl.h.
6165         * modules/argmatch (Files): Add m4/argmatch.m4.
6166         (configure.ac): Add gl_ARGMATCH.
6167         (EXTRA_DIST): Renamed from lib_SOURCES, for
6168         consistency with the other modules.  Remove argmatch.c.
6169         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
6170         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
6171         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
6172         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
6173         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
6174         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
6175         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
6176         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
6177         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
6178         * modules/closeout (EXTRA_DIST): Add closeout.h.
6179         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
6180         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
6181         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
6182         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
6183         dirname.h; remove basename.c and stripslash.c.
6184         * modules/exclude (EXTRA_DIST): Add exclude.h.
6185         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
6186         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
6187         * modules/file-type (EXTRA_DIST): Add file-type.h.
6188         * modules/filemode (EXTRA_DIST): Add filemode.h.
6189         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
6190         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6191         * modules/fpending (EXTRA_DIST): Add __fpending.h.
6192         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
6193         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
6194         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
6195         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
6196         * modules/getdate (EXTRA_DIST): Add getdate.c.
6197         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
6198         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
6199         * modules/getpass (EXTRA_DIST): Add getpass.h.
6200         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
6201         * modules/group-member (EXTRA_DIST): Add group-member.h.
6202         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
6203         * modules/hash (EXTRA_DIST): Add hash.h.
6204         * modules/human (EXTRA_DIST): Add human.h.
6205         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
6206         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
6207         * modules/lchown (EXTRA_DIST): Add lchown.h.
6208         * modules/long-options (EXTRA_DIST): Add long-options.h.
6209         * modules/lstat (EXTRA_DIST): Add lstat.h.
6210         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
6211         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
6212         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
6213         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
6214         * modules/memxor (EXTRA_DIST): Add memxor.h.
6215         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
6216         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
6217         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
6218         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
6219         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
6220         * modules/physmem (EXTRA_DIST): Add physmem.h.
6221         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
6222         * modules/posixver (EXTRA_DIST): Add posixver.h.
6223         * modules/quote (EXTRA_DIST): Add quote.h.
6224         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
6225         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
6226         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
6227         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
6228         regex_internal.h regexec.c.
6229         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
6230         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
6231         * modules/same (EXTRA_DIST): Add same.h.
6232         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
6233         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
6234         * modules/savedir (EXTRA_DIST): Add savedir.h.
6235         * modules/sha1 (EXTRA_DIST): Add sha1.h.
6236         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
6237         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
6238         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
6239         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
6240         * modules/strdup (EXTRA_DIST): Add strdup.h.
6241         * modules/strftime (EXTRA_DIST): Add strftime.h.
6242         * modules/strndup (EXTRA_DIST): Add strndup.h.
6243         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
6244         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
6245         * modules/time_r (EXTRA_DIST): Add time_r.h.
6246         * modules/timespec (EXTRA_DIST): Add timespec.h.
6247         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
6248         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
6249         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
6250         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
6251         * modules/userspec (EXTRA_DIST): Add userspec.h.
6252         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
6253         * modules/utimens (EXTRA_DIST): Add utimens.h.
6254         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
6255         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
6256         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
6257         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
6258         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
6259         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
6260         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
6261         * modules/yesno (EXTRA_DIST): Add yesno.h.
6262
6263 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
6264
6265         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
6266
6267         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
6268         * m4/dev-ino.m4, same-inode.m4: Remove.
6269
6270         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
6271         * m4/acl.m4 (AC_FUNC_ACL):
6272         * m4/backupfile.m4 (gl_BACKUPFILE):
6273         * m4/c-strtod.m4 (gl_C99_STRTOLD):
6274         * m4/canon-host.m4 (gl_CANON_HOST):
6275         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
6276         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
6277         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
6278         * m4/cloexec.m4 (gl_CLOEXEC):
6279         * m4/close-stream.m4 (gl_CLOSE_STREAM):
6280         * m4/closeout.m4 (gl_CLOSEOUT):
6281         * m4/dirfd.m4 (gl_FUNC_DIRFD):
6282         * m4/dirname.m4 (gl_DIRNAME):
6283         * m4/exclude.m4 (gl_EXCLUDE):
6284         * m4/exitfail.m4 (gl_EXITFAIL):
6285         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
6286         * m4/file-type.m4 (gl_FILE_TYPE):
6287         * m4/filemode.m4 (gl_FILEMODE):
6288         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
6289         * m4/fpending.m4 (gl_FUNC_FPENDING):
6290         * m4/fprintftime.m4 (gl_FPRINTFTIME):
6291         * m4/fts.m4 (gl_FUNC_FTS):
6292         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
6293         * m4/getdate.m4 (gl_GETDATE):
6294         * m4/gethrxtime.m4 (gl_GETHRXTIME):
6295         * m4/getpagesize.m4 (gl_GETPAGESIZE):
6296         * m4/getpass.m4 (gl_FUNC_GETPASS):
6297         * m4/gettime.m4 (gl_GETTIME):
6298         * m4/getugroups.m4 (gl_GETUGROUPS):
6299         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
6300         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
6301         * m4/hard-locale.m4 (gl_HARD_LOCALE):
6302         * m4/hash.m4 (gl_HASH):
6303         * m4/idcache.m4 (gl_IDCACHE):
6304         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
6305         * m4/lchown.m4 (gl_FUNC_LCHOWN):
6306         * m4/long-options.m4 (gl_LONG_OPTIONS):
6307         * m4/lstat.m4 (gl_FUNC_LSTAT):
6308         * m4/md5.m4 (gl_MD5):
6309         * m4/memcasecmp.m4 (gl_MEMCASECMP):
6310         * m4/memcoll.m4 (gl_MEMCOLL):
6311         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
6312         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
6313         * m4/memxor.m4 (gl_MEMXOR):
6314         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
6315         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
6316         * m4/modechange.m4 (gl_MODECHANGE):
6317         * m4/mountlist.m4 (gl_MOUNTLIST):
6318         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
6319         * m4/openat.m4 (gl_FUNC_OPENAT):
6320         * m4/pathmax.m4 (gl_PATHMAX):
6321         * m4/physmem.m4 (gl_PHYSMEM):
6322         * m4/posixtm.m4 (gl_POSIXTM):
6323         * m4/posixver.m4 (gl_POSIXVER):
6324         * m4/quote.m4 (gl_QUOTE):
6325         * m4/quotearg.m4 (gl_QUOTEARG):
6326         * m4/readtokens.m4 (gl_READTOKENS):
6327         * m4/readutmp.m4 (gl_READUTMP):
6328         * m4/regex.m4 (gl_REGEX):
6329         * m4/safe-read.m4 (gl_SAFE_READ):
6330         * m4/safe-write.m4 (gl_SAFE_WRITE):
6331         * m4/same.m4 (gl_SAME):
6332         * m4/save-cwd.m4 (gl_SAVE_CWD):
6333         * m4/savedir.m4 (gl_SAVEDIR):
6334         * m4/settime.m4 (gl_SETTIME):
6335         * m4/sha1.m4 (gl_SHA1):
6336         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
6337         * m4/stat-macros.m4 (gl_STAT_MACROS):
6338         * m4/stat-time.m4 (gl_STAT_TIME):
6339         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
6340         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
6341         * m4/strdup.m4 (gl_FUNC_STRDUP):
6342         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
6343         * m4/strndup.m4 (gl_FUNC_STRNDUP):
6344         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
6345         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
6346         * m4/time_r.m4 (gl_TIME_R):
6347         * m4/timespec.m4 (gl_TIMESPEC):
6348         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
6349         * m4/unlinkdir.m4 (gl_UNLINKDIR):
6350         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
6351         * m4/userspec.m4 (gl_USERSPEC):
6352         * m4/utimecmp.m4 (gl_UTIMECMP):
6353         * m4/utimens.m4 (gl_UTIMENS):
6354         * m4/xalloc.m4 (gl_XALLOC):
6355         * m4/xgetcwd.m4 (gl_XGETCWD):
6356         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
6357         * m4/xreadlink.m4 (gl_XREADLINK):
6358         * m4/xstrtod.m4 (gl_XSTRTOD):
6359         * m4/yesno.m4 (gl_YESNO):
6360         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
6361         to get the necessary .h files and whatnot.
6362
6363 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
6364             Bruno Haible  <bruno@clisp.org>
6365
6366         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
6367         /bin/sh understanding of '!' conditional negation.
6368
6369 2006-08-21  Jim Meyering  <jim@meyering.net>
6370
6371         * modules/openat (Depends-on): Really alphabetize.
6372
6373         * modules/acl (Depends-on): Add error and quote.
6374
6375         * check-module (find_included_lib_files): Add at-func.c to the
6376         ok-to-include-more-than-once white list.
6377
6378         * modules/openat (Depends-on): Add lstat.  Alphabetize.
6379
6380 2006-08-21  Bruno Haible  <bruno@clisp.org>
6381
6382         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6383         Emit a pkgdata_DATA variable only if some snippets add contents to it.
6384         Reported by Martin Lambers <marlam@marlam.de>.
6385
6386 2006-08-21  Bruno Haible  <bruno@clisp.org>
6387
6388         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
6389         specify an installation location, don't emit a noinst_LIBRARIES or
6390         noinst_LTLIBRARIES assignment.
6391
6392 2006-08-21  Bruno Haible  <bruno@clisp.org>
6393
6394         BeOS portability.
6395         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
6396         BeOS has mbrtowc() but no <wctype.h>.
6397
6398 2006-08-21  Bruno Haible  <bruno@clisp.org>
6399
6400         BeOS portability.
6401         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
6402         exist.
6403
6404 2006-08-21  Bruno Haible  <bruno@clisp.org>
6405
6406         BeOS portability.
6407         * lib/mbchar.h: Include <wctype.h> only if it exists.
6408
6409 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
6410
6411         Remove files that are no longer needed by their respective modules.
6412         * m4/obstack.m4: Remove.
6413         * m4/strerror_r.m4: Remove.
6414         * m4/uint32_t.m4: Remove.
6415         * m4/uintptr_t.m4: Remove.
6416         * m4/ullong_max.m4: Remove.
6417         * m4/xstrtoimax.m4: Remove.
6418         * m4/xstrtoumax.m4: Remove.
6419
6420         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
6421         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
6422         dependencies now capture this.
6423
6424         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
6425         Do not use AC_LIBSOURCES, since gnulib modules now do this.
6426         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
6427         * m4/human.m4 (gl_HUMAN): Likewise.
6428         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
6429         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
6430
6431         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
6432
6433         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
6434         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
6435         stdint.
6436         * m4/human.m4 (gl_HUMAN): Likewise.
6437         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
6438         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
6439         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
6440         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
6441         * m4/xstrtol (gl_XSTRTOL): Likewise.
6442
6443         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
6444         AC_TYPE_LONG_LONG_INT.
6445         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
6446         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
6447         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
6448         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
6449
6450         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
6451         on stdbool.
6452
6453         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
6454         (gl_PREREQ_XSTRTOUL): Remove.
6455
6456         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
6457
6458         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
6459         mode.
6460
6461 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
6462
6463         Add and change modules to make it easier for coreutils to use
6464         gnulib-tool.
6465         * modules/backupfile (Files): Remove m4/d-ino.m4.
6466         (Depends-on): Add d-ino.
6467         * modules/cycle-check (Depends-on): Add stdint.
6468         (lib_SOURCES): Add cycle-check.h.
6469         * modules/d-ino: New module.
6470         * modules/d-type: New module.
6471         * modules/error (Files): Remove m4/strerror_r.m4.
6472         * modules/filemode (Files): Add m4/st_dm_mode.m4.
6473         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
6474         m4/inttypes_h.m4, m4/uintmax_t.m4.
6475         (Depends-on): Add stdint.
6476         (lib_SOURCES): Add fsusage.h.
6477         * modules/getcwd (Files): Remove d-ino.m4.
6478         (Depends-on): Add d-ino.
6479         * modules/getndelim2 (Depends-on): Add stdint.
6480         * modules/glob (Files): Remove m4/d-type.m4.
6481         (Depends-on): Add d-type.
6482         * modules/host-os: New module.
6483         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
6484         m4/inttypes_h.m4, m4/uintmax_t.m4.
6485         * Depends-on: Add stdint.
6486         (lib_SOURCES): Add human.h.
6487         * modules/inttostr (Files): Remove m4/intmax_t.m4,
6488         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
6489         m4/uintmax_t.m4, m4/ulonglong.m4.
6490         (Depends-on): Add stdint.
6491         (EXTRA_DIST): Add inttostr.h.
6492         * modules/lchmod: New module.
6493         * modules/link-follow: New module.
6494         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
6495         (Depends-on): Add lchmod.
6496         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
6497         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
6498         (Depends-on): Add stdint.
6499         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
6500         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
6501         (Depends-on): Add stdint.
6502         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
6503         * modules/perl: New module.
6504         * modules/regex (Depends-on): Add stdint.
6505         * modules/rmdir-errno: New module.
6506         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
6507         m4/intmax_t.m4.
6508         (Depends-on): Add stdint.
6509         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
6510         m4/uintmax_t.m4.
6511         (Depends-on): Add stdint.
6512         * modules/unlink-busy: New module.
6513         * modules/utimecmp (Depends-on): Add stdint.
6514         * modules/uptime: New module.
6515         * modules/winsz-ioctl: New module.
6516         * modules/winsz-termios: New module.
6517         * modules/xnanosleep (Depends-on): Add nanosleep.
6518         * modules/ullong_max: Remove.
6519         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
6520         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
6521         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
6522         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
6523         (Depends-on): Add inttypes.
6524         (lib_SOURCES): Add xstrtol.h.
6525         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
6526         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
6527         * MODULES.html.sh: Move 'assert' into the assert section.
6528         Move 'dummy' into the linking section.
6529         Remove ullong_max.
6530         Add section for compatibility checks for POSIX:2001 functions,
6531         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
6532         winsz-ioctl, and winsz-termios into it.
6533         Add lchmod.
6534         Add top-level Misc section and put host-os, perl, and uptime
6535         into it.
6536
6537 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
6538
6539         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
6540         now assume the stdint module.  Do not include inttypes.h.
6541         * lib/fsusage.h: Likewise.
6542         * lib/getndelim2.c: Likewise.
6543         * lib/human.h: Likewise.
6544         * lib/inttostr.h: Likewise.
6545         * lib/obstack.c: Likewise.
6546         * lib/regex_internal.h: Likewise.
6547         * lib/tempname.c: Likewise.
6548         * lib/utimecmp.c: Likewise.
6549         * lib/xstrtol.h: Likewise.
6550
6551         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
6552
6553         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
6554         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
6555         * lib/xtime.h: Likewise.
6556
6557 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
6558
6559         * modules/openat (Files): Add lib/fchmodat.c.
6560         Fixes problem reported by Jay Youngman.
6561
6562 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
6563
6564         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
6565         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
6566
6567 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
6568             Bruno Haible  <bruno@clisp.org>
6569
6570         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
6571         and is a script that invokes bison. Tighten the code. Add comments.
6572
6573 2006-08-18  Jim Meyering  <jim@meyering.net>
6574
6575         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
6576         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
6577         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
6578         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
6579
6580 2006-08-18  Bruno Haible  <bruno@clisp.org>
6581
6582         * modules/bison-i18n: New file.
6583         * MODULES.html.sh (Internationalization functions): Add it.
6584
6585 2006-08-18  Bruno Haible  <bruno@clisp.org>
6586
6587         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
6588         sys/statvfs.h. When getmntinfo was found, check its declaration and
6589         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
6590
6591 2006-08-18  Bruno Haible  <bruno@clisp.org>
6592
6593         * m4/bison-i18n.m4: New file, from bison.
6594
6595 2006-08-18  Bruno Haible  <bruno@clisp.org>
6596
6597         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
6598         (ME_DUMMY): Treat "kernfs" as a dummy.
6599         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
6600
6601 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
6602
6603         Update from coreutils.
6604
6605         2006-08-15  Jim Meyering  <jim@meyering.net>
6606
6607         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
6608
6609         2006-01-17  Jim Meyering  <jim@meyering.net>
6610
6611         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
6612
6613         2006-01-11  Jim Meyering  <jim@meyering.net>
6614
6615         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
6616         Check for the lchmod function.
6617
6618 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
6619
6620         Update from coreutils.
6621
6622         * lib/__fpending.h: Add copyright notice.
6623         * lib/fprintftime.h: Likewise.
6624         * lib/savedir.c: Use (C) in copyright notice.
6625         * lib/savedir.h: Likewise.
6626
6627         2006-08-15  Jim Meyering  <jim@meyering.net>
6628
6629         * lib/at-func.c: New file, with the logic of all emulated at-functions.
6630         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
6631         in support of the EXPECTED_ERRNO macro.
6632         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
6633         definitions.  Instead, define the appropriate symbols and include
6634         "at-func.c".
6635         * lib/mkdirat.c (mkdirat): Likewise.
6636         * lib/fchmodat.c (fchmodat): Likewise.
6637         (ENOSYS): Remove definition.
6638         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
6639         it.  Don't include "unistd--.h" -- it wasn't ever used.
6640
6641         2006-01-17  Jim Meyering  <jim@meyering.net>
6642
6643         Rewrite fts.c not to change the current working directory,
6644         by using openat, fstatat, fdopendir, etc..
6645
6646         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
6647         (HAVE_OPENAT_SUPPORT): Define.
6648         [_LIBC] (fchdir): Don't undef or define; no longer used.
6649         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
6650         Now, this `function' always succeeds, and consumes its file descriptor
6651         parameter -- so callers must not close such FDs.  Update callers.
6652         (diropen_fd, opendirat, cwd_advance_fd): New functions.
6653         (diropen): Add parameter, SP.  Adjust all callers.
6654         Implement using diropen_fd, rather than open.
6655         (fts_open): Initialize new member, fts_cwd_fd.
6656         Remove fts_rft-setting code.
6657         (fts_close): Close fts_cwd_fd, if necessary.
6658         (__opendir2): Define in terms of opendir or opendirat,
6659         depending on whether the FST_NOCHDIR flag is set.
6660         (fts_build): Since fts_safe_changedir consumes its FD, and since
6661         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
6662         and close the dup'd file descriptor upon failure.
6663         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
6664         (fts_safe_changedir): Tweak semantics to reflect that this function
6665         now calls cwd_advance_fd and hence consumes its FD argument.
6666         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
6667         [struct FTS] (fts_rft): Remove now-unused member.
6668         [struct FTS] (fts_cycle.state): Improve comment.
6669
6670         * lib/openat.c (openat_needs_fchdir): New function.
6671         * lib/openat.h (openat_needs_fchdir): Declare it.
6672
6673 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
6674
6675         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
6676         Problem and fix reported by Pádraig Brady in
6677         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
6678
6679 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6680
6681         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
6682
6683 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6684
6685         * lib/memcoll.c (memcoll): Optimize for the common case where the
6686         arguments are bytewise equal.
6687
6688 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6689
6690         * doc/regexprops-generic.texi: Add a copyright notice.
6691
6692 2006-08-15  Bruno Haible  <bruno@clisp.org>
6693
6694         * modules/tmpdir (License): Change to LGPL.
6695
6696 2006-08-15  Bruno Haible  <bruno@clisp.org>
6697
6698         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
6699         module.
6700
6701 2006-08-14  Simon Josefsson  <jas@extundo.com>
6702
6703         * config/srclist.txt: Add gnupload.
6704
6705 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6706
6707         Change copyright notice from LGPL 2 to GPL 2, since that's the
6708         standard form used in the gnulib repository.
6709         * tests/test-lock.c: Likewise.
6710         * tests/test-stdint.c: Likewise.
6711         * tests/test-tls.c: Likewise.
6712
6713         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
6714         prelude-manager.  User shorter URLs for GNU projects, without '?'.
6715         Add copyright notice.
6716
6717         * check-module: Add copyright notice.  Output a copyright
6718         notice if "--version" is specified.
6719         * modules/COPYING: New file.
6720         * tests/test-getaddrinfo.c: Add copyright notice.
6721         * tests/test-verify.c: Likewise.
6722
6723 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6724
6725         Change copyright notice from LGPL 2 to GPL 2, since that's the
6726         standard form used in the gnulib repository.
6727         * lib/lock.c: LGPL -> GPL.
6728         * lib/lock.h: Likewise.
6729         * lib/strnlen1.c: Likewise.
6730         * lib/strnlen1.h: Likewise.
6731         * lib/tls.c: Likewise.
6732         * lib/tls.h: Likewise.
6733         * lib/tmpdir.c: Likewise.
6734
6735         * lib/TODO: Remove; this belongs only in coreutils.
6736
6737 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6738
6739         Add copyright notices to long-enough files that lack them, since
6740         otherwise the files aren't clearly free.  Use the same notice that
6741         getdate.texi already uses.
6742         * doc/alloca-opt.texi: Add copyright notice.
6743         * doc/alloca.texi: Likewise.
6744         * doc/ctime.texi: Likewise.
6745         * doc/functions.texi: Likewise.
6746         * doc/gcd.texi: Likewise.
6747         * doc/gnulib-tool.texi: Likewise.
6748         * doc/inet_ntoa.texi: Likewise.
6749         * doc/visibility.texi: Likewise.
6750
6751         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
6752         * doc/quote.texi: Add copyright notice.
6753
6754         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
6755         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
6756         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
6757         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
6758         is now obsolete, and give a pointer to the Sun list.
6759         Add copyright notice.
6760
6761 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6762
6763         * config/srclistvars.sh: Add copyright notice.
6764
6765 2006-08-14  Eric Blake  <ebb9@byu.net>
6766
6767         Import the following change from libc:
6768
6769         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
6770
6771         Upstream bug 2997.
6772         * lib/misc/error.c: Add space between program name and message if file
6773         name is missing.
6774
6775 2006-08-12  Karl Berry  <karl@gnu.org>
6776
6777         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
6778         remove, these originate in gnulib now.
6779
6780 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6781
6782         * doc/Makefile (standards.info standards.html standards.dvi):
6783         Also depend on make-stds.texi.
6784
6785 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
6786
6787         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
6788         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
6789
6790         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
6791         in wchar_t.  Problem reported by Eric Blake.
6792
6793         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
6794         LEN is smaller than SIZE.  Suggested by Bruno Haible.
6795         Also, help the compiler to keep LEN in a register.
6796
6797 2006-08-11  Eric Blake  <ebb9@byu.net>
6798
6799         * users.txt: Sort.  Add tar.
6800
6801 2006-08-11  Bruno Haible  <bruno@clisp.org>
6802
6803         * users.txt: New file.
6804
6805 2006-08-11  Bruno Haible  <bruno@clisp.org>
6806
6807         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
6808         before <wchar.h>. Needed for OSF/1 and BSD/OS.
6809
6810 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
6811
6812         * modules/snprintf (Depends-on): Remove minmax.
6813         (Maintainer): Add self and Bruno.
6814
6815 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
6816
6817         * lib/.cppi-disable: Add snprintf.h, socket_.h.
6818         * lib/snprintf.c: Include <errno.h> and <limits.h>.
6819         (EOVERFLOW): Define if the system does not.
6820         Do not include "minmax.h"; it wasn't used.
6821         (snprintf): Don't assume size_t promotes to an unsigned type.
6822         Fix bug when generated string was too long for the buffer: the
6823         buffer's contents are supposed to be the initial prefix of the
6824         output.  Don't assume vasnprintf returns EOVERFLOW if the size
6825         exceeds INT_MAX; do the check ourselves.
6826
6827         Import the following changes from libc:
6828
6829         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
6830
6831         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
6832         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
6833         set wc to the byte which couldn't be converted.
6834         (re_string_reconstruct): Don't clear valid_raw_len before calling
6835         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
6836         tip_context using re_string_context_at.
6837
6838         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
6839
6840         * lib/posix/regex.h: g++ still cannot handled [restrict].
6841
6842         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
6843
6844         * lib/posix/regex.h: Remove special handling for VMS.
6845
6846 2006-08-10  Jim Meyering  <jim@meyering.net>
6847
6848         * modules/same-inode: New module.
6849         * modules/dev-ino: New module.
6850         * modules/cycle-check: Depend on these modules, rather than simply
6851         including their .h files.
6852         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
6853         required via m4/cycle-check.m4.
6854         * modules/same: Depend on new same-inode module, rather than
6855         including same-inode.h.
6856         * modules/chdir-safer: New file.
6857
6858         * modules/chown (Depends-on): Add stat-macros.
6859
6860 2006-08-10  Jim Meyering  <jim@meyering.net>
6861
6862         * m4/cycle-check.m4: New file.
6863         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
6864         * m4/dev-ino.m4, m4/same-inode.m4: New files.
6865
6866 2006-08-10  Eric Blake  <ebb9@byu.net>
6867
6868         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
6869         in from original proposal.
6870
6871 2006-08-10  Eric Blake  <ebb9@byu.net>
6872         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6873
6874         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
6875         namespace.
6876
6877 2006-08-10  Bruno Haible  <bruno@clisp.org>
6878
6879         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
6880         as well.
6881
6882 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6883
6884         Sync from coreutils.
6885
6886         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
6887
6888         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
6889         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
6890
6891 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6892
6893         * modules/restrict: Remove; no longer needed now that we assume
6894         Autoconf 2.59 or later.
6895         * MODULES.html.sh: Remove 'restrict'.
6896         * modules/argp (Depends-on): Remove 'restrict'.
6897         * modules/base64 (Depends-on): Likewise.
6898         * modules/gc (Depends-on): Likewise.
6899         * modules/getaddrinfo (Depends-on): Likewise.
6900         * modules/glob (Depends-on): Likewise.
6901         * modules/inet_ntop (Depends-on): Likewise.
6902         * modules/inet_pton (Depends-on): Likewise.
6903         * modules/memxor (Depends-on): Likewise.
6904         * modules/regex (Depends-on): Likewise.
6905         * modules/strtok_r (Depends-on): Likewise.
6906         * modules/time_r (Depends-on): Likewise.
6907
6908 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6909
6910         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
6911         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
6912         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
6913         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
6914         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
6915         * m4/memxor.m4 (gl_MEMXOR): Likewise.
6916         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
6917         gl_C_RESTRICT replaced by AC_C_RESTRICT.
6918
6919         Merge from coreutils.
6920         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
6921         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
6922         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6923         * m4/time_r.m4 (gl_TIME_R): Likewise.
6924
6925 2006-08-09  Karl Berry  <karl@gnu.org>
6926
6927         * config/srclist.txt: no more gettext-tools, per Bruno.
6928
6929 2006-08-08  Eric Blake  <ebb9@byu.net>
6930
6931         * modules/verror: New module.
6932         * MODULES.html.sh: Document it.
6933
6934 2006-08-08  Eric Blake  <ebb9@byu.net>
6935
6936         * lib/verror.h, lib/verror.c: New files.
6937
6938 2006-08-08  Eric Blake  <ebb9@byu.net>
6939
6940         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
6941         verror_at_line output complies with GNU Coding Standards even when
6942         file is NULL.
6943
6944 2006-08-07  Bruno Haible  <bruno@clisp.org>
6945
6946         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
6947         versions of AIX.
6948         Reported by Ralf Wildenhues.
6949
6950 2006-08-07  Bruno Haible  <bruno@clisp.org>
6951
6952         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
6953         in an AC_DEFUN. Needed so that the autoconf snippets can use
6954         AC_REQUIRE.
6955
6956 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6957
6958         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6959         Initialize pkgdata_DATA.
6960         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
6961         overriding it.
6962
6963 2006-08-06  Eric Blake  <ebb9@byu.net>
6964
6965         * lib/error.h: Fold in some upstream changes from glibc.
6966         * lib/error.c: Likewise.
6967
6968 2006-08-04  Bruno Haible  <bruno@clisp.org>
6969
6970         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6971         Make the mostlyclean-local rule depend on mostlyclean-generic.
6972         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
6973
6974 2006-07-31  Bruno Haible  <bruno@clisp.org>
6975
6976         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
6977         <stdlib.h>, <string.h>.
6978
6979 2006-07-30  Bruno Haible  <bruno@clisp.org>
6980
6981         * modules/readlink (License): Change to LGPL.
6982
6983 2006-07-30  Bruno Haible  <bruno@clisp.org>
6984
6985         * modules/javaversion (Makefile.am): Distribute javaversion.java and
6986         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
6987         set PKGDATADIR to point to it.
6988
6989 2006-07-30  Bruno Haible  <bruno@clisp.org>
6990
6991         * modules/csharpexec (configure.ac): Comment out macro invocation.
6992         * modules/javaexec (configure.ac): Likewise.
6993         * modules/javacomp-script (configure.ac): Likewise.
6994
6995         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
6996
6997 2006-07-30  Bruno Haible  <bruno@clisp.org>
6998
6999         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
7000         linked-list.
7001
7002 2006-07-30  Bruno Haible  <bruno@clisp.org>
7003
7004         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
7005
7006 2006-07-30  Bruno Haible  <bruno@clisp.org>
7007
7008         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7009         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
7010         get removed.
7011
7012 2006-07-29  Bruno Haible  <bruno@clisp.org>
7013
7014         Make it possible for gnulib-tool to work with locally modified or
7015         augmented gnulib repositories.
7016         * gnulib-tool (func_usage): Document --local-dir option.
7017         (local_gnulib_dir): New variable.
7018         Handle --local-dir option.
7019         (func_lookup_file): New function.
7020         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
7021         (func_get_description, func_get_filelist, func_get_description,
7022         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
7023         func_get_automake_snippet, func_get_include_directive,
7024         func_get_license, func_get_maintainer): Use func_lookup_file.
7025         (func_import, func_create_testdir): Use func_lookup_file.
7026
7027 2006-07-29  Bruno Haible  <bruno@clisp.org>
7028
7029         * modules/setenv (Depends-on): Add unistd.
7030
7031 2006-07-29  Bruno Haible  <bruno@clisp.org>
7032
7033         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
7034
7035 2006-07-29  Bruno Haible  <bruno@clisp.org>
7036
7037         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
7038
7039 2006-07-29  Bruno Haible  <bruno@clisp.org>
7040
7041         * gnulib-tool (import, update): If there is no Makefile.am, look at
7042         aclocal.m4, instead of bailing out.
7043
7044 2006-07-29  Bruno Haible  <bruno@clisp.org>
7045
7046         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
7047         Categorize the options by when they are useful.
7048
7049 2006-07-29  Bruno Haible  <bruno@clisp.org>
7050
7051         * gnulib-tool (func_usage): Document option --no-libtool.
7052         Handle option --no-libtool.
7053         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
7054         for changed semantics of $libtool variable.
7055         (func_import): Likewise. If libtool is not used, show this through
7056         an option --no-libtool.
7057         (func_create_testdir): Update.
7058
7059 2006-07-29  Bruno Haible  <bruno@clisp.org>
7060
7061         * gnulib-tool (func_import): Extend error message about missing
7062         --doc-base.
7063
7064 2006-07-29  Bruno Haible  <bruno@clisp.org>
7065
7066         * gnulib-tool (func_import): Don't create the $docbase directory if
7067         there is no file to store there.
7068
7069 2006-07-29  Bruno Haible  <bruno@clisp.org>
7070
7071         * gnulib-tool (autoconf_minversion): If a --dir option is given and
7072         relevant, look for configure.ac there, not in the current directory.
7073         Also use a simple search for AC_PREREQ, not "autoconf --trace".
7074
7075 2006-07-29  Bruno Haible  <bruno@clisp.org>
7076
7077         * gnulib-tool (SORT): New variable.
7078         (func_usage): Undocument --assume-autoconf option.
7079         Remove --assume-autoconf option handling.
7080         (autoconf_minversion): Determine from the contents of configure.ac.
7081         (func_import): Remove autoconf_minversion handling.
7082         Suggested by Eric Blake.
7083
7084 2006-07-29  Bruno Haible  <bruno@clisp.org>
7085
7086         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
7087
7088 2006-07-29  Bruno Haible  <bruno@clisp.org>
7089
7090         * config/srclist.txt (*setenv.[ch]): Remove rules.
7091
7092 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7093
7094         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
7095
7096 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7097
7098         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
7099         arpa/inet.h.
7100
7101 2006-07-28  Simon Josefsson  <jas@extundo.com>
7102
7103         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
7104         * modules/inet_pton (Depends-on): Likewise.
7105
7106 2006-07-28  Simon Josefsson  <jas@extundo.com>
7107
7108         * m4/netinet_in_h.m4: New file.
7109
7110 2006-07-28  Simon Josefsson  <jas@extundo.com>
7111
7112         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
7113         #include's.
7114
7115 2006-07-28  Simon Josefsson  <jas@extundo.com>
7116
7117         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
7118         #include's.
7119
7120 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
7121
7122         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
7123         setgid on directories only if they set these bits.
7124         * lib/modechange.h: Remove obsolete comment about masks.
7125
7126 2006-07-28  Eric Blake  <ebb9@byu.net>
7127
7128         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
7129         macro expansion.
7130
7131 2006-07-28  Bruno Haible  <bruno@clisp.org>
7132
7133         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
7134
7135 2006-07-28  Bruno Haible  <bruno@clisp.org>
7136
7137         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
7138
7139 2006-07-28  Bruno Haible  <bruno@clisp.org>
7140
7141         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
7142         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
7143         Define fallbacks.
7144         Avoids link error on FreeBSD 4.x.
7145         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
7146
7147         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
7148         encoding.
7149         * lib/mbswidth.c (iswcntrl): Likewise.
7150
7151 2006-07-27  Bruno Haible  <bruno@clisp.org>
7152
7153         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
7154         test.
7155
7156 2006-07-27  Bruno Haible  <bruno@clisp.org>
7157
7158         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
7159         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
7160         defined.
7161
7162 2006-07-26  Eric Blake  <ebb9@byu.net>
7163
7164         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
7165
7166 2006-07-26  Eric Blake  <ebb9@byu.net>
7167
7168         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
7169         like mingw that lack mkstemp.
7170         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
7171         avoid compilation warning on mingw.
7172
7173 2006-07-26  Bruno Haible  <bruno@clisp.org>
7174
7175         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
7176         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
7177         INT_FAST*_MIN, INTPTR_MIN.
7178
7179 2006-07-25  Bruno Haible  <bruno@clisp.org>
7180
7181         * modules/version-etc (Depends-on): Add stdarg.
7182
7183 2006-07-25  Bruno Haible  <bruno@clisp.org>
7184
7185         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
7186         complex commands.
7187
7188 2006-07-25  Bruno Haible  <bruno@clisp.org>
7189
7190         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
7191         defined in <stdarg.h> or config.h.
7192
7193 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7194
7195         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
7196         (gl_STDIO_SAFER): Remove.
7197
7198 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
7199
7200         * MODULES.html.sh (File stream based Input/Output):
7201         Add fopen-safer, tmpfile-safer; remove stdio-safer.
7202         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
7203         * modules/fopen-safer, modules/tmpfile-safer: New files.
7204         * modules/stdio-safer: Remove.
7205
7206 2006-07-24  Bruno Haible  <bruno@clisp.org>
7207
7208         * modules/tmpdir: New file.
7209         * MODULES.html.sh (File system functions): Add it.
7210
7211 2006-07-24  Bruno Haible  <bruno@clisp.org>
7212
7213         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
7214         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
7215
7216 2006-07-24  Bruno Haible  <bruno@clisp.org>
7217
7218         * modules/clean-temp: New file.
7219
7220 2006-07-24  Bruno Haible  <bruno@clisp.org>
7221
7222         * m4/tmpdir.m4: New file, from GNU gettext.
7223
7224 2006-07-24  Bruno Haible  <bruno@clisp.org>
7225
7226         * lib/tmpdir.h: New file, from GNU gettext.
7227         * lib/tmpdir.c: New file, from GNU gettext.
7228
7229 2006-07-24  Bruno Haible  <bruno@clisp.org>
7230
7231         * lib/clean-temp.h: New file, from GNU gettext.
7232         * lib/clean-temp.c: New file, from GNU gettext.
7233
7234 2006-07-23  Eric Blake  <ebb9@byu.net>
7235
7236         * modules/stdio-safer (Files): Add tmpfile-safer.c.
7237         (Depends-on): Add binary-io.
7238
7239 2006-07-23  Eric Blake  <ebb9@byu.net>
7240
7241         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
7242
7243 2006-07-23  Eric Blake  <ebb9@byu.net>
7244
7245         * lib/tmpfile-safer.c: New file.
7246         * lib/stdio-safer.h (fopen_safer): Add prototype.
7247         * lib/stdio--.h (tmpfile): Make safer.
7248
7249 2006-07-23  Bruno Haible  <bruno@clisp.org>
7250
7251         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
7252         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
7253         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
7254         gl_linked_remove_at): Use it.
7255
7256 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7257         and Simon Josefsson <jas@extundo.com>
7258
7259         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
7260
7261         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
7262
7263 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7264
7265         * modules/close-stream: New file.
7266         * modules/closeout (Description): Make it clear that it exits
7267         with a diagnostic on error.
7268         (Depends-on): Add close-stream.  Remove fpending, stdbool.
7269         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
7270
7271 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7272
7273         * m4/close-stream.m4: New file.
7274
7275 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
7276
7277         * lib/close-stream.c, lib/close-stream.h: New files.
7278
7279 2006-07-22  Bruno Haible  <bruno@clisp.org>
7280
7281         Merge from GNU gettext 0.15.
7282
7283         2006-05-01  Bruno Haible  <bruno@clisp.org>
7284
7285                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
7286
7287         2006-07-22  Bruno Haible  <bruno@clisp.org>
7288
7289                 * modules/javaversion: New file.
7290                 * MODULES.html.sh (Java): Add javaversion.
7291
7292         2006-03-12  Bruno Haible  <bruno@clisp.org>
7293
7294                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
7295
7296         2005-12-04  Bruno Haible  <bruno@clisp.org>
7297
7298                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
7299                 (untested).
7300
7301         2006-06-21  Bruno Haible  <bruno@clisp.org>
7302
7303                 Avoid warnings from recent versions of mcs.
7304                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
7305                 -o, -L, -r any more. Use options documented since mcs-1.0
7306                 instead. Similarly for -g.
7307
7308         2005-12-04  Bruno Haible  <bruno@clisp.org>
7309
7310                 * build-aux/csharpcomp.sh.in: Suffix for resources is
7311                 .resources, not .resource.
7312
7313         2005-07-09  Bruno Haible  <bruno@clisp.org>
7314
7315                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
7316                 add a .dll suffix.
7317                 Reported by Mark Junker <mjscod@gmx.de>.
7318
7319         2006-07-22  Bruno Haible  <bruno@clisp.org>
7320
7321                 * modules/gettext: Upgrade to gettext-0.15.
7322                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
7323                 m4/visibility.m4.
7324                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
7325
7326 2006-07-22  Bruno Haible  <bruno@clisp.org>
7327
7328         Merge from GNU gettext 0.15.
7329
7330         2006-03-25  Bruno Haible  <bruno@clisp.org>
7331
7332                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
7333
7334         2006-07-21  Bruno Haible  <bruno@clisp.org>
7335
7336                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
7337                 "1.1".
7338
7339         2006-05-09  Bruno Haible  <bruno@clisp.org>
7340
7341                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
7342                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
7343                 for the conftestver execution.
7344
7345         2006-05-01  Bruno Haible  <bruno@clisp.org>
7346
7347                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
7348                 optional target-version argument. Verify that the compiler
7349                 groks source of the specified source-version, or add -source
7350                 option as necessary. Verify that the compiler produces
7351                 bytecode in the specified target-version, or add -target and
7352                 -source options as necessary. Make the result of the test
7353                 available as variable CONF_JAVAC. Also log error output in
7354                 config.log.
7355
7356         2006-03-11  Bruno Haible  <bruno@clisp.org>
7357
7358                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
7359
7360         2006-05-09  Bruno Haible  <bruno@clisp.org>
7361
7362                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
7363                 CLASSPATH_SEPARATOR to a semicolon.
7364
7365         2006-03-12  Bruno Haible  <bruno@clisp.org>
7366
7367                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
7368                 available as variable CONF_JAVA, for subsequent autoconf
7369                 tests. Also log error output in config.log.
7370
7371         2006-07-19  Bruno Haible  <bruno@clisp.org>
7372
7373                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
7374                 that getline works on glibc2 systems. Needed to avoid trouble
7375                 in relocatable.c.
7376                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
7377
7378         2005-12-04  Bruno Haible  <bruno@clisp.org>
7379
7380                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
7381                 launcher (untested).
7382
7383         2005-12-04  Bruno Haible  <bruno@clisp.org>
7384
7385                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
7386
7387         2006-07-22  Bruno Haible  <bruno@clisp.org>
7388
7389                 * gettext.m4: Update from GNU gettext-0.15.
7390                 * nls.m4: Likewise.
7391                 * po.m4: Likewise.
7392                 * inttypes-pri.m4: Likewise.
7393                 * inttypes-h.m4: Renamed from inttypes.m4.
7394                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
7395
7396 2006-07-22  Bruno Haible  <bruno@clisp.org>
7397
7398         Merge from GNU gettext 0.15.
7399
7400         2005-07-05  Bruno Haible  <bruno@clisp.org>
7401
7402                 * printf-args.c (printf_fetchargs): Work around broken
7403                 definition of wint_t on mingw.
7404
7405         2005-02-12  Bruno Haible  <bruno@clisp.org>
7406
7407                 * xallocsa.h: Add extern "C" for C++.
7408
7409         2006-05-17  Bruno Haible  <bruno@clisp.org>
7410
7411                 Cygwin portability.
7412                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
7413
7414         2006-04-30  Bruno Haible  <bruno@clisp.org>
7415
7416                 * progreloc.c: Include <mach-o/dyld.h> if available.
7417                 (find_executable): Use _NSGetExecutablePath when possible.
7418
7419         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
7420
7421                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
7422                 function.
7423
7424         2005-12-29  Bruno Haible  <bruno@clisp.org>
7425
7426                 * progreloc.c (set_program_name_and_installdir): Fix
7427                 compilation error.
7428
7429         2005-12-04  Bruno Haible  <bruno@clisp.org>
7430
7431                 Cygwin portability.
7432                 * progreloc.c: Include <windows.h> also on Cygwin.
7433                 (find_executable): Add support for Cygwin.
7434                 (set_program_name_and_installdir): Handle also platforms with
7435                 nonempty EXEEXT.
7436
7437         2006-07-11  Bruno Haible  <bruno@clisp.org>
7438
7439                 * javacomp.c: Fix a comment.
7440                 Reported by Jim Meyering.
7441
7442         2006-04-30  Bruno Haible  <bruno@clisp.org>
7443
7444                 * javacomp.h (compile_java_class): Add source_version,
7445                 target_version arguments.
7446                 * javacomp.c: Rewritten to choose only a compiler that
7447                 respects the specified source_version and target_version.
7448
7449         2006-06-27  Bruno Haible  <bruno@clisp.org>
7450
7451                 Assume correct S_ISDIR macro.
7452                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
7453
7454         2006-07-22  Bruno Haible  <bruno@clisp.org>
7455
7456                 * javaversion.h: New file, from GNU gettext.
7457                 * javaversion.c: New file, from GNU gettext.
7458                 * javaversion.java: New file, from GNU gettext.
7459                 * javaversion.class: New file, from GNU gettext.
7460
7461         2006-05-17  Bruno Haible  <bruno@clisp.org>
7462
7463                 Cygwin portability.
7464                 * javaexec.c (execute_java_class): Test for jview program
7465                 also on Cygwin.
7466
7467         2006-04-09  Bruno Haible  <bruno@clisp.org>
7468
7469                 * fatal-signal.c: Don't include string.h.
7470                 (at_fatal_signal): Use a copying loop instead of memcpy.
7471
7472         2005-12-04  Bruno Haible  <bruno@clisp.org>
7473
7474                 * csharpexec.c: Add support for 'clix' launcher (untested).
7475                 (execute_csharp_using_sscli): New function.
7476                 (execute_csharp_program): Call it.
7477
7478         2006-06-21  Bruno Haible  <bruno@clisp.org>
7479
7480                 Avoid warnings from recent versions of mcs.
7481                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
7482                 -o, -L, -r any more. Use options documented since mcs-1.0
7483                 instead. Similarly for -g.
7484
7485         2005-07-09  Bruno Haible  <bruno@clisp.org>
7486
7487                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
7488                 add a .dll suffix.
7489                 Reported by Mark Junker <mjscod@gmx.de>.
7490
7491         2006-06-17  Bruno Haible  <bruno@clisp.org>
7492
7493                 * config.charset: Update for NetBSD 3.0.
7494
7495         2006-05-17  Bruno Haible  <bruno@clisp.org>
7496
7497                 Cygwin portability.
7498                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
7499
7500         2006-05-16  Bruno Haible  <bruno@clisp.org>
7501
7502                 * localcharset.c [CYGWIN]: Include <windows.h>.
7503                 (get_charset_aliases): For Cygwin, return the same CPxxx
7504                 aliases list as under WIN32.
7505                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
7506                 the environment variables. Fall back to GetACP().
7507
7508         2006-04-05  Bruno Haible  <bruno@clisp.org>
7509
7510                 * config.charset: Update Juan Manuel Guerrero's address.
7511
7512         2005-02-12  Bruno Haible  <bruno@clisp.org>
7513
7514                 * allocsa.h: Add extern "C" for C++.
7515
7516         2005-02-10  Bruno Haible  <bruno@clisp.org>
7517
7518                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
7519                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
7520
7521         2006-07-22  Bruno Haible  <bruno@clisp.org>
7522
7523                 * gettext.h: Update to GNU gettext-0.15.
7524
7525 2006-07-22  Bruno Haible  <bruno@clisp.org>
7526
7527         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
7528         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
7529         lib-prefix.m4, longdouble.m4, ssize_t.m4.
7530
7531 2006-07-21  Eric Blake  <ebb9@byu.net>
7532
7533         * modules/stdlib-safer: New file.
7534         * MODULES.html.sh (File stream based Input/Output): Add
7535         stdlib-safer.
7536
7537 2006-07-21  Eric Blake  <ebb9@byu.net>
7538
7539         * lib/stdlib-safer.h: New file from coreutils, required by
7540         stdlib--.h.
7541
7542 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
7543
7544         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
7545
7546 2006-07-20  Bruno Haible  <bruno@clisp.org>
7547
7548         * gnulib-tool: Recognize new option --assume-autoconf.
7549         (autoconf_minversion): New variable.
7550         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
7551
7552 2006-07-20  Bruno Haible  <bruno@clisp.org>
7553
7554         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
7555
7556 2006-07-19  Derek R. Price  <derek@ximbiot.com>
7557
7558         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
7559         Reindent and repaginate.
7560
7561 2006-07-19  Derek Price  <derek@ximbiot.com>
7562
7563         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
7564         Correct grammar.
7565
7566 2006-07-17  Bruno Haible  <bruno@clisp.org>
7567
7568         * modules/list: New file.
7569         * modules/array-list: New file.
7570         * modules/carray-list, modules/carray-list-tests: New files.
7571         * modules/linked-list, modules/linked-list-tests: New files.
7572         * modules/avltree-list, modules/avltree-list-tests: New files.
7573         * modules/rbtree-list, modules/rbtree-list-tests: New files.
7574         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
7575         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
7576         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
7577         * modules/oset: New file.
7578         * modules/array-oset: New file.
7579         * modules/avltree-oset, modules/avltree-oset-tests: New files.
7580         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
7581         * tests/test-carray_list.c: New file.
7582         * tests/test-linked_list.c: New file.
7583         * tests/test-avltree_list.c: New file.
7584         * tests/test-rbtree_list.c: New file.
7585         * tests/test-linkedhash_list.c: New file.
7586         * tests/test-avltreehash_list.c: New file.
7587         * tests/test-rbtreehash_list.c: New file.
7588         * tests/test-avltree_oset.c: New file.
7589         * tests/test-rbtree_oset.c: New file.
7590         * MODULES.html.sh (Container data structures): New section.
7591
7592 2006-07-17  Bruno Haible  <bruno@clisp.org>
7593
7594         * m4/gl_list.m4: New file.
7595
7596 2006-07-17  Bruno Haible  <bruno@clisp.org>
7597
7598         * lib/gl_list.h: New file.
7599         * lib/gl_list.c: New file.
7600         * lib/gl_array_list.h: New file.
7601         * lib/gl_array_list.c: New file.
7602         * lib/gl_carray_list.h: New file.
7603         * lib/gl_carray_list.c: New file.
7604         * lib/gl_linked_list.h: New file.
7605         * lib/gl_linked_list.c: New file.
7606         * lib/gl_anylinked_list1.h: New file.
7607         * lib/gl_anylinked_list2.h: New file.
7608         * lib/gl_avltree_list.h: New file.
7609         * lib/gl_avltree_list.c: New file.
7610         * lib/gl_anyavltree_list1.h: New file.
7611         * lib/gl_anyavltree_list2.h: New file.
7612         * lib/gl_rbtree_list.h: New file.
7613         * lib/gl_rbtree_list.c: New file.
7614         * lib/gl_anyrbtree_list1.h: New file.
7615         * lib/gl_anyrbtree_list2.h: New file.
7616         * lib/gl_anytree_list1.h: New file.
7617         * lib/gl_anytree_list2.h: New file.
7618         * lib/gl_linkedhash_list.h: New file.
7619         * lib/gl_linkedhash_list.c: New file.
7620         * lib/gl_anyhash_list1.h: New file.
7621         * lib/gl_anyhash_list2.h: New file.
7622         * lib/gl_avltreehash_list.h: New file.
7623         * lib/gl_avltreehash_list.c: New file.
7624         * lib/gl_rbtreehash_list.h: New file.
7625         * lib/gl_rbtreehash_list.c: New file.
7626         * lib/gl_anytreehash_list1.h: New file.
7627         * lib/gl_anytreehash_list2.h: New file.
7628
7629         * lib/gl_oset.h: New file.
7630         * lib/gl_oset.c: New file.
7631         * lib/gl_array_oset.h: New file.
7632         * lib/gl_array_oset.c: New file.
7633         * lib/gl_avltree_oset.h: New file.
7634         * lib/gl_avltree_oset.c: New file.
7635         * lib/gl_rbtree_oset.h: New file.
7636         * lib/gl_rbtree_oset.c: New file.
7637         * lib/gl_anytree_oset.h: New file.
7638
7639 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7640
7641         * m4/mkancesdirs.m4: New file.
7642         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
7643         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
7644         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
7645         it.
7646
7647 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7648
7649         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
7650         * lib/mkancesdirs.h: New files.
7651         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
7652         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
7653         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
7654         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
7655         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
7656         callers changed.  Revamp internals significantly, by not
7657         attempting to create directories that are temporarily more
7658         permissive than the final results.  Do not attempt to use
7659         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
7660         This removes some race conditions, fixes some bugs, and simplifies
7661         things.  Use new dirchownmod function to do owner and mode changes.
7662         * lib/mkdir-p.h: Likewise.
7663         * lib/modechange.c (octal_to_mode): New function.
7664         (struct mode_change): New member mentioned.
7665         (make_node_op_equals): New arg mentioned.  All callers changed.
7666         (mode_compile): Keep track of which mode bits the user has explicitly
7667         mentioned.
7668         (mode_adjust): New arg DIR, so that we implement the X op correctly.
7669         New arg PMODE_BITS, to keep track of which mode bits the user
7670         mentioned; it treats S_ISUID and S_ISGID speciall.
7671         All callers changed.
7672         * lib/modechange.h: Likewise.
7673
7674 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7675
7676         * MODULES.html.sh: Add mkancestors.
7677         * modules/mkancesdirs: New module.
7678         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
7679         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
7680         The chdir-safer and afs files are now orphans; I'll remove them
7681         unless someone speaks up.
7682         Add lib/dirchownmod.c, lib/dirchownmod.h.
7683         (Depends-on): Remove alloca, chown, save-cwd, dirname.
7684         Add lchown, mkancesdirs.
7685         (Maintainer): Add self.
7686
7687 2006-07-15  Karl Berry  <karl@gnu.org>
7688
7689         * gnulib-tool: help message wording/arrangement.
7690
7691 2006-07-14  Simon Josefsson  <jas@extundo.com>
7692
7693         * doc/gnulib.texi (Libtool and Windows): New section.
7694
7695 2006-07-12  Simon Josefsson  <jas@extundo.com>
7696
7697         * modules/gendocs (License): Fix license, approved by Karl.
7698
7699 2006-07-12  Eric Blake  <ebb9@byu.net>
7700
7701         * MODULES.html.sh: Add gendocs.
7702
7703 2006-07-11  Eric Blake  <ebb9@byu.net>
7704
7705         * modules/fdl: New module, to install doc/fdl.texi.
7706         * MODULES.html.sh: Add new section for documentation modules.
7707         * gnulib-tool: Avoid space-tab.
7708         (--doc-base): New option, to manage files from doc.
7709
7710 2006-07-11  Eric Blake  <ebb9@byu.net>
7711
7712         * m4/absolute-header.m4: Fix comments to match recent change.
7713
7714 2006-07-11  Eric Blake  <ebb9@byu.net>
7715
7716         * gnulib-tool: List --doc-base before --tests-base.
7717
7718 2006-07-11  Derek R. Price  <derek@ximbiot.com>
7719
7720         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
7721
7722 2006-07-11  Bruno Haible  <bruno@clisp.org>
7723
7724         * README: Mention where to put documentation.
7725
7726 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7727
7728         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
7729
7730 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
7731
7732         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
7733         to stdint.m4.
7734
7735 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
7736
7737         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
7738         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
7739         "no/such/file/stdint.h" when there is no such file, so that
7740         the resulting C code can be parsed by dodgy compilers.
7741         Problems reported by Bob Proulx.
7742
7743 2006-07-10  Derek R. Price  <derek@ximbiot.com>
7744
7745         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
7746         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
7747         macros into the GNU _D_EXACT_NAMLEN.
7748         * lib/savedir.c:  Likewise.
7749         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
7750
7751 2006-07-10  Derek R. Price  <derek@ximbiot.com>
7752         and Paul Eggert  <eggert@cs.ucla.edu>
7753
7754         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
7755         * m4/savedir.m4:
7756         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
7757         macros into the GNU _D_EXACT_NAMLEN.
7758
7759 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
7760
7761         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
7762         around the absolute name, to work around a problem with the HP-UX
7763         11.23 native C compiler, reported by Bob Proulx.
7764
7765 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
7766
7767         * doc/maintain.texi, make-stds.texi: Sync from
7768         <http://savannah.gnu.org/projects/gnustandards>.
7769
7770 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
7771
7772         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
7773
7774 2006-07-09  Jim Meyering  <jim@meyering.net>
7775
7776         * m4/glob.m4: Remove a doubled word in a comment.
7777
7778 2006-07-09  Jim Meyering  <jim@meyering.net>
7779
7780         * lib/argp-pv.c: Remove a doubled word in a comment.
7781         * lib/check-version.c (check_version): Likewise.
7782         * lib/javacomp.c (compile_java_class): Likewise.
7783
7784 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
7785
7786         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
7787         for the benefit of people using Autoconf 2.60.  If you want to
7788         support older Autoconf versions you can copy m4/onceonly_2_57.m4
7789         (or m4/onceonly.m4, if pre-2.57) manually.
7790
7791 2006-07-08  Jim Meyering  <jim@meyering.net>
7792
7793         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
7794         comment.
7795         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
7796         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
7797         comment.
7798
7799 2006-07-08  Jim Meyering  <jim@meyering.net>
7800
7801         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
7802
7803 2006-07-07  Simon Josefsson  <jas@extundo.com>
7804
7805         * tests/test-crc.c: Change expected crc value, the test vector
7806         were probably computed using the old broken crc.c?
7807
7808 2006-07-06  Simon Josefsson  <jas@extundo.com>
7809
7810         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
7811         now the canonical place for the M4 file).
7812
7813         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
7814         from the sys_socket dependency now.
7815
7816         * modules/inet_pton (Files): Ditto.
7817
7818         * modules/inet_ntop (Files): Ditto.
7819
7820 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
7821
7822         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
7823         not gl_PREREQ_GETUSERSHELL.
7824
7825 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7826
7827         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
7828         with only one argument, for Autoconf 2.60.
7829         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
7830         expand to nothing, so add a shell command to avoid syntax error.
7831         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7832
7833 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7834
7835         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
7836
7837 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7838
7839         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
7840         no longer needed.  Check for isblank decl.
7841         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
7842         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
7843         of existence.
7844
7845 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7846
7847         * lib/getloadavg.c: Use __VMS, not VMS.
7848         * lib/getopt.c: Likewise.
7849         * lib/getpagesize.h: Likewise.
7850         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
7851         and probably does not work.
7852
7853 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7854
7855         * lib/.cppi-disable: Add wcwidth.
7856         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
7857         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
7858         (ISGRAPH): Remove.  All uses changed to isgraph.
7859         (FOLD) [!defined _LIBC]: Remove special case.
7860         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
7861         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
7862         HAVE_ISBLANK.
7863         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
7864         case.
7865
7866 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
7867
7868         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
7869         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
7870         brackets.  Other minor changes to suppress some compiler
7871         warnings.
7872
7873 2006-07-06  Derek R. Price  <derek@ximbiot.com>
7874         and Paul Eggert  <eggert@cs.ucla.edu>
7875
7876         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
7877         of invoking obsolescent AC_HEADER_DIRENT macro.
7878         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
7879         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
7880         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7881         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
7882         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
7883         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7884         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
7885         * m4/readdir.m4: Remove; no longer needed.
7886
7887 2006-07-06  Derek R. Price  <derek@ximbiot.com>
7888         and Paul Eggert  <eggert@cs.ucla.edu>
7889
7890         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
7891         Don't worry about this obsolete case any more.
7892         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
7893         directories.
7894         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
7895         worry about this obsolete case any more.
7896         * lib/fts.c: Likewise.
7897         * lib/getcwd.c: Likewise.
7898         * lib/glob.h: Likewise.
7899         * lib/savedir.c: Likewise.
7900
7901 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7902
7903         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
7904         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
7905         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
7906         needed.
7907         All uses removed.
7908         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
7909         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
7910         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
7911         needed.
7912         * m4/getdate.m4 (gl_GETDATE): Likewise.
7913         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
7914         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
7915         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7916         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
7917         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
7918         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
7919         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
7920         needed.
7921
7922 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7923
7924         * lib/memcasecmp.c: Include <limits.h>.
7925         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
7926         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
7927         Don't assume isdigit succeeds only on '0' through '9'.
7928
7929 2006-07-05  Eric Blake  <ebb9@byu.net>
7930
7931         * modules/getaddrinfo (Depends-on): Add snprintf.
7932
7933 2006-07-05  Eric Blake  <ebb9@byu.net>
7934
7935         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
7936         to avoid 'header present but could not be compiled' on cygwin.
7937
7938 2006-07-05  Eric Blake  <ebb9@byu.net>
7939
7940         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
7941         missing from netdb.h.
7942         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
7943
7944 2006-07-05  Derek R. Price  <derek@ximbiot.com>
7945
7946         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
7947         no longer needed.
7948         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
7949         * m4/getdate.m4 (gl_GETDATE): Likewise.
7950         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
7951         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
7952         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7953         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
7954         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
7955
7956 2006-07-05  Derek R. Price  <derek@ximbiot.com>
7957
7958         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
7959         All uses of is_space replaced by isspace.
7960         * lib/exit.h: Don't talk about STDC_HEADERS.
7961         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
7962         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
7963         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
7964         replaced by isprint etc.
7965         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
7966         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
7967         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
7968         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
7969         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
7970         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
7971
7972 2006-07-05  Bruno Haible  <bruno@clisp.org>
7973
7974         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
7975         the function exists, before testing against AIX.
7976         Reported by Martin Lambers <marlam@marlam.de>.
7977
7978 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
7979
7980         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
7981         From Mark D. Baushke.
7982
7983 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
7984
7985         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
7986         to the absolute name, not just one, to bypass Sun C 5.8's
7987         "warning: #include of /usr/include/... may be non-portable".
7988
7989 2006-07-04  Eric Blake  <ebb9@byu.net>
7990
7991         * modules/dirname-tests: New test module.
7992         * tests/test-dirname.c: New file, replacing dirname.c
7993         TEST_DIRNAME section that was recently deleted.
7994
7995 2006-07-04  Bruno Haible  <bruno@clisp.org>
7996
7997         Assume ANSI C header files and <ctype.h> functions.
7998         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
7999         (mbsnwidth): Use isprint, iscntrl instead.
8000
8001 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8002
8003         Merge from coreutils.
8004         * MODULES.html.sh: Add xstrtold.
8005         * modules/xstrtold: New file.
8006         * modules/cycle-check (Files): Add lib/same-inode.h.
8007         * modules/dirname (Files): Add m4/double-slash-root.m4.
8008         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
8009         * modules/mkdir-p (Files): Add lib/same-inode.h.
8010         * modules/same (Files): Add lib/same-inode.h.
8011
8012 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8013
8014         * m4/absolute-header.m4: Renamed from full-header-path.m4.
8015         This is to keep the terminology clean; POSIX talks about
8016         "absolute pathnames", not "full pathnames", but the GNU
8017         Coding Standards say to use "path" for something else;
8018         so use "absolute" to keep both sides happy.
8019         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
8020         Set gl_absolute_header, not gl_full_header_path.
8021         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
8022         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
8023         All uses changed.
8024
8025         Merge from coreutils.
8026
8027         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8028
8029         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
8030         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
8031         want to require the building of c-strtod.o.
8032         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
8033         needs -lm directly.
8034         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
8035
8036         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8037
8038         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
8039         --as-needed option if available.  Problem reported by Albert Chin in
8040         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
8041         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
8042         cc merely issues a bunch of annoying warnings for --as-needed
8043         (this problem was reported by Bob Proulx).  Also, try linking with
8044         -lm to detect a bug in binutils 2.16 (this problem was reported
8045         by Ralf Wildenhues).
8046
8047         2006-06-18  Jim Meyering  <jim@meyering.net>
8048
8049         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
8050         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
8051         macro.
8052         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
8053         also check for glibc-2.4's abort-inducing bug.
8054
8055         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
8056         Low-probability clean-up should be to use rmdir to get rid of
8057         the just-created directory, not unlink.
8058
8059         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
8060         configure fail, and request a bug report to inform us about it.
8061         Add a comment that, barring reports to the contrary, in 2007 we'll
8062         assume ftruncate is universally available.
8063
8064         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8065
8066         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
8067
8068         2006-03-12  Jim Meyering  <jim@meyering.net>
8069
8070         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
8071         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
8072         * m4/same.m4 (gl_SAME): Likewise.
8073         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
8074
8075         2006-03-11  Eric Blake  <ebb9@byu.net>
8076
8077         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
8078         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
8079         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
8080         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
8081
8082 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
8083
8084         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
8085         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
8086         reported by Mark D. Baushke, one in
8087         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
8088
8089         Merge from coreutils.
8090
8091         * lib/.cppi-disable: Add stdint_.h.
8092         * lib/.cvsignore: Add stdint.h.
8093
8094         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
8095
8096         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
8097         both double and long double versions.
8098         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
8099         * lib/xstrtold.c: New file.
8100         * lib/xstrtod.h (xstrtold): New decl.
8101
8102         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
8103
8104         * lib/filemode.c (setst): Remove.
8105         (strmode): Rewrite to avoid setst.  This makes the code shorter,
8106         (arguably) clearer, and the generated code is a bit smaller on my
8107         Debian GNU/Linux stable x86 host.
8108
8109         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
8110
8111         * lib/filemode.c: Include "filemode.h" first, to test the interface.
8112         Assume that filemode.h includes sys/types.h and sys/stat.h.
8113         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
8114         (ftypelet): Reorder to put common cases first, for efficiency.
8115         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
8116         to do 'M'.
8117         (strmode): Renamed from mode_string, and now stores 12 bytes instead
8118         of 10, for compatibility with FreeBSD.  All callers changed.
8119         (filemodestring): Now stores 12 bytes instead of 10, and sets file
8120         types that can't be deduced solely from st_mode.  First arg is now a
8121         const pointer.
8122         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
8123         (strmode): Renamed from mode_string.
8124         (filemodestring): New decl.
8125         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
8126         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
8127         needed.
8128         (S_ISPORT, S_ISWHT): New macros, if not already defined.
8129
8130         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8131
8132         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
8133         fsusage.h now does that.  Include fsusage.h first, to test interface.
8134         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
8135         at most one method (the old code could have generated decls that
8136         didn't conform to C89, not that this was ever exercised).
8137         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
8138
8139         2006-03-19  Jim Meyering  <jim@meyering.net>
8140
8141         Work even in a chroot where d_ino values for entries in "/"
8142         don't match the stat.st_ino values for the same names.
8143         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
8144         number, iterate through all entries again, using lstat instead.
8145         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
8146         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
8147
8148         * lib/getcwd.c (__getcwd): Clarify a comment.
8149         Use memcpy in place of a call to strcpy.
8150
8151         2006-03-12  Jim Meyering  <jim@meyering.net>
8152
8153         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
8154         matches that of the current directory (which we're about to chdir ".."
8155         out of), then save the dev-ino of the parent, instead.
8156
8157         * lib/same-inode.h (SAME_INODE): New file/macro.
8158         * lib/chdir-safer.c (SAME_INODE): Remove definition.
8159         Include "same-inode.h", instead.
8160         * lib/same.c: Likewise.
8161         * lib/cycle-check.h: Include "same-inode.h".
8162         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
8163         * lib/cycle-check.c (SAME_INODE): Remove definition.
8164         * lib/root-dev-ino.h: Include "same-inode.h".
8165
8166         2006-03-11  Eric Blake  <ebb9@byu.net>
8167
8168         * lib/same.c (same_name): s/base_name/last_component/
8169         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
8170         * lib/filenamecat.c (file_name_concat): Likewise.
8171
8172         2006-03-11  Eric Blake  <ebb9@byu.net>,
8173                     Paul Eggert  <eggert@cs.ucla.edu>
8174
8175         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
8176         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
8177         drive prefix.
8178         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
8179         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
8180         (last_component): New method.
8181         * lib/dirname.c (dir_len): Determine when drive letters need a
8182         subsequent slash.  Preserve // when it is special.
8183         (dir_name): Don't append dot when drive letter is absolute.
8184         [TEST_DIRNAME]: Move into a full-blown gnulib test.
8185         * lib/basename.c (base_name): New semantics - malloc the result.
8186         Preserve // when it is special.  Preserve relative files that look
8187         like drive letters.
8188         (base_len): Preserve // when it is special.
8189         (last_component): New method, similar to old base_name semantics.
8190         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
8191         base_name.  Strip redundant slashes from ///.
8192
8193 2006-07-03  Jim Meyering  <jim@meyering.net>
8194
8195         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
8196         macro is used before the first cycle_check call.
8197
8198 2006-07-03  Eric Blake  <ebb9@byu.net>
8199
8200         * modules/dirname (Depends-on): Add xstrndup.
8201
8202 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8203
8204         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
8205         test cases, so that config.log is a bit easier to follow.
8206
8207 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
8208
8209         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
8210         both are 64 bits, since this seems to be the tradition, and this
8211         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
8212         we ever run into a host that prefers long long to long in this
8213         case, we'll need another configure-time test.  Problem reported by
8214         Jim Meyering.
8215
8216 2006-07-02  Eric Blake  <ebb9@byu.net>
8217
8218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
8219
8220 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8221
8222         * modules/inttypes (Depends-on): No longer depends on stdint.
8223         * modules/stdint (Description): Say more about assumptions.
8224         Say that the fast types might differ.  Say macros are used.
8225         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
8226         (Makefile.am): Revise list of substituted symbols to match
8227         new stdint.m4.
8228         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
8229         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
8230         * tests/test-stdint.c (verify_same_types)
8231         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
8232         the code conforms to C99/C89.
8233         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
8234         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
8235
8236 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8237
8238         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
8239         but fix a bug, by requiring at least 64 bits.
8240         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
8241         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
8242         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
8243         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
8244
8245         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
8246         changes.  Make 2.59 a prerequisite.  Check and substitute for
8247         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
8248         inttypes.h.  Do not use special include files; just use the
8249         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
8250         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
8251         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
8252         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
8253         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
8254         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
8255         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
8256         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
8257         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
8258         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
8259         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
8260         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
8261         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
8262         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
8263         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
8264         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
8265         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
8266         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
8267         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
8268         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
8269         WINT_MAX.  Check for C99 conformance more strictly, by detecting
8270         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
8271         not check for things that C99 does not require, e.g., int8_t.  If
8272         a test isn't needed unless <stdint.h> isn't working, and is
8273         unlikely to be needed for any other reason, then don't do it
8274         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
8275         size_t, since we assume C89 freestanding at least.  Do not check
8276         for sig_atomic_t, wchar_t, or wint_t, since the code now does
8277         the right thing even if the types are not defined.  Instead use:
8278         (gl_STDINT_TYPE_PROPERTIES): New macro.
8279         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
8280         testing whether <sys/types.h> clashes, as Autoconf does this for
8281         us now.  All uses removed.
8282         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
8283         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
8284         (gl_CHECK_TYPE_SAME):
8285         Remove; no longer needed.
8286         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
8287         exists, since we'll return 0 anyway in that case.
8288         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
8289
8290 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
8291
8292         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
8293         possible collision with system files.
8294         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
8295         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
8296         WCHAR_MIN and WCHAR_MAX in this case.
8297         (<stddef.h>): Do not include; no longer needed.
8298         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
8299         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
8300         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
8301         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
8302         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
8303         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
8304         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
8305         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
8306         !defined(__c99))]: Include in this case too, since it's harmless
8307         now.
8308         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
8309         dangerous to do so.
8310         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
8311         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
8312         (_STDINT_MIN, _STDINT_MAX): New macros.
8313         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
8314         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
8315         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
8316         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
8317         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
8318         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
8319         macros, not typedefs; this simplifies things quite a bit.
8320         Use long int for all types narrower than int64_t.
8321         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
8322         Define in terms of long long int or int64_t or long int,
8323         not int64_t or int32_t.  This saves some compile-time testing.
8324         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
8325         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
8326         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
8327         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
8328         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
8329         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
8330         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
8331         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
8332         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
8333         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
8334         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
8335         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
8336         undef any previous version and define our own version, for
8337         simplicity and consistency with the new macros for types.
8338         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
8339         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
8340         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
8341         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
8342         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
8343         @WINT_T_SUFFIX@ to keep things simple here.
8344         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
8345         Simplify by assuming typical 8/16/32/64 host, since we're
8346         already doing that elsewhere anyway.
8347         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
8348         and assume long long int is 64 bits if available.  This
8349         speeds up 'configure'.
8350
8351 2006-07-01  Eric Blake  <ebb9@byu.net>
8352
8353         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
8354         Reported by Andreas Buening.
8355
8356 2006-07-01  Eric Blake  <ebb9@byu.net>
8357
8358         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
8359
8360 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
8361
8362         * lib/getaddrinfo.c: fixed typo
8363
8364 2006-06-29  Jim Meyering  <jim@meyering.net>
8365
8366         * modules/strftime (Maintainer): Add my name, since with the
8367         FPRINTFTIME changes strftime.c has forked from glibc.
8368
8369 2006-06-29  Eric Blake  <ebb9@byu.net>
8370
8371         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
8372
8373 2006-06-29  Eric Blake  <ebb9@byu.net>
8374
8375         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
8376
8377 2006-06-29  Eric Blake  <ebb9@byu.net>
8378
8379         * lib/stat_.h: New file.
8380
8381 2006-06-29  Eric Blake  <ebb9@byu.net>
8382
8383         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
8384         unused static function.
8385
8386 2006-06-29  Eric Blake  <ebb9@byu.net>
8387
8388         * doc/functions.texi (Function Portability): Document missing lstat
8389         on mingw.
8390
8391 2006-06-29  Eric Blake  <ebb9@byu.net>
8392
8393         * MODULES.html.sh: Add sys_stat.
8394         * modules/sys_stat: New module.
8395         * modules/mkstemp (Depends-on): Add sys_stat.
8396
8397 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8398
8399         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
8400
8401 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8402
8403         * m4/c-bs-a.m4: Removed.
8404
8405 2006-06-29  Derek R. Price  <derek@ximbiot.com>
8406
8407         * lib/strftime.c: Assume strftime() exists.
8408
8409 2006-06-29  Derek Price  <derek@ximbiot.com>
8410
8411         * modules/c-bs-a: Removed - \a is C89.
8412         * MODULES.html.sh: Remove c-bs-a.
8413
8414 2006-06-29  Bruno Haible  <bruno@clisp.org>
8415
8416         * modules/wcwidth (License): Change to LGPL.
8417
8418 2006-06-28  Simon Josefsson  <jas@extundo.com>
8419
8420         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
8421         on _WIN32.
8422
8423         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
8424         getnameinfo.
8425
8426 2006-06-28  Simon Josefsson  <jas@extundo.com>
8427
8428         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
8429
8430 2006-06-28  Simon Josefsson  <jas@extundo.com>
8431
8432         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
8433         functions there.  It will succeed on Windows XP, but on Windows
8434         2000 and (presumably) earlier, it will fail, and use the internal
8435         re-implementation.
8436         (use_win32_p): New function.
8437         (getaddrinfo): Use strtoul on servname, to support numeric ports.
8438         Support AI_NUMERICSERV to disable getservbyname.
8439         (getnameinfo): New function, only supports
8440         NI_NUMERICHOST|NI_NUMERICSERV for now.
8441
8442         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
8443         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
8444         getnameinfo.
8445
8446 2006-06-28  Eric Blake  <ebb9@byu.net>
8447
8448         * modules/wcwidth: New file.
8449         * modules/mbchar (Depends-on): Add wcwidth.
8450         * modules/mbswidth (Depends-on): Add wcwidth.
8451         * MODULES.html.sh: Add wcwidth.
8452
8453 2006-06-28  Eric Blake  <ebb9@byu.net>
8454
8455         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
8456         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
8457
8458 2006-06-28  Eric Blake  <ebb9@byu.net>
8459
8460         * lib/xvasprintf.h: Fix comments.
8461
8462 2006-06-28  Eric Blake  <ebb9@byu.net>
8463
8464         * lib/mbchar.h (wcwidth): Include wcwidth.h.
8465         * lib/mbswidth.c (wcwidth): Move from here...
8466         * lib/wcwidth.h: ...to this new file.
8467
8468 2006-06-28  Derek R. Price  <derek@ximbiot.com>
8469
8470         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
8471
8472         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
8473         it's obsolete.
8474         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
8475
8476 2006-06-28  Derek R. Price  <derek@ximbiot.com>
8477
8478         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
8479         Autoconf 2.60 says this stuff was obsolete.
8480
8481 2006-06-28  Bruno Haible  <bruno@clisp.org>
8482
8483         * modules/wcwidth (Files): Add m4/wchar_t.m4.
8484
8485 2006-06-28  Bruno Haible  <bruno@clisp.org>
8486
8487         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
8488         gt_TYPE_WCHAR_T.
8489
8490 2006-06-28  Bruno Haible  <bruno@clisp.org>
8491
8492         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
8493         declaration for wcwidth.
8494         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
8495
8496 2006-06-28  Bruno Haible  <bruno@clisp.org>
8497
8498         * lib/mkdtemp.c [MINGW]: Include <io.h>.
8499         (mkdir): Define using _mkdir.
8500
8501 2006-06-28  Bruno Haible  <bruno@clisp.org>
8502
8503         * lib/getaddrinfo.h: Fix POSIX URL.
8504         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
8505         _WIN32.
8506         (use_win32_p): Make static.
8507         (getaddrinfo): Reject service name if it is empty or does not consist
8508         solely of decimal digits, or if its value is > 65535.
8509         (getnameinfo): Remove useless casts.
8510
8511 2006-06-27  Simon Josefsson  <jas@extundo.com>
8512
8513         * modules/sys_select: New file, suggested by Bruno Haible, Paul
8514         Eggert and Martin Lambers.
8515
8516 2006-06-27  Simon Josefsson  <jas@extundo.com>
8517
8518         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
8519         Eggert and Martin Lambers.
8520
8521 2006-06-27  Bruno Haible  <bruno@clisp.org>
8522
8523         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
8524         result to 0, not to empty.
8525         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
8526
8527 2006-06-27  Bruno Haible  <bruno@clisp.org>
8528
8529         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
8530
8531 2006-06-26  Simon Josefsson  <jas@extundo.com>
8532
8533         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
8534         present.
8535
8536 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
8537
8538         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
8539         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
8540         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
8541
8542 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
8543
8544         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
8545
8546 2006-06-26  Bruno Haible  <bruno@clisp.org>
8547
8548         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
8549
8550 2006-06-26  Bruno Haible  <bruno@clisp.org>
8551
8552         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
8553
8554 2006-06-26  Bruno Haible  <bruno@clisp.org>
8555
8556         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
8557         SGI C compiler in pre-C99 mode.
8558         Suggested by Mark D. Baushke and Larry Jones.
8559
8560 2006-06-26  Bruno Haible  <bruno@clisp.org>
8561
8562         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
8563         WCHAR_MAX.
8564         Reported by Mark D. Baushke and Larry Jones.
8565
8566 2006-06-26  Bruno Haible  <bruno@clisp.org>
8567
8568         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
8569         in pre-C99 mode.
8570         Suggested by Mark D. Baushke and Larry Jones.
8571
8572 2006-06-23  Simon Josefsson  <jas@extundo.com>
8573             Bruno Haible  <bruno@clisp.org>
8574
8575         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
8576         Emit mostlyclean-local rule.
8577         (func_emit_tests_Makefile_am): Likewise.
8578         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
8579
8580 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
8581
8582         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
8583
8584 2006-06-23  Bruno Haible  <bruno@clisp.org>
8585
8586         * tests/test-stdint.c: Update to match ISO C 99 Technical
8587         Corrigendum 1.
8588
8589 2006-06-23  Bruno Haible  <bruno@clisp.org>
8590
8591         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
8592
8593 2006-06-23  Bruno Haible  <bruno@clisp.org>
8594
8595         * lib/stdint_.h: Treat IRIX like OpenBSD.
8596
8597 2006-06-23  Bruno Haible  <bruno@clisp.org>
8598
8599         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
8600         ISO C 99 Technical Corrigendum 1.
8601
8602 2006-06-22  Simon Josefsson  <jas@extundo.com>
8603
8604         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
8605         MinGW.
8606
8607 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
8608
8609         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
8610         needed.  Some compiler complained about some of them.  Problem reported
8611         by Larry Jones in
8612         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
8613
8614 2006-06-21  Simon Josefsson  <jas@extundo.com>
8615
8616         * tests/test-getaddrinfo.c: New file.
8617
8618         * modules/getaddrinfo-tests: New file.
8619
8620         * MODULES.html.sh: Add inet_pton.
8621
8622         * modules/inet_pton: New file.
8623
8624 2006-06-21  Simon Josefsson  <jas@extundo.com>
8625
8626         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
8627         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
8628         of using the (limited) gnulib implementation on Windows XP.
8629
8630         * m4/inet_pton.m4: New file.
8631
8632 2006-06-21  Simon Josefsson  <jas@extundo.com>
8633
8634         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
8635         variable.
8636
8637         * lib/socket_.h: Don't define WINVER.
8638
8639         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
8640         slightly modified to work in gnulib.
8641
8642 2006-06-21  Simon Josefsson  <jas@extundo.com>
8643
8644         * doc/gnulib.texi (Windows sockets): Add.
8645
8646 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
8647
8648         * lib/read-file.c (fread_file): Start with buffer allocation of
8649         0 bytes rather than 1 byte; this simplifies the code.
8650         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
8651         code to free buffer and save/restore errno.
8652         (internal_read_file): Remove unused local.
8653
8654 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8655
8656         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
8657         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
8658         Problem reported by Denis Excoffier in
8659         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
8660
8661 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8662
8663         * modules/sys_socket, modules/socklen: Include sys/types since
8664         FreeBSD 4.x's sys/socket.h needs it.
8665
8666 2006-06-19  Simon Josefsson  <jas@extundo.com>
8667
8668         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
8669
8670 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8671
8672         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
8673
8674 2006-06-19  Bruno Haible  <bruno@clisp.org>
8675
8676         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
8677         and FULL_PATH_INTTYPES_H in angle brackets.
8678         Reported by Mark D. Baushke <mdb@gnu.org>.
8679
8680 2006-06-17  Eric Blake  <ebb9@byu.net>
8681
8682         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
8683         errno.
8684
8685 2006-06-17  Bruno Haible  <bruno@clisp.org>
8686
8687         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
8688         <sys/inttypes.h>.
8689
8690 2006-06-17  Bruno Haible  <bruno@clisp.org>
8691
8692         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
8693         whether errno is declared. Assume <errno.h> declares errno.
8694
8695 2006-06-17  Bruno Haible  <bruno@clisp.org>
8696
8697         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
8698
8699 2006-06-17  Bruno Haible  <bruno@clisp.org>
8700
8701         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
8702         problem on Solaris 2.5.1.
8703
8704 2006-06-16  Eric Blake  <ebb9@byu.net>
8705
8706         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
8707         * lib/unicodeio.c [!defined errno]: Likewise.
8708         * lib/strtol.c [!defined errno]: Likewise.
8709         * lib/strtod.c [!defined errno]: Likewise.
8710
8711 2006-06-15  Eric Blake  <ebb9@byu.net>
8712
8713         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
8714
8715 2006-06-15  Eric Blake  <ebb9@byu.net>
8716
8717         * config/srclist.txt (ssize_t.m4): Lose sync.
8718
8719 2006-06-15  Bruno Haible  <bruno@clisp.org>
8720
8721         * modules/stdint (Files): Include m4/full-header-path.m4,
8722         m4/size_max.m4, m4/wchar_t.m4.
8723         (Makefile.am): Many more substitutions.
8724         * modules/stdint-tests: New file.
8725         * tests/test-stdint.c: New file.
8726
8727 2006-06-15  Bruno Haible  <bruno@clisp.org>
8728
8729         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
8730         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
8731         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
8732         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
8733         gl_CHECK_TYPE_SAME): New macros.
8734
8735 2006-06-15  Bruno Haible  <bruno@clisp.org>
8736
8737         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
8738
8739 2006-06-15  Bruno Haible  <bruno@clisp.org>
8740
8741         * lib/stdint_.h: Rewritten to be fully auto-configured.
8742         Fixes bug on HP-UX/IA64.
8743
8744 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
8745
8746         * lib/getdate.y (__attribute__): Don't define if already defined.
8747         Problem reported by Larry Jones.
8748         * lib/utimens.c (__attribute__): Likewise.
8749
8750 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
8751
8752         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
8753         reported by Andreas Schwab.
8754
8755 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8756             Bruno Haible  <bruno@clisp.org>
8757
8758         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
8759         check for the declaration of strnlen and a run test that exposes the
8760         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
8761         rpl_strndup.
8762
8763 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8764             Bruno Haible  <bruno@clisp.org>
8765
8766         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
8767
8768 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8769
8770         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
8771         compile test, for Tru64 4.0D.
8772
8773 2006-05-28  Karl Berry  <karl@gnu.org>
8774
8775         * config/srclist.txt (printf-args.c): lose sync.
8776
8777 2006-05-26  Martin Lambers  <marlam@marlam.de>
8778
8779         * lib/getpass.c: Updates the test for the native W32 API, and adds
8780         missing includes, thus fixing compilation warnings.
8781
8782 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8783
8784         * lib/exclude.c (exclude_fnmatch): New function.
8785         (excluded_file_name): Call exclude_fnmatch.
8786         * lib/exclude.h (excluded_file_name): New prototype
8787
8788 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
8789
8790         * lib/tempname.c (small_open, large_open): New macros.
8791         (__open, __open64) [!_LIBC]: Remove.
8792         (__gen_tempname): Use small_open and large_open instead of __open
8793         and __open64.  This fixes a portability bug on HP-UX 11.11i
8794         reported by Simon Wing-Tang in
8795         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
8796
8797 2006-05-24  Bruno Haible  <bruno@clisp.org>
8798
8799         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
8800         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
8801         Reported by Thorsten Maerz <torte@netztorte.de> via
8802         Aaron Stone <aaron@serendipity.cx>.
8803
8804 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8805
8806         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
8807         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
8808         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
8809         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
8810         not really conditional on the cache.
8811         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
8812
8813 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8814
8815         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
8816         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
8817         (my_usleep): Don't mishandle maximum value.
8818
8819 2006-05-19  Jim Meyering  <jim@meyering.net>
8820
8821         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
8822
8823 2006-05-17  Bruno Haible  <bruno@clisp.org>
8824
8825         Cygwin portability.
8826         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
8827
8828 2006-05-17  Bruno Haible  <bruno@clisp.org>
8829
8830         * lib/stdint_.h: Fix recognition of Cygwin.
8831
8832 2006-05-15  Bruno Haible  <bruno@clisp.org>
8833
8834         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
8835         on libtool patch by Ralf Wildenhues.
8836
8837 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
8838
8839         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
8840         test for C99 conformance; (bool) 0.5 is an integer constant
8841         expression, but (bool) -0.5 is not.  Problem reported by Fedor
8842         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
8843
8844 2006-05-11  Simon Josefsson  <jas@extundo.com>
8845
8846         * m4/xvasprintf.m4: Fix obvious typo.
8847
8848 2006-05-11  Jim Meyering  <jim@meyering.net>
8849
8850         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
8851         James Lemley.
8852
8853 2006-05-10  Simon Josefsson  <jas@extundo.com>
8854
8855         * lib/md4.c: Typo fix, update copyright years.
8856         (K1, K2): Don't use L because it turn computations into 64-bit on
8857         64-bit platforms.
8858
8859 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
8860
8861         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
8862         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
8863         unwanted sign propagation, e.g., on hosts with 64-bit int.
8864         There still are some problems with reeelly weird theoretical hosts
8865         (e.g., 33-bit int) but it's not worth worrying about now.
8866         * lib/sha1.c (rol): Likewise.
8867         (K1, K2, K3, K4): Remove unnecessary L suffix.
8868
8869 2006-05-10  Bruno Haible  <bruno@clisp.org>
8870
8871         * lib/des.c: Cast to avoid warnings.
8872
8873 2006-05-09  Bruno Haible  <bruno@clisp.org>
8874
8875         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
8876         (Depends-on): Depend also on xsize, stdarg.
8877         (configure.ac): Add gl_XVASPRINTF.
8878
8879 2006-05-09  Bruno Haible  <bruno@clisp.org>
8880
8881         * m4/xvasprintf.m4: New file.
8882
8883 2006-05-09  Bruno Haible  <bruno@clisp.org>
8884
8885         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
8886         (EOVERFLOW): Define fallback value.
8887         (xstrcat): New function.
8888         (xvasprintf): Recognize the special case of a string concatenation.
8889
8890 2006-05-08  Eric Blake  <ebb9@byu.net>
8891
8892         * gnulib-tool (func_version): Base copyright year on CVS date.
8893         (func_emit_copyright_notice): New function.
8894         (func_emit_lib_Makefile_am): Use it.
8895         (func_emit_tests_Makefile_am): Likewise.
8896         (func_import): Likewise.
8897
8898 2006-05-08  Bruno Haible  <bruno@clisp.org>
8899
8900         * modules/stdarg: New file.
8901         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
8902
8903 2006-05-08  Bruno Haible  <bruno@clisp.org>
8904
8905         * m4/stdarg.m4: New file, from GNU gettext.
8906
8907 2006-05-08  Bruno Haible  <bruno@clisp.org>
8908
8909         * config/srclist.txt (build-aux/config.rpath): different from latest
8910         release.
8911
8912 2006-05-08  Bruno Haible  <bruno@clisp.org>
8913
8914         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
8915
8916 2006-05-05  Jim Meyering  <jim@meyering.net>
8917
8918         * m4/warning.m4: New file, derived from bison's file by the same name.
8919
8920 2006-05-03  Bruno Haible  <bruno@clisp.org>
8921
8922         * lib/stdint_.h: Shorter URL.
8923         * lib/inttypes.h: Likewise.
8924
8925 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
8926
8927         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
8928
8929 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
8930
8931         * lib/verify.h: Document the internals better.  Most of this change
8932         was written by Bruno Haible.
8933
8934 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
8935
8936         * doc/verify.texi: New file, partly based on a proposal by
8937         Bruno Haible.
8938
8939 2006-05-02  Bruno Haible  <bruno@clisp.org>
8940
8941         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
8942         test from here...
8943         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
8944
8945 2006-04-29  Bruno Haible  <bruno@clisp.org>
8946
8947         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
8948         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
8949
8950 2006-04-29  Bruno Haible  <bruno@clisp.org>
8951
8952         * gnulib-tool: Make --update option actually work.
8953
8954 2006-04-29  Bruno Haible  <bruno@clisp.org>
8955
8956         * doc/gcd.texi: New file.
8957         * doc/gnulib.texi: Include it.
8958
8959 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8960
8961         * lib/getdate.y (get_date): When adding relative date, start with the
8962         initial time, not with the result of the first mktime call.
8963
8964 2006-04-25  Bruno Haible  <bruno@clisp.org>
8965
8966         * gnulib-tool (func_import): Output the include directives in three
8967         blocks, sorted separately.
8968         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8969
8970 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
8971
8972         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
8973         to define main with arguments, for C++.  Reported by Eric Blake.
8974         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
8975         Prefer 'int main ()' to 'int main (void)', for C++.
8976         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8977         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
8978         for 'main', for C99 and C++.
8979
8980 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
8981
8982         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
8983         Don't assume that exit status -1 is valid.
8984         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8985         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
8986         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
8987         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
8988         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
8989         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
8990         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
8991         functions can be used without declaring them, or that you can
8992         exit with status -1.
8993         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
8994
8995 2006-04-24  Karl Berry  <karl@gnu.org>
8996
8997         * config/srclist.txt (longdouble.m4): sync lost.
8998
8999 2006-04-24  Eric Blake  <ebb9@byu.net>
9000
9001         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
9002
9003 2006-04-24  Bruno Haible  <bruno@clisp.org>
9004
9005         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
9006         poll() implementation in AIX.
9007         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9008
9009 2006-04-24  Bruno Haible  <bruno@clisp.org>
9010
9011         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
9012         assigned exactly once.
9013
9014 2006-04-23  Claudio Fontana  <claudio@gnu.org>
9015             Bruno Haible  <bruno@clisp.org>
9016
9017         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
9018         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
9019         for AM_CPPFLAGS.
9020
9021 2006-04-23  Bruno Haible  <bruno@clisp.org>
9022
9023         * modules/copy-file: Depend on unistd.
9024         * modules/execute: Likewise.
9025         * modules/fatal-signal: Likewise.
9026         * modules/findprog: Likewise.
9027         * modules/mkdtemp : Likewise.
9028         * modules/pipe: Likewise.
9029         * modules/wait-process: Likewise.
9030
9031 2006-04-23  Bruno Haible  <bruno@clisp.org>
9032
9033         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
9034         condition was already detected.
9035         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9036
9037 2006-04-23  Bruno Haible  <bruno@clisp.org>
9038
9039         * lib/copy-file.c: Include <unistd.h> unconditionally.
9040         * lib/execute.c: Likewise.
9041         * lib/fatal-signal.c: Likewise.
9042         * lib/findprog.c: Likewise.
9043         * lib/mkdtemp.c: Likewise.
9044         * lib/pipe.h: Likewise.
9045         * lib/pipe.c: Likewise.
9046         * lib/wait-process.h: Likewise.
9047
9048 2006-04-23  Bruno Haible  <bruno@clisp.org>
9049
9050         * gnulib-tool (func_usage): Fix --import description. Document
9051         --update.
9052         (func_import): Create temporary file in a temporary directory, if
9053         --dry-run is specified. Silence errors from 'grep' when there are no
9054         m4 files in $m4dir.
9055         (func_create_testdir): Silence errors from 'grep' when there are no
9056         m4 files in $m4dir.
9057         Reported by Karl Berry <karl@freefriends.org>.
9058
9059 2006-04-20  Bruno Haible  <bruno@clisp.org>
9060
9061         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
9062         one argument, so that the code will be portable to Autoconf 2.60.
9063         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
9064         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
9065         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
9066
9067 2006-04-19  Derek Price  <derek@ximbiot.com>
9068             Eric Blake  <ebb9@byu.net>
9069
9070         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
9071         rather than "/full/path.h".  Update comment to match.  Shorten &
9072         generalize m4_translit call via AS_TR_CPP.
9073
9074 2006-04-19  Derek Price  <derek@ximbiot.com>
9075             Eric Blake  <ebb9@byu.net>
9076
9077         * lib/inttypes.h: Correct grammar in comment.
9078
9079 2006-04-18  Derek Price  <derek@ximbiot.com>
9080             Paul Eggert  <eggert@cs.ucla.edu>
9081
9082         * modules/inttypes: New file.
9083         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
9084
9085 2006-04-18  Derek Price  <derek@ximbiot.com>
9086             Paul Eggert  <eggert@cs.ucla.edu>
9087
9088         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
9089         New files.
9090
9091 2006-04-18  Derek Price  <derek@ximbiot.com>
9092             Paul Eggert  <eggert@cs.ucla.edu>
9093
9094         * lib/inttypes.h: New file.
9095         * lib/strtoimax.c: Assume <inttypes.h>.
9096
9097 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
9098
9099         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
9100         isn't mounted.  Problem reported by Kir Kolyshkin.
9101
9102 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
9103
9104         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
9105         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
9106         Derek R. Price.
9107         * lib/regex.h (RE_DUP_MAX): Update comment to match current
9108         implementation.
9109
9110 2006-04-12  Eric Blake  <ebb9@byu.net>
9111
9112         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
9113         is now done automatically by the corresponding Autoconf macro.
9114
9115 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
9116
9117         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
9118         time_r.h.
9119
9120 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9121
9122         Merge regex changes from libc, removing some of our
9123         POSIX-conformance changes that were rejected and redoing them in a
9124         less-intrusive way.
9125
9126         * lib/regcomp.c (re_compile_internal, init_dfa):
9127         Length arg is now size_t, not Idx.  All uses changed.
9128         (peek_token): Forward decl now says internal_function.
9129         (__re_error_msgid, __re_error_msgid_idx):
9130         Now static rather than extern with attribute_hidden.
9131         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
9132         For some reason libc prefers K&R style defns for external functions.
9133         (regerror) [!defined _LIBC]: Likewise.
9134         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
9135         (seek_collating_symbol_entry, lookup_collation_sequence_value):
9136         (build_range_exp, build_collating_symbol):
9137         Use K&R-style defn.
9138         (re_compile_fastmap): Use '\0' to memset, not 0.
9139         (utf8_sb_map): Make the calculations more obvious.
9140         (init_dfa, parse_bracket_exp, build_charclass_op):
9141         Call calloc and cast result, as glibc does.
9142         (init_word_char, fetch_token, peek_token, peek_token_bracket):
9143         (build_range_exp, build_collating_symbol):
9144         Now internal functions.
9145
9146         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
9147
9148         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
9149         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
9150         Don't depend on VMS; depend on __VMS instead, for POSIX
9151         namespace cleanness.
9152         (regoff_t): Define to ssize_t, not long int.
9153
9154         Remove the REG_ macros named below.  Instead, make the old names
9155         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
9156         __USE_GNU_REGEX.
9157         (REG_BACKSLASH_ESCAPE_IN_LISTS):
9158         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
9159         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
9160         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
9161         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
9162         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
9163         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
9164         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
9165         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
9166         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
9167         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
9168         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
9169         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
9170         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
9171         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
9172         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
9173         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
9174         (REG_NREGS):
9175         Remove.  All uses replaced by the old RE_* names.
9176         (RE_BACKSLASH_ESCAPE_IN_LISTS):
9177         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
9178         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
9179         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
9180         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
9181         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
9182         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
9183         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
9184         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
9185         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
9186         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
9187         Don't bother having these macros be independent of each others'
9188         values, since they no longer exist in the POSIX name space.
9189
9190         Rename the following member names back to their old names,
9191         unless !__USE_GNU_REGEX.  All uses changed back.
9192         (buffer): Renamed from re_buffer.
9193         (allocated): Renamed from re_allocated.
9194         (used): Renamed from re_used.
9195         (syntax): Renamed from re_syntax.
9196         (fastmap): Renamed from re_fastmap.
9197         (translate): Renamed from re_translate.
9198         (can_be_null): Renamed from re_can_be_null.
9199         (regs_allocated): Renamed from re_regs_allocated.
9200         (fastmap_accurate): Renamed from re_fastmap_accurate.
9201         (no_sub): Renamed from re_no_sub.
9202         (not_bol): Renamed from re_not_bol.
9203         (not_eol): Renamed from re_not_eol.
9204         (newline_anchor): Renamed from re_newline_anchor.
9205         (num_regs): Renamed from rm_num_regs.
9206         (start): Renamed from rm_start.
9207         (end): Renamed from rm_end.
9208
9209         (free_state): Move up a bit.
9210
9211         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
9212         #define to be empty.
9213         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
9214         when that is what is intended.
9215         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
9216         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
9217         (MAX): New macro.
9218         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
9219         All uses changed back to re_malloc, etc.  It's now the caller's
9220         responsibility to check for overflow; all callers changed.
9221         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
9222         (re_x2nrealloc): Remove.
9223         (free_state): Remove decl.
9224
9225         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
9226         (re_set_registers, re_exec):
9227         Use K&R-style defn.
9228
9229         2006-01-31  Roland McGrath  <roland@redhat.com>
9230
9231         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
9232         Reported by Mike Frysinger <vapier@gentoo.org>.
9233
9234         2006-01-15  Andreas Jaeger  <aj@suse.de>
9235
9236         [BZ #1950]
9237         * lib/regex_internal.c (re_string_reconstruct): Adjust for
9238         build_wcs_upper_buffer change.
9239         (build_wcs_upper_buffer): Change return type.
9240
9241         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
9242
9243         * lib/regex_internal.h: Include <stdint.h> if available.
9244
9245         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
9246
9247         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
9248
9249         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
9250
9251         * lib/regcomp.c: Adjust for changed secondary hash function.
9252
9253         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
9254
9255         * lib/regex.h: Pretty printing.
9256         Clean up namespace a bit.
9257
9258         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
9259
9260         * lib/regexec.c (update_cur_sifted_state, check_arrival,
9261         check_arrival_add_next_nodes): Avoid using uninitialized variable.
9262
9263         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
9264                     Ulrich Drepper  <drepper@redhat.com>
9265
9266         [BZ #1302]
9267         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
9268         changed.
9269         (bitset_word_t): Renamed from bitset_word.  All uses changed.
9270
9271         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
9272
9273         [BZ #281]
9274         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
9275         * lib/regcomp.c: Remove unnecessary uses of
9276         unsigned RE_TRANSLATE_TYPE.
9277         * lib/regex_internal.h: Likewise.
9278         * lib/regex_internal.c: Likewise.
9279         * lib/regexec.c: Likewise.
9280         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
9281
9282         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
9283
9284         * lib/regexec.c (find_recover_state): Remove unnecessary
9285         initialization.
9286         (transit_state_bkref): Make DFA a const pointer.
9287         (get_subexp): Likewise.
9288         (check_arrival): Likewise.
9289         (update_cur_sifted_state): Likewise.
9290         (re_search_internal): Likewise.
9291         (prune_impossible_nodes): Likewise.
9292         (acquire_init_state_context): Likewise.
9293         (proceed_next_node): Likewise.
9294         (set_regs): Likewise.
9295         (free_fail_stack_return): Likewise.
9296         (check_arrival_expand_ecl): Mark DFA parameter as const.
9297         (check_arrival_expand_ecl_sub): Likewise.
9298         (check_subexp_limits): Likewise.
9299         (sub_epsilon_src_nodes):  Likewise.
9300         (add_epsilon_src_nodes):  Likewise.
9301         (merge_state_array): Likewise.
9302         (update_regs): Likewise.
9303         (build_trtable): Likewise.
9304         (sift_states_backward): Mark MCTX parameter as const.
9305         (build_sifted_states): Likewise.
9306         (update_cur_sifted_state): Likewise.
9307         (sift_states_mkref): Likewise.
9308         (check_arrival_expand_ecl): Mark eclosure as const.
9309         (check_dst_limits_calc_pos_1): Likewise.
9310         * lib/regex_internal.h (re_match_context_t): Make dfa a const
9311         pointer.
9312
9313         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
9314
9315         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
9316         (transit_state_sb): Likewise.
9317         (transit_state_mb): Likewise.
9318         (sift_states_iter_mb): Likewise.
9319         (check_arrival_add_next_nodes): Likewise.
9320         (check_node_accept_bytes): Change first parameter to pointer-to-const.
9321         [_LIBC] (re_search_2_stub): Use mempcpy.
9322
9323         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
9324         mbrtowc for very simple UTF-8 case.
9325
9326         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
9327         a pointer-to-const.
9328         (re_acquire_state_context): Likewise.
9329         * lib/regex_internal.h: Adjust prototypes.
9330
9331         * lib/regex.c: Prevent using C++ compilers.
9332
9333         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
9334         (re_acquire_state_context): Likewise.
9335
9336 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9337
9338         * modules/regex (Depends-on): Add ssize_t.
9339
9340 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9341
9342         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
9343         translation table.
9344
9345 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
9346
9347         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
9348
9349 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
9350             Bruno Haible  <bruno@clisp.org>
9351
9352         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
9353         <sys/types.h> and <inttypes.h>.
9354
9355 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9356
9357         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
9358         `__error_t_defined', so argp.h will not typedef the former.
9359
9360 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
9361
9362         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
9363         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
9364         glibc names.  Even if glibc is changed to conform to POSIX, the
9365         traditional names will be available anyway, since regex depends on
9366         the extensions module.  Also, fix a longstanding typo in the
9367         implementation of Spencer ERE test #75 from grep 2.3.  Problems
9368         reported by Emanuele Giaquinta.  Also, change sense of cached
9369         variable, so that the message makes sense.
9370
9371 2006-03-24  Simon Josefsson  <jas@extundo.com>
9372
9373         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
9374         including some doc fixes.
9375         (base64_encode_alloc): Fix +1 bug on allocation failures.
9376
9377 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9378
9379         * lib/base64.c (base64_encode): Do not read past end of array with
9380         unsanitized input on systems with CHAR_BIT > 8.
9381
9382 2006-03-24  Eric Blake  <ebb9@byu.net>
9383
9384         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
9385
9386 2006-03-22  Karl Berry  <karl@gnu.org>
9387
9388         * config/srclist.txt (*setenv.[ch]): get from coreutils.
9389         * config/srclistvars.sh (COREUTILS): new var.
9390
9391 2006-03-17  Jim Meyering  <jim@meyering.net>
9392
9393         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
9394         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
9395
9396 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
9397
9398         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
9399         no longer needs it.  Instead, check that regoff_t is as least
9400         as wide as ptrdiff_t.
9401
9402         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
9403         so that our regex.h stays compatible with the installed regex.
9404         This is helpful for installers who configure --without-included-regex.
9405         Problem reported by Emanuele Giaquinta.
9406
9407 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
9408
9409         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
9410         Typedef to long int, not to off_, as POSIX will likely change
9411         in that direction.
9412
9413 2006-03-15  Eric Blake  <ebb9@byu.net>
9414
9415         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
9416
9417 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
9418
9419         * lib/argp-help.c (validate_uparams): Fix typo
9420         * lib/argp-parse.c (argp_default_options): Consistently begin help
9421         messages with a lowercase letter.
9422
9423 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
9424
9425         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
9426         overrun buffers and shouldn't be used (much as gets shouldn't be
9427         used).
9428         * lib/time_r.c (asctime_r, ctime_r): Likewise.
9429
9430 2006-03-08  Simon Josefsson  <jas@extundo.com>
9431
9432         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
9433         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9434
9435 2006-03-08  Simon Josefsson  <jas@extundo.com>
9436
9437         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
9438         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9439
9440 2006-03-08  Simon Josefsson  <jas@extundo.com>
9441
9442         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
9443         signal that configure disabled the device.
9444
9445 2006-03-08  Simon Josefsson  <jas@extundo.com>
9446
9447         * build-aux/maint.mk: Fix refresh-po, to handle no translated
9448         languages.
9449
9450 2006-03-07  Simon Josefsson  <jas@extundo.com>
9451
9452         * modules/getopt (Depends-on): Add unistd.
9453
9454         * modules/unistd: New file.
9455
9456 2006-03-07  Simon Josefsson  <jas@extundo.com>
9457
9458         * modules/gc-random: New file.
9459
9460 2006-03-07  Simon Josefsson  <jas@extundo.com>
9461
9462         * m4/unistd_h.m4: New file.
9463
9464 2006-03-07  Simon Josefsson  <jas@extundo.com>
9465
9466         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
9467         test to be side-effect free by storing the result in the cache
9468         variable gl_cv_lib_readline, and moving the assignment of
9469         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
9470         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9471
9472 2006-03-07  Simon Josefsson  <jas@extundo.com>
9473
9474         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
9475         error on missing devices (the functions will return an error).
9476
9477         * m4/gc.m4: Move random stuff to gc-random.m4
9478
9479 2006-03-07  Simon Josefsson  <jas@extundo.com>
9480
9481         * lib/unistd_.h: New file.
9482
9483 2006-03-07  Simon Josefsson  <jas@extundo.com>
9484
9485         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
9486
9487 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9488
9489         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
9490         Problem reported by Juan Manuel Guerrero.
9491
9492 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9493
9494         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
9495         the unistd module.
9496         * lib/getlogin_r.c: Likewise.
9497         * lib/getlogin_r.h: Likewise.
9498         * lib/glob.c: Likewise.
9499         * lib/pagealign_alloc.c: Likewise.
9500         * lib/unistd_.h: Remove; no longer needed.
9501
9502 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9503
9504         * MODULES.html.sh (Support for systems lacking POSIX:2001):
9505         Add unistd.
9506         * modules/c-stack (Depends-on): Add unistd.
9507         * modules/getlogin_r: Likewise.
9508         * modules/glob: Likewise.
9509         * modules/pagealign_alloc: Likewise.
9510         * modules/unistd (Files): Remove lib/unistd_.h.
9511         (EXTRA_DIST): Remove.
9512         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
9513         need unistd_.h.
9514         (MOSTLYCLEANFILES): Remove unistd.h-t.
9515
9516 2006-03-03  Simon Josefsson  <jas@extundo.com>
9517
9518         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
9519
9520 2006-03-03  Simon Josefsson  <jas@extundo.com>
9521
9522         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
9523         libidn and bison.
9524
9525 2006-03-03  Simon Josefsson  <jas@extundo.com>
9526
9527         * build-aux/maint.mk: Add indent target.
9528
9529 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
9530
9531         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
9532         our replacement poll.h in any case, to avoid a differing
9533         declaration from a system header.  Seen on AIX.
9534
9535 2006-03-01  Simon Josefsson  <jas@extundo.com>
9536
9537         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
9538         <kasal@ucw.cz>.
9539
9540 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
9541
9542         * modules/gettime (Depends-on): Add extensions module.
9543         * modules/nanosleep (Depends-on): Likewise.
9544         * modules/settime (Depends-on): Likewise.
9545
9546 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
9547
9548         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
9549         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
9550         pedantically.
9551         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9552         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
9553
9554         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
9555         not "==".  Reported by Ralf Wildenhues.
9556
9557 2006-03-01  Karl Berry  <karl@gnu.org>
9558
9559         * doc/Copyright/request-*: new files, synced from gnuorg.
9560
9561 2006-03-01  Karl Berry  <karl@gnu.org>
9562
9563         * config/srclist.txt (Copyright/*): new entries.
9564
9565 2006-02-28  Simon Josefsson  <jas@extundo.com>
9566
9567         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
9568
9569 2006-02-27  Simon Josefsson  <jas@extundo.com>
9570
9571         * lib/base64.h: Indent #define's.  From Jim Meyering
9572         <jim@meyering.net>.
9573
9574 2006-02-27  Jim Meyering  <jim@meyering.net>
9575
9576         Revert the change of 2006-02-24, so these files can continue
9577         to be sync'd from gettext.
9578         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
9579         of `config.h'.
9580
9581 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
9582
9583         * modules/intprops: New file.
9584         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
9585         Add intprops.
9586         * modules/getloadavg (Files): Remove lib/intprops.h.
9587         (Depends-on): Add intprops.
9588         * modules/human: Likewise.
9589         * modules/inttostr: Likewise.
9590         * modules/openat: Likewise.
9591         * modules/sig2str: Likewise.
9592         * modules/userspec: Likewise.
9593         * modules/utimecmp: Likewise.
9594         * modules/xnanosleep: Likewise.
9595         * modules/xstrtol: Likewise.
9596
9597 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
9598
9599         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
9600         * modules/lock-tests (TESTS): Use $(EXEEXT).
9601         * modules/tls-tests: Likewise.
9602         * modules/argp-tests: Likewise.
9603         (check_PROGRAMS): New var, replacing...
9604         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
9605
9606 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9607
9608         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
9609         `config.h'.
9610
9611 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
9612
9613         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
9614
9615 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9616
9617         Sync from coreutils.
9618         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
9619         gl_CHDIR_SAFER.
9620
9621 2006-02-22  Jim Meyering  <jim@meyering.net>
9622
9623         Sync from coreutils.
9624         * m4/chdir-safer.m4: New file.
9625
9626 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
9627
9628         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
9629         AT_FDCWD exceeds INT_MAX.
9630         * lib/openat.h (AT_FDCWD): Likewise.
9631
9632 2006-02-17  Eric Blake  <address@hidden>
9633
9634         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
9635
9636 2006-02-16  Simon Josefsson  <jas@extundo.com>
9637
9638         * modules/getaddrinfo (Depends-on): Add sys_socket.
9639
9640 2006-02-15  Simon Josefsson  <jas@extundo.com>
9641
9642         * build-aux/maint.mk: Add dsyntax-check rule.
9643
9644 2006-02-15  Eric Blake  <ebb9@byu.net>
9645
9646         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
9647         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
9648         'present but cannot compile' warnings on cygwin.
9649         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
9650         use ws2tcpip.h if sys/socket.h works.
9651         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
9652         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
9653
9654 2006-02-14  Simon Josefsson  <jas@extundo.com>
9655
9656         * modules/maintainer-makefile (Files): Rename.
9657
9658         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
9659         and (the local) Makefile.cfg to maint-cfg.mk.
9660
9661         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
9662         to the latter.
9663
9664         * modules/maintainer-makefile: New module.
9665
9666         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
9667         severaly stripped to make it possible to build it up from scratch
9668         with reliable tests.
9669
9670         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
9671         fixes to permit overriding the default actions when configure and
9672         makefile are not available.
9673
9674 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
9675
9676         Sync from coreutils.
9677         * modules/lstat (Depends-on): Don't depend on xalloc.
9678         (License): Change from GPL to LGPL, since this is now simply a
9679         replacement for a libc function.
9680
9681 2006-02-14  Jim Meyering  <jim@meyering.net>
9682
9683         Sync from coreutils.
9684
9685         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
9686         failure on deficient systems, and simplify gnulib lgpl dependencies.
9687         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
9688         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
9689
9690         * lib/xalloc-die.c: Remove unused definition of N_.
9691
9692 2006-02-14  Jim Meyering  <jim@meyering.net>
9693
9694         Sync from coreutils.
9695         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
9696         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
9697         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
9698         double-quote uses of that variable, to accommodate the rare case in
9699         which getmntent is available in none of the libraries checked.  This
9700         happens at least on FreeBSD 5.0.
9701
9702 2006-02-13  Simon Josefsson  <jas@extundo.com>
9703
9704         * gnulib-tool (Usage): Fix --import, from
9705         karl@freefriends.org (Karl Berry).
9706
9707 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
9708
9709         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
9710
9711 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
9712
9713         * lib/argp-namefrob.h: Restore changes accidentally lost during the
9714         "autoupdate" on 2005-12-12.
9715
9716 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9717
9718         * modules/closeout (Depends-on): Remove atexit.
9719
9720 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9721
9722         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
9723         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
9724
9725 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
9726
9727         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
9728         __EXTENSIONS__ if this causes compilation to fail.  Problem
9729         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
9730         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
9731
9732 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9733
9734         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
9735         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
9736         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
9737         All uses changed.
9738
9739 2006-01-26  Simon Josefsson  <jas@extundo.com>
9740
9741         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
9742         prototype is visible on mingw32.
9743
9744         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
9745         for mingw32.
9746
9747         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
9748         mingw32).
9749
9750 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
9751
9752         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
9753         attempt to open for write; this always fails, at least on POSIX
9754         hosts.  This reinstates the 2006-01-09 change, which was
9755         inadvertently removed.
9756
9757 2006-01-26  Bruno Haible  <bruno@clisp.org>
9758
9759         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
9760         Reported by Paul Eggert.
9761
9762 2006-01-26  Bruno Haible  <bruno@clisp.org>
9763             Paul Eggert  <eggert@cs.ucla.edu>
9764
9765         * lib/stdbool_.h (_Bool)
9766         [(! (defined __cplusplus || defined __BEOS__)
9767           && !defined __GNUC__
9768           && !(defined __HP_cc || defined __xlc__
9769                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
9770                || defined __sgi))]:
9771         #define to signed char in these cases too; this simplifies
9772         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
9773         etc., separately) and makes it more conservative.
9774
9775 2006-01-25  Simon Josefsson  <jas@extundo.com>
9776
9777         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
9778         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
9779         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
9780
9781 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9782
9783         * lib/argp-namefrob.h: Bugfix. Remove stray #
9784
9785 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
9786
9787         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
9788         so that we test the test.
9789         Check for yet another HP-UX cc bug involving *bool |= bool.
9790
9791 2006-01-25  Karl Berry  <karl@gnu.org>
9792
9793         * config/srclist.txt (vasnprintf.c): sync lost.
9794
9795 2006-01-25  Jim Meyering  <jim@meyering.net>
9796
9797         Sync from the stable (b5) branch of coreutils:
9798
9799         * lib/fts.c (fts_children): Don't let close() clobber errno from
9800         failed fchdir().
9801
9802         * lib/fts.c (fts_stat): When following a symlink-to-directory,
9803         don't necessarily interpret stat-fails+lstat-succeeds as indicating
9804         a dangling symlink.  That can also happen at least for ELOOP.
9805         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
9806         FYI, this bug predates the inclusion of fts.c in coreutils.
9807
9808         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
9809         in their own block, so pre-c99 compilers don't object.
9810
9811         Avoid the double-free (first in fts_read, second in fts_close) that
9812         would occur when an `active' directory is made inaccessible (e.g.,
9813         via chmod a-x) during a traversal.
9814         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
9815         before returning.  Reproduce this failure by
9816         mkdir -p a/b; cd a; chmod a-x . b
9817         Reported by Stavros Passas.
9818
9819 2006-01-25  Jim Meyering  <jim@meyering.net>
9820
9821         * lib/fileblocks.c: Remove more useless parentheses.
9822         * lib/readutmp.h: Likewise.
9823
9824 2006-01-25  Bruno Haible  <bruno@clisp.org>
9825
9826         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
9827         warnings.
9828         Reported by Paul Eggert.
9829
9830 2006-01-25  Bruno Haible  <bruno@clisp.org>
9831
9832         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
9833         rid of a trap command. For Solaris sh.
9834         Reported by Mark D. Baushke <mdb@gnu.org>.
9835
9836 2006-01-24  Simon Josefsson  <jas@extundo.com>
9837
9838         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
9839         Bruno.
9840
9841 2006-01-24  Karl Berry  <karl@gnu.org>
9842
9843         * config/srclist.txt (argp-namefrob.h): sync lost.
9844
9845 2006-01-24  Jim Meyering  <jim@meyering.net>
9846
9847         * modules/openat (Files): Add lib/intprops.h.
9848         From Mark D. Baushke.
9849
9850 2006-01-24  Jim Meyering  <jim@meyering.net>
9851
9852         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
9853         Reported by Mark D. Baushke.
9854
9855 2006-01-24  Jim Meyering  <jim@meyering.net>
9856
9857         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
9858
9859 2006-01-24  Bruno Haible  <bruno@clisp.org>
9860
9861         * modules/strnlen (Maintainer): Change from glibc to all.
9862
9863 2006-01-24  Bruno Haible  <bruno@clisp.org>
9864
9865         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
9866         Patch by Paul Eggert.
9867
9868 2006-01-24  Bruno Haible  <bruno@clisp.org>
9869
9870         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
9871         already has it.
9872         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
9873         2005-11-26.
9874
9875         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
9876         'signed char' to avoid problems with the built-in _Bool type.
9877         Reported by Paul Eggert on 2005-11-26.
9878
9879 2006-01-24  Bruno Haible  <bruno@clisp.org>
9880
9881         * gnulib-tool (func_import): Avoid constructing complicated sed
9882         expressions inside backquote.
9883         Report and solution by Mark D. Baushke <mdb@gnu.org>.
9884
9885 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
9886
9887         These changes imported from libc.
9888         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
9889         test and two separate function calls.
9890         * lib/strndup.c (__strndup): Add libc_hidden_def.
9891
9892 2006-01-23  Simon Josefsson  <jas@extundo.com>
9893
9894         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
9895         Remove the test_*_SOURCES variable: automake infers it by default.
9896         * modules/tls-tests: Likewise.
9897
9898 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9899
9900         Work around porting bugs reported by Dieter in
9901         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
9902         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
9903         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
9904         Include "getopt.h" first, to check interface.
9905         (getenv): Declare only if defined HAVE_DECL_GETENV &&
9906         !HAVE_DECL_GETENV.
9907         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
9908         (__strndup): Revert to K&R-style function dfns, the glibc style.
9909         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
9910         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
9911         Include strnlen.h first, to get prototype properly.
9912         (strnlen): Renamed from __strnlen.
9913         Remove weak alias.
9914
9915 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9916
9917         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
9918
9919 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9920
9921         * config/srclist.txt: Adjust to reflect glibc reorganization.
9922         This affects only comments.
9923
9924 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
9925
9926          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
9927          Reported by Bruce Korb <bkorb@gnu.org>.
9928
9929 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
9930
9931         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
9932         to pacify gcc -Wswitch-default.
9933
9934 2006-01-22  Bruno Haible  <bruno@clisp.org>
9935
9936         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
9937         temporary buffer for sprintf, take into account the precision also
9938         for 'd', 'i', 'u', 'o', 'x', 'X'.
9939
9940 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
9941
9942         * modules/argp-tests: New module
9943         * tests/test-argp.c: New file
9944         * tests/test-argp-2.sh: New file
9945
9946 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
9947
9948         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
9949         (__argp_base_name): Removed
9950         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
9951         typo.
9952         (__argp_base_name): Provide macro definition or extern declaration
9953         depending on the configuration
9954
9955 2006-01-20  Simon Josefsson  <jas@extundo.com>
9956
9957         * modules/inet_ntop (Depends-on): Depend on sys_socket.
9958
9959 2006-01-20  Simon Josefsson  <jas@extundo.com>
9960
9961         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
9962
9963 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
9964
9965         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
9966         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
9967         Suggested by Bruno Haible.
9968
9969 2006-01-20  Karl Berry  <karl@gnu.org>
9970
9971         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
9972         until changes propagate, I guess.
9973
9974 2006-01-19  Simon Josefsson  <jas@extundo.com>
9975
9976         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
9977
9978 2006-01-19  Simon Josefsson  <jas@extundo.com>
9979
9980         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
9981
9982 2006-01-19  Simon Josefsson  <jas@extundo.com>
9983
9984         * gnulib-tool: Set check_PROGRAMS.
9985
9986         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
9987         modules/des-tests, modules/gc-arcfour-tests,
9988         modules/gc-arctwo-tests, modules/gc-des-tests,
9989         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
9990         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
9991         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
9992         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
9993         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
9994         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
9995         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
9996         test_*_SOURCES.
9997
9998 2006-01-18  Simon Josefsson  <jas@extundo.com>
9999
10000         * modules/socklen (Depends-on): Depend on sys_socket.
10001
10002 2006-01-18  Simon Josefsson  <jas@extundo.com>
10003
10004         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
10005         modules/des-tests, modules/gc-arcfour-tests,
10006         modules/gc-arctwo-tests, modules/gc-des-tests,
10007         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
10008         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
10009         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
10010         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
10011         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
10012         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
10013         $(EXEEXT) to automake TESTS variable, for mingw32.
10014
10015 2006-01-17  Simon Josefsson  <jas@extundo.com>
10016
10017         * modules/socklen (Include): Need sys/socket.h.
10018
10019 2006-01-17  Bruno Haible  <bruno@clisp.org>
10020
10021         * modules/ssize_t (Include): Add <sys/types.h>.
10022
10023 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
10024
10025         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
10026         it's not portable and it doesn't work with cross-compiles.
10027         Problem reported by Bruno Haible.  Fix missing-$ typo in
10028         'test "gl_cv_ignore_unused_libraries" ...' that prevented
10029         -zignore from being used with Sun's C compiler.
10030
10031 2006-01-12  Simon Josefsson  <jas@extundo.com>
10032
10033         * lib/base64.c: Fix warning, reported by Bruno Haible
10034         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
10035
10036 2006-01-12  Bruno Haible  <bruno@clisp.org>
10037
10038         * modules/ldd: New file.
10039         * build-aux/ldd.sh.in: New file.
10040         * MODULES.html.sh (Support for building libraries and executables): Add
10041         ldd.
10042
10043 2006-01-12  Bruno Haible  <bruno@clisp.org>
10044
10045         * m4/ldd.m4: New file.
10046
10047 2006-01-12  Bruno Haible  <bruno@clisp.org>
10048
10049         * gnulib-tool (func_import, func_create_testdir): Don't go into an
10050         endless loop while replacing $auxdir with build-aux.
10051
10052 2006-01-11  Simon Josefsson  <jas@extundo.com>
10053
10054         * lib/stdint_.h (SIZE_MAX): Add missing (.
10055
10056 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
10057
10058         Sync from coreutils.
10059         * lib/md5.c: Fix commentary typos.
10060         (alignof, UNALIGNED_P): No need for a GCC-specific version.
10061         * lib/md5.h (__attribute__): Remove; unused.
10062         * lib/sha1.c: Fix commentary to match md5 better.
10063         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
10064         so that we don't need to worry about alignment.  All uses changed.
10065         This merges the 2005-10-28 md5 change into sha1.
10066
10067 2006-01-11  Jim Meyering  <jim@meyering.net>
10068
10069         Sync from coreutils.
10070         * lib/md5.c (OP): Fix spacing.
10071
10072 2006-01-11  Bruno Haible  <bruno@clisp.org>
10073
10074         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10075         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
10076         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
10077
10078 2006-01-11  Bruno Haible  <bruno@clisp.org>
10079
10080         Ensure automatic ordering between gl_LOCK and gl_ARGP.
10081         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
10082         the "early" section as well.
10083
10084 2006-01-11  Bruno Haible  <bruno@clisp.org>
10085
10086         Avoid "ar: no archive members specified" error on MacOS X.
10087         * gnulib-tool (func_modules_add_dummy): New function.
10088         (func_import, func_create_testdir): Invoke it.
10089
10090 2006-01-11  Bruno Haible  <bruno@clisp.org>
10091
10092         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
10093         with $auxdir in AC_CONFIG_FILES statements.
10094
10095 2006-01-11  Bruno Haible  <bruno@clisp.org>
10096
10097         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10098         Initialize also noinst_HEADERS to empty.
10099
10100 2006-01-11  Bruno Haible  <bruno@clisp.org>
10101
10102         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
10103         variables.
10104         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
10105         autoreconf.
10106
10107 2006-01-11  Bruno Haible  <bruno@clisp.org>
10108
10109         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
10110         overridable by the user.
10111         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10112
10113 2006-01-10  Simon Josefsson  <jas@extundo.com>
10114
10115         * modules/sys_socket: New file.
10116
10117 2006-01-10  Simon Josefsson  <jas@extundo.com>
10118
10119         * m4/sys_socket_h.m4: New file.
10120
10121 2006-01-10  Simon Josefsson  <jas@extundo.com>
10122
10123         * lib/socket_.h: New file.
10124
10125 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10126
10127         * modules/readutmp (Maintainer): Add myself.
10128
10129 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10130
10131         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
10132         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
10133         People who are still concerned with buggy memcmp implementations
10134         can invoke gl_FUNC_MEMCMP themselves.
10135
10136 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
10137
10138         * lib/regex_internal.h (BITSET_WORD_BITS):
10139         Work around a bug in 64-bit PGC (before version 6.1-2), where the
10140         preprocessor mishandles large unsigned values as if they were signed.
10141         Problem reported by Claudio Fontana in
10142         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
10143
10144 2006-01-10  Jim Meyering  <jim@meyering.net>
10145
10146         Avoid the double-free (first in fts_read, second in fts_close) that
10147         would occur when an `active' directory is made inaccessible (e.g.,
10148         via chmod a-x) during a traversal.
10149         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
10150         before returning.  Reproduce this failure by
10151         mkdir -p a/b; cd a; chmod a-x . b
10152         Reported by Stavros Passas.
10153
10154         Sync from coreutils.
10155         * lib/sha1.c: Tweak grammar in a comment.
10156
10157 2006-01-10  Jim Meyering  <jim@meyering.net>
10158
10159         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
10160         Patch by Joerg Sonnenberger.
10161
10162 2006-01-10  Bruno Haible  <bruno@clisp.org>
10163
10164         * modules/readutmp: Depend on module free.
10165         * modules/strtok_r: Depend on module restrict.
10166
10167 2006-01-10  Bruno Haible  <bruno@clisp.org>
10168
10169         * modules/gettext (configure.ac): Add an invocation of
10170         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
10171
10172 2006-01-10  Bruno Haible  <bruno@clisp.org>
10173
10174         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
10175         Reported by Werner Lemberg <wl@gnu.org>.
10176
10177 2006-01-10  Bruno Haible  <bruno@clisp.org>
10178
10179         * lib/localcharset.c: Update from GNU gettext.
10180
10181 2006-01-10  Bruno Haible  <bruno@clisp.org>
10182
10183         * lib/argp.h (__const): Remove macro. Use const instead.
10184         * lib/argp-fmtstream.h (__const): Likewise.
10185         * lib/glob_.h (__const): Remove macro.
10186         * lib/glob-libc.h: Use const instead of __const.
10187
10188 2006-01-10  Bruno Haible  <bruno@clisp.org>
10189
10190         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
10191         variable.
10192         Needed to avoid an automake error regarding the 'gettext' module.
10193
10194 2006-01-09  Simon Josefsson  <jas@extundo.com>
10195
10196         * modules/inet_ntop (Depends-on): Add restrict.
10197
10198 2006-01-09  Simon Josefsson  <jas@extundo.com>
10199
10200         * modules/gc-rijndael-tests (License): Put under LGPL.
10201
10202         * modules/gc-des-tests (License): Likewise.
10203
10204         * modules/gc-arcfour-tests (License): Likewise.
10205
10206         * modules/gc-arctwo-tests (License): Likewise.
10207
10208         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
10209
10210         * modules/gc-hmac-sha1-tests (Files): Likewise.
10211
10212         * modules/gc-hmac-md5-tests (License): Likewise.
10213
10214         * modules/gc-sha1-tests (License): Likewise.
10215
10216         * modules/gc-md5-tests (License): Likewise.
10217
10218         * modules/gc-md4-tests (License): Likewise.
10219
10220         * modules/gc-md2-tests (License): Likewise.
10221
10222         * modules/gc-tests (License): Likewise.
10223
10224         * modules/des-tests (License): Likewise.
10225
10226         * modules/md4-tests (License): Likewise.
10227
10228         * modules/md2-tests (License): Likewise.
10229
10230 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10231
10232         Sync from coreutils:
10233
10234         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
10235         * modules/lib-ignore: New file.
10236         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
10237         chdir-safer.m4, lchmod.m4.
10238         * modules/openat: Add mkdirat.c, openat-priv.h.
10239
10240 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10241
10242         Sync from coreutils.
10243         * m4/lib-ignore.m4: New file.
10244         * m4/lchmod.m4: New file.
10245
10246 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10247
10248         Sync from coreutils.
10249         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
10250         for write access: POSIX says that must fail.
10251         * lib/fts.c (diropen): Likewise.
10252         * lib/save-cwd.c (save_cwd): Likewise.
10253         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
10254         well, for minor improvements on hosts that lack O_DIRECTORY.
10255         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
10256         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
10257         Fall back on chown if open failed with EACCES.
10258
10259         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
10260         Report an error at compile-time if only a 1-second nominal clock
10261         resolution is found.
10262
10263         * lib/lchmod.h: New file.
10264         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
10265         (make_dir_parents): Use lchown rather than chown, and
10266         lchmod rather than chmod.
10267
10268         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
10269         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
10270         "proc" reported by n0dalus.
10271
10272         * lib/mountlist.c: Include <limits.h>.
10273         (dev_from_mount_options)
10274         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
10275         New function.  It no longer assumes "dev=" has the System V meaning
10276         on Linux (since it doesn't).  It also parses "dev=" more carefully.
10277         (read_file_system_list)
10278         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
10279         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
10280         dev= in that case.
10281
10282         * lib/posixtm.h (PDS_PRE_2000): New macro.
10283         * lib/posixtm.c (year): Arg is now syntax_bits rather than
10284         allow_century.  All usages changed.  Reject dates outside the range
10285         1969-1999 if PDS_PRE_2000 is used.
10286
10287 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
10288
10289         Sync from coreutils.
10290         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
10291         (Time of day items): Mention the possibility of leap seconds.
10292         Problem reported by Dr. David Alan Gilbert.
10293
10294 2006-01-09  Jim Meyering  <jim@meyering.net>
10295
10296         Sync from coreutils.
10297
10298         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
10299
10300         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
10301
10302         * lib/modechange.c (mode_compile): Reject an invalid mode string
10303         that starts with an octal digit.  From Andreas Gruenbacher.
10304
10305         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
10306         and dup to open_safer and dup_safer, respectively.
10307         (openat_permissive): Fix typo in comment.
10308
10309         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
10310         "gettext.h"; either no longer needed or are guaranteed by openat.h.
10311         (_): Remove; no longer needed.
10312         (openat): Renamed from rpl_openat; no need for rpl_openat
10313         since openat.h renames openat for us.
10314         Replace most of the body with a call to openat_permissive,
10315         to avoid duplicate code.
10316         Port to (probably hypothetical) environments were mode_t is
10317         wider than int.
10318         (openat_permissive): Require mode arg, so that we can check
10319         types better.  Put it just after flags.  Change cwd failure
10320         indicator from pointer-to-bool to pointer-to-errno-value.
10321         All callers changed.
10322         Invoke openat_save_fail and/or openat_restore_fail if
10323         cwd_errno is null, so that openat can call us.
10324         (openat_permissive, fdopendir, fstatat, unlinkat):
10325         Simplify errno handling to avoid some duplicate code,
10326         as it's OK to set errno on success.
10327         * lib/openat.h: Revamp code so that function macros depend on
10328         __OPENAT_PREFIX only, not also on AT_FDCWD.
10329         (openat_ro): Remove.  Caller changed to use openat_permissive.
10330         (openat_permissive): Now a macro, if not a function.
10331         (openat_restore_fail, openat_save_fail): Now always functions,
10332         since mkdirat needs them even if __OPENAT_PREFIX is defined.
10333
10334         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
10335         and openat.c.
10336         * lib/mkdirat.c: Include openat-priv.h.
10337         Remove definitions of macros defined therein.
10338         * lib/openat.c: Likewise.
10339
10340         * lib/mkdirat.c (mkdirat): New file and function.
10341         * lib/openat.h (mkdirat): Declare.
10342
10343         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
10344
10345         * lib/openat.h (openat_permissive): Declare.
10346         (openat_ro): Define.
10347
10348         * lib/openat.c (EXPECTED_ERRNO): New macro.
10349         (openat_permissive): New function -- used in remove.c rewrite.
10350         (all functions): Set errno just before returning, only if there
10351         was an actual failure.
10352         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
10353
10354         Emulate openat-family functions using Linux's procfs, if possible.
10355         Idea and some code based on Ulrich Drepper's glibc changes.
10356
10357         * lib/openat.c: (BUILD_PROC_NAME): New macro.
10358         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
10359         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
10360         before falling back on save_cwd and restore_cwd.
10361         (fdopendir, fstatat, unlinkat): Likewise.
10362
10363         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
10364         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
10365
10366         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
10367         as second argument to va_arg.  Otherwise, some versions of gcc
10368         warn that `if this code is reached, the program will abort'.
10369
10370 2006-01-09  Jim Meyering  <jim@meyering.net>
10371
10372         Sync from coreutils.
10373         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
10374         Require openat-priv.h.
10375
10376 2006-01-09  Bruno Haible  <bruno@clisp.org>
10377
10378         * modules/strnlen (Include): Use strnlen.h.
10379
10380 2006-01-09  Bruno Haible  <bruno@clisp.org>
10381
10382         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
10383
10384 2006-01-09  Bruno Haible  <bruno@clisp.org>
10385
10386         * lib/sysexit_.h (EX_OK): New macro.
10387         Suggested by Martin Lambers <marlam@marlam.de>.
10388
10389 2006-01-09  Bruno Haible  <bruno@clisp.org>
10390
10391         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
10392         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
10393
10394 2006-01-09  Bruno Haible  <bruno@clisp.org>
10395
10396         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
10397         numbers.
10398
10399 2006-01-09  Bruno Haible  <bruno@clisp.org>
10400
10401         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
10402         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
10403         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
10404         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
10405
10406 2006-01-09  Bruno Haible  <bruno@clisp.org>
10407
10408         * build-aux/javacomp.sh.in: New file, moved from lib/.
10409         * modules/javacomp-script (Files): Update.
10410         (configure.ac): Add AC_CONFIG_FILES invocation.
10411         (EXTRA_DIST): Remove variable.
10412
10413         * build-aux/javaexec.sh.in: New file, moved from lib/.
10414         * modules/javaexec (Files): Update.
10415         (configure.ac): Add AC_CONFIG_FILES invocation.
10416         (EXTRA_DIST): Remove javaexec.sh.in.
10417
10418         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
10419         * modules/csharpcomp-script (Files): Update.
10420         (configure.ac): Add AC_CONFIG_FILES invocation.
10421         (EXTRA_DIST): Remove variable.
10422
10423         * build-aux/csharpexec.sh.in: New file, moved from lib/.
10424         * modules/csharpexec (Files): Update.
10425         (configure.ac): Add AC_CONFIG_FILES invocation.
10426         (EXTRA_DIST): Remove csharpexec.sh.in.
10427
10428 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
10429
10430         Sync from coreutils.
10431
10432         Add POSIX ACL support
10433         * lib/acl.h (copy_acl, set_acl): Add declarations.
10434         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
10435         systems other than Linux.
10436         (chmod_or_fchmod): New function: use fchmod when possible,
10437         and chmod otherwise.
10438         (file_has_acl): Add a POSIX ACL implementation, with a
10439         Linux-specific subcase.
10440         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
10441         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
10442         acls are unsupported.
10443         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
10444         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
10445         are unsupported.
10446
10447 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
10448
10449         Sync from coreutils.
10450         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
10451
10452 2006-01-07  Bruno Haible  <bruno@clisp.org>
10453
10454         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
10455         gl_EARLY.
10456
10457 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10458
10459         * lib/strftime.c (tzname): Don't declare if it is already #defined.
10460         Problem reported for Mingw by Mark Junker.
10461
10462 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10463
10464         * README: Gnulib normally doesn't generate a tarball.
10465
10466 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
10467
10468         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
10469         long int, not int, for nanosecond counts, so that people who are
10470         used to POSIX struct timespec won't be surprised.  Reported by Jim
10471         Meyering.
10472
10473 2005-12-28  Bruno Haible  <bruno@clisp.org>
10474
10475         * build-aux/config.rpath: Update from GNU gettext.
10476
10477 2005-12-16  Jim Meyering  <jim@meyering.net>
10478
10479         * modules/fprintftime: New module.
10480         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
10481
10482 2005-12-16  Jim Meyering  <jim@meyering.net>
10483
10484         * m4/fprintftime.m4: New file.
10485
10486 2005-12-16  Jim Meyering  <jim@meyering.net>
10487
10488         * lib/fprintftime.c, lib/fprintftime.h: New files.
10489
10490 2005-12-15  Simon Josefsson  <jas@extundo.com>
10491
10492         * modules/socklen (configure.ac): Fix M4 macro name, to align with
10493         new m4/socklen.m4.
10494
10495 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
10496
10497         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
10498         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
10499
10500 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
10501
10502         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
10503         * lib/argp-help.c (fill_in_uparams): Check if the constructed
10504         struct uparams is valid. Fall back to the default values if it is
10505         not.
10506
10507 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10508
10509         * modules/argp (Files): Add argp-pin.c
10510         (Depends-on): dirname
10511         (lib_SOURCES): Add argp-pin.c
10512
10513 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10514
10515         * m4/argp.m4:  Check if program_invocation_name and
10516         program_invocation_short_name are declared and define appropriate
10517         macros if they are not.
10518
10519 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10520
10521         * lib/argp-help.c (__argp_base_name): New function
10522         (__argp_short_program_name): Rewrite using __argp_base_name
10523         * lib/argp-namefrob.h: Define program_invocation_name and
10524         program_invocation_short_name if requested
10525         (__argp_base_name): Add prototype
10526         * lib/argp-parse.c (argp_def): Use gettext wrappers
10527         (argp_default_parser): Use __argp_base_name
10528         * lib/argp-pin.c: New file. Defines program_invocation_name and
10529         program_invocation_short_name on systems that lack them.
10530
10531 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
10532
10533         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
10534         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
10535         porting problem reported by Georg Schwarz in
10536         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
10537
10538 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
10539
10540         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
10541         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
10542         porting problem reported by Georg Schwarz in
10543         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
10544
10545 2005-12-05  Bruno Haible  <bruno@clisp.org>
10546
10547         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
10548         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
10549         Reported by Mark Junker <mjscod@gmx.de>.
10550
10551 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
10552
10553         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
10554         Use implementation from Albert Chin, with some
10555         comments/corrections by Stepan Kasal and myself.
10556
10557 2005-12-02  Bruno Haible  <bruno@clisp.org>
10558
10559         * gnulib-tool (func_import): Accept GPLed build tool modules when
10560         --lgpl is given.
10561         * modules/csharpcomp-script: New file.
10562         * modules/csharpcomp: Depend on it.
10563         * modules/javacomp-script: New file.
10564         * modules/javacomp: Depend on it.
10565         Suggested by Simon Josefsson.
10566
10567 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
10568
10569         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
10570         statement, to work around an HP-UX 10.20 compiler bug reported by
10571         Peter O'Gorman.
10572
10573 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
10574
10575         * modules/savedir (Depends-on): Add openat.
10576
10577 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
10578
10579         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
10580         (uintmax_t) [defined uintmax_t]: Do not declare.
10581         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
10582         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
10583         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
10584         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
10585         sake of portability to weird hosts that C allows (though we don't
10586         know of any practical examples).
10587
10588         * lib/savedir.h (fdsavedir): New decl.
10589         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
10590         contains most of the former guts of savedir.
10591         (savedir): Use savedirstream.
10592         Include "openat.h".
10593
10594 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
10595
10596         * modules/obstack (Files): Add m4/ulonglong.m4.
10597         Problem reported by Davide Angelocola.
10598
10599 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
10600
10601         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
10602         coreutils no longer futzes with rounding modes.
10603
10604 2005-11-14  Jim Meyering  <jim@meyering.net>
10605
10606         * lib/mkstemp-safer.c: Include <config.h>, required for possible
10607         replacement of mkstemp.
10608
10609 2005-11-10  Simon Josefsson  <jas@extundo.com>
10610
10611         * lib/readline.c: Remove EOL.
10612
10613 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10614
10615         * modules/gethrxtime (Depends-on): Add gettime.
10616
10617 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10618
10619         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
10620         or gettimeofday; no longer needed.
10621
10622 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10623
10624         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
10625         time business.
10626         (gethrxtime) [! (HAVE_NANOUPTIME
10627         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
10628         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
10629         our own approximation.
10630
10631 2005-11-08  Eric Blake  <ebb9@byu.net>
10632
10633         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
10634
10635 2005-11-08  Eric Blake  <ebb9@byu.net>
10636
10637         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
10638
10639 2005-11-04  Bruno Haible  <bruno@clisp.org>
10640
10641         * gnulib-tool: Implement --update mode.
10642
10643 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10644
10645         Fix porting problem reported by Theodoros V. Kalamatianos.
10646         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
10647         Don't assume that futimes failing means we must fail.
10648
10649 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10650
10651         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
10652         variables to suggest the intended function of the PATH_MAX check.
10653
10654 2005-10-30  Kean Johnston  <jkj@sco.com>
10655
10656         Trivial changes to support SCO systems.
10657         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
10658         as PATH_MAX.
10659         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
10660         where __ptr is null when no I/O is pending.
10661
10662 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
10663
10664         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
10665         leave errno alone.  Problem reported by Dmitry V. Levin.
10666
10667 2005-10-28  Simon Josefsson  <jas@extundo.com>
10668
10669         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
10670         Test more.
10671
10672         * tests/test-gc-md2.c, tests/test-md2.c: New files.
10673
10674         * modules/md2, modules/md2-tests: New files.
10675
10676 2005-10-28  Simon Josefsson  <jas@extundo.com>
10677
10678         * m4/inet_ntop.m4: More tests.
10679
10680         * m4/gc-md2.m4, md2.m4: New file.
10681
10682 2005-10-28  Simon Josefsson  <jas@extundo.com>
10683
10684         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
10685         "restrict" keywords, as per POSIX.  Protect the function
10686         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
10687         Don't use K&R prototypes.  Check the sprintf return values.
10688         Re-define EAFNOSUPPORT if not present.  Indent.
10689
10690         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
10691         suggested by Bruno Haible <bruno@clisp.org>.
10692
10693         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
10694
10695         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
10696
10697         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
10698         libgcrypt).
10699
10700         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
10701
10702         * lib/md2.h, lib/md2.c: New files.
10703
10704 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
10705
10706         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
10707         errno alone.  Problem reported by Frederic Jolliton.
10708
10709 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10710
10711         * modules/verify (License): Change from GPL to LGPL.  This is a
10712         tiny module and there are apparently near-equivalents that are
10713         under the BSD license.
10714
10715 2005-10-24  Simon Josefsson  <jas@extundo.com>
10716
10717         * modules/sha1: Relicense to LGPL.
10718
10719 2005-10-24  Simon Josefsson  <jas@extundo.com>
10720
10721         * lib/md4.h: Shrink buffer size, now that we changed the type.
10722
10723 2005-10-23  Simon Josefsson  <jas@extundo.com>
10724
10725         * gnulib-tool (func_import): Fix --tests-base.
10726
10727 2005-10-22  Simon Josefsson  <jas@extundo.com>
10728
10729         * modules/arcfour (Depends-on): Need stdint.
10730
10731 2005-10-22  Simon Josefsson  <jas@extundo.com>
10732
10733         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
10734         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
10735
10736 2005-10-22  Simon Josefsson  <jas@extundo.com>
10737
10738         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
10739         suggested by Bruno Haible <bruno@clisp.org>.
10740
10741 2005-10-22  Simon Josefsson  <jas@extundo.com>
10742
10743         * lib/crc.h: Include stddef.h, for size_t.
10744
10745 2005-10-22  Simon Josefsson  <jas@extundo.com>
10746
10747         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
10748         arcfour_context struct (simplify test vector testing in GNU
10749         Shishi).
10750
10751 2005-10-21  Simon Josefsson  <jas@extundo.com>
10752
10753         * modules/des, modules/des-tests: New files.
10754
10755         * modules/gc-des, modules/gc-des-tests: New files.
10756
10757         * tests/test-des.c, tests/test-gc-des.c: New file.
10758
10759 2005-10-21  Simon Josefsson  <jas@extundo.com>
10760
10761         * modules/arctwo, modules/arctwo-tests: New files.
10762
10763         * tests/test-arctwo.c: New file.
10764
10765         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
10766
10767         * tests/test-gc-arctwo.c: New file.
10768
10769 2005-10-21  Simon Josefsson  <jas@extundo.com>
10770
10771         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
10772         Bruno Haible <bruno@clisp.org>.
10773
10774         * m4/gc-des.m4: New file.
10775
10776 2005-10-21  Simon Josefsson  <jas@extundo.com>
10777
10778         * m4/arctwo.m4: New file.
10779
10780         * m4/gc-arctwo.m4: New file.
10781
10782 2005-10-21  Simon Josefsson  <jas@extundo.com>
10783
10784         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
10785         block.
10786
10787 2005-10-21  Simon Josefsson  <jas@extundo.com>
10788
10789         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
10790         <bruno@clisp.org>.
10791
10792         * lib/hmac-sha1.c (hmac_sha1): Likewise.
10793
10794         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
10795         Bruno Haible <bruno@clisp.org>.
10796
10797         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
10798         <bruno@clisp.org>.
10799
10800 2005-10-21  Simon Josefsson  <jas@extundo.com>
10801
10802         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
10803
10804 2005-10-21  Simon Josefsson  <jas@extundo.com>
10805
10806         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
10807
10808 2005-10-21  Simon Josefsson  <jas@extundo.com>
10809
10810         * lib/des.h, lib/des.c: New files.
10811
10812         * lib/gc-gnulib.c: Support DES.c
10813
10814 2005-10-21  Simon Josefsson  <jas@extundo.com>
10815
10816         * lib/arctwo.h, lib/arctwo.c: New files.
10817
10818         * lib/gc-gnulib.c: Support ARCTWO.
10819
10820 2005-10-21  Simon Josefsson  <jas@extundo.com>
10821
10822         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
10823         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10824
10825 2005-10-21  Simon Josefsson  <jas@extundo.com>
10826
10827         * gnulib-tool (func_import, func_create_testdir): Define automake
10828         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
10829         Makefile.am snippet),
10830         suggested by Bruno Haible <bruno@clisp.org>.
10831
10832         * modules/gc (Makefile.am): Use it.
10833
10834 2005-10-21  Bruno Haible  <bruno@clisp.org>
10835
10836         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
10837         patch.
10838
10839 2005-10-19  Simon Josefsson  <jas@extundo.com>
10840
10841         * tests/test-gc-rijndael.c: New file.
10842
10843         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
10844
10845 2005-10-19  Simon Josefsson  <jas@extundo.com>
10846
10847         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
10848         interface too.
10849
10850 2005-10-19  Simon Josefsson  <jas@extundo.com>
10851
10852         * tests/test-gc-arcfour.c: New file.
10853
10854         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
10855
10856 2005-10-19  Simon Josefsson  <jas@extundo.com>
10857
10858         * modules/gc-md4, modules/gc-md4-tests: New file.
10859
10860         * tests/test-gc-md4.c: New file.
10861
10862 2005-10-19  Simon Josefsson  <jas@extundo.com>
10863
10864         * m4/gc-md4.m4: New file.
10865
10866 2005-10-19  Simon Josefsson  <jas@extundo.com>
10867
10868         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
10869         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
10870         <kasal@ucw.cz>.
10871
10872 2005-10-19  Simon Josefsson  <jas@extundo.com>
10873
10874         * m4/gc-arcfour.m4: New file.
10875
10876         * m4/gc-rijndael.m4: New file.
10877
10878 2005-10-19  Simon Josefsson  <jas@extundo.com>
10879
10880         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
10881
10882 2005-10-19  Simon Josefsson  <jas@extundo.com>
10883
10884         * lib/gc-gnulib.c: Support ARCFOUR.
10885
10886 2005-10-19  Simon Josefsson  <jas@extundo.com>
10887
10888         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
10889         support.
10890
10891         * lib/gc.h: Add ECB enum type.
10892
10893         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
10894
10895 2005-10-18  Simon Josefsson  <jas@extundo.com>
10896
10897         * tests/test-md5.c: New file.
10898
10899         * modules/md5-tests: New file.
10900
10901 2005-10-18  Simon Josefsson  <jas@extundo.com>
10902
10903         * tests/test-md4.c: New file.
10904
10905         * modules/md4, modules/md4-tests: New files.
10906
10907 2005-10-18  Simon Josefsson  <jas@extundo.com>
10908
10909         * m4/md4.m4: New file.
10910
10911 2005-10-18  Simon Josefsson  <jas@extundo.com>
10912
10913         * lib/md4.h, lib/md4.c: New files, based on md5.?.
10914
10915 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
10916
10917         * gnulib-tool (func_create_testdir): Omit the second check whether
10918         BUILT_SOURCES in nonempty.
10919
10920 2005-10-17  Simon Josefsson  <jas@extundo.com>
10921
10922         * tests/test-rijndael.c: New file.
10923
10924 2005-10-17  Simon Josefsson  <jas@extundo.com>
10925
10926         * modules/sha1: Depend on stdint instead of md5.
10927
10928         * modules/md5: Depend on stdint, remove uint32_t.
10929
10930 2005-10-17  Simon Josefsson  <jas@extundo.com>
10931
10932         * modules/gc-sha1-tests: New file.
10933
10934         * tests/test-gc-sha1.c: New file.
10935
10936 2005-10-17  Simon Josefsson  <jas@extundo.com>
10937
10938         * m4/md5.m4: Remove call to uint32_t.m4.
10939
10940 2005-10-17  Simon Josefsson  <jas@extundo.com>
10941
10942         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
10943
10944         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
10945         md5.h.
10946
10947         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
10948
10949         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
10950
10951 2005-10-17  Simon Josefsson  <jas@extundo.com>
10952
10953         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
10954
10955 2005-10-17  Simon Josefsson  <jas@extundo.com>
10956
10957         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
10958
10959 2005-10-17  Simon Josefsson  <jas@extundo.com>
10960
10961         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
10962
10963         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
10964
10965 2005-10-17  Bruno Haible  <bruno@clisp.org>
10966
10967         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
10968         that it can also be used in a test.
10969
10970 2005-10-16  Bruno Haible  <bruno@clisp.org>
10971
10972         * gnulib-tool (func_emit_tests_Makefile_am): Also define
10973         TESTS_ENVIRONMENT, so that individual tests can augment it.
10974
10975         * gnulib-tool (func_create_testdir): Use an intermediate target for
10976         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
10977         macros, like $(ALLOCA_H), which cannot be passed through the command
10978         line.
10979
10980 2005-10-15  Simon Josefsson  <jas@extundo.com>
10981
10982         * modules/rijndael-tests: New file.
10983
10984         * modules/rijndael: New file.
10985
10986 2005-10-15  Simon Josefsson  <jas@extundo.com>
10987
10988         * m4/rijndael.m4: New file.
10989
10990 2005-10-15  Simon Josefsson  <jas@extundo.com>
10991
10992         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
10993
10994         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
10995
10996 2005-10-14  Simon Josefsson  <jas@extundo.com>
10997
10998         * tests/test-arcfour.c: New file.
10999
11000         * modules/arcfour, modules/arcfour-tests: New files.
11001
11002 2005-10-14  Simon Josefsson  <jas@extundo.com>
11003
11004         * m4/arcfour.m4: New file.
11005
11006 2005-10-14  Simon Josefsson  <jas@extundo.com>
11007
11008         * lib/arcfour.h, lib/arcfour.c: New files.
11009
11010 2005-10-14  Roland McGrath  <roland@redhat.com>
11011
11012         Import from libc.  [BZ #1331]
11013         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
11014         macro argument.
11015         Reported by Matej Vela <vela@debian.org>.
11016
11017 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11018
11019         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
11020         include <wchar.h>; no longer needed.
11021
11022 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11023
11024         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
11025
11026 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
11027         and  Ulrich Drepper  <drepper@redhat.com>
11028
11029         Import from libc.
11030         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
11031         instead of inline stream orientation test and two separate
11032         function calls.  Pay no attention to USE_IN_LIBIO.
11033
11034 2005-10-13  Simon Josefsson  <jas@extundo.com>
11035
11036         * modules/gc-hmac-md5-tests: New file.
11037
11038         * tests/test-gc-hmac-sha1.c: New file.
11039
11040         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
11041
11042         * modules/gc-hmac-md5-tests: New file.
11043
11044         * tests/test-gc-md5.c: New file.
11045
11046         * modules/gc-md5-tests: New file.
11047
11048 2005-10-13  Simon Josefsson  <jas@extundo.com>
11049
11050         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
11051         Move memory allocation outside of loop.
11052
11053 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11054
11055         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
11056         intermediate directory is in a read-only file system.  Problem
11057         reported by Eric Blake.
11058
11059 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
11060
11061         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
11062
11063 2005-10-12  Simon Josefsson  <jas@extundo.com>
11064
11065         * tests/test-hmac-sha1.c: New file.
11066
11067         * modules/hmac-sha1-tests: New file.
11068
11069         * modules/hmac-sha1: New file.
11070
11071 2005-10-12  Simon Josefsson  <jas@extundo.com>
11072
11073         * modules/gc-sha1: New file.
11074
11075 2005-10-12  Simon Josefsson  <jas@extundo.com>
11076
11077         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
11078
11079         * tests/test-gc-pbkdf2-sha1.c: New file.
11080
11081 2005-10-12  Simon Josefsson  <jas@extundo.com>
11082
11083         * modules/gc-md5, modules/gc-hmac-md5: New files.
11084
11085         * modules/gc (Files): Remove md5, memxor and hmac files.
11086
11087 2005-10-12  Simon Josefsson  <jas@extundo.com>
11088
11089         * m4/gc-pbkdf2-sha1.m4: New file.
11090
11091         * m4/gc-hmac-sha1.m4: New file.
11092
11093         * m4/gc-sha1: New file.
11094
11095         * m4/hmac-sha1.m4: New file.
11096
11097 2005-10-12  Simon Josefsson  <jas@extundo.com>
11098
11099         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
11100
11101         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
11102
11103 2005-10-12  Simon Josefsson  <jas@extundo.com>
11104
11105         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
11106         suggested by Bruno Haible <bruno@clisp.org>.
11107
11108 2005-10-12  Simon Josefsson  <jas@extundo.com>
11109
11110         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
11111
11112 2005-10-12  Simon Josefsson  <jas@extundo.com>
11113
11114         * lib/gc-pbkdf2-sha1.c: New file.
11115
11116         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
11117
11118 2005-10-12  Simon Josefsson  <jas@extundo.com>
11119
11120         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
11121
11122         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
11123
11124 2005-10-12  Simon Josefsson  <jas@extundo.com>
11125
11126         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
11127         GC_USE_HMAC_MD5, respectively.
11128
11129         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
11130         (gc_md5): Fix typo.
11131
11132         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
11133
11134         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
11135
11136         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
11137
11138 2005-10-12  Bruno Haible  <bruno@clisp.org>
11139
11140         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
11141         Reported by Stepan Kasal <kasal@ucw.cz>.
11142
11143 2005-10-11  Simon Josefsson  <jas@extundo.com>
11144
11145         * tests/test-crc.c: New file.
11146
11147         * modules/crc, modules/crc-tests: New files.
11148
11149 2005-10-11  Simon Josefsson  <jas@extundo.com>
11150
11151         * m4/crc.m4: New file.
11152
11153 2005-10-11  Simon Josefsson  <jas@extundo.com>
11154
11155         * lib/gc.h: Add gc_hash and gc_hash_buffer.
11156
11157         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
11158
11159         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
11160
11161 2005-10-11  Simon Josefsson  <jas@extundo.com>
11162
11163         * lib/crc.h, lib/crc.c: New files.
11164
11165         * lib/gc.h (gc_hash_buffer): Add doc.
11166
11167 2005-10-11  Bruno Haible  <bruno@clisp.org>
11168
11169         * modules/c-strcasestr: New file.
11170         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
11171
11172 2005-10-11  Bruno Haible  <bruno@clisp.org>
11173
11174         * modules/c-strcase: New file.
11175         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
11176
11177 2005-10-11  Bruno Haible  <bruno@clisp.org>
11178
11179         * lib/strcasecmp.c: Include limits.h.
11180         (strcasecmp): Avoid integer overflow on exotic platforms.
11181         * lib/strncasecmp.c: Include limits.h.
11182         (strncasecmp): Avoid integer overflow on exotic platforms.
11183         Reported by Paul Eggert.
11184
11185 2005-10-11  Bruno Haible  <bruno@clisp.org>
11186
11187         * lib/c-strcasestr.h: New file, from GNU gettext.
11188         * lib/c-strcasestr.c: New file, from GNU gettext.
11189
11190 2005-10-11  Bruno Haible  <bruno@clisp.org>
11191
11192         * lib/c-strcase.h: New file, from GNU gettext.
11193         * lib/c-strcasecmp.c: New file, from GNU gettext.
11194         * lib/c-strncasecmp.c: New file, from GNU gettext.
11195
11196 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
11197
11198         * modules/mempcpy (License): GPL -> LGPL.
11199         * modules/strchrnul (License): Likewise.
11200         * modules/sysexits (License): Likewise.
11201
11202 2005-10-08  Simon Josefsson  <jas@extundo.com>
11203
11204         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
11205
11206 2005-10-07  Simon Josefsson  <jas@extundo.com>
11207
11208         * m4/memxor.m4: Remove gl_C_RESTRICT call.
11209
11210 2005-10-06  Simon Josefsson  <jas@extundo.com>
11211
11212         * tests/test-hmac-md5.c: New file.
11213
11214         * modules/hmac-md5-tests: New file.
11215
11216         * modules/hmac-md5: New file.
11217
11218 2005-10-06  Simon Josefsson  <jas@extundo.com>
11219
11220         * m4/hmac-md5.m4: New file.
11221
11222         * m4/memxor.m4: Require gl_C_RESTRICT.
11223
11224 2005-10-06  Simon Josefsson  <jas@extundo.com>
11225
11226         * lib/memxor.c (memxor): Avoid casts and warnings.
11227
11228 2005-10-06  Simon Josefsson  <jas@extundo.com>
11229
11230         * lib/hmac-md5.c: New file.
11231
11232         * lib/hmac.h: New file.
11233
11234 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
11235
11236         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
11237         promotes to int, not unsigned int, to catch the AIX 5.3
11238         compiler bug.
11239
11240 2005-10-05  Simon Josefsson  <jas@extundo.com>
11241
11242         * modules/memxor: New file.
11243
11244         * modules/iconv (Files): Move config.rpath to havelib, it is used
11245         there.
11246
11247         * modules/havelib (Files): Add config.rpath.
11248
11249 2005-10-05  Simon Josefsson  <jas@extundo.com>
11250
11251         * m4/memxor.m4: New file.
11252
11253 2005-10-05  Simon Josefsson  <jas@extundo.com>
11254
11255         * lib/memxor.c (memxor): Fix compiler error.
11256
11257         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
11258         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
11259
11260         * lib/memxor.h, lib/memxor.c: New files.
11261
11262         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
11263         we assume all systems have it, suggested by Jim Meyering
11264         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
11265         any systems lack sys/socket.h; mingw32 is known to lack it, but we
11266         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
11267         same reasons.
11268
11269 2005-10-05  Simon Josefsson  <jas@extundo.com>
11270
11271         * config/srclist.txt: Add glibc bug 1423 for md5.h.
11272
11273 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11274
11275         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
11276         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
11277         needed, since the source code now assumes these .h files.
11278
11279 2005-10-05  Derek Price  <derek@ximbiot.com>
11280
11281         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
11282
11283 2005-10-05  Bruno Haible  <bruno@clisp.org>
11284
11285         * modules/stdint (License): Change to LGPL.
11286
11287 2005-10-04  Simon Josefsson  <jas@extundo.com>
11288
11289         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
11290         D. Baushke" <mdb@gnu.org>.
11291
11292 2005-10-04  Bruno Haible  <bruno@clisp.org>
11293
11294         * lib/verify.h (verify_true): Provide alternative definition for C++.
11295
11296 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
11297
11298         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
11299         (SSIZE_MAX): New macro, if not already defined.
11300         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
11301         than 2 GiB.
11302
11303 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11304
11305         Sync from coreutils.
11306         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
11307         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
11308         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
11309         ULLONG_MAX doesn't work with 2.7.2.1.
11310
11311 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11312
11313         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
11314         From Ben Pfaff.
11315
11316         * modules/exclude (Depends-on): Depend on verify.
11317         * modules/strtoimax (Depends-on): Likewise.
11318         * modules/utimecmp (Depends-on): Likewise.
11319
11320 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
11321
11322         * lib/exclude.c: Include verify.h.
11323         (verify): Remove.  All callers changed to use verify.h's version.
11324         * lib/strtoimax.c: Likewise.
11325         * lib/utimecmp.c: Likewis.e
11326
11327         Sync from coreutils.
11328         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
11329         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
11330         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
11331         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
11332         bother returning ENOSYS if settimeofday or stime fails; just let
11333         them return whatever errno they want to return.
11334         * lib/utimens.c: Include unistd.h, for dup2.
11335         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
11336         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
11337
11338 2005-10-02  Jim Meyering  <jim@meyering.net>
11339
11340         Sync from coreutils.
11341         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
11342         from glibc-2.2.5 that fails for read-only files.
11343
11344 2005-10-02  Jim Meyering  <jim@meyering.net>
11345
11346         Sync from coreutils.
11347         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
11348         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
11349         `#if HAVE_CONFIG_H'.
11350         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
11351         Remove AT_FDCWD test.
11352         Do not consume the fd unless successful.
11353         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
11354         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
11355         block, so that we don't even try to compile it if settimeofday is
11356         available.  This works around a compilation failure on OSF1 V5.1,
11357         due to stime requiring a `long int*' while tv_sec is `int'.
11358
11359 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
11360
11361         Sync from coreutils.
11362         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
11363         against `yes', rather than just testing for nonempty.
11364
11365 2005-10-01  Simon Josefsson  <jas@extundo.com>
11366
11367         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
11368         and Darwin.
11369
11370         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
11371         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
11372         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
11373         freeaddrinfo and gai_strerror are declared by the POSIX headers.
11374         Check if struct addrinfo is declared.
11375
11376 2005-10-01  Simon Josefsson  <jas@extundo.com>
11377
11378         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
11379         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
11380         AI_* and EAI_* definitions.  Protect function declarations.
11381
11382 2005-10-01  Jim Meyering  <jim@meyering.net>
11383
11384         Sync from coreutils.
11385
11386         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
11387         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
11388         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
11389         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
11390         in the inet and nsl libraries.  Required on Solaris 5.7.
11391
11392 2005-10-01  Jim Meyering  <jim@meyering.net>
11393
11394         Sync from coreutils.
11395         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
11396         in the inet and nsl libraries.  Required on Solaris 5.7.
11397
11398 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
11399
11400         * lib/getdelim.c (getdelim): Remove unused variables.
11401
11402 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
11403
11404         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
11405         so that the code works even with ancient cpp.  Portability problem
11406         with GCC 2.7.2.1 reported by Thomas M.Ott.
11407
11408 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
11409
11410         * modules/regex (Depends-on): Add strcase.
11411
11412         * modules/gethostname (Licence): Change from GPL to LGPL, since
11413         gethostname.c is a trivial implementation of a standard library
11414         function.
11415         * modules/poll (License): Change from GPL to LGPL, since it's
11416         derived from LGPL code.
11417
11418 2005-09-27  Jim Meyering  <jim@meyering.net>
11419
11420         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
11421         HAVE_CONFIG_H.
11422
11423         * lib/intprops.h (signed_type_or_expr__): Define.
11424         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
11425         for unsigned types.
11426
11427 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11428
11429         * lib/verify.h (verify_expr): Remove, replacing with:
11430         (verify_true): New macro that returns true instead of void.
11431         (verify_type__): Remove.
11432         (verify): Use verify_true rather than verify_type__.
11433
11434 2005-09-26  Bruno Haible  <bruno@clisp.org>
11435
11436         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
11437         is necessary.
11438         (lib_SOURCES): Remove mbchar.c.
11439         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
11440         (Files): Add m4/mbrtowc.m4.
11441         * modules/mbiter: Likewise.
11442         * modules/mbuiter: Likewise.
11443
11444 2005-09-26  Bruno Haible  <bruno@clisp.org>
11445
11446         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
11447         compile mbchar.c if they are not both present.
11448         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
11449         * m4/mbiter.m4 (gl_MBITER): Likewise.
11450         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
11451         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
11452         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
11453
11454 2005-09-25  Jim Meyering  <jim@meyering.net>
11455
11456         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
11457         also uses socklen_t.
11458
11459 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11460
11461         * lib/utimens.c (ENOSYS): Define if not already defined.
11462         (futimens): Support having a null PATH if the file descriptor
11463         is nonnegative.
11464
11465         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
11466         Remove.
11467         (__attribute): Define to empty unless GCC 3.1 or later.
11468         This works around a core dump on OpenBSD 3.4, which has GCC
11469         2.95.3, which dumps core when given __attribute__(()).  It also
11470         simplifies other tests, since we really don't want to bother with
11471         worrying about which ancient version of GCC supported what.
11472         Original problem reported by Yoann Vandoorselaere, with part of
11473         the fix suggested by Derek Price.
11474
11475 2005-09-24  Jim Meyering  <jim@meyering.net>
11476
11477         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
11478         so we can once again use a positive bitfield width of 1 -- now we
11479         don't have to explain why we were using a bitfield width of 2.
11480
11481 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11482
11483         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
11484         and similarly for the other external symbols.  Problem reported
11485         by James Gallager.
11486
11487         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
11488         bug reported by Jim Meyering.
11489
11490         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
11491         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
11492         not needed, since socklen is a prerequisite module.
11493
11494 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11495
11496         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
11497         Problem reported by Eric Blake.
11498         (getaddrinfo): Initialize se so that it's not garbage.
11499         Redo internal storage allocation so that it doesn't make unportable
11500         assumptions about alignment.
11501         Fix a memory leak.
11502
11503         * lib/utimens.c (futimens): Use futimesat if available.
11504         Prefer it to futimes since it doesn't have the futimes bug.
11505
11506         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
11507         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
11508         Instead, declare a function that returns a pointer to an array,
11509         and use verify_type__ to declare the size of the array.
11510         Problem and germ of a solution reported by Bruno Haible.
11511         (verify_type__): Use 2, not 1, for bitfield size, to avoid
11512         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
11513
11514 2005-09-23  Jim Meyering  <jim@meyering.net>
11515
11516         Sync from coreutils.
11517         Correct build failure (socklen_t not defined) on at least
11518         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
11519         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
11520
11521 2005-09-23  Jim Meyering  <jim@meyering.net>
11522
11523         * modules/getaddrinfo (Depends-on): Add socklen.
11524
11525 2005-09-23  Bruno Haible  <bruno@clisp.org>
11526
11527         * tests/test-verify.c: New file.
11528
11529 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11530
11531         Sync from coreutils.
11532
11533         * modules/argmatch (Depends-on): Add verify.
11534         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
11535         unistd-safer.
11536         * modules/save-cwd (Depends-on): Likewise.
11537
11538         * modules/openat (Files): Add lib/openat-die.c.
11539         (Depends-on): Remove error, exitfail.
11540         Add dirname.
11541
11542         * modules/verify: New file.
11543         * MODULES.html.sh (Diagnostics <assert.h>): New section,
11544         with "verify" module.
11545
11546 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11547
11548         Sync from coreutils.
11549
11550         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
11551         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
11552         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
11553         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
11554         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
11555         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
11556         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
11557         Don't bother checking for string.h, stdlib.h, unistd.h.
11558         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
11559         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
11560         module's job.
11561         * m4/jm-macros.m4 (gl_MACROS): Likewise.
11562         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
11563
11564         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
11565         (gl_GETDATE): Use it.
11566
11567         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
11568
11569 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11570
11571         Sync from coreutils.
11572
11573         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
11574         stat-time.h.
11575         * lib/argmatch.h: Include verify.h
11576         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
11577         (ARGMATCH_ASSERT): Remove; unused.
11578         * lib/canonicalize.c: Assume STDC_HEADERS.
11579         * lib/exclude.c: Include "strcase.h".
11580         * lib/regex_internal.h [!defined _LIBC]: Likewise.
11581         * lib/getusershell.c: Include stdio--.h rather than stdio.h
11582         and stdio-safer.h.
11583         (getusershell): Call fopen, not fopen_safer.
11584         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
11585         Do not include unistd-safer.h.
11586         (save_cwd): Don't call fd_safer; no longer needed
11587         now that we include fcntl--.h.
11588
11589         * lib/getdate.y (relative_time): New type.
11590         (RELATIVE_TIME_0): New constant.
11591         (parser_control): Use relative_time instead of doing it ourselves.
11592         (%union): Add new relative_time rel member.
11593         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
11594         Now typeless.
11595         (relunit, relunit_snumber): Now of type rel.
11596         (zone, rel, relunit, get_date): Adjust to above changes.
11597
11598         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
11599         Do not include unistd-safer.h.
11600         (getloadavg): Don't call fd_safer; no longer needed
11601         now that we include fcntl--.h.
11602
11603         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
11604         (make_dir_parents): Treat ENOSYS like EEXIST.
11605
11606         Improve quality of diagnostics on restore_cwd failure.
11607         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
11608         (make_dir_parents): Last arg is now int * (for errno), not bool *.
11609         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
11610         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
11611         each time through the loop.  Do not diagnose restore_cwd failure;
11612         that is the caller's job (and perhaps the caller does not care).
11613
11614         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
11615         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
11616         If the file already exists but is not a directory, don't bother
11617         to try to make its parents.
11618         Close potential file descriptor leak if we can't chdir("/") (!).
11619         Don't always return true if chdir($PWD) fails; return true only
11620         if the requested action was done successfully (except for the
11621         chdir($PWD)).
11622         Don't log final directory unless we actually made it.
11623         Refactor to avoid duplicate code to fix up permissions.
11624         Don't attempt to fix up parent permissions if chdir($PWD) fails.
11625
11626         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
11627         to make it a bit faster and (I hope) clearer.
11628         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
11629         Fix bug in formats like %2N.
11630
11631         * lib/verify.h: New file.
11632
11633 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11634
11635         Sync from coreutils.
11636         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
11637
11638 2005-09-22  Jim Meyering  <jim@meyering.net>
11639
11640         Sync from coreutils.
11641
11642         * m4/lstat.m4 (gl_FUNC_LSTAT):
11643         Use AC_LIBSOURCES to require lstat.c and lstat.h.
11644         Remove obsolete comment.
11645         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
11646         * m4/xstrtod.m4: Likewise.
11647
11648         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
11649
11650 2005-09-22  Jim Meyering  <jim@meyering.net>
11651
11652         Sync from coreutils.
11653
11654         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
11655
11656         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
11657         the .tm_year member, since otherwise gcc-4.0 would now warn about
11658         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
11659
11660         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
11661         order to avoid an unsuppressible warning from gcc on 64-bit systems.
11662
11663         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
11664         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
11665         when run in a time zone for which daylight savings time is in effect
11666         for the starting date.
11667
11668         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
11669         stop us from restricting permissions of just-created absolute-named
11670         directories.
11671         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
11672         to restore initial working directory.
11673         * lib/mkdir-p.c (make_dir_parents): New parameter:
11674         different_working_dir, to tell caller if/when we change the working
11675         directory and are unable to return to the initial one.
11676         * lib/mkdir-p.h (make_dir_parents): Update prototype.
11677         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
11678         `return false'.  This fixes a bug introduced on 2004-07-30.
11679
11680         * lib/openat.c (fdopendir): Be sure to close the supplied
11681         file descriptor before returning.  This makes our replacement
11682         implementation a little closer to Solaris's, where fdopendir
11683         ties the file descriptor to the returned DIR* pointer.
11684         * lib/openat.c (unlinkat): New function.
11685         * lib/openat.h (unlinkat): Add prototype.
11686         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
11687         (openat_restore_fail): Rename from openat_restore_die.
11688         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
11689
11690         Provide an alternative to exiting immediately upon save_cwd or
11691         restore_cwd failure.  Now, an application can arrange e.g.,
11692         to perform a longjump in that case.
11693         * lib/openat.c: Include dirname.h.
11694         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
11695         (rpl_openat, fdopendir, fstatat): Call openat_save_die
11696         and openat_restore_die rather than calling error directly.
11697         Don't include "error.h" or "exitfail.h"; they're no longer needed.
11698
11699         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
11700         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
11701         define.
11702
11703         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
11704         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
11705                             int utc, int nanoseconds);
11706         Background:
11707         date should not have to allocate a megabyte of virtual memory to
11708         handle a format argument like +%1048575T.  When implemented with
11709         strftime, it must allocate such a buffer, use strftime to fill it
11710         in, print it, then free it.
11711         With fprintftime, it simply prints everything and exits.
11712         With no need for memory allocation, that's one fewer way to fail.
11713         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
11714         optional field width, not before, so we accept %9:z, not %:9z.
11715         (my_strftime): Be sure to use L_('x') for literals.
11716
11717         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
11718         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
11719         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
11720         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
11721         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
11722         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
11723         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
11724         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
11725         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
11726         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
11727         * lib/xgethostname.c, lib/xreadlink.c:
11728         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
11729
11730         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
11731         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
11732         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
11733         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
11734         and don't include <sys/file.h>).
11735
11736 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
11737
11738         Sync from coreutils.
11739
11740         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
11741         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
11742         [!LDAV_DONE]: Avoid unused variable warning.
11743
11744 2005-09-21  Bruno Haible  <bruno@clisp.org>
11745
11746         * lib/unicodeio.h (unicode_to_mb): New declaration.
11747
11748 2005-09-20  Derek Price  <derek@ximbiot.com>
11749
11750         * lib/getaddrinfo.c: Don't include <netdb.h> included from
11751         getaddrinfo.h.
11752
11753 2005-09-20  Bruno Haible  <bruno@clisp.org>
11754
11755         * gnulib-tool: Remove trailing slashes from the values specified for
11756         --source-base, --m4-base, --tests-base, --aux-dir.
11757         Suggested by Simon Josefsson <jas@extundo.com>.
11758
11759 2005-09-20  Bruno Haible  <bruno@clisp.org>
11760
11761         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
11762         func_modules_to_filelist, func_import, func_create_testdir): Make all
11763         sorting results locale-independent, so that gnulib-cache.m4 doesn't
11764         change when gnulib-tool is invoked in a different locale.
11765
11766 2005-09-19  Simon Josefsson  <jas@extundo.com>
11767
11768         * m4/socklen.m4: Fix typo.
11769
11770 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11771
11772         Use a consistent style for including <config.h>.
11773         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
11774         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
11775         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
11776         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
11777         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
11778         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
11779         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
11780         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
11781         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
11782         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
11783         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
11784         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
11785         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
11786         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
11787         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
11788         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
11789         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
11790         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
11791         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
11792         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
11793         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
11794         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
11795         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
11796         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
11797         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
11798         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
11799         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
11800         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
11801         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
11802         lib/xstrtoumax.c, lib/yesno.c:
11803         Standardize inclusion of config.h.
11804         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
11805         lib/inttostr.h:  Removed inclusion of config.h from header files.
11806         * lib/inttostr.c:  Adjusted in-tree users.
11807         * lib/timespec.h: Remove superfluous warning to include config.h.
11808         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
11809         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
11810         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
11811         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
11812         config.h with HAVE_CONFIG_H.
11813
11814 2005-09-19  Jim Meyering  <jim@meyering.net>
11815
11816         * modules/pathmax (License): Change to LGPL.
11817
11818 2005-09-19  Derek Price  <derek@ximbiot.com>
11819
11820         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
11821
11822 2005-09-19  Bruno Haible  <bruno@clisp.org>
11823
11824         * gnulib-tool (import): Provide default for --tests-base.
11825
11826 2005-09-19  Bruno Haible  <bruno@clisp.org>
11827
11828         * doc/quote.texi: New file, extracted from gnulib.texi.
11829         * doc/ctime.texi: New file, extracted from gnulib.texi.
11830         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
11831         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
11832         * doc/gnulib.texi: Include them.
11833
11834 2005-09-18  Bruno Haible  <bruno@clisp.org>
11835
11836         Portability fix.
11837         * gnulib-tool (func_readlink): New function.
11838         (func_ln_if_changed): Use it.
11839
11840 2005-09-18  Bruno Haible  <bruno@clisp.org>
11841
11842         * gnulib-tool: Support --with-tests also with --import.
11843         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
11844         (func_import): Use variables $testsbase and $inctests. Emit a
11845         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
11846         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
11847         SUBDIRS += $testsdir.
11848         (func_create_testdir): Update.
11849
11850 2005-09-18  Bruno Haible  <bruno@clisp.org>
11851
11852         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
11853         instead of $dry_run.
11854         (func_cp_if_changed, func_mv_if_changed): Remove functions.
11855         (func_ln_if_changed): Don't handle dry-run here.
11856         (func_import): In dry-run mode, detect more precisely which actions
11857         would be performed, and don't use "...ing" verbs.
11858
11859 2005-09-18  Bruno Haible  <bruno@clisp.org>
11860
11861         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
11862         (func_import): Use join on two temporary files instead of three nested
11863         loops, in order to determine which files are new or old.
11864
11865 2005-09-18  Bruno Haible  <bruno@clisp.org>
11866
11867         * gnulib-tool (func_import): Comment out code that spits out the
11868         new files with --dry-run.
11869
11870 2005-09-18  Bruno Haible  <bruno@clisp.org>
11871
11872         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
11873
11874 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11875
11876         * lib/stat-time.h: New file.
11877         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
11878         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
11879         in a different way.
11880         (timespec_cmp): New function.
11881         * lib/utimecmp.c: Include stat-time.h.
11882         (SYSCALL_RESOLUTION): Depend on whether various struct stat
11883         members exist, not on the obsolescent ST_MTIM_NSEC.
11884         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
11885
11886 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11887
11888         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
11889
11890 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11891
11892         * MODULES.html.sh (File system functions): Add stat-time.
11893         * modules/stat-time: New file.
11894         * modules/timespec (Files): Remove m4/st_mtim.m4; this
11895         is now done in a different way, by the stat-time module.
11896         * modules/utimecmp (Depends-on): Add stat-time.
11897
11898 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11899
11900         * m4/st_mtim.m4: Remove.  Superseded by...
11901         * m4/stat-time.m4: New file.
11902         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
11903         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
11904
11905 2005-09-15  Derek Price  <derek@ximbiot.com>
11906
11907         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
11908
11909 2005-09-15  Derek Price  <derek@ximbiot.com>
11910
11911         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
11912         * lib/regex_internal.c: Ditto, using this...
11913         (__GNUC_PREREQ): ...new macro.
11914         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
11915         using...
11916         (__GNUC_PREREQ): ...this new macro.
11917
11918         * lib/strstr.h: Include string.h. Define strstr as a macro here.
11919
11920 2005-09-15  Derek Price  <derek@ximbiot.com>
11921             Paul Eggert  <eggert@cs.ucla.edu>
11922
11923         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
11924         changes, consolidating in...
11925         * lib/regex_internal.h: ...this file.
11926
11927 2005-09-13  Jim Meyering  <jim@meyering.net>
11928
11929         * lib/canon-host.c: Filter through gnu indent and reword comments
11930         slightly.
11931         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
11932
11933 2005-09-13  Derek Price  <derek@ximbiot.com>
11934
11935         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
11936         failure.
11937         Reported by Jim Meyering  <jim@meyering.net>.
11938
11939 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
11940
11941         * lib/base64.c: Typo.
11942         (base64_encode): Put b64str in initialized data section.
11943
11944 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11945
11946         Merge glibc and coreutils changes into gnulib, plus a few
11947         extra fixes.
11948         * lib/md5.c: Use #error rather than a string.
11949         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
11950         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
11951         (__attribute__): Define to empty for non recent-GCC.
11952         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
11953         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
11954         Renamed from their non-__ counterparts, with new macros replacing
11955         them if not _LIBC.  Add __THROW attribute.
11956         (rol): Remove.
11957         (struct md5_ctx): Align buffer if using GCC.
11958         * lib/sha1.h (struct sha1_ctx): Likewise.
11959         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
11960         The old name was backwards.
11961         (NOTSWAP): Remove; not used.
11962         (rol): New macro, moved here from md5.h.
11963         (sha1_process_block): Remove a FIXME that doesn't make sense.
11964
11965 2005-09-12  Derek Price  <derek@ximbiot.com>
11966
11967         Return usable errors from canon-host.
11968         * lib/canon-host.h: New file.
11969         * lib/canon-host.c (canon_host): Wrap...
11970         (canon_host_r): ...this new function, which now relies exclusively on
11971         getaddrinfo.
11972         (ch_strerror): New function.
11973         (last_cherror): New global.
11974         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
11975         interface.
11976         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
11977         void *.
11978         (freeaddrinfo): Free ai->ai_canonname when set.
11979
11980 2005-09-12  Derek Price  <derek@ximbiot.com>
11981
11982         Make canon-host require getaddrinfo.
11983         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
11984         AC_LIBSOURCE canon-host.h.  Call...
11985         (gl_PREREQ_CANON_HOST): ...this new function, which requires
11986         gl_GETADDRINFO.
11987         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
11988
11989 2005-09-12  Derek Price  <derek@ximbiot.com>
11990
11991         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
11992         LGPL.
11993         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
11994
11995 2005-09-12  Derek Price  <derek@ximbiot.com>
11996
11997         * lib/gai_strerror.c: Include config.h when available.  Include
11998         getaddrinfo.h before other headers to test interface.
11999         Reported by Larry Jones <lawrence.jones@ugs.com>.
12000
12001 2005-09-12  Derek Price  <derek@ximbiot.com>
12002             Paul Eggert  <eggert@cs.ucla.edu>
12003
12004         * modules/glob (Files): Add glob-libc.h.
12005
12006 2005-09-12  Derek Price  <derek@ximbiot.com>
12007             Paul Eggert  <eggert@cs.ucla.edu>
12008
12009         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
12010         glob_.h, glob-libc.h.
12011         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
12012
12013 2005-09-12  Derek Price  <derek@ximbiot.com>
12014             Paul Eggert  <eggert@cs.ucla.edu>
12015
12016         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
12017         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
12018         protecting things that should be done only in gnulib contexts.
12019         * lib/glob_.h: New file, containing only the glob things needed for
12020         gnulib.
12021         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
12022         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
12023         (glob, globfree, glob_pattern_p): Now defined simply in terms of
12024         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
12025         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
12026         and to respect the namespace rules better.
12027
12028 2005-09-08  Simon Josefsson  <jas@extundo.com>
12029
12030         * modules/socklen: New file.
12031
12032 2005-09-08  Simon Josefsson  <jas@extundo.com>
12033
12034         * m4/socklen.m4: New file.
12035
12036 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12037
12038         * modules/utimens (Files): Add m4/utimbuf.m4, since
12039         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
12040         Reported by Sergey Poznyakoff.
12041
12042 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12043
12044         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
12045         definitions, since that's the preferred style in glibc.
12046         Fix a minor spacing issue, and update copyright notice to match
12047         glibc's.
12048
12049 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
12050
12051         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
12052
12053 2005-09-06  Simon Josefsson  <jas@extundo.com>
12054
12055         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
12056         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
12057
12058 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12059
12060         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
12061         warning.
12062
12063 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
12064
12065         * config/srclist.txt: Add glibc bug 1302.
12066
12067 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
12068
12069         Change bitset word type from unsigned int to unsigned long int,
12070         as this has better performance on typical 64-bit hosts.
12071         Port bitset code to hosts with unusual word sizes.
12072         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
12073         (build_collating_symbol):
12074         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
12075         argument is a bitset.  This is merely a style issue, but it makes
12076         it clearer that an entire array is expected.
12077         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
12078         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
12079         Port to the case where bitset_word is not the same as unsigned int.
12080         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12081         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
12082         Likewise.
12083         * lib/regexec.c (check_dst_limits_calc_pos_1,
12084         check_subexp_matching_top):
12085         (build_trtable, group_nodes_into_DFAstates):
12086         Likewise.
12087         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
12088         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
12089         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
12090         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
12091         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
12092         * lib/regcomp.c (optimize_subexps, lower_subexp):
12093         Work even if bitset_word has holes in its bitwise representation.
12094         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
12095         * lib/regexec.c (check_dst_limits_calc_pos_1,
12096         check_subexp_matching_top):
12097         Likewise.
12098         * lib/regex_internal.c (re_string_reconstruct):
12099         Don't assume UCHAR_MAX == 255.
12100         * lib/regex_internal.h (bitset_set_all): Likewise.
12101         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
12102         All uses changed.
12103         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
12104         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
12105         All uses changed.
12106         (BITSET_WORD_MAX): New macro.
12107         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
12108         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
12109         (bitset_empty, bitset_copy):
12110         Prefer sizeof (bitset) to multiplying it out ourselves.
12111         (bitset_not_merge): Remove; unused.
12112         (bitset_contain): Return bool, not unsigned int with one bit on.
12113         All callers changed.
12114         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
12115         alignment than re_node_set; do this by defining a new internal
12116         type struct dests_alloc and using it to allocate memory.
12117
12118 2005-09-05  Bruno Haible  <bruno@clisp.org>
12119
12120         * gnulib-tool (func_import): Fix comparison in handling of symbolic
12121         links.
12122
12123 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
12124
12125         * modules/size_max (Makefile.am): Add size_max.h
12126
12127 2005-09-04  Derek Price  <derek@ximbiot.com>
12128
12129         * gnulib-tool (func_import): Fix reversed $symbolic logic.
12130
12131 2005-09-03  Simon Josefsson  <jas@extundo.com>
12132
12133         * gnulib-tool: Fix typo.
12134
12135 2005-09-03  Simon Josefsson  <jas@extundo.com>
12136
12137         * config/srclist.txt: Add glibc bug 1293.
12138
12139 2005-09-03  Derek Price  <derek@ximbiot.com>
12140
12141         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
12142         From Larry Jones <lawrence.jones@ugs.com>.
12143
12144 2005-09-02  Simon Josefsson  <jas@extundo.com>
12145
12146         * modules/socklen: New file.
12147
12148 2005-09-02  Simon Josefsson  <jas@extundo.com>
12149
12150         * modules/havelib: New module.
12151
12152         * modules/gettext, modules/iconv, modules/lock, modules/readline:
12153         Use havelib.
12154
12155 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12156
12157         Check for arithmetic overflow when calculating sizes, to prevent
12158         some buffer-overflow issues.  These patches are conservative, in the
12159         sense that when I couldn't determine whether an overflow was possible,
12160         I inserted a run-time check.
12161         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
12162         macros.
12163         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
12164         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
12165         (re_xnrealloc, re_x2nrealloc): New inline functions.
12166         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
12167         parse_bracket_exp):
12168         (build_equiv_class, build_charclass): Check for arithmetic overflow
12169         in size expression calculations.
12170         * lib/regex_internal.c (re_string_realloc_buffers):
12171         (build_wcs_upper_buffer, re_node_set_add_intersect):
12172         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
12173         (re_dfa_add_node, register_state): Likewise.
12174         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
12175         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
12176         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
12177         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
12178
12179 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
12180
12181         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
12182         m4/ulonglong.m4.  Problem reported by Martin Lambers.
12183
12184 2005-09-02  Bruno Haible  <bruno@clisp.org>
12185
12186         Support for lib vs. lib64 distinction on biarch platforms.
12187         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
12188         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
12189         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
12190
12191 2005-09-02  Bruno Haible  <bruno@clisp.org>
12192
12193         * gnulib-tool (import): In the other first-use case, provide defaults
12194         as well.
12195
12196 2005-09-02  Bruno Haible  <bruno@clisp.org>
12197
12198         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
12199         patches not yet found in the latest gettext release.
12200
12201 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12202
12203         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
12204         to avoid a collision with bits/local_lim.h in glibc.
12205         All uses changed.  Problem reported by Dmitry V. Levin in
12206         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
12207
12208         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
12209         bugs in int versus size_t comparisons.
12210         (re_string_context_at): Fix bug where the code assumed that
12211         Idx is signed.
12212
12213         Use bool where appropriate.
12214         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
12215         All callers changed.
12216         (calc_eclosure_iter): Likewise, for ROOT arg.
12217         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
12218         (build_charclass_op): Likewise, for NON_MATCH arg.
12219         * lib/regex_internal.c (re_string_allocate, re_string_construct):
12220         (re_string_construct_common): Likewise, for ICASE arg.
12221         * lib/regexec.c (re_search_2_stub, re_search_stub):
12222         Likewise, for RET_LEN arg.
12223         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
12224         (set_regs): Likewise, for FL_BACKTRACK arg.
12225         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
12226         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
12227         (calc_eclosure_iter, parse_bracket_exp):
12228         Use bool for internal variables that are booleans.
12229         * lib/regexec.c (re_search_internal, check_matching,
12230         proceed_next_node):
12231         (set_regs, build_sifted_states, sift_states_bkref):
12232         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
12233         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
12234         (find_collation_sequence_value):
12235         Likewise.
12236         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
12237         (re_node_set_compare):
12238         Return bool, not int. All callers changed.
12239         * lib/regexec.c (check_halt_node_context, check_dst_limits):
12240         (build_trtable, check_node_accept): Likewise.
12241         * lib/regex_internal.h: Include stdbool.h.
12242
12243         Fix bugs uncovered when converting to bool.
12244         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
12245         failure instead of charging ahead blindly.
12246         * lib/regex_internal.c (register_state): Likewise.
12247         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
12248         for freeing internal storage.
12249         (group_nodes_into_DFA_states): Use unsigned int, not int, for
12250         bitset pieces used as boolean, to avoid undefined behavior
12251         on hosts that do int overflow checking.
12252
12253 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12254
12255         * config/srclist.txt: Add glibc bugs 1285-1287.
12256
12257 2005-09-01  Jim Meyering  <jim@meyering.net>
12258
12259         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
12260         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
12261         Require gl_STAT_MACROS, too.
12262
12263 2005-09-01  Bruno Haible  <bruno@clisp.org>
12264
12265         * gnulib-tool (import): In the first-use case, provide defaults.
12266
12267 2005-09-01  Bruno Haible  <bruno@clisp.org>
12268
12269         * gnulib-tool (func_import): Remove the .tmp files.
12270
12271 2005-09-01  Bruno Haible  <bruno@clisp.org>
12272
12273         * gnulib-tool (func_import): Fix handling of symbolic links.
12274
12275 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12276
12277         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
12278         old glibc regex code mishandles strings longer than 2**31 bytes.
12279         This patch fixes this when the regex code is used in gnulib
12280         (i.e., outside glibc).
12281
12282         This patch should not affect the use of the regex code inside
12283         glibc.  No doubt this problem also needs to be handled for glibc
12284         as well, but the result will be an incompatible change to the
12285         glibc ABI, and the old ABI will have to be supported too.  That
12286         can be the the subject for another patch.
12287
12288         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
12289         governing whether the rest of this patch is active.  By default,
12290         the macro is disabled and the patch has no effect.
12291         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
12292         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
12293         (struct re_pattern_buffer, re_search, re_search_2, re_match):
12294         (re_match_2, re_set_registers): Use the new types.
12295         * lib/regex_internal.h (Idx, re_hashval_t): New types.
12296         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
12297         New macros.
12298         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
12299         (re_string_context_at, bin_tree_t, re_dfastate_t):
12300         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
12301         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
12302         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
12303         (re_string_char_size_at, re_string_wchar_at):
12304         (re_string_elem_size_at):
12305         Use the new types and macros to port to 64-bit hosts.
12306         Use unsigned types for internal values, so that the code
12307         mostly works even for arrays larger than SSIZE_MAX.
12308         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
12309         (search_duplicated_node, calc_eclosure_iter, fetch_number):
12310         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
12311         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
12312         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
12313         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
12314         (calc_inveclosure, parse_dup_op, build_range_exp):
12315         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
12316         (fetch_number, create_token_tree, mark_opt_subexp):
12317         Likewise.
12318         * lib/regex_internal.c (re_string_construct_common,
12319         create_ci_newstate):
12320         (create_cd_newstate, re_string_allocate, re_string_construct):
12321         (re_string_realloc_buffers, build_wcs_upper_buffer):
12322         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
12323         (re_string_reconstruct, re_string_peek_byte_case):
12324         (re_string_fetch_byte_case, re_string_context_at):
12325         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
12326         (re_node_set_init_copy, re_node_set_add_intersect):
12327         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
12328         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
12329         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
12330         (re_acquire_state, re_acquire_state_context, register_state):
12331         Likewise.
12332         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
12333         search_cur_bkref_entry):
12334         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
12335         (re_search_internal, re_search_2_stub, re_search_stub)
12336         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
12337         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
12338         (update_cur_sifted_state, check_dst_limits):
12339         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
12340         (check_subexp_limits, sift_states_bkref, merge_state_array):
12341         (check_subexp_matching_top, get_subexp, get_subexp_sub):
12342         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
12343         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
12344         (expand_bkref_cache, check_node_accept_bytes):
12345         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
12346         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
12347         (acquire_init_state_context, check_halt_node_context):
12348         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
12349         (sift_states_backward, clean_state_log_if_needed):
12350         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
12351         (find_recover_state, transit_state_sb, transit_state_mb):
12352         (transit_state_bkref, build_trtable, match_ctx_clean):
12353         Likewise.
12354         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
12355         to work around an assumption that REG_MISSING is negative.
12356
12357         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
12358         (seek_collating_symbol_entry) [defined _LIBC]:
12359         (lookup_collation_sequence_value) [defined _LIBC]:
12360         (build_range_exp, build_collating_symbol) [defined _LIBC]:
12361         Use prototypes rather than old-style function definitions.
12362         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
12363         (transit_state_sb) [0]:
12364         (find_collation_sequence_value) [defined _LIBC]: Likewise.
12365
12366         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
12367         rm_eo.
12368
12369         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
12370         (optimize_subexps, lower_subexp):
12371         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
12372         since the signed shift might overflow.  Use 1u<<31 instead.
12373         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
12374         Likewise.
12375         * lib/regexec.c (check_dst_limits_calc_pos_1,
12376         check_subexp_matching_top): Likewise.
12377
12378         * lib/regcomp.c (optimize_subexps, lower_subexp):
12379         Use CHAR_BIT rather than 8, for clarity.
12380         * lib/regexec.c (check_dst_limits_calc_pos_1):
12381         (check_subexp_matching_top): Likewise.
12382         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
12383         have to worry about portability issues when shifting it left.
12384         Remove no-longer-needed test for table_size > 0.
12385         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
12386         in a word, as the resulting behavior is undefined.
12387         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
12388         in one case, a <= should have been an <, and in another case the
12389         whole test was missing.
12390         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
12391         the standard name CHAR_BIT.
12392         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
12393         this is not true on one's complement and signed-magnitude hosts.
12394
12395         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
12396         next_last_offset.
12397         (struct re_dfa_t): Remove unused member states_alloc.
12398         * lib/regcomp.c (init_dfa): Don't initialize unused members.
12399
12400 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12401
12402         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
12403         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
12404         and large-file glibc and in 32-bit large-file Solaris.
12405
12406 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12407
12408         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
12409         lengths fit in regoff_t; this isn't true if regoff_t is the same
12410         width as size_t.
12411         * lib/regex.c (re_search_internal): 5th arg is LAST_START
12412         (= START + RANGE) instead of RANGE.  This avoids overflow
12413         problems when regoff_t is the same width as size_t.
12414         All callers changed.
12415         (re_search_2_stub): Check for overflow when adding the
12416         sizes of the two strings.
12417         (re_search_stub): Check for overflow when adding START
12418         to RANGE; if it occurs, substitute the extreme value.
12419
12420 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
12421
12422         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
12423
12424 2005-08-31  Jim Meyering  <jim@meyering.net>
12425
12426         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
12427         a pointer-to-const.
12428         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
12429         (register_state): Likewise.
12430         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
12431         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
12432         (group_nodes_into_DFAstates): Likewise.
12433
12434 2005-08-31  Jim Meyering  <jim@meyering.net>
12435
12436         * check-module: Add a FIXME comment.
12437
12438 2005-08-31  Eric Blake  <ebb9@byu.net>
12439
12440         * modules/unistd-safer (Files): Add unistd--.h.
12441         * modules/stdio-safer (Files): Add stdio--.h.
12442
12443 2005-08-31  Derek Price  <derek@ximbiot.com>
12444
12445         * lib/getdelim.c (getdelim): Return EOF on EOF.
12446         Reported by Larry Jones <lawrence.jones@ugs.com>.
12447
12448 2005-08-31  Bruno Haible  <bruno@clisp.org>
12449
12450         Avoid unnecessary diffs in the generated lib/Makefile.am.
12451         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
12452         the generated files.
12453         (func_import): Don't set cmd.
12454
12455 2005-08-31  Bruno Haible  <bruno@clisp.org>
12456
12457         * lib/strstr.c: Include <stddef.h>, for NULL.
12458         * lib/strcasestr.c: Likewise.
12459         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
12460
12461 2005-08-31  Bruno Haible  <bruno@clisp.org>
12462
12463         * gnulib-tool: New option --macro-prefix.
12464         (func_import): Use macro_prefix.
12465         (import): Handle option --macro-prefix.
12466
12467 2005-08-31  Bruno Haible  <bruno@clisp.org>
12468
12469         * gnulib-tool (import): Rename most ac_* variables to cached_*.
12470         Also use new variables cached_lgpl, cached_libtool.
12471
12472 2005-08-31  Bruno Haible  <bruno@clisp.org>
12473
12474         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
12475         always instantiating them.
12476
12477 2005-08-31  Bruno Haible  <bruno@clisp.org>
12478
12479         * gnulib-tool (func_import): Read the previous cached settings
12480         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
12481         earlier added by gnulib but are now dropped. Warn when a gnulib file
12482         overwrites a non-gnulib file.
12483
12484 2005-08-31  Bruno Haible  <bruno@clisp.org>
12485
12486         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
12487         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
12488         projects that don't keep autogenerated files in CVS. Put into
12489         actioncmd only the specified modules, not the transitive closure.
12490
12491 2005-08-31  Bruno Haible  <bruno@clisp.org>
12492
12493         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
12494         Create directories that shall be filled.
12495         (import): Don't look for gl_* macros in configure.ac. Recurse across
12496         all directories containing a gnulib-cache.m4 files, if meaningful.
12497
12498 2005-08-31  Bruno Haible  <bruno@clisp.org>
12499
12500         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
12501         (import): Set seen_libtool when we see gl_LIBTOOL.
12502
12503 2005-08-31  Bruno Haible  <bruno@clisp.org>
12504
12505         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
12506         declaration macro definitions from generated gnulib.m4.
12507
12508 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
12509
12510         * lib/iconvme.h: Add prototype for iconv_alloc.
12511
12512 2005-08-29  Simon Josefsson  <jas@extundo.com>
12513
12514         * lib/iconvme.c: Fix errno.
12515
12516 2005-08-29  Bruno Haible  <bruno@clisp.org>
12517
12518         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
12519         that it works when the directory contains spaces.
12520
12521 2005-08-29  Bruno Haible  <bruno@clisp.org>
12522
12523         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
12524
12525 2005-08-29  Bruno Haible  <bruno@clisp.org>
12526
12527         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
12528         Emit more advice.
12529
12530 2005-08-29  Bruno Haible  <bruno@clisp.org>
12531         and Stepan Kasal  <kasal@ucw.cz>
12532
12533         * check-module: If more parameters are given, check each of them
12534         separately; add more exceptions, as noted by Jim Meyering.
12535         (check_module): New procedure.
12536         (%exempt_header): Now contains all exceptions.
12537
12538 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
12539
12540         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
12541
12542 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
12543
12544         * lib/iconvme.c: Split iconv_string into iconv_alloc.
12545
12546 2005-08-28  Bruno Haible  <bruno@clisp.org>
12547
12548         * m4/gnulib-tool.m4: New file.
12549
12550 2005-08-27  Jim Meyering  <jim@meyering.net>
12551
12552         * modules/unistd-safer (Files): Add pipe-safer.c.
12553         * modules/fcntl-safer (Files): Add creat-safer.c.
12554
12555 2005-08-27  Jim Meyering  <jim@meyering.net>
12556
12557         * m4/stdlib-safer.m4: New file.  From coreutils.
12558         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
12559         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
12560         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
12561         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
12562         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
12563
12564 2005-08-27  Jim Meyering  <jim@meyering.net>
12565
12566         * lib/fopen-safer.c: Merge minor changes from coreutils.
12567         * lib/dup-safer.c: Likewise.
12568         * lib/fd-safer.c: Likewise.
12569
12570         Merge from coreutils.
12571         * lib/stdio--.h: New file.
12572         * lib/stdlib--.h: New file.
12573         * lib/mkstemp-safer.c: New file.
12574
12575         GNU tar needs these.
12576         * lib/pipe-safer.c: New file.
12577         * lib/creat-safer.c: New file.
12578         * lib/fcntl--.h (creat): Define to creat_safer.
12579         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
12580         * lib/unistd--.h (pipe): Define to pipe_safer.
12581         * lib/unistd-safer.h: Declare pipe_safer.
12582
12583 2005-08-26  Simon Josefsson  <jas@extundo.com>
12584
12585         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
12586         Haible <bruno@clisp.org>.
12587
12588 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
12589
12590         * lib/regex_internal.h: Remove all references to
12591         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
12592         or better.
12593         (bitset_not, bitset_merge, bitset_not_merge):
12594         (bitset_mask, re_string_allocate, re_string_construct):
12595         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
12596         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
12597         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
12598         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
12599         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
12600         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
12601         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
12602         (re_acquire_state_context):
12603         Remove unnecessary forward decls.
12604         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
12605         Put __attribute at function definition,
12606         now that the function decl has been removed.
12607         * lib/regex_internal.c (re_string_peek_byte_case):
12608         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
12609         Likewise.
12610
12611 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
12612
12613         * m4/regex.m4: Add AC_PREREQ(2.50).
12614         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
12615
12616 2005-08-25  Simon Josefsson  <jas@extundo.com>
12617
12618         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
12619         __fsetlocking.
12620
12621 2005-08-25  Simon Josefsson  <jas@extundo.com>
12622
12623         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
12624         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
12625         GLIBC specific code.
12626
12627 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12628
12629         Make regex safe for g++.  This fixes one real bug (an "err"
12630         that should have been "*err").  g++ problem reported by
12631         Sam Steingold.
12632         * lib/regex_internal.h (re_calloc): New macro, consistent with
12633         re_malloc etc.  All callers of calloc changed to use re_calloc.
12634         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
12635         not int.  All callers changed.
12636         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
12637         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
12638         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
12639         (find_recover_state): Change "err" to "*err"; this fixes what
12640         appears to be a real bug.
12641         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
12642         versus int.
12643
12644 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12645
12646         * modules/regex (Depends-on): Add malloc, since the code
12647         assumes that !malloc(0) means failure.
12648
12649 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12650
12651         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
12652
12653         alloca modernization/simplification for regex.
12654         * lib/regex.c: Remove portability cruft for alloca.  This no longer
12655         needs to be at the start of the file, and can be moved into
12656         regex_internal.h and simplified.
12657         * lib/regex_internal.h: Include <alloca.h>.
12658         (__libc_use_alloca) [!defined _LIBC]: New macro.
12659         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
12660         now works outside glibc.
12661
12662 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12663
12664         * config/srclist.txt: Add glibc bugs 1241, 1245.
12665
12666 2005-08-25  Jim Meyering  <jim@meyering.net>
12667
12668         * lib/open-safer.c: Include <config.h>.
12669         Otherwise, we'd lose LARGEFILE support in any file using
12670         e.g. "fcntl--.h"
12671
12672 2005-08-25  Bruno Haible  <bruno@clisp.org>
12673
12674         * m4/minmax.m4: Require autoconf 2.52.
12675         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
12676         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
12677         alternatives of translit over the alphabet.
12678         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
12679
12680 2005-08-24  Simon Josefsson  <jas@extundo.com>
12681
12682         * tests/test-getpass.c: New file.
12683
12684 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12685
12686         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
12687         for GNU regex features.
12688
12689 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12690
12691         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
12692         * lib/regex.h (regerror): Likewise.
12693
12694         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
12695         requires this.  (The code never needed it.)
12696
12697         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
12698         All uses of recently-renamed identifiers changed to use the new,
12699         POSIX-compliant names.  The code will build and run just fine
12700         without these changes, but it's better to eat our own dog food
12701         and use the standard-conforming names.
12702
12703         * lib/regex.h: Fix a multitude of POSIX name space violations.
12704         These changes have an effect only for programs that define
12705         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
12706         do not change anything for programs compiled in the normal way.
12707         Also, there is no effect on the ABI.
12708
12709         (_REGEX_SOURCE): New macro.
12710         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
12711         defined and _GNU_SOURCE is not; this fixes a name space violation.
12712
12713         Rename the following macros to obey POSIX requirements.
12714         The old names are still visible as macros if _REGEX_SOURCE is defined.
12715         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
12716         RE_BACKSLASH_ESCAPE_IN_LISTS.
12717         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
12718         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
12719         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
12720         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
12721         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
12722         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
12723         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
12724         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
12725         (REG_INTERVALS): renamed from RE_INTERVALS.
12726         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
12727         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
12728         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
12729         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
12730         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
12731         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
12732         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
12733         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
12734         RE_UNMATCHED_RIGHT_PAREN_ORD.
12735         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
12736         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
12737         (REG_DEBUG): renamed from RE_DEBUG.
12738         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
12739         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
12740         unusual, since we can't clash with the POSIX REG_ICASE.
12741         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
12742         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
12743         (REG_NO_SUB): renamed from RE_NO_SUB.
12744         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
12745         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
12746         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
12747         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
12748         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
12749         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
12750         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
12751         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
12752         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
12753         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
12754         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
12755         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
12756         RE_SYNTAX_POSIX_MINIMAL_BASIC.
12757         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
12758         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
12759         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
12760         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
12761         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
12762         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
12763         (REG_FIXED): Renamed from REGS_FIXED.
12764         (REG_NREGS): Renamed from RE_NREGS.
12765
12766         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
12767         of other REG_* macros, since POSIX says the user is allowed to
12768         #undef these macros selectively.
12769
12770         (reg_errcode_t): Update comment stating what other tables need
12771         to be consistent.
12772
12773         Rename the following enum values to obey POSIX requirements.
12774         The old names are still visible as macros.
12775         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
12776         is not defined, since GNU is supposed to be a superset of POSIX as
12777         much as possible, and since we want reg_errcode_t to be a signed
12778         type for implementation consistency.
12779         (_REG_NOERROR): Renamed from REG_NOERROR.
12780         (_REG_NOMATCH): Renamed from REG_NOMATCH.
12781         (_REG_BADPAT): Renamed from REG_BADPAT.
12782         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
12783         (_REG_ECTYPE): Renamed from REG_ECTYPE.
12784         (_REG_EESCAPE): Renamed from REG_EESCAPE.
12785         (_REG_ESUBREG): Renamed from REG_ESUBREG.
12786         (_REG_EBRACK): Renamed from REG_EBRACK.
12787         (_REG_EPAREN): Renamed from REG_EPAREN.
12788         (_REG_EBRACE): Renamed from REG_EBRACE.
12789         (_REG_BADBR): Renamed from REG_BADBR.
12790         (_REG_ERANGE): Renamed from REG_ERANGE.
12791         (_REG_ESPACE): Renamed from REG_ESPACE.
12792         (_REG_BADRPT): Renamed from REG_BADRPT.
12793         (_REG_EEND): Renamed from REG_EEND.
12794         (_REG_ESIZE): Renamed from REG_ESIZE.
12795         (_REG_ERPAREN): Renamed from REG_ERPAREN.
12796         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
12797         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
12798         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
12799         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
12800
12801         (_REG_RE_NAME, _REG_RM_NAME): New macros.
12802         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
12803         changed.  But support the old name if the new one is not defined
12804         and if _REGEX_SOURCE.
12805
12806         Change the following member names in struct re_pattern_buffer.
12807         The old names are still supported if !_REGEX_SOURCE.
12808         The new names are always supported, regardless of _REGEX_SOURCE.
12809         (re_buffer): Renamed from buffer.
12810         (re_allocated): Renamed from allocated.
12811         (re_used): Renamed from used.
12812         (re_syntax): Renamed from syntax.
12813         (re_fastmap): Renamed from fastmap.
12814         (re_translate): Renamed from translate.
12815         (re_can_be_null): Renamed from can_be_null.
12816         (re_regs_allocated): Renamed from regs_allocated.
12817         (re_fastmap_accurate): Renamed from fastmap_accurate.
12818         (re_no_sub): Renamed from no_sub.
12819         (re_not_bol): Renamed from not_bol.
12820         (re_not_eol): Renamed from not_eol.
12821         (re_newline_anchor): Renamed from newline_anchor.
12822
12823         Change the following member names in struct re_registers.
12824         The old names are still supported if !_REGEX_SOURCE.
12825         The new names are always supported, regardless of _REGEX_SOURCE.
12826         (rm_num_regs): Renamed from num_regs.
12827         (rm_start): Renamed from start.
12828         (rm_end): Renamed from end.
12829
12830         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
12831         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
12832         Prepend __ to parameter names.
12833
12834         Undo yesterday's changes.
12835
12836 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12837
12838         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
12839         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
12840         lib/regex.c.
12841
12842 2005-08-24  Jim Meyering  <jim@meyering.net>
12843
12844         Sync from coreutils.
12845         * m4/fcntl-safer.m4: New file.
12846
12847         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
12848         and object files for this module.
12849
12850 2005-08-24  Jim Meyering  <jim@meyering.net>
12851
12852         Sync from coreutils.
12853         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
12854
12855 2005-08-24  Jim Meyering  <jim@meyering.net>
12856
12857         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
12858         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
12859
12860 2005-08-24  Jim Meyering  <jim@meyering.net>
12861
12862         * modules/fcntl-safer: New module.
12863         * modules/fts (Depends-on): Add fcntl-safer.
12864         * MODULES.html.sh (File descriptor based Input/Output):
12865         Add fcntl-safer.
12866
12867 2005-08-24  Bruno Haible  <bruno@clisp.org>
12868
12869         Support for unit test modules.
12870         * modules/README: Mention tests modules.
12871         * modules/TEMPLATE-TESTS: New file.
12872         * gnulib-tool: New options --extract-tests-module, --with-tests and
12873         --tests-base (unused for the moment).
12874         (testsbase, inctests): New variables.
12875         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
12876         (func_verify_module): Exclude TEMPLATE-TESTS.
12877         (func_verify_nontests_module, func_verify_tests_module): New functions.
12878         (func_get_dependencies): Add implicit dependency for tests modules.
12879         (func_get_tests_module): New function.
12880         (func_modules_transitive_closure): When --with-tests was specified,
12881         include the unit tests as well, unless explicitly avoided.
12882         (func_emit_lib_Makefile_am): Ignore the tests modules here.
12883         (func_emit_tests_Makefile_am): New function.
12884         (func_create_testdir): When --with-tests was specified, emit a
12885         tests/ directory.
12886         * MODULES.html.sh (Future developments): Update.
12887
12888 2005-08-24  Bruno Haible  <bruno@clisp.org>
12889
12890         * modules/tls-tests: New file.
12891         * tests/test-tls.c: New file, from GNU gettext.
12892
12893 2005-08-24  Bruno Haible  <bruno@clisp.org>
12894
12895         * modules/lock-tests: New file.
12896         * tests/test-lock.c: New file, from GNU gettext.
12897
12898 2005-08-24  Bruno Haible  <bruno@clisp.org>
12899
12900         * lib/lock.h: Add multiple inclusion guard.
12901         * lib/tls.h: Add multiple inclusion guard.
12902
12903 2005-08-24  Bruno Haible  <bruno@clisp.org>
12904
12905         * gnulib-tool: Add support for the --aux-dir option to
12906         --create-testdir, --create-megatestdir, --test, --megatest.
12907         (func_create_testdir, func_create_megatestdir): Optionally emit a
12908         AC_CONFIG_AUX_DIR directive.
12909         (create-testdir, create-megatestdir, test, megatest): Provide a
12910         default value for $auxdir.
12911
12912 2005-08-24  Bruno Haible  <bruno@clisp.org>
12913
12914         * gnulib-tool (import): Use compound statement instead of subshell
12915         where possible.
12916
12917 2005-08-24  Bruno Haible  <bruno@clisp.org>
12918
12919         * gnulib-tool (import): Change --aux-dir default to "build-aux".
12920
12921 2005-08-24  Bruno Haible  <bruno@clisp.org>
12922
12923         * gnulib-tool (func_version): Update.
12924
12925 2005-08-24  Bruno Haible  <bruno@clisp.org>
12926
12927         * gnulib-tool (func_import, func_create_testdir,
12928         func_create_megatestdir): Quote all autoconf macro arguments.
12929
12930 2005-08-24  Bruno Haible  <bruno@clisp.org>
12931
12932         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
12933         option --force, because --force causes the aclocal.m4 of each
12934         subdirectory to be newer than the corresponding config.h.in.
12935
12936 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12937
12938         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
12939         All contents moved to gl_REGEX.
12940         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
12941         assume that it does.
12942
12943 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12944
12945         * lib/regex.h (REG_NOSYS)
12946         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
12947         Define, since POSIX requires it as of 2001.
12948         (_REG_ENOSYS)
12949         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
12950         New private symbol, used to keep the enum signed in all cases.
12951         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
12952         Youngman in
12953         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
12954
12955         * lib/regex_internal.c (re_string_skip_chars, register_state):
12956         (calc_state_hash):
12957         Remove forward decls; no longer needed now that we use prototypes.
12958         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
12959         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
12960         (clean_state_log_if_needed): Likewise.
12961
12962 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12963
12964         * config/srclist.txt: Add glibc bugs 1231-1233.
12965
12966 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12967
12968         Fix problems reported by Sam Steingold in
12969         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
12970         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
12971         assumed that reg_errcode_t is a signed type, which is not
12972         necessarily true if _XOPEN_SOURCE is not defined.
12973         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
12974         since some compilers warn about it otherwise.
12975
12976 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12977
12978         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
12979         (init_word_char, create_initial_state, duplicate_node_closure):
12980         (fetch_token, peek_token_bracket, build_range_exp):
12981         (build_collating_symbol): Remove forward decls; no longer needed
12982         now that we use prototypes.
12983
12984         * lib/regcomp.c:
12985         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
12986         (re_compile_fastmap_iter, regcomp, regerror, regfree):
12987         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
12988         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
12989         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
12990         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
12991         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
12992         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
12993         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
12994         (build_range_exp, build_collating_symbol, parse_bracket_exp):
12995         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
12996         (build_charclass, build_charclass_op, fetch_number, create_tree):
12997         (create_token_tree, mark_opt_subexp, duplicate_tree):
12998         Use prototypes rather than old-style definitions.
12999
13000         * lib/regex_internal.c:
13001         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
13002         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
13003         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
13004         (re_string_reconstruct, re_string_peek_byte_case):
13005         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
13006         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
13007         (re_node_set_init_copy, re_node_set_add_intersect):
13008         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
13009         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
13010         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
13011         (re_acquire_state, re_acquire_state_context, register_state):
13012         (create_ci_newstate, create_cd_newstate, free_state):
13013         Likewise.
13014         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
13015         re_search_2):
13016         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
13017         (re_search_internal, prune_impossible_nodes):
13018         (acquire_init_state_context, check_matching, static):
13019         (check_halt_node_context, check_halt_state_context, proceed_next_node):
13020         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
13021         (update_regs, sift_states_backward, build_sifted_states):
13022         (clean_state_log_if_needed, merge_state_array):
13023         (update_cur_sifted_state, add_epsilon_src_nodes):
13024         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
13025         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
13026         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
13027         (find_recover_state, check_subexp_matching_top, transit_state_mb):
13028         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
13029         (check_arrival, check_arrival_add_next_nodes):
13030         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
13031         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
13032         (check_node_accept_bytes, check_node_accept, extend_buffers):
13033         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
13034         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
13035         (sift_ctx_init):
13036         Likewise.
13037
13038         * lib/regex_internal.h:
13039         (re_string_allocate, re_string_construct, re_string_reconstruct):
13040         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
13041         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
13042         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
13043         (re_string_context_at, re_string_peek_byte_case):
13044         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
13045         is defined, since we now use prototypes always.
13046
13047         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
13048         C89 or better.  All uses removed.
13049
13050 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
13051
13052         * config/srclist.txt: Add glibc bugs 1220-1227.
13053
13054 2005-08-20  Jim Meyering  <jim@meyering.net>
13055
13056         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
13057         of unused local, dfa.
13058
13059 2005-08-20  Bruno Haible  <bruno@clisp.org>
13060
13061         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
13062
13063 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13064
13065         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
13066         (re_node_set_insert_last, re_dfa_add_node):
13067         Rename local variables to avoid GCC shadowing warnings.
13068
13069 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13070
13071         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
13072         [defined lint]: Suppress bogus uninitialized-variable warnings.
13073
13074         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
13075         and let the caller return REG_ESPACE if out of space.  This
13076         removes an uninitialied-variable warning with GCC 4.0.1, and also
13077         avoids taking the address of a local variable.  All callers
13078         changed.
13079
13080 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13081
13082         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
13083         $LIBCSRC/posix/regexec.c.
13084         Add glibc bug 1217 for regcomp.c.
13085
13086 2005-08-19  Jim Meyering  <jim@meyering.net>
13087
13088         * lib/regexec.c (proceed_next_node): Redo local variables to
13089         avoid GCC shadowing warnings.
13090
13091 2005-08-18  Bruno Haible  <bruno@clisp.org>
13092
13093         * lib/strstr.c (strstr): Fix return value in multibyte case.
13094         * lib/strcasestr.c (strcasestr): Likewise.
13095
13096 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13097
13098         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
13099
13100 2005-08-17  Jim Meyering  <jim@meyering.net>
13101
13102         Make the %s format (seconds since the epoch) work for a negative
13103         number and when used with a zero-padded field width, e.g. %015s.
13104
13105         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
13106         label so that it precedes the code to set `digits'.  Otherwise,
13107         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
13108         print `00-22'.  Now, it prints `-0022', as it should.
13109
13110 2005-08-17  Bruno Haible  <bruno@clisp.org>
13111
13112         * modules/strstr (Files): Add m4/mbrtowc.m4.
13113         (Depends-on): Add mbuiter.
13114
13115 2005-08-17  Bruno Haible  <bruno@clisp.org>
13116
13117         * modules/strcasestr: New file.
13118         * MODULES.html.sh (String handling, based on ANSI C 89): Add
13119         strcasestr.
13120
13121 2005-08-17  Bruno Haible  <bruno@clisp.org>
13122
13123         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
13124
13125 2005-08-17  Bruno Haible  <bruno@clisp.org>
13126
13127         * modules/mbuiter: New file.
13128         * MODULES.html.sh (Extended multibyte and wide character utilities):
13129         Add mbuiter.
13130
13131 2005-08-17  Bruno Haible  <bruno@clisp.org>
13132
13133         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
13134         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
13135
13136 2005-08-17  Bruno Haible  <bruno@clisp.org>
13137
13138         * m4/strcasestr.m4: New file.
13139
13140 2005-08-17  Bruno Haible  <bruno@clisp.org>
13141
13142         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
13143         * lib/strstr.c: Completely rewritten, with multibyte locale support.
13144
13145 2005-08-17  Bruno Haible  <bruno@clisp.org>
13146
13147         * lib/strcasestr.h: New file.
13148         * lib/strcasestr.c: New file.
13149
13150 2005-08-17  Bruno Haible  <bruno@clisp.org>
13151
13152         * lib/strcasecmp.c: Use mbuiter.h.
13153
13154 2005-08-17  Bruno Haible  <bruno@clisp.org>
13155
13156         * lib/mbuiter.h: New file.
13157
13158 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
13159
13160         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
13161         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
13162         and gl_GETOPT are both invoked via different paths (as happens
13163         with GNU tar CVS because it uses both argp and getopt), the former
13164         wins.
13165
13166 2005-08-16  Bruno Haible  <bruno@clisp.org>
13167
13168         * modules/tls: New file.
13169         * MODULES.html.sh (Multithreading): Add tls.
13170
13171 2005-08-16  Bruno Haible  <bruno@clisp.org>
13172
13173         * modules/strnlen1: New file.
13174         * MODULES.html.sh (String handling): Add strnlen1.
13175
13176 2005-08-16  Bruno Haible  <bruno@clisp.org>
13177
13178         * modules/strcase (Files): Add m4/mbrtowc.m4.
13179         (Depends-on): Add strnlen1, mbchar.
13180
13181 2005-08-16  Bruno Haible  <bruno@clisp.org>
13182
13183         * modules/mbiter: New file.
13184         * MODULES.html.sh (Extended multibyte and wide character utilities):
13185         Add mbiter.
13186
13187 2005-08-16  Bruno Haible  <bruno@clisp.org>
13188
13189         * modules/mbfile: New file.
13190         * MODULES.html.sh (Extended multibyte and wide character utilities):
13191         Add mbfile.
13192
13193 2005-08-16  Bruno Haible  <bruno@clisp.org>
13194
13195         * modules/mbchar: New file.
13196         * MODULES.html.sh (Extended multibyte and wide character utilities):
13197         New section.
13198
13199 2005-08-16  Bruno Haible  <bruno@clisp.org>
13200
13201         * m4/tls.m4: New file, from GNU gettext.
13202
13203 2005-08-16  Bruno Haible  <bruno@clisp.org>
13204
13205         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
13206         always.
13207         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
13208
13209 2005-08-16  Bruno Haible  <bruno@clisp.org>
13210
13211         * m4/mbiter.m4: New file.
13212
13213 2005-08-16  Bruno Haible  <bruno@clisp.org>
13214
13215         * m4/mbfile.m4: New file.
13216
13217 2005-08-16  Bruno Haible  <bruno@clisp.org>
13218
13219         * m4/mbchar.m4: New file.
13220
13221 2005-08-16  Bruno Haible  <bruno@clisp.org>
13222
13223         * lib/tls.h: New file, from GNU gettext.
13224         * lib/tls.c: New file, from GNU gettext.
13225
13226 2005-08-16  Bruno Haible  <bruno@clisp.org>
13227
13228         * lib/strnlen1.h: New file.
13229         * lib/strnlen1.c: New file.
13230
13231 2005-08-16  Bruno Haible  <bruno@clisp.org>
13232
13233         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
13234         (mbi_init): Update.
13235         (mbi_avail, mbi_advance): Let the iteration end before the terminating
13236         NUL byte, not after it.
13237
13238 2005-08-16  Bruno Haible  <bruno@clisp.org>
13239
13240         * lib/strcase.h (strcasecmp): Add note in comments.
13241         * lib/strncasecmp.c: Use code from strcasecmp.c.
13242         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
13243         (strcasecmp): Work correctly in multibyte locales.
13244
13245 2005-08-16  Bruno Haible  <bruno@clisp.org>
13246
13247         * lib/mbiter.h: New file.
13248
13249 2005-08-16  Bruno Haible  <bruno@clisp.org>
13250
13251         * lib/mbfile.h: New file.
13252
13253 2005-08-16  Bruno Haible  <bruno@clisp.org>
13254
13255         * lib/mbchar.h: New file.
13256         * lib/mbchar.c: New file.
13257
13258 2005-08-16  Bruno Haible  <bruno@clisp.org>
13259
13260         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
13261         the valid ones. Makes the comparison operations transitive:
13262         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
13263         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
13264
13265 2005-08-15  Simon Josefsson  <jas@extundo.com>
13266
13267         * modules/ssize_t (License): Change to 'unlimited'.
13268
13269         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
13270
13271 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
13272
13273         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
13274         Add comments for each pending glibc patch.
13275
13276 2005-08-15  Bruno Haible  <bruno@clisp.org>
13277
13278         * lib/regex.h (__restrict_arr): Don't define to __restrict if
13279         __cplusplus is defined.
13280
13281 2005-08-14  Jim Meyering  <jim@meyering.net>
13282
13283         Sync from coreutils.
13284
13285         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
13286         Use the hash-table-based cycle-detection code not just when
13287         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
13288         Reported by James Youngman in
13289         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
13290         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
13291         FTS_TIGHT_CYCLE_CHECK.
13292         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
13293         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
13294         once again.
13295         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
13296         * lib/fts.c (fd_safer): Remove decl.
13297         Include fcntl--.h rather than unistd-safer.h
13298         (fts_safe_changedir): Don't call fd_safer; no longer needed
13299         now that we include fcntl--.h.
13300
13301 2005-08-12  Simon Josefsson  <jas@extundo.com>
13302
13303         * modules/getndelim2: Use ssize_t module.
13304         * modules/getnline: Likewise.
13305         * modules/safe-read: Likewise.
13306         * modules/xreadlink: Likewise.
13307
13308         * modules/ssize_t: New file.
13309
13310 2005-08-12  Simon Josefsson  <jas@extundo.com>
13311
13312         * m4/readline.m4: Look for termcap, curses or ncurses if required.
13313
13314 2005-08-12  Simon Josefsson  <jas@extundo.com>
13315
13316         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13317         ssize_t.
13318
13319 2005-08-12  Simon Josefsson  <jas@extundo.com>
13320
13321         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
13322         readline, getdelim and check_version.
13323         (Support for systems lacking ISO C 99: Sizes of integer types):
13324         Add size_max.
13325
13326 2005-08-12  Bruno Haible  <bruno@clisp.org>
13327
13328         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
13329
13330 2005-08-11  Simon Josefsson  <jas@extundo.com>
13331
13332         * modules/readline: New file.
13333
13334         * modules/strnlen (Files): Add strnlen.h.
13335
13336 2005-08-11  Simon Josefsson  <jas@extundo.com>
13337
13338         * m4/readline.m4: New file.
13339
13340 2005-08-11  Simon Josefsson  <jas@extundo.com>
13341
13342         * lib/readline.h, readline.c: New file.
13343
13344 2005-08-11  Simon Josefsson  <jas@extundo.com>
13345
13346         * doc/gnulib.texi (Initial import, Finishing touches): Mention
13347         gl_AVOID.
13348
13349 2005-08-11  Bruno Haible  <bruno@clisp.org>
13350
13351         * lib/strnlen.h (strnlen): Change parameter name to match comment.
13352
13353 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
13354
13355         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
13356
13357 2005-08-10  Simon Josefsson  <jas@extundo.com>
13358
13359         * tests/test-iconvme.c: New file.
13360
13361 2005-08-10  Simon Josefsson  <jas@extundo.com>
13362
13363         * m4/strnlen.m4: New file.
13364
13365         * m4/strndup.m4: Don't check for strnlen declaration, done in
13366         strnlen.m4.
13367
13368 2005-08-10  Simon Josefsson  <jas@extundo.com>
13369
13370         * lib/strndup.c: Use strnlen.h.
13371
13372         * lib/strnlen.h: New file.
13373
13374 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
13375
13376         * README: Typos.
13377
13378 2005-08-02  Simon Josefsson  <jas@extundo.com>
13379
13380         * modules/readline: New file.
13381
13382 2005-08-02  Simon Josefsson  <jas@extundo.com>
13383
13384         * modules/getdelim: New file.
13385
13386         * modules/getline: Rewrite, don't use getndelim2.
13387
13388 2005-08-02  Simon Josefsson  <jas@extundo.com>
13389
13390         * m4/getline.m4: Separate out getdelim stuff into separate module.
13391
13392         * m4/getdelim.m4: New file.
13393
13394 2005-08-02  Simon Josefsson  <jas@extundo.com>
13395
13396         * lib/getline.h, getline.c: Rewrite.
13397
13398         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
13399
13400 2005-07-31  Bruno Haible  <bruno@clisp.org>
13401
13402         * lib/lock.h (gl_lock_initializer): New macro.
13403         (gl_lock_define_initialized): Use it.
13404         (gl_rwlock_initializer): New macro.
13405         (gl_rwlock_define_initialized): Use it.
13406         (gl_recursive_lock_initializer): New macro.
13407         (gl_recursive_lock_define_initialized): Use it.
13408
13409 2005-07-30  Karl Berry  <karl@gnu.org>
13410
13411         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
13412         Report from Ben Pfaff, regarding getopt.
13413
13414 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
13415
13416         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
13417         normal way.
13418         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
13419         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
13420         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
13421         (gl_GETOPT): Use the new macros.  Most of the implementation
13422         is moved to the new macros.  This is for programs like Emacs
13423         that don't want all the functionality of gl_GETOPT.
13424
13425 2005-07-26  Bruno Haible  <bruno@clisp.org>
13426
13427         * m4/lock.m4: Update from GNU gettext.
13428
13429 2005-07-26  Bruno Haible  <bruno@clisp.org>
13430
13431         * lib/lock.h: Update from GNU gettext.
13432         * lib/lock.c: Update from GNU gettext.
13433
13434 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13435
13436         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
13437         obsolescent AC_TRY_RUN.  Include the default includes files, for
13438         'exit'.
13439
13440 2005-07-24  Bruno Haible  <bruno@clisp.org>
13441
13442         * modules/visibility: New file.
13443         * MODULES.html.sh (Misc): Add visibility.
13444
13445 2005-07-24  Bruno Haible  <bruno@clisp.org>
13446
13447         * m4/visibility.m4: New file.
13448
13449 2005-07-24  Bruno Haible  <bruno@clisp.org>
13450
13451         * doc/visibility.texi: New file.
13452
13453 2005-07-22  Bruno Haible  <bruno@clisp.org>
13454
13455         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
13456         $(ALLOCA_H), redundant through BUILT_SOURCES.
13457         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
13458         redundant through BUILT_SOURCES.
13459         * modules/byteswap (Makefile.am): Remove explicit dependency on
13460         $(BYTESWAP_H), redundant through BUILT_SOURCES.
13461         * modules/fnmatch (Makefile.am): Remove explicit dependency on
13462         $(FNMATCH_H), redundant through BUILT_SOURCES.
13463         * modules/getopt (Makefile.am): Remove explicit dependency on
13464         $(GETOPT_H), redundant through BUILT_SOURCES.
13465         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
13466         redundant through BUILT_SOURCES.
13467         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
13468         redundant through BUILT_SOURCES.
13469         * modules/stdbool (Makefile.am): Remove explicit dependency on
13470         $(STDBOOL_H), redundant through BUILT_SOURCES.
13471         * modules/stdint (Makefile.am): Remove explicit dependency on
13472         $(STDINT_H), redundant through BUILT_SOURCES.
13473         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
13474         Remove explicit dependency on $(SYSEXITS_H).
13475         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
13476
13477 2005-07-18  Simon Josefsson  <jas@extundo.com>
13478
13479         * lib/check-version.c (check_version): Accept identical versions too.
13480
13481 2005-07-18  Bruno Haible  <bruno@clisp.org>
13482
13483         * modules/lock: New file.
13484         * MODULES.html.sh (Multithreading): New section.
13485
13486 2005-07-18  Bruno Haible  <bruno@clisp.org>
13487
13488         * m4/lock.m4: New file, from GNU gettext.
13489
13490 2005-07-18  Bruno Haible  <bruno@clisp.org>
13491
13492         * lib/lock.h: New file, from GNU gettext.
13493         * lib/lock.c: New file, from GNU gettext.
13494
13495 2005-07-18  Bruno Haible  <bruno@clisp.org>
13496
13497         * lib/lock.h (gl_once_t): New type.
13498         (gl_once_define, gl_once): New macros.
13499         * lib/lock.c (fresh_once): New variable.
13500         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
13501         functions.
13502
13503 2005-07-16  Simon Josefsson  <jas@extundo.com>
13504
13505         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
13506         workaround, suggested by Bruno.
13507
13508 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13509
13510         * modules/xalloc (Depends-on): Add xalloc-die.
13511         * modules/xvasprintf (Depends-on): Add xalloc-die.
13512
13513 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13514
13515         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
13516         with a minor change.
13517
13518 2005-07-15  Bruno Haible  <bruno@clisp.org>
13519
13520         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
13521         When using lib/poll.c, define poll as rpl_poll.
13522
13523 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13524
13525         * modules/argp (Depends-on): Remove unlocked-io.
13526
13527 2005-07-14  Derek Price  <derek@ximbiot.com>
13528
13529         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
13530         for glob symlink bug.
13531
13532 2005-07-14  Bruno Haible  <bruno@clisp.org>
13533
13534         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
13535         Instead, test for *_unlocked function declarations directly.
13536
13537 2005-07-11  Simon Josefsson  <jas@extundo.com>
13538
13539         * modules/size_max: New file.
13540
13541         * modules/xsize: Depend on size_max module for size_max.m4.
13542
13543 2005-07-11  Simon Josefsson  <jas@extundo.com>
13544
13545         * lib/size_max.h: New file.
13546
13547 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
13548
13549         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
13550         copyright symbol and the year.
13551         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
13552         (version_etc_va): Use parameterized copyright notice.
13553         Reword to conform to the current GNU coding standards.
13554
13555 2005-07-11  Karl Berry  <karl@gnu.org>
13556
13557         * doc/gnulib.texi (Quoting): new node.
13558         (Initial import): more info, from Patrice.
13559
13560 2005-07-11  Bruno Haible  <bruno@clisp.org>
13561
13562         * gnulib-tool (func_usage): Document option --avoid.
13563         (Command line options): Handle --avoid.
13564         (func_acceptable): New function.
13565         (func_modules_transitive_closure): Use it.
13566
13567 2005-07-11  Bruno Haible  <bruno@clisp.org>
13568
13569         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
13570         Reported by Jim Meyering.
13571
13572 2005-07-10  Bruno Haible  <bruno@clisp.org>
13573
13574         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
13575         Needed when size_t is smaller than 'unsigned int'.
13576         Reported by Paul Eggert.
13577
13578 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13579
13580         * modules/argp (Depends-on): Add unlocked-io
13581
13582 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13583
13584         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
13585         block of defines.
13586
13587 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13588
13589         * config/srclist.txt: Comment out regcomp.c, since we have a porting
13590         fix now.
13591
13592 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
13593         and Paul Eggert  <eggert@cs.ucla.edu>
13594
13595         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
13596         in wint_t, not wchar_t.  Remove now-unnecessary cast.
13597
13598 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13599
13600         * modules/regex (Files): Add lib/regex_internal.c,
13601         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
13602         (Depends-on): Add extensions.
13603         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
13604
13605 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13606
13607         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
13608         pathconf.
13609         * m4/same.m4 (gl_SAME): Likewise.
13610         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
13611
13612         * m4/regex.m4: Adjust to new libc regex implementation.
13613         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
13614         all the .c and .h parts of (the new) regex.
13615         Quote the m4 stuff better.
13616         Check for RE_ICASE bug of old gnulib.
13617         Check for REG_STARTEND of recent libc.
13618         Rename local variables from jm_* to gl_*.
13619         Quote operand of "test -f".
13620         Say "recent enough" version of libc, not "version 2".
13621         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
13622         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
13623         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
13624         Remove check for btowc, isascii.
13625         Require AM_LANGINFO_CODESET.
13626
13627 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13628
13629         * lib/regex.c, regex.h: Sync from libc.
13630         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
13631         * lib/regexec.c:
13632         New files, synced from libc, except that regex_internal.h
13633         currently has a small porting fix.
13634
13635 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13636
13637         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
13638         regex_internal.c, regexec.c.
13639         Add regex_internal.h too, but as a comment, since the libc version
13640         is currently broken in gnulib mode.
13641
13642 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13643
13644         Support programs like Emacs that use gnulib but not gettext.
13645         * MODULES.html.sh (Internationalization functions): Add gettext-h.
13646         * modules/gettext-h: New file.
13647         * modules/gettext (Files): Remove lib/gettext.h.
13648         (Depends-on): Add gettext-h.
13649         (Makefile.am): Remove lib_SOURCES.
13650         * modules/argmatch, modules/c-stack, modules/closeout:
13651         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
13652         * modules/execute, modules/file-type, modules/getaddrinfo:
13653         * modules/getopt, modules/human, modules/javacomp:
13654         * modules/javaexec, modules/mkdir-p, modules/obstack:
13655         * modules/openat, modules/pagealign_alloc, modules/pipe:
13656         * modules/quotearg, modules/regex, modules/rpmatch:
13657         * modules/unicodeio, modules/userspec, modules/version-etc:
13658         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
13659         * modules/xsetenv:
13660         Depend on gettext-h, not gettext.
13661
13662 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13663
13664         * gnulib-tool (func_import): Add support for 'public domain' license.
13665         * modules/alloca, modules/atexit, modules/memmove:
13666         Now public domain, not GPL.
13667         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
13668         * modules/realloc, modules/strerror, modules/strtod:
13669         Now LGPL, not GPL.
13670
13671 2005-07-05  Bruno Haible  <bruno@clisp.org>
13672
13673         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
13674         autoconf CVS. Needed for mingw.
13675
13676 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13677
13678         Remove the dependency of the strftime module on the tzset module.
13679         * modules/strftime (Depends-on): Remove dependency on tzset.
13680
13681 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13682
13683         Remove the dependency of the strftime module on the tzset module.
13684         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
13685         gl_FUNC_TZSET_CLOBBER.
13686
13687 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13688
13689         Remove the dependency of the strftime module on the tzset module.
13690         * lib/strftime.c (my_strftime)
13691         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
13692         Copy the input structure, to work around some of the bug with
13693         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
13694         Solaris releases, you should also use the tzset module, but we won't
13695         require it as a dependency any more since we don't want LGPLed code
13696         to depend on GPLed code.
13697
13698 2005-07-02  Jim Meyering  <jim@meyering.net>
13699
13700         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
13701         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
13702         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
13703         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
13704
13705 2005-07-02  Jim Meyering  <jim@meyering.net>
13706
13707         * lib/backupfile.c (backup_args): Change a `0' to NULL.
13708
13709 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13710
13711         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
13712         declares only 'struct timespec;' (!).
13713
13714 2005-07-01  Jim Meyering  <jim@meyering.net>
13715
13716         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
13717         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
13718         * lib/save-cwd.c, tempname.c:
13719         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
13720         and don't include <sys/file.h>).
13721
13722 2005-06-29  Jim Meyering  <jim@meyering.net>
13723
13724         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
13725         type name.  Use the variable name instead.
13726         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
13727         Likewise.
13728
13729 2005-06-28  Simon Josefsson  <jas@extundo.com>
13730
13731         * modules/check-version (Files): Add check-version.m4.
13732
13733 2005-06-28  Simon Josefsson  <jas@extundo.com>
13734
13735         * m4/check-version.m4: New file, suggested by Jim Meyering
13736         <jim@meyering.net>.
13737
13738 2005-06-28  Simon Josefsson  <jas@extundo.com>
13739
13740         * lib/check-version.h, lib/check-version.c: New files.
13741
13742 2005-06-28  Simon Josefsson  <jas@extundo.com>
13743
13744         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
13745         collision with global variable.  Better indentation.  Don't
13746         increment buffer pointer beyond buffer end.  Based on comments
13747         from Paul Eggert <eggert@cs.ucla.edu>.
13748
13749         * lib/base64.h: Indent.
13750
13751 2005-06-28  Simon Josefsson  <jas@extundo.com>
13752
13753         * doc/gnulib.texi (Library version handling): New section.
13754
13755 2005-06-28  Jim Meyering  <jim@meyering.net>
13756
13757         * check-module (find_included_lib_files): Hard-code another
13758         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
13759         but modules/fts-lgpl (correctly) does not list those files.
13760
13761         * modules/canonicalize (Files): Add lib/pathmax.h.
13762
13763 2005-06-25  Simon Josefsson  <jas@extundo.com>
13764
13765         * modules/check-version: New file.
13766
13767 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
13768
13769         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
13770         initializer of struct addrinfo, as an indication that we don't
13771         care how many members the structure has.
13772
13773 2005-06-24  Derek Price  <derek@ximbiot.com>
13774         and Bruno Haible  <bruno@clisp.org>
13775
13776         Remove stat module & update lstat.
13777         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
13778         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
13779         * m4/stat.m4: Remove this file.
13780
13781 2005-06-24  Derek Price  <derek@ximbiot.com>
13782         and Bruno Haible  <bruno@clisp.org>
13783
13784         Remove stat module & update lstat.
13785         * lib/stat.c: Remove this file...
13786         (slash_aware_lstat): ...moving this content and its support...
13787         * lib/lstat.c (rpl_lstat): ...into here.
13788         * lib/lstat.h: New file.
13789
13790 2005-06-24  Derek Price  <derek@ximbiot.com>
13791         and Bruno Haible  <bruno@clisp.org>
13792
13793         Remove stat module & update lstat.
13794         * config/srclist.txt (libc sources): Remove stat.
13795
13796 2005-06-24  Derek Price  <derek@ximbiot.com>
13797         and Bruno Haible  <bruno@clisp.org>
13798
13799         Remove stat module & update lstat.
13800         * MODULES.html.sh (stat): Remove.
13801         * MODULES.html: Regenerated.
13802         * modules/lstat (Description): Correct function name.
13803         (Files): Add "lstat.h".
13804         (Depends-on): Remove stat, add xalloc, stat-macros.
13805         * modules/stat: Remove this file.
13806         (Include): Add "lstat.h", remove <sys/stat.h>.
13807
13808 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
13809
13810         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
13811         (ranged_convert): Don't save conversion in a temporary struct.
13812         This causes a warning with GCC 4.0.0, and anyway in the typical
13813         case it's not worth the extra 100 bytes or so of code.
13814         (ranged_convert, __mktime_internal): When calling a function via a
13815         pointer P, use P () rather than (*P) (), as we now assume C89 or
13816         better.
13817
13818 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
13819
13820         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
13821         "who -r" failed to give output.  Problem reported by Tim Waugh.
13822
13823         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
13824         (xcalloc): Use it to avoid needless tests.
13825         Problem reported by Jim Meyering.
13826
13827 2005-06-20  Derek Price  <derek@ximbiot.com>
13828
13829         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
13830         unnecessary for Autoconfs > 2.59c.
13831
13832 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13833
13834         * lib/argp.h (__option_is_short): Check upper limit of
13835         __key. Isprint() requires its argument to have the value
13836         of an unsigned char or EOF.
13837
13838 2005-06-16  Jim Meyering  <jim@meyering.net>
13839
13840         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
13841         when either N or S is zero.
13842
13843 2005-06-16  Derek Price  <derek@ximbiot.com>
13844
13845         * m4/bison.m4: Declare YACC & YFLAGS precious.
13846
13847 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
13848
13849         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
13850         multibyte string or pattern, fall back on unibyte matching.
13851         Problem reported by James Youngman.
13852
13853 2005-06-08  Bruno Haible  <bruno@clisp.org>
13854
13855         * modules/csharpcomp: New file.
13856         * MODULES.html.sh (C#): Add csharpcomp.
13857
13858 2005-06-08  Bruno Haible  <bruno@clisp.org>
13859
13860         * m4/csharpcomp.m4: New file, from GNU gettext.
13861
13862 2005-06-08  Bruno Haible  <bruno@clisp.org>
13863
13864         * lib/csharpcomp.h: New file, from GNU gettext.
13865         * lib/csharpcomp.c: New file, from GNU gettext.
13866         * lib/csharpcomp.sh.in: New file, from GNU gettext.
13867
13868 2005-06-08  Bruno Haible  <bruno@clisp.org>
13869
13870         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
13871         warning on mingw.
13872
13873 2005-06-07  Derek Price  <derek@ximbiot.com>
13874
13875         Sync from CVS.
13876         * lib/glob_.h: Indent nested #ifdef.
13877
13878 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13879
13880         Sync from coreutils.
13881         Use "file name" when talking about file names, instead of "filename"
13882         or "path", as per the GNU coding standards.
13883         * lib/mkdir-p.c: Renamed from makepath.c.
13884         (make_dir_parents): Renamed from make_path.  All callers changed.
13885         * lib/mkdir-p.h: Likewise.  All includers changed.
13886         * lib/filenamecat.c: Renamed from path-concat.c.
13887         (file_name_concat): Renamed from path_concat.  All callers changed.
13888         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
13889         * lib/filenamecat.h: Likewise.  All includers changed.
13890         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
13891         in comments or local variable names.
13892         * lib/basename.c: Likewise.
13893         * lib/canonicalize.c, canonicalize.h: Likewise.
13894         * lib/dirname.c, dirname.h: Likewise.
13895         * lib/euidaccess.c: Likewise.
13896         * lib/exclude.c: Likewise
13897         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
13898         * lib/fsusage.c, fsuage.h: Likewise.
13899         * lib/fts.c, fts_.h: Likewise.
13900         * lib/getcwd.c: Likewise.
13901         * lib/getloadavg.c: Likewise.
13902         * lib/mkstemp.c: Likewise.
13903         * lib/mountlist.c, mountlist.h: Likewise.
13904         * lib/openat.c, openat.h: Likewise.
13905         * lib/readlink-stub.c: Likewise.
13906         * lib/readutmp.c, readutmp.h: Likewise.
13907         * lib/rename.c: Likewise.
13908         * lib/rmdir.c: Likewise.
13909         * lib/same.c: Likewise.
13910         * lib/savedir.c: Likewise.
13911         * lib/stripslash.c: Likewise.
13912         * lib/tempname.c: Likewise.
13913         * lib/xreadlink.c: Likewise.
13914         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
13915         All uses changed.
13916         * lib/exclude.h: Likewise.
13917
13918         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
13919         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
13920         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
13921         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
13922         * lib/pathmax.h: Include <limits.h> unconditionally, since other
13923         files have been getting away with it for years (MORE/BSD 4.3
13924         is extinct now).
13925         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
13926         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
13927
13928         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
13929         Define to 256, not 255, as per modern POSIX.
13930
13931 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13932
13933         Sync from coreutils.
13934         Use "file name" when talking about file names, instead of "filename"
13935         or "path", as per the GNU coding standards.
13936         * MODULES.html.sh: mkdir-p renamed from makepath.
13937         filenamecat renamed from path-concat.
13938         * modules/filenamecat: Renamed from modules/path-concat.
13939         (Files): filenamecat.h and filenamecat.c renamed from
13940         path-concat.h and path-concat.c.
13941         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
13942         (Include): filenamecat.h, not path-concat.h.
13943         * modules/mkdir-p: Renamed from modules/makepath.
13944         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
13945         makepath.c.
13946         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
13947         (Include): mkdir-p.h, not makepath.h.
13948
13949 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13950
13951         Sync from coreutils.
13952         * m4/mkdir-p.m4: Renamed from makepath.m4.
13953         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
13954         Rename files from makepath.c to mkdir-p.c, and from
13955         makepath.h to mkdir-p.h.
13956         * m4/filenamecat.m4: Renamed from path-concat.m4.
13957         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
13958         Rename files from path-concat.c to filenamecat.c,
13959         and from path-concat.h to filenamecat.h.
13960         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
13961         "file name" in local variables or comments.
13962         * m4/rename.m4: Likewise.
13963
13964 2005-06-01  Bruno Haible  <bruno@clisp.org>
13965
13966         * modules/csharpexec: New file.
13967         * MODULES.html.sh (C#): New section.
13968
13969 2005-06-01  Bruno Haible  <bruno@clisp.org>
13970
13971         * m4/csharp.m4: New file, from GNU gettext.
13972         * m4/csharpexec.m4: New file, from GNU gettext.
13973
13974 2005-06-01  Bruno Haible  <bruno@clisp.org>
13975
13976         * lib/csharpexec.h: New file, from GNU gettext.
13977         * lib/csharpexec.c: New file, from GNU gettext.
13978         * lib/csharpexec.sh.in: New file, from GNU gettext.
13979
13980 2005-05-31  Derek Price  <derek@ximbiot.com>
13981             Paul Eggert  <eggert@cs.ucla.edu>
13982
13983         Sync from cvs.
13984         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
13985
13986 2005-05-31  Derek Price  <derek@ximbiot.com>
13987             Paul Eggert  <eggert@cs.ucla.edu>
13988
13989         Sync from cvs.
13990         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
13991
13992 2005-05-29  Derek Price  <derek@ximbiot.com>
13993
13994         * config/srclist.txt (glob_.h, glob.c): Add these files.
13995
13996 2005-05-29  Derek Price  <derek@ximbiot.com>
13997
13998         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
13999         * modules/glob: New file.
14000         * modules/getlogin_r: Add link to POSIX spec in description.
14001
14002 2005-05-29  Derek Price  <derek@ximbiot.com>
14003             Paul Eggert  <eggert@cs.ucla.edu>
14004
14005         * m4/glob.m4: New file.
14006
14007 2005-05-29  Derek Price  <derek@ximbiot.com>
14008             Paul Eggert  <eggert@cs.ucla.edu>
14009
14010         * lib/glob_.h, lib/glob.c: New files.
14011
14012 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14013
14014         * modules/fts (Files): Remove m4/inttypes-pri.m4.
14015         * modules/fts-lgpl (Depends-on): Remove gettext.
14016
14017 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14018
14019         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
14020         and don't require gt_INTTYPES_PRI.
14021
14022 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
14023
14024         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
14025
14026         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
14027         the configuration hassle isn't worth it.
14028         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
14029         (LONGEST_MODIFIER, PRIuMAX): Remove.
14030
14031 2005-05-27  Bruno Haible  <bruno@clisp.org>
14032
14033         * lib/getlogin_r.h: Remove second include of <stddef.h>.
14034
14035 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
14036
14037         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
14038         _POSIX_PTHREAD_SEMANTICS for Solaris.
14039
14040 2005-05-25  Derek Price  <derek@ximbiot.com>
14041
14042         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
14043
14044 2005-05-25  Derek Price  <derek@ximbiot.com>
14045             Paul Eggert  <eggert@cs.ucla.edu>
14046
14047         * modules/getlogin_r, m4/getlogin_r.m4: New files.
14048         * lib/getlogin_r.c, getlogin_r.h: New files.
14049
14050 2005-05-25  Bruno Haible  <bruno@clisp.org>
14051             Derek Price  <derek@ximbiot.com>
14052
14053         * lib/getlogin_r.h: Simplify API documentation.
14054
14055 2005-05-23  Derek Price  <derek@ximbiot.com>
14056
14057         * modules/minmax (Files): Add m4/minmax.m4.
14058         (configure.ac): Add gl_MINMAX.
14059
14060 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14061
14062         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
14063         so that unistd-safer.h (GPL'ed code) need not be included.
14064
14065 2005-05-22  Bruno Haible  <bruno@clisp.org>
14066
14067         * m4/minmax.m4: New file.
14068         Based on a patch by Derek Price <derek@ximbiot.com>.
14069
14070 2005-05-22  Bruno Haible  <bruno@clisp.org>
14071
14072         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
14073         (INT64_MIN): Fix definition.
14074         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
14075
14076         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
14077         NEED_SIGNED_INT_TYPES.
14078
14079         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
14080         HAVE_SYSTEM_INTTYPES.
14081
14082 2005-05-22  Bruno Haible  <bruno@clisp.org>
14083
14084         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
14085         Also include <sys/param.h> if it defines MIN, MAX.
14086         Based on a patch by Derek Price <derek@ximbiot.com>.
14087
14088 2005-05-21  Jim Meyering  <jim@meyering.net>
14089
14090         * modules/fts (Files): Add m4/inttypes-pri.m4.
14091         (Depends-on): Add lstat and remove gettext.  Alphabetize.
14092
14093 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14094
14095         New fts module.
14096         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
14097         (setup_dir, free_dir): New functions.
14098         (enter_dir, leave_dir): Define trivial
14099         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
14100         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
14101         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
14102         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
14103         Move to fts-cycle.c.
14104         (fts_open): Use setup_dir.
14105         (fts_close): Use free_dir.
14106         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
14107         This adds a label and some gotos, but the alternatives were messier.
14108         Check for memory allocation failure when entering a dir.
14109         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
14110         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
14111         (FTS): New member fts_cycle, that is a union that contains the
14112         old active_dir_ht and cycle_state.  All uses changed to mention
14113         fts_cycle.ht and fts_cycle.state.
14114         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
14115         fts.c, with the following changes:
14116         (setup_dir, free_dir): New functions.
14117         (enter_dir): Now returns bool.  Return true if successful, false
14118         if memory exhausted.  All callers changed.
14119         Do not bother partly cleaning up on
14120         memory allocation failure; that is free_dir's job.
14121         However, free ad if hash_insert fails, to avoid memory leak.
14122         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
14123         fts->fts_options to see which union member to use.
14124
14125 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14126
14127         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
14128         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
14129
14130 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14131
14132         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
14133
14134 2005-05-20  Jim Meyering  <jim@meyering.net>
14135
14136         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
14137         Now a macro, to pacify GCC.
14138
14139 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14140
14141         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
14142         of -1.
14143
14144 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
14145
14146         * lib/chown.c (rpl_chown): Return -1 on failure.
14147
14148 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14149
14150         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
14151         Don't check for stddef.h.
14152         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
14153         don't use its results.
14154         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
14155         since we include them unconditionally.  Don't require
14156         AM_STDBOOL_H, since stdbool is a prerequisite.
14157         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
14158         since we assume C89 or better.
14159         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
14160         as we don't use their results.
14161         Don't check for fchdir, memmove, memset, strrchr, as we use
14162         them unconditionally.
14163         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
14164         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
14165
14166 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
14167
14168         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
14169         Include <stddef.h> unconditionally, since we assume C89 now.
14170         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
14171         * lib/fts.c: Include fts_.h first, to check interface.
14172         Do not include intprops.h; no longer needed.
14173         Include cycle-check.h and hash.h, since fts_.h no longer does.
14174         Remove unnecessary casts of closedir to void.
14175         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
14176         decide whether to decrement nlinks.
14177         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
14178         (FTS): Use struct hash_table * instead of Hash_table, so that
14179         we no longer need to include hash.h here.
14180
14181 2005-05-18  Jim Meyering  <jim@meyering.net>
14182
14183         * modules/dirfd (License): Change to LGPL.  Most of the code
14184         is already in the public domain.
14185
14186 2005-05-18  Jim Meyering  <jim@meyering.net>
14187
14188         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
14189         Reported by Yoann Vandoorselaere.
14190
14191 2005-05-17  Jim Meyering  <jim@meyering.net>
14192
14193         * m4/fts.m4: New file, from coreutils.
14194
14195 2005-05-17  Jim Meyering  <jim@meyering.net>
14196
14197         * lib/fts.c, lib/fts_.h: New files, from coreutils.
14198
14199 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14200
14201         Sync from coreutils.
14202         * m4/unlinkdir.m4: New file.
14203
14204 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14205
14206         Sync from coreutils.
14207         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
14208         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
14209         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
14210         White space changes only.
14211         * lib/makepath.c (make_path): Port to hosts where leading "//" is
14212         special.
14213         * lib/yesno.c: Include getline.h, not ctype.h.
14214         (yesno): Don't remove leading white space; POSIX doesn't allow it.
14215         Use getline to remove arbitrary restriction on response length.
14216
14217 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14218
14219         * config/srclist-update: Spell out "Street" in FSF postal
14220         mail address; this is the style the FSF seems to prefer.
14221
14222         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
14223         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
14224         this updates FSF postal mail address.
14225
14226         Sync from coreutils.
14227         * modules/unlinkdir: New file.
14228         * modules/yesno (Depends-on): Add getline.
14229         * MODULES.html.sh (File system functions): Add unlinkdir.
14230
14231 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14232
14233         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
14234         lib/strsep.h:
14235         Change the initial comment to refer to GPL, not LGPL.
14236         gnulib-tool will change it to LGPL as needed.
14237
14238         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
14239         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
14240         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
14241         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
14242         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
14243         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
14244         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
14245         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
14246         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
14247         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
14248         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
14249         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
14250         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
14251         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
14252         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
14253         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
14254         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
14255         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
14256         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
14257         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
14258         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
14259         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
14260         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
14261         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
14262         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
14263         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
14264         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
14265         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
14266         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
14267         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
14268         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
14269         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
14270         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
14271         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
14272         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
14273         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
14274         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
14275         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
14276         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
14277         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
14278         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
14279         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
14280         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
14281         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
14282         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
14283         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
14284         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
14285         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
14286         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
14287         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
14288         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
14289         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
14290         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
14291         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
14292         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
14293         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
14294         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
14295         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
14296         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
14297         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
14298         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
14299         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
14300         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
14301         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
14302         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
14303         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
14304         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
14305         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
14306         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
14307         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
14308         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
14309         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
14310         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
14311         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
14312         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
14313         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
14314         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
14315         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
14316         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
14317         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
14318         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
14319         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
14320         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
14321         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
14322         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
14323         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
14324         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
14325         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
14326         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
14327         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
14328         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
14329         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
14330         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
14331         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
14332         lib/yesno.c, lib/yesno.h:
14333         Update FSF postal mail address.
14334
14335 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14336
14337         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
14338         tests/test-memmem.c, tests/test-stpncpy.c:
14339         Update FSF postal mail address.
14340
14341 2005-05-13  Bruno Haible  <bruno@clisp.org>
14342
14343         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
14344         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
14345         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
14346         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
14347         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
14348         Add support for 64-bit integers in the MSVC compiler.
14349
14350 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14351
14352         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
14353
14354 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
14355
14356         * gnulib-tool (func_import): Sort and uniquify recommended includes.
14357
14358 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
14359
14360         * doc/getdate.texi (General date syntax): Don't say that date
14361         date --iso-8601=ns generates acceptable dates; it doesn't yet.
14362         Problem reported by Nic Ferrier.
14363
14364 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14365
14366         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
14367         specified in ai_socktype. Fix invalid ai_protocol
14368         check. ai_protocol is usually set to 0 or depending on
14369         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
14370         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
14371         ai_socktype / ai_protocol in the returned addrinfo structure.
14372
14373 2005-05-10  Simon Josefsson  <jas@extundo.com>
14374
14375         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
14376         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14377
14378 2005-05-10  Karl Berry  <karl@gnu.org>
14379
14380         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
14381         (from http://www.gnu.org/licenses).
14382         * doc/COPYING.LIB: also rename to COPYING.LESSER.
14383         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
14384         fdl.texi suffices.
14385
14386 2005-05-10  Karl Berry  <karl@gnu.org>
14387
14388         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
14389         (COPYING.DOC): remove.
14390
14391         * config/srclist-update: new FSF address.
14392
14393 2005-05-10  Derek Price  <derek@ximbiot.com>
14394
14395         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
14396         possible.
14397
14398 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14399             Bruno Haible  <bruno@clisp.org>
14400
14401         * modules/inet_ntop: New file.
14402         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14403         inet_ntop.
14404
14405 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14406             Bruno Haible  <bruno@clisp.org>
14407
14408         * m4/inet_ntop.m4: New file.
14409
14410 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14411             Bruno Haible  <bruno@clisp.org>
14412
14413         * lib/inet_ntop.h: New file.
14414         * lib/inet_ntop.c: New file, from glibc with modifications.
14415
14416 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
14417
14418         * modules/time_r (License): Change to LGPL.
14419         * modules/extensions (License): Change to LGPL.  Actually,
14420         the license is more permissive than that, but currently gnulib-tool
14421         doesn't know how to handle more-permissive licenses.
14422
14423         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
14424         Problem reported by Dave Love.
14425
14426 2005-05-08  Jim Meyering  <jim@meyering.net>
14427
14428         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
14429         blank.
14430
14431 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
14432
14433         * modules/argmatch (Depends-on): Add stdbool.
14434         * modules/backupfile (Depends-on): Likewise.
14435         * modules/chdir-long (Depends-on): Likewise.
14436         * modules/closeout (Depends-on): Likewise.
14437         * modules/cycle-check (Depends-on): Likewise.
14438         * modules/dirname (Depends-on): Likewise.
14439         * modules/fnmatch (Depends-on): Likewise.
14440         * modules/fsusage (Depends-on): Likewise.
14441         * modules/fwriteerror (Depends-on): Likewise.
14442         * modules/getcwd (Depends-on): Likewise.
14443         * modules/getloadavg (Depends-on): Likewise.
14444         * modules/hard-locale (Depends-on): Likewise.
14445         * modules/makepath (Depends-on): Likewise.
14446         * modules/mountlist (Depends-on): Likewise.
14447         * modules/nanosleep (Depends-on): Likewise.
14448         * modules/posixtm (Depends-on): Likewise.
14449         * modules/quotearg (Depends-on): Likewise.
14450         * modules/readtokens (Depends-on): Likewise.
14451         * modules/readtokens0 (Depends-on): Likewise.
14452         * modules/readutmp (Depends-on): Likewise.
14453         * modules/save-cwd (Depends-on): Likewise.
14454         * modules/strftime (Depends-on): Likewise.
14455         * modules/userspec (Depends-on): Likewise.
14456         * modules/utimecmp (Depends-on): Likewise.
14457         * modules/xgetcwd (Depends-on): Likewise.
14458         * modules/xnanosleep (Depends-on): Likewise.
14459         * modules/xstrtod (Depends-on): Likewise.
14460         * modules/yesno (Depends-on): Likewise.
14461
14462 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14463
14464         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
14465         needless checks.
14466
14467 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14468
14469         Merge from coreutils.  Among other things,
14470         add bulletproofing for cases where stdin, stdout, or stderr are closed.
14471         * lib/fd-safer.c: New file.
14472         * lib/fcntl-safer.h, open-safer.c: Remove.
14473         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
14474         * lib/dup-safer.c: Include unistd-safer.h first.
14475         Don't include errno.h.
14476         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
14477         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
14478         * lib/file-type.c: Rely on file-type.h change.
14479         * lib/getloadavg.c: Include unistd-safer.h.
14480         (getloadavg): Use safer open.
14481         * lib/getusershell.c: Include "stdio-safer.h".
14482         (getusershell): Use safer fopen.
14483         * lib/long-options.c (long_options): Use NULL rather than 0.
14484         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
14485         'free'.
14486         * lib/modechange.c: Likewise.
14487         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
14488         (MODE_DONE): New constant.
14489         (struct mode_change): Remove 'next' member.
14490         (make_node_op_equals): New function; like the old one of the
14491         same name, except it allocates an array.
14492         (mode_compile, mode_create_from_ref): Use it.
14493         (mode_compile): Allocate result as an array, not a linked list.
14494         Parse octal string ourself, so that we catch mistakes like "+0".
14495         (mode_adjust): Arg is an array, not a linked list.
14496         * lib/modechange.c: Include stat-macros.h, xalloc.h.
14497         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
14498         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
14499         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
14500         Remove.  This is now stat-macros.h's job.
14501         (talloc): Remove.  All callers replaced by xalloc, so that
14502         our invokers don't have to worry about reporting memory failures.
14503         (make_node_op_equals): Remove.
14504         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
14505         New constants.
14506         (struct mode_change): Moved here from modechange.h.
14507         (mode_append_entry): Remove.
14508         (mode_compile): Remove MASKED_OPS arg, since it encouraged
14509         apps to have incorrect behavior.  Use simpler algorithm for head
14510         and tail.  Don't futz with umask; that's now the job of mode_adjust.
14511         Detect more invalid usages rather than having somewhat-random behavior.
14512         Don't insert an "a=" action, as that leads to incorrect behavior.
14513         (mode_compile, mode_create_from_ref): Return NULL on error instead
14514         of an enum, since now there's only one way to have an error.  All
14515         callers changed.
14516         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
14517         at the correct time.  Simplify calculation of "+u" and its ilk.
14518         Don't mishandle "+X".
14519         (mode_free): Remove "register" and localize decls.
14520         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
14521         (struct mode_change): Move to modechange.c; callers don't
14522         need to see this stuff.
14523         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
14524         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
14525         (mode_change, mode_adjust): Reflect the new signatures noted above.
14526         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
14527         that might redefine system include files.
14528         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
14529         (my_usleep): Use NULL rather than (void *) 0.
14530         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
14531         Use siginterrupt to specify that system calls should be interrupted.
14532         (rpl_nanosleep): Move initialization of suspended closer to call of
14533         my_usleep.
14534         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
14535         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
14536         (desirable_utmp_entry): New function.
14537         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
14538         using x2nrealloc, to simplify logic.
14539         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
14540         size calculation.  Do not assume utmp file is a regular file.
14541         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
14542         (READ_UTMP_CHECK_PIDS): New constant.
14543         * lib/save-cwd.c: Include unistd-safer.h.
14544         (save_cwd): Use fd_safer.
14545         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
14546         [!_LIBC] Include "stat-macros.h" instead.
14547         * lib/unistd-safer.h (fd_safer): New decl.
14548
14549 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14550
14551         * modules/getloadavg (Depends-on): Add unistd-safer.
14552         * modules/getusershell (Depends-on): Add stdio-safer.
14553         * modules/lstat (Depends-on): Remove xalloc.
14554         * modules/mkstemp (Depends-on): Add stat-macros.
14555         * modules/modechange (Depends-on): Remove xstrtol.
14556         Add stat-macros, xalloc.
14557         * modules/save-cwd (Depends-on): Add unistd-safer.
14558         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
14559         * modules/unistd-safer (Files): Add lib/fd-safer.c
14560         (Makefile.am): Remove lib_SOURCES.
14561
14562         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
14563         Remove fcntl-safer; unistd-safer supersedes it.
14564
14565 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14566
14567         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
14568         AC_HEADER_STAT.
14569         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
14570         (gl_PREREQ_CHOWN): Remove.
14571         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
14572         it.  Don't require AC_HEADER_STAT.
14573         (gl_PREREQ_LSTAT): Remove.
14574         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
14575         Don't require AC_HEADER_STAT.
14576         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
14577         (gl_PREREQ_RMDIR): Remove.
14578         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
14579         mention stat-macros.h or AC_HEADER_STAT, since we'll make
14580         the stat-macros module a prerequisite.
14581         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
14582         * m4/filemode.m4 (gl_FILEMODE): Likewise.
14583         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
14584         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
14585         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
14586         variable names.
14587         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
14588         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
14589         variable prefixes.
14590         * m4/fcntl-safer.m4: Remove.
14591         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
14592         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
14593         Invoke gl_PREREQ_FD_SAFER.
14594         (gl_PREREQ_FD_SAFER): New macro.
14595         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
14596         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
14597         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
14598         Remove duplicate call to AC_LIBOBJ(readutmp).
14599         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
14600
14601         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
14602         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
14603
14604 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14605
14606         * MODULES.html.sh (Misc): Add byteswap.
14607
14608 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
14609
14610         * modules/getcwd (Depends-on): Add extensions.
14611         * modules/openat (Depends-on): Likewise.
14612
14613 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
14614
14615         * modules/byteswap: New file.
14616
14617 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
14618
14619         * m4/byteswap.m4: New file.
14620
14621 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
14622
14623         * lib/byteswap_.h: New file.
14624
14625 2005-04-25  Karl Berry  <karl@gnu.org>
14626
14627         * m4/gettext.m4: Update from GNU gettext 0.14.4.
14628
14629 2005-04-25  Albert Chin  <china@thewrittenword.com>
14630
14631         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
14632         Toolkit C bug.
14633
14634 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
14635
14636         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
14637         (func_ln_if_changed) Remove forcibly for no error message
14638         in case file does not exist.
14639
14640 2005-04-19  Simon Josefsson  <jas@extundo.com>
14641
14642         * gnulib-tool (Options): Make --symlink mean --symbolic.
14643
14644 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
14645
14646         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
14647
14648 2005-04-16  Simon Josefsson  <jas@extundo.com>
14649
14650         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
14651
14652 2005-04-15  Simon Josefsson  <jas@extundo.com>
14653
14654         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
14655
14656 2005-04-15  Simon Josefsson  <jas@extundo.com>
14657
14658         * gnulib-tool: Rename --symlink to --symbolic.
14659
14660 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
14661
14662         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
14663         symbolic links to files instead of copying/moving.  Add --aux-dir,
14664         specifying directory relative --dir where auxiliary build tools
14665         are placed.
14666
14667 2005-04-14  Bruno Haible  <bruno@clisp.org>
14668
14669         * modules/allocsa (License): Change to LGPL.
14670         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
14671
14672 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
14673
14674         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
14675         that "UTC +1 second" continues to work.  Problem reported
14676         by Dmitry V. Levin.
14677         (relunit_snumber): New rule.
14678         (relunit): Use it.
14679
14680 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
14681
14682         * lib/getdate.y (universal_time_zone_table): New constant.
14683         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
14684         universal_time_zone_table.
14685         (lookup_zone): Prefer universal_time_zone_table to
14686         local_time_zone_table, so that "GMT" time stamps are allowed in
14687         London during the summer.  Problem reported by Ian Abbott.
14688
14689 2005-04-12  Jim Meyering  <jim@meyering.net>
14690
14691         * lib/human.c (humblock): Set *options even when returning due to
14692         xstrtoumax conversion failure.  Thanks to a used-uninitialized
14693         warning from gcc-4.
14694
14695 2005-04-09  Jim Meyering  <jim@meyering.net>
14696
14697         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
14698         -Wuninitialized: initialize tm0.tm_year.
14699
14700 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
14701
14702         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
14703         count, since there's no maximum.  All uses changed.
14704         Add member dsts_seen.
14705         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
14706         not being INT_MAX.
14707         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
14708         Use pc_rels_seen to decide whther a date is absolute.
14709
14710         * lib/getdate.y (number): Don't overwrite year.
14711         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
14712         check.
14713
14714 2005-04-02  Simon Josefsson  <jas@extundo.com>
14715
14716         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
14717         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
14718
14719 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
14720
14721         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
14722         where no absolute path name can be longer than PATH_MAX.
14723
14724 2005-03-27  Jim Meyering  <jim@meyering.net>
14725
14726         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
14727
14728 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
14729
14730         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
14731         "one's complement" -> "ones' complement" in comment, as per Knuth.
14732         "value of type" -> "type or expression" in comment.
14733         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
14734
14735 2005-03-26  Jim Meyering  <jim@meyering.net>
14736
14737         Comment nits.
14738         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
14739         Correct typos: s/or/of/.
14740
14741 2005-03-26  Jim Meyering  <jim@meyering.net>
14742
14743         * modules/check-include-files: Move to ../ and rename to...
14744         * check-module: ...this.
14745
14746 2005-03-25  Jim Meyering  <jim@meyering.net>
14747
14748         * modules/xvasprintf (Files): Add xalloc.h.
14749
14750 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
14751
14752         * modules/gettext (Files): config/config.rpath ->
14753         build-aux/config.rpath
14754         * modules/iconv (Files): Likewise.
14755         Problem reported by Oskar Liljeblad.
14756
14757 2005-03-23  Jim Meyering  <jim@meyering.net>
14758
14759         * modules/check-include-files: New script to check for
14760         missing dependencies, multiple includes, etc.
14761
14762         * modules/c-strtold (Depends-on): Add xalloc.
14763         * modules/c-strtod (Depends-on): Add xalloc.
14764         * modules/hash (Depends-on): Add xalloc.
14765         (Files): Remove lib/xalloc.h.
14766
14767         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
14768         * modules/userspec (Files): Add lib/inttostr.h.
14769
14770 2005-03-23  Jim Meyering  <jim@meyering.net>
14771
14772         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
14773
14774 2005-03-22  Jim Meyering  <jim@meyering.net>
14775
14776         * modules/stat-macros: New module.
14777         * modules/canonicalize, modules/euidaccess, modules/file-type,
14778         * modules/filemode, modules/lchown, modules/makepath,
14779         * modules/rmdir, modules/stat: Depend on new stat-macros module
14780         rather than listing lib/stat-macros.h manually.
14781         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
14782
14783 2005-03-22  Jim Meyering  <jim@meyering.net>
14784
14785         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
14786
14787 2005-03-22  Bruno Haible  <bruno@clisp.org>
14788
14789         * config/srclist.txt: Replace target directory 'config' with
14790         'build-aux'.
14791         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
14792         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
14793         ../build-aux/.
14794
14795 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
14796
14797         * modules/chdir-long (Depends-on): Add mempcpy.
14798
14799         * modules/acl, modules/backupfile, modules/c-strtod,
14800         modules/c-strtold, modules/canon-host, modules/canonicalize,
14801         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
14802         modules/exclude, modules/exitfail, modules/file-type,
14803         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
14804         modules/getdate, modules/getline, modules/getpagesize,
14805         modules/getpass, modules/getugroups, modules/group-member,
14806         modules/hard-locale, modules/hash, modules/human, modules/idcache,
14807         modules/inttostr, modules/long-options, modules/makepath,
14808         modules/md5, modules/memcasecmp, modules/memcoll,
14809         modules/modechange, modules/mountlist, modules/path-concat,
14810         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
14811         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
14812         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
14813         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
14814         modules/strftime, modules/strndup, modules/strverscmp,
14815         modules/timespec, modules/unlocked-io, modules/userspec,
14816         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
14817         modules/yesno:
14818         Remove lib_SOURCES line from Makefile.am section, as this is now
14819         done automatically by the corresponding Autoconf macro.
14820
14821 2005-03-21  Jim Meyering  <jim@meyering.net>
14822
14823         Changes imported from coreutils.
14824
14825         * lib/cycle-check.c: Don't include xalloc.h.
14826
14827         * lib/path-concat.c: Don't include assert.h.
14828         (path_concat): Remove assertion that would have triggered
14829         for ABASE starting with more than one slash.
14830         Reported by Andreas Schwab.
14831
14832         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
14833         properly when ABASE is an absolute file name.
14834         Correct the description of this function.
14835         Include <assert.h>.
14836         Add an assertion and a test driver.
14837         This fixes a bug introduced on 2004-07-02.
14838         Andreas Schwab reported the resulting failure of cp --parents:
14839         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
14840
14841 2005-03-21  Jim Meyering  <jim@meyering.net>
14842
14843         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
14844         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
14845
14846 2005-03-21  Jim Meyering  <jim@meyering.net>
14847         and  Paul Eggert  <eggert@cs.ucla.edu>
14848
14849         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
14850         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
14851         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
14852         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
14853         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
14854         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
14855         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
14856         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
14857         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
14858         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
14859         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
14860         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
14861         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
14862         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
14863         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
14864         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
14865         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
14866         for these modules.
14867
14868 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
14869
14870         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
14871         (which shouldn't happen), generate nothing instead of returning 0
14872         immediately, so that nstrftime (NULL, ...) doesn't return 0.
14873
14874 2005-03-16  Bruno Haible  <bruno@clisp.org>
14875
14876         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
14877         HAVE_LONGLONG_64BIT.
14878
14879 2005-03-16  Bruno Haible  <bruno@clisp.org>
14880
14881         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
14882         HAVE_LONGLONG_64BIT.
14883
14884 2005-03-16  Bruno Haible  <bruno@clisp.org>
14885
14886         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
14887         HAVE_LONGLONG_64BIT.
14888
14889 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
14890
14891         * lib/strftime.c (my_strftime): Prepend space to format so that we can
14892         reliably distinguish strftime failure from empty output on POSIX
14893         hosts.
14894
14895 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
14896
14897         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
14898         (iconv_string): Don't guess a size-zero buffer, as that might cause
14899         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
14900         result would be 'too large', where 'too large' is (heuristically)
14901         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
14902         overflow concerns.  This will prevent some unwanted malloc failures
14903         when the inputs are very large.
14904
14905 2005-03-15  Karl Berry  <karl@gnu.org>
14906
14907         * config/srclist.txt (config.rpath): from gettext.
14908         * config/config.rpath: update.
14909
14910 2005-03-15  Bruno Haible  <bruno@clisp.org>
14911
14912         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
14913         to 'negate'.
14914
14915         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
14916         variable.
14917
14918         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
14919         results.
14920
14921 2005-03-14  Simon Josefsson  <jas@extundo.com>
14922
14923         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
14924         <fx@gnu.org>.
14925
14926 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
14927
14928         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
14929         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
14930         intprops.h.
14931         * lib/strtol.c: Likewise.
14932
14933 2005-03-14  Jim Meyering  <jim@meyering.net>
14934
14935         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
14936         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
14937         to be nonzero so that we (and caller) can detect the difference
14938         between a valid zero-length expansion and an error return, even
14939         when the underlying strftime fails before writing anything into
14940         that location.
14941
14942 2005-03-14  Bruno Haible  <bruno@clisp.org>
14943
14944         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
14945         Update from GNU gettext 0.14.3.
14946
14947 2005-03-10  Jim Meyering  <jim@meyering.net>
14948
14949         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
14950
14951 2005-03-10  Jim Meyering  <jim@meyering.net>
14952
14953         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
14954         so that this module works on systems without fchdir.
14955
14956 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
14957
14958         Factor int-properties macros into a single file, except for
14959         glibc-related files.
14960         * lib/intprops.h: New file.
14961         * lib/getloadavg.c: Include it instead of limits.h.
14962         (INT_STRLEN_BOUND): Remove.
14963         * lib/human.c: Include intprops.h.
14964         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
14965         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
14966         302/1000.
14967         * lib/inttostr.h: Include intprops.h instead of limits.h.
14968         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
14969         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
14970         for consistency with intprops.h.
14971         (time_t_is_integer, twos_complement_arithmetic): Use them.
14972         * lib/sig2str.h: Include <signal.h>, intprops.h.
14973         (INT_STRLEN_BOUND): Remove.
14974         * lib/strftime.c (TYPE_SIGNED): Remove.
14975         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
14976         * lib/strtol.c: Adjust comments to match intprops.h.
14977         * lib/userspec.c: Include intprops.h.
14978         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
14979         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
14980         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
14981         instead of rolling our own expressions.
14982         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
14983
14984         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
14985         instead of int.
14986         (my_strftime): Do not mishandle years close to INT_MAX, by doing
14987         the right thing even if adding 1900 would overflow.  Similarly
14988         for tm_mon + 1 and tm_yday + 1.
14989         Make %Y always equivalent to %C%y, and similarly for %G and %g.
14990         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
14991         (DO_SIGNED_NUMBER): New macro.
14992         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
14993
14994 2005-03-07  Bruno Haible  <bruno@clisp.org>
14995
14996         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
14997
14998 2005-03-07  Bruno Haible  <bruno@clisp.org>
14999
15000         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
15001
15002 2005-03-04  Derek R. Price  <derek@ximbiot.com>
15003
15004         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
15005         (func_import): Only replace files via --import when they have actually
15006         changed.
15007
15008 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15009
15010         * m4/mmap-anon.m4: New file.
15011         * m4/pagealign_alloc.m4: New file.
15012
15013 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15014             Bruno Haible  <bruno@clisp.org>
15015
15016         * modules/pagealign_alloc: New file.
15017         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
15018
15019 2005-03-03  Derek R. Price  <derek@ximbiot.com>
15020             Bruno Haible  <bruno@clisp.org>
15021
15022         * lib/pagealign_alloc.h: New file.
15023         * lib/pagealign_alloc.c: New file.
15024
15025 2005-03-03  Bruno Haible  <bruno@clisp.org>
15026
15027         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
15028         Use an all-permissive copyright notice, recommended by RMS.
15029
15030 2005-03-02  Bruno Haible  <bruno@clisp.org>
15031
15032         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
15033         of AIX, the replacement has to be done only after <string.h> is
15034         included, therefore not in config.h. stpncpy.h does the replacement,
15035         and stpncpy.c uses it.
15036
15037 2005-03-02  Bruno Haible  <bruno@clisp.org>
15038
15039         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
15040         stpncpy.c uses it.
15041
15042 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15043
15044         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
15045         The workaround isn't strictly needed for POSIX conformance, and
15046         it's too much of a pain to configure and maintain.  We'll ask
15047         people to fix their kernels instead.
15048         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
15049         (NANOSLEEP_BUG_WORKAROUND): Remove.
15050         (xnanosleep): Remove the workaround.
15051
15052 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15053
15054         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
15055         Reported by Derek Price.
15056         (Include): Add "timespec.h".
15057
15058         * modules/xnanosleep (Depends-on): Remove gethrxtime.
15059
15060 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15061
15062         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
15063         to detect nanosleep bug.
15064
15065 2005-03-01  Bruno Haible  <bruno@clisp.org>
15066
15067         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
15068
15069 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15070
15071         * modules/gethrxtime: New file.
15072         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
15073         (Depends-on): Add gethrxtime.
15074         (configure.ac): Add gl_XNANOSLEEP.
15075         (Makefile.am): Remove lib_SOURCES line.
15076
15077 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15078
15079         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
15080         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
15081
15082 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
15083
15084         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
15085         * lib/timespec.h (gettime): Return void, since it always
15086         succeeds now.  All uses changed.
15087         * lib/gettime.c (gettime) Likewise.
15088         [HAVE_NANOTIME]: Prefer nanotime.
15089         Assume gettimeofday succeeds, as POSIX requires.
15090         Assime time () succeeds, since other code already does.
15091         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
15092         (timespec_subtract): Remove.
15093         (NANOSLEEP_BUG_WORKAROUND): New constant.
15094         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
15095         things considerably.  Use it only on GNU/Linux hosts, since the
15096         workaround shouldn't be needed elsewhere.
15097
15098 2005-02-24  Bruno Haible  <bruno@clisp.org>
15099
15100         * modules/gettext (Files): Add m4/glibc2.m4.
15101
15102 2005-02-24  Bruno Haible  <bruno@clisp.org>
15103
15104         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
15105         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
15106         * m4/progtest.m4:
15107         Update from GNU gettext 0.14.2.
15108         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
15109
15110 2005-02-24  Bruno Haible  <bruno@clisp.org>
15111
15112         * lib/localcharset.c: Update from GNU gettext 0.14.2.
15113         * lib/config.charset: Update from GNU gettext 0.14.2.
15114
15115 2005-02-24  Bruno Haible  <bruno@clisp.org>
15116
15117         * lib/gettext.h: Update from GNU gettext 0.14.2.
15118
15119 2005-02-23  Simon Josefsson  <jas@extundo.com>
15120
15121         * m4/iconvme.m4: New file.
15122
15123 2005-02-23  Jim Meyering  <jim@meyering.net>
15124
15125         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
15126         change.
15127         Thanks to Bruno Haible for catching it.
15128
15129 2005-02-22  Simon Josefsson  <jas@extundo.com>
15130
15131         * modules/iconvme: New file.
15132
15133         * MODULES.html.sh: Add iconvme.
15134
15135 2005-02-22  Simon Josefsson  <jas@extundo.com>
15136
15137         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
15138
15139 2005-02-22  Simon Josefsson  <jas@extundo.com>
15140
15141         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
15142
15143 2005-02-22  Jim Meyering  <jim@meyering.net>
15144
15145         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
15146         s/ifndef/ifdef/.
15147
15148 2005-02-20  Neil Conway  <neilc@samurai.com>
15149
15150         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
15151         returned by OSX/Darwin if the specified buffer is not large
15152         enough for the hostname.
15153
15154 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15155
15156         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
15157         pass it to _help, otherwise the latter coredumps trying to
15158         dereference state.root_argp.
15159
15160 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15161
15162         * modules/chdir-long (Depends-on): Add memrchr.
15163         * modules/memrchr (Files): Add lib/memrchr.h.
15164         (Include): "memrchr.h".
15165
15166 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15167
15168         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
15169
15170 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
15171
15172         * lib/memrchr.h: New file.
15173         * lib/chdir-long.c: Include it.
15174         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
15175         Don't bother including stddef.h.
15176
15177 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
15178
15179         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
15180         inclusion.
15181         Include <sys/types.h>, for dev_t.
15182         (ME_DUMMY, ME_REMOTE): Move from here....
15183         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
15184         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
15185         Dmitry V. Levin.
15186         Include mountlist.h first, to test the interface.
15187
15188 2005-01-29  Bruno Haible  <bruno@clisp.org>
15189
15190         * lib/progname.c (program_name): Initialize.
15191         Needed when linking statically on MacOS X.
15192
15193 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15194
15195         Sync from coreutils.
15196         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
15197         (Depends-on): Add c-strtod.
15198         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
15199
15200 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
15201
15202         Sync from coreutils.
15203         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
15204
15205         Remove files that are specific to coreutils.
15206         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
15207
15208 2005-01-28  Bruno Haible  <bruno@clisp.org>
15209
15210         * modules/javacomp: New file.
15211         * MODULES.html.sh (Java): Add javacomp.
15212
15213 2005-01-28  Bruno Haible  <bruno@clisp.org>
15214
15215         * m4/javacomp.m4: New file, from GNU gettext.
15216
15217 2005-01-28  Bruno Haible  <bruno@clisp.org>
15218
15219         * lib/javacomp.sh.in: New file, from GNU gettext.
15220         * lib/javacomp.h: New file, from GNU gettext.
15221         * lib/javacomp.c: New file, from GNU gettext.
15222
15223 2005-01-26  Simon Josefsson  <jas@extundo.com>
15224
15225         * lib/gai_strerror.c: Use GPL in header.
15226
15227 2005-01-26  Bruno Haible  <bruno@clisp.org>
15228
15229         * modules/javaexec: New file.
15230         * MODULES.html.sh (Java): Add javaexec.
15231
15232 2005-01-26  Bruno Haible  <bruno@clisp.org>
15233
15234         * m4/javaexec.m4: New file, from GNU gettext.
15235
15236 2005-01-26  Bruno Haible  <bruno@clisp.org>
15237
15238         * lib/javaexec.sh.in: New file, from GNU gettext.
15239         * lib/javaexec.h: New file, from GNU gettext.
15240         * lib/javaexec.c: New file, from GNU gettext.
15241
15242 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15243
15244         * modules/lchown (Depends-on): Remove lchown.h
15245
15246 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15247
15248         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
15249         must be defined if the header file was not found, in order
15250         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
15251
15252 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15253
15254         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
15255         initializers for struct pentry_state.
15256         (__argp_error): Check return value of __asprintf
15257         (__argp_failure): Translate error message
15258
15259         * lib/argp-parse.c: Removed braces around the expansion of N_()
15260
15261 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
15262
15263         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
15264         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
15265         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
15266         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
15267         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
15268         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
15269         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
15270         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
15271         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
15272         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
15273         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
15274         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
15275         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
15276         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
15277         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
15278         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
15279         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
15280         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
15281         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
15282         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
15283         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
15284         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
15285         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
15286         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
15287         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
15288         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
15289         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
15290         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
15291         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
15292         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
15293         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
15294         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
15295         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
15296         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
15297         xstrtol.m4, xstrtoumax.m4, yesno.m4:
15298         Use an all-permissive copyright notice, recommended by RMS.
15299
15300 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
15301
15302         * modules/chdir-long (Depends-on): Remove mempcpy.
15303
15304 2005-01-21  Jim Meyering  <jim@meyering.net>
15305
15306         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
15307         same value as for Solaris 9.
15308
15309         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
15310         component length.  This included changing the parameter to be
15311         of type `char *' rather than `char const *'.
15312         * lib/chdir-long.h (chdir_long): Update prototype.
15313
15314         * lib/openat.c (fdopendir, fstatat): New functions.
15315         * lib/openat.h: Include headers required for use of DIR and struct
15316         stat.
15317         [AT_SYMLINK_NOFOLLOW]: Define.
15318         (fdopendir, fstatat): Add prototypes.
15319
15320 2005-01-21  Bruno Haible  <bruno@clisp.org>
15321
15322         * modules/classpath: New file.
15323         * MODULES.html.sh (Java): Add classpath.
15324
15325 2005-01-21  Bruno Haible  <bruno@clisp.org>
15326
15327         * lib/classpath.h: New file, from GNU gettext.
15328         * lib/classpath.c: New file, from GNU gettext.
15329
15330 2005-01-20  Simon Josefsson  <jas@extundo.com>
15331
15332         * modules/version-etc-fsf: New file.
15333
15334 2005-01-20  Simon Josefsson  <jas@extundo.com>
15335
15336         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
15337         * lib/version-etc.c: Remove version_etc_copyright.
15338         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
15339         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
15340
15341 2005-01-20  Simon Josefsson  <jas@extundo.com>
15342
15343         * lib/base64.h (isbase64): Add.
15344
15345         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
15346         using a unsigned prototype, don't inline.
15347         (base64_decode): Use it.
15348
15349 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15350
15351         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
15352         it.
15353
15354 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15355
15356         * lib/save-cwd.c (save_cwd): Remove code to support the case
15357         where fchdir is missing or flaky.
15358
15359 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
15360
15361         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
15362
15363 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
15364
15365         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
15366         AC_LIBSOURCES now does this.
15367         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
15368         with new ullong_max module.
15369
15370 2005-01-19  Bruno Haible  <bruno@clisp.org>
15371
15372         * modules/sh-quote: New file.
15373         * MODULES.html.sh (Executing programs): Add sh-quote.
15374
15375 2005-01-19  Bruno Haible  <bruno@clisp.org>
15376
15377         * lib/sh-quote.h: New file, from GNU gettext.
15378         * lib/sh-quote.c: New file, from GNU gettext.
15379
15380 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15381
15382         Merge from coreutils.
15383         * m4/ullong_max.m4: New file.
15384         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
15385         (gl_MACROS): Assume localeconv exists.
15386
15387 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15388
15389         Merge changes from coreutils, as described below in several
15390         changelogs dated today.
15391
15392         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
15393         (O_DIRECTORY): Remove; not needed here, since "." must be
15394         a directory.  All uses removed.
15395         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
15396         universal on Suns, and we also need to test for IRIX.
15397         Revamp code to use 'if' rather than '#if'.
15398         Avoid unnecessary comparison of cwd->desc to 0.
15399
15400         * lib/utimens.c (futimens): Robustify the previous patch, by checking
15401         for known valid error numbers rather than observed invalid ones.
15402
15403 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
15404
15405         * modules/ullong_max: New file.
15406
15407         * modules/chdir-long, modules/openat: New files.
15408         * modules/save-cwd (Depends-on): Depend on chdir-long.
15409         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
15410
15411 2005-01-18  Jim Meyering  <jim@meyering.net>
15412
15413         Merge from coreutils.
15414         * m4/chdir-long.m4, m4/openat.m4: New files.
15415         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
15416         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
15417         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
15418         is sane and DOES follow symlinks.  Besides, testing 20 different
15419         systems found no broken chown implementations.
15420         Prompted by a change in rsync's copy of this macro.
15421         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
15422
15423         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
15424
15425         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
15426         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
15427         NULL-means-set-to-current-time semantics.
15428         Remove temporary file immediately, rather than waiting
15429         for configure's at-exit trap code to do it.
15430
15431 2005-01-18  Jim Meyering  <jim@meyering.net>
15432
15433         * lib/version-etc.c (version_etc_copyright): Update copyright date.
15434
15435         * lib/utimens.c (futimens): Account for the fact that futimes
15436         can also fail with errno == ENOSYS or errno == ENOENT.
15437         Patch from Dmitry V. Levin.
15438
15439         Change the name of the robust chdir function from chdir to chdir_long.
15440         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
15441         (restore_cwd): Use chdir_long, not chdir.
15442         * lib/chdir-long.c: Renamed from chdir.c.
15443         * lib/chdir-long.h: Renamed from chdir.h.
15444         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
15445         Hurd.
15446
15447 2005-01-18  Bruno Haible  <bruno@clisp.org>
15448
15449         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
15450         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
15451         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
15452         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
15453         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
15454         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
15455         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
15456         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
15457         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
15458         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
15459         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
15460         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
15461         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
15462         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
15463         Use an all-permissive copyright notice, recommended by RMS.
15464
15465 2005-01-18  Bob Proulx  <bob@proulx.com>
15466
15467         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
15468         simplify offsetof() macro construct to avoid compile failure with
15469         native HP-UX 11.0 ANSI C compiler.
15470
15471 2005-01-17  Bruno Haible  <bruno@clisp.org>
15472
15473         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
15474         redundant because stpncpy.m4 takes care of it.
15475
15476 2005-01-17  Bruno Haible  <bruno@clisp.org>
15477
15478         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
15479
15480 2005-01-17  Bruno Haible  <bruno@clisp.org>
15481
15482         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
15483         used.
15484
15485 2005-01-17  Bruno Haible  <bruno@clisp.org>
15486
15487         * lib/fwriteerror.h (fwriteerror): Change specification to include
15488         fclose.
15489         * lib/fwriteerror.c: Include <stdbool.h>.
15490         (fwriteerror): At the end, close the file stream. Record whether
15491         stdout was already closed.
15492
15493 2005-01-17  Bruno Haible  <bruno@clisp.org>
15494
15495         * lib/execute.c (environ): Declare if needed.
15496         * lib/pipe.c (environ): Likewise.
15497         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
15498
15499 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15500
15501         * modules/argp: Depend on vsnprintf
15502
15503 2005-01-10  Jim Meyering  <jim@meyering.net>
15504
15505         * modules/closeout (Depends-on): Add atexit.
15506
15507 2005-01-06  Bruno Haible  <bruno@clisp.org>
15508
15509         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
15510
15511 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
15512
15513         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
15514         definitions to be after all include files, to avoid collisions.
15515         Problem reported by Bob Proulx.
15516
15517 2005-01-04  Jim Meyering  <jim@meyering.net>
15518
15519         Changes imported from coreutils.
15520         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
15521         as the mkstemp template, use a temporary directory and an
15522         8.3-friendly template to avoid trouble on systems like DJGPP.
15523         Reported by Juan M. Guerrero via Stepan Kasal.
15524         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
15525         close. Remove the temporary directory right away, rather than waiting
15526         for configure's at-exit trap code to do it.
15527         Suggestion from Stepan Kasal.
15528
15529 2005-01-01  Simon Josefsson  <jas@extundo.com>
15530
15531         * gnulib-tool: Print #include directives when --import'ing.
15532
15533 2004-12-28  Simon Josefsson  <jas@extundo.com>
15534
15535         * tests/test-base64.c: Include required header files.  Remove
15536         unused variables.
15537
15538 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15539
15540         * modules/error (Depends-on): Remove gettext.
15541
15542 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15543
15544         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
15545         not needed.  This removes a dependency on the gettext module.
15546         [defined _LIBC]: Do not include <libintl.h>; not needed.
15547
15548 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
15549
15550         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
15551         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
15552
15553 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
15554
15555         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
15556         HAVE_DECL_STRTOLD.
15557
15558 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15559
15560         * modules/getdate (Depends-on): Remove alloca-opt.
15561
15562 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15563
15564         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
15565
15566 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15567
15568         * lib/argp-parse.c: Include <stddef.h>.
15569         (alignof, alignto): New macros.
15570         (parser_init): Don't assume that void * is aligned sufficiently
15571         for struct option.
15572
15573         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
15574         need to extend the stack.
15575         (YYINITDEPTH): New macro, so that the initial stack isn't overly
15576         large.
15577
15578 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15579
15580         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
15581
15582 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
15583
15584         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
15585         (2004-10-24) change.  Apparently this was a false alarm.
15586
15587         * modules/getdate: Depend on alloca-opt, not alloca.
15588
15589 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
15590
15591         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
15592         Remove now-obsolete comment about AIX.
15593         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
15594         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
15595         (YYMAXDEPTH): New macro.
15596
15597 2004-12-18  Simon Josefsson  <jas@extundo.com>
15598
15599         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
15600
15601 2004-12-18  Bruno Haible  <bruno@clisp.org>
15602
15603         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
15604
15605 2004-12-18  Bruno Haible  <bruno@clisp.org>
15606
15607         * lib/fatal-signal.c (fatal_signals): Make non-const.
15608         (init_fatal_signals): New function.
15609         (uninstall_handlers, install_handlers): Ignore signals that were set to
15610         SIG_IGN.
15611         (at_fatal_signal): Call init_fatal_signals.
15612         (init_fatal_signal_set): Likewise. Ignore signals that were set to
15613         SIG_IGN.
15614         Reported by Paul Eggert.
15615
15616 2004-12-18  Bruno Haible  <bruno@clisp.org>
15617
15618         * doc/alloca.texi: New file.
15619         * doc/alloca-opt.texi: New file.
15620
15621 2004-12-17  Jim Meyering  <jim@meyering.net>
15622
15623         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
15624         Otherwise, install-sh could exit with improper exit status when
15625         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
15626
15627 2004-12-16  Simon Josefsson  <jas@extundo.com>
15628
15629         * tests/test-base64.c: Add license.
15630
15631 2004-12-15  Stepan Kasal  <address@hidden>
15632
15633         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
15634
15635 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
15636
15637         * modules/getcwd (Files): Add m4/d-ino.m4.
15638         Suggested by Mark D. Baushke.
15639
15640 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
15641
15642         * lib/getdate.y (textint): New member "negative".
15643         (time_zone_hhmm): New function.
15644         Expect 14 shift-reduce conflicts, not 13.
15645         (o_colon_minutes): New rule.
15646         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
15647         (yylex): Set the "negative" member of signed numbers.
15648
15649 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
15650
15651         * doc/getdate.texi (Time of day items, Time zone items):
15652         Describe new formats +00:00, UTC+00:00.
15653
15654 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
15655
15656         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
15657         spurious "-l"s.  Problem reported by Stepan Kasal.
15658
15659 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
15660
15661         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
15662         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
15663
15664 2004-12-04  Simon Josefsson  <jas@extundo.com>
15665
15666         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
15667         Vandoorselaere <yoann@prelude-ids.org>.
15668
15669 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
15670
15671         Changes imported from coreutils.
15672         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
15673         exist.
15674         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
15675
15676 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
15677
15678         Changes imported from coreutils.
15679         * lib/hard-locale.c: Assume <locale.h> exists.
15680         Include "strdup.h".
15681         (GLIBC_VERSION): New macro.
15682         (hard_locale): Assume setlocale exists.
15683         Rewrite to avoid #ifdef.
15684         Use strdup rather than malloc + strcpy.
15685         * lib/human.c: Assume <locale.h> exists.
15686         (human_readable): Assume localeconv exists.
15687
15688 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
15689
15690         * modules/hard-locale (Depends-on): Add strdup.
15691
15692 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
15693
15694         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
15695         convert T2, not T.  (Imported from libc.)
15696
15697 2004-11-30  Simon Josefsson  <jas@extundo.com>
15698
15699         * modules/restrict (License): Change to LGPL.
15700
15701 2004-11-30  Simon Josefsson  <jas@extundo.com>
15702
15703         * m4/restrict.m4: Add copyright and copying conditions.
15704
15705 2004-11-30  Simon Josefsson  <jas@extundo.com>
15706
15707         * m4/base64.m4: New file.
15708
15709 2004-11-30  Simon Josefsson  <jas@extundo.com>
15710
15711         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
15712         base64.
15713
15714         * tests/test-base64.c: New file.
15715
15716         * modules/base64: New file.
15717
15718 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
15719
15720         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
15721         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
15722
15723         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
15724
15725 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
15726
15727         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
15728         (__getcwd.c): Don't restore errno; glibc doesn't.
15729         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
15730         first, falling back to our code only if its results look suspicious.
15731         Ensure that the resulting buffer is only as large as necessary.
15732
15733         * lib/readutmp.c: Include readutmp.h first.
15734         Include <errno.h>, since readutmp.h no longer does that.
15735         * lib/readutmp.h: Don't include <errno.h>,
15736         <sys/param.h>, <time.h>; not needed to establish interface.
15737         (errno): Remove decl.
15738         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
15739         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
15740         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
15741
15742 2004-11-28  Simon Josefsson  <jas@extundo.com>
15743
15744         * lib/base64.h, base64.c: New file.
15745
15746 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
15747
15748         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
15749
15750 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
15751
15752         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
15753         (Depends-on): Remove pathmax, same.  Add mempcpy.
15754         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
15755         (Makefile.am): Append getcwd.h to lib_SOURCES.
15756         (Include): Add getcwd.h.
15757         (Maintainer): Change from Jim Meyering to "all, glibc",
15758         since getdate now uses intended-for-glibc code.
15759         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
15760         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
15761
15762 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
15763
15764         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
15765         HP's ANSI C compiler.
15766         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
15767         Declaring int functions causes warnings on some modern systems and
15768         shouldn't be needed to compile on ancient ones.
15769         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
15770         defined.
15771
15772         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
15773         with the following changes.
15774         (__set_errno): Parenthesize properly.
15775         Include <stdbool.h>.
15776         (MIN, MAX, MATCHING_INO): New macros.
15777         (__getcwd): Define with prototype, not K&R form.
15778         Use heuristics to allocate default buffer on stack if possible.
15779         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
15780         behavior, and to avoid the PATH_MAX limit when computing
15781         ../../../../...
15782         Use MATCHING_INO to compare inode number to file.
15783         Check for arithmetic overflow in size calculations.
15784         Fix bug in reallocation of dot array that caused getcwd to fail
15785         on directories nested deeper than 75.
15786         Be more careful about saving errno on error.
15787         Do not use realloc; use only free+malloc, as this is a bit
15788         more flexible and avoids a needless copy operation.
15789         Do not inspect st_dev and st_ino for symbolic links; POSIX
15790         doesn't specify the latter.
15791         Check for closedir errors.
15792         Avoid needless casts.
15793         Use "#ifdef weak_alias" around weak_alias, to be like other
15794         glibc code.
15795         The following changes to getcwd.c have effect only when used in
15796         gnulib; they have no effect inside glibc proper.
15797         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
15798         as alloca isn't used.
15799         (alloca, __alloca): Likewise.
15800         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
15801         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
15802         unconditionally, as gnulib assumes C89 or better.
15803         Do not include <sys/param.h>.
15804         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
15805         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
15806         better.
15807         (NULL) [!defined NULL]: Remove; we assume C89 or better.
15808         Include <dirent.h> in a way that is compatible with modern Autoconf.
15809         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
15810         New macros, if not already defined.
15811         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
15812         Use "_LIBC", not "defined _LIBC", for consistency.
15813         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
15814         a mempcpy module.
15815         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
15816         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
15817         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
15818         credit only to Jim Meyering and adjust the copyright dates.
15819         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
15820         <stdlib.h>, <unistd.h>, "pathmax.h".
15821         Instead, include "xgetcwd.h" (first) and "getcwd.h".
15822         (INITIAL_BUFFER_SIZE): Remove.
15823         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
15824
15825 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
15826
15827         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
15828         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
15829         Use the _ONCE methods, for efficiency.
15830         Check for fcntl.h.  In test program, include <errno.h>
15831         and <fcntl.h> if available.  Remove old K&R cruft from
15832         test program.  Check for common errors in GNU/Linux,
15833         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
15834         don't do AC_LIBOBJ, as that's getcwd.m4's job.
15835         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
15836         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
15837         name accordingly.
15838         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
15839         accommodate new getcwd.c.
15840         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
15841         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
15842         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
15843         that's all we need now.
15844
15845 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15846
15847         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
15848         argp-parse.c depends on getopt internals, that means we should
15849         always use our getopt, to be on the safe side.
15850         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
15851         order not to spoil the result of an eventual previous invocation
15852         of gl_GETOPT_SUBSTITUTE.
15853
15854 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15855
15856         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
15857         redefinition warnings. To avoid them, include the defines
15858         in `#if !defined __need_getopt ... #endif'. The only place
15859         where __getopt_argv_const is used is in definitions
15860         of getopt_long and getopt_long_only below, which are as well
15861         protected by `#ifndef __need_getopt'.
15862         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
15863         __need_getopt after including <stdio.h> and <unistd.h> These
15864         headers might have defined it.
15865
15866 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
15867
15868         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
15869
15870 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
15871
15872         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
15873         (futimens): New function, which uses futimes if available.
15874         (futimens, utimens): Support timespec==NULL, with same semantics
15875         as utime and utimens.
15876         * lib/utimens.h (futimens): New decl.
15877
15878 2004-11-23  Jim Meyering  <jim@meyering.net>
15879
15880         * lib/getopt_.h: Remove trailing blanks.
15881
15882 2004-11-23  Jim Meyering  <jim@meyering.net>
15883
15884         * lib/__fpending.c: Add comment.
15885
15886 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
15887
15888         * modules/canonicalize (Depends-on): Add xreadlink.
15889         Problem reported by James Youngman.
15890
15891 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
15892
15893         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
15894         New macros.
15895         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
15896         optopt): Use them instead of invoking ## directly; otherwise, the
15897         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
15898
15899 2004-11-19  Bruno Haible  <bruno@clisp.org>
15900
15901         * lib/strtok_r.c: Move comments from here...
15902         * lib/strtok_r.h: ... to here.
15903
15904 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
15905
15906         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
15907         implementations that mishandle size_t overflow.
15908
15909 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
15910
15911         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
15912         might fail.  Problem reported by Yoann Vandoorselaere.
15913         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
15914         implementations that mishandle size_t overflow.
15915
15916 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15917
15918         * modules/canon-host (Depends-on): Add strdup.
15919
15920 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15921
15922         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
15923
15924 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15925
15926         * lib/canon-host.c: Include "strdup.h".
15927         (canon_host): Use getaddrinfo if available, so that IPv6 works.
15928         Use strdup instead of malloc/strcpy to duplicate strings.
15929
15930         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
15931         (human_space_before_unit): New constant.
15932         * lib/human.c (human_readable): Support it.
15933
15934         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
15935         (xgetcwd): Set errno correctly when failing.
15936         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
15937         the failure is actually due to a PATH_MAX problem.
15938
15939         Further getopt changes to make it more likely that glibc will
15940         buy the changes back.
15941         * lib/getopt.c (POSIXLY_CORRECT): New constant.
15942         (getopt): Use it, so to preserve glibc semantic
15943         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
15944         when compiling for libc.
15945         * lib/getopt_.h (__getopt_argv_const): Bring it back.
15946         (getopt_long, getopt_long_only): Use it.
15947
15948         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
15949         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
15950         (getopt): Argv is now char * const *, as per standard.
15951         (_getopt_internal_r, _getopt_internal): Argv is now char **,
15952         not char *__getopt_argv_const *.
15953         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
15954         _getopt_long_only_r): Likewise.
15955         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
15956         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
15957         _getopt_long_r, _getopt_long_only_r): Likewise.
15958         * lib/getopt_.h (__getopt_argv_const): Remove.
15959         (getopt): Argv is now char * const *, as per standard.
15960
15961         * lib/getdate.y (tORDINAL): New token.
15962         (day, relunit): Allow it for relative times.
15963         (relative_time_table): Use tORDINAL for ordinals.
15964
15965 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15966
15967         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
15968         Document that "second" isn't allowed as an ordinal number.
15969
15970 2004-11-16  Jim Meyering  <jim@meyering.net>
15971
15972         * modules/closeout (Depends-on): Add fpending.
15973
15974 2004-11-15  Jim Meyering  <jim@meyering.net>
15975
15976         * lib/closeout.c: Include "__fpending.h" once again.
15977         Include <stdbool.h>.
15978         (close_stdout): Don't fail just because stdout was closed initially,
15979         since some programs don't write to stdout in the normal course of
15980         operation (other than --version and --help), and we don't want this
15981         function to make e.g. `touch file >&-' fail.
15982         But do fail if it was closed and someone has tried to write to it.
15983         E.g., `printf foo >&-' must fail.
15984
15985 2004-11-13  Jim Meyering  <jim@meyering.net>
15986
15987         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
15988
15989 2004-11-12  Simon Josefsson  <jas@extundo.com>
15990
15991         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
15992         small doc fix is still pending.
15993
15994 2004-11-11  Simon Josefsson  <jas@extundo.com>
15995
15996         * modules/strtok_r: New file.
15997
15998         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15999         strtok_r.
16000
16001 2004-11-11  Simon Josefsson  <jas@extundo.com>
16002
16003         * m4/strtok_r.m4: New file.
16004
16005         * m4/getopt.m4: Replace opterr.
16006
16007 2004-11-11  Simon Josefsson  <jas@extundo.com>
16008
16009         * lib/strtok_r.h, strtok_r.c: New file.
16010
16011 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16012
16013         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
16014         of replacing opterr, getopt, etc.  This should handle the
16015         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
16016
16017 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
16018
16019         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
16020         we can stop lying to compilers about the constness of argv when we
16021         are compiled outside glibc.
16022         (getopt, getopt_long, getopt_long_only): Use it.
16023         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
16024         _getopt_internal, getopt): Likewise.
16025         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
16026         _getopt_long_only_r): Likewise.
16027         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
16028         _getopt_long_r, _getopt_long_only_r): Likewise.
16029
16030         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
16031         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
16032         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
16033         the other external symbols.
16034         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
16035         declaration, since the above renaming now works around collisions.
16036
16037 2004-11-11  Jim Meyering  <jim@meyering.net>
16038
16039         * lib/linebreak.c: Remove trailing blanks.
16040         * lib/alloca_.h: Likewise.
16041         * lib/acosl.c: Likewise.
16042         * lib/euidaccess.c: Likewise.
16043         * lib/allocsa.h: Likewise.
16044
16045 2004-11-10  Simon Josefsson  <jas@extundo.com>
16046
16047         * m4/getaddrinfo.m4: New file.
16048
16049 2004-11-10  Simon Josefsson  <jas@extundo.com>
16050
16051         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
16052
16053 2004-11-10  Simon Josefsson  <jas@extundo.com>
16054
16055         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16056         getaddrinfo.
16057
16058         * modules/getaddrinfo: New file.
16059
16060 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16061
16062         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
16063
16064 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16065
16066         * lib/mktime.c (SHR): New macro, which is a portable
16067         substitute for >> that should work even on Crays.
16068         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
16069         Problem reported by Mark D. Baushke in
16070         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
16071         * lib/getdate.y (SHR): Likewise.
16072         (tm_diff): Use it.
16073         * lib/strftime.c (SHR): Likewise.
16074         (tm_diff): Use it.
16075         * lib/quotearg.c (struct quoting_options): Use unsigned int for
16076         quote_these_too, so that right shifts are well defined.  All uses
16077         changed.
16078
16079 2004-11-10  Jim Meyering  <jim@meyering.net>
16080
16081         Ensure that no close failure goes unreported.
16082         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
16083         return early when it seems there's nothing to flush.
16084         Don't include __fpending.h.
16085
16086 2004-11-10  Jim Meyering  <jim@meyering.net>
16087
16088         * modules/closeout (Depends-on): Remove fpending.
16089
16090 2004-11-10  Jim Meyering  <jim@meyering.net>
16091
16092         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
16093
16094 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16095
16096         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
16097         gl_FUNC_STRFTIME.
16098         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
16099         and AC_REQUIRE when possible, to avoid duplicate checks.
16100         Check for <wchar.h>.
16101
16102 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
16103
16104         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
16105
16106 2004-11-09  Bruno Haible  <bruno@clisp.org>
16107
16108         * m4/sockpfaf.m4: New file.
16109
16110 2004-11-05  Bruno Haible  <bruno@clisp.org>
16111
16112         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
16113         Reported by Mark D. Baushke <mdb@cvshome.org>.
16114
16115 2004-11-04  Bruno Haible  <bruno@clisp.org>
16116
16117         2004-09-11  Bruno Haible  <bruno@clisp.org>
16118                 * allocsa.valgrind: New file.
16119         2004-02-06  Bruno Haible  <bruno@clisp.org>
16120                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
16121                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
16122                 Reported by Christopher Seip <chris.seip@hp.com>.
16123
16124 2004-11-04  Bruno Haible  <bruno@clisp.org>
16125
16126         * modules/allocsa (Files): Add lib/allocsa.valgrind.
16127         (Makefile.am): Distribute it.
16128
16129 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16130
16131         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
16132         with errno == ERANGE if the buffer is too small.
16133         Problem reported by Mark D. Baushke.
16134
16135 2004-11-03  Albert Chin  <china@thewrittenword.com>
16136             Paul Eggert  <eggert@cs.ucla.edu>
16137
16138         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
16139         equivalent, substitute $ac_type for equivalent type rather than
16140         blindly using uint32_t *always* which won't work if uint32_t is not
16141         available.  Define _UINT32_T to work around typedef of uint32_t if
16142         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
16143         2.5.1.
16144
16145 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16146
16147         * m4/jm-macros.m4: Sync from coreutils.
16148         (gl_MACROS): Check for mbrlen, for pathchk.
16149         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
16150
16151 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16152
16153         * lib/xreadlink.c (MAXSIZE): New macro.
16154         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
16155         size does not exceed MAXSIZE.  Avoid cast.
16156         As suggested by Mark D. Baushke in
16157         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
16158         if readlink fails with buffer size just under MAXSIZE, try again
16159         with MAXSIZE.
16160
16161 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16162
16163         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
16164
16165 2004-11-02  Derek R. Price  <derek@ximbiot.com>
16166         and  Paul Eggert  <eggert@cs.ucla.edu>
16167
16168         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
16169         (get_date): Overparenthesize to avoid GCC warning.
16170
16171 2004-11-02  Bruno Haible  <bruno@clisp.org>
16172
16173         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
16174         returns void.
16175
16176 2004-11-02  Bruno Haible  <bruno@clisp.org>
16177
16178         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
16179         function returns void.
16180
16181 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16182
16183         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
16184         fflush_unlocked, flockfile, funlockfile, funlockfile,
16185         fputs_unlocked, putc_unlocked.
16186
16187 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
16188
16189         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16190         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
16191         already declared.
16192
16193 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16194
16195         * modules/getdate (Files): Add doc/getdate.texi.
16196         (Depends-on): Add setenv, xalloc.
16197
16198 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16199
16200         * lib/getdate.y: Add support for TZ="foo" within a date string.
16201         Fix some bugs near time_t boundaries.  Reject dates with
16202         out-of-range components, e.g., "Sept 31".
16203         Include <stdlib.h>, "setenv.h", "xalloc.h".
16204         (ISDIGIT_LOCALE): Remove; unused.
16205         Note that the TZ and time functions used here are not reentrant.
16206         (mktime_ok, get_tz): New functions.
16207         (TZBUFSIZE): New constant.
16208         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
16209         This requires that we sometimes generate our own TZ="XXX..." setting.
16210
16211 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16212
16213         * doc/getdate.texi: New file, from coreutils with modifications for
16214         the new TZ parsing.
16215
16216 2004-10-27  Derek R. Price  <derek@ximbiot.com>
16217
16218         * lib/mktime.c (not_equal_tm): Remove redundant check.
16219
16220 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16221
16222         * modules/regex (lib_SOURCES): Add regex.c.
16223         Reported by James Youngman in
16224         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
16225
16226 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
16227
16228         * lib/getdate.y: Use Bison 1.875 features, and some minor
16229         code cleanups.  This change does not affect semantics.
16230         Don't include <stdlib.h>; no longer needed.
16231         Don't include unlocked-io.h; only the "#if TEST" code uses
16232         stdio, and performance isn't crucial there.
16233         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
16234         Bison 1.875 features as described below.
16235         All uses of "PC." replaced by "pc->".
16236         (YYSTYPE): Add a forward declaration.
16237         (yylex, yyerror): Use full prototypes in forward decls.
16238         Use "%pure-parser" rather than obsolescent "%pure_parser".
16239         Use %parse-param and %lex-param instead of obsolescent
16240         YYPARSE_PARAM and YYLEX_PARAM.
16241         (meridian_table, month_and_day_table, time_units_table,
16242         relative_time_table, time_zone_table, military_table,
16243         lookup_zone, lookup_word, get_date):
16244         Use NULL instead of 0 where appropriate.
16245         (to_hour): Avoid abort (), to avoid a dependency on
16246         stdlib.h.
16247         (yyerror, yylex): Now accepts parser_control * arg.
16248         (main) [TEST]: Use '\0' rather than 0 for char.
16249
16250 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16251
16252         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
16253
16254 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
16255
16256         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
16257         It's now the caller's responsibility to handle the case where
16258         !HAVE_GETPAGESIZE && !defined getpagesize.
16259
16260         * lib/mktime.c (leapyear): Arg is long int, not int.
16261
16262 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
16263
16264         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
16265
16266 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
16267
16268         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
16269         missing.  Problem reported by James Youngman.
16270
16271 2004-10-16  Simon Josefsson  <jas@extundo.com>
16272
16273         * gnulib-tool: Fix comments.  Fix parse problem.
16274         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
16275
16276 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
16277
16278         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
16279         implementation of getopt_long.  Problem reported by Alexander Taler in:
16280         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
16281
16282 2004-10-15  Bruno Haible  <bruno@clisp.org>
16283
16284         * gnulib-tool: Untabify. Initialize supplied_libname.
16285         (func_usage): More homogenous output.
16286         (func_modules_transitive_closure, func_modules_to_filelist,
16287         func_emit_lib_Makefile_am): New functions.
16288         (func_import): New function, extracted from big case statement. Use
16289         func_get_license, func_modules_transitive_closure,
16290         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
16291         opt_lgpl. Don't use test -a, as it's not portable.
16292         (func_create_testdir): Use func_modules_transitive_closure,
16293         func_modules_to_filelist, func_emit_lib_Makefile_am.
16294
16295 2004-10-15  Bruno Haible  <bruno@clisp.org>
16296
16297         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
16298
16299 2004-10-15  Bruno Haible  <bruno@clisp.org>
16300
16301         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
16302         the portions belonging to each module.
16303         Suggested by Derek Robert Price <derek@ximbiot.com>.
16304
16305 2004-10-12  Simon Josefsson  <jas@extundo.com>
16306
16307         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
16308         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
16309         to real functions.
16310
16311 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16312
16313         * modules/vsnprintf: New file.
16314
16315 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16316
16317         * m4/vsnprintf.m4: New file.
16318
16319 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16320
16321         * lib/vsnprintf.h: New file.
16322         * lib/vsnprintf.c: New file.
16323
16324 2004-10-11  Bruno Haible  <bruno@clisp.org>
16325
16326         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
16327         vsnprintf.
16328
16329 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
16330
16331         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
16332
16333 2004-10-07  Bruno Haible  <bruno@clisp.org>
16334
16335         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
16336         fits into the provided buffer.
16337
16338 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
16339
16340         * lib/diacrit.c, diacrit.h: Add GPL notice.
16341
16342         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
16343         notice.
16344         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
16345         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
16346         This avoids a potential constant-folding bug.
16347
16348 2004-10-05  Bruno Haible  <bruno@clisp.org>
16349
16350         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
16351         for the declaration of strsep.
16352
16353 2004-10-05  Bruno Haible  <bruno@clisp.org>
16354
16355         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
16356
16357 2004-10-04  Simon Josefsson  <jas@extundo.com>
16358
16359         * modules/memmem: New file.
16360         * tests/test-memmem.c: New file.
16361         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
16362
16363 2004-10-04  Simon Josefsson  <jas@extundo.com>
16364
16365         * m4/memmem.m4: New file.
16366
16367 2004-10-04  Simon Josefsson  <jas@extundo.com>
16368
16369         * lib/memmem.h: New file.
16370         * lib/memmem.c: New file, taken from glibc.
16371
16372 2004-10-04  Simon Josefsson  <jas@extundo.com>
16373
16374         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
16375         '#ifdef USE_UNLOCKED_IO'.
16376
16377 2004-10-04  Simon Josefsson  <jas@extundo.com>
16378
16379         * config/srclist.txt: Add memmem from glibc.
16380
16381 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16382
16383         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
16384
16385         * modules/argmatch, modules/argp, modules/closeout, modules/error,
16386         modules/exclude, modules/getdate, modules/getline,
16387         modules/getndelim2, modules/getpass, modules/getpass-gnu,
16388         modules/getusershell, modules/linebuffer, modules/md5,
16389         modules/mountlist, modules/posixtm, modules/readtokens,
16390         modules/readutmp, modules/regex, modules/sha1,
16391         modules/version-etc, modules/yesno:
16392         Remove dependency on unlocked-io.
16393
16394 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16395
16396         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
16397
16398         * m4/unlocked-io.m4: Add copyright notice.
16399         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
16400
16401 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16402
16403         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
16404         * lib/xmalloc.c (xmemdup): Likewise.
16405         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
16406         XFREE): Remove these long-obsolescent macros.
16407         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
16408         * lib/xstrdup.c: Remove.
16409
16410         * lib/regex.c (re_comp): Cast gettext return value to char *,
16411         Problem reported by Martin Neitzel via Mark D. Baushke.
16412
16413 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
16414
16415         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
16416         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
16417         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
16418         regex.c, sha1.c, version-etc.c, yesno.c:
16419         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
16420         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
16421         the includer's responsibility.
16422
16423         Sync from coreutils.
16424
16425         * lib/modechange.c (mode_compile): Don't decrement a pointer that
16426         points to the start of a string, as the C Standard says the
16427         resulting behavior is undefined.
16428
16429         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
16430         simple -> simple_backups, numbered_existing ->
16431         numbered_existing_backups, numbered -> numbered_backups
16432         to avoid shadowing problems.  All uses changed.
16433         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
16434         * lib/backupfile.c (check_extension, numbered_backup):
16435         Rename locals to avoid shadowing 'basename'.
16436         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
16437         once.
16438
16439         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
16440         * lib/.cvsignore: Add getopt.h.
16441
16442 2004-10-04  Bruno Haible  <bruno@clisp.org>
16443
16444         * modules/README: New file.
16445         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
16446         not a module.
16447
16448 2004-10-02  Jim Meyering  <jim@meyering.net>
16449
16450         * lib/dirfd.h, getpagesize.h: Add copyright notice.
16451
16452 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16453
16454         * modules/strsep: New file.
16455
16456 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16457
16458         * m4/strsep.m4: New file.
16459
16460 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
16461
16462         * lib/strsep.h: New file.
16463         * lib/strsep.c: New file.
16464
16465 2004-10-01  Simon Josefsson  <jas@extundo.com>
16466
16467         * lib/snprintf.c (snprintf): Handle size==0.
16468
16469 2004-10-01  Simon Josefsson  <jas@extundo.com>
16470             Bruno Haible  <bruno@clisp.org>
16471
16472         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
16473         (snprintf): Declare 'args'.
16474
16475 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
16476
16477         * lib/snprintf.c: Remove comments as to why each header is needed.
16478
16479 2004-10-01  Bruno Haible  <bruno@clisp.org>
16480
16481         * MODULES.html.sh: Add strsep.
16482
16483 2004-09-30  Simon Josefsson  <jas@extundo.com>
16484
16485         * modules/snprintf: New file.
16486
16487 2004-09-30  Simon Josefsson  <jas@extundo.com>
16488
16489         * m4/snprintf.m4: New file.
16490
16491 2004-09-30  Simon Josefsson  <jas@extundo.com>
16492
16493         * lib/snprintf.h, lib/snprintf.c: New files.
16494
16495 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16496
16497         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
16498         (hol_entry_help): Never translate an empty string.
16499         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
16500         * lib/argp.h (OPTION_NO_TRANS): New option.
16501
16502 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16503
16504         * modules/argp (Maintainer): Replace Simon Josefsson
16505         by Sergey Poznyakoff.
16506
16507 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16508
16509         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
16510         changes merged back into glibc.
16511
16512 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16513
16514         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
16515
16516 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
16517
16518         * lib/xvasprintf.c: Include xalloc.h.
16519         (xvasprintf): Use xalloc_die, not xmalloc_die.
16520
16521 2004-09-29  Bruno Haible  <bruno@clisp.org>
16522
16523         * modules/alloca-opt: New file, derived from modules/alloca.
16524         * modules/allocsa: Depend on alloca-opt instead of alloca.
16525         * modules/setenv: Likewise.
16526         * modules/vasnprintf: Likewise.
16527         * MODULES.html.sh: Add alloca-opt.
16528
16529 2004-09-28  Simon Josefsson  <jas@extundo.com>
16530
16531         * gnulib-tool: New parameter --lgpl, to asseert that modules are
16532         LGPL, and to replace license template from GPL to LGPL.
16533
16534 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
16535
16536         * modules/dummy: Change license to LGPL.
16537
16538 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
16539
16540         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
16541
16542 2004-09-24  Simon Josefsson  <jas@extundo.com>
16543
16544         * modules/minmax (License): Change from GPL to LGPL.
16545
16546 2004-09-23  Simon Josefsson  <jas@extundo.com>
16547
16548         * gnulib-tool (--import): Typo.
16549
16550 2004-09-23  Simon Josefsson  <jas@extundo.com>
16551
16552         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
16553
16554 2004-09-22  Bruno Haible  <bruno@clisp.org>
16555
16556         * modules/*: Add 'License' field.
16557         * gnulib-tool: Accept --extract-license option.
16558         (func_get_license): New function.
16559
16560 2004-09-21  Bruno Haible  <bruno@clisp.org>
16561
16562         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
16563         Reported by Simon Josefsson.
16564
16565 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16566
16567         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
16568         gl_AC_TYPE_LONG_LONG.
16569
16570 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16571
16572         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
16573
16574 2004-09-18  Simon Josefsson  <jas@extundo.com>
16575         and  Paul Eggert  <eggert@cs.ucla.edu>
16576
16577         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
16578         calls with autoreconf.  Define GL_LIB.
16579
16580 2004-09-14  Karl Berry  <karl@gnu.org>
16581
16582         * config/srclist.txt: unsync setenv.c, sigh.
16583
16584 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16585
16586         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
16587         Problem reported by Bruno Haible in:
16588         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
16589
16590 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16591
16592         * config/srclist.txt: Comment out argp-pvh.c.
16593
16594 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16595
16596         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
16597         in case some system header has #define'd it.  Problem reported by
16598         Soeren D. Schulze in
16599         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
16600
16601 2004-09-09  Karl Berry  <karl@gnu.org>
16602
16603         * regex.[ch]: delete from the root.  These were supposed to be
16604                 synced with emacs cvs, but this has not happened for about
16605                 a year, and anyway nothing else uses emacs regex.[ch].
16606                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
16607                 lib/regex[.ch] is untouched.
16608
16609 2004-09-09  Bruno Haible  <bruno@clisp.org>
16610
16611         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
16612
16613 2004-09-09  Bruno Haible  <bruno@clisp.org>
16614
16615         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
16616         modifications.
16617         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
16618
16619 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
16620
16621         * modules/xvasprintf: New file.
16622         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
16623
16624 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
16625
16626         * lib/xvasprintf.h: New file.
16627         * lib/xvasprintf.c: New file.
16628         * lib/xasprintf.c: New file.
16629
16630 2004-09-08  Bruno Haible  <bruno@clisp.org>
16631
16632         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
16633
16634 2004-09-08  Bruno Haible  <bruno@clisp.org>
16635
16636         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
16637         length is > INT_MAX.
16638         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
16639         more.
16640
16641 2004-09-08  Bruno Haible  <bruno@clisp.org>
16642
16643         * lib/stdint_.h: New file, taken from GNU clisp.
16644
16645 2004-09-08  Bruno Haible  <bruno@clisp.org>
16646             Oskar Liljeblad  <oskar@osk.mine.nu>
16647
16648         * modules/stdint: New file.
16649         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
16650
16651 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16652
16653         Import from coreutils.
16654         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
16655         strings on unbounded length.  alloca's performance benefits aren't
16656         that important here.
16657         (V_STRDUP): Remove.
16658         (parse_with_separator): New function, with most of the internals
16659         of the old parse_user_spec.  Allow user to omit both user and group,
16660         for compatibility with FreeBSD.
16661         Clone only the user name, not the entire spec.
16662         Do not set *uid, *gid unless entirely successful.
16663         Avoid memory leak in some failing cases.
16664         Fix regression for USER.GROUP reported by Dmitry V. Levin in
16665         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
16666         (parse_user_spec): Rewrite to use parse_with_separator.
16667
16668 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16669
16670         * modules/userspec: Don't depend on alloca.
16671
16672 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16673
16674         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
16675
16676 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16677
16678         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
16679         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
16680         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
16681
16682 2004-08-16  Simon Josefsson  <jas@extundo.com>
16683
16684         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
16685         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
16686         Add --dry-run for --import.
16687         Let user provided command line parameters override configure.ac
16688         settings.
16689
16690 2004-08-12  Simon Josefsson  <jas@extundo.com>
16691
16692         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
16693         as discussed with Paul Eggert in threads rooted at
16694         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
16695         and
16696         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
16697         Before, the test was empty, and relied on ELIDE_CODE in source
16698         code.)
16699         (gl_PREREQ_GETOPT): New macro.
16700         (gl_GETOPT): Use them.
16701
16702 2004-08-12  Simon Josefsson  <jas@extundo.com>
16703
16704         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
16705         * lib/getopt_.h: Renamed from getopt.h.
16706
16707 2004-08-12  Simon Josefsson  <jas@extundo.com>
16708
16709         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
16710         Change default library name from libfoo to libgnu.
16711         Now, if you have a configure.ac that says:
16712                 gl_SOURCE_BASE(gl)
16713                 gl_M4_BASE(gl/m4)
16714                 gl_MODULES(error getopt etcetera)
16715                 gl_INIT
16716         you can import all you need by running:
16717                 ../gnulib/gnulib-tool --import
16718
16719         * modules/getopt (Files): Rename getopt.h to getopt_.h.
16720         (Makefile.am): Rewrite, use logic from argz.
16721         (Include): Use <getopt.h> instead of "getopt.h".
16722
16723 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16724
16725         * modules/argp (Files): Add m4/unlocked-io.m4.
16726         (Depends-on): Add extensions.
16727
16728 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16729
16730         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
16731         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
16732         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
16733         Check for program_invocation_name, program_invocation_short_name,
16734         flockfile, funlockfile, features.h, _getopt_long_only_r.
16735
16736 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16737
16738         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
16739         its complicated substitute.
16740         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
16741         and program_invocation_name.
16742         (__argp_basename) [!_LIBC]: Remove; the only use was
16743         replaced by its body.
16744         (__argp_short_program_name): Change condition from
16745         !defined __argp_short_program_name to
16746         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
16747         to match argp-namefrob.h.
16748         (__argp_failure): Don't assume strerror_r returns char *.
16749         * lib/argp-parse.c (N_): Define unconditionally.
16750         (argp_default_options): Fill out initializers with 0 to avoid
16751         gcc warnings.
16752
16753 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16754
16755         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
16756         getopt1.c.
16757
16758 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16759
16760         Merge from coreutils.
16761
16762         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
16763
16764         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
16765         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
16766
16767 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16768
16769         Merge from coreutils.
16770
16771         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
16772         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
16773         for Reliant Unix 5.43.
16774
16775         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
16776         (union fooround): Use uintmax_t, not long int.
16777         The rest is a merge from libc:
16778         [defined _LIBC]: Include <shlib-compat.h>.
16779         (_obstack) [defined _LIBC]: Remove after 2.3.4.
16780
16781         * lib/settime.c (settime): Recode to avoid warning with
16782         Sun Forte C 6U2.
16783
16784         * lib/strverscmp.c: Convert to UTF-8.
16785
16786 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16787
16788         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
16789         m4/uintmax_t.m4.
16790
16791 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16792
16793         * modules/xalloc-die: New file.
16794         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
16795
16796         * modules/md5 (Files): Add m4/uint32_t.m4.
16797         * modules/sha1: Renamed from modules/sha.
16798         (Files):
16799         Rename lib/sha.h to lib/sha1.h.
16800         Rename lib/sha.c to lib/sha1.c.
16801         Rename m4/sha.m4 to m4/sha1.m4.
16802         (lib_SOURCES): Likewise.
16803         (configure.ac): Rename gl_SHA to gl_SHA1.
16804         (Include): sha.h -> sha1.h.
16805
16806 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16807
16808         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
16809         * m4/sha1.m4: Renamed from sha.m4.
16810         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
16811
16812 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16813
16814         * lib/obstack.h (obstack_empty_p):
16815         Don't assume that chunk->contents is suitably aligned.
16816         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
16817         Likewise. Problem reported by Benno in
16818         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
16819
16820         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
16821         readable.  This could be improved further but it'd take some work.
16822
16823 2004-08-08  Simon Josefsson  <jas@extundo.com>
16824
16825         * modules/xgethostname (Depends-on): Remove exit and error (not
16826         used).
16827
16828         * modules/getpass-gnu: Add getpass.h.
16829         (Depends-on): Add stdbool.
16830         * modules/getpass: Add getpass.h.
16831
16832 2004-08-08  Simon Josefsson  <jas@extundo.com>
16833
16834         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
16835         Check getpass declaration.
16836
16837 2004-08-08  Simon Josefsson  <jas@extundo.com>
16838
16839         * lib/xgethostname.c: Don't include error.h (not used).
16840
16841         * lib/getpass.h: Add.
16842         * lib/getpass.c: Include getpass.h first.
16843
16844 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
16845
16846         * lib/xalloc-die.c: New file.
16847         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
16848         All uses removed.
16849         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
16850         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
16851         xalloc-die.c.
16852         (_, N_, xalloc_die): Move to xalloc-die.c.
16853         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
16854         so that we needn't mess with xalloc_msg_memory_exhausted.
16855
16856         * lib/sha1.h: Renamed from sha.h.
16857         (SHA1_H): Renamed from _SHA_H.
16858         (sha1_ctx): Renamed from sha_ctx.
16859         (sha1_init_ctx): Renamed from sha_init_ctx.
16860         (sha1_process_block): Renamed from sha_process_block.
16861         (sha1_process_bytes): Renamed from sha_process_bytes.
16862         (sha1_finish_ctx): Renamed from sha_finish_ctx.
16863         (sha1_read_ctx): Renamed from sha_read_ctx.
16864         (sha1_stream): Renamed from sha_stream.
16865         (sha1_buffer): Renamed from sha_buffer.
16866         * lib/sha1.c: Likewise; renamed from sha.c.
16867         Do not include <sys/types.h>.
16868         Include <stddef.h> rather than <stdlib.h>.
16869
16870 2004-08-08  Bruno Haible  <bruno@clisp.org>
16871
16872         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
16873         FILESYSTEM_PREFIX_LEN.
16874         * lib/progreloc.c: Likewise.
16875         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
16876
16877 2004-08-06  Simon Josefsson  <jas@extundo.com>
16878
16879         * modules/progname (Depends-on): Don't depend on stdbool.
16880
16881 2004-08-06  Simon Josefsson  <jas@extundo.com>
16882
16883         * modules/getsubopt: New file.
16884         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16885         getsubopt.
16886
16887 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16888
16889         More merge from coreutils.
16890
16891         * m4/utimens.m4, m4/utimecmp.m4: New files.
16892         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
16893         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
16894         prereq.m4, sha.m4: Import changes from coreutils.
16895
16896 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16897
16898         More merge from coreutils.
16899         * modules/raise, modules/readtokens0, modules/utimens:
16900         * modules/utimecmp, module/xnanosleep: New files.
16901         * modules/strftime: Add lib/strftime.h.
16902         Change include from <time.h> to "strftime.h".
16903         * modules/yesno: Add lib/yesno.h.
16904         * modules/backupfile: Remove lib/addext.c.
16905         * modules/euidaccess: Add stat-macros.h.
16906         * modules/canonicalize, modules/euidaccess,
16907         modules/filemode, modules/lchown, modules/makepath,
16908         modules/rmdir, modules/stat: Likewise.
16909
16910 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16911
16912         Merge from tar.
16913         * lib/argp-help.c (make_hol, hol_append): Don't assume that
16914         SIZE_MAX is a valid preprocessor constant.
16915         (__argp_basename): Change from "#ifndef _LIBC"
16916         to "#ifndef __argp_short_program_name", so that
16917         we don't compile these functions for tar.
16918
16919         More merges from coreutils.
16920         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
16921         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
16922         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
16923         * lib/addext.c: Remove; no longer needed.
16924         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
16925         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
16926         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
16927         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
16928         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
16929         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
16930         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
16931         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
16932         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
16933         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
16934         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
16935         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
16936         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
16937         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
16938         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
16939         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
16940         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
16941         Import changes from coreutils.
16942
16943 2004-08-05  Simon Josefsson  <jas@extundo.com>
16944
16945         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
16946
16947 2004-08-05  Simon Josefsson  <jas@extundo.com>
16948
16949         * m4/getsubopt.m4: New file.
16950
16951 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16952
16953         Merge from coreutils.
16954
16955         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
16956         * m4/getcwd-path-max.m4: New files.
16957
16958         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
16959         FILESYSTEM_PREFIX_LEN ->
16960         FILE_SYSTEM_PREFIX_LEN.
16961         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
16962         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
16963         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
16964         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
16965
16966         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
16967         prerequisite modules now handle the DOS stuff.
16968         Don't check for unistd.h.
16969
16970 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16971
16972         Merge from coreutils.
16973
16974         * lib/.gdb-history: Remove; this doesn't belong here.
16975
16976         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
16977         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
16978         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
16979         * lib/getcwd.c: New files.
16980
16981         * lib/dirname.h: Include <stdbool.h>.
16982         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
16983         for consistency with POSIX terminology.  All uses changed.
16984         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
16985         (strip_trailing_slashes): Use bool for booleans.
16986         * lib/stripslash.c (strip_trailing_slashes): Likewise.
16987
16988         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
16989         sometimes returns a positive errno value even when it succeeds.
16990         (print_errno_message) [!LIBC]: Fall back on strerror if
16991         __strerror_r fails.
16992
16993         * lib/path-concat.c (mempcpy): Don't define if a system header defines
16994         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
16995         (longest_relative_suffix): New function.
16996         (path_concat): Use it.  Assume first argument is not NULL.
16997         Port to DOS.  Omit redundant separators.
16998         Report an error instead of returning NULL.
16999         Use mempcpy instead of memcpy.
17000         (xpath_concat): Remove: not declared or used.
17001
17002         * lib/same.h: Include <stdbool.h>
17003         (same_name): Return bool, not int.
17004         * lib/same.c (same_name): Likewise.
17005         (errno): Don't declare; we assume C89 or better now.
17006
17007         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
17008         if not already defined.
17009
17010         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
17011         * lib/dup-safer.c (errno): Likewise.
17012
17013 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
17014
17015         Merge from coreutils.
17016         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
17017         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
17018         * modules/path-concat: Don't depend on strdup.
17019
17020 2004-08-03  Simon Josefsson  <jas@extundo.com>
17021
17022         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
17023         * lib/progname.h: Don't include stdbool.h.
17024
17025 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17026
17027         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
17028         * MODULES.html.sh (func_all_modules): Remove fatal.
17029
17030 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17031
17032         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
17033
17034 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
17035
17036         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
17037         working.
17038
17039 2004-08-02  Simon Josefsson  <jas@extundo.com>
17040
17041         * lib/getsubopt.h: New file, with comments from Bruno Haible.
17042         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
17043         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
17044
17045 2004-08-01  Simon Josefsson  <jas@extundo.com>
17046
17047         * lib/xgetdomainname.c: Include stdlib.h, for free().
17048
17049 2004-07-19  Bruno Haible  <bruno@clisp.org>
17050
17051         * MODULES.html.sh (func_all_modules): Add dummy.
17052
17053 2004-07-16  Simon Josefsson  <jas@extundo.com>
17054
17055         * modules/dummy: New file.
17056
17057 2004-07-16  Simon Josefsson  <jas@extundo.com>
17058
17059         * lib/dummy.c: New file.
17060
17061 2004-07-16  Bruno Haible  <bruno@clisp.org>
17062
17063         * lib/backupfile.h: Add extern "C" for C++.
17064         * lib/closeout.h: Likewise.
17065         * lib/copy-file.h: Likewise.
17066         * lib/findprog.h: Likewise.
17067         * lib/full-write.h: Likewise.
17068         * lib/pathname.h: Likewise.
17069         * lib/progname.h: Likewise.
17070         * lib/stpcpy.h: Likewise.
17071         * lib/stpncpy.h: Likewise.
17072         * lib/strcase.h: Likewise.
17073         * lib/strstr.h: Likewise.
17074         * lib/xalloc.h: Likewise.
17075
17076         * lib/mbswidth.h: Add extern "C" for C++.
17077         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
17078
17079 2004-07-13  Robert Millan  <robertmh@gnu.org>
17080
17081         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
17082
17083 2004-07-09  Simon Josefsson  <jas@extundo.com>
17084
17085         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
17086         failed without this.)
17087
17088 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17089
17090         * modules/chown (Files): Add lib/fchown-stub.c, since
17091         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
17092
17093 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
17094
17095         * lib/fchown-stub.c: New file.
17096
17097 2004-06-24  Jim Meyering  <jim@meyering.net>
17098
17099         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
17100
17101 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17102
17103         * modules/argz: Omit "#include".
17104
17105         * MODULES.html.sh (func_all_modules): Add calloc, to match
17106         2004-06-01 addition of calloc module.
17107
17108 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17109
17110         * m4/argz.m4: New file, which is autoupdated from libtool.
17111
17112 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17113
17114         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
17115         libtool.
17116
17117 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
17118
17119         * config/srclist-update: Don't insist on "USA." before the
17120         close-comment, as libtool omits the period and puts the */ on a
17121         separate line.
17122         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
17123         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
17124
17125 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
17126
17127         * modules/argz: New file.
17128         * MODULES.html.sh (func_all_modules): Add argz.
17129
17130 2004-06-12  Jim Meyering  <jim@meyering.net>
17131         and  Paul Eggert  <eggert@cs.ucla.edu>
17132
17133         * modules/hash (Files): Add lib/xalloc.h.
17134         * modules/pipe (Depends-on): Add wait-process.
17135         * modules/stat (Depends-on): Add xalloc.
17136         * modules/userspec (Files): Add lib/userspec.h.
17137         * modules/xstrto
17138
17139         Upgrade from gettext-0.13.
17140         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
17141         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
17142         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
17143
17144 2004-06-10  Jim Meyering  <jim@meyering.net>
17145
17146         * lib/calloc.c: New file.
17147
17148 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
17149
17150         * lib/getdate.y (yylex): Allow space between sign and number.
17151         Problem reported by Dan Jacobson.
17152
17153 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17154
17155         Merge from coreutils CVS.
17156
17157         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
17158         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
17159         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
17160         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
17161         xstrtol.m4: Fix copyright date and/or serial number.
17162
17163         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
17164         See if we need an fchown replacement.
17165         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
17166         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
17167         and use the replacement function if we detect either defect.
17168
17169         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
17170         gl_UTIMECMP.
17171
17172 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17173         and  Jim Meyering  <jim@meyering.net>
17174
17175         Merge from coreutils CVS.
17176
17177         * lib/stat-macros.h: New file, with contents from file-type.h
17178         and coreutils' system.h.
17179         * lib/file-type.c: Include "stat-macros.h".
17180         * lib/file-type.h (file_type): Move all macro definitions to new file,
17181         stat-macros.h.
17182
17183         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
17184         Wrap old code with this conditional.
17185         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
17186         function that does not dereference symlinks.
17187         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
17188
17189         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
17190         dependency problems.
17191         (xreadlink): Accept new arg SIZE, for efficiency.
17192         All decls and uses changed.
17193         * lib/xreadlink.h: Include <stddef.h>, for size_t.
17194
17195         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
17196         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
17197
17198         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
17199         sysexits.h.
17200
17201 2004-06-01  Jim Meyering  <jim@meyering.net>
17202
17203         * m4/calloc.m4: New file.
17204
17205 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
17206
17207         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
17208         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
17209         Also, fix a typo in a diagnostic.
17210
17211 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17212
17213         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
17214         or AC_FUNC_REALLOC.
17215
17216 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17217
17218         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
17219         macros to be defined.
17220         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
17221         the allocator returns NULL because the requested size is zero.
17222
17223 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17224
17225         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
17226         var.  Add comment explaining why libc still defines it.  This
17227         merges the following patch from glibc:
17228         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
17229
17230 2004-05-20  Andreas Schwab  <schwab@suse.de>
17231
17232         * m4/free.m4: Replace free if it not known to work, not the other
17233         way round.
17234
17235 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17236
17237         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
17238         present in glibc since revision 1.1 of this file.
17239         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
17240         obstack_alignment_mask, obstack_alloc, obstack_base,
17241         obstack_blank, obstack_blank_fast, obstack_chunk_size,
17242         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
17243         obstack_grow0, obstack_init, obstack_int_grow,
17244         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
17245         obstack_next_free, obstack_object_size, obstack_ptr_grow,
17246         obstack_ptr_grow_fast, obstack_room): Remove declarations of
17247         nonexistent functions.
17248
17249 2004-05-18  Karl Berry  <karl@gnu.org>
17250
17251         * config/srclist.txt: break link for vasnprintf.c.
17252
17253 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17254
17255         Port obstack to the AS/400, where pointers are 16 bytes wide and
17256         you cannot cast an integer to a valid pointer.  This patch is
17257         currently waiting to be integrated into glibc; see
17258         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
17259
17260         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
17261         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
17262         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
17263         (struct obstack): temp member is now a union of a pointer and
17264         an integer, instead of an integer.  All integer uses changed.
17265         This does not affect the physical layout of struct obstack,
17266         except on hosts (like the AS/400) where the size or alignment of
17267         void * is greater than that of ptrdiff_t.
17268         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
17269         __STDC__)]: Store temporary in pointer member of union, not
17270         integer member.
17271         * lib/obstack.c: Include <stddef.h>, for offsetof.
17272         (struct fooalign): Remove; it doesn't need a name.
17273         (union fooround): Change double to long double, and add void *.
17274         (DEFAULT_ALIGNMENT): Use offsetof to compute.
17275         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
17276         not a macro.  Hence the values are always int; so remove all
17277         casts-to-int in uses.
17278
17279 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
17280
17281         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
17282         we can get this patch merged into glibc.
17283
17284 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17285             Paul Eggert  <eggert@cs.ucla.edu>
17286
17287         * m4/argp: Depend on alloca.
17288
17289 2004-05-17  Derek R. Price  <derek@ximbiot.com>
17290             Paul Eggert  <eggert@cs.ucla.edu>
17291
17292         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
17293         freecoding.
17294
17295 2004-05-17  Bruno Haible  <bruno@clisp.org>
17296
17297         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
17298         precision that consists of a '.' followed by an empty digit string.
17299         Patch by Tor Lillqvist <tml@iki.fi>.
17300
17301 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17302
17303         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
17304         for backward compatibility with older code.  We need our own
17305         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
17306         it under some other name, and our alloca.h will define it.
17307
17308 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
17309             Derek Price  <derek@ximbiot.com>
17310
17311         * lib/alloca.c: Include <alloca.h>, to get our interface.
17312         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
17313         include <alloca.h> first.  Use C89 prototype for alloca; this
17314         requires including <stddef.h> for size_t.  Use extern "C" if C++.
17315         Use #elif for simplicity, since we can assume C89 now.
17316         Don't try to source the system alloca.h since it will not be found
17317         and to prevent recursively including its replacement.
17318         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
17319         * lib/regex.c: Likewise.
17320
17321 2004-05-16  Derek Price  <derek@ximbiot.com>
17322             Paul Eggert  <eggert@cs.ucla.edu>
17323
17324         getline cleanup.  This changes the getndelim2 API: both order of
17325         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
17326         no delimiter).
17327
17328         * lib/getline.c: Don't include stddef.h or stdio.h, since our
17329         interface does that.
17330         (getline): Always use getdelim, so that we don't have two
17331         copies of this code.
17332         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
17333         if available.
17334         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
17335         (GETNDELIM2_MAXIMUM): New macro.
17336         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
17337         instead of the old practice of delim2==0.  All callers changed.
17338         Return -1 on overflow, instead of returning junk.
17339         Do not set *linesize unless allocation succeeds.
17340         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
17341         that we include sys/types.h.
17342         * lib/getnline.h: Likewise.
17343         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
17344         (getndelim2): Reorder arguments.
17345         * lib/getnline.c (getnline, getndelim):
17346         Don't discard the NMAX argument.
17347         (getnline): Invoke getndelim, to avoid code duplication.
17348         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
17349         of (size_t) -1 by callers of the getnline family.
17350
17351 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17352
17353         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
17354         Check for gettimeofday.
17355         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
17356         Check for settimeofday, stime.
17357
17358 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
17359
17360         * lib/nanosleep.c (suspended): Change its type from int to
17361         sig_atomic_t volatile.
17362         (first_call): Make it private to rpl_nanosleep, and have it
17363         be zero initially as that's a bit faster.
17364         (my_usleep): Round up fractional times instead of truncating them,
17365         as this is the usual meaning for 'sleep'.
17366
17367         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
17368         doesn't work.
17369         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
17370         (ENOSYS): Define if not defined.
17371         (settime): Fall back on stime if it exists and settimeofday fails.
17372         But don't bother with fallbacks if a method fails with errno == EPERM.
17373
17374 2004-05-11  Jim Meyering  <jim@meyering.net>
17375
17376         Prior to this change, the save_cwd caller required read access to the
17377         current directory on most systems (ones with the fchdir function).
17378
17379         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
17380         fails, try write-only, and finally, resort to using xgetcwd.
17381
17382 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
17383
17384         * lib/obstack.c, obstack.h: Import changes from libc.
17385
17386 2004-04-28  Bruno Haible  <bruno@clisp.org>
17387
17388         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
17389         also implicitly appends .exe to executables.
17390         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
17391         accepts Windows pathnames.
17392         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
17393         Treat Cygwin like Windows, since it now accepts Windows pathnames.
17394         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
17395         Treat Cygwin like Windows, since it now accepts Windows pathnames.
17396         Reported by Derek Robert Price <derek@ximbiot.com>.
17397
17398 2004-04-21  Karl Berry  <karl@gnu.org>
17399
17400         * config/srclist.txt (localcharset.c): break sync.
17401
17402 2004-04-20  Paul Eggert  <eggert@twinsun.com>
17403
17404         * m4/host-os.m4: Add a copyright notice.
17405
17406 2004-04-20  Jim Meyering  <jim@meyering.net>
17407
17408         Change UTILS_ to gl_ in AC_DEFINE'd names.
17409         Change utils_- and jm_-prefixed variables, too.
17410         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
17411         UTILS_FUNC_MKDIR_TRAILING_SLASH.
17412         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
17413
17414         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
17415         Don't emit trailing blanks.
17416         Also rename jm_-prefixed variables to have gl_ prefix.
17417
17418         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
17419         Also rename jm_-prefixed variables to have gl_ prefix.
17420
17421         * m4/jm-macros.m4: Reflect the renamings.
17422         * m4/prereq.m4: Likewise.
17423
17424 2004-04-20  Jim Meyering  <jim@meyering.net>
17425
17426         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
17427         memory.
17428
17429 2004-04-20  Jim Meyering  <jim@meyering.net>
17430             Bruno Haible  <bruno@clisp.org>
17431
17432         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
17433         memory when realloc fails.
17434
17435 2004-04-19  Jim Meyering  <jim@meyering.net>
17436
17437         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
17438         now that readutmp.c may call `free (0)'.
17439
17440 2004-04-19  Bruno Haible  <bruno@clisp.org>
17441
17442         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
17443         * m4/inttypes_h.m4: Likewise.
17444         * m4/stdint_h.m4: Likewise.
17445         * m4/intmax_t.m4: Likewise.
17446         * m4/uintmax_t.m4: Likewise.
17447
17448 2004-04-18  Jim Meyering  <jim@meyering.net>
17449
17450         * m4/prereq.m4: Don't forbid jm_ prefix.
17451
17452         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
17453         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
17454         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
17455         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
17456         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
17457         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
17458         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
17459         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
17460         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
17461         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
17462         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
17463         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
17464         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
17465         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
17466         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
17467         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
17468         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
17469         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
17470         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
17471
17472 2004-04-18  Jim Meyering  <jim@meyering.net>
17473
17474         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
17475         failure, don't leak memory and do call END_UTMP_ENT.
17476
17477 2004-04-16  Jim Meyering  <jim@meyering.net>
17478
17479         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
17480         coreutils' stat program.
17481         (gl_PREREQ): Don't require jm_PREREQ_STAT.
17482
17483 2004-04-11  Paul Eggert  <eggert@twinsun.com>
17484
17485         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
17486         C89.
17487         (CHAR_BIT): Remove, since we assume C89.
17488         Include <stdint.h> if available, as per current Autoconf CVS advice.
17489
17490 2004-03-31  Jim Meyering  <jim@meyering.net>
17491
17492         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
17493         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
17494         * m4/xalloc.m4: Likewise.
17495
17496 2004-03-30  Paul Eggert  <eggert@twinsun.com>
17497
17498         Merge from coreutils.
17499
17500         * m4/inttostr.m4: New file.
17501         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
17502         Require AM_STDBOOL_H and gl_TIMESPEC instead.
17503         Require gl_CLOCK_TIME.
17504         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
17505
17506 2004-03-30  Paul Eggert  <eggert@twinsun.com>
17507
17508         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
17509         not bool, to be more consistent with Unix conventions.
17510         Suggested by Bruno Haible.
17511
17512         Merge from coreutils.
17513
17514         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
17515         * lib/umaxtostr.c: New files.
17516
17517         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
17518         the usual <time.h> dance.
17519         (get_date): Change signature to support fractional time stamps.
17520         All callers changed.
17521         * lib/getdate.y: Include "getdate.h" first, as we can now
17522         assume C89 and don't need to worry about 'const'.
17523         Similarly, include "unlocked-io.h" near start, not in middle.
17524         Include <limits.h>.
17525         (textint.value): Use long int rather than int.
17526         (textint.digits): Use size_t rather than int.
17527         (BILLION, LOG10_BILLION): New constants.
17528         (parser_control): New member rel_ns.  Members day_ordinal,
17529         time_zone, month, day, hour, minutes, rel_year, rel_month,
17530         rel_day, rel_hour, rel_minutes, rel_seconds
17531         are now long int, not int.  Member seconds is now struct timespec,
17532         not int.  New member timespec_seen.  Members dates_seen, days_seen,
17533         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
17534         not int.
17535         (%union.intval): Now long int, not int.
17536         New member timespec.
17537         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
17538         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
17539         (spec): Now is a timespec or an item list.
17540         (timespec, items): New nonterminals.
17541         (time, rel, relunit, number, get_date):
17542         Add support for fractional seconds.
17543         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
17544         (gmtime, localtime, mktime): Remove decls; not needed with C89.
17545         (to_hour): First arg is now long int, not int.
17546         (to_year): Returns long int, not int.
17547         Don't treat year -70 like 70.
17548         (tm_diff): Returns long int, not int.
17549         (lookup_word): Use bool instead of int when appropriate.
17550         (yylex): Use size_t for count, not int.
17551         Detect overflow when parsing large integer constants.
17552         Add support for fractions.
17553         (get_date): Make pointers 'const' if possible.
17554         Use more-portable code to detect integer overflow.
17555         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
17556         Don't use ctime; it's not reliable if the year has >4 digits.
17557
17558         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
17559         This is for compatibility with BSD.
17560
17561         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
17562         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
17563         From coreutils' system.h.
17564
17565         * lib/userspec.c: Don't include "posixver.h".
17566         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
17567         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
17568         compatible extension.  Simplify code by removing a boolean int
17569         that was always nonzero if a string was nonnull.
17570
17571 2004-03-30  Jim Meyering  <jim@meyering.net>
17572
17573         Merge from coreutils.
17574
17575         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
17576         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
17577         on some systems one must include <grp.h> before it.
17578         Reported by Christian Krackowizer.
17579
17580 2004-03-30  Jim Meyering  <jim@meyering.net>
17581
17582         Merge from coreutils.
17583
17584         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
17585
17586         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
17587         an empty input stream.
17588
17589         * lib/readtokens.c: Include <stdbool.h>.
17590         (readtoken): Use `size_t' rather than int/long.
17591         All callers adjusted.
17592         Use `bool' rather than `int' where appropriate.
17593         Use memset rather than an explicit loop.
17594         Use x2nrealloc rather than xrealloc.
17595         Allow the use of `\0' as a delimiter.
17596         (readtokens): Likewise.
17597         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
17598
17599 2004-03-30  Jim Meyering  <jim@meyering.net>
17600
17601         * m4/realloc.m4: Remove file, since now it does no more than
17602         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
17603         the `configure.ac' section of module/realloc.
17604         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
17605
17606 2004-03-30  Bruno Haible  <bruno@clisp.org>
17607
17608         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
17609         nonnull.
17610
17611 2004-03-29  Paul Eggert  <eggert@twinsun.com>
17612
17613         Merge changes to getloadavg.c from coreutils and Emacs.
17614
17615         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
17616         Define to an expression, not to the empty string.
17617         Include cloexec.h and xalloc.h.
17618         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
17619         Use set_cloexec_flag rather than rolling our own.
17620         * lib/cloexec.c, lib/cloexec.h: New files.
17621
17622 2004-03-29  Paul Eggert  <eggert@twinsun.com>
17623
17624         * m4/cloexec.m4: New file.
17625
17626 2004-03-18  Paul Eggert  <eggert@twinsun.com>
17627
17628         * lib/getopt.h: Sync with libc CVS.
17629
17630 2004-03-18  Paul Eggert  <eggert@twinsun.com>
17631             Bruno Haible  <bruno@clisp.org>
17632
17633         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
17634         mbswidth.
17635
17636 2004-03-18  Paul Eggert  <eggert@twinsun.com>
17637             Bruno Haible  <bruno@clisp.org>
17638
17639         * lib/mbswidth.h: Include <wchar.h> only if
17640         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
17641         <wchar.h>.
17642         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
17643
17644 2004-03-09  Paul Eggert  <eggert@twinsun.com>
17645
17646         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
17647         Sync with libc CVS.
17648         * lib/getopt_int.h: New file, also synced from libc.
17649
17650 2004-03-09  Paul Eggert  <eggert@twinsun.com>
17651
17652         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
17653         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
17654         Bring back getopt.c, getopt.h, getopt1.c.
17655
17656 2004-03-07  Paul Eggert  <eggert@twinsun.com>
17657
17658         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
17659         All uses changed.  Check for sa_sigaction member; this fixes
17660         a bug first reported by Jason Andrade in
17661         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
17662
17663 2004-03-07  Paul Eggert  <eggert@twinsun.com>
17664
17665         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
17666         '#if' expressions.  Unlike the code it replaces, it does not
17667         depend on (defined _SC_PAGESIZE).  However, it does depend on
17668         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
17669         first reported by Jason Andrade in
17670         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
17671
17672 2004-02-25  Simon Josefsson  <jas@extundo.com>
17673
17674         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
17675
17676 2004-02-25  Simon Josefsson  <jas@extundo.com>
17677
17678         * lib/strdup.h: New file.
17679         * lib/strdup.c: Include it.
17680         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
17681         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
17682
17683 2004-02-23  Karl Berry  <karl@gnu.org>
17684
17685         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
17686         (from fencepost.gnu.org:/gd/gnuorg).
17687
17688 2004-02-23  Karl Berry  <karl@gnu.org>
17689
17690         * config/srclistvars.sh (GNUORG) [karl]: redefine.
17691         * config/srclist.txt: add maintain/standards documents.
17692
17693 2004-02-18  Bruno Haible  <bruno@clisp.org>
17694
17695         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
17696         Reported by Derek Robert Price <derek@ximbiot.com>.
17697
17698 2004-02-16  Karl Berry  <karl@gnu.org>
17699
17700         * config/mkinstalldirs, install-sh: update from automake.
17701
17702 2004-02-06  Karl Berry  <karl@gnu.org>
17703
17704         * m4/po.m4: update from gettext 0.14.1.
17705
17706 2004-02-06  Karl Berry  <karl@gnu.org>
17707
17708         * lib/config.charset: update from gettext 0.14.1.
17709
17710 2004-02-05  Paul Eggert  <eggert@twinsun.com>
17711
17712         Add comments and code, prompted by suggestions from Bruno Haible
17713         for sh-quote.
17714         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
17715         describing the enum quoting_style values.
17716         * lib/quotearg.c (quotearg_alloc): New function.
17717         (quotearg_buffer_restyled): Treat lone { and } as special.
17718         Treat = as special.  Work around bug with older shells
17719         that "see" a '\' that is really the 2nd byte of a multibyte char.
17720         Quote empty string with shell_quoting_style.
17721
17722 2004-02-03  Bruno Haible  <bruno@clisp.org>
17723
17724         * m4/pipe.m4: New file, from GNU gettext.
17725
17726 2004-02-03  Bruno Haible  <bruno@clisp.org>
17727
17728         * lib/pipe.h: New file, from GNU gettext.
17729         * lib/pipe.c: New file, from GNU gettext.
17730
17731 2004-01-27  Bruno Haible  <bruno@clisp.org>
17732
17733         * m4/execute.m4: New file, from GNU gettext.
17734
17735 2004-01-27  Bruno Haible  <bruno@clisp.org>
17736
17737         * lib/execute.h: New file, from GNU gettext.
17738         * lib/execute.c: New file, from GNU gettext.
17739         * lib/w32spawn.h: New file, from GNU gettext.
17740
17741 2004-01-24  Paul Eggert  <eggert@twinsun.com>
17742
17743         Merge from diffutils.
17744
17745         * lib/file-type.c (file_type): Add typed memory objects.
17746         * lib/file-type.h (S_TYPEISTMO): New macro.
17747
17748         * lib/c-stack.h (c_stack_action): Remove argv argument.
17749         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
17750         (die): Don't calculate message unless segv_action returns.
17751         (get_stack_location, min_address_from_argv, max_address_from_argv,
17752         volatile stack_base, volatile_stack_size): Remove.
17753         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
17754         that every segmentation violation is a stack overflow.  (Ouch!)
17755         See Debian bug 136249 (still outstanding) for more info about why
17756         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
17757
17758 2004-01-24  Paul Eggert  <eggert@twinsun.com>
17759
17760         Exit-status fix from coreutils.
17761
17762         Use exit_failure consistently in place of EXIT_FAILURE,
17763         so that program exit statuses are consistent on failure.
17764
17765         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
17766         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
17767         * lib/argmatch.h: Comment fix to match the above.
17768         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
17769         Now a macro referring to exit_failure, instead of a separate
17770         variable.  Include "exitfail.h" to get it.
17771         * lib/xstrtol.h: Include "exitfail.h".
17772         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
17773
17774         * lib/long-options.c (parse_long_options): Use prototype
17775         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
17776         for clarity.
17777
17778 2004-01-21  Jim Meyering  <jim@meyering.net>
17779
17780         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
17781         so as not to conflict with a different-sized __mktime_internal
17782         function in GNU libc.
17783         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
17784         Problem building statically-linked `ls' reported by Michael Brunnbauer.
17785
17786 2004-01-20  Karl Berry  <karl@gnu.org>
17787
17788         * config/config.guess: update from config.
17789
17790         * config/srclistvars.sh: GNUWWWLICENSES for karl.
17791
17792 2004-01-20  Bruno Haible  <bruno@clisp.org>
17793
17794         Safer stack allocation.
17795         * lib/setenv.c: Include allocsa.h.
17796         (alloca): Remove fallback definition.
17797         (freea): Remove macro.
17798         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
17799         instead of freea.
17800
17801 2004-01-20  Bruno Haible  <bruno@clisp.org>
17802
17803         * m4/eealloc.m4: New file, from GNU gettext.
17804
17805 2004-01-20  Bruno Haible  <bruno@clisp.org>
17806
17807         * m4/allocsa.m4: New file, from GNU gettext.
17808
17809 2004-01-20  Bruno Haible  <bruno@clisp.org>
17810
17811         * lib/xallocsa.h: New file, from GNU gettext.
17812         * lib/xallocsa.c: New file, from GNU gettext.
17813
17814 2004-01-20  Bruno Haible  <bruno@clisp.org>
17815
17816         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
17817
17818 2004-01-20  Bruno Haible  <bruno@clisp.org>
17819
17820         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
17821         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
17822         specially.
17823
17824 2004-01-20  Bruno Haible  <bruno@clisp.org>
17825
17826         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
17827         patch.
17828
17829 2004-01-20  Bruno Haible  <bruno@clisp.org>
17830
17831         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
17832
17833 2004-01-20  Bruno Haible  <bruno@clisp.org>
17834
17835         * lib/eealloc.h: New file.
17836
17837 2004-01-20  Bruno Haible  <bruno@clisp.org>
17838
17839         * lib/binary-io.h: Avoid warnings on Cygwin.
17840
17841 2004-01-20  Bruno Haible  <bruno@clisp.org>
17842
17843         * lib/allocsa.h: New file, from GNU gettext.
17844         * lib/allocsa.c: New file, from GNU gettext.
17845
17846 2004-01-18  Karl Berry  <karl@gnu.org>
17847
17848         * doc/gpl.texi, doc/lgpl.texi: new files.
17849
17850 2004-01-18  Karl Berry  <karl@gnu.org>
17851
17852         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
17853         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
17854
17855 2004-01-15  Paul Eggert  <eggert@twinsun.com>
17856
17857         Merge from coreutils.
17858
17859         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
17860         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
17861         (gl_DEFAULT_POSIX2_VERSION): Move
17862         the documentation from 'configure' into 'config.hin',
17863         so that 'configure --help' isn't burdened by it and
17864         we don't have to worry about its formatting there.
17865         Reword the documentation so that it's more succinct
17866         and can be run together into a single paragraph.
17867         * m4/same.m4 (gl_SAME): Check for pathconf.
17868
17869 2004-01-15  Paul Eggert  <eggert@twinsun.com>
17870
17871         Merge from coreutils.
17872
17873         * lib/posixver.c: Include posixver.h.
17874
17875         * lib/same.c: Include <stdbool.h>, <limits.h>.
17876         (_POSIX_NAME_MAX): Define if not defined.
17877         (MIN): New macro.
17878         (same_name): If file names are silently truncated, report
17879         that the file names are the same if they are the same after
17880         the silent truncation.
17881
17882         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
17883         conversion function.
17884         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
17885         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
17886         longer needed.
17887
17888 2004-01-15  Jim Meyering  <jim@meyering.net>
17889
17890         Merge from coreutils.
17891
17892         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
17893         if no library is required.
17894         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
17895         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
17896         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
17897         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
17898         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
17899         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
17900         value, $ac_cv_search_crypt, if it's "none required".
17901         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
17902         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
17903         not gl_FUNC_GETLOADAVG.
17904         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
17905         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
17906
17907 2004-01-15  Jim Meyering  <jim@meyering.net>
17908
17909         Merge from coreutils.
17910
17911         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
17912         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
17913         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
17914
17915         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
17916         optional configure-time default.
17917
17918         * lib/version-etc.c (version_etc_copyright): Update copyright date.
17919
17920         * lib/xreadlink.c (xreadlink): Correct outdated comment.
17921
17922 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
17923
17924         Merge from coreutils.
17925
17926         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
17927         value, $ac_cv_search_nanosleep, if it's "none required".
17928
17929 2004-01-14  Paul Eggert  <eggert@twinsun.com>
17930
17931         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
17932         with like-named macro in fnmatch.c.
17933         (EXT): Use an internal constant instead.
17934
17935         Merge fnmatch patches from glibc.
17936         * lib/fnmatch.c (mbsinit): Remove define.
17937         Add libc_hidden_ver (__fnmatch, fnmatch).
17938         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
17939         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
17940
17941 2004-01-14  Karl Berry  <karl@gnu.org>
17942
17943         * config/install-sh: update from automake.
17944
17945 2004-01-13  Karl Berry  <karl@gnu.org>
17946
17947         * config/install-sh: update from automake.
17948
17949 2004-01-09  Karl Berry  <karl@gnu.org>
17950
17951         * config/install-sh: update from automake.
17952
17953 2004-01-05  Karl Berry  <karl@gnu.org>
17954
17955         * config/config.{sub,guess}: update from config.
17956
17957 2003-12-31  Karl Berry  <karl@gnu.org>
17958
17959         * config/depcomp: update from automake.
17960
17961 2003-12-14  Karl Berry  <karl@gnu.org>
17962
17963         * lib/config.charset: update from gettext-runtime.
17964
17965 2003-12-03  Paul Eggert  <eggert@twinsun.com>
17966
17967         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
17968         Bug reported by Alfred M. Szmidt.
17969
17970 2003-12-03  Bruno Haible  <bruno@clisp.org>
17971
17972         * m4/gettext.m4: Upgrade from gettext-0.13.
17973         * m4/po.m4: Upgrade from gettext-0.13.
17974         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
17975         * m4/intmax.m4: New file, from gettext-0.13.
17976         * m4/printf-posix.m4: New file, from gettext-0.13.
17977
17978 2003-11-29  Karl Berry  <karl@gnu.org>
17979
17980         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
17981
17982 2003-11-25  Paul Eggert  <eggert@twinsun.com>
17983             Bruno Haible  <bruno@clisp.org>
17984
17985         * lib/printf-parse.h: Don't include sys/types.h.
17986         (ARG_NONE): New macro.
17987         (char_directive): Change type of *arg_index fields to size_t.
17988         * lib/printf-parse.c: Don't include sys/types.h.
17989         (SSIZE_MAX): Remove macro.
17990         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
17991         Remove unnecessary overflow check.
17992         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
17993         fields.
17994
17995 2003-11-25  Bruno Haible  <bruno@clisp.org>
17996
17997         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
17998
17999 2003-11-25  Bruno Haible  <bruno@clisp.org>
18000
18001         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
18002         gt_TYPE_SSIZE_T.
18003
18004 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18005
18006         * modules/alloca: Remove dependency on xalloc.
18007
18008 2003-11-24  Paul Eggert  <eggert@twinsun.com>
18009
18010         * lib/alloca.c: Remove dependency on xalloc module.
18011         (xalloc_die): Remove.
18012         (memory_full) [!defined emacs]: New macro.
18013         [!defined emacs]: Don't include xalloc.h.
18014         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
18015         address arithmetic overflows.  Change datatypes a bit to avoid
18016         unnecessary casts.
18017
18018 2003-11-22  Jim Meyering  <jim@meyering.net>
18019
18020         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
18021         s/size/size_t/.
18022
18023 2003-11-21  Karl Berry  <karl@gnu.org>
18024
18025         * config/config.{sub,guess}: update from config.
18026
18027 2003-11-18  Karl Berry  <karl@gnu.org>
18028
18029         * config/config.{sub,guess}: update from config.
18030
18031         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
18032
18033 2003-11-17  Paul Eggert  <eggert@twinsun.com>
18034
18035         * README: Mention that S+T cannot overflow if S is the size of
18036         an existing object and T is sufficiently small.
18037
18038 2003-11-17  Jim Meyering  <jim@meyering.net>
18039
18040         On systems without utime and without a utimes function capable of
18041         dealing with a NULL struct utimbuf* argument, this utime replacement
18042         could -- in unusual circumstances -- leak a file descriptor.
18043         * lib/utime.c: Include <unistd.h> and <errno.h>.
18044         (utime_null): Be sure to close `fd' and to preserve errno.
18045         Reported by Geoff Collyer via Arnold Robbins.
18046
18047 2003-11-17  Bruno Haible  <bruno@clisp.org>
18048
18049         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
18050         (Depends-on): Add xsize.
18051
18052 2003-11-17  Bruno Haible  <bruno@clisp.org>
18053
18054         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
18055
18056 2003-11-17  Bruno Haible  <bruno@clisp.org>
18057
18058         * lib/vasnprintf.c (alloca): Remove fallback definition.
18059         (freea): Remove definition.
18060         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
18061         Reported by Paul Eggert.
18062
18063 2003-11-16  Paul Eggert  <eggert@twinsun.com>
18064             Bruno Haible  <bruno@clisp.org>
18065
18066         Protect against address arithmetic overflow.
18067         * lib/printf-args.h: Include stddef.h.
18068         (arguments): Change type of field 'count' to size_t.
18069         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
18070         'unsigned int' where appropriate.
18071         * lib/printf-parse.h: Include sys/types.h.
18072         (char_directive): Change type of *arg_index fields to ssize_t.
18073         (char_directives): Change type of fields 'count', max_*_length to
18074         size_t.
18075         * lib/printf-parse.c: Include sys/types.h and xsize.h.
18076         (SSIZE_MAX): Define fallback value.
18077         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
18078         instead of 'int' where appropriate. Check a_allocated, d_allocated
18079         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
18080         * lib/vasnprintf.c: Include xsize.h.
18081         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
18082         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
18083         overflow. Avoid wraparound when converting a width or precision from
18084         decimal to binary.
18085
18086 2003-11-16  Bruno Haible  <bruno@clisp.org>
18087
18088         Update from GNU gettext.
18089         * lib/printf-parse.c: Generalize to it can be compiled for wide
18090         strings.
18091         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
18092         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
18093         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
18094         SNPRINTF): New macros.
18095         Don't include <alloca.h> if the file is used inside libintl.
18096         (local_wcslen): New function, for Solaris 2.5.1.
18097         (VASNPRINTF): Use it instead of wcslen.
18098
18099 2003-11-16  Bruno Haible  <bruno@clisp.org>
18100
18101         * lib/xsize.h (xmax): New function.
18102         (xsum, xsum3, xsum4): Declare as "pure" functions.
18103
18104 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18105
18106         * modules/xalloc (Files): Undo latest change, since xalloc.h
18107         no longer needs SIZE_MAX or PTRDIFF_MAX.
18108
18109 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18110
18111         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
18112         gl_PTRDIFF_MAX.
18113
18114 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18115
18116         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
18117         "return", to pacify some unknown compiler.  Problem reported
18118         by Joerg Schilling.
18119
18120 2003-11-12  Paul Eggert  <eggert@twinsun.com>
18121
18122         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
18123         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
18124         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
18125         heuristic is just as accurate as far as we know, and it removes a
18126         dependency on size_max.m4 and ptrdiff_max.m4.
18127
18128 2003-11-11  Bruno Haible  <bruno@clisp.org>
18129
18130         * modules/xsize (Files): Add m4/size_max.m4.
18131         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
18132
18133 2003-11-11  Bruno Haible  <bruno@clisp.org>
18134
18135         * m4/size_max.m4: New file.
18136         * m4/ptrdiff_max.m4: New file.
18137         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
18138         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
18139         (gl_XALLOC): Invoke it.
18140
18141 2003-11-11  Bruno Haible  <bruno@clisp.org>
18142
18143         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
18144         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
18145         defined.
18146
18147 2003-11-10  Paul Eggert  <eggert@twinsun.com>
18148
18149         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
18150         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
18151         rejected some allocations of exactly SIZE_MAX - 2 bytes.
18152         From Bruno Haible.
18153         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
18154         not (size_t) -1, since it's defined here.
18155
18156 2003-11-09  Karl Berry  <karl@gnu.org>
18157
18158         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
18159
18160 2003-11-06  Paul Eggert  <eggert@twinsun.com>
18161
18162         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
18163         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
18164         Reject sizes of exactly SIZE_MAX bytes.
18165         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
18166         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
18167
18168 2003-11-05  Bruno Haible  <bruno@clisp.org>
18169
18170         * lib/xsize.h: Include limits.h, to avoid a possible collision with
18171         SIZE_MAX defined in <limits.h> on Solaris.
18172
18173 2003-11-04  Jim Meyering  <jim@meyering.net>
18174
18175         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
18176         variable names, rather than @VAR@.
18177         * modules/poll: Likewise.
18178
18179 2003-11-04  Bruno Haible  <bruno@clisp.org>
18180
18181         * modules/xsize: New file.
18182         * modules/linebreak: Depend on xsize.
18183         * MODULES.html.sh (func_all_modules): Add xsize.
18184
18185 2003-11-04  Bruno Haible  <bruno@clisp.org>
18186
18187         * m4/xsize.m4: New file.
18188
18189 2003-11-04  Bruno Haible  <bruno@clisp.org>
18190
18191         * lib/xsize.h: New file.
18192         * lib/linebreak.c: Include xsize.h.
18193         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
18194         argument for overflow.
18195         Suggested by Paul Eggert.
18196
18197 2003-11-03  Karl Berry  <karl@gnu.org>
18198
18199         * config/config.{guess,sub}: update from config.
18200
18201 2003-11-03  Jim Meyering  <jim@meyering.net>
18202
18203         * modules/userspec (lib_SOURCES): Add userspec.h.
18204         (Include): Add "userspec.h".
18205         Improve description.
18206
18207 2003-11-03  Jim Meyering  <jim@meyering.net>
18208
18209         * lib/userspec.c: Include "userspec.h".
18210         * lib/userspec.h: New file.
18211
18212 2003-11-03  Bruno Haible  <bruno@clisp.org>
18213
18214         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
18215
18216 2003-11-03  Bruno Haible  <bruno@clisp.org>
18217
18218         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
18219         available, to avoid (extremely rare) race condition.
18220         Suggested by Paul Eggert.
18221
18222 2003-11-02  Karl Berry  <karl@gnu.org>
18223
18224         * config/srclist.txt (vasprintf.c): sync broken, sigh.
18225
18226 2003-10-31  Paul Eggert  <eggert@twinsun.com>
18227
18228         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
18229         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
18230         (read_filesystem_list): Set and use me_type_malloced.
18231         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
18232         whatever the type happens to be), for brevity and consistency.
18233         Check for size calculation overflow on Alphas running OSF/1.
18234
18235 2003-10-31  Jim Meyering  <jim@meyering.net>
18236
18237         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
18238
18239         * lib/linebuffer.c: Include <string.h> for declaration of memset.
18240
18241 2003-10-30  Paul Eggert  <eggert@twinsun.com>
18242             Bruno Haible  <bruno@clisp.org>
18243
18244         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
18245         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
18246
18247 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
18248
18249         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
18250         netbsd*-gnu*.  Suggested by Robert Millan.
18251
18252 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18253
18254         * modules/group-member: Depend on stdbool.
18255
18256 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18257
18258         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
18259
18260 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18261
18262         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
18263         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
18264         after the 'gnu' in these cases.  This fixes some bugs in the
18265         previous change, and is based on suggestions by Robert Millan.
18266
18267 2003-10-29  Paul Eggert  <eggert@twinsun.com>
18268
18269         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
18270         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
18271         no longer needed.
18272         * lib/quotearg.c (quotearg_n_options): Use it.
18273         * lib/group-member.c: Include <stdbool.h>.
18274         (free_group_info): Arg is now const *; don't free arg.
18275         (get_group_info): Now returns bool and accepts struct group_info *,
18276         rather than returning a malloc'ed struct group_info *.
18277         All uses changed.  Check for overflow in internal size calculation.
18278
18279         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
18280         rather than xmalloc/xrealloc.
18281         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
18282         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
18283         conformance bug: the old code used a pointer after freeing the
18284         storage that it addressed.
18285         * lib/hash.c (hash_initialize): Simplify the code by using
18286         xalloc_oversized rather than doing it by hand.
18287         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
18288         the buffer preserved.  Use free and xmalloc instead.
18289         * lib/quotearg.c (quotearg_n_options): Likewise.
18290         Use a simpler test for size overflow.  Don't use xalloc_oversized
18291         because unsigned int might be wider than size_t (!); this suggests
18292         that we should switch from unsigned int to size_t for slot numbers.
18293
18294 2003-10-28  Paul Eggert  <eggert@twinsun.com>
18295
18296         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
18297         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
18298         NetBSD kernels.  Requested by Richard Stallman.
18299
18300 2003-10-27  Paul Eggert  <eggert@twinsun.com>
18301
18302         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
18303         to allocate the returned structure.  Do not allocate a subarray,
18304         as x2nrealloc will do that.
18305         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
18306         instead of xnrealloc.
18307         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
18308
18309 2003-10-27  Bruno Haible  <bruno@clisp.org>
18310
18311         * lib/stdbool_.h: Better support for BeOS.
18312
18313 2003-10-26  Paul Eggert  <eggert@twinsun.com>
18314
18315         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
18316         now uses inline.
18317
18318 2003-10-26  Paul Eggert  <eggert@twinsun.com>
18319
18320         * lib/xalloc.h (xalloc_oversized): New static inline function, for
18321         callers that want to do their own size-overflow checking.  Include
18322         <stdbool.h>, since xalloc_oversized returns bool.
18323         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
18324         to use xalloc_oversized.
18325
18326         Add two functions x2realloc, x2nrealloc, for programs that grow
18327         arrays dynamically by doubling their sizes.
18328         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
18329         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
18330         New functions.
18331
18332         Port to C99 semantics for 'inline' of external functions.
18333         Bug reported by Bruno Haible.
18334         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
18335         with the old contents of xnmalloc.
18336         (xnmalloc, xmalloc): Use it.
18337         (xnrealloc_inline): New static inline function,
18338         with the old contents of xnrealloc.
18339         (xnrealloc, xrealloc): Use it.
18340
18341         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
18342         that.
18343
18344 2003-10-26  Karl Berry  <karl@gnu.org>
18345
18346         * config/srclist.txt (COPYING.DOC): no longer available from
18347         /gd/gnuorg; don't know where the ultimate source is.
18348
18349 2003-10-25  Paul Eggert  <eggert@twinsun.com>
18350
18351         Fix several address-calculation bugs in the hash modules,
18352         plus some minor code cleanup.
18353
18354         * lib/hash.h: Include <stdbool.h>, for bool.
18355         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
18356         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
18357         hash_get_n_entries, hash_get_max_bucket_length,
18358         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
18359         hash_rehash): Use size_t rather than unsigned.
18360         * lib/hash.c (struct hash_table, hash_get_n_buckets,
18361         hash_get_n_buckets_used, hash_get_n_entries,
18362         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
18363         hash_get_entries, hash_do_for_each, hash_string, is_prime,
18364         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
18365         Likewise.
18366         (SIZE_MAX): Define if not defined.
18367         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
18368         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
18369         hash_print):
18370         Use const * when possible.
18371         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
18372         (check_tuning): Fix bug: if tuning parameters were very close to
18373         0 or 1, rounding errors could have caused subscript violations.
18374         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
18375         (hash_initialize): Add 'fail:' label
18376         to free table and return NULL, and use it to simplify code.
18377         Use calloc rather than clearing the storage ourself.
18378         (hash_initialize, hash_rehash): Check for arithmetic overflow in
18379         buffer size calculations.
18380         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
18381         Include <stddef.h>, for size_t.
18382         * lib/hash-pjw.c (hash_pjw): Likewise.
18383         Switch to method described by Bruno Haible.
18384         Include <limits.h>, for CHAR_BIT.
18385         (SIZE_BITS): New macro.
18386
18387 2003-10-23  Paul Eggert  <eggert@twinsun.com>
18388
18389         * m4/getline.m4 (AM_FUNC_GETLINE):
18390         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
18391         hosts.  Problem reported by Derek Robert Price in
18392         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
18393         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
18394         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
18395
18396 2003-10-21  Paul Eggert  <eggert@twinsun.com>
18397
18398         * lib/getndelim2.c (getndelim2): When size calculation overflows,
18399         ceiling the allocation at NMAX bytes rather than silently
18400         discarding input bytes before NMAX is reached.  This makes
18401         a difference only if NMAX exceeds SIZE_MAX / 2.
18402
18403         * lib/obstack.c: Merge from glibc.
18404         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
18405         Add libc_hidden_def (_obstack_newchunk).
18406         (_obstack_free) [! defined _LIBC]: Remove.
18407         [defined _LIBC]: Make a strong alias from obstack_free, rather than
18408         a clone of the function body.
18409         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
18410         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
18411
18412         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
18413         glibc.
18414         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
18415         arg to memcpy.
18416
18417         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
18418         (obstack_ptr_grow_fast, obstack_int_grow_fast):
18419         Don't use lvalue casts, as GCC plans to remove support for them
18420         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
18421         was also present in the non-GCC version, indicating that this
18422         code had always been buggy and had never been widely used.
18423         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
18424         Use the fast variant of each macro, rather than copying the
18425         definiens of the fast variant; that way, we'll be more likely to
18426         catch future bugs in the fast variants.
18427
18428 2003-10-20  Bruno Haible  <bruno@clisp.org>
18429
18430         * modules/wait-process: New file.
18431         * MODULES.html.sh (func_all_modules): Add wait-process.
18432
18433 2003-10-20  Bruno Haible  <bruno@clisp.org>
18434
18435         * m4/wait-process.m4: New file.
18436
18437 2003-10-20  Bruno Haible  <bruno@clisp.org>
18438
18439         * lib/wait-process.h: New file, from GNU gettext.
18440         * lib/wait-process.c: New file, from GNU gettext.
18441
18442 2003-10-19  Jim Meyering  <jim@meyering.net>
18443
18444         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
18445         HPUX 10.20.
18446
18447 2003-10-18  Karl Berry  <karl@gnu.org>
18448
18449         * config/config.guess: update from config.
18450
18451 2003-10-16  Paul Eggert  <eggert@twinsun.com>
18452
18453         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
18454         (getgroups): First arg is int, not size_t.
18455         Don't let 'free' mangle errno.
18456
18457 2003-10-16  Paul Eggert  <eggert@twinsun.com>
18458
18459         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
18460
18461 2003-10-16  Karl Berry  <karl@gnu.org>
18462
18463         * config/config.{guess,sub}: update from config.
18464
18465 2003-10-16  Jim Meyering  <jim@meyering.net>
18466
18467         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
18468         memcpy.
18469
18470 2003-10-15  Paul Eggert  <eggert@twinsun.com>
18471
18472         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
18473         (SIZE_MAX): Remove.
18474         (new_exclude, add_exclude_file): Initial size no longer needs to
18475         be a power of 2.
18476         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
18477         our own address arithmetic overflow checking.
18478
18479         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
18480         (fnmatch): Do not alloca more than 2000 wide characters;
18481         instead, use malloc for large buffers.
18482         Check for address arithmetic overflow, and return -1
18483         with errno set to ENOMEM in that case.
18484         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
18485         (NEW_PATTERN): Do not alloca more than 8000 bytes;
18486         instead, return -1.  Check for address arithmetic overflow.
18487
18488 2003-10-14  Paul Eggert  <eggert@twinsun.com>
18489
18490         Handle invalid suffixes and overflow independently, so that
18491         callers can treat them independently as needed.  Fix some bugs in
18492         suffix handling, e.g., "100k@" was not diagnosed as an invalid
18493         suffix for a human-readable blocksize.  The major caller-visible
18494         change is the addition of a new
18495         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
18496         that both overflow and suffix chars were found.
18497
18498         * lib/human.c (humblock): Don't check separately for invalid suffix
18499         char; that is xstrtoumax's job (now that its bug is fixed).
18500         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
18501         INTMAX_MAX]: New macros.
18502         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
18503         TYPE_MAXIMUM): New macros.
18504         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
18505         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
18506         if overflow occurs, as it's what __strtol does and it's more useful
18507         in practice.
18508         (__xstrtol): If __strtol reports some error other than ERANGE,
18509         reflect it to the caller as LONGINT_INVALID.  If it reports
18510         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
18511         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
18512         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
18513         value.
18514         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
18515         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
18516         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
18517         [defined UINTMAX_MAX]: New macros.
18518
18519 2003-10-14  Bruno Haible  <bruno@clisp.org>
18520
18521         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
18522
18523 2003-10-14  Bruno Haible  <bruno@clisp.org>
18524
18525         * m4/sig_atomic_t: New file, from GNU gettext.
18526         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
18527
18528 2003-10-14  Bruno Haible  <bruno@clisp.org>
18529
18530         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
18531         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
18532         Also use volatile where needed.
18533
18534 2003-10-12  Paul Eggert  <eggert@twinsun.com>
18535
18536         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
18537         Change maintainer from Bruno Haible to 'all'.
18538
18539 2003-10-12  Paul Eggert  <eggert@twinsun.com>
18540
18541         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
18542
18543 2003-10-12  Paul Eggert  <eggert@twinsun.com>
18544
18545         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
18546         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
18547         and define in terms of the other primitives.
18548         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
18549         (SIZE_MAX): Define if not already defined.
18550         (array_size_overflow): New function.
18551         (xalloc_die): Abort instead of exiting if 'error' returns.
18552         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
18553         (xmalloc, xrealloc): Use them.
18554         (xcalloc): Check for address arithmetic overflow.
18555         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
18556         a bit faster than strcpy.
18557
18558 2003-10-10  Simon Josefsson  <jas@extundo.com>
18559
18560         * modules/argp (Depends-on): Add restrict and strcase.
18561
18562 2003-10-10  Simon Josefsson  <jas@extundo.com>
18563
18564         * m4/argp.m4: Add AC_C_INLINE.
18565
18566 2003-10-08  Paul Eggert  <eggert@twinsun.com>
18567
18568         Merge getpass from libc, plus a few fixes.
18569
18570         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
18571         Include <stdbool.h>.
18572         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
18573         __fsetlocking to empty.
18574         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
18575         do include <bits/libc-lock.h>.
18576         Do not include <fcntl.h>; not needed.
18577         [_LIBC]: Include <wchar.h>.
18578         (NOTCANCEL_MODE): New macro.
18579         (flockfile, funlockfile) [_LIBC]: New macros.
18580         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
18581         [!_LIBC]: New macros.
18582         (call_fclose): New function.
18583         (getpass): Use it.  Save tty stream separately; this simplifies the
18584         code and makes it more reliable if stdin happens to equal stdout.
18585         Invoke __fsetlocking on tty.
18586         Handle thread cancellation if needed.
18587         Namespace cleanup (use __tcgetattr, __getline).
18588         Use bool for Booleans.
18589         [USE_IN_LIBIO]: Handle wide streams.
18590         [!_LIBC]: Unconditionally do the fseek, since we don't know what
18591         stream might go where.
18592
18593         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
18594         doesn't have to include <stdio.h> before us.
18595         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
18596         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
18597         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
18598         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
18599         if not declared, so that we can use getpass.c code from libc without
18600         rewriting it.
18601         (flockfile, ftrylockfile, funlockfile): New macros.
18602
18603 2003-10-08  Paul Eggert  <eggert@twinsun.com>
18604
18605         * modules/getpass: Depend on stdbool.
18606
18607 2003-10-08  Paul Eggert  <eggert@twinsun.com>
18608
18609         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
18610
18611 2003-10-07  Karl Berry  <karl@gnu.org>
18612
18613         * config/config.{guess,sub}: update from config.
18614
18615 2003-10-06  Jim Meyering  <jim@meyering.net>
18616             Bruno Haible  <bruno@clisp.org>
18617
18618         This lets translators provide better translations for the
18619         "Written by ..." part of --version output.
18620         * lib/version-etc.h: Include stdarg.h.
18621         (version_etc_copyright): Declare as readonly.
18622         (version_etc): Make this function variadic with a NULL-terminated list
18623         of author name strings.
18624         (version_etc_va): New declaration.
18625         * lib/version-etc.c: Include stdarg.h, stdlib.h.
18626         (version_etc_copyright): Declare as readonly.
18627         (version_etc_va): New function. Provide a different translatable string
18628         for each possible number of authors < 10. Abbreviate when there are 10
18629         authors or more.
18630         (version_etc): Make this function variadic. Call version_etc_va.
18631         Suggestion from Gary V. Vaughan.
18632
18633         * lib/long-options.h (parse_long_options): Change prototype: the
18634         authors string is moved to the end and becomes variadic.
18635         * lib/long-options.c: Include stdarg.h.
18636         (parse_long_options): Make this function variadic, too.
18637         Call version_etc_va, not version_etc.
18638
18639 2003-10-06  Bruno Haible  <bruno@clisp.org>
18640
18641         * modules/version-etc-2: Remove file.
18642         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
18643
18644 2003-10-06  Bruno Haible  <bruno@clisp.org>
18645
18646         * modules/fatal-signal: New file.
18647         * MODULES.html.sh (func_all_modules): Add fatal-signal.
18648
18649 2003-10-06  Bruno Haible  <bruno@clisp.org>
18650
18651         * m4/fatal-signal.m4: New file.
18652         * m4/signalblocking.m4: New file, from GNU gettext.
18653
18654 2003-10-06  Bruno Haible  <bruno@clisp.org>
18655
18656         * lib/version-etc-2.h: Remove file.
18657         * lib/version-etc-2.c: Remove file.
18658
18659 2003-10-06  Bruno Haible  <bruno@clisp.org>
18660
18661         * lib/fatal-signal.h: New file, from GNU gettext.
18662         * lib/fatal-signal.c: New file, from GNU gettext.
18663
18664 2003-10-05  Paul Eggert  <eggert@twinsun.com>
18665
18666         * README: Rework advice for preventing empty .o files.
18667         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
18668         not <sys/types.h>.
18669
18670 2003-10-04  Karl Berry  <karl@gnu.org>
18671
18672         * lib/argp*: update from libc.
18673
18674 2003-10-04  Karl Berry  <karl@gnu.org>
18675
18676         * config/config.{guess,sub}: update from config.
18677
18678 2003-10-02  Bruno Haible  <bruno@clisp.org>
18679
18680         * modules/lchown (Include): Add lchown.h.
18681         * modules/time_r (Include): Use "..." syntax.
18682         * modules/xgetdomainname (Include): Add xgetdomainname.h.
18683
18684 2003-10-01  Simon Josefsson  <jas@extundo.com>
18685
18686         * MODULES.html.sh (func_all_modules): Move gethostname from section
18687         'based on' to section 'lacking' POSIX:2001.
18688
18689 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
18690
18691         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
18692         to output mode on the same stream.
18693
18694 2003-09-29  Paul Eggert  <eggert@twinsun.com>
18695
18696         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
18697         Fix arg typo in previous patch.
18698
18699 2003-09-28  Jim Meyering  <jim@meyering.net>
18700
18701         * lib/error.c: Correct cpp indentation.
18702
18703 2003-09-27  Paul Eggert  <eggert@twinsun.com>
18704
18705         * modules/free: New file.
18706
18707 2003-09-27  Paul Eggert  <eggert@twinsun.com>
18708
18709         * m4/free.m4: New file.
18710
18711 2003-09-27  Paul Eggert  <eggert@twinsun.com>
18712
18713         * lib/minmax.h (MIN, MAX)
18714         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
18715         Omit the special code that used __typeof__, since we worry that
18716         it could be more trouble than it's worth.  See:
18717         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
18718         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
18719
18720         * lib/free.c: New file.
18721
18722 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
18723
18724         Trivial fixes to Makefile.am parts of module listings.
18725         * modules/strstr: Append strstr.h to lib_SOURCES.
18726         * modules/strcase: Likewise, for strcase.h.
18727
18728 2003-09-27  Karl Berry  <karl@gnu.org>
18729
18730         * config/mkinstalldirs: update from automake.
18731
18732 2003-09-26  Paul Eggert  <eggert@twinsun.com>
18733
18734         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
18735         (error_tail): Do not loop, reallocating temporary buffer, since
18736         the output cannot contain more wide characters than the input
18737         contains bytes, the size must be big enough already.  This avoids
18738         one potential size overflow calculation.  Check for size overflow
18739         when calculating temporary buffer size.  Free temporary buffer
18740         when done, if it was allocated with malloc; this plugs a memory
18741         leak.  Remove casts from void * to pointers, that are no longer
18742         needed now that we're assuming C89 or better.
18743
18744         Merge error changes from glibc.
18745
18746         * lib/error.c, error.h: Update copyright notice header to match glibc.
18747         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
18748         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
18749         Disable cancellation while printing error.
18750         * lib/error.h: Prepend __ to parameter names.
18751
18752 2003-09-26  Jim Meyering  <jim@meyering.net>
18753
18754         * lib/error.c (error_tail): Move some declarations
18755         into inner scope where the local variables are used.
18756
18757 2003-09-26  Bruno Haible  <bruno@clisp.org>
18758
18759         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
18760         stpncpy().
18761         Don't define stpncpy through config.h; it's now done through stpncpy.h.
18762
18763 2003-09-26  Bruno Haible  <bruno@clisp.org>
18764
18765         * lib/stpncpy.h (gnu_stpncpy): New declaration.
18766         (stpncpy): Define as alias for gnu_stpncpy.
18767         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
18768
18769 2003-09-25  Simon Josefsson  <jas@extundo.com>
18770
18771         * lib/xgetdomainname.h: New file.
18772         * lib/xgetdomainname.c: New file.
18773
18774 2003-09-25  Simon Josefsson  <jas@extundo.com>
18775             Bruno Haible  <bruno@clisp.org>
18776
18777         * modules/getdomainname: New file.
18778         * modules/xgetdomainname: New file.
18779         * MODULES.html.sh (func_all_modules): Add getdomainname,
18780         xgetdomainname.
18781
18782 2003-09-25  Simon Josefsson  <jas@extundo.com>
18783             Bruno Haible  <bruno@clisp.org>
18784
18785         * m4/getdomainname.m4: New file.
18786
18787 2003-09-25  Simon Josefsson  <jas@extundo.com>
18788             Bruno Haible  <bruno@clisp.org>
18789
18790         * lib/getdomainname.h: New file.
18791         * lib/getdomainname.c: New file.
18792
18793 2003-09-25  Karl Berry  <karl@gnu.org>
18794
18795         * lib/argp-fmtstream.c, argp-help.c: update from libc.
18796
18797 2003-09-25  Karl Berry  <karl@gnu.org>
18798
18799         * config/install-sh: update from automake.
18800
18801 2003-09-25  Bruno Haible  <bruno@clisp.org>
18802
18803         * modules/version-etc-2: New file, from modules/version-etc with
18804         modifications.
18805         * MODULES.html.sh (func_all_modules): Add version-etc-2.
18806
18807 2003-09-25  Bruno Haible  <bruno@clisp.org>
18808
18809         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
18810         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
18811
18812 2003-09-24  Simon Josefsson  <jas@extundo.com>
18813
18814         * modules/xgethostname: Add xgethostname.h.
18815
18816 2003-09-24  Paul Eggert  <eggert@twinsun.com>
18817
18818         * lib/linebuffer.c (freebuffer): Don't free the argument, just
18819         the buffer associated with the argument.  Bug reported by
18820         Simon Josefsson.
18821
18822 2003-09-24  Paul Eggert  <eggert@twinsun.com>
18823
18824         * README: Document assumptions that 'int' is at least 32 bits
18825         wide, that integer arithmetic is 2's complement without overflow,
18826         that there are no holes in integer values, that adding sizes of
18827         two nonoverlapping objects can't overflow, and that all-bits-zero
18828         yields scalar zero.  Fix spelling and capitalization typos.
18829
18830 2003-09-19  Karl Berry  <karl@gnu.org>
18831
18832         * lib/argp.h: update from libc.
18833
18834 2003-09-17  Paul Eggert  <eggert@twinsun.com>
18835
18836         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
18837         to avoid spurious warnings like "AC_RUN_IFELSE was called before
18838         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
18839
18840 2003-09-17  Paul Eggert  <eggert@twinsun.com>
18841
18842         * gnulib-tool: Use "test -h", not "test -L", for portability
18843         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
18844         (tags_regexp): Remove, since \| doesn't conform to POSIX.
18845         (sed_extract_prog): Issue s commands one-by-one, rather than
18846         using \| in one s command.
18847
18848 2003-09-16  Paul Eggert  <eggert@twinsun.com>
18849
18850         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
18851         input error, instead of returning NULL the next time we are called
18852         (and therefore losing track of errno).
18853
18854 2003-09-16  Bruno Haible  <bruno@clisp.org>
18855
18856         * gnulib-tool (func_create_testdir): Warn about duplicated
18857         dependencies.
18858
18859 2003-09-15  Paul Eggert  <eggert@twinsun.com>
18860
18861         * modules/argmatch, modules/fatal, modules/obstack,
18862         modules/xalloc, modules/xgethostname: Sort dependencies by
18863         importance, not alphabetically.
18864
18865 2003-09-15  Paul Eggert  <eggert@twinsun.com>
18866
18867         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
18868         fails, so that the caller gets the proper errno.
18869
18870         * lib/readutmp.c (read_utmp): Likewise.
18871         Check for fstat error.  Close stream and free storage
18872         when failing.
18873
18874 2003-09-14  Karl Berry  <karl@gnu.org>
18875
18876         * config/srclist.txt (strdup.c): disable for c89 changes.
18877
18878 2003-09-14  Jim Meyering  <jim@meyering.net>
18879
18880         * lib/getloadavg.c: Correct cpp indentation.
18881         * lib/strdup.c: Likewise.
18882         * lib/vasnprintf.c: Likewise.
18883
18884 2003-09-14  Bruno Haible  <bruno@clisp.org>
18885
18886         * modules/fwriteerror: New file.
18887         * MODULES.html.sh (func_all_modules): Add fwriteerror.
18888
18889 2003-09-14  Bruno Haible  <bruno@clisp.org>
18890
18891         * lib/fwriteerror.h: New file.
18892         * lib/fwriteerror.c: New file.
18893
18894 2003-09-12  Paul Eggert  <eggert@twinsun.com>
18895
18896         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
18897         modules/xgethostname, modules/xalloc: Depend on exit.
18898
18899 2003-09-12  Paul Eggert  <eggert@twinsun.com>
18900
18901         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
18902
18903         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
18904         and AC_MINIX, too, so that their extensions are available.
18905
18906         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
18907         This macro has been superseded by gl_BACKUPFILE.
18908
18909         More patches to assume C89 or better.
18910
18911         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
18912
18913         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
18914         unconditionally.
18915         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
18916         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
18917         Include <string.h>, <stdlib.h> unconditionally.
18918         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
18919         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
18920         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
18921         headers or for string.h.
18922         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
18923         or strtoul.
18924
18925         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
18926         headers.
18927         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
18928         * m4/userspec.m4 (gl_USERSPEC): Likewise.
18929         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
18930         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
18931         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18932         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
18933         memcpy, memset.
18934         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
18935         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
18936         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
18937         strtol.
18938         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
18939         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
18940         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
18941         strtoul.
18942
18943 2003-09-12  Paul Eggert  <eggert@twinsun.com>
18944
18945         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
18946         * lib/obstack.c [!defined _LIBC]: Likewise.
18947         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
18948         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
18949         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
18950
18951         More changes to assume C89 or better.
18952
18953         * lib/error.c (error_tail): Assume vprintf.
18954
18955         * lib/argmatch.c (getenv): Remove decl.
18956         * lib/progreloc.c (get_full_program_name): Define via prototype.
18957         * lib/setenv.c (clearenv): Likewise.
18958         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
18959         needed.
18960         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
18961         (malloc, memcpy): Remove decls.
18962         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
18963         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
18964         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
18965         (memcpy): Remove macro.
18966         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
18967         (__P): Remove.  All uses removed.
18968         (PTR): Remove.  All uses changed to void *.
18969         (CHAR_BIT, NULL): Remove.
18970         (spaces, zeros, memset_space, memset_zero)
18971         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
18972         Remove.
18973         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
18974         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
18975         Define with prototype.
18976         Remove now-unnecessary prototype decl.
18977         (extra_args_spec): Assume ANSI C.  All uses changed.
18978         (extra_args_spec_iso): Remove.
18979         (my_strftime, emacs_strftimeu): Define via prototype.
18980         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
18981         unconditionally.
18982         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
18983         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
18984         (strtoul, strtol): Remove decls.
18985         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
18986         LONG_MAX): Remove.
18987         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
18988         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
18989         (LOCALE_PARAM_PROTO): New macro.
18990         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
18991         (INTERNAL (strtol), strtol): Define with a prototype.
18992         (PARAMS): Remove.  All uses removed.
18993         * lib/tempname.c: Include <string.h> unconditionally.
18994         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
18995         * lib/xgethostname.c (main): Define with a prototype.
18996         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
18997         Include <stdlib.h> unconditionally.
18998         (calloc, malloc, realloc, free): Remove decls.
18999         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
19000         Include <stdlib.h> unconditionally.  Sort include file names.
19001         (strtod): Remove.
19002         (xstrtod): Define with a prototype.
19003         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
19004         (strtol, strtoul): Remove decls.
19005
19006 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19007
19008         More patches to assume C89 or better.
19009         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
19010         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
19011         string.h, memchr, STDC_HEADERS.
19012
19013 2003-09-11  Paul Eggert  <eggert@twinsun.com>
19014
19015         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
19016         Include <stdlib.h>, <string.h> unconditionally.
19017         Remove now-unnecessary cast to char *.
19018         * lib/strnlen.c: Include <string.h> unconditionally.
19019         * lib/yesno.c (yesno): Define with a prototype.
19020
19021 2003-09-11  Bruno Haible  <bruno@clisp.org>
19022
19023         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
19024
19025 2003-09-10  Jim Meyering  <jim@meyering.net>
19026
19027         * lib/error.c: Correct indentation of cpp directives.
19028
19029 2003-09-10  Bruno Haible  <bruno@clisp.org>
19030
19031         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
19032         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
19033         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
19034         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
19035         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
19036         <stdlib.h> and <string.h> checks.
19037         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
19038         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
19039
19040 2003-09-10  Bruno Haible  <bruno@clisp.org>
19041
19042         * lib/strcspn.c: Include <string.h> unconditionally.
19043         * lib/strpbrk.c: Include <string.h> unconditionally.
19044         * lib/strstr.c: Include <string.h> unconditionally.
19045         * lib/unicodeio.c: Include <string.h> unconditionally.
19046         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
19047         * lib/unsetenv.c: Likewise.
19048         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
19049         * lib/yesno.c: Include <stdlib.h> unconditionally.
19050         (rpmatch): Add prototype.
19051
19052 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19053
19054         More patches to assume C89 or better.
19055         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
19056         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
19057         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
19058         or for string.h.
19059         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
19060         stdlib.h.
19061         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
19062         C headers.
19063         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
19064         string.h.
19065         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
19066         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
19067         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
19068         or for string.h.
19069         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
19070         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
19071         C headers.
19072         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
19073         memcpy.
19074         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
19075         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
19076         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
19077         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
19078         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
19079         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
19080         string.h, free.
19081         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
19082         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
19083         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
19084         C headers, or for string.h.
19085         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
19086         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
19087         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
19088         headers, memory.h, stdlib.h, string.h, strings.h.
19089         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
19090         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
19091         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
19092         strchr.
19093         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
19094         headers, memory.h, string.h.
19095         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
19096         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
19097         free.
19098         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
19099         headers.
19100         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
19101         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
19102         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
19103         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
19104         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
19105
19106 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19107
19108         More K&R removal.
19109
19110         * lib/acosl.c (main): Use a prototype.
19111         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
19112         tanl.c: Likewise.
19113
19114         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
19115
19116         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
19117         (getopt, etopt_long, getopt_long_only, _getopt_internal)
19118         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
19119         with a prototype.
19120         * lib/getopt.c (const): Remove macro.
19121         Include <string.h> unconditionally.
19122         (my_index): Remove; all uses changed to strchr.
19123         (strlen): Remove decl.
19124         (exchange): Remove forward decl; no longer needed.
19125         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
19126         Define with prototype.
19127         * lib/getopt1.c (const): Remove macro.
19128         (getopt_long, getopt_long_only, main): Define with prototype.
19129
19130         * lib/getugroups.c: Include <string.h> unconditionally.
19131
19132         * lib/getusershell.c: Include <stdlib.h> unconditionally.
19133         (getusershell, setusershell, endusershell, readname, main):
19134         Define with prototypes.
19135
19136         * lib/group-member.c: Include group-member.h first.
19137         Include <stdlib.h> unconditionally.
19138
19139         * lib/hard-locale.c: Include hard-locale.h first.
19140         Include <stdlib.h>, <string.h> unconditionally.
19141
19142         * lib/hash.c (free, malloc): Remove decls.
19143         Include <stdlib.h> unconditionally.
19144
19145         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
19146         (getenv): Do not declare.
19147
19148         * lib/idcache.c: Include <string.h> unconditionally.
19149
19150         * lib/long-options.c: Include long-options.h first, to test interface.
19151         Include <stdlib.h> unconditionally.
19152
19153         * lib/makepath.c: Include makepath.h first, to test interface.
19154         Include <stdlib.h> and <string.h> unconditionally.
19155
19156         * lib/linebuffer.c: Include <stdlib.h>.
19157         (free): Remove decl.
19158
19159         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
19160         stddef.h. rpl_malloc returns void *, not char *.
19161         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
19162         prototype.
19163
19164         * lib/md5.h: Include <limits.h> unconditionally.
19165         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
19166         (__P): Remove; all uses removed.
19167         * lib/md5.c: Include "md5.h" first.
19168         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
19169         md5_buffer, md5_process_bytes, md5_process_block):
19170         Define with prototypes.
19171         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
19172         * lib/sha.c: Include "sha.h" first.
19173         Include <stdlib.h>, <string.h> unconditionally.
19174
19175         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
19176         * lib/memcmp.c (__ptr_t): Likewise.
19177         * lib/memrchr.c (__ptr_t): Likewise.
19178         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
19179         Include <string.h> unconditionally.
19180         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
19181         * lib/memchr.c: Include <stdlib.h> unconditionally.
19182         * lib/memchr.c (LONG_MAX): Remove.
19183         * lib/memrchr.c (LONG_MAX): Likewise.
19184         * lib/memchr.c (__memchr): Define via a prototype.
19185         * lib/memrchr.c (__memrchr): Likewise.
19186         * lib/memcmp.c (__P): Remove, and remove all uses.
19187         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
19188         Remove forward decls; no longer needed.
19189         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
19190         Use types required by C89 in prototype.
19191
19192         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
19193         * lib/savedir.c: Likewise.
19194         * lib/mkdir.c (free): Remove decl.
19195         * lib/rmdir.c (rmdir): Define with a prototype.
19196         * lib/savedir.c: Include savedir.h first, to test interface.
19197
19198         * lib/mktime.c (STDC_HEADERS): Remove.
19199         Include <stdlib.h>, <string.h> unconditionally.
19200
19201         * lib/modechange.c: Include <stdlib.h> unconditionally.
19202         (malloc): Remove decl.
19203
19204         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
19205         (free): Remove decl.
19206
19207         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
19208         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
19209         (This type really should be intptr_t, but that's a C99ism.)
19210         (_obstack_memcpy): Remove: all uses changed to memcpy.
19211         Include <string.h> unconditionally.
19212         (struct obstack): Assume __STDC__ for types of members
19213         chunkfun, freefun, extra_arg.
19214         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
19215         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
19216         obstack_begin, obstack_specify_allocation,
19217         obstack_specify_allocation_with_arg, obstack_chunkfun,
19218         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
19219         Remove unprototyped decls and the macros that use them.
19220         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
19221         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
19222         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
19223         (defined __STDC__ && __STDC__)]:
19224         Remove nonprototyped code.
19225         Include <stdlib.h> unconditionally.
19226         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
19227         _obstack_allocated_p, _obstack_free, obstack_free,
19228         _obstack_memory_used, print_and_abort):
19229         Define using prototypes.
19230         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
19231         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
19232         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
19233         obstack_next_free, obstack_object_size, obstack_room) [0]:
19234         Remove unused, unprototyped code.
19235
19236         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
19237
19238         * lib/physmem.c (physmem_total, physmem_available, main): Define
19239         with prototypes.
19240
19241         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
19242         (main): Define with a prototype.
19243
19244         * lib/posixver.c (getenv): Remove decl.
19245
19246         * lib/putenv.c (malloc): Returns void *, not char *.
19247         Include <string.h> unconditionally.
19248         (strchr, memcpy, NULL): Do not define.
19249
19250         * lib/readtokens.c: Include readtokens.h first, to test interface.
19251         Include <stdlib.h>, <string.h> unconditionally.
19252         (init_tokenbuffer): Define with a prototype.
19253
19254         * lib/regex.c (PARAMS): Remove.  All uses removed.
19255         All uses of _RE_ARGS removed, too.
19256         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
19257         unconditionally.
19258         (bzero): Assume memset exists.
19259         (memcmp, memcpy, NULL): Remove.
19260         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
19261         char, or assignments to local vars of type signed char.
19262         (init_syntax_once, PREFIX(extract_number_and_incr),
19263         PREFIX(print_partial_compiled_pattern),
19264         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
19265         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
19266         PREFIX(regex_grow_registers), PREFIX(regex_compile),
19267         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
19268         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
19269         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
19270         wcs_compile_range, byte_compile_range, truncate_wchar,
19271         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
19272         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
19273         count_mbs_length, wcs_re_match_2_internal,
19274         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
19275         PREFIX(alt_match_null_string_p),
19276         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
19277         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
19278         regfree, PREFIX(extract_number)): Define with prototype.  Remove
19279         now-unnecessary declaration, if any.
19280         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
19281         regcomp, regexec):
19282         Remove now-unnecessary casts among pointer types.
19283         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
19284
19285         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
19286         (free): Remove decl.
19287
19288         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
19289
19290         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
19291         (free): Remove decl.
19292
19293         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
19294         * lib/xgetcwd.c: Likewise.
19295
19296         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
19297         (free): Remove decl.
19298
19299         * lib/strchrnul.c (strchrnul): Define with a prototype.
19300         Fix bug: c_in was not converted to char before searching.
19301
19302         The following changes are not K&R related:
19303
19304         * lib/group-member.h: Include <sys/types.h>, so that this file is
19305         self-contained.
19306         * lib/makepath.h: Likewise.
19307
19308         * lib/getusershell.c (readname, default_index, line_size, readname):
19309         Use size_t, not int, for sizes.
19310         (readname): If the size overflows, report an error instead of
19311         looping forever.
19312
19313 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19314
19315         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
19316         libc.
19317
19318 2003-09-09  Paul Eggert  <eggert@twinsun.com>
19319
19320         * README: New section: portability guidelines.
19321
19322 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
19323
19324         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
19325         C89 spec.
19326
19327 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
19328
19329         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
19330
19331 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19332
19333         Assume C89 or better; remove K&R cruft.
19334         A few of these changes were first proposed by Derek Robert Price
19335         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
19336
19337         * lib/addext.c: Include <string.h> unconditionally.
19338         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
19339         Don't declare getenv or malloc.
19340
19341         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
19342         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
19343         (NULL): Remove.
19344         (find_stack_direction, alloca): Use prototypes.
19345
19346         * lib/atexit.c (atexit): Define using a prototype.
19347
19348         * lib/basename.c, dirname.c, stripslash.c:
19349         Include <string.h> unconditionally.
19350
19351         * lib/bcopy.c: Include <stddef.h>.
19352         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
19353
19354         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
19355
19356         * lib/error.h (error, error_at_line, error_print_progname)
19357         [! (defined (__STDC__) && __STDC__)]: Remove decls.
19358         * lib/error.c: Include error.h first, to check interface.
19359         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
19360         (VA_START): Remove; all uses changeed to va_start.
19361         (exit, strerror): Remove decls.
19362         (error_print_progname): Prototype uncondionally.
19363         Don't include <errno.h>; no longer needed.
19364         (private_strerror): Remove.
19365         (error_tail): Always define.
19366         (error, error_at_line): Assume C89 or better; always use prototypes.
19367         * lib/fatal.c: Include "fatal.h" first, to test interface.
19368         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
19369         (VA_START): Remove; all uses changed to va_start.
19370         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
19371         this case.
19372         (exit): Remove decl.
19373         (fatal): Prototype unconditionally.  Assume va_start works.
19374         Abort at end, to pacify gcc.
19375
19376         * lib/euidaccess.c (main): Define with a prototype.
19377
19378         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
19379
19380         * lib/exitfail.c: Include <stdlib.h> unconditionally.
19381
19382         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
19383         prototypes.
19384         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
19385         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
19386         (getenv): Remove decl.
19387         (fnmatch): Define using a prototype.
19388         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
19389         (FCT): Define using a prototype.
19390
19391         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
19392
19393         * lib/gethostname.c: Include <stddef.h>.
19394         (gethostname): Define with prototype.  Length is size_t, not int.
19395
19396 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19397
19398         Assume C89 or better; remove K&R cruft.
19399         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
19400         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
19401         string.h, getenv, malloc.
19402         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
19403         headers.
19404         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
19405         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
19406         do not check for strerror.
19407         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
19408         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
19409         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
19410         do not check for doprnt or vprintf.
19411         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
19412         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
19413
19414 2003-09-08  Paul Eggert  <eggert@twinsun.com>
19415
19416         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
19417         getversion.c should have been removed then, but was accidentally
19418         preserved.
19419
19420         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
19421         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
19422
19423 2003-09-08  Karl Berry  <karl@gnu.org>
19424
19425         * config/config.sub, config.guess, srclistvars.sh: update from savannah
19426                 config, forget about prep.
19427
19428         * config/depcomp, missing: update from automake.
19429
19430 2003-09-07  Paul Eggert  <eggert@twinsun.com>
19431
19432         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
19433         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
19434
19435 2003-09-07  Paul Eggert  <eggert@twinsun.com>
19436
19437         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
19438         copy_tm_result.  Bug reported by Simon Josefsson in
19439         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
19440
19441 2003-09-06  Paul Eggert  <eggert@twinsun.com>
19442
19443         * m4/time_r.m4: New file.
19444         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
19445         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
19446         is. Check for timegm declaration.
19447         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
19448         Do not check for gmtime_r.
19449         Replace mktime if __mktime_internal does not exist and if mktime
19450         hasn't been replaced already.
19451
19452 2003-09-06  Paul Eggert  <eggert@twinsun.com>
19453
19454         * lib/time_r.c, lib/time_r.h: New files.
19455
19456         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
19457         __localtime_r.
19458         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
19459         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
19460
19461         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
19462         __gmtime_r.
19463         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
19464         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
19465         Include <time_r.h>.
19466
19467         * lib/timegm.c: Switch to glibc implementation, with the following
19468         changes:
19469         [defined HAVE_CONFIG_H]: Include <config.h>.
19470         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
19471         (__mktime_internal) [!defined _LIBC]: New decl.
19472         (__gmtime_r) [!defined _LIBC]: New macro and function.
19473         (timegm): Use a prototype, since gnulib assumes C89.
19474         Do not bother declaring tmp to be const, as it's not really usefu.
19475         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
19476         (timegm): Declare only if HAVE_DECL_TIMEGM.
19477
19478 2003-09-06  Paul Eggert  <eggert@twinsun.com>
19479
19480         * MODULES.html.sh (func_all_modules): Add time_r.
19481         * modules/time_r: New file.
19482         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
19483         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
19484
19485 2003-09-03  Paul Eggert  <eggert@twinsun.com>
19486
19487         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
19488         Bug reported by Lute Kamstra in
19489         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
19490
19491         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
19492         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
19493         course with correspondingly smaller numbers for tomorrow and
19494         yesterday.  From Tadayoshi Funaba.  Originally installed into
19495         sh-utils on 1999-08-07, but the patch got lost (I guess during the
19496         coreutils merge?).
19497
19498 2003-08-31  Simon Josefsson  <jas@extundo.com>
19499
19500         * modules/timegm: New file.
19501         * MODULES.html.sh (func_all_modules): Add timegm.
19502
19503 2003-08-31  Simon Josefsson  <jas@extundo.com>
19504
19505         * m4/timegm.m4: New file.
19506
19507 2003-08-31  Simon Josefsson  <jas@extundo.com>
19508
19509         * lib/timegm.h: New file.
19510         * lib/timegm.c: New file.  Based on
19511         wget-1.8.2/src/http.c:mktime_from_utc.
19512
19513 2003-08-31  Karl Berry  <karl@gnu.org>
19514
19515         * lib/argp.h: update from libc.
19516
19517 2003-08-28  Bruno Haible  <bruno@clisp.org>
19518
19519         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
19520         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
19521         followed by '#define fnmatch fnmatch_posix' gives an error.
19522
19523 2003-08-28  Bruno Haible  <bruno@clisp.org>
19524
19525         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
19526         warning on QNX, which defines O_BINARY to 000000.
19527
19528 2003-08-27  Jim Meyering  <jim@meyering.net>
19529
19530         * m4/mkstemp.m4: Require that the system mkstemp be able to create
19531         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
19532         would fail after 32.  Reported by Danny Levinson.  Details here:
19533         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
19534
19535 2003-08-24  Bruno Haible  <bruno@clisp.org>
19536
19537         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
19538         MSVC7 <stdio.h> is included later.
19539
19540 2003-08-22  Simon Josefsson  <jas@extundo.com>
19541
19542         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
19543
19544 2003-08-20  Karl Berry  <karl@gnu.org>
19545
19546         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
19547
19548 2003-08-20  Bruno Haible  <bruno@clisp.org>
19549
19550         * modules/progname: New file.
19551         * MODULES.html.sh (func_all_modules): Add progname.
19552
19553 2003-08-20  Bruno Haible  <bruno@clisp.org>
19554
19555         * lib/progname.h: New file, from GNU gettext.
19556         * lib/progname.c: New file, from GNU gettext.
19557         * lib/progreloc.c: New file, from GNU gettext.
19558
19559 2003-08-19  Jim Meyering  <jim@meyering.net>
19560
19561         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
19562         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
19563
19564 2003-08-19  Bruno Haible  <bruno@clisp.org>
19565
19566         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
19567         more.
19568
19569 2003-08-19  Bruno Haible  <bruno@clisp.org>
19570
19571         * lib/xstrdup.c: Assume <string.h> exists.
19572
19573 2003-08-18  Paul Eggert  <eggert@twinsun.com>
19574
19575         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
19576         in makefile rules.
19577
19578 2003-08-18  Jim Meyering  <jim@meyering.net>
19579
19580         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
19581         * m4/lib-ld.m4: Likewise.
19582
19583 2003-08-18  Jim Meyering  <jim@meyering.net>
19584
19585         * lib/setenv.h: Indent nested cpp directive.
19586         * lib/vasnprintf.c: Remove trailing blanks.
19587
19588 2003-08-17  Simon Josefsson  <jas@extundo.com>
19589
19590         * modules/xstrndup: New file.
19591         * MODULES.html.sh (func_all_modules): Add xstrndup.
19592
19593 2003-08-17  Simon Josefsson  <jas@extundo.com>
19594
19595         * modules/argp: Fix autoconf macro name. Add more dependencies.
19596
19597 2003-08-17  Simon Josefsson  <jas@extundo.com>
19598
19599         * m4/xstrndup.m4: New file.
19600
19601 2003-08-17  Simon Josefsson  <jas@extundo.com>
19602
19603         * m4/argp.m4: New file.
19604
19605 2003-08-17  Simon Josefsson  <jas@extundo.com>
19606             Bruno Haible  <bruno@clisp.org>
19607
19608         * lib/xstrndup.h: New file.
19609         * lib/xstrndup.c: New file.
19610
19611 2003-08-17  Bruno Haible  <bruno@clisp.org>
19612
19613         * modules/strndup (Files, Include): Add lib/strndup.h.
19614
19615 2003-08-17  Bruno Haible  <bruno@clisp.org>
19616
19617         * modules/euidaccess (Files): Add lib/euidaccess.h.
19618
19619 2003-08-17  Bruno Haible  <bruno@clisp.org>
19620
19621         * lib/strndup.h: New file.
19622
19623 2003-08-17  Bruno Haible  <bruno@clisp.org>
19624
19625         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
19626         like AC_GNU_SOURCE.
19627         * modules/extensions (configure.ac): Comment out the invocation of
19628         gl_USE_SYSTEM_EXTENSIONS.
19629
19630 2003-08-16  Paul Eggert  <eggert@twinsun.com>
19631
19632         Merges from coreutils, etc.
19633         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
19634         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
19635         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
19636         fixing a typo.
19637         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
19638         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
19639
19640 2003-08-16  Paul Eggert  <eggert@twinsun.com>
19641
19642         Document merge from coreutils.
19643         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
19644         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
19645         * modules/utime: Add m4/utimes-null.m4.
19646
19647 2003-08-16  Paul Eggert  <eggert@twinsun.com>
19648
19649         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
19650         space, undoing this 2003-08-12 change:
19651         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
19652
19653 2003-08-16  Paul Eggert  <eggert@twinsun.com>
19654
19655         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
19656         strtoul.c from libc, undoing this 2003-08-12 change:
19657         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
19658
19659 2003-08-16  Jim Meyering  <jim@meyering.net>
19660
19661         Merges from coreutils.
19662         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
19663         prefix.  Adjust cache variables similarly.  Create 500 rather than
19664         just 300 files, to exercise bug on Darwin6.5, too.
19665         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
19666         $missing_dir.
19667         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
19668         AM_SYS_POSIX_TERMIOS.
19669         Reported by mkc@mathdogs.com.
19670         Also change use of $am_cv_sys_posix_termios
19671         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
19672         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
19673         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
19674         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
19675         in /proc/mounts until it finds one with matching device number.  This
19676         is unnecessary when the FILE argument *is* a mount point.  No stat call
19677         is necessary in that case.  So, disable the statvfs-testing code on
19678         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
19679         as RedHat bug# 84846.
19680         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
19681         to 1MB, so as not to render systems with no stack size limit (e.g.,
19682         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
19683         Include <unistd.h>.  On some systems,
19684         it is required for the definition of _SC_PAGESIZE.
19685
19686 2003-08-16  Jim Meyering  <jim@meyering.net>
19687
19688         Merge from coreutils.
19689         * lib/xstrtoimax.c: #else #if -> #elif.
19690         * lib/xstrtoumax.c: Likewise.
19691
19692 2003-08-16  Jim Meyering  <jim@meyering.net>
19693
19694         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
19695         * m4/utimes.m4: Removed.
19696         * m4/utimes-null.m4: Renamed from utimes.m4.
19697
19698         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
19699         to 1MB, so as not to render systems with no stack size limit (e.g.,
19700         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
19701         Include <unistd.h>.  On some systems,
19702         it is required for the definition of _SC_PAGESIZE.
19703
19704 2003-08-16  Jim Meyering  <jim@meyering.net>
19705         and Paul Eggert  <eggert@cs.ucla.edu>
19706
19707         Merges from coreutils, etc.
19708
19709         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
19710         using the latest version from cvs.  This avoids problems with #line
19711         directives using a vendor (Sun) compiler.
19712         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
19713         Don't set GETGROUPS_LIB here; now it's
19714         done via getgroups.m4's wrapper function.
19715         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
19716         rather than just in sh-util/configure.in, so that the
19717         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
19718         same.
19719         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
19720         AC_FUNC_GETLOADAVG where to find getloadavg.c.
19721         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
19722         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
19723         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
19724         Remove code that is now done by the newly-required macros.
19725         Append $(EXEEXT) to DF_PROG.
19726         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
19727         Do not invoke or require the following here,
19728         since prereq.m4 or some gnulib .m4 now does this for us:
19729         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
19730         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
19731         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
19732         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
19733         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
19734         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
19735         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
19736         AC_FUNC_OBSTACK.
19737         Do not replace the following functions, as this is now the job
19738         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
19739         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
19740         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
19741         atexit getpass, strdup, getpagesize.
19742         Replace 'raise'.
19743         Do not check for the following functions, as this is now the job
19744         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
19745         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
19746         setregid.
19747         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
19748         Check for sys/sysctl.h.
19749         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
19750         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
19751         of checking for ssize_t ourselves.
19752
19753         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
19754         Require every macro that gnulib/modules/* suggests for us.
19755         (jm_PREREQ_ADDEXT): New macro.
19756         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
19757         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
19758
19759         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
19760         (gl_PHYSMEM): Use it.
19761         Also check for `table' function.
19762         Check for new headers and functions.
19763         Add check for sys/sysmp.h.
19764         With suggestions from Kaveh Ghazi.
19765         Ignore headers that are present but cannot be compiled.  This
19766         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
19767         C 5.4.
19768
19769 2003-08-15  Paul Eggert  <eggert@twinsun.com>
19770
19771         Document merge from coreutils.
19772         * modules/userspec: Depend on posixver.
19773         * modules/strftime: Depend on tzset.
19774
19775 2003-08-15  Paul Eggert  <eggert@twinsun.com>
19776
19777         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
19778         rather than tab, after '#' in shell-script copyright notices.
19779         Suggested by Bruno Haible.
19780
19781 2003-08-15  Paul Eggert  <eggert@twinsun.com>
19782
19783         * config/srclist-update: Use three spaces, rather than tab, after '#'
19784         in shell-script copyright notices.  Suggested by Bruno Haible.
19785         Remove unnecessary parenthesization in regular expression.
19786
19787 2003-08-15  Jim Meyering  <jim@meyering.net>
19788
19789         Merge from coreutils.
19790         * lib/xgethostname.c: Include <stdlib.h>.
19791         (xghostname): Don't exit for anything other than memory-related
19792         failure; just return NULL.
19793         * lib/userspec.c: Include "posixver.h".
19794         (parse_user_spec): Accept `.' as a separator only
19795         in pre-POSIX-200112 mode.
19796         * lib/strtoimax.c: Use #elif rather than #else #if.
19797         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
19798         Remove function, now that we can rely on a working tzset function.
19799         [!_LIBC]: Ensure that the required autoconf test has been run.
19800         [!defined _NL_CURRENT && HAVE_STRFTIME]:
19801         Use underlying_strftime for %r.
19802         * lib/sha.c: Merge in some clean-up and optimization changes from
19803         glibc.
19804         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
19805         Ensure that it is a multiple of 64.
19806         Rearrange loop exit tests so as to avoid performing an
19807         additional fread after encountering an error or EOF.
19808         * lib/realloc.c: Update copyright date.
19809
19810 2003-08-15  Jim Meyering  <jim@meyering.net>
19811         and Paul Eggert  <eggert@twinsun.com>
19812
19813         Merge from coreutils.
19814         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
19815         member but strut utmpx does not.  Needed for AIX 4.3.3.
19816         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
19817
19818 2003-08-15  Jim Meyering  <jim@meyering.net>
19819         and Paul Eggert  <eggert@cs.ucla.edu>
19820
19821         Merges from coreutils, etc.
19822         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
19823         Require gl_FUNC_TZSET_CLOBBER.
19824         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
19825         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
19826         members.
19827
19828 2003-08-14  Paul Eggert  <eggert@twinsun.com>
19829
19830         Help the merge from coreutils.
19831         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
19832         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
19833         * m4/tzset.m4: Use it too.
19834
19835 2003-08-14  Paul Eggert  <eggert@twinsun.com>
19836
19837         * modules/tzset: New file.
19838
19839 2003-08-14  Jim Meyering  <jim@meyering.net>
19840
19841         Merges from coreutils.
19842         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
19843         variable names, rather than @FNMATCH_H@.
19844         * modules/alloca: Likewise for $(ALLOCA_H).
19845
19846         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
19847         the three copies of the literal target, `fnmatch.h'.
19848         * modules/alloca (alloca.h): Likewise.
19849
19850 2003-08-14  Jim Meyering  <jim@meyering.net>
19851
19852         Merge from coreutils.
19853         * m4/tzset.m4: New file.
19854         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
19855         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
19856         otherwise, AIX 5.1 systems would end up using the latter.
19857         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
19858         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
19859         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
19860         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
19861
19862 2003-08-14  Jim Meyering  <jim@meyering.net>
19863
19864         Merge from coreutils.
19865         * lib/obstack.h: Whitespace changes.
19866         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
19867         and xcalloc return values.
19868         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
19869         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
19870         hang on OSF/1 5.1 for DIR on both local and remote file systems.
19871         Reported by (and fix confirmed by) Nelson H. F. Beebe.
19872         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
19873         error from mntctl.
19874         Use mntctl's return value to drive the entry-processing loop, since
19875         we can't rely on the value of the vmt_length member in the last
19876         entry.  On some systems doing so could result in exhausting
19877         virtual memory.  Based in part on a patch from Mike Jetzer.
19878
19879 2003-08-14  Jim Meyering  <jim@meyering.net>
19880         and Paul Eggert  <eggert@twinsun.com>
19881
19882         Merges from coreutils, plus other fixes.
19883         * lib/physmem.c: Merge in portability changes from gcc/libiberty
19884         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
19885         for credits and details.  Thanks to Kaveh Ghazi for helping
19886         to keep these files in sync.
19887         (ARRAY_SIZE): Define it.
19888         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
19889         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
19890         (memcasecmp): Don't assume size_t fits in unsigned int.
19891         Remove casts and duplicate code.
19892         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
19893         (memcpy): Remove definition.
19894         Merge in some clean-up and optimization changes from glibc.
19895         [BLOCKSIZE]: Move definition to top of file.
19896         Ensure that it is a multiple of 64.
19897         Rearrange loop exit tests so as to avoid performing an
19898         additional fread after encountering an error or EOF.
19899         * lib/md5.h (md5_uintptr): Define.
19900         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
19901         return to the initial working directory.  Preserve errno
19902         for caller.
19903         * lib/idcache.c: Include "xalloc.h".
19904         (xmalloc, xrealloc): Remove decls.
19905         (getuser): Remove casts no longer required in C89.
19906         * lib/human.c: Include stdio.h, for sprintf.
19907         * lib/group-member.c: Include "xalloc.h".
19908         (xmalloc, xrealloc): Remove decls.
19909         (get_group_info): Remove casts no longer required in C89.
19910         * lib/getusershell.c (readname): Remove casts no longer required in
19911         C89.
19912         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
19913         * lib/getline.c: Whitespace fix, from coreutils.
19914
19915 2003-08-13  Paul Eggert  <eggert@twinsun.com>
19916
19917         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
19918         Check for isascii.
19919
19920         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
19921         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
19922         Undo previous (whitespace-only) change.
19923
19924 2003-08-13  Paul Eggert  <eggert@twinsun.com>
19925
19926         * lib/exclude.c: Include <ctype.h>
19927         (IN_CTYPE_DOMAIN): New macro.
19928         (is_space): New fn.
19929         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
19930         and empty lines.
19931
19932         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
19933         Undo previous (whitespace-only) change.
19934
19935 2003-08-13  Paul Eggert  <eggert@twinsun.com>
19936
19937         * config/srclist-update: Change update back to the old behavior,
19938         leaving whitespace alone.  Use one 'sed' command rather than a
19939         pipeline.
19940         (fixlicense): Now a variable, not a function.
19941         (remove_trailing_blanks): Remove.
19942         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
19943         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
19944         Undo previous (whitespace-only) change.
19945
19946 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19947
19948         Merge from coreutils.
19949         * modules/euidaccess: Add lib_SOURCES, include for new
19950         file euidaccess.h
19951
19952 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19953
19954         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
19955         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
19956         Normalize leading white space and remove trailing white space.
19957
19958         Merge from coreutils
19959         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
19960
19961         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
19962         0.12.1.  These files are now being upgraded automatically by
19963         ../config/srclist-update.
19964
19965 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19966
19967         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
19968         Normalize leading white space and remove trailing white space.
19969         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
19970         notice, as per ../config/srclist-update.
19971
19972         Merge from coreutils.
19973         * lib/euidaccess.h: New file.
19974         * lib/euidaccess.c: Include it.
19975         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
19976         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
19977         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
19978
19979 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19980
19981         * config/srclist-update: Add copyright notice.
19982         (remove_id_lines, remove_trailing_blanks): New constants.
19983         (fixfile): Use them to normalize spacing a bit in copied files.
19984         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
19985         Normalize leading white space and remove trailing white space.
19986
19987         * config/texinfo.tex: Sync with texinfo.
19988
19989         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
19990         strtoul.c from libc, to merge coreutils whitespace changes.
19991
19992         * config/srclist.txt: Get the following m4 files from gettext:
19993         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
19994         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
19995         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
19996         wint_t.m4.
19997
19998 2003-08-12  Karl Berry  <karl@gnu.org>
19999
20000         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
20001         been made.
20002
20003 2003-08-11  Paul Eggert  <eggert@twinsun.com>
20004
20005         * modules/gnu-source, m4/gnu-source.m4:
20006         Remove; we're assuming Autoconf 2.54 or later now.
20007         Suggested by Bruno Haible.
20008         * MODULES.html.sh (func_all_modules): Remove gnu-source.
20009
20010 2003-08-11  Bruno Haible  <bruno@clisp.org>
20011
20012         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
20013
20014 2003-08-11  Bruno Haible  <bruno@clisp.org>
20015
20016         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
20017         (vasnprintf): Use it instead of wcslen.
20018
20019 2003-08-11  Bruno Haible  <bruno@clisp.org>
20020
20021         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
20022         value to ensure that _Bool promotes to int. Use #define for _Bool when
20023         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
20024
20025 2003-08-10  Karl Berry  <karl@gnu.org>
20026
20027         * lib/regex.h: update from libc (whitespace fix).
20028
20029 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20030
20031         Merge some files from coreutils.  These changes were
20032         originally made by Jim Meyering.
20033         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
20034         many older Unixes require this.
20035         * lib/alloca.c (alloca): Remove cast to argument of free;
20036         no longer needed in C89.
20037         * lib/alloca_.h, regex.h: Fix white space to match
20038         what GNU indent does.
20039
20040 2003-08-09  Paul Eggert  <eggert@twinsun.com>
20041
20042         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
20043         apparently Emacs's Unicode mode got confused before my 2003-08-05
20044         checkin.
20045
20046 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20047
20048         * m4/extensions.m4: New file.
20049         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
20050         Require gl_USE_SYSTEM_EXTENSIONS.
20051         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
20052         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
20053
20054 2003-08-08  Paul Eggert  <eggert@twinsun.com>
20055
20056         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
20057         * modules/extensions, modules/gnu-source: New files.
20058         * modules/timespec, modules/unlocked-io: Depend on extensions.
20059
20060 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20061
20062         * modules/restrict: New file.
20063         * MODULES.html.sh (func_all_modules): Add restrict.
20064         * modules/regex: Depend on restrict.
20065
20066 2003-08-07  Paul Eggert  <eggert@twinsun.com>
20067
20068         * m4/restrict.m4: New file.
20069         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
20070
20071 2003-08-07  Bruno Haible  <bruno@clisp.org>
20072
20073         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
20074         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
20075
20076 2003-08-07  Bruno Haible  <bruno@clisp.org>
20077
20078         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
20079         makes the module 'getndelim2' compatible with the module 'getline'.
20080
20081 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20082
20083         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
20084         byte with "\201" to avoid glitches when editing that source file
20085         with multi-gnome-terminal.
20086
20087 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20088
20089         * lib/bumpalloc.h: Remove.
20090
20091 2003-08-05  Paul Eggert  <eggert@twinsun.com>
20092
20093         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
20094         * modules/bumpalloc: Remove.
20095
20096 2003-08-04  Paul Eggert  <eggert@twinsun.com>
20097
20098         * lib/getloadavg.c: Change copyright notice and spacing to conform to
20099         GNU coding style.
20100
20101         Merge from coreutils.
20102         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
20103         1. From glibc.
20104         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
20105         from Karl Berry, implemented by Jim Meyering.
20106         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
20107         from Dmitry V. Levin.
20108         Remove anachronistic cast of xrealloc.
20109         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
20110         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
20111         type. Otherwise, it wouldn't compile with at least /bin/cc on
20112         ymp-cray-unicos9.0.2.X.
20113         Combine two mostly-identical uses of alloca into one.
20114         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
20115
20116 2003-08-04  Dave Love  <d.love@dl.ac.uk>
20117
20118         [From Emacs.]
20119
20120         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
20121         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
20122         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
20123         obsolete NLIST_NAME_UNION.
20124         [__GNU__]: Undef BSD and FSCALE.
20125         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
20126
20127 2003-08-03  Paul Eggert  <eggert@twinsun.com>
20128
20129         * lib/stdbool_.h (_Bool): Make it signed char, instead of
20130         an enum type, so that it's guaranteed to promote to int.  See:
20131         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
20132
20133 2003-08-03  Karl Berry  <karl@gnu.org>
20134
20135         * config/depcomp: update from automake.
20136
20137 2003-07-31  Paul Eggert  <eggert@twinsun.com>
20138
20139         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
20140         (strerror): Don't assume that a printable int fits in 14 bytes.
20141
20142 2003-07-31  Bruno Haible  <bruno@clisp.org>
20143
20144         * modules/getpass-gnu: New file.
20145         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
20146
20147 2003-07-31  Bruno Haible  <bruno@clisp.org>
20148
20149         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
20150
20151 2003-07-24  Karl Berry  <karl@gnu.org>
20152
20153         * config/missing: update from automake.
20154
20155 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
20156             Bruno Haible  <bruno@clisp.org>
20157
20158         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
20159         * lib/getline.c (getline, getdelim): Likewise.
20160         Remove _GNU_SOURCE define; now it's defined in config.h through
20161         m4/getline.m4.
20162
20163 2003-07-23  Karl Berry  <karl@gnu.org>
20164
20165         * config/config.sub: update from prep.
20166
20167 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20168
20169         * modules/xalloc (Depends-on): Add exitfail.
20170         * modules/xmemcoll: Likewise.
20171
20172 2003-07-22  Paul Eggert  <eggert@twinsun.com>
20173
20174         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
20175         over-parenthesization in macros.
20176
20177         Sync with coreutils.
20178
20179         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
20180         required by C99.
20181
20182         Use `exit_failure' for xalloc and xmemcoll instead of their own
20183         private exit-failure variables.
20184         * lib/xalloc.h (xalloc_exit_failure): Remove.
20185         * lib/xmalloc.c: Likewise.  Include exitfail.h.
20186         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
20187         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
20188         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
20189         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
20190
20191 2003-07-20  Jim Meyering  <jim@meyering.net>
20192
20193         * modules/closeout (Depends-on): Add exitfail.
20194         Suggestion from Bruno Haible.
20195
20196 2003-07-19  Karl Berry  <karl@gnu.org>
20197
20198         * config/config.sub: update from prep.
20199
20200 2003-07-18  Paul Eggert  <eggert@twinsun.com>
20201
20202         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
20203         Remove.
20204         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
20205         to test that it can stand by itself.  Include "exitfail.h".
20206         Clients should set exit_failure instead.
20207         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
20208
20209 2003-07-18  Bruno Haible  <bruno@clisp.org>
20210
20211         * modules/getndelim2: New file.
20212         * modules/getline: Share files with module getndelim2.
20213         * modules/getnline: Depend on getndelim2 instead of sharing files with
20214         it. Add getnline.c to lib_SOURCES.
20215         * MODULES.html.sh (func_all_modules): Add getndelim2.
20216
20217 2003-07-18  Bruno Haible  <bruno@clisp.org>
20218
20219         * m4/getndelim2.m4: New file.
20220         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
20221         invoke gl_PREREQ_GETNDELIM2.
20222         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
20223         gl_PREREQ_GETNDELIM2.
20224         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
20225         gl_GETNDELIM2.
20226
20227 2003-07-18  Bruno Haible  <bruno@clisp.org>
20228
20229         * lib/getndelim2.h: New file.
20230         * lib/getndelim2.c: Make into a module of its own. Include config.h,
20231         getndelim2.h.
20232         (getndelim2): Make non-static. Change return type to ssize_t.
20233         * lib/getline.h: Change argument names.
20234         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
20235         * lib/getnline.c: Include getndelim2.h.
20236
20237 2003-07-18  Andreas Schwab  <schwab@suse.de>
20238
20239         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
20240
20241 2003-07-17  Karl Berry  <karl@gnu.org>
20242
20243         * config/config.sub: update from prep.
20244
20245 2003-07-17  Bruno Haible  <bruno@clisp.org>
20246
20247         * modules/getnline: New file.
20248         * modules/getline: Add lib/getndelim2.c to source file list.
20249         * MODULES.html.sh (func_all_modules): Add getnline.
20250
20251 2003-07-17  Bruno Haible  <bruno@clisp.org>
20252
20253         * m4/getnline.m4: New file.
20254
20255 2003-07-17  Bruno Haible  <bruno@clisp.org>
20256
20257         * m4/Makefile.am.in: Remove file.
20258         * m4/Makefile.am: Remove file.
20259         * m4/Makefile.in: Remove file.
20260
20261 2003-07-17  Bruno Haible  <bruno@clisp.org>
20262
20263         * lib/getnline.h: New file.
20264         * lib/getnline.c: New file.
20265         * lib/getndelim2.c: New file, extracted from getline.c.
20266         (getndelim2): Renamed from getdelim2, with added nmax argument.
20267         * lib/getline.c: Include getndelim2.c.
20268         (getdelim2): Moved out to getndelim2.c.
20269         (getline, getdelim): Update.
20270
20271 2003-07-17  Bruno Haible  <bruno@clisp.org>
20272
20273         * lib/Makefile.am: Remove file.
20274         * lib/Makefile.in: Remove file.
20275
20276 2003-07-17  Bruno Haible  <bruno@clisp.org>
20277
20278         * configure.in: Remove file.
20279         * Makefile.in: Remove file.
20280
20281 2003-07-17  Bruno Haible  <bruno@clisp.org>
20282
20283         * MODULES.html.sh: Put the </BODY> right before </HTML>.
20284
20285 2003-07-16  Karl Berry  <karl@gnu.org>
20286
20287         * config/srclist-update: was running fixlicense twice, which caused
20288                 texinfo.tex to be nullified for some reason.  Simplify,
20289                 $gplsrc is no longer needed as far as I can see?
20290
20291 2003-07-16  Jim Meyering  <jim@meyering.net>
20292
20293         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
20294
20295 2003-07-15  Paul Eggert  <eggert@twinsun.com>
20296
20297         * config/srclist.txt: Get the following files from gettext-runtime/intl
20298         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
20299         ref-del.sin.  From Bruno Haible.
20300         * config/srclist-update (fixfile): Change grep pattern again, since the
20301         previous fix didn't work (there was another trailing $).  Use
20302         '[$]' to escape the $s.
20303
20304 2003-07-15  Karl Berry  <karl@gnu.org>
20305
20306         * lib/vasnprintf.c: update from gettext.
20307
20308 2003-07-15  Karl Berry  <karl@gnu.org>
20309
20310         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
20311         gets expanded when surrounded by '$'.
20312
20313 2003-07-15  Jim Meyering  <jim@meyering.net>
20314
20315         * modules/save-cwd: Don't depend on error.  From Derek Price.
20316
20317 2003-07-15  Jim Meyering  <jim@meyering.net>
20318
20319         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
20320
20321 2003-07-14  Simon Josefsson  <jas@extundo.com>
20322
20323         * modules/mempcpy: New file.
20324         * MODULES.html.sh (func_all_modules): Add mempcpy.
20325
20326 2003-07-14  Simon Josefsson  <jas@extundo.com>
20327
20328         * m4/mempcpy.m4: New file.
20329
20330 2003-07-14  Simon Josefsson  <jas@extundo.com>
20331
20332         * lib/mempcpy.h: New file.
20333         * lib/mempcpy.c: New file.
20334
20335 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20336
20337         * modules/getdate, modules/posixtm: Depend on mktime.
20338
20339 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20340
20341         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
20342         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
20343         unicodeio.c, unicodeio.h, unlocked-io.h:
20344         Switch from LGPL to GPL.
20345
20346 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20347
20348         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
20349         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
20350         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
20351         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
20352         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
20353         updated automatically by ../config/srclist-update.  This changes
20354         their license from LPGL to GPL.
20355
20356 2003-07-14  Paul Eggert  <eggert@twinsun.com>
20357
20358         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
20359         assumed to refer to the root of the most recent stable gettext version.
20360         * config/srclistvars.sh: Add defaults for eggert.
20361         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
20362         Match "This program" as well as "The program".  This is needed
20363         for gettext.
20364
20365 2003-07-14  Jim Meyering  <jim@meyering.net>
20366
20367         Don't emit diagnostics.  Let callers do that.
20368         * lib/save-cwd.c: Don't include "error.h".
20369         (save_cwd): Don't call error.  Ensure that errno is valid
20370         when returning nonzero.
20371
20372         * lib/save-cwd.h (restore_cwd): Update prototype.
20373         * lib/save-cwd.c (restore_cwd): Remove two parameters.
20374         Simplify.  Don't call error upon failure.  Let callers do that.
20375         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
20376         when auditing is enabled.  But don't bother updating the #if.
20377
20378 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
20379
20380         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
20381         it breaks C++ compilation.
20382         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
20383
20384 2003-07-10  Simon Josefsson  <jas@extundo.com>
20385
20386         * modules/strchrnul (Makefile.am): Add strchrnul.h.
20387
20388 2003-07-10  Jim Meyering  <jim@meyering.net>
20389
20390         * m4/clock_time.m4: Remove trailing blank.
20391         * m4/intmax_t.m4: Likewise.
20392
20393 2003-07-10  Jim Meyering  <jim@meyering.net>
20394
20395         * lib/vasnprintf.c: Remove trailing blanks.
20396         Make cpp indentation consistent.
20397
20398 2003-07-09  Paul Eggert  <eggert@twinsun.com>
20399
20400         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
20401         posixver.c, strftime.c, strnlen.c, strverscmp.c:
20402         Switch from LGPL to GPL.
20403
20404 2003-07-09  Paul Eggert  <eggert@twinsun.com>
20405
20406         * config/srclist.txt: Sort sublists.  Add
20407         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
20408         that differ from gnulib for one reason or another; we'd like this list
20409         to be smaller but for now let's document what we have.
20410
20411 2003-07-08  Paul Eggert  <eggert@twinsun.com>
20412
20413         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
20414         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
20415         and sweeter "eval x=$x".
20416         * config/srclist.txt: Get lib/argp* from glibc.
20417
20418 2003-07-07  Paul Eggert  <eggert@twinsun.com>
20419
20420         * lib/mktime.c: Fix some boundary cases and remove need for floating
20421         point.
20422
20423         Issue a compile-time diagnostic if time_t is floating point, or if
20424         two's complement arithmetic is not in effect, or if arithmetic
20425         right shift does not propagate the sign.  These assumptions were
20426         all in the original code but they weren't checked.
20427
20428         (TIME_T_MIDPOINT, verify): New macros.
20429         (__isleap): Remove; it has integer overflow problems.
20430         (leapyear): New function, without those problems.
20431         (ydhms_tm_diff): Remove; splitting into two parts.
20432         (ydhms_diff): New function, containing the arithmetic part of
20433         the old ydhms_tm_diff function.  Issue a compile-time
20434         diagnostic if we are not using C99 integer division.
20435         Avoid casts when possible.
20436         (guess_time_tm): New function, containing the checking part of
20437         the old ydhms_tm_diff function.  Return the new value, rather than
20438         the difference between it and the old.  Accept a new argument T
20439         so that *T specifies the old value.  Check for overflow in the result.
20440
20441         (__mktime_internal): Use a time_t offset, not a long int offset.
20442         This undoes the 2003-06-04 change, which is no longer needed now
20443         that we have better overflow checking.
20444         (localtime_offset): Likewise.
20445
20446         (__mktime_internal): Avoid harmful overflow on hosts where time_t
20447         and long are 64-bit but int is only 32-bit.
20448         (ydhms_diff): Use long int to store year1 and yday1.
20449         Issue a compile-time diagnostic if long int is not wide enough.
20450
20451         (__mktime_internal): Use long int to store adjusted year and yday.
20452         Use plain C rather than preprocessor commands, if that doesn't
20453         affect efficiency.
20454         Check for overflow (and try to repair) after each probe
20455         rather than checking only at the very end.  This avoids some bugs
20456         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
20457         does not equal GMT offset at maximum time).
20458         Use integer to check for overflow rather than floating point; this
20459         is more portable to non-IEEE hosts, and is a tad faster.
20460         When we detect that we are oscillating between two values,
20461         don't check whether tm_isdst has the requested value, since
20462         we already know the answer.  When tm_isdst has the wrong value,
20463         use a different heuristic to find the right one, based on the
20464         extreme values actually observed in practice in tz2003a,
20465         rather than the (overly optimistic) "previous 3 calendar quarters".
20466
20467         (not_equal_tm, print_tm, check_result): Use "const T" rather than
20468         "T const" to accommodate glibc style.
20469         (check_result): Use less-confusing report format.  "long" -> "long int.
20470         (main): Likewise.
20471         Don't loop if the iteration overflows time_t.
20472         Allow a negative step in the iteration.
20473
20474 2003-07-06  Karl Berry  <karl@gnu.org>
20475
20476         * config/depcomp: update from automake.
20477         * config/config.sub: update from prep.
20478
20479 2003-07-03  Karl Berry  <karl@gnu.org>
20480
20481         * config/config.guess: update from prep.
20482
20483 2003-07-01  Paul Eggert  <eggert@twinsun.com>
20484
20485         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
20486         xreadlink.c now includes it unconditionally.
20487
20488 2003-07-01  Paul Eggert  <eggert@twinsun.com>
20489
20490         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
20491         having it depend on HAVE_SYS_TYPES_H.
20492
20493 2003-07-01  Bruno Haible  <bruno@clisp.org>
20494
20495         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
20496         <sys/types.h> should be sufficient.
20497         Reported by Paul Eggert.
20498
20499 2003-06-26  Karl Berry  <karl@gnu.org>
20500
20501         * config/depcomp: update from automake.
20502
20503 2003-06-26  Bruno Haible  <bruno@clisp.org>
20504
20505         * modules/human: Depend on module stdbool.
20506
20507 2003-06-25  Bruno Haible  <bruno@clisp.org>
20508
20509         * modules/readlink: New file.
20510         * modules/xreadlink: Depend on it.
20511         * MODULES.html.sh (func_all_modules): Add readlink.
20512
20513 2003-06-25  Bruno Haible  <bruno@clisp.org>
20514
20515         * m4/readlink.m4: New file.
20516
20517 2003-06-25  Bruno Haible  <bruno@clisp.org>
20518
20519         * lib/readlink.c: New file.
20520
20521 2003-06-22  Karl Berry  <karl@gnu.org>
20522
20523         * config/srclist.txt: update mkinstalldirs from automake.
20524         * config/mkinstalldirs: update.
20525
20526 2003-06-22  Bruno Haible  <bruno@clisp.org>
20527
20528         Portability to mingw32.
20529         * m4/ssize_t.m4: New file, from GNU gettext.
20530         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
20531         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
20532
20533 2003-06-22  Bruno Haible  <bruno@clisp.org>
20534
20535         * modules/safe-read: Add m4/ssize_t.m4.
20536         * modules/xreadlink: Add m4/ssize_t.m4.
20537
20538 2003-06-20  Bruno Haible  <bruno@clisp.org>
20539
20540         Assume C89, so PARAMS isn't needed.
20541         * lib/unicodeio.h (PARAMS): Remove.
20542         * lib/unicodeio.c: Don't use PARAMS.
20543
20544 2003-06-18  Karl Berry  <karl@gnu.org>
20545
20546         * config/config.{guess,sub}: update from prep.
20547
20548 2003-06-18  Jim Meyering  <jim@meyering.net>
20549
20550         Merge changes from coreutils.
20551         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
20552         Remove explicit declarations of xmalloc and realloc.
20553         Include xalloc.h.
20554         (read_utmp): Remove anachronistic cast of xmalloc.
20555
20556 2003-06-17  Paul Eggert  <eggert@twinsun.com>
20557
20558         Assume C89, so PARAMS isn't needed.
20559         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
20560         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
20561         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
20562         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
20563         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
20564         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
20565         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
20566         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
20567         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
20568         lib/xstrtod.h, lib/xstrtol.h: Likewise.
20569         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
20570         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
20571         no longer needed. Anyway, config.h should always be included before any
20572         other file.
20573
20574 2003-06-11  Simon Josefsson  <jas@extundo.com>
20575
20576         * modules/sysexits: New file.
20577         * MODULES.html.sh (func_all_modules): Add sysexits.
20578
20579 2003-06-11  Simon Josefsson  <jas@extundo.com>
20580
20581         * lib/sysexit_.h: New file.
20582
20583 2003-06-11  Derek Price  <derek@ximbiot.com>
20584
20585         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
20586         necessary.
20587
20588 2003-06-11  Bruno Haible  <bruno@clisp.org>
20589
20590         * m4/sysexits.m4: New file.
20591
20592 2003-06-10  Simon Josefsson  <jas@extundo.com>
20593
20594         * lib/argp.h: New file, from glibc.
20595         * lib/argp-ba.c: New file, from glibc.
20596         * lib/argp-eexst.c: New file, from glibc.
20597         * lib/argp-fmtstream.c: New file, from glibc.
20598         * lib/argp-fmtstream.h: New file, from glibc.
20599         * lib/argp-fs-xinl.c: New file, from glibc.
20600         * lib/argp-help.c: New file, from glibc.
20601         * lib/argp-namefrob.h: New file, from glibc.
20602         * lib/argp-parse.c: New file, from glibc.
20603         * lib/argp-pv.c: New file, from glibc.
20604         * lib/argp-pvh.c: New file, from glibc.
20605         * lib/argp-xinl.c: New file, from glibc.
20606
20607 2003-06-10  Simon Josefsson  <jas@extundo.com>
20608
20609         * modules/strchrnul: New file.
20610
20611 2003-06-10  Simon Josefsson  <jas@extundo.com>
20612
20613         * modules/argp: New file.
20614
20615 2003-06-10  Simon Josefsson  <jas@extundo.com>
20616
20617         * m4/strchrnul.m4: New file.
20618
20619 2003-06-10  Simon Josefsson  <jas@extundo.com>
20620
20621         * lib/strchrnul.h: New file.
20622         * lib/strchrnul.c: New file.
20623
20624 2003-06-10  Bruno Haible  <bruno@clisp.org>
20625
20626         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
20627
20628 2003-06-07  Karl Berry  <karl@gnu.org>
20629
20630         * config/config.{guess,sub}: update from prep.
20631
20632 2003-06-07  Jim Meyering  <jim@meyering.net>
20633
20634         * modules/strtod: Use $(...) notation, not @...@ for
20635         AC_REPLACE'd variables.
20636         * modules/localcharset: Likewise.
20637
20638 2003-06-07  Jim Meyering  <jim@meyering.net>
20639
20640         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
20641         in place of my name in the copyright comment.
20642         Remove definition and uses of __P.
20643
20644         From coreutils.
20645         * lib/stat.c: Don't declare xmalloc explicitly.
20646         Instead, include "xalloc.h".
20647         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
20648         xrealloc, and xcalloc return values.
20649         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
20650         Improve comment.
20651         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
20652
20653 2003-06-07  Bruno Haible  <bruno@clisp.org>
20654
20655         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
20656         avoid AC_CONFIG_LINKS.
20657         * modules/fnmatch (Makefile.am): Use explicit creation rule for
20658         fnmatch.h, to avoid AC_CONFIG_LINKS.
20659         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
20660
20661 2003-06-07  Bruno Haible  <bruno@clisp.org>
20662
20663         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
20664         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
20665         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
20666         directory.
20667         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
20668         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
20669         directory.
20670
20671 2003-06-06  Jim Meyering  <jim@meyering.net>
20672
20673         Merge from coreutils.
20674         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
20675         Consolidate declarations and initializations of *_base* locals.
20676
20677         Merge from coreutils.
20678         This avoids a core dump on systems without GNU putenv,
20679         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
20680         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
20681         (unsetenv): New static function, from GNU libc.
20682         (rpl_putenv): Use it.
20683
20684         * lib/modechange.c: Remove trailing blanks.
20685
20686         Merge from coreutils.
20687         * lib/fsusage.c: Remove declaration of statfs.
20688         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
20689
20690         * lib/posixtm.c: Include <stdbool.h> unconditionally.
20691
20692 2003-06-06  Jim Meyering  <jim@meyering.net>
20693
20694         * lib/stdbool_.h: Renamed from stdbool.h.in.
20695
20696 2003-06-06  Jim Meyering  <jim@meyering.net>
20697             Bruno Haible  <bruno@clisp.org>
20698
20699         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
20700         Adjust Makefile.am snippet not to redirect directly to target.
20701         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
20702
20703 2003-06-05  Paul Eggert  <eggert@twinsun.com>
20704
20705         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
20706         mismatch, look in future quarters as well as past.  This fixes a
20707         bug when processing fall-backwards gaps immediately after a long
20708         period of daylight-saving time.
20709
20710         * lib/mktime.c: Assume freestanding C89 or better.
20711         (HAVE_LIMITS_H): Remove.  Assume it's 1.
20712         (__P): Remove; not used.
20713         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
20714         (mktime, not_equal_tm, print_tm, check_result,
20715         main): Use prototypes.  Use const * where appropriate.
20716         (main): Fix typo in testing code that uncovered by above changes.
20717         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
20718
20719 2003-06-04  Paul Eggert  <eggert@twinsun.com>
20720
20721         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
20722         locale.h, localeconv.  This merges changes from coreutils.
20723
20724         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
20725         It can be removed after the next Autoconf is released.
20726         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
20727         needed.
20728
20729 2003-06-04  Paul Eggert  <eggert@twinsun.com>
20730
20731         * lib/mktime.c: Fix Debian bug 177940
20732         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
20733         (localtime_offset): Now long int, not time_t, because we want it
20734         to be guaranteed to be signed.  All uses changed.
20735         (__mktime_internal): If overflow would occur when adding offset,
20736         don't add it.
20737
20738         Merge 'human' changes from coreutils.  Rewrite to support
20739         locale-specific notations like thousands separators.
20740         * lib/human.c: Simplify authorship notice.
20741         Include human.h immediately after config.h.
20742         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
20743         <limits.h>: Do not include, since human.h does.
20744         (SIZE_MAX, UINTMAX_MAX): New macros.
20745         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
20746         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
20747         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
20748         (power_letter): Renamed from suffixes.
20749         (generate_suffix_backwards): Remove.
20750         (adjust_value): Now takes int style (because of human.h changes)
20751         and long double value (for greater precision on some platforms).
20752         (group_number): New function.
20753         (human_readable): Use it.  Use integer options, not enum.
20754         Put the options before the sizes in the arg list.
20755         Support all the new options.
20756         The old human_readable function has been removed;
20757         use inttostr.h instead.
20758         (human_readable, default_block_size, humblock):
20759         Use uintmax_t, not int, for block sizes.
20760         (human_readable_inexact, block_size_types): Remove.
20761         (block_size_opts): New constant.
20762         (human_options): Renamed from human_block_size, with new signature
20763         that allows block sizes up to UINTMAX_MAX.  All callers changed.
20764         * lib/human.h: Add copyright and authorship notice.
20765         Include <limits.h> and <stdbool.h> unconditionally.
20766         (PARAMS): Remove.  All uses removed.
20767         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
20768         (enum human_inexact_style): Remove tag; now a nameless enum.
20769         (human_floor, human_ceiling, human_round_to_even): Now have
20770         values 2, 0, 1 rather than -1, 1, 0.
20771         (human_group_digits, human_suppress_point_zero, human_autoscale,
20772         human_base_1024, human_SI, human_B): New constants.
20773         (human_readable_inexact, human_block_size): Remove.
20774         (human_readable): Size args are now uintmax_t, not int.
20775         (human_options): New decl.
20776
20777         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
20778         unnecessary now that we assume C89 or better.  This change
20779         imported from coreutils.
20780
20781         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
20782         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
20783         in the 2003-05-30 sync from glibc.
20784
20785         .h files should stand alone, but we shouldn't include <sys/types.h>
20786         if we can get away with just <stddef.h>.
20787
20788         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
20789         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
20790         rather than <sys/types.h>, as we merely need size_t.
20791         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
20792         to get size_t.
20793         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
20794         Include <stdio.h>, to get FILE.
20795         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
20796         memcasecmp.h has included <stddef.h> and all we need is size_t.
20797         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
20798         our interface, instead of including <sys/types.h>
20799
20800 2003-06-04  Paul Eggert  <eggert@twinsun.com>
20801
20802         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
20803         now, as glibc mktime is buggy on non-glibc systems.
20804
20805 2003-06-03  Karl Berry  <karl@gnu.org>
20806
20807         * config/config.sub: update from prep.
20808
20809 2003-06-02  Paul Eggert  <eggert@twinsun.com>
20810
20811         [from coreutils]
20812         Fix some minor time-related bugs with POSIX time arguments.
20813         Some valid time stamps were being rejected (notably -1, and
20814         time stamps before 1900 on 64-bit hosts).  And some invalid
20815         time stamps were being accepted, e.g. September 31.
20816
20817         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
20818         that we can return (time_t) -1 successfully.
20819         * lib/posixtm.c: Likewise.
20820         [HAVE_STDBOOL_H]: Include <stdbool.h>.
20821         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
20822         (t): Remove static var.
20823         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
20824         of static var.  All uses changed.
20825         (year): Do not reject years before 1900; they can occur with
20826         64-bit time_t.
20827         (posix_time_parse): Do not check for out-of-range components;
20828         that is now the caller's responsibility, since our checks were
20829         only approximations.
20830         (posixtime): Use mktime to check for out-of-range components,
20831         since it knows them exactly.
20832         If mktime returns (time_t) -1, check whether an error actually occurred
20833         by invoking localtime on -1.
20834         (main) [TEST_POSIXTIME]: Check for input data errors, and report
20835         posixtime failures better.
20836         Improve the test data (in comments only).
20837
20838 2003-06-02  Karl Berry  <karl@gnu.org>
20839
20840         * config/mkinstalldirs (version): new variable.
20841         (--version): new option.
20842         (usage): improve message.
20843
20844 2003-05-30  Karl Berry  <karl@gnu.org>
20845
20846         * lib/mktime.c: update from libc.
20847
20848 2003-05-30  Bruno Haible  <bruno@clisp.org>
20849
20850         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
20851         * config/config.rpath: Upgrade to gettext-0.12.1.
20852
20853 2003-05-30  Bruno Haible  <bruno@clisp.org>
20854
20855         * m4/gettext.m4: Upgrade to gettext-0.12.1.
20856         * m4/nls.m4: New file, from gettext-0.12.1.
20857         * m4/po.m4: New file, from gettext-0.12.1.
20858         * m4/progtest.m4: Upgrade to gettext-0.12.1.
20859
20860 2003-05-30  Bruno Haible  <bruno@clisp.org>
20861
20862         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
20863         * lib/localcharset.h: Likewise.
20864         * lib/localcharset.c: Likewise.
20865
20866 2003-05-29  Karl Berry  <karl@gnu.org>
20867
20868         * config/config.rpath: update from gettext.
20869
20870 2003-05-28  Paul Eggert  <eggert@twinsun.com>
20871
20872         Assume the headers required for C89 freestanding compilers.
20873         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
20874         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
20875         * m4/human.m4 (gl_HUMAN): Likewise.
20876         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
20877         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
20878         * m4/userspec.m4 (gl_USERSPEC): Likewise.
20879         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
20880         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
20881         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
20882
20883 2003-05-28  Paul Eggert  <eggert@twinsun.com>
20884
20885         Assume the headers required for C89 freestanding compilers.
20886         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
20887         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
20888         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
20889         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
20890         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
20891         define, since <limits.h> is guaranteed to do that.
20892         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
20893         * lib/exclude.c: Include <stdbool.h> unconditionally.
20894         * lib/tempname.c: Include <stddef.h> unconditionally.
20895         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
20896         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
20897         <stddef.h> does that.
20898         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
20899         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
20900         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
20901         needed.
20902         * lib/xstrtol.c: Likewise.
20903         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
20904         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
20905
20906         * lib/addext.c (addext): Use assignment rather than cast, to avoid
20907         warnings on some platforms.
20908
20909         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
20910         arbitrarily.
20911
20912 2003-05-26  Jim Meyering  <jim@meyering.net>
20913
20914         Merge in a change from coreutils:
20915         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
20916         that is guaranteed to be `no'.  Use `no_such_member' to indicate
20917         that condition, rather than `-1' which is slightly misleading.
20918         Change the name of the cache variable to have the gl_ prefix.
20919         Prompted by a patch from Richard Dawe for DJGPP.
20920
20921 2003-05-24  Karl Berry  <karl@gnu.org>
20922
20923         * config/config.guess: update from prep.
20924
20925 2003-05-22  Karl Berry  <karl@gnu.org>
20926
20927         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
20928
20929 2003-05-20  Karl Berry  <karl@gnu.org>
20930
20931         * config/config.guess: update from prep.
20932
20933 2003-05-18  Karl Berry  <karl@gnu.org>
20934
20935         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
20936         might actually be set by the user.
20937
20938         * config/depcomp, install-sh, mdate-sh: update from automake.
20939
20940 2003-05-17  Bruno Haible  <bruno@clisp.org>
20941
20942         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
20943         invalid expansion for AC_EGREP_CPP.
20944         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
20945         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20946         Suggested by Akim Demaille <akim@epita.fr> in
20947         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
20948
20949 2003-05-12  Jim Meyering  <jim@meyering.net>
20950
20951         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
20952         the space-padded-by-default conversion specifiers, %e, %k, %l.
20953
20954 2003-05-12  Bruno Haible  <bruno@clisp.org>
20955
20956         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
20957         the string is longer than 4 KB.
20958
20959 2003-05-11  Karl Berry  <karl@gnu.org>
20960
20961         * config/config.{guess,sub}: update from prep.
20962
20963 2003-05-09  Bruno Haible  <bruno@clisp.org>
20964
20965         * modules/error: Add m4/strerror_r.m4 to file list.
20966
20967 2003-05-03  Bruno Haible  <bruno@clisp.org>
20968
20969         Upgrade to Unicode-4.0.
20970         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
20971         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
20972         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
20973         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
20974         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
20975         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
20976         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
20977         Change width of U+E0100..U+E01EF from 1 to 0.
20978
20979 2003-04-25  Jim Meyering  <jim@meyering.net>
20980
20981         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
20982         of type size_t, not int.
20983
20984 2003-04-25  Bruno Haible  <bruno@clisp.org>
20985
20986         * lib/copy-file.c: Include <stddef.h>, for size_t.
20987
20988 2003-04-21  Paul Eggert  <eggert@twinsun.com>
20989
20990         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
20991         code which expansion is under static control.  Patch imported from
20992         Akim Demaille's patch to Bison; see
20993         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
20994
20995 2003-04-14  Bruno Haible  <bruno@clisp.org>
20996
20997         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
20998
20999 2003-04-11  Jim Meyering  <jim@meyering.net>
21000
21001         Merge changes from Coreutils.
21002
21003         2003-03-22  Jim Meyering  <jim@meyering.net>
21004
21005         * lib/strftime.c (widen): Cast alloca return value to proper type.
21006
21007         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
21008
21009         From GNU libc.
21010         * lib/strftime.c (my_strftime): Handle very large width
21011         specifications for numeric values correctly.  Improve checks for
21012         overflow.
21013
21014         2003-01-19  Jim Meyering  <jim@meyering.net>
21015
21016         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
21017         definitions.
21018         (nl_get_alt_digit) [! defined my_strftime]: Define.
21019         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
21020         _nl_get_alt_digit and _nl_get_walt_digit.
21021
21022         * lib/strftime.c (my_strftime): Merge in locale-related changes from
21023         libc. These changes have no effect outside of _LIBC.
21024
21025 2003-04-10  Bruno Haible  <bruno@clisp.org>
21026
21027         * modules/findprog: New file.
21028         * MODULES.html.sh (func_all_modules): Add it.
21029
21030 2003-04-10  Bruno Haible  <bruno@clisp.org>
21031
21032         * m4/findprog.m4: New file.
21033         * m4/eaccess.m4: New file.
21034
21035 2003-04-10  Bruno Haible  <bruno@clisp.org>
21036
21037         * lib/findprog.h: New file, from GNU gettext.
21038         * lib/findprog.c: New file, from GNU gettext.
21039
21040 2003-04-05  Jim Meyering  <jim@meyering.net>
21041
21042         Merge changes from Coreutils.
21043
21044         * lib/exclude.h (PARAMS): Remove definition and uses.
21045         * lib/exclude.c: Remove uses of `PARAMS'.
21046
21047         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
21048         Add test-cases for DOS filenames. Declare program_name.
21049         (main): Set up program_name.  Patch by Rich Dawe.
21050
21051         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
21052         error from mntctl.
21053         Use mntctl's return value to drive the entry-processing loop, since
21054         we can't rely on the value of the vmt_length member in the last
21055         entry.  On some systems doing so could result in exhausting
21056         virtual memory.  Based in part on a patch from Mike Jetzer.
21057
21058 2003-04-04  Bruno Haible  <bruno@clisp.org>
21059
21060         * modules/linebreak: New file.
21061         * MODULES.html.sh (func_all_modules): Add it.
21062
21063 2003-04-04  Bruno Haible  <bruno@clisp.org>
21064
21065         * m4/linebreak.m4: New file.
21066
21067 2003-04-04  Bruno Haible  <bruno@clisp.org>
21068
21069         * lib/linebreak.h: New file, from GNU gettext.
21070         * lib/linebreak.c: New file, from GNU gettext with slight
21071         modifications.
21072         * lib/lbrkprop.h: New file, from GNU gettext.
21073
21074 2003-04-03  Bruno Haible  <bruno@clisp.org>
21075
21076         * modules/utf8-ucs4: New file.
21077         * modules/utf16-ucs4: New file.
21078         * modules/ucs4-utf8: New file.
21079         * modules/ucs4-utf16: New file.
21080         * MODULES.html.sh (func_all_modules): Add them.
21081
21082 2003-04-03  Bruno Haible  <bruno@clisp.org>
21083
21084         * m4/utf-ucs4.m4: New file.
21085         * m4/ucs4-utf.m4: New file.
21086
21087 2003-04-03  Bruno Haible  <bruno@clisp.org>
21088
21089         * lib/utf8-ucs4.h: New file, from GNU gettext.
21090         * lib/utf16-ucs4.h: New file, from GNU gettext.
21091         * lib/ucs4-utf8.h: New file, from GNU gettext.
21092         * lib/ucs4-utf16.h: New file, from GNU gettext.
21093
21094 2003-04-02  Bruno Haible  <bruno@clisp.org>
21095
21096         * modules/binary-io: New file.
21097         * MODULES.html.sh (func_all_modules): Add it.
21098
21099 2003-04-02  Bruno Haible  <bruno@clisp.org>
21100
21101         * lib/binary-io.h: New file, from GNU gettext.
21102
21103 2003-04-01  Bruno Haible  <bruno@clisp.org>
21104
21105         * modules/pathname: New file.
21106         * MODULES.html.sh (func_all_modules): Add it.
21107
21108 2003-04-01  Bruno Haible  <bruno@clisp.org>
21109
21110         * lib/pathname.h: New file, from GNU gettext.
21111         * lib/concatpath.c: New file, from GNU gettext.
21112
21113 2003-03-30  Bruno Haible  <bruno@clisp.org>
21114
21115         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
21116
21117 2003-03-30  Bruno Haible  <bruno@clisp.org>
21118
21119         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
21120         function chown() doesn't exist.
21121
21122 2003-03-28  Bruno Haible  <bruno@clisp.org>
21123
21124         * modules/copy-file: New file.
21125         * MODULES.html.sh (func_all_modules): Add it.
21126
21127 2003-03-28  Bruno Haible  <bruno@clisp.org>
21128
21129         * m4/copy-file.m4: New file.
21130
21131 2003-03-28  Bruno Haible  <bruno@clisp.org>
21132
21133         * lib/copy-file.h: New file, from GNU gettext.
21134         * lib/copy-file.c: New file, from GNU gettext.
21135
21136 2003-03-18  Jim Meyering  <jim@meyering.net>
21137
21138         * lib/quote.c (quote_n): Fix typo in comment.
21139
21140 2003-03-18  Bruno Haible  <bruno@clisp.org>
21141
21142         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
21143         checking.
21144         * m4/onceonly_2_57.m4: Likewise.
21145
21146 2003-03-17  Bruno Haible  <bruno@clisp.org>
21147
21148         * m4/onceonly.m4: Require autoconf 2.54 or newer.
21149         (m4_quote): Remove macro.
21150         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
21151
21152 2003-03-14  Jim Meyering  <jim@meyering.net>
21153
21154         Merge changes from Coreutils.
21155         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
21156         to be const, in order to avoid warnings.
21157         (obstack_room): Likewise.
21158         (obstack_empty_p): Likewise.
21159
21160 2003-03-14  Bruno Haible  <bruno@clisp.org>
21161
21162         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
21163         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
21164
21165 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21166
21167         Merge changes from Bison.
21168         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
21169         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
21170         when compiling Bison 1.875's `bitset bset = obstack_alloc
21171         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
21172         * lib/hash.c: Include <stdbool.h> unconditionally.
21173
21174 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21175
21176         * m4/onceonly.m4 (m4_quote): New macro.
21177         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
21178         Quote AC_FOREACH variable-expansions properly.
21179
21180 2003-03-13  Paul Eggert  <eggert@twinsun.com>
21181
21182         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
21183
21184 2003-03-09  Paul Eggert  <eggert@twinsun.com>
21185
21186         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
21187         Reported by Bruce Becker; see:
21188         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
21189
21190 2003-03-03  Paul Eggert  <eggert@twinsun.com>
21191             Bruno Haible  <bruno@clisp.org>
21192
21193         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
21194         Reported by John Hughes, see
21195         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
21196
21197 2003-02-20  Bruno Haible  <bruno@clisp.org>
21198
21199         * MODULES.html.sh (func_all_modules): Add poll.
21200
21201 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21202
21203         * modules/poll: New file.
21204
21205 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21206
21207         * lib/poll_.h: New file.
21208         * lib/poll.c: New file.
21209
21210 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
21211
21212         * m4/poll.m4: New file.
21213
21214 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21215
21216         * modules/mathl: New file.
21217
21218 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21219
21220         * lib/mathl.h: New file.
21221         * lib/acosl.c: New file.
21222         * lib/asinl.c: New file.
21223         * lib/atanl.c: New file.
21224         * lib/ceill.c: New file.
21225         * lib/cosl.c: New file.
21226         * lib/expl.c: New file.
21227         * lib/floorl.c: New file.
21228         * lib/frexpl.c: New file.
21229         * lib/ldexpl.c: New file.
21230         * lib/logl.c: New file.
21231         * lib/sincosl.c: New file.
21232         * lib/sinl.c: New file.
21233         * lib/sqrtl.c: New file.
21234         * lib/tanl.c: New file.
21235         * lib/trigl.c: New file.
21236         * lib/trigl.h: New file.
21237
21238 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
21239
21240         * m4/mathl.m4: New file.
21241
21242 2003-02-18  Bruno Haible  <bruno@clisp.org>
21243
21244         * MODULES.html.sh (func_all_modules): Add mathl.
21245
21246 2003-02-17  Bruno Haible  <bruno@clisp.org>
21247
21248         * modules/mkdtemp: New module.
21249         * MODULES.html.sh (func_all_modules): Add it.
21250
21251 2003-02-17  Bruno Haible  <bruno@clisp.org>
21252
21253         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
21254
21255 2003-02-17  Bruno Haible  <bruno@clisp.org>
21256
21257         * lib/mkdtemp.h: New file, from GNU gettext.
21258         * lib/mkdtemp.c: New file, from GNU gettext.
21259
21260 2003-02-02  Jim Meyering  <jim@meyering.net>
21261
21262         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
21263         e.g. glibc-2.2.93.
21264
21265 2003-01-31  Bruno Haible  <bruno@clisp.org>
21266
21267         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
21268         'rpl_rename'.
21269         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
21270         'rpl_strnlen'.
21271         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
21272         'rpl_strtod'.
21273         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
21274         'rpl_utime'.
21275
21276 2003-01-31  Bruno Haible  <bruno@clisp.org>
21277
21278         * lib/rename.c: #undef rename before defining rpl_rename.
21279         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
21280
21281 2003-01-30  Bruno Haible  <bruno@clisp.org>
21282
21283         * modules/vasnprintf, modules/vasprintf: New modules.
21284         * MODULES.html.sh (func_all_modules): Add them.
21285
21286 2003-01-30  Bruno Haible  <bruno@clisp.org>
21287
21288         * m4/signed.m4: New file, from GNU gettext.
21289         * m4/longdouble.m4: New file, from GNU gettext.
21290         * m4/wchar_t.m4: New file, from GNU gettext.
21291         * m4/wint_t.m4: New file, from GNU gettext.
21292         * m4/vasnprintf.m4: New file.
21293         * m4/vasprintf.m4: New file.
21294
21295 2003-01-30  Bruno Haible  <bruno@clisp.org>
21296
21297         * lib/printf-args.h: New file, from GNU gettext.
21298         * lib/printf-args.c: New file, from GNU gettext.
21299         * lib/printf-parse.h: New file, from GNU gettext.
21300         * lib/printf-parse.c: New file, from GNU gettext.
21301         * lib/vasnprintf.h: New file, from GNU gettext.
21302         * lib/vasnprintf.c: New file, from GNU gettext.
21303         * lib/asnprintf.c: New file, from GNU gettext.
21304         * lib/vasprintf.h: New file, from GNU gettext with modifications.
21305         * lib/vasprintf.c: New file, from GNU gettext.
21306         * lib/asprintf.c: New file, from GNU gettext.
21307
21308 2003-01-29  Bruno Haible  <bruno@clisp.org>
21309
21310         * modules/stpncpy: New module.
21311         * MODULES.html.sh (func_all_modules): Add it.
21312
21313 2003-01-29  Bruno Haible  <bruno@clisp.org>
21314
21315         * m4/stpncpy.m4: New file.
21316
21317 2003-01-29  Bruno Haible  <bruno@clisp.org>
21318
21319         * lib/stpncpy.h: New file, from GNU gettext with modifications.
21320         * lib/stpncpy.c: New file, from GNU gettext with modifications.
21321
21322 2003-01-28  Bruno Haible  <bruno@clisp.org>
21323
21324         * modules/c-ctype: New module.
21325         * MODULES.html.sh (func_all_modules): Add it.
21326
21327 2003-01-28  Bruno Haible  <bruno@clisp.org>
21328
21329         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
21330         Paul Eggert.
21331         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
21332         Paul Eggert.
21333
21334 2003-01-27  Bruno Haible  <bruno@clisp.org>
21335
21336         * modules/xsetenv: New module.
21337         * MODULES.html.sh (func_all_modules): Add it.
21338
21339 2003-01-27  Bruno Haible  <bruno@clisp.org>
21340
21341         * lib/xsetenv.h: New file, from GNU gettext.
21342         * lib/xsetenv.c: New file, from GNU gettext.
21343
21344 2003-01-23  Jim Meyering  <jim@meyering.net>
21345
21346         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
21347         from working on systems without dirfd (at least Irix and OSF1/Tru64).
21348
21349 2003-01-23  Bruno Haible  <bruno@clisp.org>
21350
21351         * modules/minmax: New module.
21352         * MODULES.html.sh (func_all_modules): Add it.
21353
21354 2003-01-23  Bruno Haible  <bruno@clisp.org>
21355
21356         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
21357         Eggert.
21358
21359 2003-01-22  Bruno Haible  <bruno@clisp.org>
21360
21361         * modules/exit: New module.
21362         * MODULES.html.sh (func_all_modules): Add it.
21363
21364 2003-01-22  Bruno Haible  <bruno@clisp.org>
21365
21366         * lib/exit.h: New file, from GNU gettext.
21367
21368 2003-01-19  Bruno Haible  <bruno@clisp.org>
21369
21370         * gnulib-tool: Recognize option --extract-maintainer.
21371         (func_get_maintainer): New function.
21372         * modules/*: Add Maintainer entry.
21373
21374 2003-01-16  Jim Meyering  <jim@meyering.net>
21375
21376         * m4/regex.m4: The `regex' struct is both input and output.
21377         Initialize it before each use.  Patch by Tim Waugh.
21378
21379 2003-01-16  Bruno Haible  <bruno@clisp.org>
21380
21381         * MODULES.html.sh: Add a table of contents. Add the module name as
21382         leftmost column. Add hyperlinks.
21383
21384 2003-01-15  Bruno Haible  <bruno@clisp.org>
21385
21386         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
21387
21388 2003-01-15  Bruno Haible  <bruno@clisp.org>
21389
21390         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
21391         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
21392         suffix.
21393
21394 2003-01-15  Bruno Haible  <bruno@clisp.org>
21395
21396         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
21397
21398 2003-01-15  Bruno Haible  <bruno@clisp.org>
21399
21400         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
21401         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
21402
21403 2003-01-14  Jim Meyering  <jim@meyering.net>
21404
21405         * lib/same.c (same_name): Tweak a comment.
21406
21407 2003-01-14  Bruno Haible  <bruno@clisp.org>
21408
21409         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
21410         when a string comparison is sufficient.
21411
21412 2003-01-14  Bruno Haible  <bruno@clisp.org>
21413
21414         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
21415         'unsigned int'.
21416
21417 2003-01-14  Bruno Haible  <bruno@clisp.org>
21418
21419         * lib/hash-pjw.c: Add comment about low quality of this function.
21420
21421 2003-01-13  Bruno Haible  <bruno@clisp.org>
21422
21423         * modules/stpcpy: Distribute lib/stpcpy.h.
21424         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
21425
21426 2003-01-13  Bruno Haible  <bruno@clisp.org>
21427
21428         * modules/*: Add a description.
21429         * modules/strpbrk: Fix Makefile.am snippet.
21430         * modules/strtoimax: Fix dependencies.
21431         * modules/strtoumax: Likewise.
21432
21433 2003-01-13  Bruno Haible  <bruno@clisp.org>
21434
21435         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
21436         * modules/alloca (Makefile.am): All object files depend on alloca.h.
21437         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
21438
21439 2003-01-13  Bruno Haible  <bruno@clisp.org>
21440
21441         * gnulib-tool (func_create_testdir): Store config/* files in the main
21442         directory.
21443         * config.rpath: Move to ...
21444         * config/config.rpath: ... here.
21445         * modules/gettext: Contains config/config.rpath, not config.rpath.
21446         * modules/iconv: Likewise.
21447
21448 2003-01-12  Paul Eggert  <eggert@twinsun.com>
21449
21450         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
21451         to avoid collisions with libcurses and libreadline.
21452
21453         * m4/getstr.m4: Remove.
21454         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
21455
21456 2003-01-12  Paul Eggert  <eggert@twinsun.com>
21457
21458         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
21459         to avoid collisions with libcurses and libreadline.
21460
21461         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
21462         * lib/getstr.h, getstr.c: Remove.
21463         * lib/getline.c: Include "getline.h", to check interface.
21464         Move body of old getstr.c here: this defines MIN_CHUNK and
21465         declares getdelim2, which is renamed from getstr.
21466         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
21467
21468         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
21469         All uses changed.
21470         * lib/linebuffer.h: Likewise.
21471         (readline): Remove backward-compatibility macro.
21472
21473 2003-01-12  Paul Eggert  <eggert@twinsun.com>
21474
21475         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
21476         to avoid collisions with libcurses and libreadline.
21477         * getstr: Remove.
21478         * MODULES.html.sh: Remove getstr.
21479         * modules/getline: Depend on unlocked-io, not getstr.
21480
21481 2003-01-12  Jim Meyering  <jim@meyering.net>
21482
21483         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
21484
21485 2003-01-10  Bruno Haible  <bruno@clisp.org>
21486
21487         * modules/alloca: Change Makefile.am requirements. Simplify Include
21488         requirements. Add lib/alloca_.h to file list.
21489
21490 2003-01-10  Bruno Haible  <bruno@clisp.org>
21491
21492         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
21493
21494 2003-01-10  Bruno Haible  <bruno@clisp.org>
21495
21496         * lib/alloca_.h: New file.
21497         * lib/getdate.y: Unconditionally include alloca.h.
21498         * lib/makepath.c: Likewise.
21499         * lib/setenv.c: Likewise.
21500         * lib/userspec.c: Likewise.
21501
21502 2003-01-09  Karl Berry  <karl@gnu.org>
21503
21504         * MODULES.html.sh: include `dirname $0` in PATH, to find
21505         gnulib-tool.
21506
21507 2003-01-09  Bruno Haible  <bruno@clisp.org>
21508
21509         * modules/stdbool: Change configure.ac, Makefile.am requirements.
21510         Simplify Include requirements. Add lib/stdbool.h.in to file list.
21511
21512 2003-01-09  Bruno Haible  <bruno@clisp.org>
21513
21514         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
21515
21516 2003-01-09  Bruno Haible  <bruno@clisp.org>
21517
21518         * lib/stdbool.h.in: New file.
21519
21520 2003-01-09  Bruno Haible  <bruno@clisp.org>
21521
21522         * gnulib-tool (func_all_modules): Ignore files ending in ~.
21523         * MODULES.html.sh: Likewise.
21524
21525 2003-01-08  Jim Meyering  <jim@meyering.net>
21526
21527         * lib/full-write.c: Undefine and define-away `const' after inclusion
21528         of errno.h, not before.  Suggestion from Bruno Haible.
21529
21530 2003-01-08  Bruno Haible  <bruno@clisp.org>
21531
21532         * modules/full-read: Depend on full-write.
21533
21534 2003-01-08  Bruno Haible  <bruno@clisp.org>
21535
21536         * lib/safe-read.c: Include specification header first, to ensure its
21537         selfcontainedness.
21538         * lib/full-write.c: Likewise.
21539
21540 2003-01-07  Jim Meyering  <jim@meyering.net>
21541
21542         * lib/full-write.c: Rework so that it may serve to define full_read,
21543         too.
21544         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
21545
21546 2003-01-07  Bruno Haible  <bruno@clisp.org>
21547
21548         * lib/strtoimax.c: Include <stdint.h> as an alternative to
21549         <inttypes.h>.
21550         * lib/xstrtol.h: Likewise.
21551         * lib/xstrtoimax.c: Likewise.
21552         * lib/xstrtoumax.c: Likewise.
21553         * lib/human.h: Likewise.
21554
21555         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
21556         on systems that have <inttypes.h> but not <stdint.h>.
21557
21558 2003-01-07  Bruno Haible  <bruno@clisp.org>
21559
21560         * MODULES.html.sh: Add copyright notice.
21561         (missed_files): Omit CVS directory entries.
21562         (func_module): Make it work with sed-3.02.
21563         * MODULES.txt: Remove file.
21564
21565 2003-01-06  Jim Meyering  <jim@meyering.net>
21566
21567         * lib/version-etc.c: Update year in translatable copyright string.
21568
21569 2003-01-03  Karl Berry  <karl@gnu.org>
21570
21571         * config/config.{guess,sub}: update from prep.
21572
21573 2003-01-02  Karl Berry  <karl@gnu.org>
21574
21575         * doc/COPYING.DOC: belatedly updated to 1.2.
21576
21577 2003-01-01  Karl Berry  <karl@gnu.org>
21578
21579         * gnulib-tool (func_verify_module): report module name $module in
21580         error message, not $1.
21581         * gnulib-tool (create-testdir): don't complain if destdir couldn't
21582         be created, only if it doesn't exist.
21583         * gnulib-tool (last_checkin_date): don't expand the $Date here.
21584
21585 2002-12-31  Paul Eggert  <eggert@twinsun.com>
21586
21587         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
21588
21589 2002-12-31  Paul Eggert  <eggert@twinsun.com>
21590
21591         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
21592         memcmp if strcoll doesn't work.
21593
21594 2002-12-31  Bruno Haible  <bruno@clisp.org>
21595
21596         * lib/utime.c (utime_null): No need to call ftruncate if the file was
21597         nonempty.
21598
21599 2002-12-31  Bruno Haible  <bruno@clisp.org>
21600
21601         * lib/memcoll.c (STRCOLL): New macro.
21602         (memcoll): Use it.
21603
21604 2002-12-31  Bruno Haible  <bruno@clisp.org>
21605
21606         * lib/localcharset.h: New file.
21607         * lib/localcharset.c: Include it.
21608         * lib/unicodeio.c: Likewise.
21609
21610 2002-12-31  Bruno Haible  <bruno@clisp.org>
21611
21612         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
21613         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
21614
21615 2002-12-31  Bruno Haible  <bruno@clisp.org>
21616
21617         * lib/getline.h: Include <stddef.h>, for size_t.
21618
21619         * lib/unicodeio.h: Include <stddef.h>, for size_t.
21620         * lib/unicodeio.c: Don't include <stddef.h>.
21621
21622 2002-12-31  Bruno Haible  <bruno@clisp.org>
21623
21624         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
21625         HAVE_TM_ZONE.
21626
21627 2002-12-24  Karl Berry  <karl@gnu.org>
21628
21629         * config/config.guess: update from prep.
21630
21631 2002-12-24  Bruno Haible  <bruno@clisp.org>
21632
21633         General infrasructure.
21634         * m4/README: Rewritten.
21635         * m4/onceonly.m4: New file.
21636         * m4/onceonly_2_57.m4: New file.
21637
21638         Module atexit.
21639         * m4/atexit.m4: New file.
21640
21641         Module strtod.
21642         * m4/strtod.m4: New file.
21643
21644         Module strtol.
21645         * m4/strtol.m4: New file.
21646
21647         Module strtoul.
21648         * m4/strtoul.m4: New file.
21649
21650         Module memchr.
21651         * m4/memchr.m4: New file.
21652
21653         Module memcmp.
21654         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
21655         (jm_FUNC_MEMCMP): Invoke it.
21656
21657         Module memcpy.
21658         * m4/memcpy.m4: New file.
21659
21660         Module memmove.
21661         * m4/memmove.m4: New file.
21662
21663         Module memset.
21664         * m4/memset.m4: New file.
21665
21666         Module strcspn.
21667         * m4/strcspn.m4: New file.
21668
21669         Module strpbrk.
21670         * m4/strpbrk.m4: New file.
21671
21672         Module strstr.
21673         * m4/strstr.m4: New file.
21674
21675         Module strerror.
21676         * m4/strerror.m4: New file.
21677
21678         Module mktime.
21679         * m4/mktime.m4: Renamed from jm-mktime.m4.
21680         (gl_PREREQ_MKTIME): New macro.
21681         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
21682
21683         Module malloc.
21684         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
21685         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
21686         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
21687
21688         Module realloc.
21689         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
21690         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
21691         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
21692
21693         Module strftime.
21694         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
21695         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
21696         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
21697         gl_TM_GMTOFF.
21698         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
21699
21700         Module xalloc.
21701         * m4/xalloc.m4: New file.
21702
21703         Module alloca.
21704         * m4/alloca.m4: New file.
21705
21706         Module putenv.
21707         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
21708         (jm_FUNC_PUTENV): Invoke it.
21709
21710         Module setenv.
21711         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
21712         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
21713         when invoked twice.
21714         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
21715         gt_FUNC_SETENV.
21716
21717         Module memrchr.
21718         * m4/memrchr.m4: New file.
21719
21720         Module stpcpy.
21721         * m4/stpcpy.m4: New file.
21722
21723         Module strcase.
21724         * m4/strcase.m4: New file.
21725
21726         Module strdup.
21727         * m4/strdup.m4: New file.
21728
21729         Module strnlen.
21730         * m4/strnlen.m4: New file.
21731
21732         Module strndup.
21733         * m4/strndup.m4: New file.
21734
21735         Module xstrtod.
21736         * m4/xstrtod.m4: New file.
21737
21738         Module xstrtol.
21739         * m4/xstrtol.m4: New file.
21740
21741         Module getdate.
21742         * m4/getdate.m4: New file.
21743
21744         Module unlocked-io.
21745         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
21746         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
21747         * m4/jm-glibc-io.m4n: Remove file.
21748
21749         Module long-options.
21750         * m4/long-options.m4: New file.
21751
21752         Module md5.
21753         * m4/md5.m4: New file.
21754
21755         Module sha.
21756         * m4/sha.m4: New file.
21757
21758         Module getstr.
21759         * m4/getstr.m4: New file.
21760
21761         Module getline.
21762         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
21763         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
21764         <sys/types.h>, for size_t. Use the function name gnu_getline, not
21765         simply getline. Infoke gl_PREREQ_GETLINE.
21766
21767         Module obstack.
21768         * m4/obstack.m4: New file.
21769
21770         Module hash.
21771         * m4/hash.m4: New file.
21772
21773         Module readtokens.
21774         * m4/readtokens.m4: New file.
21775
21776         Module strverscmp.
21777         * m4/strverscmp.m4: New file.
21778
21779         Module stdbool.
21780         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
21781         OSF/1.
21782
21783         Module strtoll.
21784         * m4/strtoll.m4: New file.
21785
21786         Module strtoull.
21787         * m4/strtoull.m4: New file.
21788
21789         Module strtoimax.
21790         * m4/strtoimax.m4: New file.
21791
21792         Module strtoumax.
21793         * m4/strtoumax.m4: New file.
21794
21795         Module xstrtoimax.
21796         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
21797         jm_AC_PREREQ_XSTRTOIMAX.
21798         Moved the strtol prerequisites to strtol.m4.
21799         Moved the strtoll prerequisites to strtoll.m4.
21800         Moved the strtoimax prerequisites to strtoimax.m4.
21801
21802         Module xstrtoumax.
21803         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
21804         jm_AC_PREREQ_XSTRTOUMAX.
21805         Moved the strtoul prerequisites to strtoul.m4.
21806         Moved the strtoull prerequisites to strtoull.m4.
21807         Moved the strtoumax prerequisites to strtoumax.m4.
21808
21809         Module chown.
21810         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
21811         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
21812
21813         Module dup2.
21814         * m4/dup2.m4: New file.
21815
21816         Module ftruncate.
21817         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
21818         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
21819
21820         Module getgroups.
21821         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
21822         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
21823
21824         Module gettimeofday.
21825         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
21826         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
21827         gl_PREREQ_GETTIMEOFDAY.
21828
21829         Module mkdir.
21830         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
21831         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
21832
21833         Module mkstemp.
21834         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
21835         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
21836         jm_AC_TYPE_UINTMAX_T.
21837         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
21838
21839         Module stat.
21840         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
21841         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
21842
21843         Module lstat.
21844         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
21845         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
21846
21847         Module timespec.
21848         * m4/timespec.m4 (gl_TIMESPEC): New macro.
21849         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
21850         * m4/st_mtim.m4: Indentation.
21851
21852         Module nanosleep.
21853         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
21854         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
21855         gl_PREREQ_NANOSLEEP.
21856
21857         Module regex.
21858         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
21859         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
21860         (gl_REGEX): New macro.
21861
21862         Module rename.
21863         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
21864         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
21865
21866         Module rmdir.
21867         * m4/rmdir.m4: New file.
21868
21869         Module utime.
21870         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
21871         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
21872         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
21873
21874         Module dirname.
21875         * m4/dirname.m4: New file.
21876
21877         Module getopt.
21878         * m4/getopt.m4: New file.
21879
21880         Module unistd-safer.
21881         * m4/unistd-safer.m4: New file.
21882
21883         Module fnmatch.
21884         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
21885         declaration.
21886         (gl_PREREQ_FNMATCH_EXTRA): New macro.
21887         (gl_FUNC_FNMATCH_POSIX): New macro.
21888         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
21889         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
21890         simply fnmatch.
21891
21892         Module exclude.
21893         * m4/exclude.m4: New file.
21894
21895         Module human.
21896         * m4/human.m4: New file.
21897
21898         Module acl.
21899         * m4/acl.m4: Nop.
21900
21901         Module backupfile.
21902         * m4/backupfile.m4: New file.
21903         * m4/d-ino.m4: Indentation.
21904
21905         Module fsusage.
21906         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
21907         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
21908         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
21909
21910         Module dirfd.
21911         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
21912         requirements.
21913
21914         Module euidaccess.
21915         * m4/euidaccess.m4: New file.
21916
21917         Module file-type.
21918         * m4/file-type.m4: New file.
21919
21920         Module fileblocks.
21921         * m4/fileblocks.m4: New file.
21922
21923         Module filemode.
21924         * m4/filemode.m4: New file.
21925
21926         Module isdir.
21927         * m4/isdir.m4: New file.
21928
21929         Module lchown.
21930         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
21931         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
21932
21933         Module makepath.
21934         * m4/makepath.m4: New file.
21935
21936         Module modechange.
21937         * m4/modechange.m4: New file.
21938
21939         Module mountlist.
21940         * m4/mountlist.m4: New file.
21941         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
21942         Indentation.
21943
21944         Module path-concat.
21945         * m4/path-concat.m4: New file.
21946
21947         Module pathmax.
21948         * m4/pathmax.m4: New file.
21949
21950         Module same.
21951         * m4/same.m4: New file.
21952
21953         Module save-cwd.
21954         * m4/save-cwd.m4: New file.
21955
21956         Module savedir.
21957         * m4/savedir.m4: New file.
21958
21959         Module xgetcwd.
21960         * m4/xgetcwd.m4: New file.
21961         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
21962
21963         Module xreadlink.
21964         * m4/xreadlink.m4: New file.
21965
21966         Module safe-read.
21967         * m4/safe-read.m4: New file.
21968
21969         Module safe-write.
21970         * m4/safe-write.m4: New file.
21971
21972         Module closeout.
21973         * m4/closeout.m4: New file.
21974
21975         Module stdio-safer.
21976         * m4/stdio-safer.m4: New file.
21977
21978         Module getpass.
21979         * m4/getpass.m4: New file.
21980
21981         Module getugroups.
21982         * m4/getugroups.m4: New file.
21983
21984         Module group-member.
21985         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
21986         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
21987
21988         Module idcache.
21989         * m4/idcache.m4: New file.
21990
21991         Module userspec.
21992         * m4/userspec.m4: New file.
21993
21994         Module gettime.
21995         * m4/clock_time.m4: New file.
21996         * m4/gettime.m4: New file.
21997
21998         Module settime.
21999         * m4/settime.m4: New file.
22000
22001         Module posixtm.
22002         * m4/posixtm.m4: New file.
22003
22004         Module gethostname.
22005         * m4/gethostname.m4: New file.
22006
22007         Module canon-host.
22008         * m4/canon-host.m4: New file.
22009
22010         Module gettext.
22011         * m4/codeset.m4: New file, from gettext-0.11.5.
22012         * m4/gettext.m4: New file, from gettext-0.11.5.
22013         * m4/glibc21.m4: New file, from gettext-0.11.5.
22014         * m4/iconv.m4: New file, from gettext-0.11.5.
22015         * m4/intdiv0.m4: New file, from gettext-0.11.5.
22016         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
22017         * m4/inttypes.m4: New file, from gettext-0.11.5.
22018         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
22019         * m4/isc-posix.m4: New file, from gettext-0.11.5.
22020         * m4/lcmessage.m4: New file, from gettext-0.11.5.
22021         * m4/lib-ld.m4: New file, from gettext-0.11.5.
22022         * m4/lib-link.m4: New file, from gettext-0.11.5.
22023         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
22024         * m4/progtest.m4: New file, from gettext-0.11.5.
22025         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
22026         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
22027         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
22028
22029         Module localcharset.
22030         * m4/localcharset.m4: New file.
22031
22032         Module hard-locale.
22033         * m4/hard-locale.m4: New file.
22034
22035         Module mbswidth.
22036         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
22037         onceonly macros.
22038         * m4/mbrtowc.m4: Add comment.
22039
22040         Module memcasecmp.
22041         * m4/memcasecmp.m4: New file.
22042
22043         Module memcoll.
22044         * m4/memcoll.m4: New file.
22045
22046         Module unicodeio.
22047         * m4/unicodeio.m4: New file.
22048
22049         Module rpmatch.
22050         * m4/rpmatch.m4: New file.
22051
22052         Module yesno.
22053         * m4/yesno.m4: New file.
22054
22055         Module exitfail.
22056         * m4/exitfail.m4: New file.
22057
22058         Module c-stack.
22059         * m4/c-stack.m4 (gl_C_STACK): New macro.
22060         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
22061
22062         Module error.
22063         * m4/error.m4 (gl_ERROR): New macro.
22064         (jm_PREREQ_ERROR): Use onceonly macros.
22065
22066         Module fatal.
22067         * m4/fatal.m4: New file.
22068
22069         Module getloadavg.
22070         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
22071         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
22072
22073         Module getpagesize.
22074         * m4/getpagesize.m4: New file.
22075
22076         Module getusershell.
22077         * m4/getusershell.m4: New file.
22078
22079         Module physmem.
22080         * m4/physmem.m4: New file.
22081
22082         Module posixver.
22083         * m4/posixver.m4: New file.
22084
22085         Module quotearg.
22086         * m4/quotearg.m4: New file.
22087
22088         Module quote.
22089         * m4/quote.m4: New file.
22090
22091         Module readutmp.
22092         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
22093
22094         Module sig2str.
22095         * m4/sig2str.m4: New file.
22096
22097         Other.
22098         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
22099         ulonglong.m4.
22100         * m4/intmax_t.m4: New file.
22101         * m4/d-type.m4: Indentation.
22102         * m4/jm-macros.m4: Update.
22103         * m4/prereq.m4 (jm_PREREQ): Update.
22104         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
22105         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
22106         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
22107         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
22108         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
22109         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
22110         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
22111         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
22112         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
22113         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
22114         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
22115         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
22116         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
22117         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
22118         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
22119         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
22120         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
22121         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
22122         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
22123
22124 2002-12-24  Bruno Haible  <bruno@clisp.org>
22125
22126         * MODULES.txt: Update according to m4/ changes.
22127
22128         Module gettext.
22129         * config.rpath: New file, from gettext-0.11.5.
22130
22131         * modules/*: New module descriptions.
22132         * gnulib-tool: New file.
22133         * MODULES.html.sh: New file.
22134
22135 2002-12-21  Karl Berry  <karl@gnu.org>
22136
22137         * doc/fdl.texi: update to version 1.2.
22138
22139 2002-12-19  Karl Berry  <karl@gnu.org>
22140
22141         * config/config.guess: update from prep.
22142
22143 2002-12-18  Bruno Haible  <bruno@clisp.org>
22144
22145         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
22146         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
22147
22148 2002-12-17  Bruno Haible  <bruno@clisp.org>
22149
22150         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
22151         stdlib.h, string.h.
22152
22153 2002-12-17  Bruno Haible  <bruno@clisp.org>
22154
22155         * lib/canon-host.c (strdup): Remove unused declaration.
22156
22157         * lib/fsusage.c: Include full_read.h.
22158         (get_fs_usage): Use full_read instead of safe_read.
22159
22160         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
22161
22162 2002-12-12  Karl Berry  <karl@gnu.org>
22163
22164         * config/config.guess: update from prep.
22165
22166 2002-12-11  Bruno Haible  <bruno@clisp.org>
22167
22168         * m4/setenv.m4: New file, from gettext-0.11.5.
22169
22170 2002-12-11  Bruno Haible  <bruno@clisp.org>
22171
22172         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
22173         not unsetenv().
22174         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
22175         modifications:
22176
22177         2002-12-11  Bruno Haible  <bruno@clisp.org>
22178
22179                 * setenv.c (alloca): Fall back to malloc.
22180                 (freea): New macro.
22181                 (setenv): Use freea() to free memory allocated with alloca().
22182
22183         2002-11-13  Bruno Haible  <bruno@clisp.org>
22184
22185                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
22186                 function declarations.
22187                 * unsetenv.c (unsetenv): Likewise.
22188
22189         2002-03-04  Bruno Haible  <bruno@clisp.org>
22190
22191                 Portability to AIX 4.3.3.
22192                 * unsetenv.c: New file, extracted from setenv.c.
22193                 * setenv.c: Move the unsetenv() function to unsetenv.c.
22194
22195         2001-12-20  Bruno Haible  <bruno@clisp.org>
22196
22197                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
22198                 use malloc instead. For SunOS 4.
22199
22200         2001-12-11  Bruno Haible  <bruno@clisp.org>
22201
22202                 * setenv.c: Declare alloca.
22203                 (compar_fn_t): New typedef.
22204                 (KNOWN_VALUE, STORE_VALUE): Use it.
22205
22206         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
22207         setenv.h.
22208
22209 2002-12-10  Paul Eggert  <eggert@twinsun.com>
22210
22211         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
22212         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
22213         Choose values that are less likely to collide with system fnmatch
22214         options.
22215         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
22216         defined (e.g., a pure POSIX system).
22217         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
22218         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
22219
22220 2002-12-06  Paul Eggert  <eggert@twinsun.com>
22221
22222         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
22223         a pain in practice to deal with generated m4 files.  This change
22224         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
22225
22226         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
22227         and jm-glibc-io.m4, as they are no longer a special case.
22228         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
22229         kludge and the auto-generation stuff.  Check only whether the
22230         functions are declared, not whether they exist, since older hosts
22231         that don't declare the functions can't use the optimization anyway.
22232
22233 2002-12-06  Jim Meyering  <jim@meyering.net>
22234
22235         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
22236
22237         Merge in changes from libc's misc/error.c, in preparation
22238         for the merge of gnulib's changes back into libc.
22239
22240         * lib/error.c (_): Define only if not already defined.
22241         Move definition to follow all #include directives.
22242         Include unlocked-io.h only if !_LIBC.
22243         [_LIBC]: Include <libio/libioP.h>.
22244         [USE_IN_LIBIO]: Include <libio/iolibio.h>
22245         (fflush): Tweak definition to use INTUSE.
22246         (putc): Define.
22247
22248 2002-12-05  Paul Eggert  <eggert@twinsun.com>
22249
22250         * lib/alloca.c [defined emacs]: Include "lisp.h".
22251         (xalloc_die) [defined emacs]: New macro.
22252         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
22253         [! defined emacs]: Include <xalloc.h>.
22254         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
22255         (pointer): Typedef to POINTER_TYPE *.
22256         (malloc): Remove decl; we now always use xmalloc.
22257         (alloca): Use old-style definition, since Emacs needs this.
22258         Check for arithmetic overflow when computing combined size.
22259
22260 2002-12-04  Paul Eggert  <eggert@twinsun.com>
22261
22262         Do not generate unlocked-io.h automatically, since it's easier to
22263         maintain it by hand.
22264
22265         * lib/unlocked-io.h: New file, from GNU diffutils,
22266         but with proper copyright notice and attribution.
22267         * lib/gen-uio: Remove.
22268         * lib/Makefile.am: Add copyright notice.
22269         (libfetish_a_SOURCES): Add unlocked-io.h.
22270         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
22271         (DISTCLEANFILES, io_functions): Remove macros.
22272         (EXTRA_DIST): Remove gen_uio.
22273         (unlocked-io.h): Remove rule.
22274
22275 2002-12-04  Jim Meyering  <jim@meyering.net>
22276
22277         Reflect the fact that stat.c and lstat.c are no longer generated.
22278         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
22279         (DISTCLEANFILES): Likewise.
22280         (EXTRA_DIST): Likewise.
22281         (all_local): Don't depend on stat.c or lstat.c.
22282         (stat.c, lstat.c): Remove rules.
22283         (EXTRA_DIST): Remove xstat.in.
22284
22285         * lib/xstat.in: Remove file.  Contents moved into stat.c.
22286         * lib/stat.c: New file.  Contents mostly from xstat.in.
22287         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
22288         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
22289
22290         * lib/safe-read.c: Rework so that it may serve to define safe_write,
22291         too.
22292         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
22293
22294 2002-12-03  Jim Meyering  <jim@meyering.net>
22295
22296         * lib/safe-read.c, safe-write.c: Change variable names and comments,
22297         but not semantics, to minimize the differences between these two files.
22298         (safe_read): Change comment to mention SAFE_READ_ERROR.
22299
22300         * lib/safe-read.c (IS_EINTR): Define.
22301         (safe_read): Use IS_EINTR in place of in-function cpp directives.
22302
22303 2002-12-02  Jim Meyering  <jim@meyering.net>
22304
22305         * lib/safe-read.c (EINTR): Define.
22306         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
22307         (INT_MAX): Provide fallback.
22308         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
22309
22310         * lib/safe-read.h (SAFE_READ_ERROR): Define.
22311
22312 2002-12-02  Bruno Haible  <bruno@clisp.org>
22313
22314         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
22315         Define, taken from safe-read.c.
22316         (INT_MAX): Provide fallback.
22317         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
22318         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
22319
22320         * lib/safe-read.c (EINTR): Remove definition.
22321         (safe_read): Don't use EINTR if it is absent.
22322
22323 2002-12-01  Jim Meyering  <jim@meyering.net>
22324
22325         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
22326         zero.
22327         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
22328
22329 2002-11-27  Paul Eggert  <eggert@twinsun.com>
22330
22331         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
22332         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
22333         with `if (! (value < limit)) abort ();', for readability.
22334
22335 2002-11-26  Karl Berry  <karl@gnu.org>
22336
22337         * lib/strdup.c: copy from libc again, with jim's ok.
22338         * lib/.cppi-disable: re-add strdup.c
22339
22340 2002-11-25  Karl Berry  <karl@gnu.org>
22341
22342         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
22343         instead of "strtol.c".
22344
22345 2002-11-25  Karl Berry  <karl@gnu.org>
22346
22347         * config/install-sh: update from automake for variable quoting, $0 in
22348         error msgs, etc.
22349
22350         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
22351         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
22352         entry.
22353
22354 2002-11-25  Jim Meyering  <jim@meyering.net>
22355
22356         * lib/mktime.c: Sync from libc, now that it has the latest fix.
22357
22358 2002-11-24  Karl Berry  <karl@gnu.org>
22359
22360         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
22361         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
22362
22363 2002-11-24  Jim Meyering  <jim@meyering.net>
22364
22365         Update from coreutils:
22366
22367         * lib/mktime.c: Merge in changes from libc.
22368
22369         Avoid a link-time failure on some Linux systems.
22370         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
22371         (otherwise).
22372         (__mon_yday): Declare with the STATIC attribute.
22373         (__mktime_internal): Likewise.
22374         Based on a report from Greg Schafer.
22375
22376 2002-11-23  Jim Meyering  <jim@meyering.net>
22377
22378         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
22379         Use `unsigned', not `int', as type of index.
22380
22381         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
22382
22383         * lib/fsusage.c: Remove unneeded parentheses around operands of
22384         `defined'.
22385
22386 2002-11-22  Paul Eggert  <eggert@twinsun.com>
22387
22388         * lib/quotearg.h: Allow multiple inclusion by surrounding with
22389         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
22390         so that we can be included first.
22391         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
22392         * lib/quotearg.c: Include quotearg.h immediately after config.h.
22393         No need to include stddef.h or sys/types.h any more.
22394         Surround local include files with "", not "<>".
22395         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
22396         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
22397         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
22398         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
22399         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
22400         (ISPRINT): Remove; no longer needed now that we assume C89.
22401
22402         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
22403         Preserve errno.
22404
22405         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
22406         quotearg_char): Use SIZE_MAX rather than
22407         (size_t) -1 when we are talking about "infinity".
22408
22409         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
22410
22411 2002-11-22  Paul Eggert  <eggert@twinsun.com>
22412
22413         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
22414         hint that one should use `if (! x) abort ();' rather than `assert
22415         (x);', and anyway it's one less thing to worry about configuring.
22416         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
22417         hash_rehash, hash_insert): Use abort rather than assert.
22418
22419 2002-11-22  Bruno Haible  <bruno@clisp.org>
22420
22421         * lib/safe-read.h: Assume C89. Add comments.
22422         (safe_read): Change return type to size_t.
22423         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
22424         byte counts > SSIZE_MAX correctly.
22425         * lib/safe-write.h: New file.
22426         * lib/safe-write.c: New file.
22427         * lib/full-read.h: New file.
22428         * lib/full-read.c: New file.
22429         * lib/full-write.h: Assume C89. Add comments.
22430         * lib/full-write.c: Include safe-write.h.
22431         (full_write): Rewritten to use safe_write.
22432         Suggested by Jim Meyering and Paul Eggert.
22433
22434 2002-11-21  Jim Meyering  <jim@meyering.net>
22435
22436         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
22437
22438         Merge in changes from the coreutils.
22439
22440         2002-09-25  Paul Eggert  <eggert@twinsun.com>
22441         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
22442         <stdint.h>.
22443         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
22444         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
22445         int.  Work more efficiently if X is the same width as uintmax_t.
22446         Do not compare X to -1, to avoid bogus compiler warning.
22447         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
22448         Don't assume that f_frsize and f_bsize are the same type.
22449
22450         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
22451         warning on FreeBSD.
22452
22453         * lib/makepath.c (make_path): Restore umask *before* creating the final
22454         component.
22455         (make_path): Minor reformatting.
22456
22457         * lib/xmalloc.c: Adjust to work with new autoconf macros,
22458         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
22459         HAVE_MALLOC/HAVE_REALLOC.
22460
22461         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
22462         dummy ones.  At least on GNU/Linux systems, `auto' means something
22463         else.
22464         From Michael Stone.
22465
22466 2002-11-21  Bruno Haible  <bruno@clisp.org>
22467
22468         Remove case insensitive option matching.
22469         * lib/argmatch.h (argcasematch): Remove declaration.
22470         (ARGCASEMATCH): Remove macro.
22471         (__xargmatch_internal): Remove case_sensitive argument.
22472         (XARGMATCH): Update.
22473         (XARGCASEMATCH): Remove macro.
22474         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
22475         case_sensitive argument.
22476         (argcasematch): Remove function.
22477         (__xargmatch_internal): Remove case_sensitive argument.
22478         (main): Use XARGMATCH instead of XARGCASEMATCH.
22479
22480         * lib/xmalloc.c: Change compile-time error message. Add comment about
22481         required autoconf version.
22482
22483 2002-11-20  Paul Eggert  <eggert@twinsun.com>
22484
22485         Merge argmatch cleanups from Bison.  Assume C89.
22486
22487         * lib/argmatch.c: Include config.h here, not in argmatch.h.
22488         Include stdlib.h, for EXIT_FAILURE.
22489         Always include <string.h>, since we assume C89.
22490         (EXIT_FAILURE): Remove pre-C89 bug workaround.
22491         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
22492         Include <stddef.h> instead, since it's all we need for size_t.
22493         (PARAMS): Remove.  All uses removed.
22494         (ARRAY_CARDINALITY): Do not bother to #undef.
22495         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
22496         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
22497         Remove unnecessary parentheses.
22498         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
22499         Insert necessary parentheses.
22500         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
22501         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
22502
22503 2002-11-19  Bruno Haible  <bruno@clisp.org>
22504
22505         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
22506         * lib/mbswidth.h: Include <stddef.h>, for size_t.
22507
22508         * lib/mbswidth.h (PARAMS): Remove macro.
22509         (mbswidth, mbsnwidth): Use ANSI C function declarations.
22510         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
22511
22512         * lib/gcd.h (PARAMS): Remove macro.
22513         (gcd): Use ANSI C function declarations.
22514         * lib/gcd.c (gcd): Likewise.
22515
22516 2002-11-15  Bruno Haible  <bruno@clisp.org>
22517
22518         * lib/strcspn.c: Include <stddef.h>.
22519         (strcspn): Use ANSI C function declaration. Change return type to
22520         size_t. Use NULL.
22521         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
22522         (strpbrk): Use NULL.
22523         * lib/strpbrk.h (PARAMS): Remove macro.
22524         (strpbrk): Use ANSI C function declaration.
22525         * lib/strstr.c: Don't include <sys/types.h>.
22526         * lib/strstr.h (PARAMS): Remove macro.
22527         (strstr): Use ANSI C function declarations.
22528
22529 2002-11-14  Karl Berry  <karl@gnu.org>
22530
22531         * config/mkinstalldirs: `do' on separate line, instead of
22532         `for var; do'.
22533
22534 2002-11-06  Bruno Haible  <bruno@clisp.org>
22535
22536         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
22537         * lib/gcd.c (gcd): Likewise.
22538
22539 2002-11-05  Bruno Haible  <bruno@clisp.org>
22540
22541         * lib/gcd.h: New file, from gettext-0.11.5.
22542         * lib/gcd.c: New file, from gettext-0.11.5.
22543
22544 2002-11-05  Bruno Haible  <bruno@clisp.org>
22545
22546         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22547         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22548         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22549         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22550
22551         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
22552         <libintl.h>.
22553         * lib/makepath.c: Include gettext.h instead of <locale.h> and
22554         <libintl.h>.
22555
22556         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
22557         * lib/human.c: Include gettext.h instead of <libintl.h>.
22558         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
22559         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
22560         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
22561         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
22562         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
22563         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
22564         (textdomain): Remove definition.
22565         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
22566
22567         * lib/long-options.c: Remove include of <libintl.h> and definition of
22568         _.
22569         * lib/same.c: Remove include of <libintl.h> and definition of _.
22570
22571 2002-11-04  Owen Taylor  <otaylor@redhat.com>
22572
22573         * lib/config.charset: A few additions for Solaris.
22574
22575 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
22576
22577         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
22578         * lib/localcharset.c (locale_charset): Declare as extern "C".
22579
22580 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
22581
22582         * lib/config.charset: msdos in uk_UA uses CP1125.
22583
22584 2002-11-04  Bruno Haible  <bruno@clisp.org>
22585
22586         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
22587         * lib/strcase.h: New file, from GNU gettext-0.11.5.
22588         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
22589         * lib/strstr.h: New file, from GNU gettext-0.11.5.
22590         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
22591
22592 2002-11-04  Bruno Haible  <bruno@clisp.org>
22593
22594         * lib/localcharset.c (locale_charset): Don't return an empty string.
22595
22596 2002-11-04  Bruno Haible  <bruno@clisp.org>
22597
22598         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
22599         aliases.
22600
22601 2002-11-04  Bruno Haible  <bruno@clisp.org>
22602
22603         * lib/config.charset: Update for newest glibc. Add canonical names
22604         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
22605
22606 2002-11-04  Bruno Haible  <bruno@clisp.org>
22607
22608         * lib/config.charset: Add support for NetBSD.
22609
22610 2002-11-04  Bruno Haible  <bruno@clisp.org>
22611
22612         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
22613
22614 2002-11-01  Bruno Haible  <bruno@clisp.org>
22615
22616         * configure.in: Add AC_CONFIG_AUX_DIR call.
22617         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
22618         test/Makefile.
22619         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
22620
22621 2002-09-28  Karl Berry  <karl@gnu.org>
22622
22623         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
22624         installed automake until the next release, since changes have been
22625         made.
22626
22627 2002-09-25  Karl Berry  <karl@gnu.org>
22628
22629         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
22630         * lib/getopt*: copy from libc/posix.
22631         * lib/gettext.h: copy from gettext.
22632         * lib/.cppi-disable: add strdup.c, gettext.h.
22633
22634 2002-09-25  Karl Berry  <karl@gnu.org>
22635
22636         * config/srclist.txt: enable gettext.h check.
22637         * config/config.{guess,sub}: update from prep.
22638         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
22639                 from automake 1.6.3.
22640         See srclist*.
22641
22642 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
22643
22644         * regex.c (PATFETCH): Remove the translating fetch.
22645         (PATFETCH_RAW): Rename to PATFETCH.
22646         (set_image_of_range): New fun.
22647         (SET_RANGE_TABLE_WORK_AREA): Use it.
22648         (regex_compile): Don't translate the pattern chars so eagerly.
22649         Only do it when inserting an `exactn' bytecode or when handling
22650         a char-range.
22651         (mutually_exclusive_p): Avoid empty statement.
22652
22653 2002-07-06  Jim Meyering  <meyering@lucent.com>
22654
22655         * m4/README: Don't mention Makefile.am.in.
22656         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
22657
22658 2002-07-01  Jim Meyering  <meyering@lucent.com>
22659
22660         * lib/c-stack.c: Include sys/time.h.
22661         From Volker Borchert.
22662
22663 2002-06-26  Paul Eggert  <eggert@twinsun.com>
22664
22665         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
22666
22667 2002-06-26  Paul Eggert  <eggert@twinsun.com>
22668
22669         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
22670         New macro.  Use it uniformly instead of
22671         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
22672         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
22673         reported by Vin Shelton.
22674
22675 2002-06-22  Paul Eggert  <eggert@twinsun.com>
22676
22677         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
22678         Do not assume SA_SIGINFO behavior.
22679         Bug reported by Jim Meyering on NetBSD 1.5.2.
22680
22681 2002-06-22  Jim Meyering  <meyering@lucent.com>
22682
22683         * m4/c-stack.m4: New file, from diffutils-2.8.2.
22684         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
22685
22686         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
22687         now that configure.ac uses AC_GNU_SOURCE.
22688         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
22689         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
22690
22691         Update to latest tools.  Suggestions from Paul Eggert.
22692         * m4/stdbool.m4: New file, from diffutils-2.8.2.
22693         * m4/gnu-source.m4: Update from diffutils-2.8.2.
22694         * m4/fnmatch.m4: Likewise.
22695         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
22696         to AC_HEADER_STDBOOL
22697
22698 2002-06-22  Jim Meyering  <meyering@lucent.com>
22699
22700         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
22701         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
22702
22703 2002-06-22  Jim Meyering  <meyering@lucent.com>
22704
22705         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
22706
22707         * lib/exitfail.c, exitfail.h: Likewise.
22708         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
22709
22710         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
22711         of fnmatch.h.
22712         (EXTRA_DIST): Add fnmatch_loop.c.
22713         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
22714
22715         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
22716         * lib/fnmatch.c: Update from diffutils-2.8.2.
22717         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
22718         * lib/fnmatch.h: Remove file.
22719
22720 2002-06-21  Jim Meyering  <meyering@lucent.com>
22721
22722         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
22723         * m4/mbrtowc.m4: Likewise.
22724
22725         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
22726         * m4/mbswidth.m4: Reflect name change:
22727         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
22728         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
22729
22730         * m4/lib-link.m4: Update from gettext-0.11.2.
22731         * m4/gettext.m4: Likewise.
22732
22733         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
22734         From Alfred M. Szmidt.
22735
22736 2002-06-18  Paul Eggert  <eggert@twinsun.com>
22737
22738         * lib/file-type.h: Report an error if neither S_ISREG nor
22739         S_IFREG is defined, instead of using a test specific to glibc
22740         2.2.  This should be safe, since POSIX requires S_ISREG and
22741         Unix Version 7 had S_IFREG.  We don't need to check for
22742         <sys/types.h> since we don't use any symbols that it defines.
22743
22744 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
22745
22746         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
22747         $@-t, so that each temporary file name is unique and valid in the first
22748         8 characters, for operation under DOS.
22749
22750 2002-06-15  Paul Eggert  <eggert@twinsun.com>
22751
22752         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
22753
22754 2002-06-15  Jim Meyering  <meyering@lucent.com>
22755
22756         Work even with DJGPP 2.03, which lacks support for symlinks.
22757         From Richard Dawe.
22758         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
22759         is defined.
22760         * lib/lchown.c (S_ISLNK): Likewise.
22761
22762 2002-06-15  Jim Meyering  <meyering@lucent.com>
22763
22764         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
22765         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
22766         have been included before this file.
22767
22768 2002-06-14  Jim Meyering  <meyering@lucent.com>
22769
22770         * lib/file-type.h: Use the version from diffutils-2.8.2.
22771         * lib/file-type.c: Likewise.
22772
22773 2002-06-07  Jim Meyering  <meyering@lucent.com>
22774
22775         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
22776         They're needed at least for NetBSD 1.5.2.
22777         ($statxfs_includes): Include those same headers.
22778         ($statxfs_includes): Include sys/vfs.h if available.
22779         ($statxfs_includes): Likewise for sys/statvfs.h.
22780         Check for the following members in both structs statfs and statvfs:
22781         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
22782
22783 2002-06-01  Jim Meyering  <meyering@lucent.com>
22784
22785         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
22786         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
22787
22788 2002-05-28  Jim Meyering  <meyering@lucent.com>
22789
22790         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
22791         Reported by Volker Borchert.
22792
22793 2002-05-27  Jim Meyering  <meyering@lucent.com>
22794
22795         Fix a problem seen only on nonconforming systems whereby ls.c's
22796         use of localtime, and then of gettimeofday would cause trouble:
22797         the localtime call used to initialize rpl_gettimeofday's save
22798         mechanism would clobber ls's current local time information so
22799         that in any long listing the first file would always be listed
22800         with date 1970-01-01.  Analysis by Volker Borchert.
22801
22802         * lib/gettimeofday.c (localtime): Undefine.
22803         (rpl_localtime): New function.
22804
22805 2002-05-27  Jim Meyering  <meyering@lucent.com>
22806
22807         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
22808         localtime.
22809
22810         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
22811         use the replacement function; it wouldn't resolve at link time.
22812         Reported by Volker Borchert.
22813
22814 2002-05-22  Jim Meyering  <meyering@lucent.com>
22815
22816         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
22817         file-type.h.
22818         * lib/file-type.h: New file.
22819         * lib/file-type.c (file_type): New file/function.  Extracted from
22820         diffutils.
22821
22822 2002-04-30  Jim Meyering  <meyering@lucent.com>
22823
22824         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
22825
22826 2002-04-29  Paul Eggert  <eggert@twinsun.com>
22827
22828         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
22829
22830 2002-04-29  Paul Eggert  <eggert@twinsun.com>
22831
22832         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
22833         Do not check for alloca.h (no longer used) or stdbool.h (was never
22834         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
22835
22836 2002-04-29  Paul Eggert  <eggert@twinsun.com>
22837
22838         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
22839
22840 2002-04-29  Jim Meyering  <meyering@lucent.com>
22841
22842         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
22843         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
22844         Use AC_FUNC_STRNLEN here instead.
22845
22846         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
22847         With autoconf-2.53a, it's part of AC_PROG_CC.
22848
22849 2002-04-28  Paul Eggert  <eggert@twinsun.com>
22850
22851         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
22852         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
22853
22854 2002-04-28  Paul Eggert  <eggert@twinsun.com>
22855
22856         * lib/sig2str.h, lib/sig2str.c: New files.
22857         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
22858
22859 2002-04-28  Paul Eggert  <eggert@twinsun.com>
22860
22861         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
22862         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
22863         of 127, since 64 is the largest conceivable number for ancient
22864         nonstandard hosts.
22865         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
22866
22867 2002-04-28  Jim Meyering  <meyering@lucent.com>
22868
22869         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
22870
22871 2002-04-24  Jim Meyering  <meyering@lucent.com>
22872
22873         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
22874         (jm_PREREQ): Use it.
22875
22876         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
22877         mach/mach.h fcntl.h.
22878         Check for this function: setlocale.
22879
22880 2002-04-24  Jim Meyering  <meyering@lucent.com>
22881
22882         * lib/gettext.h: New file, from Gettext.
22883         * lib/Makefile.am (INCLUDES): Remove -I../intl.
22884         (libfetish_a_SOURCES): Add gettext.h.
22885
22886 2002-04-16  Jim Meyering  <meyering@lucent.com>
22887
22888         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
22889         ut_pid, ut_id, ut_exit.
22890
22891 2002-04-16  Jim Meyering  <meyering@lucent.com>
22892
22893         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
22894         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
22895         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
22896
22897 2002-04-12  Jim Meyering  <meyering@lucent.com>
22898
22899         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
22900         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
22901         existence of the getmntinfo function.  Needed for Darwin 5.3.
22902
22903         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
22904         This is necessary at least on Darwin 5.3.
22905
22906         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
22907         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
22908         strnlen.o in the library, and that makes some versions of ranlib
22909         object.
22910
22911 2002-04-12  Jim Meyering  <meyering@lucent.com>
22912
22913         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
22914
22915 2002-04-09  Jim Meyering  <meyering@lucent.com>
22916
22917         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
22918         to be more precise.  Rather than saying we're checking whether the
22919         function `works', say what we're testing.
22920         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
22921         Reported by Bruno Haible.
22922
22923 2002-03-10  Jim Meyering  <meyering@lucent.com>
22924
22925         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
22926         Suggestion from Santiago Vila.
22927
22928 2002-03-08  Jim Meyering  <meyering@lucent.com>
22929
22930         * lib/rename.c: Mention that this wrapper is needed also on
22931         mips-dec-ultrix4.4 systems.
22932
22933 2002-03-02  Jim Meyering  <meyering@lucent.com>
22934
22935         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
22936         not HAVE_CLOCK_SETTIME.
22937
22938 2002-02-27  Paul Eggert  <eggert@twinsun.com>
22939
22940         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
22941         Check for clock_settime.
22942
22943 2002-02-27  Paul Eggert  <eggert@twinsun.com>
22944
22945         * lib/nanosleep.h: Rename to....
22946         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
22947
22948         * lib/gettime.c: New file.
22949         * lib/settime.c: New file.
22950         * lib/stime.c: Remove.
22951
22952         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
22953         timespec.h.  Remove nanosleep.h.
22954
22955 2002-02-25  Paul Eggert  <eggert@twinsun.com>
22956
22957         * m4/acl.m4: New file.
22958         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
22959         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
22960
22961 2002-02-25  Paul Eggert  <eggert@twinsun.com>
22962
22963         * lib/acl.c, lib/acl.h: New files.
22964         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
22965
22966 2002-02-24  Jim Meyering  <meyering@lucent.com>
22967
22968         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
22969         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
22970         cause trouble.  Reported by Nelson Beebe.
22971
22972 2002-02-23  Paul Eggert  <eggert@twinsun.com>
22973
22974         * lib/path-concat.c (xpath_concat): Reorder code to pacify
22975         compilers that don't know that xalloc_die never returns.
22976
22977 2002-02-20  Jim Meyering  <meyering@lucent.com>
22978
22979         * lib/getdate.c: Regenerate using bison-1.33.
22980
22981 2002-02-17  Jim Meyering  <meyering@lucent.com>
22982
22983         * config/config.guess (main): Don't use `head -1'; it's no longer
22984         portable. Use `sed 1q' instead.
22985
22986 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
22987
22988         * m4/codeset.m4: Upgrade to gettext-0.11.
22989         * m4/gettext.m4: Upgrade to gettext-0.11.
22990         * m4/glibc21.m4: Upgrade to gettext-0.11.
22991         * m4/iconv.m4: Upgrade to gettext-0.11.
22992         * m4/isc-posix.m4: Upgrade to gettext-0.11.
22993         * m4/lcmessage.m4: Upgrade to gettext-0.11.
22994         * m4/lib-ld.m4: New file, from gettext-0.11.
22995         * m4/lib-link.m4: New file, from gettext-0.11.
22996         * m4/lib-prefix.m4: New file, from gettext-0.11.
22997         * m4/progtest.m4: Upgrade to gettext-0.11.
22998
22999 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23000
23001         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
23002         (jm_PREREQ): Use it.
23003
23004 2002-02-15  Paul Eggert  <eggert@twinsun.com>
23005
23006         * lib/posixver.c, lib/posixver.h: New files.
23007         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23008
23009 2002-02-02  Paul Eggert  <eggert@twinsun.com>
23010             Bruno Haible  <bruno@clisp.org>
23011
23012         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
23013         (fwrite_success_callback): New declaration.
23014         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
23015         print_unicode_char. Call failure callback instead of error.
23016         (fwrite_success_callback): New function.
23017         (exit_failure_callback): New function.
23018         (fallback_failure_callback): New function.
23019         (print_unicode_char): Call unicode_to_mb.
23020
23021 2002-01-26  Jim Meyering  <meyering@lucent.com>
23022
23023         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
23024         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
23025
23026 2002-01-26  Jim Meyering  <meyering@lucent.com>
23027
23028         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
23029
23030 2002-01-22  Paul Eggert  <eggert@twinsun.com>
23031
23032         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
23033
23034 2002-01-22  Jim Meyering  <meyering@lucent.com>
23035
23036         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
23037         Otherwise, some versions of automake would omit the rule that makes
23038         Makefile from Makefile.in.
23039
23040 2002-01-21  Paul Eggert  <eggert@twinsun.com>
23041
23042         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
23043         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
23044         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
23045         (memcoll): Set errno to zero if there is no error.
23046
23047         * lib/quotearg.c (quotearg_buffer_restyled):
23048         Fix bug with quoting buffers containing NUL when backslashing escapes.
23049         This bug was exposed by the other changes in this patch.
23050         (quotearg_n_options): New arg ARGSIZE.
23051         All callers changed.
23052         (quoting_options_from_style): New function.
23053         (quotearg_n_style): Use it.
23054         (quotearg_n_style_mem): New function.
23055
23056         * lib/quotearg.h (quotearg_n_style_mem): New function.
23057
23058 2002-01-19  Jim Meyering  <meyering@lucent.com>
23059
23060         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
23061         Remove useless quotes: DF_PROG="df".
23062         * m4/strnlen.m4: New file.
23063
23064 2002-01-16  Paul Eggert  <eggert@twinsun.com>
23065
23066         * lib/backupfile.c (ISDIGIT): Comment fix.
23067         * lib/getdate.y (ISDIGIT): Likewise.
23068         * lib/posixtm.c (ISDIGIT, year): Likewise.
23069         * lib/strverscmp.c (ISDIGIT): Likewise.
23070         * lib/userspec.c (ISDIGIT): Likewise.
23071
23072 2002-01-16  Jim Meyering  <meyering@lucent.com>
23073
23074         * lib/getdate.y: Add three semicolons, each just before a closing
23075         brace. Bison (as of version 1.31) no longer papers over that mistake.
23076
23077 2002-01-05  Jim Meyering  <meyering@lucent.com>
23078
23079         * lib/version-etc.c (version_etc_copyright): Update copyright year.
23080
23081 2001-12-19  Paul Eggert  <eggert@twinsun.com>
23082
23083         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
23084         not silently exit merely because the output buffer happens to
23085         have nothing pending.
23086
23087 2001-12-18  Paul Eggert  <eggert@twinsun.com>
23088
23089         See the big note in ../ChangeLog.
23090         * lib/human.c (suffixes): Prefer K to k for 1024.
23091         (generate_suffix_backwards): New function.
23092         (human_readable_inexact): Use it.
23093         * lib/xstrtol.c (__xstrtol): If there is no number but there
23094         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
23095         Accept 'K' as well as 'k'.
23096
23097 2001-12-15  Jim Meyering  <meyering@lucent.com>
23098
23099         * lib/regex.h (__restrict_arr): Update from libc.
23100
23101         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
23102         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
23103         (STREQ): Define.
23104
23105 2001-12-14  Jim Meyering  <meyering@lucent.com>
23106
23107         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
23108         Suggestion from Bruno Haible.
23109
23110 2001-12-10  Jim Meyering  <meyering@lucent.com>
23111
23112         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
23113         xrealloc, Instead, include "xalloc.h".
23114         (initbuffer): Don't cast xmalloc return value to char*.
23115         (readline): Reword comment.
23116         Don't cast xrealloc return value to char*
23117         Return NULL, not 0.
23118
23119 2001-12-09  Jim Meyering  <meyering@lucent.com>
23120
23121         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
23122         about `signed and unsigned type in conditional expression'.
23123         * lib/posixtm.c (posix_time_parse): Likewise.
23124
23125         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
23126
23127         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
23128         to avoid a pedantic warning.
23129
23130         * lib/getstr.c: Don't include assert.h.
23131         (getstr): Remove warning-evoking assertions.
23132         Return -1 if offset parameter is out of bounds.
23133         Change the type of a local from int to size_t.
23134
23135         * lib/strftime.c (my_strftime_localtime_r): Include this function
23136         definition in the `#if ! HAVE_TM_GMTOFF' block.
23137
23138         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
23139         Include xalloc.h instead.
23140
23141 2001-12-02  Jim Meyering  <meyering@lucent.com>
23142
23143         * lib/tempname.c: Don't declare getenv, thus reverting the change of
23144         2001-11-18.  It's no longer necessary, now that stdlib.h is always
23145         included.
23146
23147         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
23148         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
23149
23150 2001-11-30  Akim Demaille  <akim@epita.fr>
23151
23152         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
23153         before being defined.
23154
23155 2001-11-27  Paul Eggert  <eggert@twinsun.com>
23156
23157         * lib/quotearg.h (quotearg_n, quotearg_n_style):
23158         First arg is int, not unsigned.
23159         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
23160         (SIZE_MAX, UINT_MAX): New macros.
23161         (quotearg_n_options): Abort if N is negative.
23162         Avoid overflow check on hosts where size_t is 64 bits and int
23163         is 32 bits, as overflow is impossible there.
23164         Fix off-by-one typo that caused unnecessary reallocation.
23165
23166 2001-11-27  Jim Meyering  <meyering@lucent.com>
23167
23168         * lib/tempname.c: Merge with version from libc.
23169         * lib/regex.c: Likewise.
23170
23171         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
23172         systems for which STDC_HEADERS is 0, it was not included, resulting in
23173         a warning about an integer-to-pointer conversion problem with getenv.
23174         Reported by Volker Borchert.
23175
23176 2001-11-26  Jim Meyering  <meyering@lucent.com>
23177
23178         * lib/gtod.h: Remove file.
23179         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
23180         * lib/gettimeofday.c: Don't include gtod.h.
23181         (GTOD_init): Remove function.
23182         (rpl_gettimeofday): Do its job here instead, rather than aborting.
23183         Suggestion from Volker Borchert.
23184
23185 2001-11-23  Jim Meyering  <meyering@lucent.com>
23186
23187         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
23188         it.
23189         * lib/hash.c (struct hash_table): Define it here instead.
23190
23191 2001-11-22  Jim Meyering  <meyering@lucent.com>
23192
23193         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
23194
23195 2001-11-20  Jim Meyering  <meyering@lucent.com>
23196
23197         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
23198         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
23199
23200 2001-11-19  Jim Meyering  <meyering@lucent.com>
23201
23202         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
23203         directory.  Use "conftestXXXXXX" as the template.
23204         Suggestion from Paul Eggert.
23205
23206         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
23207         immediately, so the test doesn't mistakenly hit the max-open-files
23208         limit.
23209
23210 2001-11-18  Paul Eggert  <eggert@twinsun.com>
23211
23212         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
23213         (TEMPORARIES): New macro.
23214         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
23215         removes an artificial limitation (e.g. HP-UX 10.20, where
23216         TMP_MAX is 17576).
23217
23218 2001-11-18  Jim Meyering  <meyering@lucent.com>
23219
23220         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
23221
23222 2001-11-18  Jim Meyering  <meyering@lucent.com>
23223
23224         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
23225         on SunOS 4.
23226
23227         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
23228         files will be created before anything else.
23229
23230 2001-11-17  Paul Eggert  <eggert@twinsun.com>
23231
23232         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
23233         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
23234
23235 2001-11-17  Jim Meyering  <meyering@lucent.com>
23236
23237         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
23238         Prompted by a report from Bob Proulx.
23239
23240         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
23241         Instead, require UTILS_FUNC_MKSTEMP.
23242
23243 2001-11-17  Jim Meyering  <meyering@lucent.com>
23244
23245         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
23246         Now, that's done as part of AC_FUNC_STRTOD.
23247
23248 2001-11-17  Jim Meyering  <meyering@lucent.com>
23249
23250         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
23251         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
23252         rather than group writable.  Patch by Juan F. Codagnone.
23253
23254         * lib/readtokens.c: Remove explicit declarations of xmalloc and
23255         xrealloc, Instead, include "xalloc.h".
23256
23257         * lib/mountlist.c: Include unlocked-io.h after all system headers.
23258         Remove explicit declarations of xmalloc, xrealloc,
23259         and xstrdup.  Instead, include "xalloc.h".
23260
23261         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
23262         unlocked-io.h.
23263         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
23264         Likewise.
23265         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
23266
23267         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
23268         Reported by Padraig Brady.
23269
23270         * lib/mkstemp.c: #undef mkstemp.
23271         Include config.h.
23272         (rpl_mkstemp): Rename from mkstemp.
23273         Protoize.
23274
23275 2001-11-16  Jim Meyering  <meyering@lucent.com>
23276
23277         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
23278         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
23279         determine the amount of total physical memory, use pstat_getstatic.
23280         HPUX-11 doesn't define _SC_PHYS_PAGES.
23281         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
23282         If sysconf couldn't be used to determine the amount of available
23283         physical memory, use both pstat_getstatic and pstat_getdynamic.
23284         Based on a patch from Bob Proulx.
23285
23286 2001-11-10  Jim Meyering  <meyering@lucent.com>
23287
23288         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
23289         (jm_PREREQ): Use it.
23290
23291 2001-11-09  Jim Meyering  <meyering@lucent.com>
23292
23293         * m4/jm-macros.m4: Require autoconf-2.52f.
23294         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
23295         Use these AC_-prefixed names, not the AM_-prefixed ones.
23296
23297         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
23298
23299 2001-11-05  Jim Meyering  <meyering@lucent.com>
23300
23301         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
23302
23303 2001-11-04  Jim Meyering  <meyering@lucent.com>
23304
23305         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
23306         $DEFS.
23307
23308 2001-11-03  Jim Meyering  <meyering@lucent.com>
23309
23310         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
23311         of AC_DEFUN.
23312
23313         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
23314         know the name of the variable in the macro definition.
23315
23316 2001-11-03  Jim Meyering  <meyering@lucent.com>
23317
23318         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
23319         in argmatch_to_argument call.
23320
23321         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
23322         argument.
23323
23324         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
23325         e.g., a fault due to an attempt to free a NULL pointer.
23326
23327 2001-11-01  Jim Meyering  <meyering@lucent.com>
23328
23329         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
23330         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
23331
23332 2001-11-01  Jim Meyering  <meyering@lucent.com>
23333
23334         * lib/dirfd.c, lib/dirfd.h: New files.
23335         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
23336
23337         * lib/hash.c (hash_print) [TESTING]: Clean up.
23338
23339 2001-10-22  Paul Eggert  <eggert@twinsun.com>
23340
23341         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
23342         to avoid a warning if -Wall.
23343
23344 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
23345
23346         * README: New file
23347         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
23348         (per RMS's instructions, this is now the canonical source)
23349         * lgpl/, gpl/: New directories.
23350
23351 2001-10-21  Paul Eggert  <eggert@twinsun.com>
23352
23353         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
23354
23355 2001-10-21  Jim Meyering  <meyering@lucent.com>
23356
23357         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
23358         this code would end up calling gettext even in packages built
23359         with --disable-nls.
23360         * lib/getopt.c (_): Likewise.
23361         * lib/regex.c (_): Likewise.
23362
23363 2001-10-20  Paul Eggert  <eggert@twinsun.com>
23364
23365         * m4/error.m4 (jm_PREREQ_ERROR):
23366         Do not invoke AC_CHECK_FUNCS with strerror_r, as
23367         AC_FUNC_STRERROR_R does that.
23368         Check for strerror declaration.
23369
23370         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
23371         are supposed to have them these days.
23372         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
23373         Merge changes from latest Autoconf CVS.
23374         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
23375         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
23376         POSIX decided to standardize on the int flavor of strerror_r.
23377
23378 2001-10-20  Paul Eggert  <eggert@twinsun.com>
23379
23380         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
23381         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
23382         Use strerror_r that is only a macro, even if it is not a function.
23383         (strerror): Check for HAVE_DECL_STRERROR before declaring.
23384         (private_strerror): Use prototypes, not old-style function definition.
23385         (print_errno_message): New function.
23386         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
23387         char*-flavored one.
23388         (error_tail, error, error_at_line): Use it.
23389
23390 2001-10-11  Jim Meyering  <meyering@lucent.com>
23391
23392         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
23393         and quote_n (1, ... to avoid clobbering a buffer.
23394
23395 2001-10-05  Jim Meyering  <meyering@lucent.com>
23396
23397         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
23398         hash-pjw.h.
23399         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
23400         * lib/hash-pjw.h: New file.
23401
23402 2001-09-30  Jim Meyering  <meyering@lucent.com>
23403
23404         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
23405         `struct fsstat' has the `f_fstypename' member.
23406         Use that to define FS_TYPE, which is now used to make
23407         the getfsstat link test tighter.
23408
23409 2001-09-30  Jim Meyering  <meyering@lucent.com>
23410
23411         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
23412         Include <sys/ucred.h>, for Apple Darwin.
23413         Include sys/mount.h and sys/fs_types.h only if available.
23414         (FS_TYPE): Define.
23415         (read_filesystem_list): Use FS_TYPE.
23416
23417 2001-09-29  Paul Eggert  <eggert@twinsun.com>
23418
23419         * lib/exclude.c (excluded_filename): 0 -> false, since it's
23420         a boolean context.
23421
23422 2001-09-29  Jim Meyering  <meyering@lucent.com>
23423
23424         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
23425         [one-argument getmntent function]): Include stdio.h before mntent.h.
23426         SunOS 4.1.x needs it for the declaration of `FILE'.
23427         Patch by Volker Borchert.
23428
23429         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
23430         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
23431         sys/fs_types.h, and make the link-test for getfsstat guard #include
23432         directives with appropriate #if HAVE_*_H tests so that we can
23433         detect getfsstat on Apple Darwin1.3.7 systems.
23434         Reported by Nelson Beebe.
23435         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
23436
23437 2001-09-28  Paul Eggert  <eggert@twinsun.com>
23438
23439         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
23440         #defines strtoimax.  Also treat the other strto* functions
23441         like strtoimax.
23442
23443         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
23444         Check for strtoul and strtoumax,
23445         as those declarations are made even in the signed case.
23446         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
23447         Likewise, for strtol and strtoimax.
23448
23449 2001-09-28  Paul Eggert  <eggert@twinsun.com>
23450
23451         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
23452         #defines strtoimax.  Also treat the other strto* functions
23453         like strtoimax.
23454
23455         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
23456         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
23457         (strtoimax, strtoumax): Do not declare if already defined as a macro.
23458
23459 2001-09-26  Jim Meyering  <meyering@lucent.com>
23460
23461         Most macros in unlocked-io.h had the wrong number of arguments.
23462         * lib/gen-uio: New script.
23463         (USE_UNLOCKED_IO): Define to 1 if not already defined.
23464         * lib/unlocked-io.hin: Remove file.
23465         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
23466         rather than trying to embed it here.
23467         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
23468         Reported by Padraig Brady.
23469
23470 2001-09-25  Volker Borchert  <bt@teknon.de>
23471
23472         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
23473         `result'.
23474
23475 2001-09-24  Jim Meyering  <meyering@lucent.com>
23476
23477         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
23478
23479 2001-09-23  Jim Meyering  <meyering@lucent.com>
23480
23481         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
23482         instead of the mere test for existence of mntent.h.  The latter
23483         would get a false-positive on AIX 3.4 systems.
23484         In the outer getmntent if-block, don't die if neither of the getmntent
23485         tests succeeds.  Instead, just fall through and continue with the
23486         remaining tests.
23487
23488 2001-09-23  Jim Meyering  <meyering@lucent.com>
23489
23490         * lib/mountlist.c: Remove useless parentheses in #if directives.
23491         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
23492         the deprecated MOUNTED symbol is no longer defined in mntent.h.
23493
23494 2001-09-22  Jim Meyering  <meyering@lucent.com>
23495
23496         * m4/gettext.m4: New file.  From gettext.
23497         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
23498         * m4/progtest.m4: Likewise
23499         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
23500         * m4/glibc21.m4: Likewise.
23501
23502         * m4/libintl.m4: Remove.  No longer used.
23503
23504 2001-09-22  Jim Meyering  <meyering@lucent.com>
23505
23506         * lib/localcharset.c: Update from latest gettext.
23507         * lib/config.charset: Likewise.
23508
23509 2001-09-20  Jim Meyering  <meyering@lucent.com>
23510
23511         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
23512         strtoimax.
23513         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
23514         strtoumax.
23515
23516 2001-09-20  Jim Meyering  <meyering@lucent.com>
23517
23518         * lib/xstrtol.c (strtoimax): Guard declaration with
23519         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
23520         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
23521         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
23522         (strtoumax): Likewise, for completeness (it wasn't necessary).
23523
23524 2001-09-17  Paul Eggert  <eggert@twinsun.com>
23525
23526         * lib/strtoimax.c (HAVE_LONG_LONG):
23527         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
23528         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
23529         to work around bug in IBM C compiler.
23530
23531 2001-09-17  Jim Meyering  <meyering@lucent.com>
23532
23533         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
23534         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
23535         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
23536         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
23537         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
23538         whenever the right hand side need not be expanded by the shell.
23539
23540 2001-09-16  Paul Eggert  <eggert@twinsun.com>
23541
23542         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
23543         library.  It's not correct, as some older glibcs are buggy.
23544         fnmatch wasn't fixed until glibc 2.2.
23545
23546         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
23547         special shell magic here.
23548
23549 2001-09-16  Jim Meyering  <meyering@lucent.com>
23550
23551         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
23552         * m4/jm-macros.m4: Require it.
23553
23554 2001-09-16  Jim Meyering  <meyering@lucent.com>
23555
23556         * lib/mkdir.c: New file.
23557
23558 2001-09-15  Jim Meyering  <meyering@lucent.com>
23559
23560         * m4/jm-macros.m4: Check for help2man.
23561
23562 2001-09-11  Jim Meyering  <meyering@lucent.com>
23563
23564         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
23565         The body, by Paul Eggert, was moved here from configure.in.
23566         * m4/jm-macros.m4: Require UTILS_HOST_OS.
23567
23568 2001-09-04  Paul Eggert  <eggert@twinsun.com>
23569
23570         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
23571         (jm_PREREQ): Use it.
23572
23573 2001-09-04  Paul Eggert  <eggert@twinsun.com>
23574
23575         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
23576         Use ssize_t, not int, to store result of readlink.
23577         Check for ssize_t overflow as well as size_t overflow,
23578         as POSIX says the result of readlink is implementation-defined
23579         when ssize_t overflows.
23580         Remove unnecessary cast to char*.
23581         Use free+malloc instead of realloc, as the storage doesn't need
23582         to be preserved and it's clearer and can be more efficient that way.
23583         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
23584         * lib/xreadlink.h (xreadlink): Update prototype.
23585
23586 2001-09-04  Paul Eggert  <eggert@twinsun.com>
23587
23588         * lib/xgetcwd.c: Revert some of the previous change; intead,
23589         fix the HAVE_GETCWD_NULL code to behave more like the
23590         !HAVE_GETCWD_NULL code used to.
23591
23592         Include "xalloc.h".
23593         (xgetcwd): Do not return NULL when memory is exhausted; instead,
23594         invoke xalloc_die.
23595
23596 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23597
23598         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
23599         sys/param.h, as pathmax.h includes them.
23600
23601 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23602
23603         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
23604         (jm_PREREQ_XGETCWD): New macro.
23605
23606         * m4/getcwd.m4: New file.
23607
23608 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23609
23610         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
23611         like the HAVE_GETCWD_NULL code.
23612         Include pathmax.h if not HAVE_GETCWD.
23613         Do not include xalloc.h.
23614         (INITIAL_BUFFER_SIZE): New symbol.
23615         Do not use xmalloc / xrealloc, since the caller is responsible for
23616         handling errors.  Preserve errno around `free' during failure.
23617         Do not overrun buffer when using getwd.
23618
23619 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23620
23621         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
23622         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
23623         getcwd (NULL, 0).
23624
23625 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23626
23627         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
23628         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
23629         spotted by Jim Meyering.
23630
23631 2001-09-03  Jim Meyering  <meyering@lucent.com>
23632
23633         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
23634         failure.
23635
23636 2001-09-02  Jim Meyering  <meyering@lucent.com>
23637
23638         * lib/error.c: Update from GNU libc.
23639
23640 2001-09-01  Jim Meyering  <meyering@lucent.com>
23641
23642         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
23643         Used by df.
23644
23645 2001-09-01  Jim Meyering  <meyering@lucent.com>
23646
23647         * lib/xreadlink.c: New file.
23648         * lib/xreadlink.h: New file.
23649         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
23650         xreadlink.h.
23651
23652         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
23653         doesn't conflict with sparc Solaris 7's definition in
23654         /usr/include/sys/int_types.h.
23655
23656         * lib/exclude.c: Use `""', not `<>' to #include non-system header
23657         files.
23658         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
23659         and strncasecmp as r-values.  Unixware didn't have declarations.
23660
23661 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23662
23663         * lib/xstrtol.h: Add copyright notice.
23664         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
23665         LONGINT_INVALID_SUFFIX_CHAR.
23666
23667 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23668
23669         * lib/xstrtol.c (strtoimax): New decl.
23670
23671 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23672
23673         * lib/xgetcwd.c: Don't include pathmax.h.
23674         Include stdlib.h and unistd.h if available.
23675         Include xalloc.h.
23676         (xmalloc, xstrdup, free): Remove decls.
23677         (xgetcwd): Don't assume sizes fit in unsigned.
23678         Check for overflow when computing sizes.
23679         Simplify reallocation code.
23680
23681 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23682
23683         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
23684         a directory's st_size can have an arbitrary value, so the old
23685         usage could waste an arbitrary amount of memory.  All uses
23686         changed.
23687         * lib/savedir.h: Update prototype.
23688
23689 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23690
23691         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
23692
23693         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
23694         old strtoimax.c.
23695
23696         Also, make the following further changes to make this file's
23697         configuration more similar to that of strtol.c:
23698         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
23699         (strtoumax, uintmax_t, strtoull, strtol): Remove.
23700         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
23701         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
23702         changed to signed values.
23703
23704         And make the following changes as well:
23705         Fix copyright notice, as 1999 was missing.
23706         (verify): New macro.
23707         (strtoimax): Check sizes at compile-time, not run-time.
23708         Prefer strtol to strtoll if both work.
23709         (main): Remove; it was not that useful and was a pain to maintain.
23710
23711         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
23712
23713 2001-08-31  Jim Meyering  <meyering@lucent.com>
23714
23715         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
23716         Use an initial, malloc'd, buffer of length 128 rather than
23717         a statically allocated one of length 1024.
23718
23719 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23720
23721         Simplify code, partly by assuming autoconf 2.52 semantics.
23722
23723         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
23724
23725         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
23726         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
23727         All uses removed.
23728         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
23729         Move AC_REQUIRE to next-to-top level, to avoid confusion.
23730         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
23731         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
23732         jm_AC_HEADER_INTTYPES_H.
23733         * m4/jm-macros.m4 (jm_MACROS): Likewise.
23734
23735         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
23736
23737         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
23738         Quote first arg of AC_DEFUN.
23739         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
23740         since they are needed to parse the include file even if we need
23741         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
23742         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
23743         but with opposite signedness.
23744
23745 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23746
23747         Merge 'exclude' changes from tar 1.13.22.
23748         This fixes one or two unlikely storage allocation overflow bugs,
23749         but doesn't change user-visible behavior otherwise.
23750
23751 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23752
23753         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
23754         (jm_PREREQ_EXCLUDE): New macro.
23755
23756 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23757
23758         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
23759         tm to be declared.
23760
23761 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23762
23763         * lib/hash.c: Remove '2001' from copyright notice.
23764
23765 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23766
23767         * lib/full-write.h: New file.
23768         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
23769         * lib/full-write.c: Correct credits, as cccp.c no longer
23770         exists and anyway it was so heavily changed from the old cccp
23771         code as to be unrecognizable.  Include full-write.h.
23772         (full_write) Return size_t, with short writes meaning failure.
23773         All callers changed.  This fixes a bug with large buffers
23774         on 64-bit hosts.
23775         * lib/utime.c: Include full-write.h.
23776
23777 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23778
23779         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
23780         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
23781         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
23782         Include if available.
23783         (<xalloc.h>): Include
23784         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
23785         (verify): New macro.  Use it to verify that EXCLUDE macros do not
23786         collide with FNM macros.
23787         (struct patopts): New struct.
23788         (struct exclude): Use it, as exclude patterns now come with options.
23789         (new_exclude): Support above changes.
23790         (new_exclude, add_exclude_file):
23791         Initial size must now be a power of two to simplify overflow checking.
23792         (free_exclude, fnmatch_no_wildcards): New function.
23793         (excluded_filename): No longer requires options arg, as the options
23794         are determined by add_exclude.  Now returns bool, not int.
23795         (excluded_filename, add_exclude):
23796         Add support for the fancy new exclusion options.
23797         (add_exclude, add_exclude_file): Now takes int options arg.
23798         Check for arithmetic overflow when computing sizes.
23799         (add_exclude_file): xrealloc might modify errno, so don't
23800         realloc until after errno might be used.
23801
23802         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
23803         New macros.
23804         (free_exclude): New decl.
23805         (add_exclude, add_exclude_file): Now takes int options arg.
23806         (excluded_filename): No longer requires options arg, as the options
23807         are determined by add_exclude.  Now returns bool, not int.
23808
23809 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23810
23811         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
23812
23813 2001-08-27  Jim Meyering  <meyering@lucent.com>
23814
23815         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
23816
23817         * lib/version-etc.c (N_): Remove definition.
23818         Revert most of last change.
23819         Instead, simply don't mark the `Copyright...' string for translation.
23820         Based on advice from Paul Eggert.
23821
23822         * lib/strtoxmax.c: Tweak comment.
23823
23824 2001-08-26  Jim Meyering  <meyering@lucent.com>
23825
23826         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
23827
23828         * m4/xstrtoimax.m4: New file.
23829         * m4/xstrtoumax.m4: Add comments explaining why we
23830         AC_REPLACE_FUNCS(strtol).
23831
23832 2001-08-26  Jim Meyering  <meyering@lucent.com>
23833
23834         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
23835         of copyright with `%s' so translators don't get an untranslated
23836         message in 2002.
23837         (COPYRIGHT_YEAR): Define.
23838         (version_etc): Use fprintf rather than fputs.
23839         Suggestion from Ulrich Drepper.
23840
23841         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
23842
23843         * lib/strtoll.c: New file, from GNU libc.
23844         * lib/xstrtoimax.c: New file.
23845
23846         * lib/xstrtol.h: Add xstrtoimax.
23847         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
23848         * lib/strtoimax.c: New file.  Likewise, but first define
23849         STRTOUXMAX_SIGNED.
23850
23851         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
23852         ...
23853         * lib/strtoxmax.c: ... then renamed to this.
23854
23855 2001-08-18  Paul Eggert  <eggert@twinsun.com>
23856
23857         * m4/inttypes.m4: Add AC_PREREQ(2.13).
23858         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
23859         (jm_AC_TYPE_INTMAX_T): New macro.
23860         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
23861
23862         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
23863
23864         * m4/longlong.m4: Renamed from ulonglong.m4.
23865         * m4/inttypes.m4: Renamed from inttypes_h.m4.
23866         * m4/uintmax_t.m4: Removed.
23867
23868 2001-08-13  Paul Eggert  <eggert@twinsun.com>
23869
23870         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
23871         Port to Solaris 8, where 'sed' requires a space after the 'r'
23872         command, and where sh dislikes "$/".  Clean up the spacing a bit.
23873         Redirect output to $tmp just once.
23874
23875 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
23876
23877         * lib/addext.c (<errno.h>): Include.
23878         (errno): Declare if not defined.
23879         (addext): Work correctly when pathconf returns -1 and leaves
23880         errno alone because there is no limit.  Also, work even if
23881         pathconf returns a value greater than SIZE_MAX.
23882
23883 2001-08-12  Jim Meyering  <meyering@lucent.com>
23884
23885         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
23886         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
23887         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
23888         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
23889         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
23890         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
23891         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
23892         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
23893         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
23894         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
23895         utime.m4, utimes.m4, xstrtoumax.m4:
23896         Quote the first argument in each use of AC_DEFUN.
23897
23898 2001-08-12  Jim Meyering  <meyering@lucent.com>
23899
23900         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
23901         Simply `return getcwd (NULL, 0);'.
23902         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
23903         Use 1300 as initial value for length, not PATH_MAX.
23904
23905         * lib/pathmax.h: Clean up cpp syntax.
23906
23907 2001-08-12  Jim Meyering  <meyering@lucent.com>
23908
23909         * lib/gettimeofday.c: New file.
23910         * lib/gtod.h: New file.
23911         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
23912
23913 2001-08-05  Jim Meyering  <meyering@lucent.com>
23914
23915         * m4/jm-macros.m4: Require autoconf-2.52.
23916
23917 2001-08-04  Jim Meyering  <meyering@lucent.com>
23918
23919         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
23920         stmt, to get in sync with glibc.
23921
23922 2001-08-03  Paul Eggert  <eggert@twinsun.com>
23923
23924         The following changes are from gettext 0.10.39 as maintained by
23925         Bruno Haible.
23926
23927         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
23928         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
23929         with inverted sense.  All uses changed.
23930
23931         * lib/mbswidth.c: Don't include <limits.h>.
23932         Include <stdlib.h> and <string.h> unconditionally.
23933         (iswcntrl, mbsinit, ISCNTRL): New macros.
23934         (mbsnwidth): Use K&R style function declarations.
23935         Don't bother checking for MB_LEN_MAX == 1, since the compiler
23936         can optimize it when MB_CUR_MAX == 1.
23937         The width of control characters is zero, not 1.
23938
23939 2001-08-03  Paul Eggert  <eggert@twinsun.com>
23940
23941         The following changes are from gettext 0.10.39 as maintained by
23942         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
23943
23944         * m4/codeset.m4: Upgrade to serial AM1.
23945         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
23946         all uses changed.  Quote first arg of AC_DEFUN.
23947         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
23948
23949         * m4/iconv.m4: Upgrade to serial AM2.
23950         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
23951         Add --with-libconv-prefix.
23952         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
23953         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
23954         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
23955         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
23956         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
23957
23958         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
23959         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
23960         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
23961         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
23962         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
23963         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
23964         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23965         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
23966         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
23967
23968         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
23969         string.h any more.
23970
23971         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
23972         not the default value.
23973
23974         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
23975         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
23976         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
23977         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
23978         Also check for iswcntrl, used for wcwidth fallback.
23979         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
23980         to Autoconf 2.13.
23981
23982 2001-08-03  Jim Meyering  <meyering@lucent.com>
23983
23984         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
23985         as it was in the original.  Reported by Paul Eggert.
23986
23987 2001-07-16  Jim Meyering  <meyering@lucent.com>
23988
23989         * m4/gettimeofday.m4: New file.
23990         Prompted by a report from Bernhard Baehr.
23991
23992 2001-07-15  Jim Meyering  <meyering@lucent.com>
23993
23994         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
23995         stuff. Now it's in ../Makefile.cfg.
23996
23997 2001-07-15  Jim Meyering  <meyering@lucent.com>
23998
23999         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
24000         (BUILT_SOURCES): Add unlocked-io.h.
24001         (io_functions): Define.
24002         (unlocked-io.h): New rule.
24003         (DISTCLEANFILES): Add unlocked-io.h.
24004         (all-local): Depend on unlocked-io.h, to ensure it is created.
24005
24006         * lib/unlocked-io.hin: New file
24007
24008         * lib/regex.c: Update from glibc.
24009
24010 2001-07-05  Jim Meyering  <meyering@lucent.com>
24011
24012         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
24013         recommendation.
24014         (libfetish_a_SOURCES): Put all .h files here instead.
24015         Remove a thus-exposed (better checks in automake) duplicate and
24016         two unnecessary .h files.
24017
24018 2001-07-04  Jim Meyering  <meyering@lucent.com>
24019
24020         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
24021         that generates jm-glibc-io.m4 so that it doesn't trigger any make
24022         distcheck failure.
24023
24024 2001-07-02  Jim Meyering  <meyering@lucent.com>
24025
24026         The following changes were prompted by suggestions from Bruno Haible.
24027
24028         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
24029         is now generated.
24030         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
24031         definition of EXTRA_DIST.
24032         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
24033         ensure that the generated file is created/updated whenever the list
24034         of $(unlocked_functions) is changed.
24035         (jm-glibc-io.m4): New rule.
24036         (unlocked-io.h): New rule -- currently unused.
24037
24038 2001-06-24  Jim Meyering  <meyering@lucent.com>
24039
24040         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
24041         unmatched right bracket, rather than kludging it with an extra,
24042         falsely-matching quote in a comment.  Patch by Akim Demaille.
24043
24044 2001-06-11  Jim Meyering  <meyering@lucent.com>
24045
24046         * lib/regex.c: Update from GNU libc.
24047
24048 2001-05-27  Jim Meyering  <meyering@lucent.com>
24049
24050         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
24051         Check for ut_type in struct utmp.
24052
24053 2001-05-27  Jim Meyering  <meyering@lucent.com>
24054
24055         * lib/readutmp.h (UT_TYPE): Define.
24056
24057 2001-05-24  Jim Meyering  <meyering@lucent.com>
24058
24059         * lib/argmatch.c: Include "quote.h".
24060         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
24061         quote function.  Reported by Göran Uddeborg.
24062
24063 2001-05-22  Jim Meyering  <meyering@lucent.com>
24064
24065         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
24066         now that we use the package-supplied version unconditionally.
24067         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
24068
24069 2001-05-21  Jim Meyering  <meyering@lucent.com>
24070
24071         * m4/regex.m4: Change a couple backticks to single quotes to avoid
24072         shell syntax errors.
24073
24074 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24075
24076         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
24077
24078 2001-05-20  Paul Eggert  <eggert@twinsun.com>
24079
24080         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
24081         Don't bother to check library strftime, since
24082         we'll be using our own my_strftime function anyway.
24083         Define my_strftime instead of strftime.
24084
24085 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
24086
24087         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
24088         which is not yet declared.
24089
24090 2001-05-15  Jim Meyering  <meyering@lucent.com>
24091
24092         * m4/regex.m4: Use proper quoting so brackets appear in the test
24093         program.
24094         Reported by, and with help from, Bruno Haible.
24095
24096 2001-05-13  Jim Meyering  <meyering@lucent.com>
24097
24098         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
24099         undefined.
24100
24101 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24102
24103         dirname code cleanup.  base_name now behaves more compatibly
24104         with POSIX basename when given file names that have trailing
24105         slashes, and similarly for dir_name.  Add new primitives
24106         base_len and dir_len.  Put the directory-name-related decls
24107         into dirname.h.
24108
24109         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
24110         * lib/backupfile.c (base_name): Likewise.
24111         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
24112         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
24113         * lib/makepath.c (strip_trailing_slashes): Likewise.
24114         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
24115         ISSLASH): Likewise.
24116         * lib/rename.c (strip_trailing_slashes): Likewise.
24117         * lib/same.c (base_name): Likewise.
24118         * lib/stripslash.c (ISSLASH): Likewise.
24119
24120         * lib/addext.c: Include <dirname.h> after size_t is defined.
24121         * lib/backupfile.c: Likewise.
24122
24123         * lib/addext.c (addext): Use base_len to trim redundant
24124         trailing slashes instead of doing it ourselves.
24125         But do not trim the last slash if it is not redundant.
24126
24127         * lib/backupfile.c (find_backup_file_name,
24128         max_backup_version): Use base_len instead of rolling it ourselves.
24129         Handle the case of "" and (on DOS) "C:" correctly.
24130
24131         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
24132         needed. Include <string.h>, <dirname.h>.
24133         (base_name): Allow file names ending in slashes, other than names
24134         that are all slashes.  In this case, return the basename followed
24135         by the slashes.  This is more general, and can be used in places
24136         where the original base_name purposely had an assertion failure.
24137         (base_len): New function.
24138
24139         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
24140         Do not include <assert.h>; no longer needed.
24141         Include xalloc.h.
24142         (memrchr): Remove decl.
24143         (dir_name_r): Remove.
24144         (dir_len): Renamed from dirlen.  All callers changed.
24145         Rewrite in terms of base_name, for simplicity and consistency.
24146         (dir_name): Never return NULL.  All callers changed.
24147         Do not include <stdlib.h> in test program; no longer needed.
24148         return 0; is fine for test program.
24149
24150         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
24151         New macros.
24152         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
24153
24154         * lib/path-concat.c (path_concat): Use base_len to compute
24155         base length, not strlen; this means we cannot rely on memcpy
24156         to null-terminate.
24157
24158         * lib/same.c (STREQ): Remove.
24159         (same_name): Handle the case where the basename ends in trailing '/'.
24160
24161         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
24162         a slash was stripped.  Do not strip the last slash after a
24163         file system prefix.
24164
24165 2001-05-11  Paul Eggert  <eggert@twinsun.com>
24166
24167         * lib/Makefile.am (libfetish_a_SOURCES):
24168         Add strftime.c, since we now compile it on all hosts.
24169
24170         * lib/strftime.c (my_strftime):
24171         Define to nstrftime if emacs, but only if my_strftime is not defined.
24172         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
24173         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
24174         Add one more extra argument: a nanoseconds value.
24175         All uses changed.
24176         (ns): New macro.
24177         (my_strftime function): Add %N format.
24178         (emacs_strftimeu): Renamed from emacs_strftime,
24179         with extra ut argument.
24180
24181 2001-05-09  Paul Eggert  <eggert@twinsun.com>
24182
24183         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
24184
24185 2001-04-21  Jim Meyering  <meyering@lucent.com>
24186
24187         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
24188         doesn't interfere.
24189
24190 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
24191
24192         * m4/ftruncate.m4: Check for chsize.
24193         Link with ftruncate.o unconditionally if ftruncate is missing.
24194         This was required when cross-compiling to i586-mingw32msvc.
24195
24196 2001-04-08  Jim Meyering  <meyering@lucent.com>
24197
24198         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
24199         recomputed; that's necessary when the offset spans a DST transition.
24200         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
24201
24202 2001-04-02  Jim Meyering  <meyering@lucent.com>
24203
24204         * lib/regex.h, regex.c: Update from GNU libc.
24205
24206 2001-03-24  Jim Meyering  <meyering@lucent.com>
24207
24208         * m4/jm-macros.m4: Require autoconf-2.49d.
24209
24210 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
24211
24212         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
24213
24214 2001-03-19  Paul Eggert  <eggert@twinsun.com>
24215
24216         * lib/version-etc.c (version_etc_copyright): Update to 2001.
24217
24218 2001-03-17  Jim Meyering  <meyering@lucent.com>
24219
24220         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
24221         now that the version in autoconf is equivalent.
24222         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
24223
24224         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
24225         Suggestion from Akim Demaille.
24226
24227         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
24228         (jm_PREREQ_TEMPNAME): New function.
24229
24230 2001-03-16  Paul Eggert  <eggert@twinsun.com>
24231
24232         * lib/tempname.c (uint64_t): Define to uintmax_t if
24233         not defined, and if UINT64_MAX is not defined.
24234         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
24235         Reported by John David Anglin.
24236
24237 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
24238
24239         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
24240         resolve alias if codeset is empty.
24241         * lib/config.charset (BeOS): Use wildcard syntax.
24242
24243 2001-03-13  Jim Meyering  <meyering@lucent.com>
24244
24245         * lib/path-concat.c (path_concat)
24246         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
24247         concatenating e.g., `C:' and `foo'.
24248         From Bruno Haible.
24249
24250 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24251
24252         * lib/localcharset.c (locale_charset): Don't use
24253         setlocale(LC_CTYPE,NULL). Don't return NULL.
24254         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
24255
24256 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
24257
24258         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
24259         support for DOS/DJGPP.
24260
24261 2001-03-01  Paul Eggert  <eggert@twinsun.com>
24262
24263         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
24264         lacks mkstemp.  Compile our own tempname.c if we compile our own
24265         mkstemp.c, as mkstemp relies on tempname.
24266
24267 2001-03-01  Jim Meyering  <meyering@lucent.com>
24268
24269         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
24270         AH_VERBATIM really does output its argument verbatim.
24271
24272 2001-02-28  Paul Eggert  <eggert@twinsun.com>
24273
24274         * lib/Makefile.am (libfetish_a_SOURCES):
24275         Add dup-safer.c, fopen-safer.c.
24276         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
24277
24278         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
24279         * lib/unistd-safer.h: New files.
24280
24281 2001-02-25  Paul Eggert  <eggert@twinsun.com>
24282
24283         The mkstemp replacement is taken from glibc 2.2.2, with some
24284         portability fixes for use outside glibc, as follows:
24285
24286         * lib/tempname.c (struct_stat64): New macro.
24287         (direxists, __gen_tempname): Use it.
24288         This avoids a portability problem with Solaris 8.
24289
24290         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
24291         (<stddef.h>, <stdint.h>, <string.h>):
24292         Include only if STDC_HEADERS || _LIBC.
24293         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
24294         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
24295         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
24296         (__set_errno): Define this macro if <errno.h> doesn't.
24297         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
24298         Define these macros if <stdio.h> doesn't.
24299         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
24300         Define these macros if <sys/stat.h>
24301         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
24302         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
24303         __xstat64): Define if not _LIBC.
24304         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
24305         (__gen_tempname): Invoke gettimeofday only if
24306         HAVE_GETTIMEOFDAY || _LIBC;
24307         otherwise, fall back on plain "time".
24308         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
24309
24310         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
24311
24312         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
24313
24314 2001-02-18  Paul Eggert  <eggert@twinsun.com>
24315
24316         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
24317
24318 2001-02-17  Paul Eggert  <eggert@twinsun.com>
24319
24320         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
24321         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
24322         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
24323         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
24324
24325 2001-02-17  Paul Eggert  <eggert@twinsun.com>
24326
24327         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
24328         Remove workaround macros for hosts that have mbrtowc but not
24329         mbstate_t, as we now insist on proper declarations for both
24330         before using mbrtowc.
24331
24332 2001-02-17  Jim Meyering  <meyering@lucent.com>
24333
24334         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
24335         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
24336         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
24337         UnixWare 7.1.1.
24338
24339         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
24340         rather than AC_CACHE_VAL.
24341
24342 2001-02-17  Jim Meyering  <meyering@lucent.com>
24343
24344         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
24345         around included file name.
24346
24347         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
24348
24349         * lib/strftime.c: Update from GNU libc (the only changes were to
24350         comments).
24351
24352 2001-02-17  Jim Meyering  <meyering@lucent.com>
24353
24354         * lib/regex.c: Update from libc.
24355
24356 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
24357
24358         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
24359         clash.
24360
24361 2001-02-16  Paul Eggert  <eggert@twinsun.com>
24362
24363         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
24364         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
24365         Reported by Mark Hounschell via Paul Eggert.
24366
24367 2001-02-07  Jim Meyering  <meyering@lucent.com>
24368
24369         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
24370
24371 2001-02-05  Jim Meyering  <meyering@lucent.com>
24372
24373         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
24374         it includes the patch required for `large file' support with at least
24375         HP-UX's 10.20 /bin/cc.
24376
24377 2001-02-03  Jim Meyering  <meyering@lucent.com>
24378
24379         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
24380         AS_IF, now that it works once again (mysteriously).
24381         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
24382
24383 2001-01-30  Jim Meyering  <meyering@lucent.com>
24384
24385         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
24386         * m4/chown.m4: Rename conftestchown to conftest.chown.
24387         * m4/rename.m4: s/conftestdir/conftest.d1/ and
24388         s/conftestdir2/conftest.d2/.
24389         * m4/utimes.m4: s/conftestdata/conftest.data/
24390         Inspired by Pavel Roskin's change in autoconf.
24391
24392 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
24393
24394         * lib/config.charset: Update for FreeBSD 4.2.
24395
24396 2001-01-27  Jim Meyering  <meyering@lucent.com>
24397
24398         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
24399         a use of AS_IF.
24400         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
24401
24402 2001-01-26  Jim Meyering  <meyering@lucent.com>
24403
24404         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
24405         quotearg.c includes it.
24406
24407 2001-01-26  Jim Meyering  <meyering@lucent.com>
24408
24409         * lib/quotearg.c: Include stddef.h.
24410         * lib/quote.c: Include stddef.h.
24411         Reported by Axel Kittenberger.
24412
24413         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
24414         line in double quotes so that it evokes a better diagnostic.
24415         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
24416         Reported by Axel Kittenberger.
24417
24418 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
24419
24420         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
24421         as if it was a `charset'.
24422
24423 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
24424
24425         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
24426         has const.
24427
24428 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
24429
24430         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
24431         to avoid a warning.  Add back 'const' to inptr.
24432
24433 2001-01-20  Jim Meyering  <meyering@lucent.com>
24434
24435         Be sure that headers are checked before used in code compiled
24436         for the type checks.
24437         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
24438         In place of that, invoke jm_CHECK_ALL_TYPES.
24439         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
24440         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
24441         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
24442         The check for ssize_t was mistakenly run before the test for unistd.h.
24443
24444         The configure-time check for stdbool.h was missing.
24445         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
24446         (jm_PREREQ_HASH): New function.
24447
24448 2001-01-17  Jim Meyering  <meyering@lucent.com>
24449
24450         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
24451         for autoconf-2.49c.
24452         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
24453
24454 2001-01-16  Jim Meyering  <meyering@lucent.com>
24455
24456         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
24457         From Bruno Haible.
24458
24459 2001-01-14  Jim Meyering  <meyering@lucent.com>
24460
24461         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
24462         foo and bar.  Create conftestdir/ in the script, not in the C code.
24463         Remove directories in the script, not in the C code.
24464         Remove conftestdir{,2} before trying to create the directory.
24465         Make the entire configure script fail if the mkdir fails.
24466
24467 2001-01-14  Jim Meyering  <meyering@lucent.com>
24468
24469         * lib/rename.c: New file.  From Volker Borchert.
24470         Include stdlib.h, string.h or strings.h, and xalloc.h.
24471         Use strip_trailing_slashes rather than open-coding it.
24472
24473 2001-01-03  Paul Eggert  <eggert@twinsun.com>
24474
24475         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
24476
24477 2001-01-03  Jim Meyering  <meyering@lucent.com>
24478
24479         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
24480         of local `inptr' to avoid warning with some system declarations of
24481         iconv.
24482
24483 2001-01-02  Volker Borchert  <bt@teknon.de>
24484
24485         * m4/rename.m4: New file.
24486         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
24487
24488 2001-01-01  Jim Meyering  <meyering@lucent.com>
24489
24490         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
24491         even on systems with utmpx.h.  It's necessary for the declaration of
24492         utmp's ut_user member.  Reported by Andreas Jaeger.
24493
24494         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
24495         available. They are required for the declarations of getgrgid and
24496         getpwuid resp.
24497         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
24498         Reported by Andreas Jaeger.
24499
24500 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
24501
24502         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
24503         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
24504         so `make install' also works in VPATH builds.
24505
24506 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
24507
24508         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
24509         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
24510         can be used in subdirectories.
24511
24512 2000-12-29  Paul Eggert  <eggert@twinsun.com>
24513
24514         * lib/modechange.c: Do not assume that mode_t uses the
24515         traditional octal encoding.  E.g. "chmod 1 FOO" should set
24516         the other-execute bit of FOO even if S_IXOTH != 1.
24517
24518         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
24519         WOTH, XOTH, ALLM): New macros.
24520         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
24521          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
24522         Use them.
24523         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
24524         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
24525         (mode_compile):
24526         No need to use uintmax_t; unsigned long is long enough.
24527         Don't bother to get suffix since we don't use it.
24528
24529 2000-12-26  Jim Meyering  <meyering@lucent.com>
24530
24531         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
24532         better with autoheader.
24533
24534 2000-12-24  Jim Meyering  <meyering@lucent.com>
24535
24536         * lib/hash.c (is_prime): Return explicit boolean values.
24537         (hash_get_first): Return NULL to appease Irix5.6's 89.
24538         Reported by Nelson Beebe.
24539
24540 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
24541
24542         * lib/localcharset.c (locale_charset): Add support for Win32.
24543
24544 2000-12-18  Paul Eggert  <eggert@twinsun.com>
24545
24546         * lib/physmem.h, lib/physmem.c: New files.
24547
24548         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
24549         (noinst_HEADERS): Add physmem.h.
24550
24551         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
24552         't' for compatibility with Solaris 8 sort.
24553
24554 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
24555
24556         * lib/config.charset: Add support for BeOS.
24557
24558 2000-12-17  Jim Meyering  <meyering@lucent.com>
24559
24560         * m4/dos.m4 (jm_AC_DOS): New file and macro.
24561         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
24562
24563 2000-12-16  Jim Meyering  <meyering@lucent.com>
24564
24565         This bug had a serious impact on chown: `chown N:M FILE' (for integer
24566         N and M) would have treated it like `chown N:N FILE'.
24567
24568         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
24569
24570 2000-12-16  Jim Meyering  <meyering@lucent.com>
24571
24572         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
24573         SHELLS_FILE to a file name that's useful on djgpp systems.
24574         Include stdlib.h.
24575         (ADDITIONAL_DEFAULT_SHELLS): Define.
24576         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
24577         Based mostly on a patch from Prashant TR.
24578
24579 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
24580
24581         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
24582         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
24583         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
24584
24585 2000-12-08  Andreas Schwab  <schwab@suse.de>
24586
24587         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
24588         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
24589
24590 2000-12-07  Jim Meyering  <meyering@lucent.com>
24591
24592         * lib/stripslash.c (ISSLASH): Define.
24593         (strip_trailing_slashes): Use ISSLASH rather than comparing against
24594         `/'.
24595         From Prashant TR.
24596
24597         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
24598         (dir_name_r): Declare this function as static.
24599         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
24600         manifest itself on a name containing a mix of slashes and
24601         backslashes.
24602         Make this function work with names starting with a DOS-style
24603         drive letter and colon prefix.
24604         (dir_name): Append `.' if necessary.
24605         Based mostly on patches from Prashant TR and Eli Zaretskii.
24606
24607         * lib/dirname.h (dir_name_r): Remove prototype.
24608
24609 2000-12-06  Paul Eggert  <eggert@twinsun.com>
24610
24611         * m4/off_t-format.m4: Remove this file.
24612         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
24613
24614 2000-12-06  Jim Meyering  <meyering@lucent.com>
24615
24616         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
24617         replacement strtoull, we may well need the replacement strtoul, too.
24618         Check for declarations of strtoul and strtoull.
24619         Check for strtol.  Mainly as a cue to cause automake to include
24620         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
24621         Check for limits.h -- strtol.c needs it.
24622
24623 2000-12-05  Jim Meyering  <meyering@lucent.com>
24624
24625         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
24626
24627 2000-12-04  Jim Meyering  <meyering@lucent.com>
24628
24629         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
24630         Also include memory.h, stdlib.h, unistd.h if appropriate.
24631         Reported by Andreas Jaeger (conflicting declaration of malloc).
24632
24633 2000-12-02  Jim Meyering  <meyering@lucent.com>
24634
24635         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
24636         * m4/jm-macros.m4 (jm_MACROS): require it.
24637
24638 2000-12-02  Jim Meyering  <meyering@lucent.com>
24639
24640         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
24641
24642 2000-12-01  Paul Eggert  <eggert@twinsun.com>
24643
24644         * lib/memrchr.c: Include <config.h> before any system include file.
24645
24646 2000-11-30  Jim Meyering  <meyering@lucent.com>
24647
24648         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
24649
24650 2000-11-30  Jim Meyering  <meyering@lucent.com>
24651
24652         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
24653
24654 2000-11-29  Paul Eggert  <eggert@twinsun.com>
24655
24656         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
24657
24658 2000-11-26  Jim Meyering  <meyering@lucent.com>
24659
24660         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
24661
24662 2000-11-22  Paul Eggert  <eggert@twinsun.com>
24663
24664         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
24665         size of (size_t) -1; it's not portable.
24666
24667 2000-11-17  Jim Meyering  <meyering@lucent.com>
24668
24669         * lib/strstr.c: Update from GNU libc.
24670
24671 2000-11-17  Akim Demaille  <akim@epita.fr>
24672
24673         * lib/obstack.h: Formatting changes.
24674         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
24675         prevent type checking.
24676         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
24677         cast the value to (void *): assigning a `foo *' to a `void *'
24678         variable is valid.
24679         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
24680
24681 2000-11-16  Jim Meyering  <meyering@lucent.com>
24682
24683         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
24684
24685 2000-11-11  Jim Meyering  <meyering@lucent.com>
24686
24687         * lib/error.c: Add a couple #includes, merging from GNU libc version.
24688
24689 2000-11-10  Jim Meyering  <meyering@lucent.com>
24690
24691         * lib/obstack.h: Update from GNU libc.
24692         * lib/obstack.c: Likewise.
24693
24694 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
24695
24696         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
24697
24698 2000-11-06  Paul Eggert  <eggert@twinsun.com>
24699
24700         * lib/getusershell.c (setusershell): Use rewind rather than
24701         fseek/fseeko, to avoid configuration hassles with fseeko.
24702         Don't bother opening SHELLS_FILE if shellstream is NULL;
24703         it's not necessary.
24704
24705 2000-11-05  Jim Meyering  <meyering@lucent.com>
24706
24707         * lib/makepath.h (make_dir): Declare.
24708         * lib/makepath.c (make_dir): Remove `static' attribute.
24709         Tweak a comment.
24710
24711 2000-11-04  Jim Meyering  <meyering@lucent.com>
24712
24713         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
24714
24715 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
24716
24717         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
24718         last one in a bucket, advance to the next bucket.
24719
24720 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
24721
24722         * lib/fnmatch.c: Do not comment out all the code if we are using
24723         the GNU C library, because in some cases we are replacing buggy
24724         code in the GNU C library itself.
24725
24726 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
24727
24728         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
24729         (regex_compile): Catch bogus \(\1\).
24730
24731 2000-10-30  Paul Eggert  <eggert@twinsun.com>
24732
24733         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
24734         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
24735         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
24736
24737 2000-10-30  Paul Eggert  <eggert@twinsun.com>
24738
24739         * lib/error.h, getline.h, modechange.h:
24740         Remove "2000" from Copyright line, as the file hasn't been
24741         changed this year other than in the copyright notice.
24742
24743         * lib/xalloc.h: Add "2000" to Copyright line, as this file
24744         was changed this year.
24745
24746 2000-10-29  Jim Meyering  <meyering@lucent.com>
24747
24748         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
24749         renaming.
24750         * m4/ls-mntd-fs.m4: Likewise
24751
24752 2000-10-29  Jim Meyering  <meyering@lucent.com>
24753
24754         * lib/xstat.in: Fix grammar in comment.
24755
24756 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
24757
24758         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
24759         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
24760         doesn't define __restrict_arr.
24761
24762 2000-10-28  Jim Meyering  <meyering@lucent.com>
24763
24764         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
24765         (jm_PREREQ_MEMCHR): New function.
24766
24767 2000-10-28  Jim Meyering  <meyering@lucent.com>
24768
24769         * lib/memchr.c: Update from libc.
24770         Adjust for portability:
24771         [HAVE_STDLIB_H]: Include stdlib.h.
24772         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
24773         Undef __memchr, too.
24774         [!weak_alias]: Define __memchr to memchr.
24775
24776         * lib/regex.c: Update from libc.
24777         * lib/regex.h: Likewise.
24778         * lib/getopt1.c: Likewise.
24779         * lib/memcmp.c: Likewise.
24780
24781         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
24782         Avoid using fseek, when possible -- it's broken by design.
24783         Patch by Ulrich Drepper.
24784
24785 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
24786
24787         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
24788         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
24789         Giving in to popular pressure to shut up the compiler with casts.
24790
24791 2000-10-26  Jim Meyering  <meyering@lucent.com>
24792
24793         * lib/strftime.c: Update from libc.
24794
24795 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
24796
24797         * regex.c: More `unsigned char' -> `re_char' changes.
24798         Also change several `int' into `re_wchar_t'.
24799         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
24800         (PUSH_FAILURE_POINTER): Don't cast any more.
24801         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
24802         We want GCC to complain, since this piece of code makes
24803         re_match non-reentrant, which *should* be fixed.
24804         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
24805         (EXTEND_BUFFER): Use RETALLOC.
24806         (SET_LIST_BIT): Don't cast.
24807         (re_wchar_t): New type.
24808         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
24809         that those two functions will always properly return.
24810         (IMMEDIATE_QUIT_CHECK): Cast to void.
24811         (analyse_first): Use recursion rather than an explicit stack.
24812         (re_compile_fastmap): Can't fail anymore.
24813         (re_search_2): Don't check re_compile_fastmap for failure.
24814         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
24815         Now also sets the new value (passed in a new argument).
24816         (re_match_2_internal): Use it.
24817         Also, use a new var `reg' of type size_t when looping through regs
24818         rather than reuse the inappropriate `mcnt'.
24819
24820 2000-10-25  Jim Meyering  <meyering@lucent.com>
24821
24822         * lib/obstack.c: Update from libc.
24823
24824 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
24825
24826         * regex.c (regex_compile): Change the way of handling a range from
24827         a char less than 256 to a char not less than 256.
24828
24829 2000-10-24  Andrew Innes  <andrewi@gnu.org>
24830
24831         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
24832         NT-Emacs only.
24833         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
24834         so that re_search functions only quit when callers expect them to.
24835
24836 2000-10-23  Jim Meyering  <meyering@lucent.com>
24837
24838         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
24839         wrong.  That set_locale call must not have any side effects.
24840         From Paul Eggert.
24841
24842 2000-10-22  Jim Meyering  <meyering@lucent.com>
24843
24844         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
24845         [CYCLIC]: Remove now-unused definition.
24846
24847         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
24848         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
24849         Suggestion from Ulrich Drepper.
24850
24851 2000-10-21  Jim Meyering  <meyering@lucent.com>
24852
24853         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
24854         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
24855         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
24856
24857 2000-10-21  Jim Meyering  <meyering@lucent.com>
24858
24859         * lib/dirname.c (memrchr): Declare if necessary.
24860         (dir_name): Remove the restriction that there be no
24861         trailing slashes.  Now, this code skips past them, effectively
24862         ignoring them.
24863         [TEST_DIRNAME] (main): New unit tests.
24864
24865         * lib/memrchr.c: New file from GNU libc.
24866         Undef __memrchr, too.
24867         [!weak_alias]: Define __memrchr to memrchr.
24868         Guard weak_alias use with `#ifdef weak_alias'.
24869
24870 2000-10-21  Jim Meyering  <meyering@lucent.com>
24871
24872         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
24873         (dir_name): Use dir_name_r.
24874         * lib/dirname.h (dir_name_r): Declare it.
24875
24876 2000-10-17  Jim Meyering  <meyering@lucent.com>
24877
24878         * lib/quote.h (PARAMS): Define and use.
24879         Reported by Akim Demaille.
24880
24881         * lib/getopt.c: Update from libc.
24882
24883 2000-10-16  Jim Meyering  <meyering@lucent.com>
24884
24885         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
24886         setlocale.
24887         From Jan Fedak.
24888
24889 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
24890
24891         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
24892
24893 2000-09-25  Jim Meyering  <meyering@lucent.com>
24894
24895         * lib/md5.h (rol): Define (from GnuPG).
24896
24897         * lib/sha.c: Give credit (GnuPG) where due.
24898         (M): Use rol rather than open-coding it.
24899         Add a FIXME comment.
24900
24901 2000-09-21  Jim Meyering  <meyering@lucent.com>
24902
24903         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
24904         Reported by Michael Stone.
24905
24906 2000-09-20  Jim Meyering  <meyering@lucent.com>
24907
24908         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
24909         (noinst_HEADERS): Add sha.h.
24910         Based on code from Scott G. Miller and from GnuPG.
24911
24912 2000-09-18  Jim Meyering  <meyering@lucent.com>
24913
24914         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
24915         LIBS. Otherwise, everyone ends up linking with -lelf for some
24916         configurations.
24917         Reported by Mike Stone.
24918
24919 2000-09-15  Jim Meyering  <meyering@lucent.com>
24920
24921         * lib/regex.c: Update from libc.
24922
24923 2000-09-10  Jim Meyering  <meyering@lucent.com>
24924
24925         * lib/getopt.c (_getopt_internal): Update from glibc.
24926
24927 2000-09-09  Jim Meyering  <meyering@lucent.com>
24928
24929         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
24930         think it should be used as a general replacement for isascii.
24931         * lib/fnmatch.c: Likewise.
24932         * lib/mbswidth.c: Likewise
24933         * lib/regex.c: Likewise.
24934
24935         Don't use atoi.
24936         * lib/userspec.c: Include sys/param.h and limits.h.
24937         Include xstrtol.h.
24938         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
24939         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
24940         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
24941         UID, GID.  Check range.
24942
24943 2000-09-06  Jim Meyering  <meyering@lucent.com>
24944
24945         * lib/getopt.c (_getopt_internal): Update from glibc.
24946
24947 2000-08-30  Jim Meyering  <meyering@lucent.com>
24948
24949         * lib/strftime.c: Merge in changes from GNU libc.
24950
24951 2000-08-26  Jim Meyering  <meyering@lucent.com>
24952
24953         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
24954         * m4/fpending.m4: New file.
24955
24956 2000-08-26  Jim Meyering  <meyering@lucent.com>
24957
24958         * lib/closeout.c: Include "__fpending.h".
24959         (close_stdout_status): Return right away if there's nothing to flush.
24960
24961         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
24962         * lib/__fpending.c: New file.
24963         * lib/__fpending.h: New file.
24964
24965 2000-08-20  Jim Meyering  <meyering@lucent.com>
24966
24967         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
24968         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
24969         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
24970
24971 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
24972
24973         Improve fileutils installation on systems where running
24974         programs (like install) can't be unlinked.
24975         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
24976         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
24977
24978 2000-08-07  Paul Eggert  <eggert@twinsun.com>
24979
24980         Standardize on "memory exhausted" instead of "Memory exhausted"
24981         or "virtual memory exhausted".
24982         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
24983         "virtual memory exhausted".
24984         * lib/same.c (same_name): Invoke xalloc_die instead of printing
24985         our own message.
24986         * lib/userspec.c (parse_user_spec): Likewise.
24987         * lib/bumpalloc.h: comment fix
24988         * lib/same.c, userspec.c: Include xalloc.h.
24989
24990         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
24991         not char *const and pointing to a constant array.
24992         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
24993         (xrealloc): Comment fix.
24994
24995         * lib/userspec.c (parse_user_spec):
24996         Don't translate a message until just before returning,
24997         to avoid unnecessary translation.
24998
24999 2000-08-07  Jim Meyering  <meyering@lucent.com>
25000
25001         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
25002         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
25003         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
25004         getgroups.c, gethostname.c, getopt.h, group-member.c,
25005         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
25006         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
25007         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
25008         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
25009         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
25010         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
25011         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
25012         yesno.c: Back out Copyright date changes for each file with no change
25013         this year.  This eases coordination with other programs using the same
25014         source code modules.  From Paul Eggert.
25015
25016 2000-08-06  Paul Eggert  <eggert@twinsun.com>
25017
25018         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
25019         not char, for compatibility with glibc 2.1.3 strftime.c.
25020
25021 2000-08-03  Greg McGary  <greg@mcgary.org>
25022
25023         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
25024         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
25025         (EXTEND_BUFFER): Use them.
25026
25027 2000-08-01  Jim Meyering  <meyering@lucent.com>
25028
25029         * lib/dirname.c (ISSLASH): Define.
25030         (BACKSLASH_IS_PATH_SEPARATOR): Define.
25031         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
25032         both `\' and `/' may be use as path separators.
25033         Based on a patch from Prashant TR.
25034
25035 2000-07-31  Paul Eggert  <eggert@twinsun.com>
25036
25037         * lib/quotearg.c (quotearg_n_options): Don't make the initial
25038         slot vector a constant, since it might get modified.
25039
25040 2000-07-31  Jim Meyering  <meyering@lucent.com>
25041
25042         * lib/xmalloc.c: Use `virtual memory exhausted', not
25043         `Memory exhausted'.
25044         * lib/obstack.c (print_and_abort): Likewise.
25045
25046 2000-07-30  Paul Eggert  <eggert@twinsun.com>
25047
25048         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
25049         buffer, so that the caller can always quote one small
25050         component of a "memory exhausted" message in slot 0.
25051         From a suggestion by Jim Meyering.
25052
25053 2000-07-30  Jim Meyering  <meyering@lucent.com>
25054
25055         * lib/makepath.c (make_path): Quote the other instance, too.
25056
25057         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
25058         (STATIC_BUF_SIZE): Define.
25059         (quotearg_n_options): Use only statically allocated storage when
25060         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
25061         than STATIC_BUF_SIZE.
25062
25063 2000-07-29  Jim Meyering  <meyering@lucent.com>
25064
25065         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
25066         * lib/dirname.c (dir_name): Likewise.
25067
25068         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
25069         `/'.
25070
25071         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
25072         (dir_name): Assert that there are no trailing slashes.
25073
25074 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
25075
25076         * lib/mbswidth.h (mbswidth): Add a flags argument.
25077         (mbswidth): New declaration.
25078         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
25079         * lib/mbswidth.c (mbswidth): Add a flags argument.
25080         (mbsnwidth): New function.
25081
25082 2000-07-24  Jim Meyering  <meyering@lucent.com>
25083
25084         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
25085
25086 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25087
25088         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
25089
25090 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25091
25092         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
25093         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
25094         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
25095         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
25096         invoke multibyte primitives.
25097
25098 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25099
25100         * lib/quotearg.c:
25101         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
25102         so that mbstate_t is always defined.
25103
25104         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
25105         be 1 in at least one GCC installation, and this configuration
25106         error is likely to be common.  Ignoring MB_LEN_MAX hurts
25107         performance on hosts that have mbrtowc but have only unibyte
25108         locales, but I assume these hosts are rare.
25109
25110 2000-07-23  Paul Eggert  <eggert@twinsun.com>
25111
25112         * lib/mbswidth.c (_XOPEN_SOURCE):
25113         Don't define; this causes problems on Solaris 7.
25114         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
25115
25116 2000-07-23  Jim Meyering  <meyering@lucent.com>
25117
25118         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
25119         too: getgrgid, getpwuid, getuid.
25120
25121 2000-07-23  Jim Meyering  <meyering@lucent.com>
25122
25123         * lib/basename.c (base_name): Add an assertion.
25124
25125 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
25126
25127         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
25128         shadow its mbsinit function.
25129
25130 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25131
25132         * lib/mbswidth.h: New file.
25133         * lib/mbswidth.c: New file.
25134         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
25135         (noinst_HEADERS): Add mbswidth.h.
25136
25137 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
25138
25139         * lib/config.charset: Add support for FreeBSD. Improve support for
25140         HP-UX and IRIX 6.
25141
25142 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
25143
25144         * m4/mbswidth.m4: New file.
25145         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
25146
25147 2000-07-15  Jim Meyering  <meyering@lucent.com>
25148
25149         * lib/makepath.c: Include quote.h.
25150         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
25151         corresponding argument in a `quote (...)' call.
25152         Give better diagnostics.
25153
25154         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
25155         (noinst_HEADERS): Add quote.h.
25156
25157         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
25158         from tar's src/misc.c.
25159         * lib/quote.h: New file.  Prototypes for same.
25160
25161 2000-07-14  Paul Eggert  <eggert@twinsun.com>
25162
25163         From a suggestion by Bruno Haible.
25164         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
25165         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
25166         to decide whether to define the BeOS workaround macro;
25167         this adjusts to the change to AC_MBSTATE_T.
25168
25169 2000-07-14  Jim Meyering  <meyering@lucent.com>
25170
25171         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
25172         jm_AC_TYPE_UINTMAX_T.
25173
25174 2000-07-13  Paul Eggert  <eggert@twinsun.com>
25175
25176         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
25177
25178         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
25179         quotearg_buffer_restyled): Add support for
25180         clocale_quoting_style.  Undo previous change to
25181         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
25182         and "{RIGHT QUOTATION MARK}" msgids.
25183
25184 2000-07-10  Paul Eggert  <eggert@twinsun.com>
25185
25186         From a suggestion by Bruno Haible.
25187         * m4/mbstate_t.m4 (AC_MBSTATE_T):
25188         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
25189         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
25190         and mbstate_t, to a single-part test that simply defines mbstate_t.
25191         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
25192         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
25193
25194 2000-07-10  Jim Meyering  <meyering@lucent.com>
25195
25196         * m4/strerror_r.m4: Mirror the correction made in autoconf.
25197
25198         * m4/gnu-source.m4: Output to confdefs.h directly.
25199         Suggestion from Akim Demaille.
25200
25201 2000-07-09  Paul Eggert  <eggert@twinsun.com>
25202
25203         The old behavior of quoting `like this' doesn't look good with
25204         newer, ISO-style fonts.  See:
25205         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
25206
25207         Instead, quote "like this" by default.  Let the translator
25208         tailor the locale-specific quoting behavior by providing
25209         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
25210
25211         * lib/quotearg.c (N_): New macro.
25212         (gettext_default): New function.
25213         (quotearg_buffer_restyled): Use
25214         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
25215         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
25216
25217 2000-07-09  Jim Meyering  <meyering@lucent.com>
25218
25219         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
25220         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
25221
25222         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
25223         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
25224
25225 2000-07-09  Jim Meyering  <meyering@lucent.com>
25226
25227         * lib/Most files: Update copyright dates to include 2000.
25228
25229 2000-07-08  Jim Meyering  <meyering@lucent.com>
25230
25231         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
25232         if not defined.
25233         (xgethostname): Remove now-unnecessary #ifdef.
25234         Move declaration of `err' into loop where it's used.
25235
25236 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25237         and Bruno Haible  <haible@clisp.cons.org>
25238
25239         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
25240         only if the test for an object-type mbstate_t fails.  This
25241         prevents us from mistakenly reporting that mbstate_t is a
25242         system object type after we "#define mbstate_t int" to work
25243         around its lack.
25244
25245 2000-07-05  Paul Eggert  <eggert@twinsun.com>
25246         and Bruno Haible  <haible@clisp.cons.org>
25247
25248         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
25249
25250 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25251
25252         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
25253         to strerror_r.
25254         Include <ctype.h> for use of isalpha.
25255
25256 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25257
25258         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
25259         by allocating a larger buffer. Test the gethostname return value for
25260         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
25261         returns an error and ENAMETOOLONG isn't defined.
25262
25263 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
25264
25265         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
25266         dimension.
25267
25268 2000-07-04  Jim Meyering  <meyering@lucent.com>
25269
25270         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
25271         of the deprecated AC_CHECKING.
25272
25273 2000-07-04  Jim Meyering  <meyering@lucent.com>
25274
25275         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
25276         Reported by Bruno Haible.
25277
25278 2000-07-04  Jim Meyering  <meyering@lucent.com>
25279
25280         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
25281         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
25282         lacks mbrtowc.
25283
25284 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25285
25286         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
25287         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
25288
25289 2000-07-03  Paul Eggert  <eggert@twinsun.com>
25290         and Bruno Haible  <haible@clisp.cons.org>
25291
25292         * lib/quotearg.c (mbrtowc):
25293         Assign to *pwc, and return 1 only if result is nonzero.
25294         (iswprint): Use ISPRINT when substituting our own mbrtowc.
25295
25296 2000-07-03  Jim Meyering  <meyering@lucent.com>
25297
25298         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
25299
25300 2000-07-03  Jim Meyering  <meyering@lucent.com>
25301
25302         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
25303         This is necessary to get a definition of e.g., UTMP_FILE on
25304         HP-UX 10.20.
25305         From Bob Proulx.
25306
25307 2000-07-02  Jim Meyering  <meyering@lucent.com>
25308
25309         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
25310
25311         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
25312         AC_LIBOBJ(function_name).
25313         * m4/chown.m4: Likewise.
25314         * m4/fnmatch.m4: Likewise.
25315         * m4/ftruncate.m4: Likewise.
25316         * m4/getgroups.m4: Likewise.
25317         * m4/getline.m4: Likewise.
25318         * m4/group-member.m4: Likewise.
25319         * m4/jm-macros.m4: Likewise.
25320         * m4/lstat.m4: Likewise.
25321         * m4/malloc.m4: Likewise.
25322         * m4/memcmp.m4: Likewise.
25323         * m4/nanosleep.m4: Likewise.
25324         * m4/putenv.m4: Likewise.
25325         * m4/realloc.m4: Likewise.
25326         * m4/regex.m4: Likewise.
25327         * m4/stat.m4: Likewise.
25328         * m4/strftime.m4: Likewise.
25329
25330 2000-07-02  Jim Meyering  <meyering@lucent.com>
25331
25332         * lib/quotearg.c (mbstate_t): Don't define here.
25333
25334 2000-07-02  Jim Meyering  <meyering@lucent.com>
25335
25336         * lib/nanosleep.c (SIGCONT): Define if not already defined.
25337
25338 2000-07-01  Jim Meyering  <meyering@lucent.com>
25339
25340         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
25341
25342 2000-07-01  Jim Meyering  <meyering@lucent.com>
25343
25344         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
25345         problem.
25346
25347 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
25348
25349         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
25350         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
25351
25352 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
25353
25354         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
25355         per change in ../m4/ls-mntd-fs.m4.
25356         (read_filesystem_list): Ignore symbolic links.
25357
25358 2000-06-29  Jim Meyering  <meyering@lucent.com>
25359
25360         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
25361         for declaration of strcmp.
25362
25363         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
25364
25365         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
25366         Avoid warning by casting result to `char *' to remove `const'.
25367
25368 2000-06-28  Jim Meyering  <meyering@lucent.com>
25369
25370         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
25371         included by quotearg.c, for which we perform this test.  From
25372         Bruno Haible.
25373
25374 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
25375
25376         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
25377         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
25378         <utmpx.h> exists, put readutmp.o into LIBOBJS.
25379
25380 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
25381
25382         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
25383
25384 2000-06-26  Paul Eggert  <eggert@twinsun.com>
25385
25386         savedir now sets errno on failure and invokes xmalloc to get memory.
25387         Fix a couple of other minor bugs while we're at it.
25388
25389         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
25390         (NAMLEN): Remove macro.
25391         (malloc, realloc): Remove decls.
25392         (stpcpy): Likewise.
25393         ("xalloc.h"): Include.
25394         (NAME_SIZE_DEFAULT): New macro.
25395         (savedir): Use xmalloc / xrealloc to allocate memory.
25396         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
25397         Skip "" directory entries.
25398         Use strlen to calculate directory entry length, since the old method
25399         is rarely used these days and isn't worth supporting.
25400         Don't use a pointer after freeing it.
25401         Check for integer overflow when calculating allocation size.
25402         Use memcpy to copy entries, instead of stpcpy.
25403         Set errno properly when returning NULL.
25404         Check for readdir error.
25405
25406 2000-06-26  Jim Meyering  <meyering@lucent.com>
25407
25408         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
25409
25410 2000-06-25  Jim Meyering  <meyering@lucent.com>
25411
25412         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
25413         Linux header bug when _XOPEN_SOURCE is defined to 500.
25414
25415 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
25416
25417         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
25418         deficiency.
25419
25420 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
25421
25422         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
25423         Include xalloc.h.
25424         Don't include <stdlib.h>.  Don't declare malloc, realloc.
25425
25426 2000-06-24  Jim Meyering  <meyering@lucent.com>
25427
25428         * m4/strerror_r.m4: Revive this file -- to try out an experimental
25429         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
25430         for which strerror does return char*, but which lacks a conveniently
25431         accessible declaration of the function.  If the compile-test says
25432         strerror_r doesn't work, then resort to a `run'-test that works on
25433         BeOS and segfaults on DEC Unix.
25434
25435 2000-06-24  Jim Meyering  <meyering@lucent.com>
25436
25437         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
25438
25439 2000-06-23  Paul Eggert  <eggert@twinsun.com>
25440
25441         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
25442         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
25443
25444 2000-06-23  Paul Eggert  <eggert@twinsun.com>
25445
25446         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
25447         (mbrtowc, mbstate_t): Define substitutes if
25448         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
25449         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
25450         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
25451
25452 2000-06-23  Jim Meyering  <meyering@lucent.com>
25453
25454         * m4/afs.m4: Add missing AC_MSG_RESULT.
25455         Reported by Bruno Haible.
25456
25457         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
25458         Suggestion from Bruno Haible.
25459
25460 2000-06-23  Jim Meyering  <meyering@lucent.com>
25461
25462         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
25463
25464 2000-06-21  Jim Meyering  <meyering@lucent.com>
25465
25466         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
25467
25468 2000-06-21  Jim Meyering  <meyering@lucent.com>
25469
25470         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
25471         (noinst_HEADERS): Add getstr.h.
25472
25473         * lib/getline.c (getstr): Move into a separate file.
25474         * lib/getstr.c (getstr): New file, extracted from getline.c, with
25475         the following changes: new parameter, delim2; both delim[12]
25476         parameters have type `int', not `char'.  The latter would lose
25477         with 8-bit delimiters.
25478         * lib/getstr.h: New file.
25479
25480 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
25481
25482         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
25483         than 1024, return a memory chunk of least possible size, instead
25484         of size PATH_MAX + 2. In the loop, increment the size proportionally.
25485         Use free/xmalloc instead of xrealloc to avoid copying for very long
25486         paths.
25487
25488 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
25489
25490         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
25491         the empty string.
25492
25493 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
25494
25495         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
25496         address, not strdup.  Include <stdlib.h> and don't declare free().
25497
25498 2000-06-19  Jim Meyering  <meyering@lucent.com>
25499
25500         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
25501
25502 2000-06-18  Jim Meyering  <meyering@lucent.com>
25503
25504         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
25505
25506         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
25507         `checking whether...' message to be consistent with that of the
25508         lstat test.
25509
25510 2000-06-18  Jim Meyering  <meyering@lucent.com>
25511
25512         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
25513         Besides, these days every porting target provides a mkdir function.
25514
25515         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
25516         needed. (this snippet comes from src/system.h).
25517
25518 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
25519
25520         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
25521
25522 2000-06-15  Paul Eggert  <eggert@twinsun.com>
25523
25524         * lib/human.c (adjust_value): New function.
25525         (human_readable_inexact): Apply rounding style even when
25526         printing approximate values.
25527
25528 2000-06-14  Paul Eggert  <eggert@twinsun.com>
25529
25530         * lib/human.c (human_readable_inexact): Allow an input block
25531         size that is not a multiple of the output block size, and vice versa.
25532         Reported by Piergiorgio Sartor.
25533
25534 2000-06-14  Paul Eggert  <eggert@twinsun.com>
25535
25536         * lib/getdate.y (get_date): Apply relative times after time
25537         zone indicator, not before.  Reported by Todd A. Jacobs.
25538
25539 2000-06-13  Jim Meyering  <meyering@lucent.com>
25540
25541         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
25542
25543         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
25544
25545 2000-06-12  Paul Eggert  <eggert@twinsun.com>
25546
25547         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
25548
25549 2000-06-12  Jim Meyering  <meyering@lucent.com>
25550
25551         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
25552         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
25553         optional argument.
25554         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
25555         the optional argument, `lib'.
25556
25557 2000-06-08  Jim Meyering  <meyering@lucent.com>
25558
25559         * m4/largefile.m4: Remove file (now that it's part of autoconf).
25560
25561 2000-06-04  Paul Eggert  <eggert@twinsun.com>