Say precisely which versions of coreutils have the buggy "tr", and what the bug involves.
[pspp] / ChangeLog
1 2007-02-11  Bruno Haible  <bruno@clisp.org>
2
3         Ensure O(n) worst-case complexity of c_strcasestr.
4         * lib/c-strcasestr.c: Include stdbool.h, string.h.
5         (knuth_morris_pratt): New function.
6         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
7         the bookkeeping indicates that it's worth it.
8         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
9
10         * modules/c-strcasestr-tests: New file.
11         * tests/test-c-strcasestr.c: New file.
12
13 2007-02-11  Bruno Haible  <bruno@clisp.org>
14
15         Ensure O(n) worst-case complexity of c_strstr.
16         * lib/c-strstr.c: Include stdbool.h, string.h.
17         (knuth_morris_pratt): New function.
18         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
19         bookkeeping indicates that it's worth it.
20         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
21
22         * lib/c-strstr.c: Complete rewrite for maintainability.
23
24         * modules/c-strstr-tests: New file.
25         * tests/test-c-strstr.c: New file.
26
27 2007-02-11  Bruno Haible  <bruno@clisp.org>
28
29         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
30         5.2.1 and earlier, whereby \055 was treated just like the range
31         delimiter '-'.  Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
32
33 2007-02-08  Bruno Haible  <bruno@clisp.org>
34
35         * modules/regex (Depends-on): Add stdbool.
36         Reported by Dalibor Topic <robilad@kaffe.org>.
37
38 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
39
40         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
41         Prefer returning from main to exiting from it.
42         Remove unnecessary parens after sizeof.
43
44 2007-02-05  Bruno Haible  <bruno@clisp.org>
45
46         New module mbssep.
47         * modules/mbssep: New file.
48         * lib/mbssep.c: New file.
49         * lib/string_.h (strsep): Add a conditional link warning.
50         (mbssep): New declaration.
51         * m4/mbssep.m4: New file.
52         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53         GNULIB_MBSSEP.
54         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
55         * MODULES.html.sh (Internationalization functions): Add mbssep.
56
57 2007-02-05  Bruno Haible  <bruno@clisp.org>
58
59         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
60         Optimize search in case of 1 delimiter.
61
62 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
63
64         * lib/acl.h: Include sys/types.h before sys/acl.h.
65
66 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67
68         Merge upstream fix for glibc bugzilla #3957:
69
70         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
71
72         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73         bit for RE_HAT_LISTS_NOT_NEWLINE.
74         (build_charclass_op): Remove bogus comment.
75
76 2007-02-05  Simon Josefsson  <simon@josefsson.org>
77
78         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
79
80 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
81
82         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
83         * lib/memmem.c [!defined _LIBC]: Include config.h.
84
85 2007-02-04  Bruno Haible  <bruno@clisp.org>
86
87         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
88         warning message.
89
90 2007-02-04  Bruno Haible  <bruno@clisp.org>
91
92         New module mbstok_r.
93         * modules/mbstok_r: New file.
94         * lib/mbstok_r.c: New file.
95         * lib/string_.h (strtok_r): Change argument names to match the
96         comments. Add a conditional link warning.
97         (mbstok_r): New declaration.
98         * m4/mbstok_r.m4: New file.
99         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
100         GNULIB_MBSTOK_R.
101         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
102         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
103
104 2007-02-04  Bruno Haible  <bruno@clisp.org>
105
106         New module mbsspn.
107         * modules/mbsspn: New file.
108         * lib/mbsspn.c: New file.
109         * lib/string_.h (strspn): Add a conditional link warning.
110         (mbsspn): New declaration.
111         * m4/mbsspn.m4: New file.
112         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
113         GNULIB_MBSSPN.
114         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
115         * MODULES.html.sh (Internationalization functions): Add mbsspn.
116
117 2007-02-04  Bruno Haible  <bruno@clisp.org>
118
119         New module mbspbrk.
120         * modules/mbspbrk: New file.
121         * lib/mbspbrk.c: New file.
122         * lib/string_.h (strpbrk): Add a conditional link warning.
123         (mbspbrk): New declaration.
124         * m4/mbspbrk.m4: New file.
125         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
126         GNULIB_MBSPBRK.
127         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
128         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
129
130 2007-02-04  Bruno Haible  <bruno@clisp.org>
131
132         New module mbscspn.
133         * modules/mbscspn: New file.
134         * lib/mbscspn.c: New file.
135         * lib/string_.h (strcspn): Add a conditional link warning.
136         (mbscspn): New declaration.
137         * m4/mbscspn.m4: New file.
138         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
139         GNULIB_MBSCSPN.
140         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
141         * MODULES.html.sh (Internationalization functions): Add mbscspn.
142
143 2007-02-04  Bruno Haible  <bruno@clisp.org>
144
145         New module mbscasestr, reduced goal of strcasestr.
146         * modules/mbscasestr: New file.
147         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
148         (mbscasestr): Renamed from strcasestr.
149         * lib/strcasestr.c: Don't include mbuiter.h.
150         (strcasestr): Remove support for multibyte locales.
151         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
152         Change the conditional link warning.
153         (mbscasestr): New declaration.
154         * m4/mbscasestr.m4: New file.
155         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
156         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
157         REPLACE_STRCASESTR.
158         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
159         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
160         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
161         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
162         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
163         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
164         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
165         (Depends-on): Remove mbuiter.
166         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
167
168 2007-02-04  Bruno Haible  <bruno@clisp.org>
169
170         Simplify handling of strncasecmp.
171         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
172         the conditional link warning.
173         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
174         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
175         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
176         * modules/strcase (configure.ac): Don't invoke
177         gl_STRING_MODULE_INDICATOR.
178         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
179
180 2007-02-04  Bruno Haible  <bruno@clisp.org>
181
182         New module mbscasecmp, reduced goal of strcasecmp.
183         * modules/mbscasecmp: New file.
184         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
185         (mbscasecmp): Renamed from strcasecmp.
186         * lib/strcasecmp.c: Don't include mbuiter.h.
187         (strcasecmp): Remove support for multibyte locales.
188         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
189         Change the conditional link warning.
190         (mbscasecmp): New declaration.
191         * m4/mbscasecmp.m4: New file.
192         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
193         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
194         REPLACE_STRCASECMP.
195         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
196         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
197         GNULIB_MBSCASECMP.
198         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
199         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
200         * modules/strcase (Files): Remove m4/mbrtowc.m4.
201         (Depends-on): Remove mbuiter.
202         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
203
204 2007-02-04  Bruno Haible  <bruno@clisp.org>
205
206         New module mbsstr. Remove module strstr.
207         * modules/mbsstr: New file.
208         * modules/strstr: Remove file.
209         * lib/mbsstr.c: Renamed from lib/strstr.c.
210         (mbsstr): Renamed from strstr.
211         * lib/string_.h (strstr): Remove declaration. Change the conditional
212         link warning.
213         (mbsstr): New declaration.
214         * m4/mbsstr.m4: New file.
215         * m4/strstr.m4: Remove file.
216         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
217         REPLACE_STRSTR.
218         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
219         Don't initialize GNULIB_STRSTR.
220         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
221         substitute GNULIB_STRSTR and REPLACE_STRSTR.
222         * MODULES.html.sh (Internationalization functions): Add mbsstr.
223         (Support for systems lacking ANSI C 89): Remove strstr.
224
225 2007-02-04  Bruno Haible  <bruno@clisp.org>
226
227         New module mbsrchr.
228         * modules/mbsrchr: New file.
229         * lib/mbsrchr.c: New file.
230         * lib/string_.h (strrchr): Add a conditional link warning.
231         (mbsrchr): New declaration.
232         * m4/mbsrchr.m4: New file.
233         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
234         GNULIB_MBSRCHR.
235         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
236         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
237
238 2007-02-04  Bruno Haible  <bruno@clisp.org>
239
240         New module mbschr.
241         * modules/mbschr: New file.
242         * lib/mbschr.c: New file.
243         * lib/string_.h (strchr): Add a conditional link warning.
244         (mbschr): New declaration.
245         * m4/mbschr.m4: New file.
246         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
247         GNULIB_MBSCHR.
248         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
249         * MODULES.html.sh (Internationalization functions): Add mbschr.
250
251 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
252
253         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
254
255         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
256
257 2007-02-04  Bruno Haible  <bruno@clisp.org>
258
259         New module description section 'configure.ac-early'.
260         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
261         (func_get_autoconf_early_snippet): New function.
262         (func_import, func_create_testdir): Use it. Remove special cases for
263         modules 'extensions' and 'lock'.
264         * modules/extensions (configure.ac-early): Require
265         gl_USE_SYSTEM_EXTENSIONS.
266         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
267
268 2007-02-04  Bruno Haible  <bruno@clisp.org>
269
270         Make use of gcj-4.3's -fsource and -ftarget option.
271         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
272         and if so try the options -fsource and -ftarget.
273         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
274         source_version, ftarget_option, target_version arguments.
275         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
276         (is_envjavac_oldgcj_14_14_usable): Renamed from
277         is_envjavac_gcj_14_14_usable.
278         (is_envjavac_oldgcj_14_13_usable): Renamed from
279         is_envjavac_gcj_14_13_usable.
280         (is_gcj_present): Update.
281         (is_gcj_43, is_gcj43_usable): New functions.
282         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
283         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
284         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
285         try the options -fsource and -ftarget.
286
287 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
288
289         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
290         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
291         larger value.
292
293 2007-02-03  Jim Meyering  <jim@meyering.net>
294
295         Give tools a better chance to allocate space for very large buffers.
296         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
297
298         Make pwd and readlink work also when run with an unreadable parent dir
299         on systems with openat support.
300         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
301         provided getcwd function, even when we have openat support.
302         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
303
304 2007-02-02  Bruno Haible  <bruno@clisp.org>
305
306         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
307         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
308         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
309         portability problems if one of these functions is only used on specific
310         platforms.
311         Reported by Paul Eggert.
312
313 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
314
315         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
316         is causing more trouble than it's curing.
317         * lib/regex_internal.h (__mempcpy): Remove.
318         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
319         (and make the code a tad smaller to boot).
320         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
321
322 2007-02-02  Jim Meyering  <jim@meyering.net>
323
324         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
325         section, not in the Makefile.am: one.
326
327 2007-02-02  Eric Blake  <ebb9@byu.net>
328
329         * lib/strchrnul.c: Always include config.h first.
330
331         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
332         gnulib strstr is not necessary here.
333
334 2007-02-02  Simon Josefsson  <simon@josefsson.org>
335
336         * m4/socklen.m4: Fix typo.
337
338 2007-02-02  Eric Blake  <ebb9@byu.net>
339
340         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
341         * modules/netinet_in (Makefile.am): Likewise.
342
343 2007-02-01  Bruno Haible  <bruno@clisp.org>
344
345         * lib/string_.h (GL_LINK_WARNING): New macro.
346         (strcasecmp, strstr, strcasestr): If provided by the system,
347         conditionally define as a macro that leads to a warning instead of to
348         an error.
349         (strncasecmp): Conditionally define as a macro that leads to a warning.
350
351 2007-02-01  Jim Meyering  <jim@meyering.net>
352
353         Give tools a better chance to allocate space for very large buffers.
354         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
355
356 2007-02-01  Karl Berry  <karl@gnu.org>
357
358         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
359
360 2007-02-01  Bruno Haible  <bruno@clisp.org>
361
362         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
363         renamings.
364
365 2007-02-01  Eric Blake  <ebb9@byu.net>
366
367         * modules/regex (Depends-on): Revert dependence on mempcpy.
368         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
369         module's definition of mempcpy.
370         Reported by Paul Eggert.
371
372 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
373
374         * lib/string_.h: If the gnulib module XYZ is not present, undefine
375         the symbol XYZ before redefining it.  This fixes a problem with
376         programs that don't use XYZ, when compiled on systems that define
377         XYZ to something else.
378
379 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
380
381         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
382         occurs when "mkdir -m foo" creates a setgid directory that is (1)
383         writeable to group or other and (2) is intended to have a special
384         mode bit that is set or cleared.  In such a case, the directory
385         should be neither group- nor other-writeable until the special
386         mode bits are right.
387
388 2007-01-31  Eric Blake  <ebb9@byu.net>
389
390         * modules/mountlist (Depends-on): Add strstr.
391
392         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
393         bug.
394         * modules/string (Makefile.am): Remove redundant replacement.
395         * modules/regex (Depends-on): Add mempcpy.
396
397 2007-01-31  Bruno Haible  <bruno@clisp.org>
398
399         New module description field 'Link'.
400         * gnulib-tool (func_usage): Document --extract-link-directive.
401         (sed_extract_prog): Recognize 'Link' directive.
402         (func_get_link_directive): New function.
403         (func_import): Show summary of link directives.
404         Handle --extract-link-directive option.
405         * modules/acl (Link): New section.
406         * modules/clock-time (Link): New section.
407         * modules/euidaccess (Link): New section.
408         * modules/gettext (Link): New section.
409         * modules/iconv (Link): New section.
410         * modules/lock (Link): New section.
411         * modules/nanosleep (Link): New section.
412         * modules/readline (Link): New section.
413
414 2007-01-27  Bruno Haible  <bruno@clisp.org>
415
416         Enforce the use of gnulib modules for unportable <string.h> functions.
417         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
418         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
419         (gl_HEADER_STRING_H_BODY): Require it.
420         * lib/string_.h: If the gnulib module XYZ is not present, redefine
421         the symbol XYZ to one that gives a link error.
422         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
423         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
424         * modules/mempcpy (configure.ac): Likewise.
425         * modules/memrchr (configure.ac): Likewise.
426         * modules/stpcpy (configure.ac): Likewise.
427         * modules/stpncpy (configure.ac): Likewise.
428         * modules/strcase (configure.ac): Likewise.
429         * modules/strcasestr (configure.ac): Likewise.
430         * modules/strchrnul (configure.ac): Likewise.
431         * modules/strdup (configure.ac): Likewise.
432         * modules/strndup (configure.ac): Likewise.
433         * modules/strnlen (configure.ac): Likewise.
434         * modules/strpbrk (configure.ac): Likewise.
435         * modules/strsep (configure.ac): Likewise.
436         * modules/strstr (configure.ac): Likewise.
437         * modules/strtok_r (configure.ac): Likewise.
438
439 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
440
441         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
442
443 2007-01-30  Jim Meyering  <jim@meyering.net>
444
445         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
446
447 2007-01-29  Bruno Haible  <bruno@clisp.org>
448
449         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
450         * lib/execute.c: Likewise.
451         * lib/pipe.c: Likewise.
452         * lib/printf-args.h: Likewise.
453         * lib/printf-args.c: Likewise.
454         * lib/printf-parse.c: Likewise.
455         * lib/vasnprintf.c: Likewise.
456
457 2007-01-29  Eric Blake  <ebb9@byu.net>
458
459         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
460         declaration.
461
462 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
463
464         * lib/strptime.h (strptime): Use 'restrict' for args where
465         POSIX requires this.
466         * lib/strptime.c (strptime): Likewise.
467         Change license notice from LGPL to GPL, since gnulib-tool will
468         change this as needed.
469         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
470         defined.
471         Include "strptime.h" first, to check interface.
472         Do not #undef _LIBC and _NL_CURRENT.
473         Do not include <stdlib.h>; no longer needed.
474         Include "time_r.h" and declare ptime_locale_status
475         only if _LIBC is not defined.
476         (__P): Remove unused macro.
477         (match_string): Bring back glibc version, but use it only if _LIBC
478         is defined.
479         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
480         Remove unnecessary assertion and abort() call.
481         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
482         * m4/strptime.m4: Fix serial number comment.
483         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
484         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
485         (Depends-on): Add time_r.
486
487 2007-01-29  Bruno Haible  <bruno@clisp.org>
488
489         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
490         strptime.
491         * modules/strptime (Depends-on): Add stdbool.
492         * lib/strptime.h: Include <time.h> always. Add comments.
493
494 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
495
496         * modules/strptime: New file.
497         * lib/strptime.h: New file.
498         * lib/strptime.c: New file.
499         * m4/strptime.m4: New file.
500
501 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
502
503         * MODULES.html.sh: New module mpsort.
504         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
505
506         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
507         a circularity problem with HP-UX ia64 reported by Bob Proulx in
508         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
509         All uses changed.
510         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
511         All uses changed.
512         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
513         to _Restrict_.
514         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
515         the parameter matches the prototype.
516
517 2007-01-28  Jim Meyering  <jim@meyering.net>
518
519         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
520         sys/time.h here, reverting that part of the previous patch:
521         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
522
523 2007-01-28  Bruno Haible  <bruno@clisp.org>
524
525         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
526         value of $(SYS_TIME_H).
527         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
528         remove it conditionally, too. [added by Jim Meyering]
529         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
530         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
531         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
532         GETTIMEOFDAY_REPLACEMENT to 1.
533
534 2007-01-28  Bruno Haible  <bruno@clisp.org>
535
536         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
537         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
538         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
539         Set UNISTD_H instead of UNISTD_H2.
540         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
541
542 2007-01-28  Bruno Haible  <bruno@clisp.org>
543
544         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
545         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
546
547 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
548
549         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
550         (func_create_testdir): Ensure C locale for `grep' and `tr'
551         character ranges.
552         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
553         ACLOCAL_AMFLAGS parsing state machine.
554
555 2007-01-27  Bruno Haible  <bruno@clisp.org>
556
557         * modules/unistr/base: Update.
558
559 2007-01-27  Bruno Haible  <bruno@clisp.org>
560
561         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
562         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
563         * modules/unistr/u32-mbtouc-unsafe: Renamed from
564         modules/unistr/u32-mbtouc.
565         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
566         * lib/unistr.h: Update.
567         * lib/linebreak.c: Update.
568         * modules/unistr/u32-mbtouc: Renamed from
569         modules/unistr/u32-mbtouc-safe.
570         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
571         * lib/unistr.h: Update.
572         * lib/unistr/u32-to-u8.c: Update.
573         * lib/unistr/u32-to-u16.c: Update.
574
575 2007-01-27  Bruno Haible  <bruno@clisp.org>
576
577         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
578         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
579         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
580         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
581         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
582         * modules/unistr/u16-mbtouc-unsafe: Renamed from
583         modules/unistr/u16-mbtouc.
584         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
585         * lib/unistr.h: Update.
586         * lib/linebreak.c: Update.
587         * modules/linebreak: Update.
588         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
589         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
590         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
591         * modules/unistr/u16-mbtouc: Renamed from
592         modules/unistr/u16-mbtouc-safe.
593         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
594         * lib/unistr.h: Update.
595         * lib/unistr/u16-to-u8.c: Update.
596         * modules/unistr/u16-to-u8: Update.
597         * lib/unistr/u16-to-u32.c: Update.
598         * modules/unistr/u16-to-u32: Update.
599
600 2007-01-27  Bruno Haible  <bruno@clisp.org>
601
602         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
603         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
604         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
605         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
606         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
607         * modules/unistr/u8-mbtouc-unsafe: Renamed from
608         modules/unistr/u8-mbtouc.
609         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
610         * lib/unistr.h: Update.
611         * lib/striconveh.c: Update.
612         * modules/striconveh: Update.
613         * lib/linebreak.c: Update.
614         * modules/linebreak: Update.
615         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
616         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
617         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
618         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
619         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
620         * lib/unistr.h: Update.
621         * lib/striconveh.c: Update.
622         * modules/striconveh: Update.
623         * lib/unistr/u8-to-u16.c: Update.
624         * modules/unistr/u8-to-u16: Update.
625         * lib/unistr/u8-to-u32.c: Update.
626         * modules/unistr/u8-to-u32: Update.
627
628 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
629
630         Sync from Libtool.
631         * lib/argz.c: Do not include strings.h nor memory.h, include
632         string.h unconditionally.  Patch by Simon Josefsson.
633
634 2007-01-27  Bruno Haible  <bruno@clisp.org>
635
636         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
637         from gl_HEADER_STRING_H_BODY.
638         (gl_HEADER_STRING_H_BODY): Require it.
639         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
640         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
641         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
642         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
643         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
644         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
645         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
646         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
647         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
648         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
649         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
650         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
651         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
652         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
653         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
654
655 2007-01-27  Bruno Haible  <bruno@clisp.org>
656
657         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
658         check_PROGRAMS into noinst_PROGRAMS.
659         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
660         check_PROGRAMS in this case.
661         (func_import): Set for_test to false.
662         (func_create_testdir): Set for_test to true.
663
664 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
665             Bruno Haible  <bruno@clisp.org>
666
667         * modules/strcasestr (Files): Remove lib/strcasestr.h.
668         (Depends-on): Add string.
669         (Includes): Use <string.h> instead of strcasestr.h.
670         * modules/string (Makefile.am): Also substitute the value of
671         REPLACE_STRCASESTR.
672         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
673         assume strcasestr is declared in <string.h> not <strings.h>. Also
674         set REPLACE_STRCASESTR.
675         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
676         REPLACE_STRCASESTR.
677         * lib/strcasestr.h: Remove file.
678         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
679         * lib/string_.h (strcasestr): New declaration.
680
681 2007-01-27  Bruno Haible  <bruno@clisp.org>
682
683         * lib/string_.h: Use 'extern'.
684
685 2007-01-27  Jim Meyering  <jim@meyering.net>
686
687         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
688         of set-but-not-used local, "q".
689
690         * lib/mempcpy.c: Include <config.h> before <string.h>.
691         This fixes a compilation error on HP-UX, due to the system's
692         "restrict"-using mempcpy prototype.
693
694 2007-01-26  Bruno Haible  <bruno@clisp.org>
695
696         Small optimization.
697         * lib/javacomp.c: Include c-strstr.h.
698          (is_envjavac_gcj): Use c_strstr instead of strstr.
699         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
700
701 2007-01-26  Bruno Haible  <bruno@clisp.org>
702
703         * MODULES.html.sh (Unicode string functions): Add the new modules.
704
705         * modules/uniconv/u32-strconv-to-locale: New file.
706         * lib/uniconv/u32-strconv-to-locale.c: New file.
707
708         * modules/uniconv/u16-strconv-to-locale: New file.
709         * lib/uniconv/u16-strconv-to-locale.c: New file.
710
711         * modules/uniconv/u8-strconv-to-locale: New file.
712         * lib/uniconv/u8-strconv-to-locale.c: New file.
713
714         * modules/uniconv/u32-strconv-from-locale: New file.
715         * lib/uniconv/u32-strconv-from-locale.c: New file.
716
717         * modules/uniconv/u16-strconv-from-locale: New file.
718         * lib/uniconv/u16-strconv-from-locale.c: New file.
719
720         * modules/uniconv/u8-strconv-from-locale: New file.
721         * lib/uniconv/u8-strconv-from-locale.c: New file.
722
723         * modules/uniconv/u32-strconv-to-enc: New file.
724         * lib/uniconv/u32-strconv-to-enc.c: New file.
725         * modules/uniconv/u32-strconv-to-enc-tests: New file.
726         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
727
728         * modules/uniconv/u16-strconv-to-enc: New file.
729         * lib/uniconv/u16-strconv-to-enc.c: New file.
730         * lib/uniconv/u-strconv-to-enc.h: New file.
731         * modules/uniconv/u16-strconv-to-enc-tests: New file.
732         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
733
734         * modules/uniconv/u8-strconv-to-enc: New file.
735         * lib/uniconv/u8-strconv-to-enc.c: New file.
736         * modules/uniconv/u8-strconv-to-enc-tests: New file.
737         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
738
739         * modules/uniconv/u32-strconv-from-enc: New file.
740         * lib/uniconv/u32-strconv-from-enc.c: New file.
741         * modules/uniconv/u32-strconv-from-enc-tests: New file.
742         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
743
744         * modules/uniconv/u16-strconv-from-enc: New file.
745         * lib/uniconv/u16-strconv-from-enc.c: New file.
746         * modules/uniconv/u16-strconv-from-enc-tests: New file.
747         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
748
749         * modules/uniconv/u8-strconv-from-enc: New file.
750         * lib/uniconv/u8-strconv-from-enc.c: New file.
751         * lib/uniconv/u-strconv-from-enc.h: New file.
752         * modules/uniconv/u8-strconv-from-enc-tests: New file.
753         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
754
755         * modules/uniconv/u32-conv-from-enc: New file.
756         * lib/uniconv/u32-conv-from-enc.c: New file.
757         * modules/uniconv/u32-conv-from-enc-tests: New file.
758         * tests/uniconv/test-u32-conv-from-enc.c: New file.
759
760         * modules/uniconv/u16-conv-from-enc: New file.
761         * lib/uniconv/u16-conv-from-enc.c: New file.
762         * lib/uniconv/u-conv-from-enc.h: New file.
763         * modules/uniconv/u16-conv-from-enc-tests: New file.
764         * tests/uniconv/test-u16-conv-from-enc.c: New file.
765
766         * modules/uniconv/u8-conv-from-enc: New file.
767         * lib/uniconv/u8-conv-from-enc.c: New file.
768         * modules/uniconv/u8-conv-from-enc-tests: New file.
769         * tests/uniconv/test-u8-conv-from-enc.c: New file.
770
771         * modules/uniconv/base: New file.
772         * lib/uniconv.h: New file.
773
774 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
775
776         * doc/gnulib-tool.texi (Initial import): Update to match current
777         behavior with strdup module.
778         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
779         * lib/memmem.h: Remove; all uses removed.  This is now done
780         by <string.h>.
781         * lib/mempcpy.h: Likewise.
782         * lib/memrchr.h: Likewise.
783         * lib/stpcpy.h: Likewise.
784         * lib/stpncpy.h: Likewise.
785         * lib/strcase.h: Likewise.
786         * lib/strchrnul.h: Likewise.
787         * lib/strdup.h: Likewise.
788         * lib/strndup.h: Likewise.
789         * lib/strnlen.h: Likewise.
790         * lib/strpbrk.h: Likewise.
791         * lib/strsep.h: Likewise.
792         * lib/strstr.h: Likewise.
793         * lib/strtok_r.h: Likewise.
794         * lib/string_.h: New file.
795         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
796         Rely on <string.h> instead.
797         * lib/canon-host.c: Likewise.
798         * lib/chdir-long.c: Likewise.
799         * lib/concatpath.c: Likewise.
800         * lib/exclude.c: Likewise.
801         * lib/fchdir.c: Likewise.
802         * lib/getaddrinfo.c: Likewise.
803         * lib/getcwd.c: Likewise.
804         * lib/getsubopt.c: Likewise.
805         * lib/glob.c: Likewise.
806         * lib/hard-locale.c: Likewise.
807         * lib/iconvme.c: Likewise.
808         * lib/javacomp.c: Likewise.
809         * lib/mempcpy.c: Likewise.
810         * lib/memrchr.c: Likewise.
811         * lib/regex_internal.h: Likewise.
812         * lib/stpncpy.c: Likewise.
813         * lib/strcasecmp.c: Likewise.
814         * lib/strchrnul.c: Likewise.
815         * lib/strdup.c: Likewise.
816         * lib/striconv.c: Likewise.
817         * lib/striconveh.c: Likewise.
818         * lib/striconveha.c: Likewise.
819         * lib/strncasecmp.c: Likewise.
820         * lib/strndup.c: Likewise.
821         * lib/strnlen.c: Likewise.
822         * lib/strsep.c: Likewise.
823         * lib/strstr.c: Likewise.
824         * lib/strtok_r.c: Likewise.
825         * lib/userspec.c: Likewise.
826         * lib/w32spawn.h: Likewise.
827         * lib/xstrndup.c: Likewise.
828         * lib/mountlist.c (strstr): Remove decl.
829         * m4/string_h.m4: New file.
830         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
831         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
832         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
833         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
834         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
835         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
836         Set REPLACE_STRCASECMP if necessary.
837         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
838         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
839         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
840         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
841         HAVE_DECL_STRDUP if necessary.
842         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
843         since gl_FUNC_STRNDUP does that now.
844         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
845         Check for decl here...
846         (gl_PREREQ_STRNLEN): ... not here.
847         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
848         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
849         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
850         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
851         necessary.
852         * modules/string: New file.
853         * modules/memmem (Files): Remove special-purpose include file.
854         (Depends-on): Add string.
855         (Include): Include <string.h>, not the removed file.
856         * modules/mempcpy: Likewise.
857         * modules/memrchr: Likewise.
858         * modules/stpcpy: Likewise.
859         * modules/stpncpy: Likewise.
860         * modules/strcase: Likewise.
861         * modules/strchrnul: Likewise.
862         * modules/strdup: Likewise.
863         * modules/strndup: Likewise.
864         * modules/strnlen: Likewise.
865         * modules/strpbrk: Likewise.
866         * modules/strsep: Likewise.
867         * modules/strstr: Likewise.
868         * modules/strtok_r: Likewise.
869         * tests/test-dirname.c: Don't include "strdup.h", since
870         <string.h> now suffices.
871         * tests/test-memmem.c: Don't include "memmem.h", since
872         <string.h> now suffices.
873
874 2007-01-25  Bruno Haible  <bruno@clisp.org>
875
876         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
877         *resultp is 0.
878
879         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
880         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
881         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
882         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
883
884         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
885         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
886         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
887         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
888         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
889         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
890
891 2007-01-24  Bruno Haible  <bruno@clisp.org>
892
893         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
894         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
895         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
896         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
897         gl_FUNC_FTS_CORE.
898         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
899         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
900         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
901         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
902         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
903         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
904         gl_FUNC_FCHOWNAT.
905         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
906         gl_FUNC_STRFTIME.
907         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
908         Reported by Ralf Wildenhues.
909
910 2007-01-24  Bruno Haible  <bruno@clisp.org>
911
912         Drop AC_REQUIRE calls that are redundant with the module dependencies.
913         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
914         gl_GETADDRINFO.
915         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
916         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
917         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
918
919 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
920
921         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
922         Don't use 'exit'; just return from 'main'.
923         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
924
925         * lib/fnmatch_.h: Readjust white space and comments to match
926         glibc, to avoid spurious diffs.
927
928 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
929
930         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
931         2004-12-01 change by Jakub Jelinek, since this code won't compile
932         if !LIBC.  Problem reported by Bob Proulx.
933
934 2007-01-23  Bruno Haible  <bruno@clisp.org>
935
936         * lib/striconveh.c: Include c-strcaseeq.h.
937         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
938         * modules/striconveh (Depends-on): Add c-strcaseeq.
939
940 2007-01-23  Bruno Haible  <bruno@clisp.org>
941
942         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
943
944         * modules/c-strcaseeq: New file.
945         * lib/c-strcaseeq.h: New file.
946
947         * modules/streq: New file.
948         * lib/streq.h: New file.
949
950 2007-01-23  Bruno Haible  <bruno@clisp.org>
951
952         * modules/striconveha-tests: New file.
953         * tests/test-striconveha.c: New file.
954
955         * lib/striconveha.h: Include <stdbool.h>.
956         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
957         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
958         (mem_iconveha_notranslit): Renamed from mem_iconveha.
959         (mem_iconveha): New function.
960         (str_iconveha_notranslit): Renamed from str_iconveha.
961         (str_iconveha): New function.
962         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
963         c-strcase.
964
965 2007-01-23  Bruno Haible  <bruno@clisp.org>
966
967         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
968         encodings without forgiving before trying any encoding with handler.
969         (str_iconveha): Try all encodings without forgiving before trying any
970         encoding with handler.
971
972 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
973
974         Import the following changes from libc.
975
976         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
977
978         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
979
980         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
981
982         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
983         normal_bracket label.
984
985         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
986
987         [BZ #361]
988         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
989         to normal_bracket after fetching the next character.
990
991 2007-01-22  Bruno Haible  <bruno@clisp.org>
992
993         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
994         argument.
995         * lib/striconveh.c (iconv_carefully_1): New function.
996         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
997         argument.
998         (str_cd_iconveh): Update.
999         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
1000         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
1001         * tests/test-striconveh.c (MAGIC): New macro.
1002         (new_offsets): New function.
1003         (main): Test call with and without offsets.
1004
1005 2007-01-22  Bruno Haible  <bruno@clisp.org>
1006
1007         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
1008         * modules/sys_select (Makefile.am): Likewise.
1009         * modules/sys_socket (Makefile.am): Likewise.
1010         * modules/sys_time (Makefile.am): Likewise.
1011
1012 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1013
1014         * modules/gettimeofday (License): Change from GPL to LGPL, since
1015         gettimeofday is a library function.
1016
1017 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1018
1019         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
1020
1021 2007-01-21  Bruno Haible  <bruno@clisp.org>
1022
1023         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
1024
1025 2007-01-21  Bruno Haible  <bruno@clisp.org>
1026
1027         * modules/striconveha: New file.
1028         * lib/striconveha.h: New file.
1029         * lib/striconveha.c: New file.
1030         * MODULES.html.sh (Internationalization functions): Add striconveha.
1031         * lib/striconv.c (str_iconv): Optimize the case of an empty input
1032         string.
1033         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
1034
1035 2007-01-21  Bruno Haible  <bruno@clisp.org>
1036
1037         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
1038         * lib/striconveh.c (str_iconveh): Likewise.
1039
1040 2007-01-21  Bruno Haible  <bruno@clisp.org>
1041
1042         * lib/striconveh.h (mem_iconveh): New declaration.
1043         * lib/striconveh.c (mem_iconveh): New function.
1044         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
1045
1046 2007-01-21  Bruno Haible  <bruno@clisp.org>
1047
1048         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
1049
1050         * lib/striconveh.h (mem_cd_iconveh): Change specification.
1051         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
1052         original result buffer.
1053         (str_cd_iconveh): Update.
1054         * tests/test-striconveh.c (main): Update.
1055
1056         * lib/striconv.h (mem_cd_iconv): Change specification.
1057         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
1058         result buffer.
1059         (str_cd_iconv): Update.
1060         * tests/test-striconv.c (main): Update.
1061
1062 2007-01-21  Bruno Haible  <bruno@clisp.org>
1063
1064         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
1065
1066 2007-01-20  Jim Meyering  <jim@meyering.net>
1067
1068         * lib/userspec.c (parse_with_separator): If a user or group string
1069         starts with "+", skip the corresponding name-to-ID look-up, since
1070         such a look-up must fail: user and group names may not include "+".
1071
1072 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
1073
1074         * lib/poll.c: Include sys/time.h and time.h unconditionally,
1075         since we now assume the sys_time module.
1076         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
1077         check for sys/time.h; no longer needed.
1078         * modules/poll (Depends-on): Depend on sys_time.
1079
1080 2007-01-18  Bruno Haible  <bruno@clisp.org>
1081
1082         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
1083         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
1084
1085         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
1086         gettimeofday.
1087
1088         * tests/test-gettimeofday.c: Include <time.h>.
1089         (dummy): Remove variable.
1090
1091         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
1092         gl_HEADER_SYS_TIME_H.
1093         (gl_HEADER_SYS_TIME_H): New macro.
1094
1095         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
1096         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1097         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
1098         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
1099         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1100         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
1101         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
1102         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1103         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
1104         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
1105         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1106
1107         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
1108         last change; it caused a compilation error when cross-compiling to
1109         Cygwin.
1110
1111 2007-01-18  Jim Meyering  <jim@meyering.net>
1112
1113         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
1114         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
1115         than the race-prone "test -d sys || mkdir sys".
1116         (configure.ac): Use AC_PROG_MKDIR_P.
1117         * modules/sys_select: Likewise.
1118         * modules/sys_socket: Likewise.
1119         * modules/sys_time: Likewise.
1120
1121 2007-01-18  Eric Blake  <ebb9@byu.net>
1122
1123         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
1124         replace gettimeofday.
1125         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
1126         name, to avoid infinite recursion.
1127
1128 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
1129
1130         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
1131         module sys_time.
1132         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
1133         assume timespec.h defines struct timeval.
1134         * lib/settime.c: Likewise.
1135         * lib/utimens.c: Likewise.
1136         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
1137         since we now assume the gettimeofday module.
1138         * lib/tempname.c (__gen_tempname): Likewise.
1139         * lib/gettimeofday.h: Remove.
1140         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
1141         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
1142         Include <time.h>, for 'time()'.
1143         (localtime_buffer_addr): Also use this workaround if
1144         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
1145         to simplify the uses.  All uses changed.
1146         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
1147         that #undef is inside {}, and 'const' follows type name consistently.
1148         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
1149         (gettimeofday): Do not use the maximum possible value for
1150         tv->tv_usec, since that might break usages other than ls.c.
1151         Instead, we'll leave ls.c alone.  This undoes today's patch
1152         by Bruno.  Add a compile-time warning for 1s-clock resolution;
1153         we've never observed the problem but might as well keep the
1154         canary.
1155         * lib/nanosleep.c: Include timespec.h first, for interface check.
1156         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
1157         now assume the sys_time module.
1158         * lib/tempname.c: Likewise.
1159         * lib/timespec.h: Likewise.
1160         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
1161         needed.
1162         * lib/strftime.c: Likewise.
1163         * lib/timespec.h: Likewise.
1164         * lib/posixtm.c: Include posixtm.h first, for interface check.
1165         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
1166         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
1167         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
1168         * lib/sys_time_.h: New file.
1169         * lib/timespec.h (struct timespec): Use long int, not long.
1170         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
1171         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
1172         Remove obsolescent call to AC_HEADER_TIME.
1173         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
1174         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1175         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
1176         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
1177         Likewise.
1178         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
1179         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
1180         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
1181         into the sys_time module.  Check for gettimeofday just once.
1182         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
1183         for gettimeofday signature to just check the signature.  Merely
1184         compile it, since linking doesn't test signature.  Improve test for
1185         whether gettimeofday.o is actually needed.
1186         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
1187         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
1188         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
1189         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1190         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
1191         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
1192         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
1193         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
1194         than worrying about sys/time.h.
1195         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
1196         Don't bother worrying about TIME_WITH_SYS_TIME.
1197         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
1198         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
1199         * m4/sys_time_h.m4: New file.
1200         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
1201         Don't include sys/time.h.  Return from main rather than exiting.
1202         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
1203         all uses changed.
1204         * modules/gethrxtime (Depends-on): Add sys_time.
1205         * modules/gettime (Depends-on): Likewise.
1206         * modules/gettimeofday (Depends-on): Likewise.
1207         * modules/nanosleep (Depends-on): Likewise.
1208         * modules/settime (Depends-on): Likewise.
1209         * modules/tempname (Depends-on): Likewise.
1210         * modules/utimens (Depends-on): Likewise.
1211         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
1212         (Include:) Change back to <sys/time.h>.
1213         (Maintainer:) Add self.
1214         * modules/sys_time: New file.
1215         * modules/tempname (Depends-on): Add gettimeofday.
1216         * tests/test-gettimeofday.c: Include <sys/time.h>
1217         rather than gettimeofday.h.
1218
1219 2007-01-17  Bruno Haible  <bruno@clisp.org>
1220
1221         * gnulib-tool (func_get_license): Revert last patch. Instead, let
1222         the license default to GPL.
1223         (func_create_testdir): Don't complain if a module is LGPL and its
1224         tests module depends on GPLed modules.
1225
1226 2007-01-17  Bruno Haible  <bruno@clisp.org>
1227
1228         * lib/gettimeofday.c (gettimeofday): Add code for the case
1229         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
1230         maximum possible value for tv->tv_usec, rather than the minimum one.
1231
1232 2005-10-08  Martin Lambers  <marlam@marlam.de>
1233 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
1234 2007-01-16  Bruno Haible  <bruno@clisp.org>
1235
1236         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
1237         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
1238         gl_FUNC_GETTIMEOFDAY.
1239         (Include): Add gettimeofday.h.
1240         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
1241         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
1242         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
1243         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
1244         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
1245         * lib/gettimeofday.h: New file.
1246         * lib/gettimeofday.c: Include <sys/timeb.h>.
1247         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
1248         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
1249         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
1250         fall back on time().
1251
1252         * tests/test-gettimeofday.c: New file.
1253         * modules/gettimeofday-tests: New file.
1254
1255 2007-01-16  Eric Blake  <ebb9@byu.net>
1256
1257         * modules/fnmatch (Depends-on): Depend on wchar.
1258         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
1259         * m4/fnmatch.m4: Likewise.
1260         * modules/mbchar (Makefile.am): Assume <wchar.h>.
1261         * m4/mbchar.m4: Likewise.
1262         * modules/mbswidth (Depends-on): Depend on wchar.
1263         * lib/mbswidth.c: Assume <wchar.h>.
1264         * m4/mbswidth.m4: Likewise.
1265         * modules/quotearg (Depends-on): Depend on wchar.
1266         * lib/quotearg.c: Assume <wchar.h>.
1267         * m4/quotearg.m4: Likewise.
1268         * modules/regex (Depends-on): Depend on wchar.
1269         * lib/regex_internal.h: Assume <wchar.h>.
1270         * m4/regex.m4: Likewise.
1271         * modules/stdint (Depends-on): Depend on wchar.
1272         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
1273         * m4/stdint.m4: Likewise.
1274         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
1275         * modules/strftime (Depends-on): Depend on wchar.
1276         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
1277         * modules/strtol (Depends-on): Depend on wchar.
1278         * lib/strtol.c: Assume <wchar.h>.
1279         * modules/wcwidth (Depends-on): Depend on wchar.
1280         * lib/wcwidth.h: Assume <wchar.h>.
1281         * m4/wcwidth.m4: Likewise.
1282
1283 2007-01-16  Bruno Haible  <bruno@clisp.org>
1284
1285         * modules/csharpexec-script: New, created from...
1286         * modules/csharpexec: ... this.
1287
1288 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
1289
1290         * modules/javaexec-script: New, created from...
1291         * modules/javaexec: ... this.
1292
1293 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1294
1295         * modules/poll (Dependencies): Add sys_select.
1296
1297 2007-01-15  Jim Meyering  <jim@meyering.net>
1298
1299         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
1300         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
1301         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
1302         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
1303
1304 2007-01-15  Bruno Haible  <bruno@clisp.org>
1305
1306         * modules/striconveh: New file.
1307         * lib/striconveh.h: New file.
1308         * lib/striconveh.c: New file.
1309         * MODULES.html.sh (Internationalization functions): Add striconveh.
1310
1311         * modules/striconveh-tests: New file.
1312         * tests/test-striconveh.c: New file.
1313
1314 2007-01-15  Bruno Haible  <bruno@clisp.org>
1315
1316         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
1317         not from GNU libiconv or GNU libc.
1318
1319 2007-01-15  Bruno Haible  <bruno@clisp.org>
1320
1321         * doc/gnulib-intro.texi (Copyright): Explain the different license
1322         terms for module descriptions, autoconf macros, tests, documentation.
1323
1324 2007-01-14  Bruno Haible  <bruno@clisp.org>
1325
1326         * modules/striconv-tests: New file.
1327         * tests/test-striconv.c: New file.
1328
1329 2007-01-14  Bruno Haible  <bruno@clisp.org>
1330
1331         * modules/iconv-tests: New file.
1332         * tests/test-iconv.c: New file.
1333
1334 2007-01-14  Bruno Haible  <bruno@clisp.org>
1335
1336         * gnulib-tool (func_get_license): For test modules, use the license of
1337         the main module.
1338
1339 2007-01-14  Bruno Haible  <bruno@clisp.org>
1340
1341         * modules/iconv (Include): Clarify that <iconv.h> can only be included
1342         if iconv is found to exist.
1343
1344 2007-01-14  Bruno Haible  <bruno@clisp.org>
1345
1346         * modules/c-ctype-tests: New file.
1347         * tests/test-c-ctype.c: New file.
1348
1349 2007-01-14  Bruno Haible  <bruno@clisp.org>
1350
1351         * modules/binary-io-tests: New file.
1352         * tests/test-binary-io.sh: New file.
1353         * tests/test-binary-io.c: New file.
1354
1355 2007-01-14  Bruno Haible  <bruno@clisp.org>
1356
1357         * modules/array-oset-tests: New file.
1358         * tests/test-array_oset.c: New file.
1359
1360 2007-01-14  Bruno Haible  <bruno@clisp.org>
1361
1362         * modules/array-list-tests: New file.
1363         * tests/test-array_list.c: New file.
1364
1365 2007-01-14  Bruno Haible  <bruno@clisp.org>
1366
1367         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
1368         and make.
1369         Reported by Simon Josefsson in
1370         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
1371
1372 2007-01-14  Bruno Haible  <bruno@clisp.org>
1373
1374         * modules/allocsa-tests: New file.
1375         * tests/test-allocsa.c: New file.
1376
1377 2007-01-14  Bruno Haible  <bruno@clisp.org>
1378
1379         * modules/fchdir (Depends-on): Add absolute-header.
1380         * modules/unistd (Depends-on): Likewise.
1381
1382 2006-12-30  Bruno Haible  <bruno@clisp.org>
1383
1384         * modules/fchdir: New file.
1385         * modules/unistd (Files): Add lib/unistd_.h.
1386         (Makefile.am): Generate unistd.h from unistd_.h.
1387         * lib/fchdir.c: New file.
1388         * lib/dirent_.h: New file.
1389         * lib/unistd_.h: New file.
1390         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
1391         * m4/fchdir.m4: New file.
1392         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
1393         (gl_HEADER_UNISTD): Invoke it.
1394         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
1395         function.
1396         * lib/backupfile.c (opendir, closedir): Undefine.
1397         * lib/chown.c (open, close): Undefine.
1398         * lib/clean-temp.c (open, close): Undefine.
1399         * lib/copy-file.c (open, close): Undefine.
1400         * lib/execute.c (open, close): Undefine.
1401         * lib/fsusage.c (open, close): Undefine.
1402         * lib/gc-gnulib.c (open, close): Undefine.
1403         * lib/getcwd.c (opendir, closedir): Undefine.
1404         * lib/glob.c (opendir, closedir): Undefine.
1405         * lib/javacomp.c (open, close): Undefine.
1406         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
1407         * lib/openat-proc.c (open, close): Undefine.
1408         * lib/pagealign_alloc.c (open, close): Undefine.
1409         * lib/pipe.c (open, close): Undefine.
1410         * lib/progreloc.c (open, close): Undefine.
1411         * lib/savedir.c (opendir, closedir): Undefine.
1412         * lib/utime.c (open, close): Undefine.
1413         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
1414
1415 2007-01-10  Bruno Haible  <bruno@clisp.org>
1416
1417         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
1418
1419 2007-01-12  Eric Blake  <ebb9@byu.net>
1420
1421         Provide a robust <wchar.h>.  Further simplifications are now
1422         possible in other modules, but not included here.
1423         * modules/wchar: New module.
1424         * m4/wchar.m4: New file.
1425         * lib/wchar_.h: Likewise.
1426         * modules/mbchar (Depends-on): Depend on wchar, as the first use
1427         of the new module.
1428         * MODULES.html.sh (Extended multibyte and wide character utilities):
1429         New section.
1430
1431 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1432
1433         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
1434         to a reasonable default for memory allocation.
1435         (xreadlink): Don't allocate a huge buffer, to work around a buggy
1436         file system that reports garbage st_size values for symlinks.
1437         Problem reported by Liyang Hu.
1438
1439 2007-01-11  Simon Josefsson  <simon@josefsson.org>
1440
1441         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
1442         Emacs .#* auto-save files).
1443
1444 2007-01-11  Bruno Haible  <bruno@clisp.org>
1445
1446         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
1447         directory.
1448
1449 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1450
1451         Use @...@ consistently in lib/wctype_.h.
1452         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
1453         on it being set to 1 or 0.
1454         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
1455         go back to AC_SUBSTing it.
1456         * modules/wctype (Makefile.am): Undo previous change.
1457
1458 2007-01-10  Eric Blake  <ebb9@byu.net>
1459
1460         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
1461         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
1462         * modules/wctype (Makefile.am): Likewise.
1463         Reported by Chris McGuire.
1464
1465 2007-01-10  Jim Meyering  <jim@meyering.net>
1466
1467         fts.c: a small readability/maintainability improvement
1468         * lib/fts.c (fts_read): Make this code slightly more readable and
1469         maintainable by hoisting the "sp->fts_cur = p" assignments to
1470         immediately follow the statements that set P.  Derived from
1471         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
1472
1473 2007-01-10  Eric Blake  <ebb9@byu.net>
1474
1475         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
1476         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
1477         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1478         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1479         Reported by Chris McGuire.
1480
1481 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1482
1483         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
1484         in sed script.
1485
1486 2007-01-09  Bruno Haible  <bruno@clisp.org>
1487
1488         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
1489         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
1490         variables.
1491         (func_module): Use them.
1492
1493 2007-01-09  Bruno Haible  <bruno@clisp.org>
1494
1495         * modules/unistr/base: New file.
1496         * lib/unistr.h: New file.
1497
1498         * modules/unistr/u8-to-u16: New file.
1499         * lib/unistr/u8-to-u16.c: New file.
1500
1501         * modules/unistr/u8-to-u32: New file.
1502         * lib/unistr/u8-to-u32.c: New file.
1503
1504         * modules/unistr/u16-to-u8: New file.
1505         * lib/unistr/u16-to-u8.c: New file.
1506
1507         * modules/unistr/u16-to-u32: New file.
1508         * lib/unistr/u16-to-u32.c: New file.
1509
1510         * modules/unistr/u32-to-u8: New file.
1511         * lib/unistr/u32-to-u8.c: New file.
1512
1513         * modules/unistr/u32-to-u16: New file.
1514         * lib/unistr/u32-to-u16.c: New file.
1515
1516         * modules/unistr/u8-check: New file.
1517         * modules/unistr/u16-check: New file.
1518         * modules/unistr/u32-check: New file.
1519         * lib/unistr/u8-check.c: New file.
1520         * lib/unistr/u16-check.c: New file.
1521         * lib/unistr/u32-check.c: New file.
1522
1523         * modules/unistr/u8-chr: New file.
1524         * modules/unistr/u16-chr: New file.
1525         * modules/unistr/u32-chr: New file.
1526         * lib/unistr/u8-chr.c: New file.
1527         * lib/unistr/u16-chr.c: New file.
1528         * lib/unistr/u32-chr.c: New file.
1529
1530         * modules/unistr/u8-cmp: New file.
1531         * modules/unistr/u16-cmp: New file.
1532         * modules/unistr/u32-cmp: New file.
1533         * lib/unistr/u8-cmp.c: New file.
1534         * lib/unistr/u16-cmp.c: New file.
1535         * lib/unistr/u32-cmp.c: New file.
1536
1537         * modules/unistr/u8-cpy: New file.
1538         * modules/unistr/u16-cpy: New file.
1539         * modules/unistr/u32-cpy: New file.
1540         * lib/unistr/u8-cpy.c: New file.
1541         * lib/unistr/u16-cpy.c: New file.
1542         * lib/unistr/u32-cpy.c: New file.
1543         * lib/unistr/u-cpy.h: New file.
1544
1545         * modules/unistr/u8-cpy-alloc: New file.
1546         * modules/unistr/u16-cpy-alloc: New file.
1547         * modules/unistr/u32-cpy-alloc: New file.
1548         * lib/unistr/u8-cpy-alloc.c: New file.
1549         * lib/unistr/u16-cpy-alloc.c: New file.
1550         * lib/unistr/u32-cpy-alloc.c: New file.
1551         * lib/unistr/u-cpy-alloc.h: New file.
1552
1553         * modules/unistr/u8-endswith: New file.
1554         * modules/unistr/u16-endswith: New file.
1555         * modules/unistr/u32-endswith: New file.
1556         * lib/unistr/u8-endswith.c: New file.
1557         * lib/unistr/u16-endswith.c: New file.
1558         * lib/unistr/u32-endswith.c: New file.
1559         * lib/unistr/u-endswith.h: New file.
1560
1561         * modules/unistr/u8-mblen: New file.
1562         * modules/unistr/u16-mblen: New file.
1563         * modules/unistr/u32-mblen: New file.
1564         * lib/unistr/u8-mblen.c: New file.
1565         * lib/unistr/u16-mblen.c: New file.
1566         * lib/unistr/u32-mblen.c: New file.
1567
1568         * modules/unistr/u8-mbtouc: New file.
1569         * modules/unistr/u16-mbtouc: New file.
1570         * modules/unistr/u32-mbtouc: New file.
1571         * lib/unistr/u8-mbtouc.c: New file.
1572         * lib/unistr/u16-mbtouc.c: New file.
1573         * lib/unistr/u32-mbtouc.c: New file.
1574
1575         * modules/unistr/u8-mbtouc-safe: New file.
1576         * modules/unistr/u16-mbtouc-safe: New file.
1577         * modules/unistr/u32-mbtouc-safe: New file.
1578         * lib/unistr/u8-mbtouc-safe.c: New file.
1579         * lib/unistr/u16-mbtouc-safe.c: New file.
1580         * lib/unistr/u32-mbtouc-safe.c: New file.
1581
1582         * modules/unistr/u8-move: New file.
1583         * modules/unistr/u16-move: New file.
1584         * modules/unistr/u32-move: New file.
1585         * lib/unistr/u8-move.c: New file.
1586         * lib/unistr/u16-move.c: New file.
1587         * lib/unistr/u32-move.c: New file.
1588         * lib/unistr/u-move.h: New file.
1589
1590         * modules/unistr/u8-next: New file.
1591         * modules/unistr/u16-next: New file.
1592         * modules/unistr/u32-next: New file.
1593         * lib/unistr/u8-next.c: New file.
1594         * lib/unistr/u16-next.c: New file.
1595         * lib/unistr/u32-next.c: New file.
1596
1597         * modules/unistr/u8-prev: New file.
1598         * modules/unistr/u16-prev: New file.
1599         * modules/unistr/u32-prev: New file.
1600         * lib/unistr/u8-prev.c: New file.
1601         * lib/unistr/u16-prev.c: New file.
1602         * lib/unistr/u32-prev.c: New file.
1603
1604         * modules/unistr/u8-set: New file.
1605         * modules/unistr/u16-set: New file.
1606         * modules/unistr/u32-set: New file.
1607         * lib/unistr/u8-set.c: New file.
1608         * lib/unistr/u16-set.c: New file.
1609         * lib/unistr/u32-set.c: New file.
1610         * lib/unistr/u-set.h: New file.
1611
1612         * modules/unistr/u8-startswith: New file.
1613         * modules/unistr/u16-startswith: New file.
1614         * modules/unistr/u32-startswith: New file.
1615         * lib/unistr/u8-startswith.c: New file.
1616         * lib/unistr/u16-startswith.c: New file.
1617         * lib/unistr/u32-startswith.c: New file.
1618         * lib/unistr/u-startswith.h: New file.
1619
1620         * modules/unistr/u8-stpcpy: New file.
1621         * modules/unistr/u16-stpcpy: New file.
1622         * modules/unistr/u32-stpcpy: New file.
1623         * lib/unistr/u8-stpcpy.c: New file.
1624         * lib/unistr/u16-stpcpy.c: New file.
1625         * lib/unistr/u32-stpcpy.c: New file.
1626         * lib/unistr/u-stpcpy.h: New file.
1627
1628         * modules/unistr/u8-stpncpy: New file.
1629         * modules/unistr/u16-stpncpy: New file.
1630         * modules/unistr/u32-stpncpy: New file.
1631         * lib/unistr/u8-stpncpy.c: New file.
1632         * lib/unistr/u16-stpncpy.c: New file.
1633         * lib/unistr/u32-stpncpy.c: New file.
1634         * lib/unistr/u-stpncpy.h: New file.
1635
1636         * modules/unistr/u8-strcat: New file.
1637         * modules/unistr/u16-strcat: New file.
1638         * modules/unistr/u32-strcat: New file.
1639         * lib/unistr/u8-strcat.c: New file.
1640         * lib/unistr/u16-strcat.c: New file.
1641         * lib/unistr/u32-strcat.c: New file.
1642         * lib/unistr/u-strcat.h: New file.
1643
1644         * modules/unistr/u8-strchr: New file.
1645         * modules/unistr/u16-strchr: New file.
1646         * modules/unistr/u32-strchr: New file.
1647         * lib/unistr/u8-strchr.c: New file.
1648         * lib/unistr/u16-strchr.c: New file.
1649         * lib/unistr/u32-strchr.c: New file.
1650
1651         * modules/unistr/u8-strcmp: New file.
1652         * modules/unistr/u16-strcmp: New file.
1653         * modules/unistr/u32-strcmp: New file.
1654         * lib/unistr/u8-strcmp.c: New file.
1655         * lib/unistr/u16-strcmp.c: New file.
1656         * lib/unistr/u32-strcmp.c: New file.
1657
1658         * modules/unistr/u8-strcpy: New file.
1659         * modules/unistr/u16-strcpy: New file.
1660         * modules/unistr/u32-strcpy: New file.
1661         * lib/unistr/u8-strcpy.c: New file.
1662         * lib/unistr/u16-strcpy.c: New file.
1663         * lib/unistr/u32-strcpy.c: New file.
1664         * lib/unistr/u-strcpy.h: New file.
1665
1666         * modules/unistr/u8-strcspn: New file.
1667         * modules/unistr/u16-strcspn: New file.
1668         * modules/unistr/u32-strcspn: New file.
1669         * lib/unistr/u8-strcspn.c: New file.
1670         * lib/unistr/u16-strcspn.c: New file.
1671         * lib/unistr/u32-strcspn.c: New file.
1672         * lib/unistr/u-strcspn.h: New file.
1673
1674         * modules/unistr/u8-strdup: New file.
1675         * modules/unistr/u16-strdup: New file.
1676         * modules/unistr/u32-strdup: New file.
1677         * lib/unistr/u8-strdup.c: New file.
1678         * lib/unistr/u16-strdup.c: New file.
1679         * lib/unistr/u32-strdup.c: New file.
1680         * lib/unistr/u-strdup.h: New file.
1681
1682         * modules/unistr/u8-strlen: New file.
1683         * modules/unistr/u16-strlen: New file.
1684         * modules/unistr/u32-strlen: New file.
1685         * lib/unistr/u8-strlen.c: New file.
1686         * lib/unistr/u16-strlen.c: New file.
1687         * lib/unistr/u32-strlen.c: New file.
1688         * lib/unistr/u-strlen.h: New file.
1689
1690         * modules/unistr/u8-strmblen: New file.
1691         * modules/unistr/u16-strmblen: New file.
1692         * modules/unistr/u32-strmblen: New file.
1693         * lib/unistr/u8-strmblen.c: New file.
1694         * lib/unistr/u16-strmblen.c: New file.
1695         * lib/unistr/u32-strmblen.c: New file.
1696
1697         * modules/unistr/u8-strmbtouc: New file.
1698         * modules/unistr/u16-strmbtouc: New file.
1699         * modules/unistr/u32-strmbtouc: New file.
1700         * lib/unistr/u8-strmbtouc.c: New file.
1701         * lib/unistr/u16-strmbtouc.c: New file.
1702         * lib/unistr/u32-strmbtouc.c: New file.
1703
1704         * modules/unistr/u8-strncat: New file.
1705         * modules/unistr/u16-strncat: New file.
1706         * modules/unistr/u32-strncat: New file.
1707         * lib/unistr/u8-strncat.c: New file.
1708         * lib/unistr/u16-strncat.c: New file.
1709         * lib/unistr/u32-strncat.c: New file.
1710         * lib/unistr/u-strncat.h: New file.
1711
1712         * modules/unistr/u8-strncmp: New file.
1713         * modules/unistr/u16-strncmp: New file.
1714         * modules/unistr/u32-strncmp: New file.
1715         * lib/unistr/u8-strncmp.c: New file.
1716         * lib/unistr/u16-strncmp.c: New file.
1717         * lib/unistr/u32-strncmp.c: New file.
1718
1719         * modules/unistr/u8-strncpy: New file.
1720         * modules/unistr/u16-strncpy: New file.
1721         * modules/unistr/u32-strncpy: New file.
1722         * lib/unistr/u8-strncpy.c: New file.
1723         * lib/unistr/u16-strncpy.c: New file.
1724         * lib/unistr/u32-strncpy.c: New file.
1725         * lib/unistr/u-strncpy.h: New file.
1726
1727         * modules/unistr/u8-strnlen: New file.
1728         * modules/unistr/u16-strnlen: New file.
1729         * modules/unistr/u32-strnlen: New file.
1730         * lib/unistr/u8-strnlen.c: New file.
1731         * lib/unistr/u16-strnlen.c: New file.
1732         * lib/unistr/u32-strnlen.c: New file.
1733         * lib/unistr/u-strnlen.h: New file.
1734
1735         * modules/unistr/u8-strpbrk: New file.
1736         * modules/unistr/u16-strpbrk: New file.
1737         * modules/unistr/u32-strpbrk: New file.
1738         * lib/unistr/u8-strpbrk.c: New file.
1739         * lib/unistr/u16-strpbrk.c: New file.
1740         * lib/unistr/u32-strpbrk.c: New file.
1741         * lib/unistr/u-strpbrk.h: New file.
1742
1743         * modules/unistr/u8-strrchr: New file.
1744         * modules/unistr/u16-strrchr: New file.
1745         * modules/unistr/u32-strrchr: New file.
1746         * lib/unistr/u8-strrchr.c: New file.
1747         * lib/unistr/u16-strrchr.c: New file.
1748         * lib/unistr/u32-strrchr.c: New file.
1749
1750         * modules/unistr/u8-strspn: New file.
1751         * modules/unistr/u16-strspn: New file.
1752         * modules/unistr/u32-strspn: New file.
1753         * lib/unistr/u8-strspn.c: New file.
1754         * lib/unistr/u16-strspn.c: New file.
1755         * lib/unistr/u32-strspn.c: New file.
1756         * lib/unistr/u-strspn.h: New file.
1757
1758         * modules/unistr/u8-strstr: New file.
1759         * modules/unistr/u16-strstr: New file.
1760         * modules/unistr/u32-strstr: New file.
1761         * lib/unistr/u8-strstr.c: New file.
1762         * lib/unistr/u16-strstr.c: New file.
1763         * lib/unistr/u32-strstr.c: New file.
1764         * lib/unistr/u-strstr.h: New file.
1765
1766         * modules/unistr/u8-strtok: New file.
1767         * modules/unistr/u16-strtok: New file.
1768         * modules/unistr/u32-strtok: New file.
1769         * lib/unistr/u8-strtok.c: New file.
1770         * lib/unistr/u16-strtok.c: New file.
1771         * lib/unistr/u32-strtok.c: New file.
1772         * lib/unistr/u-strtok.h: New file.
1773
1774         * modules/unistr/u8-uctomb: New file.
1775         * modules/unistr/u16-uctomb: New file.
1776         * modules/unistr/u32-uctomb: New file.
1777         * lib/unistr/u8-uctomb.c: New file.
1778         * lib/unistr/u16-uctomb.c: New file.
1779         * lib/unistr/u32-uctomb.c: New file.
1780
1781         * MODULES.html.sh (Unicode string functions): Add the new modules.
1782
1783 2007-01-08  Bruno Haible  <bruno@clisp.org>
1784
1785         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
1786         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
1787         subdirectories.
1788
1789 2007-01-08  Karl Berry  <karl@gnu.org>
1790
1791         * doc/error.texi: mention that main() fns must set program_name
1792         when progname is used.
1793
1794 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
1795
1796         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
1797         WCTYPE_H is empty, for the benefit of builds from non-distclean
1798         directories.  Problem reported by Eric Blake in
1799         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
1800
1801 2007-01-08  Bruno Haible  <bruno@clisp.org>
1802
1803         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
1804         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
1805         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
1806         PROVIDE_CANONICALIZE_FILENAME_MODE.
1807         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
1808
1809 2007-01-08  Bruno Haible  <bruno@clisp.org>
1810
1811         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
1812         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
1813         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
1814         * lib/fts.c: Likewise.
1815         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
1816
1817 2006-12-25  Bruno Haible  <bruno@clisp.org>
1818
1819         * modules/utf8-ucs4-safe: New file.
1820         * lib/utf8-ucs4-safe.h: New file.
1821         * lib/unistr/utf8-ucs4-safe.c: New file.
1822
1823         * modules/utf16-ucs4-safe: New file.
1824         * lib/utf16-ucs4-safe.h: New file.
1825         * lib/unistr/utf16-ucs4-safe.c: New file.
1826
1827         * MODULES.html.sh (Unicode string functions): Add the new modules.
1828
1829 2007-01-08  Bruno Haible  <bruno@clisp.org>
1830
1831         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
1832         (Depends-on): Add unitypes.
1833         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
1834         (u8_mbtouc_aux): Move out to separate file.
1835         (u8_mbtouc): Use ucs4_t, uint8_t types.
1836         * lib/unistr/utf8-ucs4.c: New file.
1837
1838         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
1839         (Depends-on): Add unitypes.
1840         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
1841         (u16_mbtouc_aux): Move out to separate file.
1842         (u16_mbtouc): Use ucs4_t, uint16_t types.
1843         * lib/unistr/utf16-ucs4.c: New file.
1844
1845         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
1846         (Depends-on): Add unitypes.
1847         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
1848         (u8_uctomb_aux): Move out to separate file.
1849         (u8_uctomb): Use ucs4_t, uint8_t types.
1850         * lib/unistr/ucs4-utf8.c: New file.
1851
1852         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
1853         (Depends-on): Add unitypes.
1854         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
1855         (u16_uctomb_aux): Move out to separate file.
1856         (u16_uctomb): Use ucs4_t, uint16_t types.
1857         * lib/unistr/ucs4-utf16.c: New file.
1858
1859 2006-12-25  Bruno Haible  <bruno@clisp.org>
1860
1861         * modules/unitypes: New file.
1862         * lib/unitypes.h: New file.
1863         * MODULES.html.sh (func_all_modules): New section "Unicode string
1864         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
1865         this section. Add unitypes.
1866
1867 2007-01-08  Bruno Haible  <bruno@clisp.org>
1868
1869         Avoid variable names that conflict with those from libtool.
1870         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
1871         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
1872         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
1873         library_names_spec to acl_library_names_spec, hardcode_* to
1874         acl_hardcode_*.
1875         Reported by Ralf Wildenhues.
1876
1877 2007-01-08  Bruno Haible  <bruno@clisp.org>
1878
1879         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
1880         definition.
1881         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
1882         definition.
1883         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
1884         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
1885         definition.
1886         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
1887         definition.
1888         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
1889         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
1890         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
1891         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
1892         definition.
1893         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
1894         definition.
1895         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
1896         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
1897         GC_USE_<algorithm>.
1898         * lib/gc-libgcrypt.c: Likewise.
1899         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
1900         * modules/gc-arctwo (configure.ac): Likewise.
1901         * modules/gc-des (configure.ac): Likewise.
1902         * modules/gc-hmac-md5 (configure.ac): Likewise.
1903         * modules/gc-hmac-sha1 (configure.ac): Likewise.
1904         * modules/gc-md2 (configure.ac): Likewise.
1905         * modules/gc-md4 (configure.ac): Likewise.
1906         * modules/gc-md5 (configure.ac): Likewise.
1907         * modules/gc-random (configure.ac): Likewise.
1908         * modules/gc-rijndael (configure.ac): Likewise.
1909         * modules/gc-sha1 (configure.ac): Likewise.
1910
1911 2007-01-08  Bruno Haible  <bruno@clisp.org>
1912
1913         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
1914         macro definition.
1915         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
1916         definition.
1917         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
1918         definition.
1919         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
1920         * modules/fcntl-safer (configure.ac): Likewise.
1921         * modules/fopen-safer (configure.ac): Likewise.
1922         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
1923         GNULIB_FWRITEERROR macro definition.
1924
1925 2007-01-08  Bruno Haible  <bruno@clisp.org>
1926
1927         * m4/gnulib-common.m4: New file.
1928         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
1929         (func_get_filelist): Add m4/gnulib-common.m4.
1930
1931 2007-01-08  Bruno Haible  <bruno@clisp.org>
1932
1933         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
1934         command.
1935
1936 2007-01-08  Jim Meyering  <jim@meyering.net>
1937
1938         Use a more robust test for a "can't happen" condition.
1939         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
1940         narrowed the st_size value.  Presuming the "can't happen" condition
1941         is true, that narrowing could conceivably convert an invalid st_size
1942         value into a valid one.  Instead, use a change based on Matthew
1943         Woehlke's original patch.
1944
1945         Slight readability improvement: use an assert-like macro
1946         in place of literal "abort ()" uses.
1947         * lib/fts.c (fts_assert): Define.
1948         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
1949         Use this macro instead of a bare 'abort'.
1950
1951 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1952
1953         Don't worry about using IRIX 5.3's wctype.h broken definitions;
1954         simply work around them.
1955         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
1956         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
1957         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before declaring.
1958         Don't bother to define as macros, since the standard doesn't require it.
1959         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
1960         longer worry about IRIX 5.3.
1961         (HAVE_WCTYPE_CTMP_BUG): Remove.
1962
1963 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1964
1965         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
1966         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
1967         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
1968         Problems reported by Georg Schwarz for IRIX 5.3.
1969
1970         * gnulib-tool (autoconf_minversion): Take the maximum version number
1971         found, not the minimum.  Problem reported by James Youngman.
1972
1973 2007-01-03  Karl Berry  <karl@gnu.org>
1974
1975         * doc/error.texi: new file, explaining interaction with progname.
1976         * doc/gnulib.texi: include it.  Update copyright.
1977
1978 2007-01-03  Simon Josefsson  <simon@josefsson.org>
1979
1980         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
1981         AC_CANONICAL_HOST, to improve autobuild outputs.
1982
1983 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
1984             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
1985
1986         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
1987         sockets, server sockets, and other file descriptors.  Count errors
1988         to compute the return value.  Reorder the code a bit to be easier
1989         to follow.  Don't set event bits that were not requested (except
1990         POLLERR and POLLHUP).
1991
1992 2007-01-01  Bruno Haible  <bruno@clisp.org>
1993
1994         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
1995
1996 2007-01-03  Jim Meyering  <jim@meyering.net>
1997
1998         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
1999
2000 2007-01-02  Bruno Haible  <bruno@clisp.org>
2001
2002         * modules/settime (Include): Require timespec.h.
2003         * modules/nanosleep (Include): Likewise.
2004
2005 2007-01-01  Bruno Haible  <bruno@clisp.org>
2006
2007         * gnulib-tool (func_emit_copyright_notice): Bump year.
2008         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
2009
2010 2007-01-01  Bruno Haible  <bruno@clisp.org>
2011
2012         Improve support for OpenBSD.
2013         * build-aux/config.rpath (libname_spec): Export.
2014         (library_names_spec): New variable. Export.
2015         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
2016         library_names_spec from the config.rpath output. Locate shared library
2017         through the name pattern in library_names_spec.
2018
2019 2007-01-01  Eric Blake  <ebb9@byu.net>
2020
2021         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
2022
2023 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
2024
2025         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
2026         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
2027         assume the C locale, and avoid an "eval" that could cause trouble.
2028         Problem with SORT reported by Bob Proulx.
2029
2030         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
2031         Define.  Trivial patch from Henning Nielsen Lund, originally
2032         sent to bug-grep@gnu.org today.
2033
2034 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
2035
2036         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
2037         struct stat.  Problem reported by Henning Nielsen Lund.
2038         * lib/acl.c: Include acl.h first, to check interface.  Don't
2039         bother to include sys/types.h and sys/stat.h again.
2040
2041 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
2042
2043         Import the following change from libc; problem reported by
2044         Sven Verdoolaege.
2045
2046         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
2047
2048         [BZ #1373]
2049         * lib/argp.h: Remove __NTH for __argp_usage inline function.
2050
2051 2006-12-28  Jim Meyering  <jim@meyering.net>
2052
2053         * build-aux/announce-gen: Do not assume that the package
2054         builds any of tar.gz, tar.bz2, and .xdelta files.
2055         Suggestion from Simon Josefsson.
2056
2057 2006-12-28  Simon Josefsson  <simon@josefsson.org>
2058
2059         * modules/announce-gen: New file.
2060
2061 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
2062
2063         * lib/mbchar.h: Just include <wctype.h>; the wctype module
2064         handles its gotchas now.
2065         * lib/mbswidth.c: Likewise.
2066         * lib/wcwidth.h: Likewise.
2067         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
2068         and iswcntrl; the wctype module does this stuff now.
2069         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
2070         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
2071         * modules/mbchar (Depends-on): Add wctype.
2072         * modules/mbswidth (Depends-on): Likewise.
2073         * modules/wcwidth (Depends-on): Likewise.
2074
2075 2006-12-27  Eric Blake  <ebb9@byu.net>
2076
2077         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
2078         module uses more than what <wctype.h> is required to provide.
2079
2080 2006-12-26  Eric Blake  <ebb9@byu.net>
2081
2082         * gnulib-tool (sed_extract_prog): Avoid space-tab.
2083
2084 2006-12-26  Eric Blake  <ebb9@byu.net>
2085
2086         * modules/absolute-header: New module.
2087         * modules/fcntl (Depends-on): Depend on it.
2088         * modules/inttypes (Depends-on): Likewise.
2089         * modules/stdint (Depends-on): Likewise.
2090         * modules/sys_stat (Depends-on): Likewise.
2091         * modules/wctype (Depends-on): Likewise.
2092         * MODULES.html.sh (Support for building libraries and
2093         executables): Document it.
2094
2095 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
2096
2097         * gnulib-tool (SED): Remove, undoing previous change.
2098         The problem was that it broke coreutils on Solaris, because
2099         "sed --posix" leaked into a makefile.
2100         (sed): New alias, if 'alias' and GNU sed.
2101
2102 2006-12-24  Jim Meyering  <jim@meyering.net>
2103
2104         Work around an fchownat bug in glibc-2.4:
2105         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
2106         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
2107         in spite of the -P option.
2108         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
2109         New macros.
2110         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
2111         * modules/openat (Files): Add lib/fchownat.c.
2112         * lib/openat.c (fchownat): Don't define here.  Move to...
2113         * lib/fchownat.c: ...this new file.
2114
2115 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
2116
2117         Fix bug reported by Bruno Haible in
2118         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
2119         where quotearg.c didn't compile on Mac OS X 10.2 because it
2120         lacks <wchar.h> and wint_t.
2121         * lib/wctype_.h (__wctype_wint_t): New type.
2122         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
2123         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
2124         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
2125         Arg is now of type __wctype_wint_t, not wint_t.
2126         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
2127         substitute HAVE_WINT_T.
2128         * modules/wctype (Files): Add m4/wint_t.m4.
2129         (wctype.h): Substitute HAVE_WINT_T.
2130
2131 2006-12-23  Bruno Haible  <bruno@clisp.org>
2132
2133         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
2134
2135 2006-12-23  Bruno Haible  <bruno@clisp.org>
2136
2137         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
2138         S_ISLNK.
2139         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
2140         mingw.
2141
2142 2006-12-22  Bruno Haible  <bruno@clisp.org>
2143
2144         * lib/copy-file.c: Include acl.h.
2145         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
2146         Close the file descriptors only after being done with copy_acl.
2147         * modules/copy-file (Depends-on): Add acl.
2148
2149 2006-12-22  Bruno Haible  <bruno@clisp.org>
2150
2151         * gnulib-tool (SED): New variable.
2152         Use $SED instead of sed everywhere.
2153
2154 2006-12-22  Bruno Haible  <bruno@clisp.org>
2155
2156         * modules/no-c++: New file.
2157         * m4/no-c++.m4: New file.
2158         * MODULES.html.sh (Support for building libraries and executables):
2159         Add no-c++.
2160
2161 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
2162
2163         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
2164         Include <limits.h>, and use its INT_MAX to rewrite the
2165         j loop so that it does not overflow 'int'.  Problem reported by
2166         Ralf Wildenhues in
2167         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
2168         Play it safe by shifting left by 1 rather than multiplying by 2,
2169         as GCC is less likely to optimize this away when the value
2170         is signed (when it assumes overflow leads to undefined behavior).
2171         Also, don't assume time_t uses two's complement.
2172
2173 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
2174
2175         * MODULES.html.sh: New module wctype.
2176         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
2177         * lib/fnmatch.c: Don't bother to include <wchar.h> before
2178         <wctype.h>, since the new wctype module should fix this.
2179         * lib/quotearg.c: Include <wctype.h> unconditionally, since
2180         the wctype module should arrange for it.
2181         * lib/regex_internal.h: Likewise.
2182         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
2183         since the wctype module should handle this now.
2184         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
2185         * modules/fnmatch (Depends-on): Add wctype.
2186         * modules/quotearg (Depends-on): Likewise.
2187         * modules/regex (Depends-on): Likewise.
2188
2189 2006-12-19  Bruno Haible  <bruno@clisp.org>
2190
2191         * lib/strdup.h [C++]: Wrap definitions in extern "C".
2192         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
2193
2194 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2195
2196         * modules/savewd (Depends-on): Fix dependency on fcntl.
2197
2198 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2199
2200         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
2201         conforms to C99, rather than relying on the user's environment
2202         setting of STDINT_H.
2203
2204 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
2205         and Eric Blake  <ebb9@byu.net>
2206
2207         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
2208         This is more consistent with the other defines here.
2209         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
2210         Port to z/OS.  Problem reported by Paul Gilmartin.
2211         Change local vars to use gl_ prefix rather than ac_.
2212         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
2213         with other defines.
2214         * modules/double-slash-root: New module.
2215         * modules/dirname (Files): Remove m4/double-slash-root.m4.
2216         (Depends-on): Add double-slash-root.
2217         * MODULES.html.sh (File system functions): Mention new module.
2218
2219 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
2220
2221         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
2222         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
2223         This is for the benefit of gzip, which doesn't do i18n.
2224
2225 2006-12-12  Jim Meyering  <jim@meyering.net>
2226
2227         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
2228         Reported by Andreas Schwab <schwab@suse.de>.
2229
2230 2006-12-12  Bruno Haible  <bruno@clisp.org>
2231
2232         Merge these changes.
2233         2006-09-05  Bruno Haible  <bruno@clisp.org>
2234         * lib/iconvme.c (iconv_string): No need to save and restore errno when
2235         iconv_alloc succeeded.
2236         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
2237         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
2238         test for " && dest " at the end - dest is always != NULL there. Call
2239         iconv with 4xNULL arguments initially, to reset the state. Call iconv
2240         with 2xNULL arguments, also to flush the state storage. Handle the
2241         IRIX iconv behaviour. Realloc the final result, to throw away unused
2242         memory.
2243
2244 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
2245
2246         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
2247         and fchmodat unconditionally, since glibc 2.4 has them.
2248         Problem reported by Arkadiusz Miskiewicz.
2249
2250 2006-12-10  Bruno Haible  <bruno@clisp.org>
2251
2252         * gnulib-tool (func_import): Show the include files only for those
2253         modules that are copied and specified.
2254         Reported by Karl Berry.
2255
2256 2006-12-08  Jim Meyering  <jim@meyering.net>
2257
2258         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
2259         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
2260
2261         * build-aux/announce-gen: Add two new options, both optional:
2262         --bootstrap-tools=TOOL_LIST
2263               a comma-separated list of tools, e.g.,
2264               autoconf,automake,bison,gnulib
2265         --gnulib-snapshot-date=DATE
2266               if gnulib is in the bootstrap tool list,
2267               then report this as the snapshot date.
2268               If not specified, use the current date/time.
2269               If you specify a date here, be sure it's UTC.
2270
2271 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2272
2273         * tests/test-argp-2.sh: Fix test to match actual output.
2274         (func_compare): Fix sed script to be portable.
2275
2276 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
2277
2278         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
2279         workaround for this case.  It is not autoconfigured now; offhand
2280         it's hard to see how to autoconfigure it.
2281
2282 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
2283
2284         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
2285         a directory that is about to be chowned.  Such a directory's
2286         initial file permissions should permit the owner only and this
2287         should not be changed until after the chown, since the group and
2288         other bits would be incorrect if they granted permission before
2289         the chown.
2290
2291         Fix porting problem for iswctype reported by Georg Schwarz in:
2292         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
2293         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
2294         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
2295         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
2296         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2297
2298 2006-12-03  Jim Meyering  <jim@meyering.net>
2299
2300         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
2301         p->fts_statp may not yet be defined.
2302         (fts_read): Instead, set it in the caller, once p->fts_statp is
2303         sure to be defined, and corresponds to a top-level directory.
2304         This bug made du -x fail.  Here's the coreutils test case:
2305         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
2306         Reported by Mike Frysinger.
2307
2308 2006-12-01  Jim Meyering  <jim@meyering.net>
2309
2310         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
2311         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
2312         Reported by Simon Josefsson.
2313
2314 2006-11-30  Jim Meyering  <jim@meyering.net>
2315
2316         * m4/warning.m4: Use the all-permissive copyright notice
2317         recommended by RMS (rather than LGPL).
2318         * m4/vararrays.m4: Likewise.
2319         * m4/flexmember.m4: Likewise.
2320
2321 2006-11-29  Bruno Haible  <bruno@clisp.org>
2322
2323         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
2324         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
2325         using +=.
2326         Reported by Simon Josefsson <simon@josefsson.org>.
2327
2328 2006-11-28  James Youngman <jay@gnu.org>
2329
2330         * README: Advise users that they might find the bug-gnulib@gnu.org
2331         and autotools-announce@gnu.org mailing lists useful.
2332
2333 2006-11-28  Bruno Haible  <bruno@clisp.org>
2334
2335         * m4/ptrdiff_max.m4: Remove file.
2336
2337 2006-11-21  Bruno Haible  <bruno@clisp.org>
2338
2339         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
2340         _AC_COMPUTE_INT.
2341         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
2342         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
2343         _AC_COMPUTE_INT.
2344         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
2345         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
2346         _AC_COMPUTE_INT.
2347         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
2348
2349 2006-11-28  Jim Meyering  <jim@meyering.net>
2350
2351         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
2352         warning from "gcc -Wshadow" about shadowing the builtin.
2353
2354 2006-11-27  Bruno Haible  <bruno@clisp.org>
2355
2356         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
2357         _AC_COMPUTE_INT.
2358         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
2359
2360 2006-11-27  Bruno Haible  <bruno@clisp.org>
2361             Paul Eggert  <eggert@cs.ucla.edu>
2362
2363         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
2364
2365 2006-11-26  Bruno Haible  <bruno@clisp.org>
2366
2367         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
2368         noinst_LTLIBRARIES.
2369
2370 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
2371             Bruno Haible  <bruno@clisp.org>
2372
2373         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
2374         if compiling with "gcc -ansi".
2375
2376 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
2377
2378         Fix some incompatibilities with gcc -ansi -pedantic.
2379         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
2380         if compiling pedantically with GCC, unless it's C99 or later.
2381         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
2382         it mishandles gcc -ansi -pedantic as well.
2383         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
2384         if gcc -pedantic.
2385         * lib/regexec.c (check_node_accept_bytes): Don't use auto
2386         initializers for struct if -pedantic, unless it's C99 or later.
2387
2388 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
2389
2390         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
2391         Don't close an fd more than once. Identical atimes indicate
2392         success, not failure.
2393
2394 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
2395
2396         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
2397
2398 2006-11-23  Jim Meyering  <jim@meyering.net>
2399
2400         * build-aux/announce-gen: New file.  From coreutils.
2401
2402 2006-11-22  Jim Meyering  <jim@meyering.net>
2403
2404         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
2405         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
2406         (fts_read): Use a temporary to narrow the overused st_size member
2407         before using it in a switch statement.  Reported by Matthew Woehlke.
2408
2409         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
2410         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
2411
2412 2006-11-20  Bruno Haible  <bruno@clisp.org>
2413
2414         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
2415         changequote instead of pairs of brackets.
2416         Reported by Andreas Schwab <schwab@suse.de>.
2417
2418 2006-11-21  Jim Meyering  <jim@meyering.net>
2419
2420         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
2421         so as to remain compatible with older compilers.
2422         Patch from Michael Deutschmann.
2423
2424 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
2425
2426         * MODULES.html.sh (File system functions): Add openat.
2427
2428         * lib/openat.h (rpl_fstatat): New macro, if
2429         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
2430         (fstatat): Define to rpl_fstatat under the same conditions,
2431         unless COMPILING_FSTATAT.
2432         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
2433         seems to have the bug.
2434         * lib/fstatat.c: New file.
2435         * modules/openat (Files): Add it.
2436
2437 2006-11-20  Bruno Haible  <bruno@clisp.org>
2438
2439         * Makefile: New file.
2440
2441 2006-11-20  Jim Meyering  <jim@meyering.net>
2442
2443         The beginnings of syntax-related checks for gnulib.
2444         * lib/Makefile: New file.
2445         * lib/t-idcache: New script.  Ensure that the two halves of
2446         idcache.c stay in sync.
2447
2448         * lib/idcache.c: Adjust comments in user- and group- portions to
2449         be more accurate, and to be consistent with one another.
2450
2451 2006-11-20  Jim Meyering  <jim@meyering.net>
2452
2453         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
2454         continue using the flexible array member (thus, this module performs
2455         half as many malloc calls), with the addition that...
2456         (getgroup, getuser): Consistently record a non-match via an empty
2457         "name" string, and map an empty string match to a NULL return value.
2458         * modules/idcache (Depends-on): Re-add flexmember.
2459
2460         * lib/idcache.c (getuser): Remove all uses of the register keyword.
2461         (getuidbyname, getgroup, getgidbyname): Likewise.
2462
2463         Use cleaner syntax: NULL rather than 0.
2464         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
2465
2466 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
2467
2468         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
2469         It mishandled the case where the group was missing.
2470         Problem reported by Greg Schafer.
2471         * modules/idcache: Likewise.
2472
2473 2006-11-18  Jim Meyering  <jim@meyering.net>
2474
2475         * check-module (%exempt_header): Add exception for some
2476         conditionally-included headers.
2477
2478         * modules/i-ring (Depends-on): Add verify.
2479         (License): Change to LGPL.
2480
2481 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
2482
2483         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
2484         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
2485         and inttostr.h.  Use snprintf rather than uinttostr, so that
2486         LGPLed code doesn't depend on GPLed.
2487
2488 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2489
2490         * modules/inline (License): Change from GPL to LGPL.
2491
2492 2006-11-17  Jim Meyering  <jim@meyering.net>
2493
2494         * modules/d-type (License): Switch to LGPL.
2495
2496 2006-11-15  Bruno Haible  <bruno@clisp.org>
2497
2498         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
2499
2500 2006-11-15  Eric Blake  <ebb9@byu.net>
2501
2502         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
2503         the module dependency.
2504
2505 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
2506             Bruno Haible  <bruno@clisp.org>
2507
2508         * gnulib-tool (func_create_testdir): Add license consistency check.
2509
2510 2006-11-15  Eric Blake  <ebb9@byu.net>
2511
2512         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
2513         random "(cached)" in configure output.
2514
2515 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2516
2517         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
2518         test for conforming inttypes.h is both announced and cached.
2519
2520         * MODULES.html.sh (seen_modules, seen_files): New variables.
2521         (func_module): Rewrite to use a few less gnulib-tool and sed
2522         invocations.  Avoid a couple of quadratic algorithms for ...
2523         (missed_modules, missed_files): ... these, with ...
2524         (func_append, func_tmpdir): ... these new functions, from
2525         gnulib-tool.  Analogously, install traps for cleanup.
2526
2527         * tests/test-gc.c (main): Remove unused variables.
2528         * tests/test-read-file.c: Include stdlib.h, for 'free'.
2529
2530 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
2531
2532         * modules/inttostr (License): Change to LGPL.
2533
2534 2006-11-14  Eric Blake  <ebb9@byu.net>
2535
2536         * modules/tempname (License): Change to LGPL.
2537
2538 2006-11-14  Eric Blake  <ebb9@byu.net>
2539
2540         * doc/functions.texi (Function Portability): *printf functions on
2541         Cygwin now understand all POSIX size specifiers.
2542
2543 2006-11-14  Bruno Haible  <bruno@clisp.org>
2544
2545         * modules/c-ctype (License): Change to LGPL.
2546
2547 2006-11-12  Bruno Haible  <bruno@clisp.org>
2548
2549         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
2550         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
2551         for GNOME libraries, for which the include files are installed in
2552         subdirectories of $prefix/include.
2553
2554 2006-11-12  Bruno Haible  <bruno@clisp.org>
2555
2556         * m4/lib-link.m4: Require at least autoconf-2.54.
2557         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
2558         name to underscores for the --with option.
2559
2560 2006-11-13  Bruno Haible  <bruno@clisp.org>
2561
2562         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
2563         the tests directory.
2564         Reported by Ralf Wildenhues.
2565
2566 2006-11-13  Bruno Haible  <bruno@clisp.org>
2567
2568         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
2569         (func_emit_initmacro_end): Undo the override here.
2570         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
2571         Works around the famous automake error in coreutils.
2572
2573 2006-11-13  Eric Blake  <ebb9@byu.net>
2574
2575         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
2576         element, not its node.
2577
2578 2006-11-12  Bruno Haible  <bruno@clisp.org>
2579
2580         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
2581         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
2582
2583 2006-11-12  Bruno Haible  <bruno@clisp.org>
2584
2585         * gnulib-tool: New option --local-symlink.
2586         (func_usage): Document it.
2587         (lsymbolic): New variable.
2588         (func_import, func_create_testdir): If --symlink was not specified,
2589         test whether --local-symlink was specified and the file comes from
2590         the local_gnulib_dir.
2591
2592 2006-11-12  Bruno Haible  <bruno@clisp.org>
2593
2594         * gnulib-tool (func_ln): New function.
2595         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
2596
2597 2006-11-12  Bruno Haible  <bruno@clisp.org>
2598
2599         Finish support for source files in subdirectories.
2600         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
2601         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
2602         AUTOMAKE_OPTIONS.
2603         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
2604
2605 2006-11-12  Bruno Haible  <bruno@clisp.org>
2606
2607         * gnulib-tool (func_get_automake_snippet): Synthesize also an
2608         EXTRA_lib_SOURCES augmentation.
2609         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
2610
2611 2006-11-12  Jim Meyering  <jim@meyering.net>
2612
2613         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
2614         file descriptors.  This also averts a failure on systems with
2615         native openat support when a traversed directory lacks "x" access.
2616         * lib/fts_.h: Include "i-ring.h"
2617         (struct FTS) [fts_fd_ring]: New member.
2618         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
2619         (FCHDIR): Add parentheses.
2620         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
2621         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
2622         When descending, rather than simply closing the previous
2623         fts_cwd_fd value, push that file descriptor onto the ring.
2624         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
2625         (fts_open): Initialize the new fd_ring member.
2626         (fts_close): Clear the ring.
2627         (fts_safe_changedir): When possible, use our new fd_ring to skip
2628         the diropen and fstat and dev/ino comparison that would normally
2629         accompany a virtual `chdir ("..")'.
2630
2631         * modules/fts (Depends-on): Add i-ring.
2632         * modules/i-ring: New module.
2633         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
2634         * m4/i-ring.m4: New file.
2635
2636 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2637
2638         * gnulib-tool (func_create_testdir): Fix replacement of
2639         `build-aux' in configure.ac.  Run autotools in gltests
2640         subdirectory.
2641         (func_create_testdir, func_create_megatestdir, test): There is
2642         no need for '--force' in most autotool invocations in a new
2643         tree.  Actually fail the whole test if any of the tools, or the
2644         configure or make stages fail.
2645
2646         Sync from Automake.
2647         * build-aux/gnupload: Revert last change.  Add pointer to upload
2648         instructions of the GNU Maintenance Instructions.
2649         Suggestion by Karl Berry.
2650
2651 2006-11-10  Jim Meyering  <jim@meyering.net>
2652
2653         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
2654
2655 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2656
2657         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
2658         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
2659         (bind_textdomain_codeset) [! ENABLE_NLS]:
2660         Evaluate all the arguments.  That way, callers get compatible behavior
2661         if the arguments have side effects.  Also, it avoids some GCC
2662         diagnostics in some cases; Joel E. Denny reported problems when Bison
2663         was configured with --enable-gcc-warnigs.
2664
2665 2006-11-10  Jim Meyering  <jim@meyering.net>
2666
2667         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
2668         relevant options in CFLAGS (like -O, -fno-inline) are taken into
2669         account.
2670
2671 2006-11-10  Jim Meyering  <jim@meyering.net>
2672
2673         * modules/inline: New file/module.
2674         * modules/xalloc (Files): Remove m4/inline.m4.
2675         (Depends-on): Add inline, instead.
2676         * modules/oset: Likewise.
2677         * modules/list: Likewise.
2678
2679 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2680
2681         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
2682         Problem reported by Matthew Woehlke.
2683
2684 2006-11-09  Bruno Haible  <bruno@clisp.org>
2685
2686         * lib/tempname.c (gen_tempname): Remove variant that invokes
2687         __gen_tempname.
2688         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
2689         __gen_tempname.
2690
2691 2006-11-08  Bruno Haible  <bruno@clisp.org>
2692
2693         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
2694         to 'yes' instead of 'cross-compiling'.
2695
2696 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2697
2698         * lib/quotearg.h (quotearg_free): New decl.
2699         * lib/quotearg.c (quotearg_free): New function.
2700         (slot0, nslots, slotvec0, slotvec):
2701         Now file-scope so that quotearg_free can get at them.
2702
2703 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2704
2705         Sync from Automake.
2706         * build-aux/gnupload: Add missing 'gnu' to example URL.
2707         Report by Karl Berry.
2708
2709 2006-11-08  Bruno Haible  <bruno@clisp.org>
2710
2711         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
2712         Suggested by Paul Eggert.
2713
2714 2006-11-08  Jim Meyering  <jim@meyering.net>
2715
2716         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
2717         It's already included if !_LIBC.
2718         (fts_safe_changedir): Add a comment.
2719
2720 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2721
2722         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
2723         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
2724         Matthew Woehlke.
2725
2726         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
2727         definitions up, to avoid colliding with change below.
2728         (static_inline) [HAVE_INLINE]: New macro.
2729         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
2730         Provide extern decls when !HAVE_INLINE.  Do not define unless
2731         static_inline is defined, either by us or by xmalloc.c.  Use
2732         static_inline rather than static inline.
2733         (XCALLOC): Optimize sizeof(T) = 1 case.
2734         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
2735
2736 2006-11-07  Bruno Haible  <bruno@clisp.org>
2737
2738         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
2739         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
2740         AC_C_INLINE.
2741         * modules/xalloc (Files): Add m4/inline.m4.
2742
2743 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2744
2745         * README: Fix typo.
2746         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
2747         (Miscellanous Notes): ...from this.
2748
2749 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2750
2751         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
2752         Mention that offsetof should be used instead of sizeof.
2753         From Bruno Haible.
2754
2755 2006-11-07  Bruno Haible  <bruno@clisp.org>
2756
2757         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
2758
2759 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2760
2761         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
2762         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
2763         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
2764         (gl_tree_add_before, gl_tree_add_after):
2765         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
2766         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
2767         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
2768         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
2769         (gl_linked_add_after, gl_linked_add_at): Likewise.
2770         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
2771         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
2772         (gl_tree_add_before, gl_tree_add_after): Likewise.
2773         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
2774         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
2775         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
2776
2777 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2778
2779         * lib/gl_oset.h: Use C comment style, not C++ comment style.
2780
2781 2006-11-06  Bruno Haible  <bruno@clisp.org>
2782
2783         * m4/inline.m4: New file.
2784         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
2785         * modules/list (Files): Add m4/inline.m4.
2786         * modules/oset (Files): Likewise.
2787
2788 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
2789
2790         * lib/idcache.c: Include <stddef.h>, for offsetof.
2791         (struct userid.name): Change from char * to a flexible array member.
2792         All uses changed.
2793         * modules/idcache (Depends-on): Add flexmember.
2794
2795         * MODULES.html.sh (Core language properties): New module flexmember.
2796         * modules/flexmember, m4/flexmember.m4: New files.
2797
2798         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
2799         inline functions that are identical with the old xnmalloc_inline,
2800         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
2801         that we can avoid some unnecessary integer multiplications and
2802         divisions in the common case where the element size is known at
2803         compile time.
2804         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
2805         needed.
2806         (xnboundedmalloc): Remove.
2807         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
2808         arguments, for consistency with rest of this header.
2809         (xcharalloc): Rewrite using XNMALLOC.
2810         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
2811         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
2812         versions have been moved to lib/xalloc.h and renamed to be the
2813         non-*_inline versions.
2814         (xmalloc, xrealloc): Implement without reference to the xnmalloc
2815         and xnrealloc functions, since those functions are now inline and
2816         now call us.
2817         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
2818         renaming described above.
2819         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
2820         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
2821         captures the dependency in AC_C_INLINE.
2822
2823         New module canonicalize-lgpl, proposed by Charles Wilson in
2824         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
2825         with a few small changes afterwards.
2826         * MODULES.html.sh (File system functions): New module
2827         canonicalize-lgpl.
2828         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
2829         and canonicalize_file_name.
2830         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
2831         * modules/canonicalize-lgpl: New files.
2832
2833 2006-11-05  Bruno Haible  <bruno@clisp.org>
2834
2835         * gnulib-tool (func_import, func_create_testdir): Create directories
2836         also for files in subdirectories of lib/.
2837
2838 2006-11-05  Bruno Haible  <bruno@clisp.org>
2839
2840         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
2841         ANSI C compliant.
2842
2843 2006-11-03  Bruno Haible  <bruno@clisp.org>
2844
2845         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
2846         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
2847         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
2848         (xnboundedmalloc): New inline function.
2849         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
2850         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
2851         xmalloc.
2852         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
2853         xmalloc.
2854         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
2855         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
2856         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
2857         xmalloc.
2858         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
2859         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
2860         xmalloc.
2861         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
2862         gl_tree_add_after): Use XMALLOC instead of xmalloc.
2863         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
2864         xmalloc.
2865         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
2866         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
2867         gl_tree_add_after): Use XMALLOC instead of xmalloc.
2868         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
2869         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
2870         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
2871         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
2872
2873 2006-11-03  Bruno Haible  <bruno@clisp.org>
2874
2875         * lib/c-ctype.h [C++]: Define functions without name mangling.
2876         * lib/fwriteerror.h [C++]: Likewise.
2877         * lib/gcd.h [C++]: Likewise.
2878         * lib/linebreak.h [C++]: Likewise.
2879
2880 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
2881
2882         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
2883         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
2884         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
2885         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
2886         Check for functions and headers just once.
2887         Check for declaration of canonicalize_file_name.
2888         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
2889
2890 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
2891
2892         * gnulib-tool (func_import): Fix typo in actioncmd.
2893
2894 2006-11-02  Bruno Haible  <bruno@clisp.org>
2895
2896         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
2897         newline sequence in the Makefile.am snippet as a space, like "make"
2898         does.
2899         Reported by Roger Persson <perrog@gmail.com>.
2900
2901 2006-11-01  Bruno Haible  <bruno@clisp.org>
2902
2903         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
2904         already declared in <string.h>.
2905         * lib/strcase.h (strncasecmp): Don't declare it if yes.
2906
2907 2006-11-01  Bruno Haible  <bruno@clisp.org>
2908
2909         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
2910         * lib/strcase.h: Include <string.h>.
2911         (strcasecmp): Define to rpl_strcasecmp here.
2912
2913 2006-11-01  Bruno Haible  <bruno@clisp.org>
2914
2915         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
2916
2917 2006-11-01  Eric Blake  <ebb9@byu.net>
2918
2919         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
2920
2921         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
2922
2923 2006-10-29  Bruno Haible  <bruno@clisp.org>
2924
2925         Make it compile in C++ mode.
2926         * lib/full-write.c (full_rw): Add a cast.
2927
2928 2006-11-01  Bruno Haible  <bruno@clisp.org>
2929
2930         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
2931         be POSIX compliant.
2932         Reported by Roger Persson <perrog@gmail.com>.
2933
2934 2006-11-01  Eric Blake  <ebb9@byu.net>
2935
2936         * lib/getopt_.h: Fix comments.
2937
2938 2006-10-31  Eric Blake  <ebb9@byu.net>
2939
2940         * modules/tmpdir (Depends-on): Add sys_stat.
2941         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
2942         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
2943         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
2944         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
2945         tempname.
2946
2947 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
2948
2949         Avoid some C++ diagnostics reported by Bruno Haible.
2950         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
2951         xmalloc.
2952         (quotearg_alloc): Use xcharalloc rather than xmalloc.
2953         (struct slotvec): Move to top level.
2954         (quotearg_n_options): Rewrite to avoid xmalloc.
2955         * lib/xalloc.h (xcharalloc): New function.
2956         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
2957         [defined __cplusplus]: Add function template that provides result
2958         type propagation.  This part of the change is from Bruno Haible.
2959
2960 2006-10-29  Bruno Haible  <bruno@clisp.org>
2961
2962         Make it compile in C++ mode.
2963         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
2964         * lib/strnlen1.c (strnlen1): Cast memchr result.
2965         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
2966         * lib/clean-temp.c (string_equals, string_hash): Add casts.
2967         (create_temp_dir): Rename local variable 'template'.
2968         (compile_csharp_using_sscli): Add cast.
2969         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
2970         * lib/findprog.c (find_in_path): Likewise.
2971         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
2972         * lib/wait-process.c (register_slave_subprocess): Likewise.
2973
2974 2006-10-22  Bruno Haible  <bruno@clisp.org>
2975
2976         * modules/tsearch: New file.
2977         * lib/tsearch.h: New file.
2978         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
2979         * m4/tsearch.m4: New file.
2980         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
2981
2982 2006-10-29  Eric Blake  <ebb9@byu.net>
2983
2984         * lib/arcfour.c: Assume config.h.
2985         * lib/arctwo.c: Likewise.
2986         * lib/base64.c: Likewise.
2987         * lib/check-version.c: Likewise.
2988         * lib/crc.c: Likewise.
2989         * lib/des.c: Likewise.
2990         * lib/gc-gnulib.c: Likewise.
2991         * lib/gc-libgcrypt.c: Likewise.
2992         * lib/gc-pbkdf2-sha1.c: Likewise.
2993         * lib/getaddrinfo.c: Likewise.
2994         * lib/getdelim.c: Likewise.
2995         * lib/getline.c: Likewise.
2996         * lib/hmac-md5.c: Likewise.
2997         * lib/hmac-sha1.c: Likewise.
2998         * lib/iconvme.c: Likewise.
2999         * lib/md2.c: Likewise.
3000         * lib/md4.c: Likewise.
3001         * lib/memxor.c: Likewise.
3002         * lib/read-file.c: Likewise.
3003         * lib/readline.c: Likewise.
3004         * lib/rijndael-alg-fst.c: Likewise.
3005         * lib/rijndael-api-fst.c: Likewise.
3006         * lib/xgetdomainname.c: Likewise.
3007
3008 2006-10-28  Eric Blake  <ebb9@byu.net>
3009
3010         * lib/xstrndup.c: Assume config.h.
3011
3012 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3013
3014         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
3015         stat-macros.h is now for our own macros, whereas stat_h is for
3016         macros in the <sys/stat.h> name space.
3017         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
3018         (STAT_MACROS_H): Remove.
3019         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
3020         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
3021         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
3022         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
3023         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
3024         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
3025         Move these macros to ...
3026         * lib/stat_.h: here.  Don't include stat-macros.h.
3027         * lib/canonicalize.c: Don't include stat-macros.h.
3028         * lib/chown.c: Likewise.
3029         * lib/euidaccess.c: Likewise.
3030         * lib/file-type.c: Likewise.
3031         * lib/filemode.c: Likewise.
3032         * lib/glob.c: Likewise.
3033         * lib/isapipe.c: Likewise.
3034         * lib/lchown.c: Likewise.
3035         * lib/lstat.c: Likewise.
3036         * lib/mkdir-p.c: Likewise.
3037         * lib/rmdir.c: Likewise.
3038         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
3039         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
3040         unless mkdir isn't declared, to speed up 'configure'.
3041         Always create sys/stat.h, since it's unlikely any real sys/stat.h
3042         would define all the S_* symbols.
3043         * modules/canonicalize (Depends-on):
3044         Depend on sys_stat, not stat-macros.
3045         * modules/chown: Likewise.
3046         * modules/euidaccess: Likewise.
3047         * modules/filemode: Likewise.
3048         * modules/file-type: Likewise.
3049         * modules/glob: Likewise.
3050         * modules/isapipe: Likewise.
3051         * modules/lchown: Likewise.
3052         * modules/lstat: Likewise.
3053         * modules/mkancesdirs: Likewise.
3054         * modules/rmdir: Likewise.
3055         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
3056         * modules/modechange: Likewise.
3057         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
3058         (configure.ac): Remove gl_STAT_MACROS.
3059         * modules/sys_stat (Depends-on): Remove stat-macros.
3060
3061 2006-10-27  Bruno Haible  <bruno@clisp.org>
3062
3063         * m4/signed.m4: Remove file.
3064         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
3065         invocation.
3066         * modules/vasnprintf (Files): Remove m4/signed.m4.
3067
3068 2006-10-27  Bruno Haible  <bruno@clisp.org>
3069
3070         Update to GNU gettext 0.16.
3071         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
3072         m4/inttypes-h.m4, m4/signed.m4.
3073         * m4/gettext.m4: Update to GNU gettext 0.16.
3074         * m4/intl.m4: New file, from GNU gettext.
3075         * m4/intldir.m4: New file, from GNU gettext.
3076         * config/srclist.txt: Update
3077
3078 2006-10-27  Eric Blake  <ebb9@byu.net>
3079
3080         * MODULES.html.sh: Document tempname.
3081         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
3082         dependencies.
3083         (Files): Move lib/tempname.c...
3084         * modules/tempname: ...to this new module.
3085         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
3086         (gl_PREREQ_TEMPNAME): Move...
3087         * m4/tempname.m4: ...to this new file.
3088         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
3089         * modules/sys_stat (Depends-on): Add stat-macros.
3090         * lib/stat_.h (includes): Pick up stat macros.
3091         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
3092         if stat macros are broken.
3093         * lib/tempname.c (includes): No need to include "stat-macros.h".
3094         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
3095         (direxists, __path_search) [!_LIBC]: Don't compile these in
3096         gnulib; the tmpdir module covers that.
3097         * lib/tempname.h: New file.
3098
3099 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3100
3101         * COPYING: Explain how gnulib-tool converts licence headers.
3102         Almost all wording by Eric Blake.
3103
3104 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
3105
3106         * lib/mbchar.h (is_basic_table): Make read-only.
3107         * lib/mbchar.c (is_basic_table): Likewise.
3108         Reported by John Darrington.
3109
3110 2006-10-25  Bruno Haible  <bruno@clisp.org>
3111
3112         * lib/progname.h (set_program_name): Undefine before defining.
3113
3114 2006-10-25  Bruno Haible  <bruno@clisp.org>
3115
3116         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
3117         false for non-gcc C++ compilers.
3118         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
3119
3120 2006-10-24  Bruno Haible  <bruno@clisp.org>
3121
3122         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
3123         iconv implementations like Irix iconv.
3124
3125 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3126
3127         * modules/vararrays: New file.
3128         * m4/vararrays.m4: New file, taken from diffutils.
3129         * MODULES.html.sh: New module vararrays.
3130
3131 2006-10-24  Karl Berry  <karl@gnu.org>
3132
3133         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
3134         Don't call GNU Unix.
3135
3136 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3137
3138         * users.txt: Add Libtool.
3139
3140         Sync from Libtool:
3141
3142         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3143
3144         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
3145         to gnulib's policy of including config.h unconditionally.
3146
3147 2006-10-24  Bruno Haible  <bruno@clisp.org>
3148
3149         * modules/wcwidth (Files): Add m4/wint_t.m4.
3150         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
3151         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
3152
3153 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3154
3155         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
3156         to pacify GCC with some -W flags enabled.  Problem reported by
3157         Bruno Haible.
3158
3159 2006-10-24  Jim Meyering  <jim@meyering.net>
3160
3161         * MODULES.html.sh: Remove uinttostr.  It's not a module.
3162         Reported by Karl Berry.
3163
3164 2006-10-23  Bruno Haible  <bruno@clisp.org>
3165
3166         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
3167
3168 2006-10-24  Bruno Haible  <bruno@clisp.org>
3169
3170         * lib/gl_list.h: Use C comment style, not C++ comment style.
3171
3172 2006-10-23  Eric Blake  <ebb9@byu.net>
3173
3174         * lib/getaddrinfo.c (includes): Add missing include.
3175
3176 2006-10-23  Bruno Haible  <bruno@clisp.org>
3177             Paul Eggert  <eggert@cs.ucla.edu>
3178
3179         Ability to rename obstack_free.
3180         * lib/obstack.h (__obstack_free): New macro. Declare instead of
3181         obstack_free.
3182         (obstack_free): Invoke the __obstack_free macro.
3183         * lib/obstack.c (obstack_free): Use __obstack_free macro.
3184
3185 2006-10-23  Bruno Haible  <bruno@clisp.org>
3186             Paul Eggert  <eggert@cs.ucla.edu>
3187
3188         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
3189         __argc, __argv from the declaration. (They are defined as macros on
3190         mingw.)
3191
3192 2006-10-22  Bruno Haible  <bruno@clisp.org>
3193
3194         * doc/gnulib-intro.texi: New file.
3195         * doc/gnulib.texi: Include it.
3196
3197 2006-10-21  Bruno Haible  <bruno@clisp.org>
3198
3199         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
3200         "Introduction", "Miscellanous Notes", "Particular Modules".
3201
3202 2006-10-21  Bruno Haible  <bruno@clisp.org>
3203
3204         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3205         Change mostlyclean-local rule to avoid sh syntax error from bash
3206         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
3207
3208 2006-10-23  Jim Meyering  <jim@meyering.net>
3209
3210         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
3211         in place of snprintf.
3212
3213         * modules/inttostr (Files): Add lib/uinttostr.c.
3214         * lib/uinttostr.c (inttostr): New file/function.
3215         * lib/inttostr.h (uinttostr): Declare.
3216         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
3217         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
3218         Add uinttostr.
3219         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
3220
3221 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
3222
3223         * lib/canonicalize.c (ELOOP): Define if not already defined.
3224         Problem reported by Bruno Haible in
3225         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
3226
3227 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
3228
3229         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
3230         Problem reported by Perry Smith and Ville Laurikari.
3231
3232         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
3233         uses.
3234
3235 2006-10-19  Bruno Haible  <bruno@clisp.org>
3236
3237         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
3238         for mingw.
3239
3240 2006-10-19  Bruno Haible  <bruno@clisp.org>
3241
3242         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
3243         Needed for mingw.
3244
3245 2006-10-19  Bruno Haible  <bruno@clisp.org>
3246
3247         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
3248
3249 2006-10-19  Bruno Haible  <bruno@clisp.org>
3250
3251         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
3252         it.
3253
3254 2006-10-19  Bruno Haible  <bruno@clisp.org>
3255
3256         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
3257         invocation.
3258
3259 2006-10-19  Bruno Haible  <bruno@clisp.org>
3260
3261         * gnulib-tool (func_create_testdir): Don't include ftruncate and
3262         mountlist by default.
3263
3264 2006-10-16  Bruno Haible  <bruno@clisp.org>
3265
3266         * lib/c-strstr.c: Include c-strstr.h.
3267
3268 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
3269
3270         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
3271         in a slash.
3272
3273 2006-10-18  Bruno Haible  <bruno@clisp.org>
3274
3275         * lib/lock.h [C++]: Wrap definitions in extern "C".
3276
3277 2006-10-18  Bruno Haible  <bruno@clisp.org>
3278
3279         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
3280         gl_LIBOBJS list.
3281
3282 2006-10-18  Bruno Haible  <bruno@clisp.org>
3283
3284         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
3285
3286 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
3287
3288         * lib/xstrtol.h: Include gettext.h.
3289         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
3290         Problem reported by Eric Blake.
3291         * modules/xstrtol (Depends-on): Add gettext-h.
3292
3293 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
3294
3295         * lib/strftime.c (advance): New macro.
3296         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
3297         incomplete type, so you can't add 0 to it.  Problem and patch
3298         reported by Eelco Dolstra for dietlibc.
3299
3300 2006-10-18  Jim Meyering  <jim@meyering.net>
3301
3302         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
3303         type for a local, and rename it: s/up/user_proc/.
3304
3305 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
3306
3307         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
3308         READ_UTMP_USER_PROCESS.
3309         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
3310
3311 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
3312
3313         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
3314         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
3315
3316 2006-10-17  Eric Blake  <ebb9@byu.net>
3317
3318         * lib/sigprocmask.c (sigprocmask): Fix typo.
3319
3320         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
3321
3322         * modules/clean-temp (Makefile.am): Don't add to make output...
3323         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
3324         config.h.
3325
3326 2006-10-17  Bruno Haible  <bruno@clisp.org>
3327
3328         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
3329         differently if DEFAULT_TEXT_DOMAIN is set.
3330
3331 2006-10-16  Bruno Haible  <bruno@clisp.org>
3332
3333         * lib/clean-temp.c: Include fwriteerror.h.
3334
3335 2006-10-16  Bruno Haible  <bruno@clisp.org>
3336
3337         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
3338
3339 2006-10-16  Bruno Haible  <bruno@clisp.org>
3340
3341         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
3342         * lib/sigprocmask.h: Include <sys/types.h>.
3343         (sigset_t): Use the system's definition if present.
3344
3345 2006-10-17  Eric Blake  <ebb9@byu.net>
3346
3347         * lib/xvasprintf.c (includes): Assume config.h.
3348         * lib/xasprintf.c (includes): Likewise.
3349
3350 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
3351
3352         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
3353         at least as wide as intmax_t.
3354
3355 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
3356
3357         (Imported from Automake.)
3358         * build-aux/gnupload: Update to version 1.1 of directive file.
3359
3360 2006-10-16  Eric Blake  <ebb9@byu.net>
3361
3362         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
3363         match Automake 1.10a.
3364
3365 2006-10-14  Bruno Haible  <bruno@clisp.org>
3366
3367         * modules/sigprocmask: New file.
3368         * lib/sigprocmask.h: New file.
3369         * lib/sigprocmask.c: New file.
3370         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
3371         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
3372         request sigprocmask.o.
3373         (gl_PREREQ_SIGPROCMASK): New macro.
3374         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
3375         (Depends-on): Add sigprocmask.
3376         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
3377         gt_SIGNALBLOCKING. Test for 'raise' only once.
3378         * lib/fatal-signal.c: Include sigprocmask.h.
3379         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
3380         unblock_fatal_signals): Define always.
3381         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
3382         sigprocmask.
3383
3384 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
3385
3386         Sync from Automake.
3387         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
3388         which incorrectly sets the mode of an existing destination
3389         directory.  In some cases the unpatched install-sh could do the
3390         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
3391         system.  We hope this is rare in practice, but it's clearly worth
3392         fixing.  Problem reported by Alex Unleashed in
3393         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
3394         Also, don't bother to check for -m bugs unless we're using -m;
3395         suggested by Stepan Kasal.
3396
3397 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3398
3399         Sync from Automake.
3400         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
3401         `-c' flag, so they appear at the same position as in %FASTDEP%
3402         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
3403         which ignores unknown options only after the first non-option.
3404         Bug report against M4 by Nelson H. F. Beebe.
3405
3406 2006-10-13  Jim Meyering  <jim@meyering.net>
3407
3408         Fix a bug in yesterday's change.
3409         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
3410         p->fts_statp->st_dev would be used uninitialized.
3411         Ensures that we always call fts_stat on the very first entry.
3412         Miklos Szeredi reported that find -xdev stopped working.
3413
3414 2006-10-12  Bruno Haible  <bruno@clisp.org>
3415
3416         * gnulib-tool (func_get_automake_snippet): Append an automatically
3417         computed EXTRA_DIST augmentation.
3418         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
3419         * modules/alloca-opt (Makefile.am): Likewise.
3420         * modules/allocsa (Makefile.am): Likewise.
3421         * modules/arcfour (Makefile.am): Likewise.
3422         * modules/arctwo (Makefile.am): Likewise.
3423         * modules/argmatch (Makefile.am): Likewise.
3424         * modules/argz (Makefile.am): Likewise.
3425         * modules/atexit (Makefile.am): Likewise.
3426         * modules/backupfile (Makefile.am): Likewise.
3427         * modules/byteswap (Makefile.am): Likewise.
3428         * modules/c-strtod (Makefile.am): Likewise.
3429         * modules/c-strtold (Makefile.am): Likewise.
3430         * modules/calloc (Makefile.am): Likewise.
3431         * modules/canon-host (Makefile.am): Likewise.
3432         * modules/canonicalize (Makefile.am): Likewise.
3433         * modules/chdir-long (Makefile.am): Likewise.
3434         * modules/chdir-safer (Makefile.am): Likewise.
3435         * modules/check-version (Makefile.am): Likewise.
3436         * modules/chown (Makefile.am): Likewise.
3437         * modules/cloexec (Makefile.am): Likewise.
3438         * modules/close-stream (Makefile.am): Likewise.
3439         * modules/closeout (Makefile.am): Likewise.
3440         * modules/crc (Makefile.am): Likewise.
3441         * modules/csharpexec (Makefile.am): Likewise.
3442         * modules/cycle-check (Makefile.am): Likewise.
3443         * modules/des (Makefile.am): Likewise.
3444         * modules/dev-ino (Makefile.am): Likewise.
3445         * modules/dirfd (Makefile.am): Likewise.
3446         * modules/dirname (Makefile.am): Likewise.
3447         * modules/dup2 (Makefile.am): Likewise.
3448         * modules/eealloc (Makefile.am): Likewise.
3449         * modules/error (Makefile.am): Likewise.
3450         * modules/euidaccess (Makefile.am): Likewise.
3451         * modules/exclude (Makefile.am): Likewise.
3452         * modules/exitfail (Makefile.am): Likewise.
3453         * modules/fcntl-safer (Makefile.am): Likewise.
3454         * modules/fcntl (Makefile.am): Likewise.
3455         * modules/file-type (Makefile.am): Likewise.
3456         * modules/fileblocks (Makefile.am): Likewise.
3457         * modules/filemode (Makefile.am): Likewise.
3458         * modules/filenamecat (Makefile.am): Likewise.
3459         * modules/fnmatch (Makefile.am): Likewise.
3460         * modules/fopen-safer (Makefile.am): Likewise.
3461         * modules/fpending (Makefile.am): Likewise.
3462         * modules/fprintftime (Makefile.am): Likewise.
3463         * modules/free (Makefile.am): Likewise.
3464         * modules/fsusage (Makefile.am): Likewise.
3465         * modules/ftruncate (Makefile.am): Likewise.
3466         * modules/fts (Makefile.am): Likewise.
3467         * modules/gc-arcfour (Makefile.am): Likewise.
3468         * modules/gc-des (Makefile.am): Likewise.
3469         * modules/gc-hmac-md5 (Makefile.am): Likewise.
3470         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
3471         * modules/gc-md4 (Makefile.am): Likewise.
3472         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
3473         * modules/gc-sha1 (Makefile.am): Likewise.
3474         * modules/gc (Makefile.am): Likewise.
3475         * modules/getaddrinfo (Makefile.am): Likewise.
3476         * modules/getcwd (Makefile.am): Likewise.
3477         * modules/getdelim (Makefile.am): Likewise.
3478         * modules/getdomainname (Makefile.am): Likewise.
3479         * modules/getgroups (Makefile.am): Likewise.
3480         * modules/gethostname (Makefile.am): Likewise.
3481         * modules/gethrxtime (Makefile.am): Likewise.
3482         * modules/getline (Makefile.am): Likewise.
3483         * modules/getloadavg (Makefile.am): Likewise.
3484         * modules/getlogin_r (Makefile.am): Likewise.
3485         * modules/getndelim2 (Makefile.am): Likewise.
3486         * modules/getopt (Makefile.am): Likewise.
3487         * modules/getpagesize (Makefile.am): Likewise.
3488         * modules/getpass-gnu (Makefile.am): Likewise.
3489         * modules/getpass (Makefile.am): Likewise.
3490         * modules/getsubopt (Makefile.am): Likewise.
3491         * modules/gettime (Makefile.am): Likewise.
3492         * modules/gettimeofday (Makefile.am): Likewise.
3493         * modules/getugroups (Makefile.am): Likewise.
3494         * modules/getusershell (Makefile.am): Likewise.
3495         * modules/glob (Makefile.am): Likewise.
3496         * modules/group-member (Makefile.am): Likewise.
3497         * modules/hard-locale (Makefile.am): Likewise.
3498         * modules/hash (Makefile.am): Likewise.
3499         * modules/hmac-md5 (Makefile.am): Likewise.
3500         * modules/hmac-sha1 (Makefile.am): Likewise.
3501         * modules/human (Makefile.am): Likewise.
3502         * modules/idcache (Makefile.am): Likewise.
3503         * modules/imaxabs (Makefile.am): Likewise.
3504         * modules/imaxdiv (Makefile.am): Likewise.
3505         * modules/inet_ntop (Makefile.am): Likewise.
3506         * modules/inet_pton (Makefile.am): Likewise.
3507         * modules/intprops (Makefile.am): Likewise.
3508         * modules/inttostr (Makefile.am): Likewise.
3509         * modules/inttypes (Makefile.am): Likewise.
3510         * modules/isapipe (Makefile.am): Likewise.
3511         * modules/javaversion (Makefile.am): Likewise.
3512         * modules/lchmod (Makefile.am): Likewise.
3513         * modules/lchown (Makefile.am): Likewise.
3514         * modules/localcharset (Makefile.am): Likewise.
3515         * modules/long-options (Makefile.am): Likewise.
3516         * modules/lstat (Makefile.am): Likewise.
3517         * modules/malloc (Makefile.am): Likewise.
3518         * modules/mathl (Makefile.am): Likewise.
3519         * modules/mbchar (Makefile.am): Likewise.
3520         * modules/md2 (Makefile.am): Likewise.
3521         * modules/md4 (Makefile.am): Likewise.
3522         * modules/md5 (Makefile.am): Likewise.
3523         * modules/memcasecmp (Makefile.am): Likewise.
3524         * modules/memchr (Makefile.am): Likewise.
3525         * modules/memcmp (Makefile.am): Likewise.
3526         * modules/memcoll (Makefile.am): Likewise.
3527         * modules/memcpy (Makefile.am): Likewise.
3528         * modules/memmem (Makefile.am): Likewise.
3529         * modules/memmove (Makefile.am): Likewise.
3530         * modules/mempcpy (Makefile.am): Likewise.
3531         * modules/memrchr (Makefile.am): Likewise.
3532         * modules/memset (Makefile.am): Likewise.
3533         * modules/memxor (Makefile.am): Likewise.
3534         * modules/mkancesdirs (Makefile.am): Likewise.
3535         * modules/mkdir-p (Makefile.am): Likewise.
3536         * modules/mkdir (Makefile.am): Likewise.
3537         * modules/mkdtemp (Makefile.am): Likewise.
3538         * modules/mkstemp (Makefile.am): Likewise.
3539         * modules/mktime (Makefile.am): Likewise.
3540         * modules/modechange (Makefile.am): Likewise.
3541         * modules/mountlist (Makefile.am): Likewise.
3542         * modules/nanosleep (Makefile.am): Likewise.
3543         * modules/obstack (Makefile.am): Likewise.
3544         * modules/openat (Makefile.am): Likewise.
3545         * modules/pagealign_alloc (Makefile.am): Likewise.
3546         * modules/pathmax (Makefile.am): Likewise.
3547         * modules/physmem (Makefile.am): Likewise.
3548         * modules/poll (Makefile.am): Likewise.
3549         * modules/posixtm (Makefile.am): Likewise.
3550         * modules/posixver (Makefile.am): Likewise.
3551         * modules/putenv (Makefile.am): Likewise.
3552         * modules/quote (Makefile.am): Likewise.
3553         * modules/quotearg (Makefile.am): Likewise.
3554         * modules/raise (Makefile.am): Likewise.
3555         * modules/read-file (Makefile.am): Likewise.
3556         * modules/readline (Makefile.am): Likewise.
3557         * modules/readlink (Makefile.am): Likewise.
3558         * modules/readtokens (Makefile.am): Likewise.
3559         * modules/readutmp (Makefile.am): Likewise.
3560         * modules/realloc (Makefile.am): Likewise.
3561         * modules/regex (Makefile.am): Likewise.
3562         * modules/rename-dest-slash (Makefile.am): Likewise.
3563         * modules/rename (Makefile.am): Likewise.
3564         * modules/rijndael (Makefile.am): Likewise.
3565         * modules/rmdir (Makefile.am): Likewise.
3566         * modules/rpmatch (Makefile.am): Likewise.
3567         * modules/safe-read (Makefile.am): Likewise.
3568         * modules/safe-write (Makefile.am): Likewise.
3569         * modules/same-inode (Makefile.am): Likewise.
3570         * modules/same (Makefile.am): Likewise.
3571         * modules/save-cwd (Makefile.am): Likewise.
3572         * modules/savedir (Makefile.am): Likewise.
3573         * modules/setenv (Makefile.am): Likewise.
3574         * modules/settime (Makefile.am): Likewise.
3575         * modules/sha1 (Makefile.am): Likewise.
3576         * modules/sig2str (Makefile.am): Likewise.
3577         * modules/snprintf (Makefile.am): Likewise.
3578         * modules/stat-macros (Makefile.am): Likewise.
3579         * modules/stat-time (Makefile.am): Likewise.
3580         * modules/stdbool (Makefile.am): Likewise.
3581         * modules/stdint (Makefile.am): Likewise.
3582         * modules/stdlib-safer (Makefile.am): Likewise.
3583         * modules/stpcpy (Makefile.am): Likewise.
3584         * modules/stpncpy (Makefile.am): Likewise.
3585         * modules/strcase (Makefile.am): Likewise.
3586         * modules/strcasestr (Makefile.am): Likewise.
3587         * modules/strchrnul (Makefile.am): Likewise.
3588         * modules/strcspn (Makefile.am): Likewise.
3589         * modules/strdup (Makefile.am): Likewise.
3590         * modules/strerror (Makefile.am): Likewise.
3591         * modules/strftime (Makefile.am): Likewise.
3592         * modules/strndup (Makefile.am): Likewise.
3593         * modules/strnlen (Makefile.am): Likewise.
3594         * modules/strpbrk (Makefile.am): Likewise.
3595         * modules/strsep (Makefile.am): Likewise.
3596         * modules/strstr (Makefile.am): Likewise.
3597         * modules/strtod (Makefile.am): Likewise.
3598         * modules/strtoimax (Makefile.am): Likewise.
3599         * modules/strtok_r (Makefile.am): Likewise.
3600         * modules/strtol (Makefile.am): Likewise.
3601         * modules/strtoll (Makefile.am): Likewise.
3602         * modules/strtoul (Makefile.am): Likewise.
3603         * modules/strtoull (Makefile.am): Likewise.
3604         * modules/strtoumax (Makefile.am): Likewise.
3605         * modules/strverscmp (Makefile.am): Likewise.
3606         * modules/sys_socket (Makefile.am): Likewise.
3607         * modules/sys_stat (Makefile.am): Likewise.
3608         * modules/sysexits (Makefile.am): Likewise.
3609         * modules/time_r (Makefile.am): Likewise.
3610         * modules/timegm (Makefile.am): Likewise.
3611         * modules/timespec (Makefile.am): Likewise.
3612         * modules/tmpfile-safer (Makefile.am): Likewise.
3613         * modules/trim (Makefile.am): Likewise.
3614         * modules/unistd-safer (Makefile.am): Likewise.
3615         * modules/unlinkdir (Makefile.am): Likewise.
3616         * modules/unlocked-io (Makefile.am): Likewise.
3617         * modules/userspec (Makefile.am): Likewise.
3618         * modules/utime (Makefile.am): Likewise.
3619         * modules/utimecmp (Makefile.am): Likewise.
3620         * modules/utimens (Makefile.am): Likewise.
3621         * modules/vasnprintf (Makefile.am): Likewise.
3622         * modules/vasprintf (Makefile.am): Likewise.
3623         * modules/vsnprintf (Makefile.am): Likewise.
3624         * modules/xalloc (Makefile.am): Likewise.
3625         * modules/xgetcwd (Makefile.am): Likewise.
3626         * modules/xnanosleep (Makefile.am): Likewise.
3627         * modules/xreadlink (Makefile.am): Likewise.
3628         * modules/xstrtod (Makefile.am): Likewise.
3629         * modules/xstrtol (Makefile.am): Likewise.
3630         * modules/xstrtold (Makefile.am): Likewise.
3631         * modules/yesno (Makefile.am): Likewise.
3632         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
3633
3634 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
3635
3636         * modules/error (Makefile.am): Distribute files through
3637         EXTRA_DIST, not lib_SOURCES.
3638
3639 2006-10-12  Eric Blake  <ebb9@byu.net>
3640
3641         * modules/error (Makefile.am): Distribute files in /lib.
3642         * modules/obstack (Makefile.am): Likewise.
3643
3644 2006-10-12  Bruno Haible  <bruno@clisp.org>
3645
3646         * modules/acl (Makefile.am): Distribute all files in lib/ through
3647         EXTRA_DIST.
3648         * modules/arcfour (Makefile.am): Likewise.
3649         * modules/arctwo (Makefile.am): Likewise.
3650         * modules/argmatch (Makefile.am): Likewise.
3651         * modules/argz (Makefile.am): Likewise.
3652         * modules/atexit (Makefile.am): Likewise.
3653         * modules/backupfile (Makefile.am): Likewise.
3654         * modules/c-strtod (Makefile.am): Likewise.
3655         * modules/c-strtold (Makefile.am): Likewise.
3656         * modules/calloc (Makefile.am): Likewise.
3657         * modules/canon-host (Makefile.am): Likewise.
3658         * modules/canonicalize (Makefile.am): Likewise.
3659         * modules/chdir-long (Makefile.am): Likewise.
3660         * modules/chdir-safer (Makefile.am): Likewise.
3661         * modules/check-version (Makefile.am): Likewise.
3662         * modules/chown (Makefile.am): Likewise.
3663         * modules/cloexec (Makefile.am): Likewise.
3664         * modules/close-stream (Makefile.am): Likewise.
3665         * modules/closeout (Makefile.am): Likewise.
3666         * modules/crc (Makefile.am): Likewise.
3667         * modules/cycle-check (Makefile.am): Likewise.
3668         * modules/des (Makefile.am): Likewise.
3669         * modules/dirfd (Makefile.am): Likewise.
3670         * modules/dirname (Makefile.am): Likewise.
3671         * modules/dup2 (Makefile.am): Likewise.
3672         * modules/euidaccess (Makefile.am): Likewise.
3673         * modules/exclude (Makefile.am): Likewise.
3674         * modules/exitfail (Makefile.am): Likewise.
3675         * modules/fcntl-safer (Makefile.am): Likewise.
3676         * modules/file-type (Makefile.am): Likewise.
3677         * modules/fileblocks (Makefile.am): Likewise.
3678         * modules/filemode (Makefile.am): Likewise.
3679         * modules/filenamecat (Makefile.am): Likewise.
3680         * modules/fnmatch (Makefile.am): Likewise.
3681         * modules/fopen-safer (Makefile.am): Likewise.
3682         * modules/fpending (Makefile.am): Likewise.
3683         * modules/fprintftime (Makefile.am): Likewise.
3684         * modules/free (Makefile.am): Likewise.
3685         * modules/fsusage (Makefile.am): Likewise.
3686         * modules/ftruncate (Makefile.am): Likewise.
3687         * modules/fts (Makefile.am): Likewise.
3688         * modules/gc (Makefile.am): Likewise.
3689         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
3690         * modules/getaddrinfo (Makefile.am): Likewise.
3691         * modules/getcwd (Makefile.am): Likewise.
3692         * modules/getdelim (Makefile.am): Likewise.
3693         * modules/getdomainname (Makefile.am): Likewise.
3694         * modules/getgroups (Makefile.am): Likewise.
3695         * modules/gethostname (Makefile.am): Likewise.
3696         * modules/gethrxtime (Makefile.am): Likewise.
3697         * modules/getline (Makefile.am): Likewise.
3698         * modules/getloadavg (Makefile.am): Likewise.
3699         * modules/getlogin_r (Makefile.am): Likewise.
3700         * modules/getopt (Makefile.am): Likewise.
3701         * modules/getpass (Makefile.am): Likewise.
3702         * modules/getpass-gnu (Makefile.am): Likewise.
3703         * modules/getsubopt (Makefile.am): Likewise.
3704         * modules/gettime (Makefile.am): Likewise.
3705         * modules/gettimeofday (Makefile.am): Likewise.
3706         * modules/getugroups (Makefile.am): Likewise.
3707         * modules/getusershell (Makefile.am): Likewise.
3708         * modules/glob (Makefile.am): Likewise.
3709         * modules/group-member (Makefile.am): Likewise.
3710         * modules/hard-locale (Makefile.am): Likewise.
3711         * modules/hash (Makefile.am): Likewise.
3712         * modules/hmac-md5 (Makefile.am): Likewise.
3713         * modules/hmac-sha1 (Makefile.am): Likewise.
3714         * modules/human (Makefile.am): Likewise.
3715         * modules/idcache (Makefile.am): Likewise.
3716         * modules/imaxabs (Makefile.am): Likewise.
3717         * modules/imaxdiv (Makefile.am): Likewise.
3718         * modules/inet_ntop (Makefile.am): Likewise.
3719         * modules/inet_pton (Makefile.am): Likewise.
3720         * modules/inttostr (Makefile.am): Likewise.
3721         * modules/isapipe (Makefile.am): Likewise.
3722         * modules/lchown (Makefile.am): Likewise.
3723         * modules/long-options (Makefile.am): Likewise.
3724         * modules/lstat (Makefile.am): Likewise.
3725         * modules/malloc (Makefile.am): Likewise.
3726         * modules/mathl (Makefile.am): Likewise.
3727         * modules/mbchar (Makefile.am): Likewise.
3728         * modules/md2 (Makefile.am): Likewise.
3729         * modules/md4 (Makefile.am): Likewise.
3730         * modules/md5 (Makefile.am): Likewise.
3731         * modules/memcasecmp (Makefile.am): Likewise.
3732         * modules/memchr (Makefile.am): Likewise.
3733         * modules/memcmp (Makefile.am): Likewise.
3734         * modules/memcoll (Makefile.am): Likewise.
3735         * modules/memcpy (Makefile.am): Likewise.
3736         * modules/memmem (Makefile.am): Likewise.
3737         * modules/memmove (Makefile.am): Likewise.
3738         * modules/mempcpy (Makefile.am): Likewise.
3739         * modules/memrchr (Makefile.am): Likewise.
3740         * modules/memset (Makefile.am): Likewise.
3741         * modules/memxor (Makefile.am): Likewise.
3742         * modules/mkancesdirs (Makefile.am): Likewise.
3743         * modules/mkdir (Makefile.am): Likewise.
3744         * modules/mkdir-p (Makefile.am): Likewise.
3745         * modules/mkdtemp (Makefile.am): Likewise.
3746         * modules/mkstemp (Makefile.am): Likewise.
3747         * modules/mktime (Makefile.am): Likewise.
3748         * modules/modechange (Makefile.am): Likewise.
3749         * modules/mountlist (Makefile.am): Likewise.
3750         * modules/nanosleep (Makefile.am): Likewise.
3751         * modules/openat (Makefile.am): Likewise.
3752         * modules/pagealign_alloc (Makefile.am): Likewise.
3753         * modules/physmem (Makefile.am): Likewise.
3754         * modules/poll (Makefile.am): Likewise.
3755         * modules/posixtm (Makefile.am): Likewise.
3756         * modules/posixver (Makefile.am): Likewise.
3757         * modules/putenv (Makefile.am): Likewise.
3758         * modules/quote (Makefile.am): Likewise.
3759         * modules/quotearg (Makefile.am): Likewise.
3760         * modules/raise (Makefile.am): Likewise.
3761         * modules/read-file (Makefile.am): Likewise.
3762         * modules/readline (Makefile.am): Likewise.
3763         * modules/readlink (Makefile.am): Likewise.
3764         * modules/readtokens (Makefile.am): Likewise.
3765         * modules/readutmp (Makefile.am): Likewise.
3766         * modules/realloc (Makefile.am): Likewise.
3767         * modules/regex (Makefile.am): Likewise.
3768         * modules/rename (Makefile.am): Likewise.
3769         * modules/rename-dest-slash (Makefile.am): Likewise.
3770         * modules/rijndael (Makefile.am): Likewise.
3771         * modules/rmdir (Makefile.am): Likewise.
3772         * modules/rpmatch (Makefile.am): Likewise.
3773         * modules/safe-read (Makefile.am): Likewise.
3774         * modules/safe-write (Makefile.am): Likewise.
3775         * modules/same (Makefile.am): Likewise.
3776         * modules/save-cwd (Makefile.am): Likewise.
3777         * modules/savedir (Makefile.am): Likewise.
3778         * modules/setenv (Makefile.am): Likewise.
3779         * modules/settime (Makefile.am): Likewise.
3780         * modules/sha1 (Makefile.am): Likewise.
3781         * modules/sig2str (Makefile.am): Likewise.
3782         * modules/snprintf (Makefile.am): Likewise.
3783         * modules/stdlib-safer (Makefile.am): Likewise.
3784         * modules/stpcpy (Makefile.am): Likewise.
3785         * modules/stpncpy (Makefile.am): Likewise.
3786         * modules/strcase (Makefile.am): Likewise.
3787         * modules/strcasestr (Makefile.am): Likewise.
3788         * modules/strchrnul (Makefile.am): Likewise.
3789         * modules/strcspn (Makefile.am): Likewise.
3790         * modules/strdup (Makefile.am): Likewise.
3791         * modules/strerror (Makefile.am): Likewise.
3792         * modules/strftime (Makefile.am): Likewise.
3793         * modules/strndup (Makefile.am): Likewise.
3794         * modules/strnlen (Makefile.am): Likewise.
3795         * modules/strpbrk (Makefile.am): Likewise.
3796         * modules/strsep (Makefile.am): Likewise.
3797         * modules/strstr (Makefile.am): Likewise.
3798         * modules/strtod (Makefile.am): Likewise.
3799         * modules/strtoimax (Makefile.am): Likewise.
3800         * modules/strtok_r (Makefile.am): Likewise.
3801         * modules/strtol (Makefile.am): Likewise.
3802         * modules/strtoll (Makefile.am): Likewise.
3803         * modules/strtoul (Makefile.am): Likewise.
3804         * modules/strtoull (Makefile.am): Likewise.
3805         * modules/strtoumax (Makefile.am): Likewise.
3806         * modules/strverscmp (Makefile.am): Likewise.
3807         * modules/time_r (Makefile.am): Likewise.
3808         * modules/timegm (Makefile.am): Likewise.
3809         * modules/tmpfile-safer (Makefile.am): Likewise.
3810         * modules/unistd-safer (Makefile.am): Likewise.
3811         * modules/unlinkdir (Makefile.am): Likewise.
3812         * modules/userspec (Makefile.am): Likewise.
3813         * modules/utime (Makefile.am): Likewise.
3814         * modules/utimecmp (Makefile.am): Likewise.
3815         * modules/utimens (Makefile.am): Likewise.
3816         * modules/vasnprintf (Makefile.am): Likewise.
3817         * modules/vasprintf (Makefile.am): Likewise.
3818         * modules/vsnprintf (Makefile.am): Likewise.
3819         * modules/xalloc (Makefile.am): Likewise.
3820         * modules/xgetcwd (Makefile.am): Likewise.
3821         * modules/xnanosleep (Makefile.am): Likewise.
3822         * modules/xreadlink (Makefile.am): Likewise.
3823         * modules/xstrtod (Makefile.am): Likewise.
3824         * modules/xstrtol (Makefile.am): Likewise.
3825         * modules/xstrtold (Makefile.am): Likewise.
3826         * modules/yesno (Makefile.am): Likewise.
3827
3828 2006-10-12  Jim Meyering  <jim@meyering.net>
3829
3830         * m4/getloadavg.m4: Revert the change below.
3831
3832         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
3833         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
3834         fail with a symlink, which is what coreutils' ./bootstrap now
3835         creates by default.
3836
3837 2006-10-12  Bruno Haible  <bruno@clisp.org>
3838
3839         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
3840         mingw.
3841         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
3842         MSVC and mingw explicitly.
3843
3844 2006-10-11  Simon Josefsson  <jas@extundo.com>
3845             Bruno Haible  <bruno@clisp.org>
3846
3847         Add support for multiple gnulib-tool invocations in the scope of a
3848         single configure.ac file.
3849         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
3850         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
3851         with the same contents as the _LIBADD variable.
3852         (func_emit_initmacro_start, func_emit_initmacro_end,
3853         func_emit_initmacro_done): New functions.
3854         (func_import, func_create_testdir): Invoke them. Allow the identifiers
3855         gl_LIBOBJS and gl_LTLIBOBJS.
3856
3857 2006-10-11  Bruno Haible  <bruno@clisp.org>
3858
3859         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
3860         (func_create_testdir): Don't create po/Makefile.am, don't invoke
3861         autoreconf. Instead, invoke autopoint explicitly but move back the
3862         *.m4 files from gnulib.
3863
3864 2006-10-11  Bruno Haible  <bruno@clisp.org>
3865
3866         * gnulib-tool (func_usage): Make module names after --create-testdir
3867         optional.
3868         (func_create_testdir): If no module was specified, use nearly all
3869         modules.
3870
3871 2006-10-12  Jim Meyering  <jim@meyering.net>
3872
3873         Big performance improvement for fts-based tools that use FTS_NOSTAT.
3874         Avoid spurious inode-mismatch problems on non-POSIX file systems.
3875         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
3876         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
3877         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
3878         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
3879         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
3880         (fts_set_stat_required): New function.
3881         (fts_open): Defer the calls to fts_stat, if possible or requested.
3882         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
3883         into fts_stat itself.
3884         (fts_read): Perform any required (deferred) fts_stat call.
3885         (fts_build): Likewise, for the directory we're about to open and read.
3886         In the readdir loop, carefully decide whether each entry will require
3887         an eventual call to fts_stat, using dirent.d_type info if available.
3888         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
3889         a command line argument into this function.  Update all callers.
3890         Map a return value of FTS_DOT to FTS_D for a command line argument.
3891         * modules/fts (Depends-on): Add d-type.  Alphabetize.
3892         Thanks to Miklos Szeredi for his tenacity and for the initial
3893         bug report about "find" failing on a FUSE-based file system.
3894
3895         * lib/fts.c (fts_open): Use consistent indentation.
3896
3897 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
3898
3899         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
3900         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
3901         reported by Jim Meyering.  All uses of cache variables renamed
3902         to match Autoconf's.
3903         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
3904         the other one.
3905
3906         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
3907         Fix misspelling in diagnostic.
3908
3909 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
3910
3911         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
3912         defined.  Problem reported by Matthew Woehlke.
3913
3914         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
3915         Add support for Tandem NonStop R series.
3916         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
3917         Use new macro.
3918
3919         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
3920         (has_trailing_slash): Omit size arg; all callers changed.
3921         Omit 'inline', since it doesn't help performance and we'd
3922         need to configure it.
3923         Don't count //, ///, etc. as having a trailing slash.
3924         As a side effect, this removes a C99ism reported by Matthew Woehlke.
3925         (rpl_rename_dest_slash): On failure, use rename's errno rather
3926         than (in some cases) an incorrect or junk errno.
3927         Simplify code by removing need to compute length; this does
3928         cause it to make two passes instead of one over the file name,
3929         but it's worth it.
3930
3931         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
3932         change, since Autoconf's version may no longer be appropriate now
3933         that we are using CVS Autoconf's version.  Add support for Tandem.
3934
3935 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
3936             Bruno Haible  <bruno@clisp.org>
3937
3938         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
3939         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
3940         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
3941         gl_AC_TYPE_LONG_LONG.
3942
3943         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
3944         instead of HAVE_LONG_LONG.
3945         * lib/printf-args.c (printf_fetchargs): Likewise.
3946         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
3947         * lib/vasnprintf.c (VASNPRINTF): Likewise.
3948         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
3949         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
3950         gl_AC_TYPE_LONG_LONG.
3951
3952 2006-10-11  Bruno Haible  <bruno@clisp.org>
3953
3954         * m4/longlong.m4: Add comments.
3955         * m4/ulonglong.m4: Likewise.
3956
3957 2006-10-10  Bruno Haible  <bruno@clisp.org>
3958
3959         Make it possible to #define stpcpy, strdup to aliases.
3960         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
3961         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
3962
3963 2006-10-10  Bruno Haible  <bruno@clisp.org>
3964
3965         Make it possible to #define gcd to an alias.
3966         * lib/gcd.c: Include config.h.
3967
3968 2006-10-10  Bruno Haible  <bruno@clisp.org>
3969
3970         Make it possible to #define c_isascii to an alias.
3971         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
3972         defined. Undefine the macros before defining them, to avoid gcc
3973         warnings.
3974         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
3975         define NO_C_CTYPE_MACROS early.
3976
3977 2006-10-10  Bruno Haible  <bruno@clisp.org>
3978
3979         Make it possible to #define set_program_name to an alias.
3980         * lib/progname.c: Don't undefine set_program_name; instead, undefine
3981         ENABLE_RELOCATABLE early.
3982
3983 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
3984
3985         Port to Tandem NSK OSS, which has 64-bit signed int but at most
3986         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
3987         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
3988         More generally, don't assume that 64-bit signed int is available
3989         if unsigned int is, and vice versa.
3990         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
3991         unsigned symbols, not on their signed counterparts.
3992         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
3993         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
3994         (UINT64_C, UINTMAX_C):
3995         Likewise.
3996         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
3997         unsigned counterparts.
3998         (Have_long_long, Unsigned): New macros.
3999         (Int): Renamed from INT.
4000         (strtoimax): Use the new macros.
4001         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
4002         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
4003         * modules/inttypes (inttypes.h): Substitute
4004         HAVE_UNSIGNED_LONG_LONG_INT.
4005         * modules/stdint (stdint.h): Likewise.
4006         (Files): Add m4/ulonglong.m4.
4007
4008 2006-10-10  Bruno Haible  <bruno@clisp.org>
4009
4010         Fix a gcc -Wshadow warning.
4011         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
4012         to 'bucket'.
4013         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
4014         gl_linked_indexof_from_to): Likewise.
4015         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
4016         Likewise.
4017         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
4018         Likewise.
4019         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
4020         Reported by Eric Blake.
4021
4022 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
4023
4024         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
4025         for NetBSD.  Problem reported by Bruno Haible.
4026
4027 2006-10-09  Jim Meyering  <jim@meyering.net>
4028
4029         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
4030         Patch from Bruno Haible.
4031
4032 2006-10-09  Jim Meyering  <jim@meyering.net>
4033
4034         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
4035         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
4036         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
4037
4038 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
4039
4040         Don't include <config.h> twice; this doesn't work in some cases,
4041         e.g., when config.h has "#define intmax_t long long int" and
4042         we include <config.h>, <inttypes.h>, <config.h> in that order.
4043         Problem reported by Matthew Woehlke in:
4044         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
4045         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
4046         * lib/fts-cycle.c: Don't include config.h.
4047         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
4048         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
4049         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
4050         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
4051         inttypes.h.
4052         * lib/xstrtoumax.c: Likewise.
4053         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
4054         __strtol and the like, so that this module is more like its siblings.
4055         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
4056         Remove; no longer needed now that we assume gnulib inttypes.h.
4057
4058 2006-10-08  Bruno Haible  <bruno@clisp.org>
4059
4060         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
4061         option.
4062
4063 2006-10-07  Jim Meyering  <jim@meyering.net>
4064
4065         * modules/inttypes (inttypes.h): Revert what seems to have been
4066         an inadvertent part of today's change: use "|", not "/" in the
4067         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
4068
4069 2006-10-07  Bruno Haible  <bruno@clisp.org>
4070
4071         * modules/sublist: New file.
4072
4073 2006-10-07  Bruno Haible  <bruno@clisp.org>
4074
4075         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
4076         * modules/argz (argz.h): Likewise.
4077         * modules/arpa_inet (arpa/inet.h): Likewise.
4078         * modules/byteswap (byteswap.h): Likewise.
4079         * modules/configmake (configmake.h): Likewise.
4080         * modules/fcntl (fcntl.h): Likewise.
4081         * modules/fnmatch (fnmatch.h): Likewise.
4082         * modules/getopt (getopt.h): Likewise.
4083         * modules/glob (glob.h): Likewise.
4084         * modules/inttypes (inttypes.h): Likewise.
4085         * modules/netinet_in (netinet/in.h): Likewise.
4086         * modules/poll (poll.h): Likewise.
4087         * modules/stdbool (stdbool.h): Likewise.
4088         * modules/stdint (stdint.h): Likewise.
4089         * modules/sys_select (sys/select.h): Likewise.
4090         * modules/sys_socket (sys/socket.h): Likewise.
4091         * modules/sys_stat (sys/stat.h): Likewise.
4092         * modules/sysexits (sysexits.h): Likewise.
4093         * modules/unistd (unistd.h): Likewise.
4094         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
4095         Add a "DO NOT EDIT" comment to the generated file.
4096         (func_import): Likewise for gnulib-comp.m4.
4097
4098 2006-10-07  Bruno Haible  <bruno@clisp.org>
4099
4100         * lib/gl_sublist.h: New file.
4101         * lib/gl_sublist.c: New file.
4102
4103 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
4104
4105         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
4106         name (relative to the original working directory) and the file
4107         name component (relative to the temporary working directory).  All
4108         callers changed.
4109         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
4110         * lib/mkdir-p.c (make_dir_parents): Likewise.
4111         * lib/mkdir-p.h (make_dir_parents): Likewise.
4112
4113 2006-10-06  Eric Blake  <ebb9@byu.net>
4114
4115         Define several macros for use by the clean-temp module.
4116         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
4117         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
4118         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
4119
4120         * lib/clean-temp.h (close_stream_temp): New declaration.
4121         * lib/clean-temp.c (includes): Pull in headers according to what
4122         other modules are in use.
4123         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
4124
4125 2006-10-06  Bruno Haible  <bruno@clisp.org>
4126
4127         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
4128         instead of fopen, fwriteerror.
4129
4130 2006-10-06  Bruno Haible  <bruno@clisp.org>
4131
4132         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
4133         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
4134         int.
4135         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
4136         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
4137         Return an error indicator.
4138         Suggested by Eric Blake.
4139
4140 2006-10-06  Bruno Haible  <bruno@clisp.org>
4141
4142         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
4143         Reported by Eric Blake.
4144
4145 2006-10-06  Bruno Haible  <bruno@clisp.org>
4146
4147         * modules/closeout (Description): Mention stderr too.
4148
4149 2006-10-06  Bruno Haible  <bruno@clisp.org>
4150         and Paul Eggert  <eggert@cs.ucla.edu>
4151
4152         * lib/closeout.c (close_stdout): Also close stderr.
4153         * lib/closeout.h: Update comment.
4154
4155 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
4156
4157         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
4158         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
4159         * lib/dirchownmod.c: Include lchown.h.
4160         * lib/lchown.c: Don't include files that lchown.h now includes.
4161         Don't declare chown, since lchown.h now does that.
4162         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
4163         (lchown): Define to rpl_chown if lchown is declared but
4164         does not exist.  Declare using a prototype if lchown is not
4165         declared.  Add a copyright notice.
4166         * lib/mkstemp.h: Include <unistd.h>.
4167         * lib/openat.c: Include lchown.h.
4168
4169         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
4170         we now test for that separately.
4171         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
4172         rather than O_NOFOLLOW, when testing whether it's possible to
4173         avoid a race condition reliably.
4174         * lib/savewd.c (savewd_chdir): Likewise.
4175
4176         Remove macros that are no longer needed now that stdint.h is
4177         reliable.
4178         * lib/fsusage.c (UINTMAX_MAX): Remove.
4179         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
4180         * lib/utimecmp.c (SIZE_MAX): Remove.
4181
4182         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
4183
4184         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
4185         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
4186         O_NOATIME works.
4187
4188 2006-10-05  Bruno Haible  <bruno@clisp.org>
4189
4190         * lib/gl_list.h (gl_sortedlist_search_from_to,
4191         gl_sortedlist_indexof_from_to): New declarations.
4192         (gl_list_implementation): New fields sortedlist_search_from_to,
4193         sortedlist_indexof_from_to.
4194         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
4195         inline functions.
4196         * lib/gl_list.c (gl_sortedlist_search_from_to,
4197         gl_sortedlist_indexof_from_to): New functions.
4198         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
4199         function.
4200         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
4201         (gl_array_sortedlist_search_from_to): New function.
4202         (gl_array_list_implementation): Update.
4203         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
4204         function.
4205         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
4206         (gl_carray_sortedlist_search_from_to): New function.
4207         (gl_carray_list_implementation): Update.
4208         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
4209         gl_linked_sortedlist_indexof_from_to): New functions.
4210         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
4211         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
4212         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
4213         gl_tree_sortedlist_indexof_from_to): New functions.
4214         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
4215         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
4216         Update.
4217         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
4218         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
4219         Update.
4220
4221 2006-10-05  Bruno Haible  <bruno@clisp.org>
4222
4223         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
4224         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
4225         (struct gl_list_implementation): Add fields search_from_to,
4226         indexof_from_to. Remove fields search, indexof.
4227         (gl_list_search): Use the search_from_to method.
4228         (gl_list_search_from, gl_list_search_from_to): New functions.
4229         (gl_list_indexof): Use the indexof_from_to method.
4230         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
4231         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
4232         (gl_list_search_from, gl_list_search_from_to): New functions.
4233         (gl_list_indexof): Use the indexof_from_to method.
4234         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
4235         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
4236         gl_array_indexof. Add start_index, end_index arguments.
4237         (gl_array_search_from_to): Renamed from gl_array_search. Add
4238         start_index, end_index arguments.
4239         (gl_array_remove, gl_array_list_implementation): Update.
4240         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
4241         gl_carray_indexof. Add start_index, end_index arguments.
4242         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
4243         start_index, end_index arguments.
4244         (gl_carray_remove, gl_carray_list_implementation): Update.
4245         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
4246         gl_linked_search. Add start_index, end_index arguments.
4247         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
4248         start_index, end_index arguments.
4249         (gl_linked_remove): Update.
4250         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
4251         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
4252         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
4253         field to 'size_t'.
4254         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
4255         gl_tree_search. Add start_index, end_index arguments.
4256         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
4257         start_index, end_index arguments.
4258         (gl_tree_remove): Update.
4259         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
4260         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
4261         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
4262         function.
4263         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
4264         gl_tree_search. Add start_index, end_index arguments.
4265         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
4266         start_index, end_index arguments.
4267         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
4268         Update.
4269         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
4270
4271 2006-10-05  Bruno Haible  <bruno@clisp.org>
4272
4273         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
4274
4275         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
4276         fwriteerror_temp): New declarations.
4277         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
4278         (descriptors): New variable.
4279         (cleanup): First, close the descriptors.
4280         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
4281         fclose_temp, fwriteerror_temp): New functions.
4282
4283 2006-10-04  Jim Meyering  <jim@meyering.net>
4284
4285         * lib/fts.c (fts_open): Tiny comment change.
4286
4287 2006-10-04  Bruno Haible  <bruno@clisp.org>
4288
4289         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
4290         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
4291         gl_LOCK_BODY.
4292         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
4293         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
4294         gl_LOCK_EARLY_BODY.
4295         (gl_LOCK): Require gl_LOCK_BODY.
4296
4297 2006-10-04  Bruno Haible  <bruno@clisp.org>
4298
4299         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
4300         (gl_oset_search_atleast): New declaration.
4301         (struct gl_oset_implementation): Add field 'search_atleast'.
4302         (gl_oset_search_atleast): New inline function.
4303         * lib/gl_oset.c (gl_oset_search_atleast): New function.
4304         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
4305         (gl_array_oset_implementation): Update.
4306         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
4307         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
4308         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
4309
4310 2006-10-04  Bruno Haible  <bruno@clisp.org>
4311
4312         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
4313
4314 2006-10-03  Bruno Haible  <bruno@clisp.org>
4315
4316         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
4317         from gl_avltreehash_list_implementation.
4318
4319 2006-10-03  Bruno Haible  <bruno@clisp.org>
4320
4321         * lib/gl_oset.c (gl_oset_add): Fix return type.
4322
4323 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
4324
4325         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
4326
4327 2006-10-02  Eric Blake  <ebb9@byu.net>
4328
4329         * modules/strnlen (Depends-on): Add extensions.
4330
4331 2006-10-02  Eric Blake  <ebb9@byu.net>
4332
4333         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
4334         definition in 2.60+.
4335
4336 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
4337
4338         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
4339         checks.
4340
4341 2006-10-02  Bruno Haible  <bruno@clisp.org>
4342
4343         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
4344         to the AUTOMAKE_OPTIONS.
4345         Reported by Jim Meyering.
4346
4347 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
4348
4349         Work around bug in Solaris 10 /proc file system:
4350         /proc/self/fd/NNN/.. isn't the parent directory of
4351         the directory whose file descriptor is NNN.  This needs to
4352         be worked around at run time, not compile time, since a
4353         program might be built on Solaris 8, where things work, and
4354         run on Solaris 10.
4355         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
4356         to use the following interface instead:
4357         (OPENAT_BUFFER_SIZE): New macro.
4358         (openat_proc_name): New function.
4359         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
4360         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
4361         Likewise.
4362         * lib/openat-proc.c: New file.
4363         * modules/openat (Files): Add lib/openat-proc.c.
4364         (Depends-on): Add same-inode, stdbool.
4365         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
4366
4367 2006-09-29  Bruno Haible  <bruno@clisp.org>
4368
4369         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
4370         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
4371         argument. Set stdout_closed before testing for ferror, not after.
4372         (fwriteerror, fwriteerror_no_ebadf): New functions.
4373
4374 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4375
4376         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
4377
4378 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
4379
4380         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
4381         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
4382
4383 2006-09-28  Jim Meyering  <jim@meyering.net>
4384
4385         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
4386         Include <unistd.h>.
4387
4388 2006-09-28  Bruno Haible  <bruno@clisp.org>
4389
4390         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
4391         * modules/linkedhash-list (Depends-on): Likewise.
4392         * modules/rbtreehash-list (Depends-on): Likewise.
4393
4394 2006-09-28  Bruno Haible  <bruno@clisp.org>
4395
4396         * lib/strndup.h: Simplify the redefinition of strndup.
4397         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
4398         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
4399
4400 2006-09-28  Bruno Haible  <bruno@clisp.org>
4401
4402         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
4403         * lib/gl_linkedhash_list.c: Likewise.
4404         * lib/gl_rbtreehash_list.c: Likewise.
4405
4406 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
4407
4408         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
4409         getaddrinfo.
4410
4411         * lib/__fpending.h: Don't include <stdio_ext.h> unless
4412         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
4413         it causes <stdio_ext.h> to cause a compile-time error.
4414         Problem reported by Nelson H. F. Beebe.
4415         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
4416         of HAVE_DECL___PENDING.
4417
4418         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
4419         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
4420         declaration.
4421
4422 2006-09-27  Jim Meyering  <jim@meyering.net>
4423
4424         This file could end up with a definition for a function
4425         named __strndup, rather than rpl_strndup on a system with
4426         incomplete weak_alias support.
4427         * lib/strndup.c (strndup): Rename from __strndup.
4428         Remove #defines that used to map __strndup to strndup.
4429         Don't use K&R prototypes.
4430         Remove LIBC-related code, since this file is not sync'd with glibc.
4431         * lib/strndup.h: Revamp, accordingly.
4432         * m4/strndup.m4: Modernize.
4433
4434 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
4435
4436         * modules/savewd (Depends-on): Add 'raise'.
4437         * lib/savewd.c: Include <signal.h>, for 'raise'.
4438
4439 2006-09-26  Jim Meyering  <jim@meyering.net>
4440
4441         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
4442         when we detect Darwin 8.7.0's acl_get_file bug.
4443         Rearrange to perform the new (below) run-test while $LIBS
4444         contains any acl-related library.  Set USE_ACL at the end.
4445         (gl_ACL_GET_FILE): New function.
4446
4447 2006-09-26  Eric Blake  <ebb9@byu.net>
4448
4449         * lib/verror.c: Include <config.h> unconditionally.
4450
4451 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
4452
4453         * modules/clock-time (Maintainer): Add self.
4454         * modules/getlogin_r (Depends-on): Add extensions.
4455
4456 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4457
4458         * modules/clock-time: New module.
4459         * modules/nanosleep (Depends-on): Add clock-time.
4460         * modules/gethrxtime (Depends-on): Likewise.
4461         * modules/gettime (Depends-on): Likewise.
4462         * modules/settime (Depends-on): Likewise.
4463
4464         * modules/fts-lgpl: Depend on openat.
4465         * modules/mkancesdirs: Depend on savewd.
4466         * modules/mkdir-p: Likewise.
4467
4468 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4469
4470         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
4471
4472         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
4473         `gl_have_arbitrary_file_name_length_limit' to
4474         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
4475         actually works between configure runs.
4476
4477 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4478             Bruno Haible  <bruno@clisp.org>
4479
4480         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
4481
4482 2006-09-25  Jim Meyering  <jim@meyering.net>
4483
4484         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
4485         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
4486
4487 2006-09-25  Eric Blake  <ebb9@byu.net>
4488
4489         * gnulib-tool (func_import, func_create_testdir): Fix typos in
4490         exec's in 2006-09-18 patch when shuffling fds.
4491
4492 2006-09-25  Bruno Haible  <bruno@clisp.org>
4493
4494         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
4495         Reported by Jim Meyering.
4496
4497 2006-09-24  Jim Meyering  <jim@meyering.net>
4498
4499         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
4500         compare a pointer against a literal "0".  That caused failures with
4501         at least HP-UX's hpcc.
4502
4503 2006-09-22  Simon Josefsson  <jas@extundo.com>
4504
4505         * modules/gc-sha1:
4506         * modules/gc-md4:
4507         * modules/gc-hmac-sha1:
4508         * modules/gc-hmac-md5:
4509         * modules/gc-des:
4510         * modules/gc-arcfour: Distribute more files.
4511
4512 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4513
4514         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
4515         (gl_linked_iterator_from_to): Initialize struct completely.
4516         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
4517         (gl_tree_iterator_from_to): Likewise
4518         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
4519         * lib/gl_array_list.c [lint] (gl_array_iterator)
4520         (gl_array_iterator_from_to): Likewise.
4521         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
4522         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
4523         (gl_carray_iterator_from_to): Likewise.
4524
4525         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
4526         * lib/md4.c (md4_process_block): Remove unused variable.
4527         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
4528         parentheses for clarity.
4529
4530 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4531
4532         * modules/bison-i18n (Depends-on): Add gettext.
4533
4534 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4535
4536         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
4537         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
4538         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
4539         also add missing comma that caused broken test.
4540         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
4541         stdlib.h, for `abort'.
4542         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
4543         variables.
4544         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
4545         include unistd.h if present, for `rmdir'.
4546         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
4547         variables.
4548         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
4549         in the process include standard headers for prototypes.
4550         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
4551         gets declared on GNU/Linux.
4552         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
4553         unistd.h, for `rmdir'.
4554         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
4555
4556         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
4557         always true.
4558         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
4559
4560         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
4561
4562 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4563
4564         * gnulib-tool (func_version): Create output all at once.  This
4565         may help avoid triggering unnecessary SIGPIPEs, and at any
4566         rate it doesn't hurt.
4567
4568 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4569             Bruno Haible  <bruno@clisp.org>
4570
4571         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
4572         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
4573         * m4/signed.m4 (bh_C_SIGNED): Likewise.
4574
4575         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
4576         (gl_FUNC_VASPRINTF): Invoke it.
4577
4578 2006-09-22  Bruno Haible  <bruno@clisp.org>
4579
4580         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
4581         getloadavg.c as first argument.
4582
4583 2006-09-22  Bruno Haible  <bruno@clisp.org>
4584
4585         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
4586         at the beginning of the gl_INIT macro.
4587         * modules/getloadavg (configure.ac): Pass $gl_source_base to
4588         gl_GETLOADAVG.
4589
4590 2006-09-22  Bruno Haible  <bruno@clisp.org>
4591
4592         * gnulib-tool (func_create_megatestdir): Don't include the config-h
4593         module.
4594         Suggested by Ralf Wildenhues.
4595
4596 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
4597
4598         Import this patch from libc:
4599
4600         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
4601
4602         * lib/regex_internal.c (re_string_reconstruct): Handle
4603         offset < pstr->valid_raw_len && pstr->offsets_needed case.
4604         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
4605         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
4606         re_string_context_at.
4607
4608         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
4609         now requires it.
4610         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
4611         gl_REGEX now does it for us.
4612         (gl_REGEX): Add test taken from
4613         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
4614
4615         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
4616         Check that large offsets work.  Modernize Autoconf usages.
4617         Prefer "yes" to mean a good thing rather than a bad.
4618         Don't put "#define mkstemp" in config.h, as this might interfere
4619         with standard system headers that "#define mkstemp mkstemp64".
4620
4621         * modules/mkstemp (Depends-on): Add extensions, so that
4622         mkstemp is visible on some platforms.
4623         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
4624         (Include): Change to "mkstemp.h" from <stdlib.h>.
4625         (Files): Add mkstemp.h.
4626
4627         * lib/mkstemp.h: New file, since some standard headers
4628         #define mkstemp.
4629         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
4630         Include "mkstemp.h".
4631         Make the _LIBC code resemble glibc original more,
4632         e.g., use K&R style.
4633         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
4634         (mkstemp): Remove, since mkstemp.h does this for us.
4635         * lib/stdlib--.h: Include mkstemp.h.
4636
4637         Import this patch from libc:
4638
4639         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
4640
4641         * lib/tempname.c (__gen_tempname): Change attempts_min
4642         into a macro.  Use preprocessor to decide how to initialize
4643         attempts [Coverity CID 67].
4644
4645 2006-09-20  Bruno Haible  <bruno@clisp.org>
4646
4647         * lib/mkdtemp.c: Import from libc.
4648         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
4649                 * sysdeps/posix/tempname.c (__gen_tempname): Change
4650                 attempts_min into a macro.  Use preprocessor to decide how to
4651                 initialize attempts [Coverity CID 67].
4652         2001-11-27  Paul Eggert  <eggert@twinsun.com>
4653                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
4654                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
4655
4656 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4657
4658         * gnulib-tool (func_exit): New function, to allow to pass the
4659         exit status portably through the trap.  Use everywhere.
4660         (--help, --version): Signal a write error.
4661         (trap): catch SIGPIPE, for write errors.
4662         Exit at the end of the trap, with the correct exit status.
4663
4664 2006-09-19  Karl Berry  <karl@gnu.org>
4665
4666         * doc/gnulib.texi: note about the license texinfo files.
4667
4668 2006-09-19  Eric Blake  <ebb9@byu.net>
4669
4670         * gnulib-tool: Avoid space-tab.
4671
4672 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4673
4674         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
4675         that prevented coreutils 6.1 from building.  Problem reported
4676         by Petter Reinholdtsen.
4677
4678 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
4679
4680         * gnulib-tool (avoidlist): Fix typo that broke options like
4681         --avoid=lock that are used by coreutils bootstrap.
4682
4683 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
4684
4685         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
4686         more systematically.
4687
4688 2006-09-18  Jim Meyering  <jim@meyering.net>
4689
4690         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
4691
4692 2006-09-18  Bruno Haible  <bruno@clisp.org>
4693
4694         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
4695
4696 2006-09-18  Bruno Haible  <bruno@clisp.org>
4697
4698         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
4699         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
4700         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
4701         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
4702         * m4/gettext.m4: Require autoconf >= 2.52.
4703         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
4704         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
4705         of gl_cv_header_inttypes_h.
4706
4707 2006-09-18  Bruno Haible  <bruno@clisp.org>
4708
4709         * lib/javaversion.c: Include configmake.h.
4710
4711 2006-09-18  Bruno Haible  <bruno@clisp.org>
4712
4713         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
4714         avoid that the while loops be executed in a subshell.
4715
4716 2006-09-18  Bruno Haible  <bruno@clisp.org>
4717
4718         * MODULES.html.sh (func_module): Break long lines.
4719         Suggested by Bruce Korb <bkorb@gnu.org>.
4720
4721 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4722
4723         Speed up by a factor of 1.12.
4724         * gnulib-tool (nl): New variable.
4725         (func_import): Rewrite include directive extraction to only read each
4726         directive once.
4727
4728 2006-09-17  Bruno Haible  <bruno@clisp.org>
4729
4730         * modules/javaversion (Makefile.am): Remove DEFS setting.
4731         (Depends-on): Add configmake, for PKGDATADIR definition.
4732
4733 2006-09-17  Bruno Haible  <bruno@clisp.org>
4734
4735         * gnulib-tool (func_create_testdir): Rewrite all files at once.
4736
4737 2006-09-17  Bruno Haible  <bruno@clisp.org>
4738
4739         * gnulib-tool (func_append): New function, stolen from libtool.m4.
4740         (func_modules_transitive_closure, func_modules_add_dummy,
4741         func_modules_to_filelist, func_import, func_create_testdir,
4742         func_create_megatestdir, ...): Use it wherever possible.
4743         Suggested by Ralf Wildenhues.
4744
4745 2006-09-16  Karl Berry  <karl@gnu.org>
4746
4747         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
4748         to avoid sectioning errors.
4749         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
4750         [ifinfo]: blank line after @center-ed titles.
4751         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
4752         Spell FSF address consistently with others.
4753         (These changes approved by rms.)
4754
4755 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4756
4757         Speed up by a factor of 1.61.
4758         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
4759         already checked module names again.
4760
4761 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4762
4763         Speed up by a factor of 1.13.
4764         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
4765         for new_files, and the input to func_add_or_update.
4766
4767 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4768
4769         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
4770         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
4771
4772 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4773
4774         * modules/mkancesdirs (Depends-on): Add fcntl.
4775         * modules/savewd: New file.
4776         * MODULES.html.sh (File system functions): Add savewd.
4777
4778         * modules/configmake (Makefile.am): Add support for the
4779         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
4780
4781 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4782
4783         * m4/savewd.m4: New file.
4784
4785 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4786
4787         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
4788         (dirchownmod): New arg FD.  All callers changed.
4789         Use FD rather than opening the directory ourself, as opening is
4790         now the caller's responsibility.
4791         * lib/dirchownmod.h: Likewise.
4792         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
4793         hosts that require <sys/types.h> before <sys/stat.h>.  Include
4794         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
4795         (test_dir): Remove.
4796         (mkancesdirs): Return length of prefix of FILE that has already
4797         been made, or -2 if there is a child doing the work.  Redo
4798         algorithm so that it is O(N) rather than O(N**2).  Optimize away
4799         ".", and treat ".." specially since it might stray back into
4800         already-created areas.  Use a subprocess if necessary.  New arg
4801         WD; all users changed.  MAKE_DIR function should now return 1
4802         if it creates a directory that is not readable.  Return -2 if
4803         a child process is spun off.
4804         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
4805         Adjust signature to match code.
4806         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
4807         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
4808         all users changed.
4809         * lib/savewd.c, lib/savewd.h: New files.
4810
4811 2006-09-15  Jim Meyering  <jim@meyering.net>
4812
4813         * modules/rename-dest-slash: New module.
4814         * MODULES.html.sh (posix_compat): Add it here.
4815
4816         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
4817
4818 2006-09-15  Jim Meyering  <jim@meyering.net>
4819
4820         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
4821         file.
4822
4823         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
4824
4825 2006-09-15  Jim Meyering  <jim@meyering.net>
4826
4827         * lib/rename-dest-slash.c (has_trailing_slash): Use
4828         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
4829         (rpl_rename_dest_slash): Perform the cheaper trailing slash
4830         test before testing whether SRC is a directory.
4831         Suggestions from Bruno Haible.
4832
4833         Avoid a warning about an unused variable.
4834         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
4835         into the #ifdef block where it's used.
4836
4837         * lib/rename-dest-slash.c: New file.
4838
4839 2006-09-14  Bruno Haible  <bruno@clisp.org>
4840
4841         * lib/allocsa.c: Include <config.h> unconditionally.
4842         * lib/asnprintf.c: Likewise.
4843         * lib/asprintf.c: Likewise.
4844         * lib/c-strcasecmp.c: Likewise.
4845         * lib/c-strcasestr.c: Likewise.
4846         * lib/c-strncasecmp.c: Likewise.
4847         * lib/c-strstr.c: Likewise.
4848         * lib/classpath.c: Likewise.
4849         * lib/clean-temp.c: Likewise.
4850         * lib/concatpath.c: Likewise.
4851         * lib/copy-file.c: Likewise.
4852         * lib/csharpcomp.c: Likewise.
4853         * lib/csharpexec.c: Likewise.
4854         * lib/execute.c: Likewise.
4855         * lib/fatal-signal.c: Likewise.
4856         * lib/findprog.c: Likewise.
4857         * lib/fwriteerror.c: Likewise.
4858         * lib/gl_array_list.c: Likewise.
4859         * lib/gl_array_oset.c: Likewise.
4860         * lib/gl_avltree_list.c: Likewise.
4861         * lib/gl_avltree_oset.c: Likewise.
4862         * lib/gl_avltreehash_list.c: Likewise.
4863         * lib/gl_carray_list.c: Likewise.
4864         * lib/gl_linked_list.c: Likewise.
4865         * lib/gl_linkedhash_list.c: Likewise.
4866         * lib/gl_list.c: Likewise.
4867         * lib/gl_oset.c: Likewise.
4868         * lib/gl_rbtree_list.c: Likewise.
4869         * lib/gl_rbtree_oset.c: Likewise.
4870         * lib/gl_rbtreehash_list.c: Likewise.
4871         * lib/imaxabs.c: Likewise.
4872         * lib/imaxdiv.c: Likewise.
4873         * lib/javacomp.c: Likewise.
4874         * lib/javaexec.c: Likewise.
4875         * lib/javaversion.c: Likewise.
4876         * lib/linebreak.c: Likewise.
4877         * lib/localcharset.c: Likewise.
4878         * lib/lock.c: Likewise.
4879         * lib/mbchar.c: Likewise.
4880         * lib/mbswidth.c: Likewise.
4881         * lib/mkdtemp.c: Likewise.
4882         * lib/pipe.c: Likewise.
4883         * lib/printf-args.c: Likewise.
4884         * lib/printf-parse.c: Likewise.
4885         * lib/progname.c: Likewise.
4886         * lib/progreloc.c: Likewise.
4887         * lib/readlink.c: Likewise.
4888         * lib/sh-quote.c: Likewise.
4889         * lib/stpcpy.c: Likewise.
4890         * lib/stpncpy.c: Likewise.
4891         * lib/strcasecmp.c: Likewise.
4892         * lib/strcasestr.c: Likewise.
4893         * lib/strcspn.c: Likewise.
4894         * lib/striconv.c: Likewise.
4895         * lib/strncasecmp.c: Likewise.
4896         * lib/strnlen1.c: Likewise.
4897         * lib/strstr.c: Likewise.
4898         * lib/strtok_r.c: Likewise.
4899         * lib/tls.c: Likewise.
4900         * lib/tmpdir.c: Likewise.
4901         * lib/unicodeio.c: Likewise.
4902         * lib/unsetenv.c: Likewise.
4903         * lib/vasnprintf.c: Likewise.
4904         * lib/vasprintf.c: Likewise.
4905         * lib/wait-process.c: Likewise.
4906         * lib/xallocsa.c: Likewise.
4907         * lib/xsetenv.c: Likewise.
4908         * lib/xstriconv.c: Likewise.
4909
4910 2006-09-13  Simon Josefsson  <jas@extundo.com>
4911
4912         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
4913         that internally, suggested by Ralf Wildenhues
4914         <Ralf.Wildenhues@gmx.de>.
4915
4916 2006-09-13  Simon Josefsson  <jas@extundo.com>
4917
4918         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
4919         @LIBOBJS@.
4920         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4921
4922 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4923
4924         * lib/_fpending.c: Include <config.h> unconditionally, since we no
4925         longer worry about uses that don't define HAVE_CONFIG_H.
4926         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
4927         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
4928         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
4929         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
4930         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
4931         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
4932         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
4933         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
4934         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
4935         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
4936         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
4937         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
4938         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
4939         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
4940         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
4941         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
4942         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
4943         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
4944         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
4945         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
4946         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
4947         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
4948         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
4949         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
4950         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
4951         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
4952         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
4953         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
4954         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
4955         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
4956         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
4957         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
4958         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
4959         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
4960         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
4961         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
4962         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
4963         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
4964         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
4965         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
4966         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
4967         Likewise.
4968
4969 2006-09-13  Eric Blake  <ebb9@byu.net>
4970
4971         * lib/getopt.c: Fix typo in last commit.
4972
4973 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4974
4975         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
4976         dgettext.
4977
4978 2006-09-12  Jim Meyering  <jim@meyering.net>
4979
4980         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
4981         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
4982         Reported by Nelson H. F. Beebe.
4983
4984 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
4985
4986         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
4987         program_invocation_name and program_invocation_short_name are
4988         initialized.
4989         * lib/argp-namefrob.h: Move declarations of program_invocation_name
4990         and program_invocation_short_name to argp.h, so they are visible
4991         to user programs.
4992         * lib/argp.h: Likewise
4993
4994 2006-09-10  Bruno Haible  <bruno@clisp.org>
4995
4996         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
4997         m4/inttypes_h.m4, m4/uintmax_t.m4.
4998
4999 2006-09-10  Bruno Haible  <bruno@clisp.org>
5000
5001         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
5002         gl_AC_TYPE_UINTMAX_T.
5003
5004 2006-09-10  Bruno Haible  <bruno@clisp.org>
5005
5006         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
5007
5008 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
5009
5010         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
5011         convention.  Text proposed by Bruno Haible.
5012         (struct argp_option): Document the use of N_() wrappers.
5013
5014         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
5015         '\v', and translate the two parts separately, instead of feeding
5016         the whole string to gettext.  This allows to exclude
5017         '\v' from the strings visible to the translator by writing doc
5018         strings as N_("..") "\v" N_("..").
5019
5020 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
5021
5022         * config/srclist.txt: Undo latest change; the bug was fixed.
5023
5024 2006-09-09  Bruno Haible  <bruno@clisp.org>
5025
5026         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
5027         assignments if building a library without libtool.
5028         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
5029         in func_emit_lib_Makefile_am.
5030         (func_import): When building a static library libfoo.a, arrange to
5031         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
5032         (func_create_testdir): Likewise.
5033         * modules/gc (configure.ac, Makefile.am): If building statically,
5034         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
5035         * modules/iconvme (configure.ac, Makefile.am): Likewise.
5036         * modules/striconv (configure.ac, Makefile.am): Likewise.
5037         Based on a suggestion by Ralf Wildenhues.
5038
5039 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5040
5041         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
5042         Check for unistd.h too, since Autoconf doesn't assume POSIX.
5043         Also:
5044
5045         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5046         Add year_2050_test to catch glibc bug 2821
5047         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
5048
5049         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
5050         Prefer #ifdef to #if.
5051
5052         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
5053         Return from 'main' instead of calling 'exit'.
5054
5055 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5056
5057         * lib/mktime.c (guess_time_tm): Fix bug where mktime
5058         returned the maximum time_t value rather than (time_t) -1.
5059         Problem originally reported by William Bardwell
5060         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
5061
5062         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
5063         Moved to here ...
5064         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
5065         ... from here.
5066
5067 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
5068
5069         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
5070         2821 is fixed.
5071
5072 2006-09-08  Jim Meyering  <jim@meyering.net>
5073
5074         Don't make generated files read-only.  That would bother too many
5075         people.  However, do retain the ability to work when targets are
5076         read-only: remove the destination and temporary files before writing
5077         them (when generated via sed or echo), or by using the -f option for
5078         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
5079         * modules/alloca-opt, modules/argz, modules/arpa_inet:
5080         * modules/byteswap, modules/configmake, modules/fcntl:
5081         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
5082         * modules/localcharset, modules/netinet_in, modules/poll:
5083         * modules/stdbool, modules/stdint, modules/sys_select:
5084         * modules/sys_socket, modules/sys_stat, modules/sysexits:
5085
5086 2006-09-08  Jim Meyering  <jim@meyering.net>
5087
5088         Avoid new build failure on FreeBSD 6.0.
5089         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
5090         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
5091         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
5092
5093 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5094
5095         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
5096
5097 2006-09-07  Jim Meyering  <jim@meyering.net>
5098
5099         Fix global typo in last change: use chmod u-w, not chmod u-x.
5100         Spotted by Paul Eggert and Bruce Korb.
5101         * modules/alloca-opt, modules/argz, modules/arpa_inet:
5102         * modules/byteswap, modules/configmake, modules/fcntl:
5103         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
5104         * modules/localcharset, modules/netinet_in, modules/poll:
5105         * modules/stdbool, modules/stdint, modules/sys_select:
5106         * modules/sys_socket, modules/sys_stat, modules/sysexits:
5107
5108 2006-09-06  Jim Meyering  <jim@meyering.net>
5109
5110         Make generated files be read-only.
5111         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
5112         Ensure that each generated file is now read-only.
5113         * modules/argz: Likewise.
5114         * modules/arpa_inet: Likewise.
5115         * modules/byteswap: Likewise.
5116         * modules/configmake: Likewise.
5117         * modules/fcntl: Likewise.
5118         * modules/fnmatch: Likewise.
5119         * modules/getopt: Likewise.
5120         * modules/glob: Likewise.
5121         * modules/inttypes: Likewise.
5122         * modules/netinet_in: Likewise.
5123         * modules/poll: Likewise.
5124         * modules/stdbool: Likewise.
5125         * modules/stdint: Likewise.
5126         * modules/sys_select: Likewise.
5127         * modules/sys_socket: Likewise.
5128         * modules/sys_stat: Likewise.
5129         * modules/sysexits: Likewise.
5130         * modules/localcharset: Same as above, but continue using temporary
5131         file named "t-$@" (why different?) rather than the "$@-t" used
5132         everywhere else.
5133
5134         * modules/sysexits (Makefile.am): Replace literal occurrences
5135         of "sysexit.h" more readable, and more consistent, "$@".
5136
5137 2006-09-06  Bruno Haible  <bruno@clisp.org>
5138
5139         * modules/striconv: New file.
5140         * modules/xstriconv: New file.
5141         * MODULES.html.sh (Internationalization functions): Add striconv,
5142         xstriconv.
5143
5144 2006-09-06  Bruno Haible  <bruno@clisp.org>
5145
5146         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
5147         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
5148         not using libtool correctly.
5149
5150 2006-09-06  Bruno Haible  <bruno@clisp.org>
5151
5152         * lib/striconv.h: New file.
5153         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
5154         iconvstring.c.
5155         * lib/xstriconv.h: New file.
5156         * lib/xstriconv.c: New file.
5157
5158 2006-09-06  Bruno Haible  <bruno@clisp.org>
5159
5160         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
5161         lib_..._LDFLAGS.
5162
5163 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5164
5165         * lib/argz_.h: Sync from Libtool.
5166
5167         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
5168                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5169
5170         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
5171
5172 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
5173
5174         * modules/trim: New file.
5175
5176 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
5177
5178         * lib/trim.h: New file.
5179         * lib/trim.c: New file.
5180
5181 2006-09-05  Bruno Haible  <bruno@clisp.org>
5182
5183         * MODULES.html.sh (String handling): Add trim.
5184
5185 2006-09-04  Karl Berry  <karl@gnu.org>
5186
5187         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
5188         until next release.
5189
5190 2006-09-03  Bruno Haible  <bruno@clisp.org>
5191
5192         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
5193         correctly.
5194
5195 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5196
5197         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
5198         not gl_GETLOADAVG.  Omit unneeded semicolons.
5199         Problems reported by Ralf Wildenhues in
5200         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
5201         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
5202         at the end, which is the usual gnulib style.
5203
5204         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
5205         of doing all the work ourselves.
5206         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
5207         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
5208
5209 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5210
5211         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
5212         Problem reported by Ralf Wildenhues in
5213         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
5214
5215         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
5216         HAVE_STRUCT_STATFS_F_FSTYPENAME.
5217
5218 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5219
5220         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
5221         yesterday's patch by changing test -n to test -z.
5222
5223 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
5224
5225         * modules/getloadavg (Files): Add m4/getloadavg.m4.
5226         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
5227         the former is now obsolescent.
5228
5229         * modules/chdir-long (Depends-on): Add fcntl.
5230
5231 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
5232
5233         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
5234         obsolescent, and programs should use gnulib instead.
5235         * m4/getloadavg.m4: New file, with contents taken from Autoconf
5236         but with prefixes changed.
5237
5238 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
5239
5240         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
5241         or stdbool.h, because they might not exist while configuring.
5242
5243         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
5244         Don't include unistd.h or limits.h; not needed, since chdir-long.h
5245         does that for us.
5246         (O_DIRECTORY): Remove.
5247
5248 2006-08-31  Eric Blake  <ebb9@byu.net>
5249
5250         * gnulib-tool: Don't let emacs change spaces to TAB.
5251
5252 2006-08-31  Bruno Haible  <bruno@clisp.org>
5253
5254         * gnulib-tool: When calling func_import more than once, do it in a
5255         subshell.
5256         Reported by Eric Blake <ebb9@byu.net>.
5257
5258 2006-08-31  Bruno Haible  <bruno@clisp.org>
5259
5260         * gnulib-tool (nl): Remove variable.
5261         (sed_transform_lib_file): Use more robust test for config-h module.
5262         (func_import): Fix typo in 2006-08-25 patch.
5263
5264 2006-08-31  Bruno Haible  <bruno@clisp.org>
5265
5266         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
5267         specified, augment Makefile.am variables instead of assigning them.
5268
5269 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5270
5271         Work around a bug in both the Linux and SunOS 64-bit kernels:
5272         nanosleep mishandles sleeps for longer than 2**31 seconds.
5273         Problem reported by Frank v Waveren in
5274         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
5275         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
5276         Check for nanosleep bug.
5277         (LIB_NANOSLEEP): Append clock_gettime library if needed.
5278
5279 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5280
5281         Work around a bug in both the Linux and SunOS 64-bit kernels:
5282         nanosleep mishandles sleeps for longer than 2**31 seconds.
5283         Problem reported by Frank v Waveren in
5284         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
5285         * lib/nanosleep.c (BILLION): New constant.
5286         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
5287         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
5288         implementation.
5289
5290 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5291
5292         * modules/nanosleep (Depends-on): Add gettime.
5293
5294 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
5295         and Simon Josefsson  <jas@extundo.com>
5296         and Oskar Liljeblad  <oskar@osk.mine.nu>
5297
5298         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
5299         * gnulib-tool (func_import): New license type 'unmodifiable license
5300         text'.
5301         * modules/fdl: Use it.  Longer description.
5302         * module/gpl, module/lgpl: New files.
5303
5304 2006-08-30  Jim Meyering  <jim@meyering.net>
5305
5306         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
5307         shadowing the parameter.
5308
5309 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5310
5311         Sync from Libtool:
5312
5313         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5314
5315         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
5316         sharing with gnulib.  Report by Eric Blake.
5317
5318 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
5319
5320         * modules/isapipe: New file.
5321         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
5322
5323 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
5324
5325         * modules/configmake (Makefile.am): Add a comment, and omit
5326         the CONFIGMAKE_ prefix from generated macro names.  Suggested
5327         by Bruno Haible.
5328
5329 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
5330
5331         * m4/isapipe.m4: New file.
5332
5333 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
5334
5335         * lib/isapipe.c, lib/isapipe.h: New files.
5336
5337 2006-08-29  Jim Meyering  <jim@meyering.net>
5338
5339         * modules/configmake (Makefile.am): Make configmake.h depend on
5340         Makefile.  Otherwise, a stale configmake.h could hang around.
5341
5342 2006-08-29  Eric Blake  <ebb9@byu.net>
5343
5344         * lib/error.c (error_at_line, print_errno_message): Match libc, after
5345         resolution of upstream bug 3044.
5346
5347 2006-08-29  Bruno Haible  <bruno@clisp.org>
5348
5349         * modules/localcharset (Depends-on): Add configmake.
5350         (Makefile.am): Remove setting of LIBDIR through DEFS.
5351
5352 2006-08-29  Bruno Haible  <bruno@clisp.org>
5353
5354         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
5355         defined.
5356
5357 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
5358
5359         * modules/fcntl: New file.
5360         * modules/chdir-safer (Depends-on): Add fcntl.
5361         * modules/fts: Likewise.
5362         * modules/mkdir-p: Likewise.
5363
5364         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
5365         This undoes the most recent change, since we're now addressing the
5366         problem in a different way.
5367
5368         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
5369         into output, since the output might be called Makefile.am even
5370         if $makefile_name is something different.
5371         (func_import): Use $makefile_am rather than
5372         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
5373         empty.
5374
5375         * modules/inttypes (Files): Add m4/inttypes-h.m4.
5376
5377 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
5378
5379         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
5380         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
5381         recent change to stdint.m4, since we're now addressing the problem in a
5382         different way.
5383
5384 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
5385
5386         * m4/fcntl_h.m4: New file.
5387
5388 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
5389
5390         * lib/fcntl_.h: New file.
5391         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
5392         the fcntl module.
5393         * lib/dirchownmod.c: Likewise.
5394         * lib/fts.c: Likewise.
5395
5396         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
5397         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
5398         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
5399         just before including <inttypes.h>, to avoid circular inclusion.
5400
5401 2006-08-28  Jim Meyering  <jim@meyering.net>
5402
5403         * doc/visibility.texi: Actually read and correct the grammar of the
5404         sentence affected by yesterday's change.
5405
5406 2006-08-28  Eric Blake  <ebb9@byu.net>
5407
5408         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
5409         needs wrapper.
5410
5411 2006-08-28  Eric Blake  <ebb9@byu.net>
5412
5413         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
5414
5415 2006-08-28  Eric Blake  <ebb9@byu.net>
5416
5417         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
5418
5419 2006-08-28  Bruno Haible  <bruno@clisp.org>
5420
5421         * modules/c-strstr: New file, from GNU gettext.
5422         * MODULES.html.sh (String handling): Add c-strstr.
5423
5424 2006-08-28  Bruno Haible  <bruno@clisp.org>
5425
5426         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
5427         macros.
5428         Reported by Eric Blake.
5429
5430 2006-08-28  Bruno Haible  <bruno@clisp.org>
5431
5432         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
5433         (VASNPRINTF): Return a string of length > INT_MAX without failing.
5434         * lib/vasprintf.c: Include errno.h, limits.h.
5435         (EOVERFLOW): New fallback definition.
5436         (vasprintf): Test here whether the string length is > INT_MAX.
5437         * lib/vsnprintf.c: Include errno.h, limits.h.
5438         (EOVERFLOW): New fallback definition.
5439         (vsnprintf): Fix bug when generated string was too long for the buffer.
5440         Test here whether the string length is > INT_MAX.
5441
5442 2006-08-28  Bruno Haible  <bruno@clisp.org>
5443
5444         * lib/inttypes_.h (SCNX*): Remove definitions.
5445         Reported by Eric Blake.
5446
5447 2006-08-28  Bruno Haible  <bruno@clisp.org>
5448
5449         * lib/c-strstr.h: New file, from GNU gettext.
5450         * lib/c-strstr.c: New file, from GNU gettext.
5451
5452 2006-08-28  Bruno Haible  <bruno@clisp.org>
5453
5454         * gnulib-tool: Reorder some statements.
5455
5456 2006-08-28  Bruno Haible  <bruno@clisp.org>
5457
5458         * gnulib-tool: New option --makefile-name.
5459         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
5460         $makefile_name.
5461         (func_import): Write $makefile_name to the cache file, and read it from
5462         there unless explicitly specified. Use $makefile_name as file name
5463         instead of Makefile.am. Adjust the recommendations accordingly.
5464
5465 2006-08-28  Bruno Haible  <bruno@clisp.org>
5466
5467         * gnulib-tool (func_verify_module): Check against misapplying patch.
5468
5469 2006-08-28  Bruno Haible  <bruno@clisp.org>
5470
5471         * gnulib-tool (func_relativize, func_relconcat): New functions.
5472         Give an error if --local-dir is given with --update.
5473         Remove trailing slashes from $local_gnulib_dir.
5474         (func_import): Store the relativized $local_gnulib_dir in
5475         gnulib-cache.m4, and read it from there if not specified explicitly.
5476
5477 2006-08-28  Bruno Haible  <bruno@clisp.org>
5478
5479         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
5480         is the current directory. Respect also $local_gnulib_dir.
5481
5482 2006-08-28  Bruno Haible  <bruno@clisp.org>
5483             Simon Josefsson  <jas@extundo.com>
5484
5485         BeOS portability.
5486         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
5487
5488 2006-08-27  Jim Meyering  <jim@meyering.net>
5489
5490         * doc/visibility.texi: Remove duplicate word: "pointer".
5491
5492 2006-08-26  Bruno Haible  <bruno@clisp.org>
5493
5494         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
5495         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
5496         (Makefile.am): Create inttypes.h from inttypes_.h.
5497         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
5498
5499         * modules/imaxabs: New file.
5500
5501         * modules/imaxdiv: New file.
5502
5503 2006-08-26  Bruno Haible  <bruno@clisp.org>
5504
5505         * m4/inttypes.m4: New file.
5506         * m4/_inttypes_h.m4: Remove file.
5507         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
5508         PRI_MACROS_BROKEN.
5509         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
5510
5511         * m4/imaxabs.m4: New file.
5512
5513         * m4/imaxdiv.m4: New file.
5514
5515 2006-08-26  Bruno Haible  <bruno@clisp.org>
5516
5517         * lib/inttypes_.h: New file.
5518         * lib/inttypes.h: Remove file.
5519         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
5520
5521         * lib/imaxabs.c: New file.
5522
5523         * lib/imaxdiv.c: New file.
5524
5525 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
5526
5527         New config-h module, so that "make" output needn't be cluttered
5528         by -DHAVE_CONFIG_H.
5529         * MODULES.html.sh (Support for building libraries and executables):
5530         Add config-h.
5531         * modules/config-h: New file.
5532         * gnulib-tool (nl, sed_transform_lib_file): New vars.
5533         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
5534         the config-h module is used.
5535
5536         New configmake module, so that "make" output needn't be cluttered
5537         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
5538         * MODULES.html.sh (Support for building libraries and executables):
5539         Add configmake.
5540         * modules/configmake: New file.
5541
5542 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
5543
5544         * m4/config-h.m4: New file.
5545
5546 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5547
5548         * config/srclist.txt: Add elisp-comp.
5549
5550 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
5551
5552         * MODULES.html.sh (Support for building libraries and executables):
5553         Add elisp-comp.
5554         * build-aux/elisp-comp: New file.
5555         * modules/elisp-comp: New file.
5556
5557 2006-08-24  Bruno Haible  <bruno@clisp.org>
5558
5559         * gnulib-tool (func_create_testdir): Use non-default values of
5560         sourcebase and m4base.
5561
5562 2006-08-24  Bruno Haible  <bruno@clisp.org>
5563
5564         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
5565         HTML structure.
5566
5567 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
5568
5569         * modules/openat (Depends-on): Add lchown.
5570
5571 2006-08-23  Bruno Haible  <bruno@clisp.org>
5572
5573         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
5574         of gl_LOCK_EARLY instead of gl_LOCK.
5575
5576 2006-08-23  Bruno Haible  <bruno@clisp.org>
5577
5578         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
5579         on OSF/1 to no.
5580         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
5581
5582 2006-08-23  Bruno Haible  <bruno@clisp.org>
5583
5584         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
5585         as unusable.
5586
5587         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
5588         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
5589         (gl_LOCK): New macro.
5590
5591 2006-08-22  Simon Josefsson  <jas@extundo.com>
5592
5593         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
5594         to md5 module.
5595
5596 2006-08-22  Simon Josefsson  <jas@extundo.com>
5597
5598         * MODULES.html.sh: Add "Support for maintaining and release
5599         projects".
5600
5601         * build-aux/gnupload: New file, from coreutils.
5602
5603 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5604
5605         Avoid the need for AC_LIBSOURCES in m4 macros.
5606         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
5607         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
5608         * modules/check-version (EXTRA_DIST): Add check-version.h.
5609         * modules/crc (EXTRA_DIST): Add crc.h.
5610         * modules/des (EXTRA_DIST): Add des.h.
5611         * modules/gc (EXTRA_DIST): Add gc.h.
5612         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
5613         * modules/getline (EXTRA_DIST): Add getline.h.
5614         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
5615         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
5616         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
5617         * modules/md2 (EXTRA_DIST): Add md2.h.
5618         * modules/md4 (EXTRA_DIST): Add md4.h.
5619         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
5620         * modules/read-file (EXTRA_DIST): Add read-file.h.
5621         * modules/readline (EXTRA_DIST): Add readline.h.
5622         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
5623         rijndael-api-fst.h.
5624
5625 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5626
5627         * m4/rijndael.m4 (gl_ARCFOUR):
5628         * m4/arctwo.m4 (gl_ARCTWO):
5629         * m4/check-version.m4 (gl_CHECK_VERSION):
5630         * m4/crc.m4 (gl_CRC):
5631         * m4/des.m4 (gl_DES):
5632         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
5633         * m4/gc.m4 (gl_GC):
5634         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
5635         * m4/getline.m4 (gl_FUNC_GETLINE):
5636         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
5637         * m4/hmac-md5.m4 (gl_HMAC_MD5):
5638         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
5639         * m4/md2.m4 (gl_MD2):
5640         * m4/md4.m4 (gl_MD4):
5641         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
5642         * m4/read-file.m4 (gl_FUNC_READ_FILE):
5643         * m4/readline.m4 (gl_FUNC_READLINE):
5644         * m4/rijndael.m4 (gl_RIJNDAEL):
5645         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
5646         to get the necessary .h files and whatnot.
5647
5648 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
5649
5650         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
5651         gnulib rather than the other way around.
5652         * config/srclistvars.sh (COREUTILS): Remove.
5653
5654 2006-08-22  Jim Meyering  <jim@meyering.net>
5655
5656         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
5657
5658         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
5659
5660 2006-08-22  Eric Blake  <ebb9@byu.net>
5661
5662         * modules/regexprops-generic: New file.
5663         * MODULES.html.sh (Support for building documentation): List it.
5664
5665 2006-08-22  Eric Blake  <ebb9@byu.net>
5666
5667         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
5668         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
5669         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
5670         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
5671
5672 2006-08-22  Bruno Haible  <bruno@clisp.org>
5673
5674         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
5675         and lib_LTLIBRARIES like the other lib_* variables.
5676
5677 2006-08-22  Bruno Haible  <bruno@clisp.org>
5678
5679         * build-aux/x-to-1.in: New file, from GNU gettext.
5680
5681 2006-08-22  Bruno Haible  <bruno@clisp.org>
5682
5683         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
5684         <utmpx.h> exists.
5685
5686 2006-08-22  Bruno Haible  <bruno@clisp.org>
5687
5688         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
5689         <utmpx.h> exists.
5690
5691 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5692
5693         BeOS portability.
5694         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
5695         exist.
5696         Problem reported by Bruno Haible.
5697
5698 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5699
5700         Avoid the need for AC_LIBSOURCES in m4 macros.
5701         * modules/acl (EXTRA_DIST): Add acl.h.
5702         * modules/argmatch (Files): Add m4/argmatch.m4.
5703         (configure.ac): Add gl_ARGMATCH.
5704         (EXTRA_DIST): Renamed from lib_SOURCES, for
5705         consistency with the other modules.  Remove argmatch.c.
5706         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
5707         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
5708         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
5709         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
5710         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
5711         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
5712         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
5713         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
5714         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
5715         * modules/closeout (EXTRA_DIST): Add closeout.h.
5716         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
5717         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
5718         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
5719         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
5720         dirname.h; remove basename.c and stripslash.c.
5721         * modules/exclude (EXTRA_DIST): Add exclude.h.
5722         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
5723         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
5724         * modules/file-type (EXTRA_DIST): Add file-type.h.
5725         * modules/filemode (EXTRA_DIST): Add filemode.h.
5726         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
5727         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
5728         * modules/fpending (EXTRA_DIST): Add __fpending.h.
5729         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
5730         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
5731         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
5732         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
5733         * modules/getdate (EXTRA_DIST): Add getdate.c.
5734         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
5735         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
5736         * modules/getpass (EXTRA_DIST): Add getpass.h.
5737         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
5738         * modules/group-member (EXTRA_DIST): Add group-member.h.
5739         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
5740         * modules/hash (EXTRA_DIST): Add hash.h.
5741         * modules/human (EXTRA_DIST): Add human.h.
5742         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
5743         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
5744         * modules/lchown (EXTRA_DIST): Add lchown.h.
5745         * modules/long-options (EXTRA_DIST): Add long-options.h.
5746         * modules/lstat (EXTRA_DIST): Add lstat.h.
5747         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
5748         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
5749         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
5750         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
5751         * modules/memxor (EXTRA_DIST): Add memxor.h.
5752         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
5753         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
5754         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
5755         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
5756         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
5757         * modules/physmem (EXTRA_DIST): Add physmem.h.
5758         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
5759         * modules/posixver (EXTRA_DIST): Add posixver.h.
5760         * modules/quote (EXTRA_DIST): Add quote.h.
5761         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
5762         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
5763         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
5764         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
5765         regex_internal.h regexec.c.
5766         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
5767         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
5768         * modules/same (EXTRA_DIST): Add same.h.
5769         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
5770         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
5771         * modules/savedir (EXTRA_DIST): Add savedir.h.
5772         * modules/sha1 (EXTRA_DIST): Add sha1.h.
5773         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
5774         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
5775         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
5776         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
5777         * modules/strdup (EXTRA_DIST): Add strdup.h.
5778         * modules/strftime (EXTRA_DIST): Add strftime.h.
5779         * modules/strndup (EXTRA_DIST): Add strndup.h.
5780         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
5781         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
5782         * modules/time_r (EXTRA_DIST): Add time_r.h.
5783         * modules/timespec (EXTRA_DIST): Add timespec.h.
5784         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
5785         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
5786         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
5787         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
5788         * modules/userspec (EXTRA_DIST): Add userspec.h.
5789         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
5790         * modules/utimens (EXTRA_DIST): Add utimens.h.
5791         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
5792         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
5793         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
5794         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
5795         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
5796         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
5797         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
5798         * modules/yesno (EXTRA_DIST): Add yesno.h.
5799
5800 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
5801
5802         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
5803
5804         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
5805         * m4/dev-ino.m4, same-inode.m4: Remove.
5806
5807         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
5808         * m4/acl.m4 (AC_FUNC_ACL):
5809         * m4/backupfile.m4 (gl_BACKUPFILE):
5810         * m4/c-strtod.m4 (gl_C99_STRTOLD):
5811         * m4/canon-host.m4 (gl_CANON_HOST):
5812         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
5813         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
5814         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
5815         * m4/cloexec.m4 (gl_CLOEXEC):
5816         * m4/close-stream.m4 (gl_CLOSE_STREAM):
5817         * m4/closeout.m4 (gl_CLOSEOUT):
5818         * m4/dirfd.m4 (gl_FUNC_DIRFD):
5819         * m4/dirname.m4 (gl_DIRNAME):
5820         * m4/exclude.m4 (gl_EXCLUDE):
5821         * m4/exitfail.m4 (gl_EXITFAIL):
5822         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
5823         * m4/file-type.m4 (gl_FILE_TYPE):
5824         * m4/filemode.m4 (gl_FILEMODE):
5825         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
5826         * m4/fpending.m4 (gl_FUNC_FPENDING):
5827         * m4/fprintftime.m4 (gl_FPRINTFTIME):
5828         * m4/fts.m4 (gl_FUNC_FTS):
5829         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
5830         * m4/getdate.m4 (gl_GETDATE):
5831         * m4/gethrxtime.m4 (gl_GETHRXTIME):
5832         * m4/getpagesize.m4 (gl_GETPAGESIZE):
5833         * m4/getpass.m4 (gl_FUNC_GETPASS):
5834         * m4/gettime.m4 (gl_GETTIME):
5835         * m4/getugroups.m4 (gl_GETUGROUPS):
5836         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
5837         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
5838         * m4/hard-locale.m4 (gl_HARD_LOCALE):
5839         * m4/hash.m4 (gl_HASH):
5840         * m4/idcache.m4 (gl_IDCACHE):
5841         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
5842         * m4/lchown.m4 (gl_FUNC_LCHOWN):
5843         * m4/long-options.m4 (gl_LONG_OPTIONS):
5844         * m4/lstat.m4 (gl_FUNC_LSTAT):
5845         * m4/md5.m4 (gl_MD5):
5846         * m4/memcasecmp.m4 (gl_MEMCASECMP):
5847         * m4/memcoll.m4 (gl_MEMCOLL):
5848         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
5849         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
5850         * m4/memxor.m4 (gl_MEMXOR):
5851         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
5852         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
5853         * m4/modechange.m4 (gl_MODECHANGE):
5854         * m4/mountlist.m4 (gl_MOUNTLIST):
5855         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
5856         * m4/openat.m4 (gl_FUNC_OPENAT):
5857         * m4/pathmax.m4 (gl_PATHMAX):
5858         * m4/physmem.m4 (gl_PHYSMEM):
5859         * m4/posixtm.m4 (gl_POSIXTM):
5860         * m4/posixver.m4 (gl_POSIXVER):
5861         * m4/quote.m4 (gl_QUOTE):
5862         * m4/quotearg.m4 (gl_QUOTEARG):
5863         * m4/readtokens.m4 (gl_READTOKENS):
5864         * m4/readutmp.m4 (gl_READUTMP):
5865         * m4/regex.m4 (gl_REGEX):
5866         * m4/safe-read.m4 (gl_SAFE_READ):
5867         * m4/safe-write.m4 (gl_SAFE_WRITE):
5868         * m4/same.m4 (gl_SAME):
5869         * m4/save-cwd.m4 (gl_SAVE_CWD):
5870         * m4/savedir.m4 (gl_SAVEDIR):
5871         * m4/settime.m4 (gl_SETTIME):
5872         * m4/sha1.m4 (gl_SHA1):
5873         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
5874         * m4/stat-macros.m4 (gl_STAT_MACROS):
5875         * m4/stat-time.m4 (gl_STAT_TIME):
5876         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
5877         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
5878         * m4/strdup.m4 (gl_FUNC_STRDUP):
5879         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
5880         * m4/strndup.m4 (gl_FUNC_STRNDUP):
5881         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
5882         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
5883         * m4/time_r.m4 (gl_TIME_R):
5884         * m4/timespec.m4 (gl_TIMESPEC):
5885         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
5886         * m4/unlinkdir.m4 (gl_UNLINKDIR):
5887         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
5888         * m4/userspec.m4 (gl_USERSPEC):
5889         * m4/utimecmp.m4 (gl_UTIMECMP):
5890         * m4/utimens.m4 (gl_UTIMENS):
5891         * m4/xalloc.m4 (gl_XALLOC):
5892         * m4/xgetcwd.m4 (gl_XGETCWD):
5893         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
5894         * m4/xreadlink.m4 (gl_XREADLINK):
5895         * m4/xstrtod.m4 (gl_XSTRTOD):
5896         * m4/yesno.m4 (gl_YESNO):
5897         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
5898         to get the necessary .h files and whatnot.
5899
5900 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
5901             Bruno Haible  <bruno@clisp.org>
5902
5903         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
5904         /bin/sh understanding of '!' conditional negation.
5905
5906 2006-08-21  Jim Meyering  <jim@meyering.net>
5907
5908         * modules/openat (Depends-on): Really alphabetize.
5909
5910         * modules/acl (Depends-on): Add error and quote.
5911
5912         * check-module (find_included_lib_files): Add at-func.c to the
5913         ok-to-include-more-than-once white list.
5914
5915         * modules/openat (Depends-on): Add lstat.  Alphabetize.
5916
5917 2006-08-21  Bruno Haible  <bruno@clisp.org>
5918
5919         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5920         Emit a pkgdata_DATA variable only if some snippets add contents to it.
5921         Reported by Martin Lambers <marlam@marlam.de>.
5922
5923 2006-08-21  Bruno Haible  <bruno@clisp.org>
5924
5925         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
5926         specify an installation location, don't emit a noinst_LIBRARIES or
5927         noinst_LTLIBRARIES assignment.
5928
5929 2006-08-21  Bruno Haible  <bruno@clisp.org>
5930
5931         BeOS portability.
5932         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
5933         BeOS has mbrtowc() but no <wctype.h>.
5934
5935 2006-08-21  Bruno Haible  <bruno@clisp.org>
5936
5937         BeOS portability.
5938         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
5939         exist.
5940
5941 2006-08-21  Bruno Haible  <bruno@clisp.org>
5942
5943         BeOS portability.
5944         * lib/mbchar.h: Include <wctype.h> only if it exists.
5945
5946 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5947
5948         Remove files that are no longer needed by their respective modules.
5949         * m4/obstack.m4: Remove.
5950         * m4/strerror_r.m4: Remove.
5951         * m4/uint32_t.m4: Remove.
5952         * m4/uintptr_t.m4: Remove.
5953         * m4/ullong_max.m4: Remove.
5954         * m4/xstrtoimax.m4: Remove.
5955         * m4/xstrtoumax.m4: Remove.
5956
5957         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
5958         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
5959         dependencies now capture this.
5960
5961         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
5962         Do not use AC_LIBSOURCES, since gnulib modules now do this.
5963         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
5964         * m4/human.m4 (gl_HUMAN): Likewise.
5965         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
5966         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
5967
5968         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
5969
5970         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
5971         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
5972         stdint.
5973         * m4/human.m4 (gl_HUMAN): Likewise.
5974         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
5975         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
5976         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
5977         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
5978         * m4/xstrtol (gl_XSTRTOL): Likewise.
5979
5980         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
5981         AC_TYPE_LONG_LONG_INT.
5982         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
5983         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
5984         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
5985         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
5986
5987         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
5988         on stdbool.
5989
5990         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
5991         (gl_PREREQ_XSTRTOUL): Remove.
5992
5993         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
5994
5995         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
5996         mode.
5997
5998 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
5999
6000         Add and change modules to make it easier for coreutils to use
6001         gnulib-tool.
6002         * modules/backupfile (Files): Remove m4/d-ino.m4.
6003         (Depends-on): Add d-ino.
6004         * modules/cycle-check (Depends-on): Add stdint.
6005         (lib_SOURCES): Add cycle-check.h.
6006         * modules/d-ino: New module.
6007         * modules/d-type: New module.
6008         * modules/error (Files): Remove m4/strerror_r.m4.
6009         * modules/filemode (Files): Add m4/st_dm_mode.m4.
6010         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
6011         m4/inttypes_h.m4, m4/uintmax_t.m4.
6012         (Depends-on): Add stdint.
6013         (lib_SOURCES): Add fsusage.h.
6014         * modules/getcwd (Files): Remove d-ino.m4.
6015         (Depends-on): Add d-ino.
6016         * modules/getndelim2 (Depends-on): Add stdint.
6017         * modules/glob (Files): Remove m4/d-type.m4.
6018         (Depends-on): Add d-type.
6019         * modules/host-os: New module.
6020         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
6021         m4/inttypes_h.m4, m4/uintmax_t.m4.
6022         * Depends-on: Add stdint.
6023         (lib_SOURCES): Add human.h.
6024         * modules/inttostr (Files): Remove m4/intmax_t.m4,
6025         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
6026         m4/uintmax_t.m4, m4/ulonglong.m4.
6027         (Depends-on): Add stdint.
6028         (EXTRA_DIST): Add inttostr.h.
6029         * modules/lchmod: New module.
6030         * modules/link-follow: New module.
6031         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
6032         (Depends-on): Add lchmod.
6033         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
6034         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
6035         (Depends-on): Add stdint.
6036         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
6037         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
6038         (Depends-on): Add stdint.
6039         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
6040         * modules/perl: New module.
6041         * modules/regex (Depends-on): Add stdint.
6042         * modules/rmdir-errno: New module.
6043         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
6044         m4/intmax_t.m4.
6045         (Depends-on): Add stdint.
6046         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
6047         m4/uintmax_t.m4.
6048         (Depends-on): Add stdint.
6049         * modules/unlink-busy: New module.
6050         * modules/utimecmp (Depends-on): Add stdint.
6051         * modules/uptime: New module.
6052         * modules/winsz-ioctl: New module.
6053         * modules/winsz-termios: New module.
6054         * modules/xnanosleep (Depends-on): Add nanosleep.
6055         * modules/ullong_max: Remove.
6056         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
6057         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
6058         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
6059         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
6060         (Depends-on): Add inttypes.
6061         (lib_SOURCES): Add xstrtol.h.
6062         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
6063         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
6064         * MODULES.html.sh: Move 'assert' into the assert section.
6065         Move 'dummy' into the linking section.
6066         Remove ullong_max.
6067         Add section for compatibility checks for POSIX:2001 functions,
6068         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
6069         winsz-ioctl, and winsz-termios into it.
6070         Add lchmod.
6071         Add top-level Misc section and put host-os, perl, and uptime
6072         into it.
6073
6074 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
6075
6076         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
6077         now assume the stdint module.  Do not include inttypes.h.
6078         * lib/fsusage.h: Likewise.
6079         * lib/getndelim2.c: Likewise.
6080         * lib/human.h: Likewise.
6081         * lib/inttostr.h: Likewise.
6082         * lib/obstack.c: Likewise.
6083         * lib/regex_internal.h: Likewise.
6084         * lib/tempname.c: Likewise.
6085         * lib/utimecmp.c: Likewise.
6086         * lib/xstrtol.h: Likewise.
6087
6088         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
6089
6090         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
6091         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
6092         * lib/xtime.h: Likewise.
6093
6094 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
6095
6096         * modules/openat (Files): Add lib/fchmodat.c.
6097         Fixes problem reported by Jay Youngman.
6098
6099 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
6100
6101         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
6102         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
6103
6104 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
6105             Bruno Haible  <bruno@clisp.org>
6106
6107         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
6108         and is a script that invokes bison. Tighten the code. Add comments.
6109
6110 2006-08-18  Jim Meyering  <jim@meyering.net>
6111
6112         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
6113         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
6114         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
6115         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
6116
6117 2006-08-18  Bruno Haible  <bruno@clisp.org>
6118
6119         * modules/bison-i18n: New file.
6120         * MODULES.html.sh (Internationalization functions): Add it.
6121
6122 2006-08-18  Bruno Haible  <bruno@clisp.org>
6123
6124         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
6125         sys/statvfs.h. When getmntinfo was found, check its declaration and
6126         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
6127
6128 2006-08-18  Bruno Haible  <bruno@clisp.org>
6129
6130         * m4/bison-i18n.m4: New file, from bison.
6131
6132 2006-08-18  Bruno Haible  <bruno@clisp.org>
6133
6134         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
6135         (ME_DUMMY): Treat "kernfs" as a dummy.
6136         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
6137
6138 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
6139
6140         Update from coreutils.
6141
6142         2006-08-15  Jim Meyering  <jim@meyering.net>
6143
6144         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
6145
6146         2006-01-17  Jim Meyering  <jim@meyering.net>
6147
6148         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
6149
6150         2006-01-11  Jim Meyering  <jim@meyering.net>
6151
6152         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
6153         Check for the lchmod function.
6154
6155 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
6156
6157         Update from coreutils.
6158
6159         * lib/__fpending.h: Add copyright notice.
6160         * lib/fprintftime.h: Likewise.
6161         * lib/savedir.c: Use (C) in copyright notice.
6162         * lib/savedir.h: Likewise.
6163
6164         2006-08-15  Jim Meyering  <jim@meyering.net>
6165
6166         * lib/at-func.c: New file, with the logic of all emulated at-functions.
6167         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
6168         in support of the EXPECTED_ERRNO macro.
6169         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
6170         definitions.  Instead, define the appropriate symbols and include
6171         "at-func.c".
6172         * lib/mkdirat.c (mkdirat): Likewise.
6173         * lib/fchmodat.c (fchmodat): Likewise.
6174         (ENOSYS): Remove definition.
6175         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
6176         it.  Don't include "unistd--.h" -- it wasn't ever used.
6177
6178         2006-01-17  Jim Meyering  <jim@meyering.net>
6179
6180         Rewrite fts.c not to change the current working directory,
6181         by using openat, fstatat, fdopendir, etc..
6182
6183         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
6184         (HAVE_OPENAT_SUPPORT): Define.
6185         [_LIBC] (fchdir): Don't undef or define; no longer used.
6186         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
6187         Now, this `function' always succeeds, and consumes its file descriptor
6188         parameter -- so callers must not close such FDs.  Update callers.
6189         (diropen_fd, opendirat, cwd_advance_fd): New functions.
6190         (diropen): Add parameter, SP.  Adjust all callers.
6191         Implement using diropen_fd, rather than open.
6192         (fts_open): Initialize new member, fts_cwd_fd.
6193         Remove fts_rft-setting code.
6194         (fts_close): Close fts_cwd_fd, if necessary.
6195         (__opendir2): Define in terms of opendir or opendirat,
6196         depending on whether the FST_NOCHDIR flag is set.
6197         (fts_build): Since fts_safe_changedir consumes its FD, and since
6198         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
6199         and close the dup'd file descriptor upon failure.
6200         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
6201         (fts_safe_changedir): Tweak semantics to reflect that this function
6202         now calls cwd_advance_fd and hence consumes its FD argument.
6203         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
6204         [struct FTS] (fts_rft): Remove now-unused member.
6205         [struct FTS] (fts_cycle.state): Improve comment.
6206
6207         * lib/openat.c (openat_needs_fchdir): New function.
6208         * lib/openat.h (openat_needs_fchdir): Declare it.
6209
6210 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
6211
6212         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
6213         Problem and fix reported by Pádraig Brady in
6214         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
6215
6216 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6217
6218         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
6219
6220 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6221
6222         * lib/memcoll.c (memcoll): Optimize for the common case where the
6223         arguments are bytewise equal.
6224
6225 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
6226
6227         * doc/regexprops-generic.texi: Add a copyright notice.
6228
6229 2006-08-15  Bruno Haible  <bruno@clisp.org>
6230
6231         * modules/tmpdir (License): Change to LGPL.
6232
6233 2006-08-15  Bruno Haible  <bruno@clisp.org>
6234
6235         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
6236         module.
6237
6238 2006-08-14  Simon Josefsson  <jas@extundo.com>
6239
6240         * config/srclist.txt: Add gnupload.
6241
6242 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6243
6244         Change copyright notice from LGPL 2 to GPL 2, since that's the
6245         standard form used in the gnulib repository.
6246         * tests/test-lock.c: Likewise.
6247         * tests/test-stdint.c: Likewise.
6248         * tests/test-tls.c: Likewise.
6249
6250         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
6251         prelude-manager.  User shorter URLs for GNU projects, without '?'.
6252         Add copyright notice.
6253
6254         * check-module: Add copyright notice.  Output a copyright
6255         notice if "--version" is specified.
6256         * modules/COPYING: New file.
6257         * tests/test-getaddrinfo.c: Add copyright notice.
6258         * tests/test-verify.c: Likewise.
6259
6260 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6261
6262         Change copyright notice from LGPL 2 to GPL 2, since that's the
6263         standard form used in the gnulib repository.
6264         * lib/lock.c: LGPL -> GPL.
6265         * lib/lock.h: Likewise.
6266         * lib/strnlen1.c: Likewise.
6267         * lib/strnlen1.h: Likewise.
6268         * lib/tls.c: Likewise.
6269         * lib/tls.h: Likewise.
6270         * lib/tmpdir.c: Likewise.
6271
6272         * lib/TODO: Remove; this belongs only in coreutils.
6273
6274 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6275
6276         Add copyright notices to long-enough files that lack them, since
6277         otherwise the files aren't clearly free.  Use the same notice that
6278         getdate.texi already uses.
6279         * doc/alloca-opt.texi: Add copyright notice.
6280         * doc/alloca.texi: Likewise.
6281         * doc/ctime.texi: Likewise.
6282         * doc/functions.texi: Likewise.
6283         * doc/gcd.texi: Likewise.
6284         * doc/gnulib-tool.texi: Likewise.
6285         * doc/inet_ntoa.texi: Likewise.
6286         * doc/visibility.texi: Likewise.
6287
6288         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
6289         * doc/quote.texi: Add copyright notice.
6290
6291         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
6292         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
6293         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
6294         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
6295         is now obsolete, and give a pointer to the Sun list.
6296         Add copyright notice.
6297
6298 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
6299
6300         * config/srclistvars.sh: Add copyright notice.
6301
6302 2006-08-14  Eric Blake  <ebb9@byu.net>
6303
6304         Import the following change from libc:
6305
6306         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
6307
6308         Upstream bug 2997.
6309         * lib/misc/error.c: Add space between program name and message if file
6310         name is missing.
6311
6312 2006-08-12  Karl Berry  <karl@gnu.org>
6313
6314         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
6315         remove, these originate in gnulib now.
6316
6317 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6318
6319         * doc/Makefile (standards.info standards.html standards.dvi):
6320         Also depend on make-stds.texi.
6321
6322 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
6323
6324         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
6325         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
6326
6327         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
6328         in wchar_t.  Problem reported by Eric Blake.
6329
6330         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
6331         LEN is smaller than SIZE.  Suggested by Bruno Haible.
6332         Also, help the compiler to keep LEN in a register.
6333
6334 2006-08-11  Eric Blake  <ebb9@byu.net>
6335
6336         * users.txt: Sort.  Add tar.
6337
6338 2006-08-11  Bruno Haible  <bruno@clisp.org>
6339
6340         * users.txt: New file.
6341
6342 2006-08-11  Bruno Haible  <bruno@clisp.org>
6343
6344         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
6345         before <wchar.h>. Needed for OSF/1 and BSD/OS.
6346
6347 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
6348
6349         * modules/snprintf (Depends-on): Remove minmax.
6350         (Maintainer): Add self and Bruno.
6351
6352 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
6353
6354         * lib/.cppi-disable: Add snprintf.h, socket_.h.
6355         * lib/snprintf.c: Include <errno.h> and <limits.h>.
6356         (EOVERFLOW): Define if the system does not.
6357         Do not include "minmax.h"; it wasn't used.
6358         (snprintf): Don't assume size_t promotes to an unsigned type.
6359         Fix bug when generated string was too long for the buffer: the
6360         buffer's contents are supposed to be the initial prefix of the
6361         output.  Don't assume vasnprintf returns EOVERFLOW if the size
6362         exceeds INT_MAX; do the check ourselves.
6363
6364         Import the following changes from libc:
6365
6366         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
6367
6368         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
6369         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
6370         set wc to the byte which couldn't be converted.
6371         (re_string_reconstruct): Don't clear valid_raw_len before calling
6372         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
6373         tip_context using re_string_context_at.
6374
6375         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
6376
6377         * lib/posix/regex.h: g++ still cannot handled [restrict].
6378
6379         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
6380
6381         * lib/posix/regex.h: Remove special handling for VMS.
6382
6383 2006-08-10  Jim Meyering  <jim@meyering.net>
6384
6385         * modules/same-inode: New module.
6386         * modules/dev-ino: New module.
6387         * modules/cycle-check: Depend on these modules, rather than simply
6388         including their .h files.
6389         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
6390         required via m4/cycle-check.m4.
6391         * modules/same: Depend on new same-inode module, rather than
6392         including same-inode.h.
6393         * modules/chdir-safer: New file.
6394
6395         * modules/chown (Depends-on): Add stat-macros.
6396
6397 2006-08-10  Jim Meyering  <jim@meyering.net>
6398
6399         * m4/cycle-check.m4: New file.
6400         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
6401         * m4/dev-ino.m4, m4/same-inode.m4: New files.
6402
6403 2006-08-10  Eric Blake  <ebb9@byu.net>
6404
6405         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
6406         in from original proposal.
6407
6408 2006-08-10  Eric Blake  <ebb9@byu.net>
6409         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6410
6411         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
6412         namespace.
6413
6414 2006-08-10  Bruno Haible  <bruno@clisp.org>
6415
6416         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
6417         as well.
6418
6419 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6420
6421         Sync from coreutils.
6422
6423         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
6424
6425         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
6426         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
6427
6428 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6429
6430         * modules/restrict: Remove; no longer needed now that we assume
6431         Autoconf 2.59 or later.
6432         * MODULES.html.sh: Remove 'restrict'.
6433         * modules/argp (Depends-on): Remove 'restrict'.
6434         * modules/base64 (Depends-on): Likewise.
6435         * modules/gc (Depends-on): Likewise.
6436         * modules/getaddrinfo (Depends-on): Likewise.
6437         * modules/glob (Depends-on): Likewise.
6438         * modules/inet_ntop (Depends-on): Likewise.
6439         * modules/inet_pton (Depends-on): Likewise.
6440         * modules/memxor (Depends-on): Likewise.
6441         * modules/regex (Depends-on): Likewise.
6442         * modules/strtok_r (Depends-on): Likewise.
6443         * modules/time_r (Depends-on): Likewise.
6444
6445 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
6446
6447         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
6448         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
6449         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
6450         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
6451         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
6452         * m4/memxor.m4 (gl_MEMXOR): Likewise.
6453         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
6454         gl_C_RESTRICT replaced by AC_C_RESTRICT.
6455
6456         Merge from coreutils.
6457         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
6458         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
6459         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
6460         * m4/time_r.m4 (gl_TIME_R): Likewise.
6461
6462 2006-08-09  Karl Berry  <karl@gnu.org>
6463
6464         * config/srclist.txt: no more gettext-tools, per Bruno.
6465
6466 2006-08-08  Eric Blake  <ebb9@byu.net>
6467
6468         * modules/verror: New module.
6469         * MODULES.html.sh: Document it.
6470
6471 2006-08-08  Eric Blake  <ebb9@byu.net>
6472
6473         * lib/verror.h, lib/verror.c: New files.
6474
6475 2006-08-08  Eric Blake  <ebb9@byu.net>
6476
6477         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
6478         verror_at_line output complies with GNU Coding Standards even when
6479         file is NULL.
6480
6481 2006-08-07  Bruno Haible  <bruno@clisp.org>
6482
6483         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
6484         versions of AIX.
6485         Reported by Ralf Wildenhues.
6486
6487 2006-08-07  Bruno Haible  <bruno@clisp.org>
6488
6489         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
6490         in an AC_DEFUN. Needed so that the autoconf snippets can use
6491         AC_REQUIRE.
6492
6493 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6494
6495         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6496         Initialize pkgdata_DATA.
6497         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
6498         overriding it.
6499
6500 2006-08-06  Eric Blake  <ebb9@byu.net>
6501
6502         * lib/error.h: Fold in some upstream changes from glibc.
6503         * lib/error.c: Likewise.
6504
6505 2006-08-04  Bruno Haible  <bruno@clisp.org>
6506
6507         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6508         Make the mostlyclean-local rule depend on mostlyclean-generic.
6509         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
6510
6511 2006-07-31  Bruno Haible  <bruno@clisp.org>
6512
6513         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
6514         <stdlib.h>, <string.h>.
6515
6516 2006-07-30  Bruno Haible  <bruno@clisp.org>
6517
6518         * modules/readlink (License): Change to LGPL.
6519
6520 2006-07-30  Bruno Haible  <bruno@clisp.org>
6521
6522         * modules/javaversion (Makefile.am): Distribute javaversion.java and
6523         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
6524         set PKGDATADIR to point to it.
6525
6526 2006-07-30  Bruno Haible  <bruno@clisp.org>
6527
6528         * modules/csharpexec (configure.ac): Comment out macro invocation.
6529         * modules/javaexec (configure.ac): Likewise.
6530         * modules/javacomp-script (configure.ac): Likewise.
6531
6532         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
6533
6534 2006-07-30  Bruno Haible  <bruno@clisp.org>
6535
6536         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
6537         linked-list.
6538
6539 2006-07-30  Bruno Haible  <bruno@clisp.org>
6540
6541         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
6542
6543 2006-07-30  Bruno Haible  <bruno@clisp.org>
6544
6545         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6546         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
6547         get removed.
6548
6549 2006-07-29  Bruno Haible  <bruno@clisp.org>
6550
6551         Make it possible for gnulib-tool to work with locally modified or
6552         augmented gnulib repositories.
6553         * gnulib-tool (func_usage): Document --local-dir option.
6554         (local_gnulib_dir): New variable.
6555         Handle --local-dir option.
6556         (func_lookup_file): New function.
6557         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
6558         (func_get_description, func_get_filelist, func_get_description,
6559         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
6560         func_get_automake_snippet, func_get_include_directive,
6561         func_get_license, func_get_maintainer): Use func_lookup_file.
6562         (func_import, func_create_testdir): Use func_lookup_file.
6563
6564 2006-07-29  Bruno Haible  <bruno@clisp.org>
6565
6566         * modules/setenv (Depends-on): Add unistd.
6567
6568 2006-07-29  Bruno Haible  <bruno@clisp.org>
6569
6570         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
6571
6572 2006-07-29  Bruno Haible  <bruno@clisp.org>
6573
6574         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
6575
6576 2006-07-29  Bruno Haible  <bruno@clisp.org>
6577
6578         * gnulib-tool (import, update): If there is no Makefile.am, look at
6579         aclocal.m4, instead of bailing out.
6580
6581 2006-07-29  Bruno Haible  <bruno@clisp.org>
6582
6583         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
6584         Categorize the options by when they are useful.
6585
6586 2006-07-29  Bruno Haible  <bruno@clisp.org>
6587
6588         * gnulib-tool (func_usage): Document option --no-libtool.
6589         Handle option --no-libtool.
6590         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
6591         for changed semantics of $libtool variable.
6592         (func_import): Likewise. If libtool is not used, show this through
6593         an option --no-libtool.
6594         (func_create_testdir): Update.
6595
6596 2006-07-29  Bruno Haible  <bruno@clisp.org>
6597
6598         * gnulib-tool (func_import): Extend error message about missing
6599         --doc-base.
6600
6601 2006-07-29  Bruno Haible  <bruno@clisp.org>
6602
6603         * gnulib-tool (func_import): Don't create the $docbase directory if
6604         there is no file to store there.
6605
6606 2006-07-29  Bruno Haible  <bruno@clisp.org>
6607
6608         * gnulib-tool (autoconf_minversion): If a --dir option is given and
6609         relevant, look for configure.ac there, not in the current directory.
6610         Also use a simple search for AC_PREREQ, not "autoconf --trace".
6611
6612 2006-07-29  Bruno Haible  <bruno@clisp.org>
6613
6614         * gnulib-tool (SORT): New variable.
6615         (func_usage): Undocument --assume-autoconf option.
6616         Remove --assume-autoconf option handling.
6617         (autoconf_minversion): Determine from the contents of configure.ac.
6618         (func_import): Remove autoconf_minversion handling.
6619         Suggested by Eric Blake.
6620
6621 2006-07-29  Bruno Haible  <bruno@clisp.org>
6622
6623         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
6624
6625 2006-07-29  Bruno Haible  <bruno@clisp.org>
6626
6627         * config/srclist.txt (*setenv.[ch]): Remove rules.
6628
6629 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6630
6631         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
6632
6633 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6634
6635         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
6636         arpa/inet.h.
6637
6638 2006-07-28  Simon Josefsson  <jas@extundo.com>
6639
6640         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
6641         * modules/inet_pton (Depends-on): Likewise.
6642
6643 2006-07-28  Simon Josefsson  <jas@extundo.com>
6644
6645         * m4/netinet_in_h.m4: New file.
6646
6647 2006-07-28  Simon Josefsson  <jas@extundo.com>
6648
6649         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
6650         #include's.
6651
6652 2006-07-28  Simon Josefsson  <jas@extundo.com>
6653
6654         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
6655         #include's.
6656
6657 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
6658
6659         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
6660         setgid on directories only if they set these bits.
6661         * lib/modechange.h: Remove obsolete comment about masks.
6662
6663 2006-07-28  Eric Blake  <ebb9@byu.net>
6664
6665         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
6666         macro expansion.
6667
6668 2006-07-28  Bruno Haible  <bruno@clisp.org>
6669
6670         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
6671
6672 2006-07-28  Bruno Haible  <bruno@clisp.org>
6673
6674         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
6675
6676 2006-07-28  Bruno Haible  <bruno@clisp.org>
6677
6678         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
6679         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
6680         Define fallbacks.
6681         Avoids link error on FreeBSD 4.x.
6682         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
6683
6684         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
6685         encoding.
6686         * lib/mbswidth.c (iswcntrl): Likewise.
6687
6688 2006-07-27  Bruno Haible  <bruno@clisp.org>
6689
6690         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
6691         test.
6692
6693 2006-07-27  Bruno Haible  <bruno@clisp.org>
6694
6695         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
6696         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
6697         defined.
6698
6699 2006-07-26  Eric Blake  <ebb9@byu.net>
6700
6701         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
6702
6703 2006-07-26  Eric Blake  <ebb9@byu.net>
6704
6705         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
6706         like mingw that lack mkstemp.
6707         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
6708         avoid compilation warning on mingw.
6709
6710 2006-07-26  Bruno Haible  <bruno@clisp.org>
6711
6712         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
6713         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
6714         INT_FAST*_MIN, INTPTR_MIN.
6715
6716 2006-07-25  Bruno Haible  <bruno@clisp.org>
6717
6718         * modules/version-etc (Depends-on): Add stdarg.
6719
6720 2006-07-25  Bruno Haible  <bruno@clisp.org>
6721
6722         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
6723         complex commands.
6724
6725 2006-07-25  Bruno Haible  <bruno@clisp.org>
6726
6727         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
6728         defined in <stdarg.h> or config.h.
6729
6730 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6731
6732         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
6733         (gl_STDIO_SAFER): Remove.
6734
6735 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
6736
6737         * MODULES.html.sh (File stream based Input/Output):
6738         Add fopen-safer, tmpfile-safer; remove stdio-safer.
6739         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
6740         * modules/fopen-safer, modules/tmpfile-safer: New files.
6741         * modules/stdio-safer: Remove.
6742
6743 2006-07-24  Bruno Haible  <bruno@clisp.org>
6744
6745         * modules/tmpdir: New file.
6746         * MODULES.html.sh (File system functions): Add it.
6747
6748 2006-07-24  Bruno Haible  <bruno@clisp.org>
6749
6750         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
6751         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
6752
6753 2006-07-24  Bruno Haible  <bruno@clisp.org>
6754
6755         * modules/clean-temp: New file.
6756
6757 2006-07-24  Bruno Haible  <bruno@clisp.org>
6758
6759         * m4/tmpdir.m4: New file, from GNU gettext.
6760
6761 2006-07-24  Bruno Haible  <bruno@clisp.org>
6762
6763         * lib/tmpdir.h: New file, from GNU gettext.
6764         * lib/tmpdir.c: New file, from GNU gettext.
6765
6766 2006-07-24  Bruno Haible  <bruno@clisp.org>
6767
6768         * lib/clean-temp.h: New file, from GNU gettext.
6769         * lib/clean-temp.c: New file, from GNU gettext.
6770
6771 2006-07-23  Eric Blake  <ebb9@byu.net>
6772
6773         * modules/stdio-safer (Files): Add tmpfile-safer.c.
6774         (Depends-on): Add binary-io.
6775
6776 2006-07-23  Eric Blake  <ebb9@byu.net>
6777
6778         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
6779
6780 2006-07-23  Eric Blake  <ebb9@byu.net>
6781
6782         * lib/tmpfile-safer.c: New file.
6783         * lib/stdio-safer.h (fopen_safer): Add prototype.
6784         * lib/stdio--.h (tmpfile): Make safer.
6785
6786 2006-07-23  Bruno Haible  <bruno@clisp.org>
6787
6788         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
6789         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
6790         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
6791         gl_linked_remove_at): Use it.
6792
6793 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6794         and Simon Josefsson <jas@extundo.com>
6795
6796         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
6797
6798         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
6799
6800 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6801
6802         * modules/close-stream: New file.
6803         * modules/closeout (Description): Make it clear that it exits
6804         with a diagnostic on error.
6805         (Depends-on): Add close-stream.  Remove fpending, stdbool.
6806         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
6807
6808 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6809
6810         * m4/close-stream.m4: New file.
6811
6812 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
6813
6814         * lib/close-stream.c, lib/close-stream.h: New files.
6815
6816 2006-07-22  Bruno Haible  <bruno@clisp.org>
6817
6818         Merge from GNU gettext 0.15.
6819
6820         2006-05-01  Bruno Haible  <bruno@clisp.org>
6821
6822                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
6823
6824         2006-07-22  Bruno Haible  <bruno@clisp.org>
6825
6826                 * modules/javaversion: New file.
6827                 * MODULES.html.sh (Java): Add javaversion.
6828
6829         2006-03-12  Bruno Haible  <bruno@clisp.org>
6830
6831                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
6832
6833         2005-12-04  Bruno Haible  <bruno@clisp.org>
6834
6835                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
6836                 (untested).
6837
6838         2006-06-21  Bruno Haible  <bruno@clisp.org>
6839
6840                 Avoid warnings from recent versions of mcs.
6841                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
6842                 -o, -L, -r any more. Use options documented since mcs-1.0
6843                 instead. Similarly for -g.
6844
6845         2005-12-04  Bruno Haible  <bruno@clisp.org>
6846
6847                 * build-aux/csharpcomp.sh.in: Suffix for resources is
6848                 .resources, not .resource.
6849
6850         2005-07-09  Bruno Haible  <bruno@clisp.org>
6851
6852                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
6853                 add a .dll suffix.
6854                 Reported by Mark Junker <mjscod@gmx.de>.
6855
6856         2006-07-22  Bruno Haible  <bruno@clisp.org>
6857
6858                 * modules/gettext: Upgrade to gettext-0.15.
6859                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
6860                 m4/visibility.m4.
6861                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
6862
6863 2006-07-22  Bruno Haible  <bruno@clisp.org>
6864
6865         Merge from GNU gettext 0.15.
6866
6867         2006-03-25  Bruno Haible  <bruno@clisp.org>
6868
6869                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
6870
6871         2006-07-21  Bruno Haible  <bruno@clisp.org>
6872
6873                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
6874                 "1.1".
6875
6876         2006-05-09  Bruno Haible  <bruno@clisp.org>
6877
6878                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
6879                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
6880                 for the conftestver execution.
6881
6882         2006-05-01  Bruno Haible  <bruno@clisp.org>
6883
6884                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
6885                 optional target-version argument. Verify that the compiler
6886                 groks source of the specified source-version, or add -source
6887                 option as necessary. Verify that the compiler produces
6888                 bytecode in the specified target-version, or add -target and
6889                 -source options as necessary. Make the result of the test
6890                 available as variable CONF_JAVAC. Also log error output in
6891                 config.log.
6892
6893         2006-03-11  Bruno Haible  <bruno@clisp.org>
6894
6895                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
6896
6897         2006-05-09  Bruno Haible  <bruno@clisp.org>
6898
6899                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
6900                 CLASSPATH_SEPARATOR to a semicolon.
6901
6902         2006-03-12  Bruno Haible  <bruno@clisp.org>
6903
6904                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
6905                 available as variable CONF_JAVA, for subsequent autoconf
6906                 tests. Also log error output in config.log.
6907
6908         2006-07-19  Bruno Haible  <bruno@clisp.org>
6909
6910                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
6911                 that getline works on glibc2 systems. Needed to avoid trouble
6912                 in relocatable.c.
6913                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
6914
6915         2005-12-04  Bruno Haible  <bruno@clisp.org>
6916
6917                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
6918                 launcher (untested).
6919
6920         2005-12-04  Bruno Haible  <bruno@clisp.org>
6921
6922                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
6923
6924         2006-07-22  Bruno Haible  <bruno@clisp.org>
6925
6926                 * gettext.m4: Update from GNU gettext-0.15.
6927                 * nls.m4: Likewise.
6928                 * po.m4: Likewise.
6929                 * inttypes-pri.m4: Likewise.
6930                 * inttypes-h.m4: Renamed from inttypes.m4.
6931                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
6932
6933 2006-07-22  Bruno Haible  <bruno@clisp.org>
6934
6935         Merge from GNU gettext 0.15.
6936
6937         2005-07-05  Bruno Haible  <bruno@clisp.org>
6938
6939                 * printf-args.c (printf_fetchargs): Work around broken
6940                 definition of wint_t on mingw.
6941
6942         2005-02-12  Bruno Haible  <bruno@clisp.org>
6943
6944                 * xallocsa.h: Add extern "C" for C++.
6945
6946         2006-05-17  Bruno Haible  <bruno@clisp.org>
6947
6948                 Cygwin portability.
6949                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
6950
6951         2006-04-30  Bruno Haible  <bruno@clisp.org>
6952
6953                 * progreloc.c: Include <mach-o/dyld.h> if available.
6954                 (find_executable): Use _NSGetExecutablePath when possible.
6955
6956         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
6957
6958                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
6959                 function.
6960
6961         2005-12-29  Bruno Haible  <bruno@clisp.org>
6962
6963                 * progreloc.c (set_program_name_and_installdir): Fix
6964                 compilation error.
6965
6966         2005-12-04  Bruno Haible  <bruno@clisp.org>
6967
6968                 Cygwin portability.
6969                 * progreloc.c: Include <windows.h> also on Cygwin.
6970                 (find_executable): Add support for Cygwin.
6971                 (set_program_name_and_installdir): Handle also platforms with
6972                 nonempty EXEEXT.
6973
6974         2006-07-11  Bruno Haible  <bruno@clisp.org>
6975
6976                 * javacomp.c: Fix a comment.
6977                 Reported by Jim Meyering.
6978
6979         2006-04-30  Bruno Haible  <bruno@clisp.org>
6980
6981                 * javacomp.h (compile_java_class): Add source_version,
6982                 target_version arguments.
6983                 * javacomp.c: Rewritten to choose only a compiler that
6984                 respects the specified source_version and target_version.
6985
6986         2006-06-27  Bruno Haible  <bruno@clisp.org>
6987
6988                 Assume correct S_ISDIR macro.
6989                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
6990
6991         2006-07-22  Bruno Haible  <bruno@clisp.org>
6992
6993                 * javaversion.h: New file, from GNU gettext.
6994                 * javaversion.c: New file, from GNU gettext.
6995                 * javaversion.java: New file, from GNU gettext.
6996                 * javaversion.class: New file, from GNU gettext.
6997
6998         2006-05-17  Bruno Haible  <bruno@clisp.org>
6999
7000                 Cygwin portability.
7001                 * javaexec.c (execute_java_class): Test for jview program
7002                 also on Cygwin.
7003
7004         2006-04-09  Bruno Haible  <bruno@clisp.org>
7005
7006                 * fatal-signal.c: Don't include string.h.
7007                 (at_fatal_signal): Use a copying loop instead of memcpy.
7008
7009         2005-12-04  Bruno Haible  <bruno@clisp.org>
7010
7011                 * csharpexec.c: Add support for 'clix' launcher (untested).
7012                 (execute_csharp_using_sscli): New function.
7013                 (execute_csharp_program): Call it.
7014
7015         2006-06-21  Bruno Haible  <bruno@clisp.org>
7016
7017                 Avoid warnings from recent versions of mcs.
7018                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
7019                 -o, -L, -r any more. Use options documented since mcs-1.0
7020                 instead. Similarly for -g.
7021
7022         2005-07-09  Bruno Haible  <bruno@clisp.org>
7023
7024                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
7025                 add a .dll suffix.
7026                 Reported by Mark Junker <mjscod@gmx.de>.
7027
7028         2006-06-17  Bruno Haible  <bruno@clisp.org>
7029
7030                 * config.charset: Update for NetBSD 3.0.
7031
7032         2006-05-17  Bruno Haible  <bruno@clisp.org>
7033
7034                 Cygwin portability.
7035                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
7036
7037         2006-05-16  Bruno Haible  <bruno@clisp.org>
7038
7039                 * localcharset.c [CYGWIN]: Include <windows.h>.
7040                 (get_charset_aliases): For Cygwin, return the same CPxxx
7041                 aliases list as under WIN32.
7042                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
7043                 the environment variables. Fall back to GetACP().
7044
7045         2006-04-05  Bruno Haible  <bruno@clisp.org>
7046
7047                 * config.charset: Update Juan Manuel Guerrero's address.
7048
7049         2005-02-12  Bruno Haible  <bruno@clisp.org>
7050
7051                 * allocsa.h: Add extern "C" for C++.
7052
7053         2005-02-10  Bruno Haible  <bruno@clisp.org>
7054
7055                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
7056                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
7057
7058         2006-07-22  Bruno Haible  <bruno@clisp.org>
7059
7060                 * gettext.h: Update to GNU gettext-0.15.
7061
7062 2006-07-22  Bruno Haible  <bruno@clisp.org>
7063
7064         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
7065         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
7066         lib-prefix.m4, longdouble.m4, ssize_t.m4.
7067
7068 2006-07-21  Eric Blake  <ebb9@byu.net>
7069
7070         * modules/stdlib-safer: New file.
7071         * MODULES.html.sh (File stream based Input/Output): Add
7072         stdlib-safer.
7073
7074 2006-07-21  Eric Blake  <ebb9@byu.net>
7075
7076         * lib/stdlib-safer.h: New file from coreutils, required by
7077         stdlib--.h.
7078
7079 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
7080
7081         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
7082
7083 2006-07-20  Bruno Haible  <bruno@clisp.org>
7084
7085         * gnulib-tool: Recognize new option --assume-autoconf.
7086         (autoconf_minversion): New variable.
7087         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
7088
7089 2006-07-20  Bruno Haible  <bruno@clisp.org>
7090
7091         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
7092
7093 2006-07-19  Derek R. Price  <derek@ximbiot.com>
7094
7095         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
7096         Reindent and repaginate.
7097
7098 2006-07-19  Derek Price  <derek@ximbiot.com>
7099
7100         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
7101         Correct grammar.
7102
7103 2006-07-17  Bruno Haible  <bruno@clisp.org>
7104
7105         * modules/list: New file.
7106         * modules/array-list: New file.
7107         * modules/carray-list, modules/carray-list-tests: New files.
7108         * modules/linked-list, modules/linked-list-tests: New files.
7109         * modules/avltree-list, modules/avltree-list-tests: New files.
7110         * modules/rbtree-list, modules/rbtree-list-tests: New files.
7111         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
7112         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
7113         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
7114         * modules/oset: New file.
7115         * modules/array-oset: New file.
7116         * modules/avltree-oset, modules/avltree-oset-tests: New files.
7117         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
7118         * tests/test-carray_list.c: New file.
7119         * tests/test-linked_list.c: New file.
7120         * tests/test-avltree_list.c: New file.
7121         * tests/test-rbtree_list.c: New file.
7122         * tests/test-linkedhash_list.c: New file.
7123         * tests/test-avltreehash_list.c: New file.
7124         * tests/test-rbtreehash_list.c: New file.
7125         * tests/test-avltree_oset.c: New file.
7126         * tests/test-rbtree_oset.c: New file.
7127         * MODULES.html.sh (Container data structures): New section.
7128
7129 2006-07-17  Bruno Haible  <bruno@clisp.org>
7130
7131         * m4/gl_list.m4: New file.
7132
7133 2006-07-17  Bruno Haible  <bruno@clisp.org>
7134
7135         * lib/gl_list.h: New file.
7136         * lib/gl_list.c: New file.
7137         * lib/gl_array_list.h: New file.
7138         * lib/gl_array_list.c: New file.
7139         * lib/gl_carray_list.h: New file.
7140         * lib/gl_carray_list.c: New file.
7141         * lib/gl_linked_list.h: New file.
7142         * lib/gl_linked_list.c: New file.
7143         * lib/gl_anylinked_list1.h: New file.
7144         * lib/gl_anylinked_list2.h: New file.
7145         * lib/gl_avltree_list.h: New file.
7146         * lib/gl_avltree_list.c: New file.
7147         * lib/gl_anyavltree_list1.h: New file.
7148         * lib/gl_anyavltree_list2.h: New file.
7149         * lib/gl_rbtree_list.h: New file.
7150         * lib/gl_rbtree_list.c: New file.
7151         * lib/gl_anyrbtree_list1.h: New file.
7152         * lib/gl_anyrbtree_list2.h: New file.
7153         * lib/gl_anytree_list1.h: New file.
7154         * lib/gl_anytree_list2.h: New file.
7155         * lib/gl_linkedhash_list.h: New file.
7156         * lib/gl_linkedhash_list.c: New file.
7157         * lib/gl_anyhash_list1.h: New file.
7158         * lib/gl_anyhash_list2.h: New file.
7159         * lib/gl_avltreehash_list.h: New file.
7160         * lib/gl_avltreehash_list.c: New file.
7161         * lib/gl_rbtreehash_list.h: New file.
7162         * lib/gl_rbtreehash_list.c: New file.
7163         * lib/gl_anytreehash_list1.h: New file.
7164         * lib/gl_anytreehash_list2.h: New file.
7165
7166         * lib/gl_oset.h: New file.
7167         * lib/gl_oset.c: New file.
7168         * lib/gl_array_oset.h: New file.
7169         * lib/gl_array_oset.c: New file.
7170         * lib/gl_avltree_oset.h: New file.
7171         * lib/gl_avltree_oset.c: New file.
7172         * lib/gl_rbtree_oset.h: New file.
7173         * lib/gl_rbtree_oset.c: New file.
7174         * lib/gl_anytree_oset.h: New file.
7175
7176 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7177
7178         * m4/mkancesdirs.m4: New file.
7179         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
7180         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
7181         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
7182         it.
7183
7184 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7185
7186         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
7187         * lib/mkancesdirs.h: New files.
7188         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
7189         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
7190         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
7191         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
7192         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
7193         callers changed.  Revamp internals significantly, by not
7194         attempting to create directories that are temporarily more
7195         permissive than the final results.  Do not attempt to use
7196         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
7197         This removes some race conditions, fixes some bugs, and simplifies
7198         things.  Use new dirchownmod function to do owner and mode changes.
7199         * lib/mkdir-p.h: Likewise.
7200         * lib/modechange.c (octal_to_mode): New function.
7201         (struct mode_change): New member mentioned.
7202         (make_node_op_equals): New arg mentioned.  All callers changed.
7203         (mode_compile): Keep track of which mode bits the user has explicitly
7204         mentioned.
7205         (mode_adjust): New arg DIR, so that we implement the X op correctly.
7206         New arg PMODE_BITS, to keep track of which mode bits the user
7207         mentioned; it treats S_ISUID and S_ISGID speciall.
7208         All callers changed.
7209         * lib/modechange.h: Likewise.
7210
7211 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
7212
7213         * MODULES.html.sh: Add mkancestors.
7214         * modules/mkancesdirs: New module.
7215         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
7216         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
7217         The chdir-safer and afs files are now orphans; I'll remove them
7218         unless someone speaks up.
7219         Add lib/dirchownmod.c, lib/dirchownmod.h.
7220         (Depends-on): Remove alloca, chown, save-cwd, dirname.
7221         Add lchown, mkancesdirs.
7222         (Maintainer): Add self.
7223
7224 2006-07-15  Karl Berry  <karl@gnu.org>
7225
7226         * gnulib-tool: help message wording/arrangement.
7227
7228 2006-07-14  Simon Josefsson  <jas@extundo.com>
7229
7230         * doc/gnulib.texi (Libtool and Windows): New section.
7231
7232 2006-07-12  Simon Josefsson  <jas@extundo.com>
7233
7234         * modules/gendocs (License): Fix license, approved by Karl.
7235
7236 2006-07-12  Eric Blake  <ebb9@byu.net>
7237
7238         * MODULES.html.sh: Add gendocs.
7239
7240 2006-07-11  Eric Blake  <ebb9@byu.net>
7241
7242         * modules/fdl: New module, to install doc/fdl.texi.
7243         * MODULES.html.sh: Add new section for documentation modules.
7244         * gnulib-tool: Avoid space-tab.
7245         (--doc-base): New option, to manage files from doc.
7246
7247 2006-07-11  Eric Blake  <ebb9@byu.net>
7248
7249         * m4/absolute-header.m4: Fix comments to match recent change.
7250
7251 2006-07-11  Eric Blake  <ebb9@byu.net>
7252
7253         * gnulib-tool: List --doc-base before --tests-base.
7254
7255 2006-07-11  Derek R. Price  <derek@ximbiot.com>
7256
7257         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
7258
7259 2006-07-11  Bruno Haible  <bruno@clisp.org>
7260
7261         * README: Mention where to put documentation.
7262
7263 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7264
7265         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
7266
7267 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
7268
7269         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
7270         to stdint.m4.
7271
7272 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
7273
7274         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
7275         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
7276         "no/such/file/stdint.h" when there is no such file, so that
7277         the resulting C code can be parsed by dodgy compilers.
7278         Problems reported by Bob Proulx.
7279
7280 2006-07-10  Derek R. Price  <derek@ximbiot.com>
7281
7282         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
7283         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
7284         macros into the GNU _D_EXACT_NAMLEN.
7285         * lib/savedir.c:  Likewise.
7286         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
7287
7288 2006-07-10  Derek R. Price  <derek@ximbiot.com>
7289         and Paul Eggert  <eggert@cs.ucla.edu>
7290
7291         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
7292         * m4/savedir.m4:
7293         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
7294         macros into the GNU _D_EXACT_NAMLEN.
7295
7296 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
7297
7298         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
7299         around the absolute name, to work around a problem with the HP-UX
7300         11.23 native C compiler, reported by Bob Proulx.
7301
7302 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
7303
7304         * doc/maintain.texi, make-stds.texi: Sync from
7305         <http://savannah.gnu.org/projects/gnustandards>.
7306
7307 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
7308
7309         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
7310
7311 2006-07-09  Jim Meyering  <jim@meyering.net>
7312
7313         * m4/glob.m4: Remove a doubled word in a comment.
7314
7315 2006-07-09  Jim Meyering  <jim@meyering.net>
7316
7317         * lib/argp-pv.c: Remove a doubled word in a comment.
7318         * lib/check-version.c (check_version): Likewise.
7319         * lib/javacomp.c (compile_java_class): Likewise.
7320
7321 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
7322
7323         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
7324         for the benefit of people using Autoconf 2.60.  If you want to
7325         support older Autoconf versions you can copy m4/onceonly_2_57.m4
7326         (or m4/onceonly.m4, if pre-2.57) manually.
7327
7328 2006-07-08  Jim Meyering  <jim@meyering.net>
7329
7330         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
7331         comment.
7332         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
7333         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
7334         comment.
7335
7336 2006-07-08  Jim Meyering  <jim@meyering.net>
7337
7338         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
7339
7340 2006-07-07  Simon Josefsson  <jas@extundo.com>
7341
7342         * tests/test-crc.c: Change expected crc value, the test vector
7343         were probably computed using the old broken crc.c?
7344
7345 2006-07-06  Simon Josefsson  <jas@extundo.com>
7346
7347         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
7348         now the canonical place for the M4 file).
7349
7350         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
7351         from the sys_socket dependency now.
7352
7353         * modules/inet_pton (Files): Ditto.
7354
7355         * modules/inet_ntop (Files): Ditto.
7356
7357 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
7358
7359         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
7360         not gl_PREREQ_GETUSERSHELL.
7361
7362 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7363
7364         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
7365         with only one argument, for Autoconf 2.60.
7366         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
7367         expand to nothing, so add a shell command to avoid syntax error.
7368         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7369
7370 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7371
7372         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
7373
7374 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7375
7376         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
7377         no longer needed.  Check for isblank decl.
7378         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
7379         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
7380         of existence.
7381
7382 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7383
7384         * lib/getloadavg.c: Use __VMS, not VMS.
7385         * lib/getopt.c: Likewise.
7386         * lib/getpagesize.h: Likewise.
7387         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
7388         and probably does not work.
7389
7390 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
7391
7392         * lib/.cppi-disable: Add wcwidth.
7393         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
7394         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
7395         (ISGRAPH): Remove.  All uses changed to isgraph.
7396         (FOLD) [!defined _LIBC]: Remove special case.
7397         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
7398         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
7399         HAVE_ISBLANK.
7400         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
7401         case.
7402
7403 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
7404
7405         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
7406         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
7407         brackets.  Other minor changes to suppress some compiler
7408         warnings.
7409
7410 2006-07-06  Derek R. Price  <derek@ximbiot.com>
7411         and Paul Eggert  <eggert@cs.ucla.edu>
7412
7413         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
7414         of invoking obsolescent AC_HEADER_DIRENT macro.
7415         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
7416         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
7417         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7418         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
7419         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
7420         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
7421         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
7422         * m4/readdir.m4: Remove; no longer needed.
7423
7424 2006-07-06  Derek R. Price  <derek@ximbiot.com>
7425         and Paul Eggert  <eggert@cs.ucla.edu>
7426
7427         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
7428         Don't worry about this obsolete case any more.
7429         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
7430         directories.
7431         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
7432         worry about this obsolete case any more.
7433         * lib/fts.c: Likewise.
7434         * lib/getcwd.c: Likewise.
7435         * lib/glob.h: Likewise.
7436         * lib/savedir.c: Likewise.
7437
7438 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7439
7440         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
7441         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
7442         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
7443         needed.
7444         All uses removed.
7445         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
7446         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
7447         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
7448         needed.
7449         * m4/getdate.m4 (gl_GETDATE): Likewise.
7450         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
7451         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
7452         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7453         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
7454         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
7455         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
7456         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
7457         needed.
7458
7459 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
7460
7461         * lib/memcasecmp.c: Include <limits.h>.
7462         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
7463         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
7464         Don't assume isdigit succeeds only on '0' through '9'.
7465
7466 2006-07-05  Eric Blake  <ebb9@byu.net>
7467
7468         * modules/getaddrinfo (Depends-on): Add snprintf.
7469
7470 2006-07-05  Eric Blake  <ebb9@byu.net>
7471
7472         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
7473         to avoid 'header present but could not be compiled' on cygwin.
7474
7475 2006-07-05  Eric Blake  <ebb9@byu.net>
7476
7477         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
7478         missing from netdb.h.
7479         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
7480
7481 2006-07-05  Derek R. Price  <derek@ximbiot.com>
7482
7483         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
7484         no longer needed.
7485         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
7486         * m4/getdate.m4 (gl_GETDATE): Likewise.
7487         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
7488         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
7489         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7490         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
7491         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
7492
7493 2006-07-05  Derek R. Price  <derek@ximbiot.com>
7494
7495         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
7496         All uses of is_space replaced by isspace.
7497         * lib/exit.h: Don't talk about STDC_HEADERS.
7498         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
7499         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
7500         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
7501         replaced by isprint etc.
7502         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
7503         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
7504         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
7505         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
7506         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
7507         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
7508
7509 2006-07-05  Bruno Haible  <bruno@clisp.org>
7510
7511         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
7512         the function exists, before testing against AIX.
7513         Reported by Martin Lambers <marlam@marlam.de>.
7514
7515 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
7516
7517         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
7518         From Mark D. Baushke.
7519
7520 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
7521
7522         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
7523         to the absolute name, not just one, to bypass Sun C 5.8's
7524         "warning: #include of /usr/include/... may be non-portable".
7525
7526 2006-07-04  Eric Blake  <ebb9@byu.net>
7527
7528         * modules/dirname-tests: New test module.
7529         * tests/test-dirname.c: New file, replacing dirname.c
7530         TEST_DIRNAME section that was recently deleted.
7531
7532 2006-07-04  Bruno Haible  <bruno@clisp.org>
7533
7534         Assume ANSI C header files and <ctype.h> functions.
7535         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
7536         (mbsnwidth): Use isprint, iscntrl instead.
7537
7538 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
7539
7540         Merge from coreutils.
7541         * MODULES.html.sh: Add xstrtold.
7542         * modules/xstrtold: New file.
7543         * modules/cycle-check (Files): Add lib/same-inode.h.
7544         * modules/dirname (Files): Add m4/double-slash-root.m4.
7545         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
7546         * modules/mkdir-p (Files): Add lib/same-inode.h.
7547         * modules/same (Files): Add lib/same-inode.h.
7548
7549 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
7550
7551         * m4/absolute-header.m4: Renamed from full-header-path.m4.
7552         This is to keep the terminology clean; POSIX talks about
7553         "absolute pathnames", not "full pathnames", but the GNU
7554         Coding Standards say to use "path" for something else;
7555         so use "absolute" to keep both sides happy.
7556         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
7557         Set gl_absolute_header, not gl_full_header_path.
7558         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
7559         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
7560         All uses changed.
7561
7562         Merge from coreutils.
7563
7564         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7565
7566         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
7567         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
7568         want to require the building of c-strtod.o.
7569         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
7570         needs -lm directly.
7571         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
7572
7573         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
7574
7575         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
7576         --as-needed option if available.  Problem reported by Albert Chin in
7577         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
7578         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
7579         cc merely issues a bunch of annoying warnings for --as-needed
7580         (this problem was reported by Bob Proulx).  Also, try linking with
7581         -lm to detect a bug in binutils 2.16 (this problem was reported
7582         by Ralf Wildenhues).
7583
7584         2006-06-18  Jim Meyering  <jim@meyering.net>
7585
7586         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
7587         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
7588         macro.
7589         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
7590         also check for glibc-2.4's abort-inducing bug.
7591
7592         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
7593         Low-probability clean-up should be to use rmdir to get rid of
7594         the just-created directory, not unlink.
7595
7596         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
7597         configure fail, and request a bug report to inform us about it.
7598         Add a comment that, barring reports to the contrary, in 2007 we'll
7599         assume ftruncate is universally available.
7600
7601         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
7602
7603         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
7604
7605         2006-03-12  Jim Meyering  <jim@meyering.net>
7606
7607         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
7608         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
7609         * m4/same.m4 (gl_SAME): Likewise.
7610         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
7611
7612         2006-03-11  Eric Blake  <ebb9@byu.net>
7613
7614         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
7615         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
7616         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
7617         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
7618
7619 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
7620
7621         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
7622         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
7623         reported by Mark D. Baushke, one in
7624         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
7625
7626         Merge from coreutils.
7627
7628         * lib/.cppi-disable: Add stdint_.h.
7629         * lib/.cvsignore: Add stdint.h.
7630
7631         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
7632
7633         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
7634         both double and long double versions.
7635         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
7636         * lib/xstrtold.c: New file.
7637         * lib/xstrtod.h (xstrtold): New decl.
7638
7639         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
7640
7641         * lib/filemode.c (setst): Remove.
7642         (strmode): Rewrite to avoid setst.  This makes the code shorter,
7643         (arguably) clearer, and the generated code is a bit smaller on my
7644         Debian GNU/Linux stable x86 host.
7645
7646         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
7647
7648         * lib/filemode.c: Include "filemode.h" first, to test the interface.
7649         Assume that filemode.h includes sys/types.h and sys/stat.h.
7650         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
7651         (ftypelet): Reorder to put common cases first, for efficiency.
7652         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
7653         to do 'M'.
7654         (strmode): Renamed from mode_string, and now stores 12 bytes instead
7655         of 10, for compatibility with FreeBSD.  All callers changed.
7656         (filemodestring): Now stores 12 bytes instead of 10, and sets file
7657         types that can't be deduced solely from st_mode.  First arg is now a
7658         const pointer.
7659         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
7660         (strmode): Renamed from mode_string.
7661         (filemodestring): New decl.
7662         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
7663         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
7664         needed.
7665         (S_ISPORT, S_ISWHT): New macros, if not already defined.
7666
7667         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
7668
7669         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
7670         fsusage.h now does that.  Include fsusage.h first, to test interface.
7671         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
7672         at most one method (the old code could have generated decls that
7673         didn't conform to C89, not that this was ever exercised).
7674         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
7675
7676         2006-03-19  Jim Meyering  <jim@meyering.net>
7677
7678         Work even in a chroot where d_ino values for entries in "/"
7679         don't match the stat.st_ino values for the same names.
7680         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
7681         number, iterate through all entries again, using lstat instead.
7682         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
7683         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
7684
7685         * lib/getcwd.c (__getcwd): Clarify a comment.
7686         Use memcpy in place of a call to strcpy.
7687
7688         2006-03-12  Jim Meyering  <jim@meyering.net>
7689
7690         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
7691         matches that of the current directory (which we're about to chdir ".."
7692         out of), then save the dev-ino of the parent, instead.
7693
7694         * lib/same-inode.h (SAME_INODE): New file/macro.
7695         * lib/chdir-safer.c (SAME_INODE): Remove definition.
7696         Include "same-inode.h", instead.
7697         * lib/same.c: Likewise.
7698         * lib/cycle-check.h: Include "same-inode.h".
7699         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
7700         * lib/cycle-check.c (SAME_INODE): Remove definition.
7701         * lib/root-dev-ino.h: Include "same-inode.h".
7702
7703         2006-03-11  Eric Blake  <ebb9@byu.net>
7704
7705         * lib/same.c (same_name): s/base_name/last_component/
7706         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
7707         * lib/filenamecat.c (file_name_concat): Likewise.
7708
7709         2006-03-11  Eric Blake  <ebb9@byu.net>,
7710                     Paul Eggert  <eggert@cs.ucla.edu>
7711
7712         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
7713         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
7714         drive prefix.
7715         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
7716         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
7717         (last_component): New method.
7718         * lib/dirname.c (dir_len): Determine when drive letters need a
7719         subsequent slash.  Preserve // when it is special.
7720         (dir_name): Don't append dot when drive letter is absolute.
7721         [TEST_DIRNAME]: Move into a full-blown gnulib test.
7722         * lib/basename.c (base_name): New semantics - malloc the result.
7723         Preserve // when it is special.  Preserve relative files that look
7724         like drive letters.
7725         (base_len): Preserve // when it is special.
7726         (last_component): New method, similar to old base_name semantics.
7727         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
7728         base_name.  Strip redundant slashes from ///.
7729
7730 2006-07-03  Jim Meyering  <jim@meyering.net>
7731
7732         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
7733         macro is used before the first cycle_check call.
7734
7735 2006-07-03  Eric Blake  <ebb9@byu.net>
7736
7737         * modules/dirname (Depends-on): Add xstrndup.
7738
7739 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7740
7741         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
7742         test cases, so that config.log is a bit easier to follow.
7743
7744 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
7745
7746         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
7747         both are 64 bits, since this seems to be the tradition, and this
7748         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
7749         we ever run into a host that prefers long long to long in this
7750         case, we'll need another configure-time test.  Problem reported by
7751         Jim Meyering.
7752
7753 2006-07-02  Eric Blake  <ebb9@byu.net>
7754
7755         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
7756
7757 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
7758
7759         * modules/inttypes (Depends-on): No longer depends on stdint.
7760         * modules/stdint (Description): Say more about assumptions.
7761         Say that the fast types might differ.  Say macros are used.
7762         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
7763         (Makefile.am): Revise list of substituted symbols to match
7764         new stdint.m4.
7765         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
7766         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
7767         * tests/test-stdint.c (verify_same_types)
7768         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
7769         the code conforms to C99/C89.
7770         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
7771         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
7772
7773 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
7774
7775         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
7776         but fix a bug, by requiring at least 64 bits.
7777         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
7778         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
7779         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
7780         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
7781
7782         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
7783         changes.  Make 2.59 a prerequisite.  Check and substitute for
7784         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
7785         inttypes.h.  Do not use special include files; just use the
7786         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
7787         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
7788         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
7789         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
7790         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
7791         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
7792         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
7793         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
7794         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
7795         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
7796         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
7797         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
7798         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
7799         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
7800         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
7801         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
7802         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
7803         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
7804         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
7805         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
7806         WINT_MAX.  Check for C99 conformance more strictly, by detecting
7807         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
7808         not check for things that C99 does not require, e.g., int8_t.  If
7809         a test isn't needed unless <stdint.h> isn't working, and is
7810         unlikely to be needed for any other reason, then don't do it
7811         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
7812         size_t, since we assume C89 freestanding at least.  Do not check
7813         for sig_atomic_t, wchar_t, or wint_t, since the code now does
7814         the right thing even if the types are not defined.  Instead use:
7815         (gl_STDINT_TYPE_PROPERTIES): New macro.
7816         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
7817         testing whether <sys/types.h> clashes, as Autoconf does this for
7818         us now.  All uses removed.
7819         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
7820         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
7821         (gl_CHECK_TYPE_SAME):
7822         Remove; no longer needed.
7823         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
7824         exists, since we'll return 0 anyway in that case.
7825         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
7826
7827 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
7828
7829         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
7830         possible collision with system files.
7831         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
7832         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
7833         WCHAR_MIN and WCHAR_MAX in this case.
7834         (<stddef.h>): Do not include; no longer needed.
7835         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
7836         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
7837         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
7838         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
7839         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
7840         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
7841         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
7842         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
7843         !defined(__c99))]: Include in this case too, since it's harmless
7844         now.
7845         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
7846         dangerous to do so.
7847         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
7848         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
7849         (_STDINT_MIN, _STDINT_MAX): New macros.
7850         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
7851         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
7852         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
7853         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
7854         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
7855         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
7856         macros, not typedefs; this simplifies things quite a bit.
7857         Use long int for all types narrower than int64_t.
7858         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
7859         Define in terms of long long int or int64_t or long int,
7860         not int64_t or int32_t.  This saves some compile-time testing.
7861         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
7862         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
7863         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
7864         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
7865         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
7866         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
7867         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
7868         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
7869         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
7870         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
7871         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
7872         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
7873         undef any previous version and define our own version, for
7874         simplicity and consistency with the new macros for types.
7875         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
7876         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
7877         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
7878         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
7879         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
7880         @WINT_T_SUFFIX@ to keep things simple here.
7881         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
7882         Simplify by assuming typical 8/16/32/64 host, since we're
7883         already doing that elsewhere anyway.
7884         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
7885         and assume long long int is 64 bits if available.  This
7886         speeds up 'configure'.
7887
7888 2006-07-01  Eric Blake  <ebb9@byu.net>
7889
7890         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
7891         Reported by Andreas Buening.
7892
7893 2006-07-01  Eric Blake  <ebb9@byu.net>
7894
7895         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
7896
7897 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
7898
7899         * lib/getaddrinfo.c: fixed typo
7900
7901 2006-06-29  Jim Meyering  <jim@meyering.net>
7902
7903         * modules/strftime (Maintainer): Add my name, since with the
7904         FPRINTFTIME changes strftime.c has forked from glibc.
7905
7906 2006-06-29  Eric Blake  <ebb9@byu.net>
7907
7908         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
7909
7910 2006-06-29  Eric Blake  <ebb9@byu.net>
7911
7912         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
7913
7914 2006-06-29  Eric Blake  <ebb9@byu.net>
7915
7916         * lib/stat_.h: New file.
7917
7918 2006-06-29  Eric Blake  <ebb9@byu.net>
7919
7920         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
7921         unused static function.
7922
7923 2006-06-29  Eric Blake  <ebb9@byu.net>
7924
7925         * doc/functions.texi (Function Portability): Document missing lstat
7926         on mingw.
7927
7928 2006-06-29  Eric Blake  <ebb9@byu.net>
7929
7930         * MODULES.html.sh: Add sys_stat.
7931         * modules/sys_stat: New module.
7932         * modules/mkstemp (Depends-on): Add sys_stat.
7933
7934 2006-06-29  Derek R. Price  <derek@ximbiot.com>
7935
7936         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
7937
7938 2006-06-29  Derek R. Price  <derek@ximbiot.com>
7939
7940         * m4/c-bs-a.m4: Removed.
7941
7942 2006-06-29  Derek R. Price  <derek@ximbiot.com>
7943
7944         * lib/strftime.c: Assume strftime() exists.
7945
7946 2006-06-29  Derek Price  <derek@ximbiot.com>
7947
7948         * modules/c-bs-a: Removed - \a is C89.
7949         * MODULES.html.sh: Remove c-bs-a.
7950
7951 2006-06-29  Bruno Haible  <bruno@clisp.org>
7952
7953         * modules/wcwidth (License): Change to LGPL.
7954
7955 2006-06-28  Simon Josefsson  <jas@extundo.com>
7956
7957         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
7958         on _WIN32.
7959
7960         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
7961         getnameinfo.
7962
7963 2006-06-28  Simon Josefsson  <jas@extundo.com>
7964
7965         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
7966
7967 2006-06-28  Simon Josefsson  <jas@extundo.com>
7968
7969         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
7970         functions there.  It will succeed on Windows XP, but on Windows
7971         2000 and (presumably) earlier, it will fail, and use the internal
7972         re-implementation.
7973         (use_win32_p): New function.
7974         (getaddrinfo): Use strtoul on servname, to support numeric ports.
7975         Support AI_NUMERICSERV to disable getservbyname.
7976         (getnameinfo): New function, only supports
7977         NI_NUMERICHOST|NI_NUMERICSERV for now.
7978
7979         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
7980         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
7981         getnameinfo.
7982
7983 2006-06-28  Eric Blake  <ebb9@byu.net>
7984
7985         * modules/wcwidth: New file.
7986         * modules/mbchar (Depends-on): Add wcwidth.
7987         * modules/mbswidth (Depends-on): Add wcwidth.
7988         * MODULES.html.sh: Add wcwidth.
7989
7990 2006-06-28  Eric Blake  <ebb9@byu.net>
7991
7992         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
7993         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
7994
7995 2006-06-28  Eric Blake  <ebb9@byu.net>
7996
7997         * lib/xvasprintf.h: Fix comments.
7998
7999 2006-06-28  Eric Blake  <ebb9@byu.net>
8000
8001         * lib/mbchar.h (wcwidth): Include wcwidth.h.
8002         * lib/mbswidth.c (wcwidth): Move from here...
8003         * lib/wcwidth.h: ...to this new file.
8004
8005 2006-06-28  Derek R. Price  <derek@ximbiot.com>
8006
8007         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
8008
8009         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
8010         it's obsolete.
8011         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
8012
8013 2006-06-28  Derek R. Price  <derek@ximbiot.com>
8014
8015         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
8016         Autoconf 2.60 says this stuff was obsolete.
8017
8018 2006-06-28  Bruno Haible  <bruno@clisp.org>
8019
8020         * modules/wcwidth (Files): Add m4/wchar_t.m4.
8021
8022 2006-06-28  Bruno Haible  <bruno@clisp.org>
8023
8024         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
8025         gt_TYPE_WCHAR_T.
8026
8027 2006-06-28  Bruno Haible  <bruno@clisp.org>
8028
8029         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
8030         declaration for wcwidth.
8031         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
8032
8033 2006-06-28  Bruno Haible  <bruno@clisp.org>
8034
8035         * lib/mkdtemp.c [MINGW]: Include <io.h>.
8036         (mkdir): Define using _mkdir.
8037
8038 2006-06-28  Bruno Haible  <bruno@clisp.org>
8039
8040         * lib/getaddrinfo.h: Fix POSIX URL.
8041         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
8042         _WIN32.
8043         (use_win32_p): Make static.
8044         (getaddrinfo): Reject service name if it is empty or does not consist
8045         solely of decimal digits, or if its value is > 65535.
8046         (getnameinfo): Remove useless casts.
8047
8048 2006-06-27  Simon Josefsson  <jas@extundo.com>
8049
8050         * modules/sys_select: New file, suggested by Bruno Haible, Paul
8051         Eggert and Martin Lambers.
8052
8053 2006-06-27  Simon Josefsson  <jas@extundo.com>
8054
8055         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
8056         Eggert and Martin Lambers.
8057
8058 2006-06-27  Bruno Haible  <bruno@clisp.org>
8059
8060         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
8061         result to 0, not to empty.
8062         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
8063
8064 2006-06-27  Bruno Haible  <bruno@clisp.org>
8065
8066         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
8067
8068 2006-06-26  Simon Josefsson  <jas@extundo.com>
8069
8070         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
8071         present.
8072
8073 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
8074
8075         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
8076         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
8077         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
8078
8079 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
8080
8081         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
8082
8083 2006-06-26  Bruno Haible  <bruno@clisp.org>
8084
8085         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
8086
8087 2006-06-26  Bruno Haible  <bruno@clisp.org>
8088
8089         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
8090
8091 2006-06-26  Bruno Haible  <bruno@clisp.org>
8092
8093         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
8094         SGI C compiler in pre-C99 mode.
8095         Suggested by Mark D. Baushke and Larry Jones.
8096
8097 2006-06-26  Bruno Haible  <bruno@clisp.org>
8098
8099         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
8100         WCHAR_MAX.
8101         Reported by Mark D. Baushke and Larry Jones.
8102
8103 2006-06-26  Bruno Haible  <bruno@clisp.org>
8104
8105         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
8106         in pre-C99 mode.
8107         Suggested by Mark D. Baushke and Larry Jones.
8108
8109 2006-06-23  Simon Josefsson  <jas@extundo.com>
8110             Bruno Haible  <bruno@clisp.org>
8111
8112         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
8113         Emit mostlyclean-local rule.
8114         (func_emit_tests_Makefile_am): Likewise.
8115         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
8116
8117 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
8118
8119         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
8120
8121 2006-06-23  Bruno Haible  <bruno@clisp.org>
8122
8123         * tests/test-stdint.c: Update to match ISO C 99 Technical
8124         Corrigendum 1.
8125
8126 2006-06-23  Bruno Haible  <bruno@clisp.org>
8127
8128         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
8129
8130 2006-06-23  Bruno Haible  <bruno@clisp.org>
8131
8132         * lib/stdint_.h: Treat IRIX like OpenBSD.
8133
8134 2006-06-23  Bruno Haible  <bruno@clisp.org>
8135
8136         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
8137         ISO C 99 Technical Corrigendum 1.
8138
8139 2006-06-22  Simon Josefsson  <jas@extundo.com>
8140
8141         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
8142         MinGW.
8143
8144 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
8145
8146         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
8147         needed.  Some compiler complained about some of them.  Problem reported
8148         by Larry Jones in
8149         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
8150
8151 2006-06-21  Simon Josefsson  <jas@extundo.com>
8152
8153         * tests/test-getaddrinfo.c: New file.
8154
8155         * modules/getaddrinfo-tests: New file.
8156
8157         * MODULES.html.sh: Add inet_pton.
8158
8159         * modules/inet_pton: New file.
8160
8161 2006-06-21  Simon Josefsson  <jas@extundo.com>
8162
8163         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
8164         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
8165         of using the (limited) gnulib implementation on Windows XP.
8166
8167         * m4/inet_pton.m4: New file.
8168
8169 2006-06-21  Simon Josefsson  <jas@extundo.com>
8170
8171         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
8172         variable.
8173
8174         * lib/socket_.h: Don't define WINVER.
8175
8176         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
8177         slightly modified to work in gnulib.
8178
8179 2006-06-21  Simon Josefsson  <jas@extundo.com>
8180
8181         * doc/gnulib.texi (Windows sockets): Add.
8182
8183 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
8184
8185         * lib/read-file.c (fread_file): Start with buffer allocation of
8186         0 bytes rather than 1 byte; this simplifies the code.
8187         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
8188         code to free buffer and save/restore errno.
8189         (internal_read_file): Remove unused local.
8190
8191 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
8192
8193         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
8194         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
8195         Problem reported by Denis Excoffier in
8196         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
8197
8198 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8199
8200         * modules/sys_socket, modules/socklen: Include sys/types since
8201         FreeBSD 4.x's sys/socket.h needs it.
8202
8203 2006-06-19  Simon Josefsson  <jas@extundo.com>
8204
8205         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
8206
8207 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
8208
8209         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
8210
8211 2006-06-19  Bruno Haible  <bruno@clisp.org>
8212
8213         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
8214         and FULL_PATH_INTTYPES_H in angle brackets.
8215         Reported by Mark D. Baushke <mdb@gnu.org>.
8216
8217 2006-06-17  Eric Blake  <ebb9@byu.net>
8218
8219         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
8220         errno.
8221
8222 2006-06-17  Bruno Haible  <bruno@clisp.org>
8223
8224         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
8225         <sys/inttypes.h>.
8226
8227 2006-06-17  Bruno Haible  <bruno@clisp.org>
8228
8229         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
8230         whether errno is declared. Assume <errno.h> declares errno.
8231
8232 2006-06-17  Bruno Haible  <bruno@clisp.org>
8233
8234         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
8235
8236 2006-06-17  Bruno Haible  <bruno@clisp.org>
8237
8238         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
8239         problem on Solaris 2.5.1.
8240
8241 2006-06-16  Eric Blake  <ebb9@byu.net>
8242
8243         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
8244         * lib/unicodeio.c [!defined errno]: Likewise.
8245         * lib/strtol.c [!defined errno]: Likewise.
8246         * lib/strtod.c [!defined errno]: Likewise.
8247
8248 2006-06-15  Eric Blake  <ebb9@byu.net>
8249
8250         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
8251
8252 2006-06-15  Eric Blake  <ebb9@byu.net>
8253
8254         * config/srclist.txt (ssize_t.m4): Lose sync.
8255
8256 2006-06-15  Bruno Haible  <bruno@clisp.org>
8257
8258         * modules/stdint (Files): Include m4/full-header-path.m4,
8259         m4/size_max.m4, m4/wchar_t.m4.
8260         (Makefile.am): Many more substitutions.
8261         * modules/stdint-tests: New file.
8262         * tests/test-stdint.c: New file.
8263
8264 2006-06-15  Bruno Haible  <bruno@clisp.org>
8265
8266         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
8267         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
8268         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
8269         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
8270         gl_CHECK_TYPE_SAME): New macros.
8271
8272 2006-06-15  Bruno Haible  <bruno@clisp.org>
8273
8274         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
8275
8276 2006-06-15  Bruno Haible  <bruno@clisp.org>
8277
8278         * lib/stdint_.h: Rewritten to be fully auto-configured.
8279         Fixes bug on HP-UX/IA64.
8280
8281 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
8282
8283         * lib/getdate.y (__attribute__): Don't define if already defined.
8284         Problem reported by Larry Jones.
8285         * lib/utimens.c (__attribute__): Likewise.
8286
8287 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
8288
8289         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
8290         reported by Andreas Schwab.
8291
8292 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8293             Bruno Haible  <bruno@clisp.org>
8294
8295         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
8296         check for the declaration of strnlen and a run test that exposes the
8297         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
8298         rpl_strndup.
8299
8300 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8301             Bruno Haible  <bruno@clisp.org>
8302
8303         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
8304
8305 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8306
8307         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
8308         compile test, for Tru64 4.0D.
8309
8310 2006-05-28  Karl Berry  <karl@gnu.org>
8311
8312         * config/srclist.txt (printf-args.c): lose sync.
8313
8314 2006-05-26  Martin Lambers  <marlam@marlam.de>
8315
8316         * lib/getpass.c: Updates the test for the native W32 API, and adds
8317         missing includes, thus fixing compilation warnings.
8318
8319 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
8320
8321         * lib/exclude.c (exclude_fnmatch): New function.
8322         (excluded_file_name): Call exclude_fnmatch.
8323         * lib/exclude.h (excluded_file_name): New prototype
8324
8325 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
8326
8327         * lib/tempname.c (small_open, large_open): New macros.
8328         (__open, __open64) [!_LIBC]: Remove.
8329         (__gen_tempname): Use small_open and large_open instead of __open
8330         and __open64.  This fixes a portability bug on HP-UX 11.11i
8331         reported by Simon Wing-Tang in
8332         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
8333
8334 2006-05-24  Bruno Haible  <bruno@clisp.org>
8335
8336         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
8337         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
8338         Reported by Thorsten Maerz <torte@netztorte.de> via
8339         Aaron Stone <aaron@serendipity.cx>.
8340
8341 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8342
8343         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
8344         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
8345         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
8346         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
8347         not really conditional on the cache.
8348         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
8349
8350 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
8351
8352         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
8353         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
8354         (my_usleep): Don't mishandle maximum value.
8355
8356 2006-05-19  Jim Meyering  <jim@meyering.net>
8357
8358         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
8359
8360 2006-05-17  Bruno Haible  <bruno@clisp.org>
8361
8362         Cygwin portability.
8363         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
8364
8365 2006-05-17  Bruno Haible  <bruno@clisp.org>
8366
8367         * lib/stdint_.h: Fix recognition of Cygwin.
8368
8369 2006-05-15  Bruno Haible  <bruno@clisp.org>
8370
8371         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
8372         on libtool patch by Ralf Wildenhues.
8373
8374 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
8375
8376         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
8377         test for C99 conformance; (bool) 0.5 is an integer constant
8378         expression, but (bool) -0.5 is not.  Problem reported by Fedor
8379         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
8380
8381 2006-05-11  Simon Josefsson  <jas@extundo.com>
8382
8383         * m4/xvasprintf.m4: Fix obvious typo.
8384
8385 2006-05-11  Jim Meyering  <jim@meyering.net>
8386
8387         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
8388         James Lemley.
8389
8390 2006-05-10  Simon Josefsson  <jas@extundo.com>
8391
8392         * lib/md4.c: Typo fix, update copyright years.
8393         (K1, K2): Don't use L because it turn computations into 64-bit on
8394         64-bit platforms.
8395
8396 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
8397
8398         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
8399         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
8400         unwanted sign propagation, e.g., on hosts with 64-bit int.
8401         There still are some problems with reeelly weird theoretical hosts
8402         (e.g., 33-bit int) but it's not worth worrying about now.
8403         * lib/sha1.c (rol): Likewise.
8404         (K1, K2, K3, K4): Remove unnecessary L suffix.
8405
8406 2006-05-10  Bruno Haible  <bruno@clisp.org>
8407
8408         * lib/des.c: Cast to avoid warnings.
8409
8410 2006-05-09  Bruno Haible  <bruno@clisp.org>
8411
8412         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
8413         (Depends-on): Depend also on xsize, stdarg.
8414         (configure.ac): Add gl_XVASPRINTF.
8415
8416 2006-05-09  Bruno Haible  <bruno@clisp.org>
8417
8418         * m4/xvasprintf.m4: New file.
8419
8420 2006-05-09  Bruno Haible  <bruno@clisp.org>
8421
8422         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
8423         (EOVERFLOW): Define fallback value.
8424         (xstrcat): New function.
8425         (xvasprintf): Recognize the special case of a string concatenation.
8426
8427 2006-05-08  Eric Blake  <ebb9@byu.net>
8428
8429         * gnulib-tool (func_version): Base copyright year on CVS date.
8430         (func_emit_copyright_notice): New function.
8431         (func_emit_lib_Makefile_am): Use it.
8432         (func_emit_tests_Makefile_am): Likewise.
8433         (func_import): Likewise.
8434
8435 2006-05-08  Bruno Haible  <bruno@clisp.org>
8436
8437         * modules/stdarg: New file.
8438         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
8439
8440 2006-05-08  Bruno Haible  <bruno@clisp.org>
8441
8442         * m4/stdarg.m4: New file, from GNU gettext.
8443
8444 2006-05-08  Bruno Haible  <bruno@clisp.org>
8445
8446         * config/srclist.txt (build-aux/config.rpath): different from latest
8447         release.
8448
8449 2006-05-08  Bruno Haible  <bruno@clisp.org>
8450
8451         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
8452
8453 2006-05-05  Jim Meyering  <jim@meyering.net>
8454
8455         * m4/warning.m4: New file, derived from bison's file by the same name.
8456
8457 2006-05-03  Bruno Haible  <bruno@clisp.org>
8458
8459         * lib/stdint_.h: Shorter URL.
8460         * lib/inttypes.h: Likewise.
8461
8462 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
8463
8464         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
8465
8466 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
8467
8468         * lib/verify.h: Document the internals better.  Most of this change
8469         was written by Bruno Haible.
8470
8471 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
8472
8473         * doc/verify.texi: New file, partly based on a proposal by
8474         Bruno Haible.
8475
8476 2006-05-02  Bruno Haible  <bruno@clisp.org>
8477
8478         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
8479         test from here...
8480         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
8481
8482 2006-04-29  Bruno Haible  <bruno@clisp.org>
8483
8484         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
8485         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
8486
8487 2006-04-29  Bruno Haible  <bruno@clisp.org>
8488
8489         * gnulib-tool: Make --update option actually work.
8490
8491 2006-04-29  Bruno Haible  <bruno@clisp.org>
8492
8493         * doc/gcd.texi: New file.
8494         * doc/gnulib.texi: Include it.
8495
8496 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
8497
8498         * lib/getdate.y (get_date): When adding relative date, start with the
8499         initial time, not with the result of the first mktime call.
8500
8501 2006-04-25  Bruno Haible  <bruno@clisp.org>
8502
8503         * gnulib-tool (func_import): Output the include directives in three
8504         blocks, sorted separately.
8505         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8506
8507 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
8508
8509         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
8510         to define main with arguments, for C++.  Reported by Eric Blake.
8511         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
8512         Prefer 'int main ()' to 'int main (void)', for C++.
8513         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8514         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
8515         for 'main', for C99 and C++.
8516
8517 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
8518
8519         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
8520         Don't assume that exit status -1 is valid.
8521         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8522         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
8523         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
8524         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
8525         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
8526         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
8527         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
8528         functions can be used without declaring them, or that you can
8529         exit with status -1.
8530         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
8531
8532 2006-04-24  Karl Berry  <karl@gnu.org>
8533
8534         * config/srclist.txt (longdouble.m4): sync lost.
8535
8536 2006-04-24  Eric Blake  <ebb9@byu.net>
8537
8538         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
8539
8540 2006-04-24  Bruno Haible  <bruno@clisp.org>
8541
8542         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
8543         poll() implementation in AIX.
8544         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8545
8546 2006-04-24  Bruno Haible  <bruno@clisp.org>
8547
8548         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
8549         assigned exactly once.
8550
8551 2006-04-23  Claudio Fontana  <claudio@gnu.org>
8552             Bruno Haible  <bruno@clisp.org>
8553
8554         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
8555         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
8556         for AM_CPPFLAGS.
8557
8558 2006-04-23  Bruno Haible  <bruno@clisp.org>
8559
8560         * modules/copy-file: Depend on unistd.
8561         * modules/execute: Likewise.
8562         * modules/fatal-signal: Likewise.
8563         * modules/findprog: Likewise.
8564         * modules/mkdtemp : Likewise.
8565         * modules/pipe: Likewise.
8566         * modules/wait-process: Likewise.
8567
8568 2006-04-23  Bruno Haible  <bruno@clisp.org>
8569
8570         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
8571         condition was already detected.
8572         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8573
8574 2006-04-23  Bruno Haible  <bruno@clisp.org>
8575
8576         * lib/copy-file.c: Include <unistd.h> unconditionally.
8577         * lib/execute.c: Likewise.
8578         * lib/fatal-signal.c: Likewise.
8579         * lib/findprog.c: Likewise.
8580         * lib/mkdtemp.c: Likewise.
8581         * lib/pipe.h: Likewise.
8582         * lib/pipe.c: Likewise.
8583         * lib/wait-process.h: Likewise.
8584
8585 2006-04-23  Bruno Haible  <bruno@clisp.org>
8586
8587         * gnulib-tool (func_usage): Fix --import description. Document
8588         --update.
8589         (func_import): Create temporary file in a temporary directory, if
8590         --dry-run is specified. Silence errors from 'grep' when there are no
8591         m4 files in $m4dir.
8592         (func_create_testdir): Silence errors from 'grep' when there are no
8593         m4 files in $m4dir.
8594         Reported by Karl Berry <karl@freefriends.org>.
8595
8596 2006-04-20  Bruno Haible  <bruno@clisp.org>
8597
8598         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
8599         one argument, so that the code will be portable to Autoconf 2.60.
8600         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
8601         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
8602         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
8603
8604 2006-04-19  Derek Price  <derek@ximbiot.com>
8605             Eric Blake  <ebb9@byu.net>
8606
8607         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
8608         rather than "/full/path.h".  Update comment to match.  Shorten &
8609         generalize m4_translit call via AS_TR_CPP.
8610
8611 2006-04-19  Derek Price  <derek@ximbiot.com>
8612             Eric Blake  <ebb9@byu.net>
8613
8614         * lib/inttypes.h: Correct grammar in comment.
8615
8616 2006-04-18  Derek Price  <derek@ximbiot.com>
8617             Paul Eggert  <eggert@cs.ucla.edu>
8618
8619         * modules/inttypes: New file.
8620         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
8621
8622 2006-04-18  Derek Price  <derek@ximbiot.com>
8623             Paul Eggert  <eggert@cs.ucla.edu>
8624
8625         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
8626         New files.
8627
8628 2006-04-18  Derek Price  <derek@ximbiot.com>
8629             Paul Eggert  <eggert@cs.ucla.edu>
8630
8631         * lib/inttypes.h: New file.
8632         * lib/strtoimax.c: Assume <inttypes.h>.
8633
8634 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
8635
8636         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
8637         isn't mounted.  Problem reported by Kir Kolyshkin.
8638
8639 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8640
8641         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
8642         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
8643         Derek R. Price.
8644         * lib/regex.h (RE_DUP_MAX): Update comment to match current
8645         implementation.
8646
8647 2006-04-12  Eric Blake  <ebb9@byu.net>
8648
8649         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
8650         is now done automatically by the corresponding Autoconf macro.
8651
8652 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8653
8654         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
8655         time_r.h.
8656
8657 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8658
8659         Merge regex changes from libc, removing some of our
8660         POSIX-conformance changes that were rejected and redoing them in a
8661         less-intrusive way.
8662
8663         * lib/regcomp.c (re_compile_internal, init_dfa):
8664         Length arg is now size_t, not Idx.  All uses changed.
8665         (peek_token): Forward decl now says internal_function.
8666         (__re_error_msgid, __re_error_msgid_idx):
8667         Now static rather than extern with attribute_hidden.
8668         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
8669         For some reason libc prefers K&R style defns for external functions.
8670         (regerror) [!defined _LIBC]: Likewise.
8671         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
8672         (seek_collating_symbol_entry, lookup_collation_sequence_value):
8673         (build_range_exp, build_collating_symbol):
8674         Use K&R-style defn.
8675         (re_compile_fastmap): Use '\0' to memset, not 0.
8676         (utf8_sb_map): Make the calculations more obvious.
8677         (init_dfa, parse_bracket_exp, build_charclass_op):
8678         Call calloc and cast result, as glibc does.
8679         (init_word_char, fetch_token, peek_token, peek_token_bracket):
8680         (build_range_exp, build_collating_symbol):
8681         Now internal functions.
8682
8683         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
8684
8685         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
8686         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
8687         Don't depend on VMS; depend on __VMS instead, for POSIX
8688         namespace cleanness.
8689         (regoff_t): Define to ssize_t, not long int.
8690
8691         Remove the REG_ macros named below.  Instead, make the old names
8692         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
8693         __USE_GNU_REGEX.
8694         (REG_BACKSLASH_ESCAPE_IN_LISTS):
8695         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
8696         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
8697         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
8698         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
8699         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
8700         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
8701         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
8702         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
8703         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
8704         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
8705         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
8706         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
8707         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
8708         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
8709         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
8710         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
8711         (REG_NREGS):
8712         Remove.  All uses replaced by the old RE_* names.
8713         (RE_BACKSLASH_ESCAPE_IN_LISTS):
8714         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
8715         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
8716         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
8717         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
8718         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
8719         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
8720         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
8721         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
8722         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
8723         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
8724         Don't bother having these macros be independent of each others'
8725         values, since they no longer exist in the POSIX name space.
8726
8727         Rename the following member names back to their old names,
8728         unless !__USE_GNU_REGEX.  All uses changed back.
8729         (buffer): Renamed from re_buffer.
8730         (allocated): Renamed from re_allocated.
8731         (used): Renamed from re_used.
8732         (syntax): Renamed from re_syntax.
8733         (fastmap): Renamed from re_fastmap.
8734         (translate): Renamed from re_translate.
8735         (can_be_null): Renamed from re_can_be_null.
8736         (regs_allocated): Renamed from re_regs_allocated.
8737         (fastmap_accurate): Renamed from re_fastmap_accurate.
8738         (no_sub): Renamed from re_no_sub.
8739         (not_bol): Renamed from re_not_bol.
8740         (not_eol): Renamed from re_not_eol.
8741         (newline_anchor): Renamed from re_newline_anchor.
8742         (num_regs): Renamed from rm_num_regs.
8743         (start): Renamed from rm_start.
8744         (end): Renamed from rm_end.
8745
8746         (free_state): Move up a bit.
8747
8748         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
8749         #define to be empty.
8750         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
8751         when that is what is intended.
8752         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
8753         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
8754         (MAX): New macro.
8755         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
8756         All uses changed back to re_malloc, etc.  It's now the caller's
8757         responsibility to check for overflow; all callers changed.
8758         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
8759         (re_x2nrealloc): Remove.
8760         (free_state): Remove decl.
8761
8762         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
8763         (re_set_registers, re_exec):
8764         Use K&R-style defn.
8765
8766         2006-01-31  Roland McGrath  <roland@redhat.com>
8767
8768         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
8769         Reported by Mike Frysinger <vapier@gentoo.org>.
8770
8771         2006-01-15  Andreas Jaeger  <aj@suse.de>
8772
8773         [BZ #1950]
8774         * lib/regex_internal.c (re_string_reconstruct): Adjust for
8775         build_wcs_upper_buffer change.
8776         (build_wcs_upper_buffer): Change return type.
8777
8778         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
8779
8780         * lib/regex_internal.h: Include <stdint.h> if available.
8781
8782         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
8783
8784         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
8785
8786         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
8787
8788         * lib/regcomp.c: Adjust for changed secondary hash function.
8789
8790         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
8791
8792         * lib/regex.h: Pretty printing.
8793         Clean up namespace a bit.
8794
8795         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
8796
8797         * lib/regexec.c (update_cur_sifted_state, check_arrival,
8798         check_arrival_add_next_nodes): Avoid using uninitialized variable.
8799
8800         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
8801                     Ulrich Drepper  <drepper@redhat.com>
8802
8803         [BZ #1302]
8804         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
8805         changed.
8806         (bitset_word_t): Renamed from bitset_word.  All uses changed.
8807
8808         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
8809
8810         [BZ #281]
8811         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
8812         * lib/regcomp.c: Remove unnecessary uses of
8813         unsigned RE_TRANSLATE_TYPE.
8814         * lib/regex_internal.h: Likewise.
8815         * lib/regex_internal.c: Likewise.
8816         * lib/regexec.c: Likewise.
8817         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
8818
8819         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
8820
8821         * lib/regexec.c (find_recover_state): Remove unnecessary
8822         initialization.
8823         (transit_state_bkref): Make DFA a const pointer.
8824         (get_subexp): Likewise.
8825         (check_arrival): Likewise.
8826         (update_cur_sifted_state): Likewise.
8827         (re_search_internal): Likewise.
8828         (prune_impossible_nodes): Likewise.
8829         (acquire_init_state_context): Likewise.
8830         (proceed_next_node): Likewise.
8831         (set_regs): Likewise.
8832         (free_fail_stack_return): Likewise.
8833         (check_arrival_expand_ecl): Mark DFA parameter as const.
8834         (check_arrival_expand_ecl_sub): Likewise.
8835         (check_subexp_limits): Likewise.
8836         (sub_epsilon_src_nodes):  Likewise.
8837         (add_epsilon_src_nodes):  Likewise.
8838         (merge_state_array): Likewise.
8839         (update_regs): Likewise.
8840         (build_trtable): Likewise.
8841         (sift_states_backward): Mark MCTX parameter as const.
8842         (build_sifted_states): Likewise.
8843         (update_cur_sifted_state): Likewise.
8844         (sift_states_mkref): Likewise.
8845         (check_arrival_expand_ecl): Mark eclosure as const.
8846         (check_dst_limits_calc_pos_1): Likewise.
8847         * lib/regex_internal.h (re_match_context_t): Make dfa a const
8848         pointer.
8849
8850         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
8851
8852         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
8853         (transit_state_sb): Likewise.
8854         (transit_state_mb): Likewise.
8855         (sift_states_iter_mb): Likewise.
8856         (check_arrival_add_next_nodes): Likewise.
8857         (check_node_accept_bytes): Change first parameter to pointer-to-const.
8858         [_LIBC] (re_search_2_stub): Use mempcpy.
8859
8860         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
8861         mbrtowc for very simple UTF-8 case.
8862
8863         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
8864         a pointer-to-const.
8865         (re_acquire_state_context): Likewise.
8866         * lib/regex_internal.h: Adjust prototypes.
8867
8868         * lib/regex.c: Prevent using C++ compilers.
8869
8870         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
8871         (re_acquire_state_context): Likewise.
8872
8873 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8874
8875         * modules/regex (Depends-on): Add ssize_t.
8876
8877 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8878
8879         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
8880         translation table.
8881
8882 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8883
8884         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
8885
8886 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
8887             Bruno Haible  <bruno@clisp.org>
8888
8889         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
8890         <sys/types.h> and <inttypes.h>.
8891
8892 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8893
8894         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
8895         `__error_t_defined', so argp.h will not typedef the former.
8896
8897 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
8898
8899         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
8900         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
8901         glibc names.  Even if glibc is changed to conform to POSIX, the
8902         traditional names will be available anyway, since regex depends on
8903         the extensions module.  Also, fix a longstanding typo in the
8904         implementation of Spencer ERE test #75 from grep 2.3.  Problems
8905         reported by Emanuele Giaquinta.  Also, change sense of cached
8906         variable, so that the message makes sense.
8907
8908 2006-03-24  Simon Josefsson  <jas@extundo.com>
8909
8910         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
8911         including some doc fixes.
8912         (base64_encode_alloc): Fix +1 bug on allocation failures.
8913
8914 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8915
8916         * lib/base64.c (base64_encode): Do not read past end of array with
8917         unsanitized input on systems with CHAR_BIT > 8.
8918
8919 2006-03-24  Eric Blake  <ebb9@byu.net>
8920
8921         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
8922
8923 2006-03-22  Karl Berry  <karl@gnu.org>
8924
8925         * config/srclist.txt (*setenv.[ch]): get from coreutils.
8926         * config/srclistvars.sh (COREUTILS): new var.
8927
8928 2006-03-17  Jim Meyering  <jim@meyering.net>
8929
8930         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
8931         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
8932
8933 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
8934
8935         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
8936         no longer needs it.  Instead, check that regoff_t is as least
8937         as wide as ptrdiff_t.
8938
8939         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
8940         so that our regex.h stays compatible with the installed regex.
8941         This is helpful for installers who configure --without-included-regex.
8942         Problem reported by Emanuele Giaquinta.
8943
8944 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
8945
8946         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
8947         Typedef to long int, not to off_, as POSIX will likely change
8948         in that direction.
8949
8950 2006-03-15  Eric Blake  <ebb9@byu.net>
8951
8952         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
8953
8954 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
8955
8956         * lib/argp-help.c (validate_uparams): Fix typo
8957         * lib/argp-parse.c (argp_default_options): Consistently begin help
8958         messages with a lowercase letter.
8959
8960 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
8961
8962         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
8963         overrun buffers and shouldn't be used (much as gets shouldn't be
8964         used).
8965         * lib/time_r.c (asctime_r, ctime_r): Likewise.
8966
8967 2006-03-08  Simon Josefsson  <jas@extundo.com>
8968
8969         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
8970         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8971
8972 2006-03-08  Simon Josefsson  <jas@extundo.com>
8973
8974         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
8975         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8976
8977 2006-03-08  Simon Josefsson  <jas@extundo.com>
8978
8979         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
8980         signal that configure disabled the device.
8981
8982 2006-03-08  Simon Josefsson  <jas@extundo.com>
8983
8984         * build-aux/maint.mk: Fix refresh-po, to handle no translated
8985         languages.
8986
8987 2006-03-07  Simon Josefsson  <jas@extundo.com>
8988
8989         * modules/getopt (Depends-on): Add unistd.
8990
8991         * modules/unistd: New file.
8992
8993 2006-03-07  Simon Josefsson  <jas@extundo.com>
8994
8995         * modules/gc-random: New file.
8996
8997 2006-03-07  Simon Josefsson  <jas@extundo.com>
8998
8999         * m4/unistd_h.m4: New file.
9000
9001 2006-03-07  Simon Josefsson  <jas@extundo.com>
9002
9003         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
9004         test to be side-effect free by storing the result in the cache
9005         variable gl_cv_lib_readline, and moving the assignment of
9006         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
9007         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9008
9009 2006-03-07  Simon Josefsson  <jas@extundo.com>
9010
9011         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
9012         error on missing devices (the functions will return an error).
9013
9014         * m4/gc.m4: Move random stuff to gc-random.m4
9015
9016 2006-03-07  Simon Josefsson  <jas@extundo.com>
9017
9018         * lib/unistd_.h: New file.
9019
9020 2006-03-07  Simon Josefsson  <jas@extundo.com>
9021
9022         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
9023
9024 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9025
9026         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
9027         Problem reported by Juan Manuel Guerrero.
9028
9029 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9030
9031         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
9032         the unistd module.
9033         * lib/getlogin_r.c: Likewise.
9034         * lib/getlogin_r.h: Likewise.
9035         * lib/glob.c: Likewise.
9036         * lib/pagealign_alloc.c: Likewise.
9037         * lib/unistd_.h: Remove; no longer needed.
9038
9039 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
9040
9041         * MODULES.html.sh (Support for systems lacking POSIX:2001):
9042         Add unistd.
9043         * modules/c-stack (Depends-on): Add unistd.
9044         * modules/getlogin_r: Likewise.
9045         * modules/glob: Likewise.
9046         * modules/pagealign_alloc: Likewise.
9047         * modules/unistd (Files): Remove lib/unistd_.h.
9048         (EXTRA_DIST): Remove.
9049         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
9050         need unistd_.h.
9051         (MOSTLYCLEANFILES): Remove unistd.h-t.
9052
9053 2006-03-03  Simon Josefsson  <jas@extundo.com>
9054
9055         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
9056
9057 2006-03-03  Simon Josefsson  <jas@extundo.com>
9058
9059         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
9060         libidn and bison.
9061
9062 2006-03-03  Simon Josefsson  <jas@extundo.com>
9063
9064         * build-aux/maint.mk: Add indent target.
9065
9066 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
9067
9068         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
9069         our replacement poll.h in any case, to avoid a differing
9070         declaration from a system header.  Seen on AIX.
9071
9072 2006-03-01  Simon Josefsson  <jas@extundo.com>
9073
9074         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
9075         <kasal@ucw.cz>.
9076
9077 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
9078
9079         * modules/gettime (Depends-on): Add extensions module.
9080         * modules/nanosleep (Depends-on): Likewise.
9081         * modules/settime (Depends-on): Likewise.
9082
9083 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
9084
9085         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
9086         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
9087         pedantically.
9088         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
9089         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
9090
9091         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
9092         not "==".  Reported by Ralf Wildenhues.
9093
9094 2006-03-01  Karl Berry  <karl@gnu.org>
9095
9096         * doc/Copyright/request-*: new files, synced from gnuorg.
9097
9098 2006-03-01  Karl Berry  <karl@gnu.org>
9099
9100         * config/srclist.txt (Copyright/*): new entries.
9101
9102 2006-02-28  Simon Josefsson  <jas@extundo.com>
9103
9104         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
9105
9106 2006-02-27  Simon Josefsson  <jas@extundo.com>
9107
9108         * lib/base64.h: Indent #define's.  From Jim Meyering
9109         <jim@meyering.net>.
9110
9111 2006-02-27  Jim Meyering  <jim@meyering.net>
9112
9113         Revert the change of 2006-02-24, so these files can continue
9114         to be sync'd from gettext.
9115         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
9116         of `config.h'.
9117
9118 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
9119
9120         * modules/intprops: New file.
9121         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
9122         Add intprops.
9123         * modules/getloadavg (Files): Remove lib/intprops.h.
9124         (Depends-on): Add intprops.
9125         * modules/human: Likewise.
9126         * modules/inttostr: Likewise.
9127         * modules/openat: Likewise.
9128         * modules/sig2str: Likewise.
9129         * modules/userspec: Likewise.
9130         * modules/utimecmp: Likewise.
9131         * modules/xnanosleep: Likewise.
9132         * modules/xstrtol: Likewise.
9133
9134 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
9135
9136         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
9137         * modules/lock-tests (TESTS): Use $(EXEEXT).
9138         * modules/tls-tests: Likewise.
9139         * modules/argp-tests: Likewise.
9140         (check_PROGRAMS): New var, replacing...
9141         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
9142
9143 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9144
9145         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
9146         `config.h'.
9147
9148 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
9149
9150         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
9151
9152 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9153
9154         Sync from coreutils.
9155         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
9156         gl_CHDIR_SAFER.
9157
9158 2006-02-22  Jim Meyering  <jim@meyering.net>
9159
9160         Sync from coreutils.
9161         * m4/chdir-safer.m4: New file.
9162
9163 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
9164
9165         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
9166         AT_FDCWD exceeds INT_MAX.
9167         * lib/openat.h (AT_FDCWD): Likewise.
9168
9169 2006-02-17  Eric Blake  <address@hidden>
9170
9171         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
9172
9173 2006-02-16  Simon Josefsson  <jas@extundo.com>
9174
9175         * modules/getaddrinfo (Depends-on): Add sys_socket.
9176
9177 2006-02-15  Simon Josefsson  <jas@extundo.com>
9178
9179         * build-aux/maint.mk: Add dsyntax-check rule.
9180
9181 2006-02-15  Eric Blake  <ebb9@byu.net>
9182
9183         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
9184         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
9185         'present but cannot compile' warnings on cygwin.
9186         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
9187         use ws2tcpip.h if sys/socket.h works.
9188         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
9189         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
9190
9191 2006-02-14  Simon Josefsson  <jas@extundo.com>
9192
9193         * modules/maintainer-makefile (Files): Rename.
9194
9195         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
9196         and (the local) Makefile.cfg to maint-cfg.mk.
9197
9198         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
9199         to the latter.
9200
9201         * modules/maintainer-makefile: New module.
9202
9203         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
9204         severaly stripped to make it possible to build it up from scratch
9205         with reliable tests.
9206
9207         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
9208         fixes to permit overriding the default actions when configure and
9209         makefile are not available.
9210
9211 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
9212
9213         Sync from coreutils.
9214         * modules/lstat (Depends-on): Don't depend on xalloc.
9215         (License): Change from GPL to LGPL, since this is now simply a
9216         replacement for a libc function.
9217
9218 2006-02-14  Jim Meyering  <jim@meyering.net>
9219
9220         Sync from coreutils.
9221
9222         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
9223         failure on deficient systems, and simplify gnulib lgpl dependencies.
9224         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
9225         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
9226
9227         * lib/xalloc-die.c: Remove unused definition of N_.
9228
9229 2006-02-14  Jim Meyering  <jim@meyering.net>
9230
9231         Sync from coreutils.
9232         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
9233         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
9234         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
9235         double-quote uses of that variable, to accommodate the rare case in
9236         which getmntent is available in none of the libraries checked.  This
9237         happens at least on FreeBSD 5.0.
9238
9239 2006-02-13  Simon Josefsson  <jas@extundo.com>
9240
9241         * gnulib-tool (Usage): Fix --import, from
9242         karl@freefriends.org (Karl Berry).
9243
9244 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
9245
9246         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
9247
9248 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
9249
9250         * lib/argp-namefrob.h: Restore changes accidentally lost during the
9251         "autoupdate" on 2005-12-12.
9252
9253 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9254
9255         * modules/closeout (Depends-on): Remove atexit.
9256
9257 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
9258
9259         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
9260         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
9261
9262 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
9263
9264         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
9265         __EXTENSIONS__ if this causes compilation to fail.  Problem
9266         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
9267         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
9268
9269 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
9270
9271         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
9272         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
9273         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
9274         All uses changed.
9275
9276 2006-01-26  Simon Josefsson  <jas@extundo.com>
9277
9278         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
9279         prototype is visible on mingw32.
9280
9281         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
9282         for mingw32.
9283
9284         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
9285         mingw32).
9286
9287 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
9288
9289         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
9290         attempt to open for write; this always fails, at least on POSIX
9291         hosts.  This reinstates the 2006-01-09 change, which was
9292         inadvertently removed.
9293
9294 2006-01-26  Bruno Haible  <bruno@clisp.org>
9295
9296         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
9297         Reported by Paul Eggert.
9298
9299 2006-01-26  Bruno Haible  <bruno@clisp.org>
9300             Paul Eggert  <eggert@cs.ucla.edu>
9301
9302         * lib/stdbool_.h (_Bool)
9303         [(! (defined __cplusplus || defined __BEOS__)
9304           && !defined __GNUC__
9305           && !(defined __HP_cc || defined __xlc__
9306                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
9307                || defined __sgi))]:
9308         #define to signed char in these cases too; this simplifies
9309         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
9310         etc., separately) and makes it more conservative.
9311
9312 2006-01-25  Simon Josefsson  <jas@extundo.com>
9313
9314         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
9315         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
9316         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
9317
9318 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
9319
9320         * lib/argp-namefrob.h: Bugfix. Remove stray #
9321
9322 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
9323
9324         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
9325         so that we test the test.
9326         Check for yet another HP-UX cc bug involving *bool |= bool.
9327
9328 2006-01-25  Karl Berry  <karl@gnu.org>
9329
9330         * config/srclist.txt (vasnprintf.c): sync lost.
9331
9332 2006-01-25  Jim Meyering  <jim@meyering.net>
9333
9334         Sync from the stable (b5) branch of coreutils:
9335
9336         * lib/fts.c (fts_children): Don't let close() clobber errno from
9337         failed fchdir().
9338
9339         * lib/fts.c (fts_stat): When following a symlink-to-directory,
9340         don't necessarily interpret stat-fails+lstat-succeeds as indicating
9341         a dangling symlink.  That can also happen at least for ELOOP.
9342         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
9343         FYI, this bug predates the inclusion of fts.c in coreutils.
9344
9345         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
9346         in their own block, so pre-c99 compilers don't object.
9347
9348         Avoid the double-free (first in fts_read, second in fts_close) that
9349         would occur when an `active' directory is made inaccessible (e.g.,
9350         via chmod a-x) during a traversal.
9351         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
9352         before returning.  Reproduce this failure by
9353         mkdir -p a/b; cd a; chmod a-x . b
9354         Reported by Stavros Passas.
9355
9356 2006-01-25  Jim Meyering  <jim@meyering.net>
9357
9358         * lib/fileblocks.c: Remove more useless parentheses.
9359         * lib/readutmp.h: Likewise.
9360
9361 2006-01-25  Bruno Haible  <bruno@clisp.org>
9362
9363         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
9364         warnings.
9365         Reported by Paul Eggert.
9366
9367 2006-01-25  Bruno Haible  <bruno@clisp.org>
9368
9369         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
9370         rid of a trap command. For Solaris sh.
9371         Reported by Mark D. Baushke <mdb@gnu.org>.
9372
9373 2006-01-24  Simon Josefsson  <jas@extundo.com>
9374
9375         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
9376         Bruno.
9377
9378 2006-01-24  Karl Berry  <karl@gnu.org>
9379
9380         * config/srclist.txt (argp-namefrob.h): sync lost.
9381
9382 2006-01-24  Jim Meyering  <jim@meyering.net>
9383
9384         * modules/openat (Files): Add lib/intprops.h.
9385         From Mark D. Baushke.
9386
9387 2006-01-24  Jim Meyering  <jim@meyering.net>
9388
9389         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
9390         Reported by Mark D. Baushke.
9391
9392 2006-01-24  Jim Meyering  <jim@meyering.net>
9393
9394         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
9395
9396 2006-01-24  Bruno Haible  <bruno@clisp.org>
9397
9398         * modules/strnlen (Maintainer): Change from glibc to all.
9399
9400 2006-01-24  Bruno Haible  <bruno@clisp.org>
9401
9402         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
9403         Patch by Paul Eggert.
9404
9405 2006-01-24  Bruno Haible  <bruno@clisp.org>
9406
9407         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
9408         already has it.
9409         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
9410         2005-11-26.
9411
9412         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
9413         'signed char' to avoid problems with the built-in _Bool type.
9414         Reported by Paul Eggert on 2005-11-26.
9415
9416 2006-01-24  Bruno Haible  <bruno@clisp.org>
9417
9418         * gnulib-tool (func_import): Avoid constructing complicated sed
9419         expressions inside backquote.
9420         Report and solution by Mark D. Baushke <mdb@gnu.org>.
9421
9422 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
9423
9424         These changes imported from libc.
9425         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
9426         test and two separate function calls.
9427         * lib/strndup.c (__strndup): Add libc_hidden_def.
9428
9429 2006-01-23  Simon Josefsson  <jas@extundo.com>
9430
9431         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
9432         Remove the test_*_SOURCES variable: automake infers it by default.
9433         * modules/tls-tests: Likewise.
9434
9435 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9436
9437         Work around porting bugs reported by Dieter in
9438         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
9439         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
9440         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
9441         Include "getopt.h" first, to check interface.
9442         (getenv): Declare only if defined HAVE_DECL_GETENV &&
9443         !HAVE_DECL_GETENV.
9444         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
9445         (__strndup): Revert to K&R-style function dfns, the glibc style.
9446         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
9447         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
9448         Include strnlen.h first, to get prototype properly.
9449         (strnlen): Renamed from __strnlen.
9450         Remove weak alias.
9451
9452 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9453
9454         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
9455
9456 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
9457
9458         * config/srclist.txt: Adjust to reflect glibc reorganization.
9459         This affects only comments.
9460
9461 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
9462
9463          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
9464          Reported by Bruce Korb <bkorb@gnu.org>.
9465
9466 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
9467
9468         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
9469         to pacify gcc -Wswitch-default.
9470
9471 2006-01-22  Bruno Haible  <bruno@clisp.org>
9472
9473         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
9474         temporary buffer for sprintf, take into account the precision also
9475         for 'd', 'i', 'u', 'o', 'x', 'X'.
9476
9477 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
9478
9479         * modules/argp-tests: New module
9480         * tests/test-argp.c: New file
9481         * tests/test-argp-2.sh: New file
9482
9483 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
9484
9485         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
9486         (__argp_base_name): Removed
9487         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
9488         typo.
9489         (__argp_base_name): Provide macro definition or extern declaration
9490         depending on the configuration
9491
9492 2006-01-20  Simon Josefsson  <jas@extundo.com>
9493
9494         * modules/inet_ntop (Depends-on): Depend on sys_socket.
9495
9496 2006-01-20  Simon Josefsson  <jas@extundo.com>
9497
9498         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
9499
9500 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
9501
9502         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
9503         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
9504         Suggested by Bruno Haible.
9505
9506 2006-01-20  Karl Berry  <karl@gnu.org>
9507
9508         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
9509         until changes propagate, I guess.
9510
9511 2006-01-19  Simon Josefsson  <jas@extundo.com>
9512
9513         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
9514
9515 2006-01-19  Simon Josefsson  <jas@extundo.com>
9516
9517         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
9518
9519 2006-01-19  Simon Josefsson  <jas@extundo.com>
9520
9521         * gnulib-tool: Set check_PROGRAMS.
9522
9523         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
9524         modules/des-tests, modules/gc-arcfour-tests,
9525         modules/gc-arctwo-tests, modules/gc-des-tests,
9526         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
9527         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
9528         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
9529         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
9530         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
9531         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
9532         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
9533         test_*_SOURCES.
9534
9535 2006-01-18  Simon Josefsson  <jas@extundo.com>
9536
9537         * modules/socklen (Depends-on): Depend on sys_socket.
9538
9539 2006-01-18  Simon Josefsson  <jas@extundo.com>
9540
9541         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
9542         modules/des-tests, modules/gc-arcfour-tests,
9543         modules/gc-arctwo-tests, modules/gc-des-tests,
9544         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
9545         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
9546         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
9547         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
9548         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
9549         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
9550         $(EXEEXT) to automake TESTS variable, for mingw32.
9551
9552 2006-01-17  Simon Josefsson  <jas@extundo.com>
9553
9554         * modules/socklen (Include): Need sys/socket.h.
9555
9556 2006-01-17  Bruno Haible  <bruno@clisp.org>
9557
9558         * modules/ssize_t (Include): Add <sys/types.h>.
9559
9560 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
9561
9562         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
9563         it's not portable and it doesn't work with cross-compiles.
9564         Problem reported by Bruno Haible.  Fix missing-$ typo in
9565         'test "gl_cv_ignore_unused_libraries" ...' that prevented
9566         -zignore from being used with Sun's C compiler.
9567
9568 2006-01-12  Simon Josefsson  <jas@extundo.com>
9569
9570         * lib/base64.c: Fix warning, reported by Bruno Haible
9571         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
9572
9573 2006-01-12  Bruno Haible  <bruno@clisp.org>
9574
9575         * modules/ldd: New file.
9576         * build-aux/ldd.sh.in: New file.
9577         * MODULES.html.sh (Support for building libraries and executables): Add
9578         ldd.
9579
9580 2006-01-12  Bruno Haible  <bruno@clisp.org>
9581
9582         * m4/ldd.m4: New file.
9583
9584 2006-01-12  Bruno Haible  <bruno@clisp.org>
9585
9586         * gnulib-tool (func_import, func_create_testdir): Don't go into an
9587         endless loop while replacing $auxdir with build-aux.
9588
9589 2006-01-11  Simon Josefsson  <jas@extundo.com>
9590
9591         * lib/stdint_.h (SIZE_MAX): Add missing (.
9592
9593 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
9594
9595         Sync from coreutils.
9596         * lib/md5.c: Fix commentary typos.
9597         (alignof, UNALIGNED_P): No need for a GCC-specific version.
9598         * lib/md5.h (__attribute__): Remove; unused.
9599         * lib/sha1.c: Fix commentary to match md5 better.
9600         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
9601         so that we don't need to worry about alignment.  All uses changed.
9602         This merges the 2005-10-28 md5 change into sha1.
9603
9604 2006-01-11  Jim Meyering  <jim@meyering.net>
9605
9606         Sync from coreutils.
9607         * lib/md5.c (OP): Fix spacing.
9608
9609 2006-01-11  Bruno Haible  <bruno@clisp.org>
9610
9611         Ensure automatic ordering between gl_LOCK and gl_ARGP.
9612         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
9613         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
9614
9615 2006-01-11  Bruno Haible  <bruno@clisp.org>
9616
9617         Ensure automatic ordering between gl_LOCK and gl_ARGP.
9618         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
9619         the "early" section as well.
9620
9621 2006-01-11  Bruno Haible  <bruno@clisp.org>
9622
9623         Avoid "ar: no archive members specified" error on MacOS X.
9624         * gnulib-tool (func_modules_add_dummy): New function.
9625         (func_import, func_create_testdir): Invoke it.
9626
9627 2006-01-11  Bruno Haible  <bruno@clisp.org>
9628
9629         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
9630         with $auxdir in AC_CONFIG_FILES statements.
9631
9632 2006-01-11  Bruno Haible  <bruno@clisp.org>
9633
9634         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9635         Initialize also noinst_HEADERS to empty.
9636
9637 2006-01-11  Bruno Haible  <bruno@clisp.org>
9638
9639         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
9640         variables.
9641         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
9642         autoreconf.
9643
9644 2006-01-11  Bruno Haible  <bruno@clisp.org>
9645
9646         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
9647         overridable by the user.
9648         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9649
9650 2006-01-10  Simon Josefsson  <jas@extundo.com>
9651
9652         * modules/sys_socket: New file.
9653
9654 2006-01-10  Simon Josefsson  <jas@extundo.com>
9655
9656         * m4/sys_socket_h.m4: New file.
9657
9658 2006-01-10  Simon Josefsson  <jas@extundo.com>
9659
9660         * lib/socket_.h: New file.
9661
9662 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9663
9664         * modules/readutmp (Maintainer): Add myself.
9665
9666 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9667
9668         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
9669         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
9670         People who are still concerned with buggy memcmp implementations
9671         can invoke gl_FUNC_MEMCMP themselves.
9672
9673 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9674
9675         * lib/regex_internal.h (BITSET_WORD_BITS):
9676         Work around a bug in 64-bit PGC (before version 6.1-2), where the
9677         preprocessor mishandles large unsigned values as if they were signed.
9678         Problem reported by Claudio Fontana in
9679         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
9680
9681 2006-01-10  Jim Meyering  <jim@meyering.net>
9682
9683         Avoid the double-free (first in fts_read, second in fts_close) that
9684         would occur when an `active' directory is made inaccessible (e.g.,
9685         via chmod a-x) during a traversal.
9686         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
9687         before returning.  Reproduce this failure by
9688         mkdir -p a/b; cd a; chmod a-x . b
9689         Reported by Stavros Passas.
9690
9691         Sync from coreutils.
9692         * lib/sha1.c: Tweak grammar in a comment.
9693
9694 2006-01-10  Jim Meyering  <jim@meyering.net>
9695
9696         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
9697         Patch by Joerg Sonnenberger.
9698
9699 2006-01-10  Bruno Haible  <bruno@clisp.org>
9700
9701         * modules/readutmp: Depend on module free.
9702         * modules/strtok_r: Depend on module restrict.
9703
9704 2006-01-10  Bruno Haible  <bruno@clisp.org>
9705
9706         * modules/gettext (configure.ac): Add an invocation of
9707         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
9708
9709 2006-01-10  Bruno Haible  <bruno@clisp.org>
9710
9711         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
9712         Reported by Werner Lemberg <wl@gnu.org>.
9713
9714 2006-01-10  Bruno Haible  <bruno@clisp.org>
9715
9716         * lib/localcharset.c: Update from GNU gettext.
9717
9718 2006-01-10  Bruno Haible  <bruno@clisp.org>
9719
9720         * lib/argp.h (__const): Remove macro. Use const instead.
9721         * lib/argp-fmtstream.h (__const): Likewise.
9722         * lib/glob_.h (__const): Remove macro.
9723         * lib/glob-libc.h: Use const instead of __const.
9724
9725 2006-01-10  Bruno Haible  <bruno@clisp.org>
9726
9727         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
9728         variable.
9729         Needed to avoid an automake error regarding the 'gettext' module.
9730
9731 2006-01-09  Simon Josefsson  <jas@extundo.com>
9732
9733         * modules/inet_ntop (Depends-on): Add restrict.
9734
9735 2006-01-09  Simon Josefsson  <jas@extundo.com>
9736
9737         * modules/gc-rijndael-tests (License): Put under LGPL.
9738
9739         * modules/gc-des-tests (License): Likewise.
9740
9741         * modules/gc-arcfour-tests (License): Likewise.
9742
9743         * modules/gc-arctwo-tests (License): Likewise.
9744
9745         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
9746
9747         * modules/gc-hmac-sha1-tests (Files): Likewise.
9748
9749         * modules/gc-hmac-md5-tests (License): Likewise.
9750
9751         * modules/gc-sha1-tests (License): Likewise.
9752
9753         * modules/gc-md5-tests (License): Likewise.
9754
9755         * modules/gc-md4-tests (License): Likewise.
9756
9757         * modules/gc-md2-tests (License): Likewise.
9758
9759         * modules/gc-tests (License): Likewise.
9760
9761         * modules/des-tests (License): Likewise.
9762
9763         * modules/md4-tests (License): Likewise.
9764
9765         * modules/md2-tests (License): Likewise.
9766
9767 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9768
9769         Sync from coreutils:
9770
9771         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
9772         * modules/lib-ignore: New file.
9773         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
9774         chdir-safer.m4, lchmod.m4.
9775         * modules/openat: Add mkdirat.c, openat-priv.h.
9776
9777 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9778
9779         Sync from coreutils.
9780         * m4/lib-ignore.m4: New file.
9781         * m4/lchmod.m4: New file.
9782
9783 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9784
9785         Sync from coreutils.
9786         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
9787         for write access: POSIX says that must fail.
9788         * lib/fts.c (diropen): Likewise.
9789         * lib/save-cwd.c (save_cwd): Likewise.
9790         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
9791         well, for minor improvements on hosts that lack O_DIRECTORY.
9792         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
9793         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
9794         Fall back on chown if open failed with EACCES.
9795
9796         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
9797         Report an error at compile-time if only a 1-second nominal clock
9798         resolution is found.
9799
9800         * lib/lchmod.h: New file.
9801         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
9802         (make_dir_parents): Use lchown rather than chown, and
9803         lchmod rather than chmod.
9804
9805         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
9806         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
9807         "proc" reported by n0dalus.
9808
9809         * lib/mountlist.c: Include <limits.h>.
9810         (dev_from_mount_options)
9811         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
9812         New function.  It no longer assumes "dev=" has the System V meaning
9813         on Linux (since it doesn't).  It also parses "dev=" more carefully.
9814         (read_file_system_list)
9815         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
9816         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
9817         dev= in that case.
9818
9819         * lib/posixtm.h (PDS_PRE_2000): New macro.
9820         * lib/posixtm.c (year): Arg is now syntax_bits rather than
9821         allow_century.  All usages changed.  Reject dates outside the range
9822         1969-1999 if PDS_PRE_2000 is used.
9823
9824 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
9825
9826         Sync from coreutils.
9827         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
9828         (Time of day items): Mention the possibility of leap seconds.
9829         Problem reported by Dr. David Alan Gilbert.
9830
9831 2006-01-09  Jim Meyering  <jim@meyering.net>
9832
9833         Sync from coreutils.
9834
9835         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
9836
9837         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
9838
9839         * lib/modechange.c (mode_compile): Reject an invalid mode string
9840         that starts with an octal digit.  From Andreas Gruenbacher.
9841
9842         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
9843         and dup to open_safer and dup_safer, respectively.
9844         (openat_permissive): Fix typo in comment.
9845
9846         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
9847         "gettext.h"; either no longer needed or are guaranteed by openat.h.
9848         (_): Remove; no longer needed.
9849         (openat): Renamed from rpl_openat; no need for rpl_openat
9850         since openat.h renames openat for us.
9851         Replace most of the body with a call to openat_permissive,
9852         to avoid duplicate code.
9853         Port to (probably hypothetical) environments were mode_t is
9854         wider than int.
9855         (openat_permissive): Require mode arg, so that we can check
9856         types better.  Put it just after flags.  Change cwd failure
9857         indicator from pointer-to-bool to pointer-to-errno-value.
9858         All callers changed.
9859         Invoke openat_save_fail and/or openat_restore_fail if
9860         cwd_errno is null, so that openat can call us.
9861         (openat_permissive, fdopendir, fstatat, unlinkat):
9862         Simplify errno handling to avoid some duplicate code,
9863         as it's OK to set errno on success.
9864         * lib/openat.h: Revamp code so that function macros depend on
9865         __OPENAT_PREFIX only, not also on AT_FDCWD.
9866         (openat_ro): Remove.  Caller changed to use openat_permissive.
9867         (openat_permissive): Now a macro, if not a function.
9868         (openat_restore_fail, openat_save_fail): Now always functions,
9869         since mkdirat needs them even if __OPENAT_PREFIX is defined.
9870
9871         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
9872         and openat.c.
9873         * lib/mkdirat.c: Include openat-priv.h.
9874         Remove definitions of macros defined therein.
9875         * lib/openat.c: Likewise.
9876
9877         * lib/mkdirat.c (mkdirat): New file and function.
9878         * lib/openat.h (mkdirat): Declare.
9879
9880         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
9881
9882         * lib/openat.h (openat_permissive): Declare.
9883         (openat_ro): Define.
9884
9885         * lib/openat.c (EXPECTED_ERRNO): New macro.
9886         (openat_permissive): New function -- used in remove.c rewrite.
9887         (all functions): Set errno just before returning, only if there
9888         was an actual failure.
9889         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
9890
9891         Emulate openat-family functions using Linux's procfs, if possible.
9892         Idea and some code based on Ulrich Drepper's glibc changes.
9893
9894         * lib/openat.c: (BUILD_PROC_NAME): New macro.
9895         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
9896         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
9897         before falling back on save_cwd and restore_cwd.
9898         (fdopendir, fstatat, unlinkat): Likewise.
9899
9900         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
9901         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
9902
9903         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
9904         as second argument to va_arg.  Otherwise, some versions of gcc
9905         warn that `if this code is reached, the program will abort'.
9906
9907 2006-01-09  Jim Meyering  <jim@meyering.net>
9908
9909         Sync from coreutils.
9910         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
9911         Require openat-priv.h.
9912
9913 2006-01-09  Bruno Haible  <bruno@clisp.org>
9914
9915         * modules/strnlen (Include): Use strnlen.h.
9916
9917 2006-01-09  Bruno Haible  <bruno@clisp.org>
9918
9919         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
9920
9921 2006-01-09  Bruno Haible  <bruno@clisp.org>
9922
9923         * lib/sysexit_.h (EX_OK): New macro.
9924         Suggested by Martin Lambers <marlam@marlam.de>.
9925
9926 2006-01-09  Bruno Haible  <bruno@clisp.org>
9927
9928         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
9929         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
9930
9931 2006-01-09  Bruno Haible  <bruno@clisp.org>
9932
9933         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
9934         numbers.
9935
9936 2006-01-09  Bruno Haible  <bruno@clisp.org>
9937
9938         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
9939         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
9940         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
9941         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
9942
9943 2006-01-09  Bruno Haible  <bruno@clisp.org>
9944
9945         * build-aux/javacomp.sh.in: New file, moved from lib/.
9946         * modules/javacomp-script (Files): Update.
9947         (configure.ac): Add AC_CONFIG_FILES invocation.
9948         (EXTRA_DIST): Remove variable.
9949
9950         * build-aux/javaexec.sh.in: New file, moved from lib/.
9951         * modules/javaexec (Files): Update.
9952         (configure.ac): Add AC_CONFIG_FILES invocation.
9953         (EXTRA_DIST): Remove javaexec.sh.in.
9954
9955         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
9956         * modules/csharpcomp-script (Files): Update.
9957         (configure.ac): Add AC_CONFIG_FILES invocation.
9958         (EXTRA_DIST): Remove variable.
9959
9960         * build-aux/csharpexec.sh.in: New file, moved from lib/.
9961         * modules/csharpexec (Files): Update.
9962         (configure.ac): Add AC_CONFIG_FILES invocation.
9963         (EXTRA_DIST): Remove csharpexec.sh.in.
9964
9965 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
9966
9967         Sync from coreutils.
9968
9969         Add POSIX ACL support
9970         * lib/acl.h (copy_acl, set_acl): Add declarations.
9971         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
9972         systems other than Linux.
9973         (chmod_or_fchmod): New function: use fchmod when possible,
9974         and chmod otherwise.
9975         (file_has_acl): Add a POSIX ACL implementation, with a
9976         Linux-specific subcase.
9977         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
9978         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
9979         acls are unsupported.
9980         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
9981         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
9982         are unsupported.
9983
9984 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
9985
9986         Sync from coreutils.
9987         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
9988
9989 2006-01-07  Bruno Haible  <bruno@clisp.org>
9990
9991         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
9992         gl_EARLY.
9993
9994 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9995
9996         * lib/strftime.c (tzname): Don't declare if it is already #defined.
9997         Problem reported for Mingw by Mark Junker.
9998
9999 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
10000
10001         * README: Gnulib normally doesn't generate a tarball.
10002
10003 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
10004
10005         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
10006         long int, not int, for nanosecond counts, so that people who are
10007         used to POSIX struct timespec won't be surprised.  Reported by Jim
10008         Meyering.
10009
10010 2005-12-28  Bruno Haible  <bruno@clisp.org>
10011
10012         * build-aux/config.rpath: Update from GNU gettext.
10013
10014 2005-12-16  Jim Meyering  <jim@meyering.net>
10015
10016         * modules/fprintftime: New module.
10017         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
10018
10019 2005-12-16  Jim Meyering  <jim@meyering.net>
10020
10021         * m4/fprintftime.m4: New file.
10022
10023 2005-12-16  Jim Meyering  <jim@meyering.net>
10024
10025         * lib/fprintftime.c, lib/fprintftime.h: New files.
10026
10027 2005-12-15  Simon Josefsson  <jas@extundo.com>
10028
10029         * modules/socklen (configure.ac): Fix M4 macro name, to align with
10030         new m4/socklen.m4.
10031
10032 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
10033
10034         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
10035         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
10036
10037 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
10038
10039         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
10040         * lib/argp-help.c (fill_in_uparams): Check if the constructed
10041         struct uparams is valid. Fall back to the default values if it is
10042         not.
10043
10044 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10045
10046         * modules/argp (Files): Add argp-pin.c
10047         (Depends-on): dirname
10048         (lib_SOURCES): Add argp-pin.c
10049
10050 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10051
10052         * m4/argp.m4:  Check if program_invocation_name and
10053         program_invocation_short_name are declared and define appropriate
10054         macros if they are not.
10055
10056 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10057
10058         * lib/argp-help.c (__argp_base_name): New function
10059         (__argp_short_program_name): Rewrite using __argp_base_name
10060         * lib/argp-namefrob.h: Define program_invocation_name and
10061         program_invocation_short_name if requested
10062         (__argp_base_name): Add prototype
10063         * lib/argp-parse.c (argp_def): Use gettext wrappers
10064         (argp_default_parser): Use __argp_base_name
10065         * lib/argp-pin.c: New file. Defines program_invocation_name and
10066         program_invocation_short_name on systems that lack them.
10067
10068 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
10069
10070         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
10071         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
10072         porting problem reported by Georg Schwarz in
10073         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
10074
10075 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
10076
10077         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
10078         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
10079         porting problem reported by Georg Schwarz in
10080         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
10081
10082 2005-12-05  Bruno Haible  <bruno@clisp.org>
10083
10084         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
10085         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
10086         Reported by Mark Junker <mjscod@gmx.de>.
10087
10088 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
10089
10090         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
10091         Use implementation from Albert Chin, with some
10092         comments/corrections by Stepan Kasal and myself.
10093
10094 2005-12-02  Bruno Haible  <bruno@clisp.org>
10095
10096         * gnulib-tool (func_import): Accept GPLed build tool modules when
10097         --lgpl is given.
10098         * modules/csharpcomp-script: New file.
10099         * modules/csharpcomp: Depend on it.
10100         * modules/javacomp-script: New file.
10101         * modules/javacomp: Depend on it.
10102         Suggested by Simon Josefsson.
10103
10104 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
10105
10106         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
10107         statement, to work around an HP-UX 10.20 compiler bug reported by
10108         Peter O'Gorman.
10109
10110 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
10111
10112         * modules/savedir (Depends-on): Add openat.
10113
10114 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
10115
10116         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
10117         (uintmax_t) [defined uintmax_t]: Do not declare.
10118         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
10119         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
10120         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
10121         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
10122         sake of portability to weird hosts that C allows (though we don't
10123         know of any practical examples).
10124
10125         * lib/savedir.h (fdsavedir): New decl.
10126         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
10127         contains most of the former guts of savedir.
10128         (savedir): Use savedirstream.
10129         Include "openat.h".
10130
10131 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
10132
10133         * modules/obstack (Files): Add m4/ulonglong.m4.
10134         Problem reported by Davide Angelocola.
10135
10136 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
10137
10138         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
10139         coreutils no longer futzes with rounding modes.
10140
10141 2005-11-14  Jim Meyering  <jim@meyering.net>
10142
10143         * lib/mkstemp-safer.c: Include <config.h>, required for possible
10144         replacement of mkstemp.
10145
10146 2005-11-10  Simon Josefsson  <jas@extundo.com>
10147
10148         * lib/readline.c: Remove EOL.
10149
10150 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10151
10152         * modules/gethrxtime (Depends-on): Add gettime.
10153
10154 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10155
10156         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
10157         or gettimeofday; no longer needed.
10158
10159 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
10160
10161         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
10162         time business.
10163         (gethrxtime) [! (HAVE_NANOUPTIME
10164         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
10165         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
10166         our own approximation.
10167
10168 2005-11-08  Eric Blake  <ebb9@byu.net>
10169
10170         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
10171
10172 2005-11-08  Eric Blake  <ebb9@byu.net>
10173
10174         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
10175
10176 2005-11-04  Bruno Haible  <bruno@clisp.org>
10177
10178         * gnulib-tool: Implement --update mode.
10179
10180 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10181
10182         Fix porting problem reported by Theodoros V. Kalamatianos.
10183         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
10184         Don't assume that futimes failing means we must fail.
10185
10186 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
10187
10188         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
10189         variables to suggest the intended function of the PATH_MAX check.
10190
10191 2005-10-30  Kean Johnston  <jkj@sco.com>
10192
10193         Trivial changes to support SCO systems.
10194         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
10195         as PATH_MAX.
10196         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
10197         where __ptr is null when no I/O is pending.
10198
10199 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
10200
10201         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
10202         leave errno alone.  Problem reported by Dmitry V. Levin.
10203
10204 2005-10-28  Simon Josefsson  <jas@extundo.com>
10205
10206         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
10207         Test more.
10208
10209         * tests/test-gc-md2.c, tests/test-md2.c: New files.
10210
10211         * modules/md2, modules/md2-tests: New files.
10212
10213 2005-10-28  Simon Josefsson  <jas@extundo.com>
10214
10215         * m4/inet_ntop.m4: More tests.
10216
10217         * m4/gc-md2.m4, md2.m4: New file.
10218
10219 2005-10-28  Simon Josefsson  <jas@extundo.com>
10220
10221         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
10222         "restrict" keywords, as per POSIX.  Protect the function
10223         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
10224         Don't use K&R prototypes.  Check the sprintf return values.
10225         Re-define EAFNOSUPPORT if not present.  Indent.
10226
10227         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
10228         suggested by Bruno Haible <bruno@clisp.org>.
10229
10230         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
10231
10232         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
10233
10234         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
10235         libgcrypt).
10236
10237         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
10238
10239         * lib/md2.h, lib/md2.c: New files.
10240
10241 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
10242
10243         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
10244         errno alone.  Problem reported by Frederic Jolliton.
10245
10246 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10247
10248         * modules/verify (License): Change from GPL to LGPL.  This is a
10249         tiny module and there are apparently near-equivalents that are
10250         under the BSD license.
10251
10252 2005-10-24  Simon Josefsson  <jas@extundo.com>
10253
10254         * modules/sha1: Relicense to LGPL.
10255
10256 2005-10-24  Simon Josefsson  <jas@extundo.com>
10257
10258         * lib/md4.h: Shrink buffer size, now that we changed the type.
10259
10260 2005-10-23  Simon Josefsson  <jas@extundo.com>
10261
10262         * gnulib-tool (func_import): Fix --tests-base.
10263
10264 2005-10-22  Simon Josefsson  <jas@extundo.com>
10265
10266         * modules/arcfour (Depends-on): Need stdint.
10267
10268 2005-10-22  Simon Josefsson  <jas@extundo.com>
10269
10270         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
10271         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
10272
10273 2005-10-22  Simon Josefsson  <jas@extundo.com>
10274
10275         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
10276         suggested by Bruno Haible <bruno@clisp.org>.
10277
10278 2005-10-22  Simon Josefsson  <jas@extundo.com>
10279
10280         * lib/crc.h: Include stddef.h, for size_t.
10281
10282 2005-10-22  Simon Josefsson  <jas@extundo.com>
10283
10284         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
10285         arcfour_context struct (simplify test vector testing in GNU
10286         Shishi).
10287
10288 2005-10-21  Simon Josefsson  <jas@extundo.com>
10289
10290         * modules/des, modules/des-tests: New files.
10291
10292         * modules/gc-des, modules/gc-des-tests: New files.
10293
10294         * tests/test-des.c, tests/test-gc-des.c: New file.
10295
10296 2005-10-21  Simon Josefsson  <jas@extundo.com>
10297
10298         * modules/arctwo, modules/arctwo-tests: New files.
10299
10300         * tests/test-arctwo.c: New file.
10301
10302         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
10303
10304         * tests/test-gc-arctwo.c: New file.
10305
10306 2005-10-21  Simon Josefsson  <jas@extundo.com>
10307
10308         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
10309         Bruno Haible <bruno@clisp.org>.
10310
10311         * m4/gc-des.m4: New file.
10312
10313 2005-10-21  Simon Josefsson  <jas@extundo.com>
10314
10315         * m4/arctwo.m4: New file.
10316
10317         * m4/gc-arctwo.m4: New file.
10318
10319 2005-10-21  Simon Josefsson  <jas@extundo.com>
10320
10321         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
10322         block.
10323
10324 2005-10-21  Simon Josefsson  <jas@extundo.com>
10325
10326         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
10327         <bruno@clisp.org>.
10328
10329         * lib/hmac-sha1.c (hmac_sha1): Likewise.
10330
10331         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
10332         Bruno Haible <bruno@clisp.org>.
10333
10334         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
10335         <bruno@clisp.org>.
10336
10337 2005-10-21  Simon Josefsson  <jas@extundo.com>
10338
10339         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
10340
10341 2005-10-21  Simon Josefsson  <jas@extundo.com>
10342
10343         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
10344
10345 2005-10-21  Simon Josefsson  <jas@extundo.com>
10346
10347         * lib/des.h, lib/des.c: New files.
10348
10349         * lib/gc-gnulib.c: Support DES.c
10350
10351 2005-10-21  Simon Josefsson  <jas@extundo.com>
10352
10353         * lib/arctwo.h, lib/arctwo.c: New files.
10354
10355         * lib/gc-gnulib.c: Support ARCTWO.
10356
10357 2005-10-21  Simon Josefsson  <jas@extundo.com>
10358
10359         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
10360         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10361
10362 2005-10-21  Simon Josefsson  <jas@extundo.com>
10363
10364         * gnulib-tool (func_import, func_create_testdir): Define automake
10365         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
10366         Makefile.am snippet),
10367         suggested by Bruno Haible <bruno@clisp.org>.
10368
10369         * modules/gc (Makefile.am): Use it.
10370
10371 2005-10-21  Bruno Haible  <bruno@clisp.org>
10372
10373         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
10374         patch.
10375
10376 2005-10-19  Simon Josefsson  <jas@extundo.com>
10377
10378         * tests/test-gc-rijndael.c: New file.
10379
10380         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
10381
10382 2005-10-19  Simon Josefsson  <jas@extundo.com>
10383
10384         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
10385         interface too.
10386
10387 2005-10-19  Simon Josefsson  <jas@extundo.com>
10388
10389         * tests/test-gc-arcfour.c: New file.
10390
10391         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
10392
10393 2005-10-19  Simon Josefsson  <jas@extundo.com>
10394
10395         * modules/gc-md4, modules/gc-md4-tests: New file.
10396
10397         * tests/test-gc-md4.c: New file.
10398
10399 2005-10-19  Simon Josefsson  <jas@extundo.com>
10400
10401         * m4/gc-md4.m4: New file.
10402
10403 2005-10-19  Simon Josefsson  <jas@extundo.com>
10404
10405         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
10406         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
10407         <kasal@ucw.cz>.
10408
10409 2005-10-19  Simon Josefsson  <jas@extundo.com>
10410
10411         * m4/gc-arcfour.m4: New file.
10412
10413         * m4/gc-rijndael.m4: New file.
10414
10415 2005-10-19  Simon Josefsson  <jas@extundo.com>
10416
10417         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
10418
10419 2005-10-19  Simon Josefsson  <jas@extundo.com>
10420
10421         * lib/gc-gnulib.c: Support ARCFOUR.
10422
10423 2005-10-19  Simon Josefsson  <jas@extundo.com>
10424
10425         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
10426         support.
10427
10428         * lib/gc.h: Add ECB enum type.
10429
10430         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
10431
10432 2005-10-18  Simon Josefsson  <jas@extundo.com>
10433
10434         * tests/test-md5.c: New file.
10435
10436         * modules/md5-tests: New file.
10437
10438 2005-10-18  Simon Josefsson  <jas@extundo.com>
10439
10440         * tests/test-md4.c: New file.
10441
10442         * modules/md4, modules/md4-tests: New files.
10443
10444 2005-10-18  Simon Josefsson  <jas@extundo.com>
10445
10446         * m4/md4.m4: New file.
10447
10448 2005-10-18  Simon Josefsson  <jas@extundo.com>
10449
10450         * lib/md4.h, lib/md4.c: New files, based on md5.?.
10451
10452 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
10453
10454         * gnulib-tool (func_create_testdir): Omit the second check whether
10455         BUILT_SOURCES in nonempty.
10456
10457 2005-10-17  Simon Josefsson  <jas@extundo.com>
10458
10459         * tests/test-rijndael.c: New file.
10460
10461 2005-10-17  Simon Josefsson  <jas@extundo.com>
10462
10463         * modules/sha1: Depend on stdint instead of md5.
10464
10465         * modules/md5: Depend on stdint, remove uint32_t.
10466
10467 2005-10-17  Simon Josefsson  <jas@extundo.com>
10468
10469         * modules/gc-sha1-tests: New file.
10470
10471         * tests/test-gc-sha1.c: New file.
10472
10473 2005-10-17  Simon Josefsson  <jas@extundo.com>
10474
10475         * m4/md5.m4: Remove call to uint32_t.m4.
10476
10477 2005-10-17  Simon Josefsson  <jas@extundo.com>
10478
10479         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
10480
10481         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
10482         md5.h.
10483
10484         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
10485
10486         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
10487
10488 2005-10-17  Simon Josefsson  <jas@extundo.com>
10489
10490         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
10491
10492 2005-10-17  Simon Josefsson  <jas@extundo.com>
10493
10494         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
10495
10496 2005-10-17  Simon Josefsson  <jas@extundo.com>
10497
10498         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
10499
10500         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
10501
10502 2005-10-17  Bruno Haible  <bruno@clisp.org>
10503
10504         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
10505         that it can also be used in a test.
10506
10507 2005-10-16  Bruno Haible  <bruno@clisp.org>
10508
10509         * gnulib-tool (func_emit_tests_Makefile_am): Also define
10510         TESTS_ENVIRONMENT, so that individual tests can augment it.
10511
10512         * gnulib-tool (func_create_testdir): Use an intermediate target for
10513         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
10514         macros, like $(ALLOCA_H), which cannot be passed through the command
10515         line.
10516
10517 2005-10-15  Simon Josefsson  <jas@extundo.com>
10518
10519         * modules/rijndael-tests: New file.
10520
10521         * modules/rijndael: New file.
10522
10523 2005-10-15  Simon Josefsson  <jas@extundo.com>
10524
10525         * m4/rijndael.m4: New file.
10526
10527 2005-10-15  Simon Josefsson  <jas@extundo.com>
10528
10529         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
10530
10531         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
10532
10533 2005-10-14  Simon Josefsson  <jas@extundo.com>
10534
10535         * tests/test-arcfour.c: New file.
10536
10537         * modules/arcfour, modules/arcfour-tests: New files.
10538
10539 2005-10-14  Simon Josefsson  <jas@extundo.com>
10540
10541         * m4/arcfour.m4: New file.
10542
10543 2005-10-14  Simon Josefsson  <jas@extundo.com>
10544
10545         * lib/arcfour.h, lib/arcfour.c: New files.
10546
10547 2005-10-14  Roland McGrath  <roland@redhat.com>
10548
10549         Import from libc.  [BZ #1331]
10550         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
10551         macro argument.
10552         Reported by Matej Vela <vela@debian.org>.
10553
10554 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10555
10556         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
10557         include <wchar.h>; no longer needed.
10558
10559 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10560
10561         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
10562
10563 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
10564         and  Ulrich Drepper  <drepper@redhat.com>
10565
10566         Import from libc.
10567         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
10568         instead of inline stream orientation test and two separate
10569         function calls.  Pay no attention to USE_IN_LIBIO.
10570
10571 2005-10-13  Simon Josefsson  <jas@extundo.com>
10572
10573         * modules/gc-hmac-md5-tests: New file.
10574
10575         * tests/test-gc-hmac-sha1.c: New file.
10576
10577         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
10578
10579         * modules/gc-hmac-md5-tests: New file.
10580
10581         * tests/test-gc-md5.c: New file.
10582
10583         * modules/gc-md5-tests: New file.
10584
10585 2005-10-13  Simon Josefsson  <jas@extundo.com>
10586
10587         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
10588         Move memory allocation outside of loop.
10589
10590 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
10591
10592         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
10593         intermediate directory is in a read-only file system.  Problem
10594         reported by Eric Blake.
10595
10596 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
10597
10598         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
10599
10600 2005-10-12  Simon Josefsson  <jas@extundo.com>
10601
10602         * tests/test-hmac-sha1.c: New file.
10603
10604         * modules/hmac-sha1-tests: New file.
10605
10606         * modules/hmac-sha1: New file.
10607
10608 2005-10-12  Simon Josefsson  <jas@extundo.com>
10609
10610         * modules/gc-sha1: New file.
10611
10612 2005-10-12  Simon Josefsson  <jas@extundo.com>
10613
10614         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
10615
10616         * tests/test-gc-pbkdf2-sha1.c: New file.
10617
10618 2005-10-12  Simon Josefsson  <jas@extundo.com>
10619
10620         * modules/gc-md5, modules/gc-hmac-md5: New files.
10621
10622         * modules/gc (Files): Remove md5, memxor and hmac files.
10623
10624 2005-10-12  Simon Josefsson  <jas@extundo.com>
10625
10626         * m4/gc-pbkdf2-sha1.m4: New file.
10627
10628         * m4/gc-hmac-sha1.m4: New file.
10629
10630         * m4/gc-sha1: New file.
10631
10632         * m4/hmac-sha1.m4: New file.
10633
10634 2005-10-12  Simon Josefsson  <jas@extundo.com>
10635
10636         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
10637
10638         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
10639
10640 2005-10-12  Simon Josefsson  <jas@extundo.com>
10641
10642         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
10643         suggested by Bruno Haible <bruno@clisp.org>.
10644
10645 2005-10-12  Simon Josefsson  <jas@extundo.com>
10646
10647         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
10648
10649 2005-10-12  Simon Josefsson  <jas@extundo.com>
10650
10651         * lib/gc-pbkdf2-sha1.c: New file.
10652
10653         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
10654
10655 2005-10-12  Simon Josefsson  <jas@extundo.com>
10656
10657         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
10658
10659         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
10660
10661 2005-10-12  Simon Josefsson  <jas@extundo.com>
10662
10663         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
10664         GC_USE_HMAC_MD5, respectively.
10665
10666         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
10667         (gc_md5): Fix typo.
10668
10669         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
10670
10671         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
10672
10673         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
10674
10675 2005-10-12  Bruno Haible  <bruno@clisp.org>
10676
10677         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
10678         Reported by Stepan Kasal <kasal@ucw.cz>.
10679
10680 2005-10-11  Simon Josefsson  <jas@extundo.com>
10681
10682         * tests/test-crc.c: New file.
10683
10684         * modules/crc, modules/crc-tests: New files.
10685
10686 2005-10-11  Simon Josefsson  <jas@extundo.com>
10687
10688         * m4/crc.m4: New file.
10689
10690 2005-10-11  Simon Josefsson  <jas@extundo.com>
10691
10692         * lib/gc.h: Add gc_hash and gc_hash_buffer.
10693
10694         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
10695
10696         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
10697
10698 2005-10-11  Simon Josefsson  <jas@extundo.com>
10699
10700         * lib/crc.h, lib/crc.c: New files.
10701
10702         * lib/gc.h (gc_hash_buffer): Add doc.
10703
10704 2005-10-11  Bruno Haible  <bruno@clisp.org>
10705
10706         * modules/c-strcasestr: New file.
10707         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
10708
10709 2005-10-11  Bruno Haible  <bruno@clisp.org>
10710
10711         * modules/c-strcase: New file.
10712         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
10713
10714 2005-10-11  Bruno Haible  <bruno@clisp.org>
10715
10716         * lib/strcasecmp.c: Include limits.h.
10717         (strcasecmp): Avoid integer overflow on exotic platforms.
10718         * lib/strncasecmp.c: Include limits.h.
10719         (strncasecmp): Avoid integer overflow on exotic platforms.
10720         Reported by Paul Eggert.
10721
10722 2005-10-11  Bruno Haible  <bruno@clisp.org>
10723
10724         * lib/c-strcasestr.h: New file, from GNU gettext.
10725         * lib/c-strcasestr.c: New file, from GNU gettext.
10726
10727 2005-10-11  Bruno Haible  <bruno@clisp.org>
10728
10729         * lib/c-strcase.h: New file, from GNU gettext.
10730         * lib/c-strcasecmp.c: New file, from GNU gettext.
10731         * lib/c-strncasecmp.c: New file, from GNU gettext.
10732
10733 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10734
10735         * modules/mempcpy (License): GPL -> LGPL.
10736         * modules/strchrnul (License): Likewise.
10737         * modules/sysexits (License): Likewise.
10738
10739 2005-10-08  Simon Josefsson  <jas@extundo.com>
10740
10741         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
10742
10743 2005-10-07  Simon Josefsson  <jas@extundo.com>
10744
10745         * m4/memxor.m4: Remove gl_C_RESTRICT call.
10746
10747 2005-10-06  Simon Josefsson  <jas@extundo.com>
10748
10749         * tests/test-hmac-md5.c: New file.
10750
10751         * modules/hmac-md5-tests: New file.
10752
10753         * modules/hmac-md5: New file.
10754
10755 2005-10-06  Simon Josefsson  <jas@extundo.com>
10756
10757         * m4/hmac-md5.m4: New file.
10758
10759         * m4/memxor.m4: Require gl_C_RESTRICT.
10760
10761 2005-10-06  Simon Josefsson  <jas@extundo.com>
10762
10763         * lib/memxor.c (memxor): Avoid casts and warnings.
10764
10765 2005-10-06  Simon Josefsson  <jas@extundo.com>
10766
10767         * lib/hmac-md5.c: New file.
10768
10769         * lib/hmac.h: New file.
10770
10771 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10772
10773         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
10774         promotes to int, not unsigned int, to catch the AIX 5.3
10775         compiler bug.
10776
10777 2005-10-05  Simon Josefsson  <jas@extundo.com>
10778
10779         * modules/memxor: New file.
10780
10781         * modules/iconv (Files): Move config.rpath to havelib, it is used
10782         there.
10783
10784         * modules/havelib (Files): Add config.rpath.
10785
10786 2005-10-05  Simon Josefsson  <jas@extundo.com>
10787
10788         * m4/memxor.m4: New file.
10789
10790 2005-10-05  Simon Josefsson  <jas@extundo.com>
10791
10792         * lib/memxor.c (memxor): Fix compiler error.
10793
10794         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
10795         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
10796
10797         * lib/memxor.h, lib/memxor.c: New files.
10798
10799         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
10800         we assume all systems have it, suggested by Jim Meyering
10801         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
10802         any systems lack sys/socket.h; mingw32 is known to lack it, but we
10803         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
10804         same reasons.
10805
10806 2005-10-05  Simon Josefsson  <jas@extundo.com>
10807
10808         * config/srclist.txt: Add glibc bug 1423 for md5.h.
10809
10810 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10811
10812         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
10813         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
10814         needed, since the source code now assumes these .h files.
10815
10816 2005-10-05  Derek Price  <derek@ximbiot.com>
10817
10818         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
10819
10820 2005-10-05  Bruno Haible  <bruno@clisp.org>
10821
10822         * modules/stdint (License): Change to LGPL.
10823
10824 2005-10-04  Simon Josefsson  <jas@extundo.com>
10825
10826         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
10827         D. Baushke" <mdb@gnu.org>.
10828
10829 2005-10-04  Bruno Haible  <bruno@clisp.org>
10830
10831         * lib/verify.h (verify_true): Provide alternative definition for C++.
10832
10833 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
10834
10835         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
10836         (SSIZE_MAX): New macro, if not already defined.
10837         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
10838         than 2 GiB.
10839
10840 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10841
10842         Sync from coreutils.
10843         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
10844         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
10845         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
10846         ULLONG_MAX doesn't work with 2.7.2.1.
10847
10848 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10849
10850         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
10851         From Ben Pfaff.
10852
10853         * modules/exclude (Depends-on): Depend on verify.
10854         * modules/strtoimax (Depends-on): Likewise.
10855         * modules/utimecmp (Depends-on): Likewise.
10856
10857 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
10858
10859         * lib/exclude.c: Include verify.h.
10860         (verify): Remove.  All callers changed to use verify.h's version.
10861         * lib/strtoimax.c: Likewise.
10862         * lib/utimecmp.c: Likewis.e
10863
10864         Sync from coreutils.
10865         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
10866         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
10867         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
10868         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
10869         bother returning ENOSYS if settimeofday or stime fails; just let
10870         them return whatever errno they want to return.
10871         * lib/utimens.c: Include unistd.h, for dup2.
10872         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
10873         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
10874
10875 2005-10-02  Jim Meyering  <jim@meyering.net>
10876
10877         Sync from coreutils.
10878         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
10879         from glibc-2.2.5 that fails for read-only files.
10880
10881 2005-10-02  Jim Meyering  <jim@meyering.net>
10882
10883         Sync from coreutils.
10884         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
10885         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
10886         `#if HAVE_CONFIG_H'.
10887         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
10888         Remove AT_FDCWD test.
10889         Do not consume the fd unless successful.
10890         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
10891         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
10892         block, so that we don't even try to compile it if settimeofday is
10893         available.  This works around a compilation failure on OSF1 V5.1,
10894         due to stime requiring a `long int*' while tv_sec is `int'.
10895
10896 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
10897
10898         Sync from coreutils.
10899         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
10900         against `yes', rather than just testing for nonempty.
10901
10902 2005-10-01  Simon Josefsson  <jas@extundo.com>
10903
10904         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
10905         and Darwin.
10906
10907         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
10908         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
10909         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
10910         freeaddrinfo and gai_strerror are declared by the POSIX headers.
10911         Check if struct addrinfo is declared.
10912
10913 2005-10-01  Simon Josefsson  <jas@extundo.com>
10914
10915         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
10916         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
10917         AI_* and EAI_* definitions.  Protect function declarations.
10918
10919 2005-10-01  Jim Meyering  <jim@meyering.net>
10920
10921         Sync from coreutils.
10922
10923         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
10924         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
10925         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
10926         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
10927         in the inet and nsl libraries.  Required on Solaris 5.7.
10928
10929 2005-10-01  Jim Meyering  <jim@meyering.net>
10930
10931         Sync from coreutils.
10932         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
10933         in the inet and nsl libraries.  Required on Solaris 5.7.
10934
10935 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
10936
10937         * lib/getdelim.c (getdelim): Remove unused variables.
10938
10939 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
10940
10941         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
10942         so that the code works even with ancient cpp.  Portability problem
10943         with GCC 2.7.2.1 reported by Thomas M.Ott.
10944
10945 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
10946
10947         * modules/regex (Depends-on): Add strcase.
10948
10949         * modules/gethostname (Licence): Change from GPL to LGPL, since
10950         gethostname.c is a trivial implementation of a standard library
10951         function.
10952         * modules/poll (License): Change from GPL to LGPL, since it's
10953         derived from LGPL code.
10954
10955 2005-09-27  Jim Meyering  <jim@meyering.net>
10956
10957         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
10958         HAVE_CONFIG_H.
10959
10960         * lib/intprops.h (signed_type_or_expr__): Define.
10961         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
10962         for unsigned types.
10963
10964 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10965
10966         * lib/verify.h (verify_expr): Remove, replacing with:
10967         (verify_true): New macro that returns true instead of void.
10968         (verify_type__): Remove.
10969         (verify): Use verify_true rather than verify_type__.
10970
10971 2005-09-26  Bruno Haible  <bruno@clisp.org>
10972
10973         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
10974         is necessary.
10975         (lib_SOURCES): Remove mbchar.c.
10976         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
10977         (Files): Add m4/mbrtowc.m4.
10978         * modules/mbiter: Likewise.
10979         * modules/mbuiter: Likewise.
10980
10981 2005-09-26  Bruno Haible  <bruno@clisp.org>
10982
10983         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
10984         compile mbchar.c if they are not both present.
10985         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
10986         * m4/mbiter.m4 (gl_MBITER): Likewise.
10987         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
10988         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
10989         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
10990
10991 2005-09-25  Jim Meyering  <jim@meyering.net>
10992
10993         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
10994         also uses socklen_t.
10995
10996 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10997
10998         * lib/utimens.c (ENOSYS): Define if not already defined.
10999         (futimens): Support having a null PATH if the file descriptor
11000         is nonnegative.
11001
11002         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
11003         Remove.
11004         (__attribute): Define to empty unless GCC 3.1 or later.
11005         This works around a core dump on OpenBSD 3.4, which has GCC
11006         2.95.3, which dumps core when given __attribute__(()).  It also
11007         simplifies other tests, since we really don't want to bother with
11008         worrying about which ancient version of GCC supported what.
11009         Original problem reported by Yoann Vandoorselaere, with part of
11010         the fix suggested by Derek Price.
11011
11012 2005-09-24  Jim Meyering  <jim@meyering.net>
11013
11014         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
11015         so we can once again use a positive bitfield width of 1 -- now we
11016         don't have to explain why we were using a bitfield width of 2.
11017
11018 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11019
11020         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
11021         and similarly for the other external symbols.  Problem reported
11022         by James Gallager.
11023
11024         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
11025         bug reported by Jim Meyering.
11026
11027         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
11028         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
11029         not needed, since socklen is a prerequisite module.
11030
11031 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11032
11033         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
11034         Problem reported by Eric Blake.
11035         (getaddrinfo): Initialize se so that it's not garbage.
11036         Redo internal storage allocation so that it doesn't make unportable
11037         assumptions about alignment.
11038         Fix a memory leak.
11039
11040         * lib/utimens.c (futimens): Use futimesat if available.
11041         Prefer it to futimes since it doesn't have the futimes bug.
11042
11043         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
11044         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
11045         Instead, declare a function that returns a pointer to an array,
11046         and use verify_type__ to declare the size of the array.
11047         Problem and germ of a solution reported by Bruno Haible.
11048         (verify_type__): Use 2, not 1, for bitfield size, to avoid
11049         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
11050
11051 2005-09-23  Jim Meyering  <jim@meyering.net>
11052
11053         Sync from coreutils.
11054         Correct build failure (socklen_t not defined) on at least
11055         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
11056         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
11057
11058 2005-09-23  Jim Meyering  <jim@meyering.net>
11059
11060         * modules/getaddrinfo (Depends-on): Add socklen.
11061
11062 2005-09-23  Bruno Haible  <bruno@clisp.org>
11063
11064         * tests/test-verify.c: New file.
11065
11066 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11067
11068         Sync from coreutils.
11069
11070         * modules/argmatch (Depends-on): Add verify.
11071         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
11072         unistd-safer.
11073         * modules/save-cwd (Depends-on): Likewise.
11074
11075         * modules/openat (Files): Add lib/openat-die.c.
11076         (Depends-on): Remove error, exitfail.
11077         Add dirname.
11078
11079         * modules/verify: New file.
11080         * MODULES.html.sh (Diagnostics <assert.h>): New section,
11081         with "verify" module.
11082
11083 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11084
11085         Sync from coreutils.
11086
11087         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
11088         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
11089         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
11090         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
11091         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
11092         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
11093         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
11094         Don't bother checking for string.h, stdlib.h, unistd.h.
11095         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
11096         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
11097         module's job.
11098         * m4/jm-macros.m4 (gl_MACROS): Likewise.
11099         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
11100
11101         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
11102         (gl_GETDATE): Use it.
11103
11104         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
11105
11106 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11107
11108         Sync from coreutils.
11109
11110         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
11111         stat-time.h.
11112         * lib/argmatch.h: Include verify.h
11113         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
11114         (ARGMATCH_ASSERT): Remove; unused.
11115         * lib/canonicalize.c: Assume STDC_HEADERS.
11116         * lib/exclude.c: Include "strcase.h".
11117         * lib/regex_internal.h [!defined _LIBC]: Likewise.
11118         * lib/getusershell.c: Include stdio--.h rather than stdio.h
11119         and stdio-safer.h.
11120         (getusershell): Call fopen, not fopen_safer.
11121         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
11122         Do not include unistd-safer.h.
11123         (save_cwd): Don't call fd_safer; no longer needed
11124         now that we include fcntl--.h.
11125
11126         * lib/getdate.y (relative_time): New type.
11127         (RELATIVE_TIME_0): New constant.
11128         (parser_control): Use relative_time instead of doing it ourselves.
11129         (%union): Add new relative_time rel member.
11130         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
11131         Now typeless.
11132         (relunit, relunit_snumber): Now of type rel.
11133         (zone, rel, relunit, get_date): Adjust to above changes.
11134
11135         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
11136         Do not include unistd-safer.h.
11137         (getloadavg): Don't call fd_safer; no longer needed
11138         now that we include fcntl--.h.
11139
11140         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
11141         (make_dir_parents): Treat ENOSYS like EEXIST.
11142
11143         Improve quality of diagnostics on restore_cwd failure.
11144         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
11145         (make_dir_parents): Last arg is now int * (for errno), not bool *.
11146         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
11147         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
11148         each time through the loop.  Do not diagnose restore_cwd failure;
11149         that is the caller's job (and perhaps the caller does not care).
11150
11151         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
11152         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
11153         If the file already exists but is not a directory, don't bother
11154         to try to make its parents.
11155         Close potential file descriptor leak if we can't chdir("/") (!).
11156         Don't always return true if chdir($PWD) fails; return true only
11157         if the requested action was done successfully (except for the
11158         chdir($PWD)).
11159         Don't log final directory unless we actually made it.
11160         Refactor to avoid duplicate code to fix up permissions.
11161         Don't attempt to fix up parent permissions if chdir($PWD) fails.
11162
11163         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
11164         to make it a bit faster and (I hope) clearer.
11165         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
11166         Fix bug in formats like %2N.
11167
11168         * lib/verify.h: New file.
11169
11170 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
11171
11172         Sync from coreutils.
11173         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
11174
11175 2005-09-22  Jim Meyering  <jim@meyering.net>
11176
11177         Sync from coreutils.
11178
11179         * m4/lstat.m4 (gl_FUNC_LSTAT):
11180         Use AC_LIBSOURCES to require lstat.c and lstat.h.
11181         Remove obsolete comment.
11182         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
11183         * m4/xstrtod.m4: Likewise.
11184
11185         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
11186
11187 2005-09-22  Jim Meyering  <jim@meyering.net>
11188
11189         Sync from coreutils.
11190
11191         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
11192
11193         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
11194         the .tm_year member, since otherwise gcc-4.0 would now warn about
11195         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
11196
11197         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
11198         order to avoid an unsuppressible warning from gcc on 64-bit systems.
11199
11200         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
11201         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
11202         when run in a time zone for which daylight savings time is in effect
11203         for the starting date.
11204
11205         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
11206         stop us from restricting permissions of just-created absolute-named
11207         directories.
11208         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
11209         to restore initial working directory.
11210         * lib/mkdir-p.c (make_dir_parents): New parameter:
11211         different_working_dir, to tell caller if/when we change the working
11212         directory and are unable to return to the initial one.
11213         * lib/mkdir-p.h (make_dir_parents): Update prototype.
11214         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
11215         `return false'.  This fixes a bug introduced on 2004-07-30.
11216
11217         * lib/openat.c (fdopendir): Be sure to close the supplied
11218         file descriptor before returning.  This makes our replacement
11219         implementation a little closer to Solaris's, where fdopendir
11220         ties the file descriptor to the returned DIR* pointer.
11221         * lib/openat.c (unlinkat): New function.
11222         * lib/openat.h (unlinkat): Add prototype.
11223         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
11224         (openat_restore_fail): Rename from openat_restore_die.
11225         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
11226
11227         Provide an alternative to exiting immediately upon save_cwd or
11228         restore_cwd failure.  Now, an application can arrange e.g.,
11229         to perform a longjump in that case.
11230         * lib/openat.c: Include dirname.h.
11231         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
11232         (rpl_openat, fdopendir, fstatat): Call openat_save_die
11233         and openat_restore_die rather than calling error directly.
11234         Don't include "error.h" or "exitfail.h"; they're no longer needed.
11235
11236         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
11237         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
11238         define.
11239
11240         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
11241         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
11242                             int utc, int nanoseconds);
11243         Background:
11244         date should not have to allocate a megabyte of virtual memory to
11245         handle a format argument like +%1048575T.  When implemented with
11246         strftime, it must allocate such a buffer, use strftime to fill it
11247         in, print it, then free it.
11248         With fprintftime, it simply prints everything and exits.
11249         With no need for memory allocation, that's one fewer way to fail.
11250         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
11251         optional field width, not before, so we accept %9:z, not %:9z.
11252         (my_strftime): Be sure to use L_('x') for literals.
11253
11254         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
11255         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
11256         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
11257         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
11258         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
11259         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
11260         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
11261         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
11262         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
11263         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
11264         * lib/xgethostname.c, lib/xreadlink.c:
11265         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
11266
11267         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
11268         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
11269         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
11270         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
11271         and don't include <sys/file.h>).
11272
11273 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
11274
11275         Sync from coreutils.
11276
11277         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
11278         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
11279         [!LDAV_DONE]: Avoid unused variable warning.
11280
11281 2005-09-21  Bruno Haible  <bruno@clisp.org>
11282
11283         * lib/unicodeio.h (unicode_to_mb): New declaration.
11284
11285 2005-09-20  Derek Price  <derek@ximbiot.com>
11286
11287         * lib/getaddrinfo.c: Don't include <netdb.h> included from
11288         getaddrinfo.h.
11289
11290 2005-09-20  Bruno Haible  <bruno@clisp.org>
11291
11292         * gnulib-tool: Remove trailing slashes from the values specified for
11293         --source-base, --m4-base, --tests-base, --aux-dir.
11294         Suggested by Simon Josefsson <jas@extundo.com>.
11295
11296 2005-09-20  Bruno Haible  <bruno@clisp.org>
11297
11298         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
11299         func_modules_to_filelist, func_import, func_create_testdir): Make all
11300         sorting results locale-independent, so that gnulib-cache.m4 doesn't
11301         change when gnulib-tool is invoked in a different locale.
11302
11303 2005-09-19  Simon Josefsson  <jas@extundo.com>
11304
11305         * m4/socklen.m4: Fix typo.
11306
11307 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11308
11309         Use a consistent style for including <config.h>.
11310         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
11311         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
11312         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
11313         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
11314         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
11315         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
11316         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
11317         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
11318         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
11319         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
11320         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
11321         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
11322         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
11323         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
11324         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
11325         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
11326         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
11327         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
11328         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
11329         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
11330         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
11331         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
11332         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
11333         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
11334         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
11335         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
11336         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
11337         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
11338         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
11339         lib/xstrtoumax.c, lib/yesno.c:
11340         Standardize inclusion of config.h.
11341         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
11342         lib/inttostr.h:  Removed inclusion of config.h from header files.
11343         * lib/inttostr.c:  Adjusted in-tree users.
11344         * lib/timespec.h: Remove superfluous warning to include config.h.
11345         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
11346         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
11347         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
11348         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
11349         config.h with HAVE_CONFIG_H.
11350
11351 2005-09-19  Jim Meyering  <jim@meyering.net>
11352
11353         * modules/pathmax (License): Change to LGPL.
11354
11355 2005-09-19  Derek Price  <derek@ximbiot.com>
11356
11357         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
11358
11359 2005-09-19  Bruno Haible  <bruno@clisp.org>
11360
11361         * gnulib-tool (import): Provide default for --tests-base.
11362
11363 2005-09-19  Bruno Haible  <bruno@clisp.org>
11364
11365         * doc/quote.texi: New file, extracted from gnulib.texi.
11366         * doc/ctime.texi: New file, extracted from gnulib.texi.
11367         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
11368         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
11369         * doc/gnulib.texi: Include them.
11370
11371 2005-09-18  Bruno Haible  <bruno@clisp.org>
11372
11373         Portability fix.
11374         * gnulib-tool (func_readlink): New function.
11375         (func_ln_if_changed): Use it.
11376
11377 2005-09-18  Bruno Haible  <bruno@clisp.org>
11378
11379         * gnulib-tool: Support --with-tests also with --import.
11380         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
11381         (func_import): Use variables $testsbase and $inctests. Emit a
11382         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
11383         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
11384         SUBDIRS += $testsdir.
11385         (func_create_testdir): Update.
11386
11387 2005-09-18  Bruno Haible  <bruno@clisp.org>
11388
11389         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
11390         instead of $dry_run.
11391         (func_cp_if_changed, func_mv_if_changed): Remove functions.
11392         (func_ln_if_changed): Don't handle dry-run here.
11393         (func_import): In dry-run mode, detect more precisely which actions
11394         would be performed, and don't use "...ing" verbs.
11395
11396 2005-09-18  Bruno Haible  <bruno@clisp.org>
11397
11398         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
11399         (func_import): Use join on two temporary files instead of three nested
11400         loops, in order to determine which files are new or old.
11401
11402 2005-09-18  Bruno Haible  <bruno@clisp.org>
11403
11404         * gnulib-tool (func_import): Comment out code that spits out the
11405         new files with --dry-run.
11406
11407 2005-09-18  Bruno Haible  <bruno@clisp.org>
11408
11409         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
11410
11411 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11412
11413         * lib/stat-time.h: New file.
11414         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
11415         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
11416         in a different way.
11417         (timespec_cmp): New function.
11418         * lib/utimecmp.c: Include stat-time.h.
11419         (SYSCALL_RESOLUTION): Depend on whether various struct stat
11420         members exist, not on the obsolescent ST_MTIM_NSEC.
11421         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
11422
11423 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11424
11425         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
11426
11427 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
11428
11429         * MODULES.html.sh (File system functions): Add stat-time.
11430         * modules/stat-time: New file.
11431         * modules/timespec (Files): Remove m4/st_mtim.m4; this
11432         is now done in a different way, by the stat-time module.
11433         * modules/utimecmp (Depends-on): Add stat-time.
11434
11435 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11436
11437         * m4/st_mtim.m4: Remove.  Superseded by...
11438         * m4/stat-time.m4: New file.
11439         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
11440         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
11441
11442 2005-09-15  Derek Price  <derek@ximbiot.com>
11443
11444         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
11445
11446 2005-09-15  Derek Price  <derek@ximbiot.com>
11447
11448         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
11449         * lib/regex_internal.c: Ditto, using this...
11450         (__GNUC_PREREQ): ...new macro.
11451         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
11452         using...
11453         (__GNUC_PREREQ): ...this new macro.
11454
11455         * lib/strstr.h: Include string.h. Define strstr as a macro here.
11456
11457 2005-09-15  Derek Price  <derek@ximbiot.com>
11458             Paul Eggert  <eggert@cs.ucla.edu>
11459
11460         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
11461         changes, consolidating in...
11462         * lib/regex_internal.h: ...this file.
11463
11464 2005-09-13  Jim Meyering  <jim@meyering.net>
11465
11466         * lib/canon-host.c: Filter through gnu indent and reword comments
11467         slightly.
11468         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
11469
11470 2005-09-13  Derek Price  <derek@ximbiot.com>
11471
11472         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
11473         failure.
11474         Reported by Jim Meyering  <jim@meyering.net>.
11475
11476 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
11477
11478         * lib/base64.c: Typo.
11479         (base64_encode): Put b64str in initialized data section.
11480
11481 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
11482
11483         Merge glibc and coreutils changes into gnulib, plus a few
11484         extra fixes.
11485         * lib/md5.c: Use #error rather than a string.
11486         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
11487         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
11488         (__attribute__): Define to empty for non recent-GCC.
11489         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
11490         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
11491         Renamed from their non-__ counterparts, with new macros replacing
11492         them if not _LIBC.  Add __THROW attribute.
11493         (rol): Remove.
11494         (struct md5_ctx): Align buffer if using GCC.
11495         * lib/sha1.h (struct sha1_ctx): Likewise.
11496         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
11497         The old name was backwards.
11498         (NOTSWAP): Remove; not used.
11499         (rol): New macro, moved here from md5.h.
11500         (sha1_process_block): Remove a FIXME that doesn't make sense.
11501
11502 2005-09-12  Derek Price  <derek@ximbiot.com>
11503
11504         Return usable errors from canon-host.
11505         * lib/canon-host.h: New file.
11506         * lib/canon-host.c (canon_host): Wrap...
11507         (canon_host_r): ...this new function, which now relies exclusively on
11508         getaddrinfo.
11509         (ch_strerror): New function.
11510         (last_cherror): New global.
11511         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
11512         interface.
11513         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
11514         void *.
11515         (freeaddrinfo): Free ai->ai_canonname when set.
11516
11517 2005-09-12  Derek Price  <derek@ximbiot.com>
11518
11519         Make canon-host require getaddrinfo.
11520         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
11521         AC_LIBSOURCE canon-host.h.  Call...
11522         (gl_PREREQ_CANON_HOST): ...this new function, which requires
11523         gl_GETADDRINFO.
11524         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
11525
11526 2005-09-12  Derek Price  <derek@ximbiot.com>
11527
11528         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
11529         LGPL.
11530         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
11531
11532 2005-09-12  Derek Price  <derek@ximbiot.com>
11533
11534         * lib/gai_strerror.c: Include config.h when available.  Include
11535         getaddrinfo.h before other headers to test interface.
11536         Reported by Larry Jones <lawrence.jones@ugs.com>.
11537
11538 2005-09-12  Derek Price  <derek@ximbiot.com>
11539             Paul Eggert  <eggert@cs.ucla.edu>
11540
11541         * modules/glob (Files): Add glob-libc.h.
11542
11543 2005-09-12  Derek Price  <derek@ximbiot.com>
11544             Paul Eggert  <eggert@cs.ucla.edu>
11545
11546         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
11547         glob_.h, glob-libc.h.
11548         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
11549
11550 2005-09-12  Derek Price  <derek@ximbiot.com>
11551             Paul Eggert  <eggert@cs.ucla.edu>
11552
11553         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
11554         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
11555         protecting things that should be done only in gnulib contexts.
11556         * lib/glob_.h: New file, containing only the glob things needed for
11557         gnulib.
11558         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
11559         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
11560         (glob, globfree, glob_pattern_p): Now defined simply in terms of
11561         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
11562         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
11563         and to respect the namespace rules better.
11564
11565 2005-09-08  Simon Josefsson  <jas@extundo.com>
11566
11567         * modules/socklen: New file.
11568
11569 2005-09-08  Simon Josefsson  <jas@extundo.com>
11570
11571         * m4/socklen.m4: New file.
11572
11573 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11574
11575         * modules/utimens (Files): Add m4/utimbuf.m4, since
11576         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
11577         Reported by Sergey Poznyakoff.
11578
11579 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11580
11581         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
11582         definitions, since that's the preferred style in glibc.
11583         Fix a minor spacing issue, and update copyright notice to match
11584         glibc's.
11585
11586 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11587
11588         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
11589
11590 2005-09-06  Simon Josefsson  <jas@extundo.com>
11591
11592         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
11593         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
11594
11595 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
11596
11597         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
11598         warning.
11599
11600 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
11601
11602         * config/srclist.txt: Add glibc bug 1302.
11603
11604 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11605
11606         Change bitset word type from unsigned int to unsigned long int,
11607         as this has better performance on typical 64-bit hosts.
11608         Port bitset code to hosts with unusual word sizes.
11609         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
11610         (build_collating_symbol):
11611         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
11612         argument is a bitset.  This is merely a style issue, but it makes
11613         it clearer that an entire array is expected.
11614         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
11615         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
11616         Port to the case where bitset_word is not the same as unsigned int.
11617         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
11618         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
11619         Likewise.
11620         * lib/regexec.c (check_dst_limits_calc_pos_1,
11621         check_subexp_matching_top):
11622         (build_trtable, group_nodes_into_DFAstates):
11623         Likewise.
11624         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
11625         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
11626         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
11627         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
11628         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
11629         * lib/regcomp.c (optimize_subexps, lower_subexp):
11630         Work even if bitset_word has holes in its bitwise representation.
11631         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
11632         * lib/regexec.c (check_dst_limits_calc_pos_1,
11633         check_subexp_matching_top):
11634         Likewise.
11635         * lib/regex_internal.c (re_string_reconstruct):
11636         Don't assume UCHAR_MAX == 255.
11637         * lib/regex_internal.h (bitset_set_all): Likewise.
11638         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
11639         All uses changed.
11640         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
11641         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
11642         All uses changed.
11643         (BITSET_WORD_MAX): New macro.
11644         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
11645         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
11646         (bitset_empty, bitset_copy):
11647         Prefer sizeof (bitset) to multiplying it out ourselves.
11648         (bitset_not_merge): Remove; unused.
11649         (bitset_contain): Return bool, not unsigned int with one bit on.
11650         All callers changed.
11651         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
11652         alignment than re_node_set; do this by defining a new internal
11653         type struct dests_alloc and using it to allocate memory.
11654
11655 2005-09-05  Bruno Haible  <bruno@clisp.org>
11656
11657         * gnulib-tool (func_import): Fix comparison in handling of symbolic
11658         links.
11659
11660 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
11661
11662         * modules/size_max (Makefile.am): Add size_max.h
11663
11664 2005-09-04  Derek Price  <derek@ximbiot.com>
11665
11666         * gnulib-tool (func_import): Fix reversed $symbolic logic.
11667
11668 2005-09-03  Simon Josefsson  <jas@extundo.com>
11669
11670         * gnulib-tool: Fix typo.
11671
11672 2005-09-03  Simon Josefsson  <jas@extundo.com>
11673
11674         * config/srclist.txt: Add glibc bug 1293.
11675
11676 2005-09-03  Derek Price  <derek@ximbiot.com>
11677
11678         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
11679         From Larry Jones <lawrence.jones@ugs.com>.
11680
11681 2005-09-02  Simon Josefsson  <jas@extundo.com>
11682
11683         * modules/socklen: New file.
11684
11685 2005-09-02  Simon Josefsson  <jas@extundo.com>
11686
11687         * modules/havelib: New module.
11688
11689         * modules/gettext, modules/iconv, modules/lock, modules/readline:
11690         Use havelib.
11691
11692 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11693
11694         Check for arithmetic overflow when calculating sizes, to prevent
11695         some buffer-overflow issues.  These patches are conservative, in the
11696         sense that when I couldn't determine whether an overflow was possible,
11697         I inserted a run-time check.
11698         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
11699         macros.
11700         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
11701         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
11702         (re_xnrealloc, re_x2nrealloc): New inline functions.
11703         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
11704         parse_bracket_exp):
11705         (build_equiv_class, build_charclass): Check for arithmetic overflow
11706         in size expression calculations.
11707         * lib/regex_internal.c (re_string_realloc_buffers):
11708         (build_wcs_upper_buffer, re_node_set_add_intersect):
11709         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
11710         (re_dfa_add_node, register_state): Likewise.
11711         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
11712         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
11713         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
11714         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
11715
11716 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
11717
11718         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
11719         m4/ulonglong.m4.  Problem reported by Martin Lambers.
11720
11721 2005-09-02  Bruno Haible  <bruno@clisp.org>
11722
11723         Support for lib vs. lib64 distinction on biarch platforms.
11724         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
11725         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
11726         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
11727
11728 2005-09-02  Bruno Haible  <bruno@clisp.org>
11729
11730         * gnulib-tool (import): In the other first-use case, provide defaults
11731         as well.
11732
11733 2005-09-02  Bruno Haible  <bruno@clisp.org>
11734
11735         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
11736         patches not yet found in the latest gettext release.
11737
11738 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11739
11740         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
11741         to avoid a collision with bits/local_lim.h in glibc.
11742         All uses changed.  Problem reported by Dmitry V. Levin in
11743         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
11744
11745         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
11746         bugs in int versus size_t comparisons.
11747         (re_string_context_at): Fix bug where the code assumed that
11748         Idx is signed.
11749
11750         Use bool where appropriate.
11751         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
11752         All callers changed.
11753         (calc_eclosure_iter): Likewise, for ROOT arg.
11754         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
11755         (build_charclass_op): Likewise, for NON_MATCH arg.
11756         * lib/regex_internal.c (re_string_allocate, re_string_construct):
11757         (re_string_construct_common): Likewise, for ICASE arg.
11758         * lib/regexec.c (re_search_2_stub, re_search_stub):
11759         Likewise, for RET_LEN arg.
11760         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
11761         (set_regs): Likewise, for FL_BACKTRACK arg.
11762         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
11763         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
11764         (calc_eclosure_iter, parse_bracket_exp):
11765         Use bool for internal variables that are booleans.
11766         * lib/regexec.c (re_search_internal, check_matching,
11767         proceed_next_node):
11768         (set_regs, build_sifted_states, sift_states_bkref):
11769         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
11770         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
11771         (find_collation_sequence_value):
11772         Likewise.
11773         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
11774         (re_node_set_compare):
11775         Return bool, not int. All callers changed.
11776         * lib/regexec.c (check_halt_node_context, check_dst_limits):
11777         (build_trtable, check_node_accept): Likewise.
11778         * lib/regex_internal.h: Include stdbool.h.
11779
11780         Fix bugs uncovered when converting to bool.
11781         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
11782         failure instead of charging ahead blindly.
11783         * lib/regex_internal.c (register_state): Likewise.
11784         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
11785         for freeing internal storage.
11786         (group_nodes_into_DFA_states): Use unsigned int, not int, for
11787         bitset pieces used as boolean, to avoid undefined behavior
11788         on hosts that do int overflow checking.
11789
11790 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11791
11792         * config/srclist.txt: Add glibc bugs 1285-1287.
11793
11794 2005-09-01  Jim Meyering  <jim@meyering.net>
11795
11796         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
11797         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
11798         Require gl_STAT_MACROS, too.
11799
11800 2005-09-01  Bruno Haible  <bruno@clisp.org>
11801
11802         * gnulib-tool (import): In the first-use case, provide defaults.
11803
11804 2005-09-01  Bruno Haible  <bruno@clisp.org>
11805
11806         * gnulib-tool (func_import): Remove the .tmp files.
11807
11808 2005-09-01  Bruno Haible  <bruno@clisp.org>
11809
11810         * gnulib-tool (func_import): Fix handling of symbolic links.
11811
11812 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11813
11814         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
11815         old glibc regex code mishandles strings longer than 2**31 bytes.
11816         This patch fixes this when the regex code is used in gnulib
11817         (i.e., outside glibc).
11818
11819         This patch should not affect the use of the regex code inside
11820         glibc.  No doubt this problem also needs to be handled for glibc
11821         as well, but the result will be an incompatible change to the
11822         glibc ABI, and the old ABI will have to be supported too.  That
11823         can be the the subject for another patch.
11824
11825         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
11826         governing whether the rest of this patch is active.  By default,
11827         the macro is disabled and the patch has no effect.
11828         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
11829         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
11830         (struct re_pattern_buffer, re_search, re_search_2, re_match):
11831         (re_match_2, re_set_registers): Use the new types.
11832         * lib/regex_internal.h (Idx, re_hashval_t): New types.
11833         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
11834         New macros.
11835         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
11836         (re_string_context_at, bin_tree_t, re_dfastate_t):
11837         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
11838         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
11839         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
11840         (re_string_char_size_at, re_string_wchar_at):
11841         (re_string_elem_size_at):
11842         Use the new types and macros to port to 64-bit hosts.
11843         Use unsigned types for internal values, so that the code
11844         mostly works even for arrays larger than SSIZE_MAX.
11845         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
11846         (search_duplicated_node, calc_eclosure_iter, fetch_number):
11847         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
11848         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
11849         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
11850         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
11851         (calc_inveclosure, parse_dup_op, build_range_exp):
11852         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
11853         (fetch_number, create_token_tree, mark_opt_subexp):
11854         Likewise.
11855         * lib/regex_internal.c (re_string_construct_common,
11856         create_ci_newstate):
11857         (create_cd_newstate, re_string_allocate, re_string_construct):
11858         (re_string_realloc_buffers, build_wcs_upper_buffer):
11859         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
11860         (re_string_reconstruct, re_string_peek_byte_case):
11861         (re_string_fetch_byte_case, re_string_context_at):
11862         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
11863         (re_node_set_init_copy, re_node_set_add_intersect):
11864         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
11865         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
11866         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
11867         (re_acquire_state, re_acquire_state_context, register_state):
11868         Likewise.
11869         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
11870         search_cur_bkref_entry):
11871         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
11872         (re_search_internal, re_search_2_stub, re_search_stub)
11873         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
11874         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
11875         (update_cur_sifted_state, check_dst_limits):
11876         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
11877         (check_subexp_limits, sift_states_bkref, merge_state_array):
11878         (check_subexp_matching_top, get_subexp, get_subexp_sub):
11879         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
11880         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
11881         (expand_bkref_cache, check_node_accept_bytes):
11882         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
11883         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
11884         (acquire_init_state_context, check_halt_node_context):
11885         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
11886         (sift_states_backward, clean_state_log_if_needed):
11887         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
11888         (find_recover_state, transit_state_sb, transit_state_mb):
11889         (transit_state_bkref, build_trtable, match_ctx_clean):
11890         Likewise.
11891         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
11892         to work around an assumption that REG_MISSING is negative.
11893
11894         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
11895         (seek_collating_symbol_entry) [defined _LIBC]:
11896         (lookup_collation_sequence_value) [defined _LIBC]:
11897         (build_range_exp, build_collating_symbol) [defined _LIBC]:
11898         Use prototypes rather than old-style function definitions.
11899         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
11900         (transit_state_sb) [0]:
11901         (find_collation_sequence_value) [defined _LIBC]: Likewise.
11902
11903         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
11904         rm_eo.
11905
11906         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
11907         (optimize_subexps, lower_subexp):
11908         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
11909         since the signed shift might overflow.  Use 1u<<31 instead.
11910         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
11911         Likewise.
11912         * lib/regexec.c (check_dst_limits_calc_pos_1,
11913         check_subexp_matching_top): Likewise.
11914
11915         * lib/regcomp.c (optimize_subexps, lower_subexp):
11916         Use CHAR_BIT rather than 8, for clarity.
11917         * lib/regexec.c (check_dst_limits_calc_pos_1):
11918         (check_subexp_matching_top): Likewise.
11919         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
11920         have to worry about portability issues when shifting it left.
11921         Remove no-longer-needed test for table_size > 0.
11922         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
11923         in a word, as the resulting behavior is undefined.
11924         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
11925         in one case, a <= should have been an <, and in another case the
11926         whole test was missing.
11927         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
11928         the standard name CHAR_BIT.
11929         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
11930         this is not true on one's complement and signed-magnitude hosts.
11931
11932         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
11933         next_last_offset.
11934         (struct re_dfa_t): Remove unused member states_alloc.
11935         * lib/regcomp.c (init_dfa): Don't initialize unused members.
11936
11937 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11938
11939         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
11940         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
11941         and large-file glibc and in 32-bit large-file Solaris.
11942
11943 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11944
11945         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
11946         lengths fit in regoff_t; this isn't true if regoff_t is the same
11947         width as size_t.
11948         * lib/regex.c (re_search_internal): 5th arg is LAST_START
11949         (= START + RANGE) instead of RANGE.  This avoids overflow
11950         problems when regoff_t is the same width as size_t.
11951         All callers changed.
11952         (re_search_2_stub): Check for overflow when adding the
11953         sizes of the two strings.
11954         (re_search_stub): Check for overflow when adding START
11955         to RANGE; if it occurs, substitute the extreme value.
11956
11957 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11958
11959         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
11960
11961 2005-08-31  Jim Meyering  <jim@meyering.net>
11962
11963         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
11964         a pointer-to-const.
11965         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
11966         (register_state): Likewise.
11967         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
11968         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
11969         (group_nodes_into_DFAstates): Likewise.
11970
11971 2005-08-31  Jim Meyering  <jim@meyering.net>
11972
11973         * check-module: Add a FIXME comment.
11974
11975 2005-08-31  Eric Blake  <ebb9@byu.net>
11976
11977         * modules/unistd-safer (Files): Add unistd--.h.
11978         * modules/stdio-safer (Files): Add stdio--.h.
11979
11980 2005-08-31  Derek Price  <derek@ximbiot.com>
11981
11982         * lib/getdelim.c (getdelim): Return EOF on EOF.
11983         Reported by Larry Jones <lawrence.jones@ugs.com>.
11984
11985 2005-08-31  Bruno Haible  <bruno@clisp.org>
11986
11987         Avoid unnecessary diffs in the generated lib/Makefile.am.
11988         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
11989         the generated files.
11990         (func_import): Don't set cmd.
11991
11992 2005-08-31  Bruno Haible  <bruno@clisp.org>
11993
11994         * lib/strstr.c: Include <stddef.h>, for NULL.
11995         * lib/strcasestr.c: Likewise.
11996         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
11997
11998 2005-08-31  Bruno Haible  <bruno@clisp.org>
11999
12000         * gnulib-tool: New option --macro-prefix.
12001         (func_import): Use macro_prefix.
12002         (import): Handle option --macro-prefix.
12003
12004 2005-08-31  Bruno Haible  <bruno@clisp.org>
12005
12006         * gnulib-tool (import): Rename most ac_* variables to cached_*.
12007         Also use new variables cached_lgpl, cached_libtool.
12008
12009 2005-08-31  Bruno Haible  <bruno@clisp.org>
12010
12011         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
12012         always instantiating them.
12013
12014 2005-08-31  Bruno Haible  <bruno@clisp.org>
12015
12016         * gnulib-tool (func_import): Read the previous cached settings
12017         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
12018         earlier added by gnulib but are now dropped. Warn when a gnulib file
12019         overwrites a non-gnulib file.
12020
12021 2005-08-31  Bruno Haible  <bruno@clisp.org>
12022
12023         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
12024         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
12025         projects that don't keep autogenerated files in CVS. Put into
12026         actioncmd only the specified modules, not the transitive closure.
12027
12028 2005-08-31  Bruno Haible  <bruno@clisp.org>
12029
12030         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
12031         Create directories that shall be filled.
12032         (import): Don't look for gl_* macros in configure.ac. Recurse across
12033         all directories containing a gnulib-cache.m4 files, if meaningful.
12034
12035 2005-08-31  Bruno Haible  <bruno@clisp.org>
12036
12037         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
12038         (import): Set seen_libtool when we see gl_LIBTOOL.
12039
12040 2005-08-31  Bruno Haible  <bruno@clisp.org>
12041
12042         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
12043         declaration macro definitions from generated gnulib.m4.
12044
12045 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
12046
12047         * lib/iconvme.h: Add prototype for iconv_alloc.
12048
12049 2005-08-29  Simon Josefsson  <jas@extundo.com>
12050
12051         * lib/iconvme.c: Fix errno.
12052
12053 2005-08-29  Bruno Haible  <bruno@clisp.org>
12054
12055         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
12056         that it works when the directory contains spaces.
12057
12058 2005-08-29  Bruno Haible  <bruno@clisp.org>
12059
12060         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
12061
12062 2005-08-29  Bruno Haible  <bruno@clisp.org>
12063
12064         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
12065         Emit more advice.
12066
12067 2005-08-29  Bruno Haible  <bruno@clisp.org>
12068         and Stepan Kasal  <kasal@ucw.cz>
12069
12070         * check-module: If more parameters are given, check each of them
12071         separately; add more exceptions, as noted by Jim Meyering.
12072         (check_module): New procedure.
12073         (%exempt_header): Now contains all exceptions.
12074
12075 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
12076
12077         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
12078
12079 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
12080
12081         * lib/iconvme.c: Split iconv_string into iconv_alloc.
12082
12083 2005-08-28  Bruno Haible  <bruno@clisp.org>
12084
12085         * m4/gnulib-tool.m4: New file.
12086
12087 2005-08-27  Jim Meyering  <jim@meyering.net>
12088
12089         * modules/unistd-safer (Files): Add pipe-safer.c.
12090         * modules/fcntl-safer (Files): Add creat-safer.c.
12091
12092 2005-08-27  Jim Meyering  <jim@meyering.net>
12093
12094         * m4/stdlib-safer.m4: New file.  From coreutils.
12095         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
12096         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
12097         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
12098         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
12099         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
12100
12101 2005-08-27  Jim Meyering  <jim@meyering.net>
12102
12103         * lib/fopen-safer.c: Merge minor changes from coreutils.
12104         * lib/dup-safer.c: Likewise.
12105         * lib/fd-safer.c: Likewise.
12106
12107         Merge from coreutils.
12108         * lib/stdio--.h: New file.
12109         * lib/stdlib--.h: New file.
12110         * lib/mkstemp-safer.c: New file.
12111
12112         GNU tar needs these.
12113         * lib/pipe-safer.c: New file.
12114         * lib/creat-safer.c: New file.
12115         * lib/fcntl--.h (creat): Define to creat_safer.
12116         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
12117         * lib/unistd--.h (pipe): Define to pipe_safer.
12118         * lib/unistd-safer.h: Declare pipe_safer.
12119
12120 2005-08-26  Simon Josefsson  <jas@extundo.com>
12121
12122         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
12123         Haible <bruno@clisp.org>.
12124
12125 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
12126
12127         * lib/regex_internal.h: Remove all references to
12128         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
12129         or better.
12130         (bitset_not, bitset_merge, bitset_not_merge):
12131         (bitset_mask, re_string_allocate, re_string_construct):
12132         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
12133         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
12134         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
12135         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
12136         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
12137         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
12138         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
12139         (re_acquire_state_context):
12140         Remove unnecessary forward decls.
12141         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
12142         Put __attribute at function definition,
12143         now that the function decl has been removed.
12144         * lib/regex_internal.c (re_string_peek_byte_case):
12145         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
12146         Likewise.
12147
12148 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
12149
12150         * m4/regex.m4: Add AC_PREREQ(2.50).
12151         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
12152
12153 2005-08-25  Simon Josefsson  <jas@extundo.com>
12154
12155         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
12156         __fsetlocking.
12157
12158 2005-08-25  Simon Josefsson  <jas@extundo.com>
12159
12160         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
12161         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
12162         GLIBC specific code.
12163
12164 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12165
12166         Make regex safe for g++.  This fixes one real bug (an "err"
12167         that should have been "*err").  g++ problem reported by
12168         Sam Steingold.
12169         * lib/regex_internal.h (re_calloc): New macro, consistent with
12170         re_malloc etc.  All callers of calloc changed to use re_calloc.
12171         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
12172         not int.  All callers changed.
12173         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
12174         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
12175         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
12176         (find_recover_state): Change "err" to "*err"; this fixes what
12177         appears to be a real bug.
12178         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
12179         versus int.
12180
12181 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12182
12183         * modules/regex (Depends-on): Add malloc, since the code
12184         assumes that !malloc(0) means failure.
12185
12186 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12187
12188         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
12189
12190         alloca modernization/simplification for regex.
12191         * lib/regex.c: Remove portability cruft for alloca.  This no longer
12192         needs to be at the start of the file, and can be moved into
12193         regex_internal.h and simplified.
12194         * lib/regex_internal.h: Include <alloca.h>.
12195         (__libc_use_alloca) [!defined _LIBC]: New macro.
12196         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
12197         now works outside glibc.
12198
12199 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12200
12201         * config/srclist.txt: Add glibc bugs 1241, 1245.
12202
12203 2005-08-25  Jim Meyering  <jim@meyering.net>
12204
12205         * lib/open-safer.c: Include <config.h>.
12206         Otherwise, we'd lose LARGEFILE support in any file using
12207         e.g. "fcntl--.h"
12208
12209 2005-08-25  Bruno Haible  <bruno@clisp.org>
12210
12211         * m4/minmax.m4: Require autoconf 2.52.
12212         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
12213         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
12214         alternatives of translit over the alphabet.
12215         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
12216
12217 2005-08-24  Simon Josefsson  <jas@extundo.com>
12218
12219         * tests/test-getpass.c: New file.
12220
12221 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12222
12223         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
12224         for GNU regex features.
12225
12226 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12227
12228         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
12229         * lib/regex.h (regerror): Likewise.
12230
12231         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
12232         requires this.  (The code never needed it.)
12233
12234         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
12235         All uses of recently-renamed identifiers changed to use the new,
12236         POSIX-compliant names.  The code will build and run just fine
12237         without these changes, but it's better to eat our own dog food
12238         and use the standard-conforming names.
12239
12240         * lib/regex.h: Fix a multitude of POSIX name space violations.
12241         These changes have an effect only for programs that define
12242         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
12243         do not change anything for programs compiled in the normal way.
12244         Also, there is no effect on the ABI.
12245
12246         (_REGEX_SOURCE): New macro.
12247         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
12248         defined and _GNU_SOURCE is not; this fixes a name space violation.
12249
12250         Rename the following macros to obey POSIX requirements.
12251         The old names are still visible as macros if _REGEX_SOURCE is defined.
12252         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
12253         RE_BACKSLASH_ESCAPE_IN_LISTS.
12254         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
12255         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
12256         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
12257         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
12258         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
12259         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
12260         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
12261         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
12262         (REG_INTERVALS): renamed from RE_INTERVALS.
12263         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
12264         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
12265         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
12266         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
12267         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
12268         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
12269         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
12270         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
12271         RE_UNMATCHED_RIGHT_PAREN_ORD.
12272         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
12273         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
12274         (REG_DEBUG): renamed from RE_DEBUG.
12275         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
12276         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
12277         unusual, since we can't clash with the POSIX REG_ICASE.
12278         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
12279         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
12280         (REG_NO_SUB): renamed from RE_NO_SUB.
12281         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
12282         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
12283         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
12284         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
12285         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
12286         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
12287         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
12288         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
12289         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
12290         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
12291         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
12292         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
12293         RE_SYNTAX_POSIX_MINIMAL_BASIC.
12294         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
12295         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
12296         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
12297         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
12298         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
12299         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
12300         (REG_FIXED): Renamed from REGS_FIXED.
12301         (REG_NREGS): Renamed from RE_NREGS.
12302
12303         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
12304         of other REG_* macros, since POSIX says the user is allowed to
12305         #undef these macros selectively.
12306
12307         (reg_errcode_t): Update comment stating what other tables need
12308         to be consistent.
12309
12310         Rename the following enum values to obey POSIX requirements.
12311         The old names are still visible as macros.
12312         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
12313         is not defined, since GNU is supposed to be a superset of POSIX as
12314         much as possible, and since we want reg_errcode_t to be a signed
12315         type for implementation consistency.
12316         (_REG_NOERROR): Renamed from REG_NOERROR.
12317         (_REG_NOMATCH): Renamed from REG_NOMATCH.
12318         (_REG_BADPAT): Renamed from REG_BADPAT.
12319         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
12320         (_REG_ECTYPE): Renamed from REG_ECTYPE.
12321         (_REG_EESCAPE): Renamed from REG_EESCAPE.
12322         (_REG_ESUBREG): Renamed from REG_ESUBREG.
12323         (_REG_EBRACK): Renamed from REG_EBRACK.
12324         (_REG_EPAREN): Renamed from REG_EPAREN.
12325         (_REG_EBRACE): Renamed from REG_EBRACE.
12326         (_REG_BADBR): Renamed from REG_BADBR.
12327         (_REG_ERANGE): Renamed from REG_ERANGE.
12328         (_REG_ESPACE): Renamed from REG_ESPACE.
12329         (_REG_BADRPT): Renamed from REG_BADRPT.
12330         (_REG_EEND): Renamed from REG_EEND.
12331         (_REG_ESIZE): Renamed from REG_ESIZE.
12332         (_REG_ERPAREN): Renamed from REG_ERPAREN.
12333         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
12334         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
12335         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
12336         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
12337
12338         (_REG_RE_NAME, _REG_RM_NAME): New macros.
12339         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
12340         changed.  But support the old name if the new one is not defined
12341         and if _REGEX_SOURCE.
12342
12343         Change the following member names in struct re_pattern_buffer.
12344         The old names are still supported if !_REGEX_SOURCE.
12345         The new names are always supported, regardless of _REGEX_SOURCE.
12346         (re_buffer): Renamed from buffer.
12347         (re_allocated): Renamed from allocated.
12348         (re_used): Renamed from used.
12349         (re_syntax): Renamed from syntax.
12350         (re_fastmap): Renamed from fastmap.
12351         (re_translate): Renamed from translate.
12352         (re_can_be_null): Renamed from can_be_null.
12353         (re_regs_allocated): Renamed from regs_allocated.
12354         (re_fastmap_accurate): Renamed from fastmap_accurate.
12355         (re_no_sub): Renamed from no_sub.
12356         (re_not_bol): Renamed from not_bol.
12357         (re_not_eol): Renamed from not_eol.
12358         (re_newline_anchor): Renamed from newline_anchor.
12359
12360         Change the following member names in struct re_registers.
12361         The old names are still supported if !_REGEX_SOURCE.
12362         The new names are always supported, regardless of _REGEX_SOURCE.
12363         (rm_num_regs): Renamed from num_regs.
12364         (rm_start): Renamed from start.
12365         (rm_end): Renamed from end.
12366
12367         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
12368         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
12369         Prepend __ to parameter names.
12370
12371         Undo yesterday's changes.
12372
12373 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12374
12375         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
12376         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
12377         lib/regex.c.
12378
12379 2005-08-24  Jim Meyering  <jim@meyering.net>
12380
12381         Sync from coreutils.
12382         * m4/fcntl-safer.m4: New file.
12383
12384         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
12385         and object files for this module.
12386
12387 2005-08-24  Jim Meyering  <jim@meyering.net>
12388
12389         Sync from coreutils.
12390         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
12391
12392 2005-08-24  Jim Meyering  <jim@meyering.net>
12393
12394         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
12395         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
12396
12397 2005-08-24  Jim Meyering  <jim@meyering.net>
12398
12399         * modules/fcntl-safer: New module.
12400         * modules/fts (Depends-on): Add fcntl-safer.
12401         * MODULES.html.sh (File descriptor based Input/Output):
12402         Add fcntl-safer.
12403
12404 2005-08-24  Bruno Haible  <bruno@clisp.org>
12405
12406         Support for unit test modules.
12407         * modules/README: Mention tests modules.
12408         * modules/TEMPLATE-TESTS: New file.
12409         * gnulib-tool: New options --extract-tests-module, --with-tests and
12410         --tests-base (unused for the moment).
12411         (testsbase, inctests): New variables.
12412         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
12413         (func_verify_module): Exclude TEMPLATE-TESTS.
12414         (func_verify_nontests_module, func_verify_tests_module): New functions.
12415         (func_get_dependencies): Add implicit dependency for tests modules.
12416         (func_get_tests_module): New function.
12417         (func_modules_transitive_closure): When --with-tests was specified,
12418         include the unit tests as well, unless explicitly avoided.
12419         (func_emit_lib_Makefile_am): Ignore the tests modules here.
12420         (func_emit_tests_Makefile_am): New function.
12421         (func_create_testdir): When --with-tests was specified, emit a
12422         tests/ directory.
12423         * MODULES.html.sh (Future developments): Update.
12424
12425 2005-08-24  Bruno Haible  <bruno@clisp.org>
12426
12427         * modules/tls-tests: New file.
12428         * tests/test-tls.c: New file, from GNU gettext.
12429
12430 2005-08-24  Bruno Haible  <bruno@clisp.org>
12431
12432         * modules/lock-tests: New file.
12433         * tests/test-lock.c: New file, from GNU gettext.
12434
12435 2005-08-24  Bruno Haible  <bruno@clisp.org>
12436
12437         * lib/lock.h: Add multiple inclusion guard.
12438         * lib/tls.h: Add multiple inclusion guard.
12439
12440 2005-08-24  Bruno Haible  <bruno@clisp.org>
12441
12442         * gnulib-tool: Add support for the --aux-dir option to
12443         --create-testdir, --create-megatestdir, --test, --megatest.
12444         (func_create_testdir, func_create_megatestdir): Optionally emit a
12445         AC_CONFIG_AUX_DIR directive.
12446         (create-testdir, create-megatestdir, test, megatest): Provide a
12447         default value for $auxdir.
12448
12449 2005-08-24  Bruno Haible  <bruno@clisp.org>
12450
12451         * gnulib-tool (import): Use compound statement instead of subshell
12452         where possible.
12453
12454 2005-08-24  Bruno Haible  <bruno@clisp.org>
12455
12456         * gnulib-tool (import): Change --aux-dir default to "build-aux".
12457
12458 2005-08-24  Bruno Haible  <bruno@clisp.org>
12459
12460         * gnulib-tool (func_version): Update.
12461
12462 2005-08-24  Bruno Haible  <bruno@clisp.org>
12463
12464         * gnulib-tool (func_import, func_create_testdir,
12465         func_create_megatestdir): Quote all autoconf macro arguments.
12466
12467 2005-08-24  Bruno Haible  <bruno@clisp.org>
12468
12469         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
12470         option --force, because --force causes the aclocal.m4 of each
12471         subdirectory to be newer than the corresponding config.h.in.
12472
12473 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12474
12475         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
12476         All contents moved to gl_REGEX.
12477         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
12478         assume that it does.
12479
12480 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12481
12482         * lib/regex.h (REG_NOSYS)
12483         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
12484         Define, since POSIX requires it as of 2001.
12485         (_REG_ENOSYS)
12486         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
12487         New private symbol, used to keep the enum signed in all cases.
12488         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
12489         Youngman in
12490         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
12491
12492         * lib/regex_internal.c (re_string_skip_chars, register_state):
12493         (calc_state_hash):
12494         Remove forward decls; no longer needed now that we use prototypes.
12495         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
12496         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
12497         (clean_state_log_if_needed): Likewise.
12498
12499 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12500
12501         * config/srclist.txt: Add glibc bugs 1231-1233.
12502
12503 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12504
12505         Fix problems reported by Sam Steingold in
12506         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
12507         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
12508         assumed that reg_errcode_t is a signed type, which is not
12509         necessarily true if _XOPEN_SOURCE is not defined.
12510         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
12511         since some compilers warn about it otherwise.
12512
12513 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12514
12515         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
12516         (init_word_char, create_initial_state, duplicate_node_closure):
12517         (fetch_token, peek_token_bracket, build_range_exp):
12518         (build_collating_symbol): Remove forward decls; no longer needed
12519         now that we use prototypes.
12520
12521         * lib/regcomp.c:
12522         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
12523         (re_compile_fastmap_iter, regcomp, regerror, regfree):
12524         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
12525         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
12526         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
12527         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
12528         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
12529         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
12530         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
12531         (build_range_exp, build_collating_symbol, parse_bracket_exp):
12532         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
12533         (build_charclass, build_charclass_op, fetch_number, create_tree):
12534         (create_token_tree, mark_opt_subexp, duplicate_tree):
12535         Use prototypes rather than old-style definitions.
12536
12537         * lib/regex_internal.c:
12538         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
12539         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
12540         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
12541         (re_string_reconstruct, re_string_peek_byte_case):
12542         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
12543         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
12544         (re_node_set_init_copy, re_node_set_add_intersect):
12545         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
12546         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
12547         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
12548         (re_acquire_state, re_acquire_state_context, register_state):
12549         (create_ci_newstate, create_cd_newstate, free_state):
12550         Likewise.
12551         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
12552         re_search_2):
12553         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
12554         (re_search_internal, prune_impossible_nodes):
12555         (acquire_init_state_context, check_matching, static):
12556         (check_halt_node_context, check_halt_state_context, proceed_next_node):
12557         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
12558         (update_regs, sift_states_backward, build_sifted_states):
12559         (clean_state_log_if_needed, merge_state_array):
12560         (update_cur_sifted_state, add_epsilon_src_nodes):
12561         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
12562         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
12563         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
12564         (find_recover_state, check_subexp_matching_top, transit_state_mb):
12565         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
12566         (check_arrival, check_arrival_add_next_nodes):
12567         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
12568         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
12569         (check_node_accept_bytes, check_node_accept, extend_buffers):
12570         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
12571         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
12572         (sift_ctx_init):
12573         Likewise.
12574
12575         * lib/regex_internal.h:
12576         (re_string_allocate, re_string_construct, re_string_reconstruct):
12577         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
12578         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
12579         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
12580         (re_string_context_at, re_string_peek_byte_case):
12581         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
12582         is defined, since we now use prototypes always.
12583
12584         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
12585         C89 or better.  All uses removed.
12586
12587 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12588
12589         * config/srclist.txt: Add glibc bugs 1220-1227.
12590
12591 2005-08-20  Jim Meyering  <jim@meyering.net>
12592
12593         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
12594         of unused local, dfa.
12595
12596 2005-08-20  Bruno Haible  <bruno@clisp.org>
12597
12598         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
12599
12600 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12601
12602         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
12603         (re_node_set_insert_last, re_dfa_add_node):
12604         Rename local variables to avoid GCC shadowing warnings.
12605
12606 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12607
12608         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
12609         [defined lint]: Suppress bogus uninitialized-variable warnings.
12610
12611         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
12612         and let the caller return REG_ESPACE if out of space.  This
12613         removes an uninitialied-variable warning with GCC 4.0.1, and also
12614         avoids taking the address of a local variable.  All callers
12615         changed.
12616
12617 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12618
12619         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
12620         $LIBCSRC/posix/regexec.c.
12621         Add glibc bug 1217 for regcomp.c.
12622
12623 2005-08-19  Jim Meyering  <jim@meyering.net>
12624
12625         * lib/regexec.c (proceed_next_node): Redo local variables to
12626         avoid GCC shadowing warnings.
12627
12628 2005-08-18  Bruno Haible  <bruno@clisp.org>
12629
12630         * lib/strstr.c (strstr): Fix return value in multibyte case.
12631         * lib/strcasestr.c (strcasestr): Likewise.
12632
12633 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12634
12635         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
12636
12637 2005-08-17  Jim Meyering  <jim@meyering.net>
12638
12639         Make the %s format (seconds since the epoch) work for a negative
12640         number and when used with a zero-padded field width, e.g. %015s.
12641
12642         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
12643         label so that it precedes the code to set `digits'.  Otherwise,
12644         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
12645         print `00-22'.  Now, it prints `-0022', as it should.
12646
12647 2005-08-17  Bruno Haible  <bruno@clisp.org>
12648
12649         * modules/strstr (Files): Add m4/mbrtowc.m4.
12650         (Depends-on): Add mbuiter.
12651
12652 2005-08-17  Bruno Haible  <bruno@clisp.org>
12653
12654         * modules/strcasestr: New file.
12655         * MODULES.html.sh (String handling, based on ANSI C 89): Add
12656         strcasestr.
12657
12658 2005-08-17  Bruno Haible  <bruno@clisp.org>
12659
12660         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
12661
12662 2005-08-17  Bruno Haible  <bruno@clisp.org>
12663
12664         * modules/mbuiter: New file.
12665         * MODULES.html.sh (Extended multibyte and wide character utilities):
12666         Add mbuiter.
12667
12668 2005-08-17  Bruno Haible  <bruno@clisp.org>
12669
12670         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
12671         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
12672
12673 2005-08-17  Bruno Haible  <bruno@clisp.org>
12674
12675         * m4/strcasestr.m4: New file.
12676
12677 2005-08-17  Bruno Haible  <bruno@clisp.org>
12678
12679         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
12680         * lib/strstr.c: Completely rewritten, with multibyte locale support.
12681
12682 2005-08-17  Bruno Haible  <bruno@clisp.org>
12683
12684         * lib/strcasestr.h: New file.
12685         * lib/strcasestr.c: New file.
12686
12687 2005-08-17  Bruno Haible  <bruno@clisp.org>
12688
12689         * lib/strcasecmp.c: Use mbuiter.h.
12690
12691 2005-08-17  Bruno Haible  <bruno@clisp.org>
12692
12693         * lib/mbuiter.h: New file.
12694
12695 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
12696
12697         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
12698         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
12699         and gl_GETOPT are both invoked via different paths (as happens
12700         with GNU tar CVS because it uses both argp and getopt), the former
12701         wins.
12702
12703 2005-08-16  Bruno Haible  <bruno@clisp.org>
12704
12705         * modules/tls: New file.
12706         * MODULES.html.sh (Multithreading): Add tls.
12707
12708 2005-08-16  Bruno Haible  <bruno@clisp.org>
12709
12710         * modules/strnlen1: New file.
12711         * MODULES.html.sh (String handling): Add strnlen1.
12712
12713 2005-08-16  Bruno Haible  <bruno@clisp.org>
12714
12715         * modules/strcase (Files): Add m4/mbrtowc.m4.
12716         (Depends-on): Add strnlen1, mbchar.
12717
12718 2005-08-16  Bruno Haible  <bruno@clisp.org>
12719
12720         * modules/mbiter: New file.
12721         * MODULES.html.sh (Extended multibyte and wide character utilities):
12722         Add mbiter.
12723
12724 2005-08-16  Bruno Haible  <bruno@clisp.org>
12725
12726         * modules/mbfile: New file.
12727         * MODULES.html.sh (Extended multibyte and wide character utilities):
12728         Add mbfile.
12729
12730 2005-08-16  Bruno Haible  <bruno@clisp.org>
12731
12732         * modules/mbchar: New file.
12733         * MODULES.html.sh (Extended multibyte and wide character utilities):
12734         New section.
12735
12736 2005-08-16  Bruno Haible  <bruno@clisp.org>
12737
12738         * m4/tls.m4: New file, from GNU gettext.
12739
12740 2005-08-16  Bruno Haible  <bruno@clisp.org>
12741
12742         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
12743         always.
12744         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
12745
12746 2005-08-16  Bruno Haible  <bruno@clisp.org>
12747
12748         * m4/mbiter.m4: New file.
12749
12750 2005-08-16  Bruno Haible  <bruno@clisp.org>
12751
12752         * m4/mbfile.m4: New file.
12753
12754 2005-08-16  Bruno Haible  <bruno@clisp.org>
12755
12756         * m4/mbchar.m4: New file.
12757
12758 2005-08-16  Bruno Haible  <bruno@clisp.org>
12759
12760         * lib/tls.h: New file, from GNU gettext.
12761         * lib/tls.c: New file, from GNU gettext.
12762
12763 2005-08-16  Bruno Haible  <bruno@clisp.org>
12764
12765         * lib/strnlen1.h: New file.
12766         * lib/strnlen1.c: New file.
12767
12768 2005-08-16  Bruno Haible  <bruno@clisp.org>
12769
12770         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
12771         (mbi_init): Update.
12772         (mbi_avail, mbi_advance): Let the iteration end before the terminating
12773         NUL byte, not after it.
12774
12775 2005-08-16  Bruno Haible  <bruno@clisp.org>
12776
12777         * lib/strcase.h (strcasecmp): Add note in comments.
12778         * lib/strncasecmp.c: Use code from strcasecmp.c.
12779         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
12780         (strcasecmp): Work correctly in multibyte locales.
12781
12782 2005-08-16  Bruno Haible  <bruno@clisp.org>
12783
12784         * lib/mbiter.h: New file.
12785
12786 2005-08-16  Bruno Haible  <bruno@clisp.org>
12787
12788         * lib/mbfile.h: New file.
12789
12790 2005-08-16  Bruno Haible  <bruno@clisp.org>
12791
12792         * lib/mbchar.h: New file.
12793         * lib/mbchar.c: New file.
12794
12795 2005-08-16  Bruno Haible  <bruno@clisp.org>
12796
12797         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
12798         the valid ones. Makes the comparison operations transitive:
12799         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
12800         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
12801
12802 2005-08-15  Simon Josefsson  <jas@extundo.com>
12803
12804         * modules/ssize_t (License): Change to 'unlimited'.
12805
12806         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
12807
12808 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12809
12810         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
12811         Add comments for each pending glibc patch.
12812
12813 2005-08-15  Bruno Haible  <bruno@clisp.org>
12814
12815         * lib/regex.h (__restrict_arr): Don't define to __restrict if
12816         __cplusplus is defined.
12817
12818 2005-08-14  Jim Meyering  <jim@meyering.net>
12819
12820         Sync from coreutils.
12821
12822         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
12823         Use the hash-table-based cycle-detection code not just when
12824         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
12825         Reported by James Youngman in
12826         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
12827         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
12828         FTS_TIGHT_CYCLE_CHECK.
12829         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
12830         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
12831         once again.
12832         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
12833         * lib/fts.c (fd_safer): Remove decl.
12834         Include fcntl--.h rather than unistd-safer.h
12835         (fts_safe_changedir): Don't call fd_safer; no longer needed
12836         now that we include fcntl--.h.
12837
12838 2005-08-12  Simon Josefsson  <jas@extundo.com>
12839
12840         * modules/getndelim2: Use ssize_t module.
12841         * modules/getnline: Likewise.
12842         * modules/safe-read: Likewise.
12843         * modules/xreadlink: Likewise.
12844
12845         * modules/ssize_t: New file.
12846
12847 2005-08-12  Simon Josefsson  <jas@extundo.com>
12848
12849         * m4/readline.m4: Look for termcap, curses or ncurses if required.
12850
12851 2005-08-12  Simon Josefsson  <jas@extundo.com>
12852
12853         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12854         ssize_t.
12855
12856 2005-08-12  Simon Josefsson  <jas@extundo.com>
12857
12858         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
12859         readline, getdelim and check_version.
12860         (Support for systems lacking ISO C 99: Sizes of integer types):
12861         Add size_max.
12862
12863 2005-08-12  Bruno Haible  <bruno@clisp.org>
12864
12865         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
12866
12867 2005-08-11  Simon Josefsson  <jas@extundo.com>
12868
12869         * modules/readline: New file.
12870
12871         * modules/strnlen (Files): Add strnlen.h.
12872
12873 2005-08-11  Simon Josefsson  <jas@extundo.com>
12874
12875         * m4/readline.m4: New file.
12876
12877 2005-08-11  Simon Josefsson  <jas@extundo.com>
12878
12879         * lib/readline.h, readline.c: New file.
12880
12881 2005-08-11  Simon Josefsson  <jas@extundo.com>
12882
12883         * doc/gnulib.texi (Initial import, Finishing touches): Mention
12884         gl_AVOID.
12885
12886 2005-08-11  Bruno Haible  <bruno@clisp.org>
12887
12888         * lib/strnlen.h (strnlen): Change parameter name to match comment.
12889
12890 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
12891
12892         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
12893
12894 2005-08-10  Simon Josefsson  <jas@extundo.com>
12895
12896         * tests/test-iconvme.c: New file.
12897
12898 2005-08-10  Simon Josefsson  <jas@extundo.com>
12899
12900         * m4/strnlen.m4: New file.
12901
12902         * m4/strndup.m4: Don't check for strnlen declaration, done in
12903         strnlen.m4.
12904
12905 2005-08-10  Simon Josefsson  <jas@extundo.com>
12906
12907         * lib/strndup.c: Use strnlen.h.
12908
12909         * lib/strnlen.h: New file.
12910
12911 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
12912
12913         * README: Typos.
12914
12915 2005-08-02  Simon Josefsson  <jas@extundo.com>
12916
12917         * modules/readline: New file.
12918
12919 2005-08-02  Simon Josefsson  <jas@extundo.com>
12920
12921         * modules/getdelim: New file.
12922
12923         * modules/getline: Rewrite, don't use getndelim2.
12924
12925 2005-08-02  Simon Josefsson  <jas@extundo.com>
12926
12927         * m4/getline.m4: Separate out getdelim stuff into separate module.
12928
12929         * m4/getdelim.m4: New file.
12930
12931 2005-08-02  Simon Josefsson  <jas@extundo.com>
12932
12933         * lib/getline.h, getline.c: Rewrite.
12934
12935         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
12936
12937 2005-07-31  Bruno Haible  <bruno@clisp.org>
12938
12939         * lib/lock.h (gl_lock_initializer): New macro.
12940         (gl_lock_define_initialized): Use it.
12941         (gl_rwlock_initializer): New macro.
12942         (gl_rwlock_define_initialized): Use it.
12943         (gl_recursive_lock_initializer): New macro.
12944         (gl_recursive_lock_define_initialized): Use it.
12945
12946 2005-07-30  Karl Berry  <karl@gnu.org>
12947
12948         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
12949         Report from Ben Pfaff, regarding getopt.
12950
12951 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
12952
12953         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
12954         normal way.
12955         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
12956         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
12957         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
12958         (gl_GETOPT): Use the new macros.  Most of the implementation
12959         is moved to the new macros.  This is for programs like Emacs
12960         that don't want all the functionality of gl_GETOPT.
12961
12962 2005-07-26  Bruno Haible  <bruno@clisp.org>
12963
12964         * m4/lock.m4: Update from GNU gettext.
12965
12966 2005-07-26  Bruno Haible  <bruno@clisp.org>
12967
12968         * lib/lock.h: Update from GNU gettext.
12969         * lib/lock.c: Update from GNU gettext.
12970
12971 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12972
12973         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
12974         obsolescent AC_TRY_RUN.  Include the default includes files, for
12975         'exit'.
12976
12977 2005-07-24  Bruno Haible  <bruno@clisp.org>
12978
12979         * modules/visibility: New file.
12980         * MODULES.html.sh (Misc): Add visibility.
12981
12982 2005-07-24  Bruno Haible  <bruno@clisp.org>
12983
12984         * m4/visibility.m4: New file.
12985
12986 2005-07-24  Bruno Haible  <bruno@clisp.org>
12987
12988         * doc/visibility.texi: New file.
12989
12990 2005-07-22  Bruno Haible  <bruno@clisp.org>
12991
12992         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
12993         $(ALLOCA_H), redundant through BUILT_SOURCES.
12994         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
12995         redundant through BUILT_SOURCES.
12996         * modules/byteswap (Makefile.am): Remove explicit dependency on
12997         $(BYTESWAP_H), redundant through BUILT_SOURCES.
12998         * modules/fnmatch (Makefile.am): Remove explicit dependency on
12999         $(FNMATCH_H), redundant through BUILT_SOURCES.
13000         * modules/getopt (Makefile.am): Remove explicit dependency on
13001         $(GETOPT_H), redundant through BUILT_SOURCES.
13002         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
13003         redundant through BUILT_SOURCES.
13004         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
13005         redundant through BUILT_SOURCES.
13006         * modules/stdbool (Makefile.am): Remove explicit dependency on
13007         $(STDBOOL_H), redundant through BUILT_SOURCES.
13008         * modules/stdint (Makefile.am): Remove explicit dependency on
13009         $(STDINT_H), redundant through BUILT_SOURCES.
13010         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
13011         Remove explicit dependency on $(SYSEXITS_H).
13012         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
13013
13014 2005-07-18  Simon Josefsson  <jas@extundo.com>
13015
13016         * lib/check-version.c (check_version): Accept identical versions too.
13017
13018 2005-07-18  Bruno Haible  <bruno@clisp.org>
13019
13020         * modules/lock: New file.
13021         * MODULES.html.sh (Multithreading): New section.
13022
13023 2005-07-18  Bruno Haible  <bruno@clisp.org>
13024
13025         * m4/lock.m4: New file, from GNU gettext.
13026
13027 2005-07-18  Bruno Haible  <bruno@clisp.org>
13028
13029         * lib/lock.h: New file, from GNU gettext.
13030         * lib/lock.c: New file, from GNU gettext.
13031
13032 2005-07-18  Bruno Haible  <bruno@clisp.org>
13033
13034         * lib/lock.h (gl_once_t): New type.
13035         (gl_once_define, gl_once): New macros.
13036         * lib/lock.c (fresh_once): New variable.
13037         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
13038         functions.
13039
13040 2005-07-16  Simon Josefsson  <jas@extundo.com>
13041
13042         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
13043         workaround, suggested by Bruno.
13044
13045 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13046
13047         * modules/xalloc (Depends-on): Add xalloc-die.
13048         * modules/xvasprintf (Depends-on): Add xalloc-die.
13049
13050 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13051
13052         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
13053         with a minor change.
13054
13055 2005-07-15  Bruno Haible  <bruno@clisp.org>
13056
13057         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
13058         When using lib/poll.c, define poll as rpl_poll.
13059
13060 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13061
13062         * modules/argp (Depends-on): Remove unlocked-io.
13063
13064 2005-07-14  Derek Price  <derek@ximbiot.com>
13065
13066         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
13067         for glob symlink bug.
13068
13069 2005-07-14  Bruno Haible  <bruno@clisp.org>
13070
13071         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
13072         Instead, test for *_unlocked function declarations directly.
13073
13074 2005-07-11  Simon Josefsson  <jas@extundo.com>
13075
13076         * modules/size_max: New file.
13077
13078         * modules/xsize: Depend on size_max module for size_max.m4.
13079
13080 2005-07-11  Simon Josefsson  <jas@extundo.com>
13081
13082         * lib/size_max.h: New file.
13083
13084 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
13085
13086         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
13087         copyright symbol and the year.
13088         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
13089         (version_etc_va): Use parameterized copyright notice.
13090         Reword to conform to the current GNU coding standards.
13091
13092 2005-07-11  Karl Berry  <karl@gnu.org>
13093
13094         * doc/gnulib.texi (Quoting): new node.
13095         (Initial import): more info, from Patrice.
13096
13097 2005-07-11  Bruno Haible  <bruno@clisp.org>
13098
13099         * gnulib-tool (func_usage): Document option --avoid.
13100         (Command line options): Handle --avoid.
13101         (func_acceptable): New function.
13102         (func_modules_transitive_closure): Use it.
13103
13104 2005-07-11  Bruno Haible  <bruno@clisp.org>
13105
13106         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
13107         Reported by Jim Meyering.
13108
13109 2005-07-10  Bruno Haible  <bruno@clisp.org>
13110
13111         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
13112         Needed when size_t is smaller than 'unsigned int'.
13113         Reported by Paul Eggert.
13114
13115 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13116
13117         * modules/argp (Depends-on): Add unlocked-io
13118
13119 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
13120
13121         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
13122         block of defines.
13123
13124 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13125
13126         * config/srclist.txt: Comment out regcomp.c, since we have a porting
13127         fix now.
13128
13129 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
13130         and Paul Eggert  <eggert@cs.ucla.edu>
13131
13132         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
13133         in wint_t, not wchar_t.  Remove now-unnecessary cast.
13134
13135 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13136
13137         * modules/regex (Files): Add lib/regex_internal.c,
13138         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
13139         (Depends-on): Add extensions.
13140         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
13141
13142 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13143
13144         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
13145         pathconf.
13146         * m4/same.m4 (gl_SAME): Likewise.
13147         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
13148
13149         * m4/regex.m4: Adjust to new libc regex implementation.
13150         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
13151         all the .c and .h parts of (the new) regex.
13152         Quote the m4 stuff better.
13153         Check for RE_ICASE bug of old gnulib.
13154         Check for REG_STARTEND of recent libc.
13155         Rename local variables from jm_* to gl_*.
13156         Quote operand of "test -f".
13157         Say "recent enough" version of libc, not "version 2".
13158         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
13159         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
13160         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
13161         Remove check for btowc, isascii.
13162         Require AM_LANGINFO_CODESET.
13163
13164 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13165
13166         * lib/regex.c, regex.h: Sync from libc.
13167         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
13168         * lib/regexec.c:
13169         New files, synced from libc, except that regex_internal.h
13170         currently has a small porting fix.
13171
13172 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
13173
13174         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
13175         regex_internal.c, regexec.c.
13176         Add regex_internal.h too, but as a comment, since the libc version
13177         is currently broken in gnulib mode.
13178
13179 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13180
13181         Support programs like Emacs that use gnulib but not gettext.
13182         * MODULES.html.sh (Internationalization functions): Add gettext-h.
13183         * modules/gettext-h: New file.
13184         * modules/gettext (Files): Remove lib/gettext.h.
13185         (Depends-on): Add gettext-h.
13186         (Makefile.am): Remove lib_SOURCES.
13187         * modules/argmatch, modules/c-stack, modules/closeout:
13188         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
13189         * modules/execute, modules/file-type, modules/getaddrinfo:
13190         * modules/getopt, modules/human, modules/javacomp:
13191         * modules/javaexec, modules/mkdir-p, modules/obstack:
13192         * modules/openat, modules/pagealign_alloc, modules/pipe:
13193         * modules/quotearg, modules/regex, modules/rpmatch:
13194         * modules/unicodeio, modules/userspec, modules/version-etc:
13195         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
13196         * modules/xsetenv:
13197         Depend on gettext-h, not gettext.
13198
13199 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13200
13201         * gnulib-tool (func_import): Add support for 'public domain' license.
13202         * modules/alloca, modules/atexit, modules/memmove:
13203         Now public domain, not GPL.
13204         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
13205         * modules/realloc, modules/strerror, modules/strtod:
13206         Now LGPL, not GPL.
13207
13208 2005-07-05  Bruno Haible  <bruno@clisp.org>
13209
13210         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
13211         autoconf CVS. Needed for mingw.
13212
13213 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13214
13215         Remove the dependency of the strftime module on the tzset module.
13216         * modules/strftime (Depends-on): Remove dependency on tzset.
13217
13218 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13219
13220         Remove the dependency of the strftime module on the tzset module.
13221         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
13222         gl_FUNC_TZSET_CLOBBER.
13223
13224 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
13225
13226         Remove the dependency of the strftime module on the tzset module.
13227         * lib/strftime.c (my_strftime)
13228         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
13229         Copy the input structure, to work around some of the bug with
13230         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
13231         Solaris releases, you should also use the tzset module, but we won't
13232         require it as a dependency any more since we don't want LGPLed code
13233         to depend on GPLed code.
13234
13235 2005-07-02  Jim Meyering  <jim@meyering.net>
13236
13237         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
13238         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
13239         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
13240         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
13241
13242 2005-07-02  Jim Meyering  <jim@meyering.net>
13243
13244         * lib/backupfile.c (backup_args): Change a `0' to NULL.
13245
13246 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
13247
13248         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
13249         declares only 'struct timespec;' (!).
13250
13251 2005-07-01  Jim Meyering  <jim@meyering.net>
13252
13253         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
13254         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
13255         * lib/save-cwd.c, tempname.c:
13256         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
13257         and don't include <sys/file.h>).
13258
13259 2005-06-29  Jim Meyering  <jim@meyering.net>
13260
13261         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
13262         type name.  Use the variable name instead.
13263         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
13264         Likewise.
13265
13266 2005-06-28  Simon Josefsson  <jas@extundo.com>
13267
13268         * modules/check-version (Files): Add check-version.m4.
13269
13270 2005-06-28  Simon Josefsson  <jas@extundo.com>
13271
13272         * m4/check-version.m4: New file, suggested by Jim Meyering
13273         <jim@meyering.net>.
13274
13275 2005-06-28  Simon Josefsson  <jas@extundo.com>
13276
13277         * lib/check-version.h, lib/check-version.c: New files.
13278
13279 2005-06-28  Simon Josefsson  <jas@extundo.com>
13280
13281         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
13282         collision with global variable.  Better indentation.  Don't
13283         increment buffer pointer beyond buffer end.  Based on comments
13284         from Paul Eggert <eggert@cs.ucla.edu>.
13285
13286         * lib/base64.h: Indent.
13287
13288 2005-06-28  Simon Josefsson  <jas@extundo.com>
13289
13290         * doc/gnulib.texi (Library version handling): New section.
13291
13292 2005-06-28  Jim Meyering  <jim@meyering.net>
13293
13294         * check-module (find_included_lib_files): Hard-code another
13295         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
13296         but modules/fts-lgpl (correctly) does not list those files.
13297
13298         * modules/canonicalize (Files): Add lib/pathmax.h.
13299
13300 2005-06-25  Simon Josefsson  <jas@extundo.com>
13301
13302         * modules/check-version: New file.
13303
13304 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
13305
13306         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
13307         initializer of struct addrinfo, as an indication that we don't
13308         care how many members the structure has.
13309
13310 2005-06-24  Derek Price  <derek@ximbiot.com>
13311         and Bruno Haible  <bruno@clisp.org>
13312
13313         Remove stat module & update lstat.
13314         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
13315         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
13316         * m4/stat.m4: Remove this file.
13317
13318 2005-06-24  Derek Price  <derek@ximbiot.com>
13319         and Bruno Haible  <bruno@clisp.org>
13320
13321         Remove stat module & update lstat.
13322         * lib/stat.c: Remove this file...
13323         (slash_aware_lstat): ...moving this content and its support...
13324         * lib/lstat.c (rpl_lstat): ...into here.
13325         * lib/lstat.h: New file.
13326
13327 2005-06-24  Derek Price  <derek@ximbiot.com>
13328         and Bruno Haible  <bruno@clisp.org>
13329
13330         Remove stat module & update lstat.
13331         * config/srclist.txt (libc sources): Remove stat.
13332
13333 2005-06-24  Derek Price  <derek@ximbiot.com>
13334         and Bruno Haible  <bruno@clisp.org>
13335
13336         Remove stat module & update lstat.
13337         * MODULES.html.sh (stat): Remove.
13338         * MODULES.html: Regenerated.
13339         * modules/lstat (Description): Correct function name.
13340         (Files): Add "lstat.h".
13341         (Depends-on): Remove stat, add xalloc, stat-macros.
13342         * modules/stat: Remove this file.
13343         (Include): Add "lstat.h", remove <sys/stat.h>.
13344
13345 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
13346
13347         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
13348         (ranged_convert): Don't save conversion in a temporary struct.
13349         This causes a warning with GCC 4.0.0, and anyway in the typical
13350         case it's not worth the extra 100 bytes or so of code.
13351         (ranged_convert, __mktime_internal): When calling a function via a
13352         pointer P, use P () rather than (*P) (), as we now assume C89 or
13353         better.
13354
13355 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
13356
13357         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
13358         "who -r" failed to give output.  Problem reported by Tim Waugh.
13359
13360         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
13361         (xcalloc): Use it to avoid needless tests.
13362         Problem reported by Jim Meyering.
13363
13364 2005-06-20  Derek Price  <derek@ximbiot.com>
13365
13366         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
13367         unnecessary for Autoconfs > 2.59c.
13368
13369 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13370
13371         * lib/argp.h (__option_is_short): Check upper limit of
13372         __key. Isprint() requires its argument to have the value
13373         of an unsigned char or EOF.
13374
13375 2005-06-16  Jim Meyering  <jim@meyering.net>
13376
13377         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
13378         when either N or S is zero.
13379
13380 2005-06-16  Derek Price  <derek@ximbiot.com>
13381
13382         * m4/bison.m4: Declare YACC & YFLAGS precious.
13383
13384 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
13385
13386         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
13387         multibyte string or pattern, fall back on unibyte matching.
13388         Problem reported by James Youngman.
13389
13390 2005-06-08  Bruno Haible  <bruno@clisp.org>
13391
13392         * modules/csharpcomp: New file.
13393         * MODULES.html.sh (C#): Add csharpcomp.
13394
13395 2005-06-08  Bruno Haible  <bruno@clisp.org>
13396
13397         * m4/csharpcomp.m4: New file, from GNU gettext.
13398
13399 2005-06-08  Bruno Haible  <bruno@clisp.org>
13400
13401         * lib/csharpcomp.h: New file, from GNU gettext.
13402         * lib/csharpcomp.c: New file, from GNU gettext.
13403         * lib/csharpcomp.sh.in: New file, from GNU gettext.
13404
13405 2005-06-08  Bruno Haible  <bruno@clisp.org>
13406
13407         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
13408         warning on mingw.
13409
13410 2005-06-07  Derek Price  <derek@ximbiot.com>
13411
13412         Sync from CVS.
13413         * lib/glob_.h: Indent nested #ifdef.
13414
13415 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13416
13417         Sync from coreutils.
13418         Use "file name" when talking about file names, instead of "filename"
13419         or "path", as per the GNU coding standards.
13420         * lib/mkdir-p.c: Renamed from makepath.c.
13421         (make_dir_parents): Renamed from make_path.  All callers changed.
13422         * lib/mkdir-p.h: Likewise.  All includers changed.
13423         * lib/filenamecat.c: Renamed from path-concat.c.
13424         (file_name_concat): Renamed from path_concat.  All callers changed.
13425         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
13426         * lib/filenamecat.h: Likewise.  All includers changed.
13427         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
13428         in comments or local variable names.
13429         * lib/basename.c: Likewise.
13430         * lib/canonicalize.c, canonicalize.h: Likewise.
13431         * lib/dirname.c, dirname.h: Likewise.
13432         * lib/euidaccess.c: Likewise.
13433         * lib/exclude.c: Likewise
13434         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
13435         * lib/fsusage.c, fsuage.h: Likewise.
13436         * lib/fts.c, fts_.h: Likewise.
13437         * lib/getcwd.c: Likewise.
13438         * lib/getloadavg.c: Likewise.
13439         * lib/mkstemp.c: Likewise.
13440         * lib/mountlist.c, mountlist.h: Likewise.
13441         * lib/openat.c, openat.h: Likewise.
13442         * lib/readlink-stub.c: Likewise.
13443         * lib/readutmp.c, readutmp.h: Likewise.
13444         * lib/rename.c: Likewise.
13445         * lib/rmdir.c: Likewise.
13446         * lib/same.c: Likewise.
13447         * lib/savedir.c: Likewise.
13448         * lib/stripslash.c: Likewise.
13449         * lib/tempname.c: Likewise.
13450         * lib/xreadlink.c: Likewise.
13451         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
13452         All uses changed.
13453         * lib/exclude.h: Likewise.
13454
13455         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
13456         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
13457         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
13458         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
13459         * lib/pathmax.h: Include <limits.h> unconditionally, since other
13460         files have been getting away with it for years (MORE/BSD 4.3
13461         is extinct now).
13462         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
13463         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
13464
13465         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
13466         Define to 256, not 255, as per modern POSIX.
13467
13468 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13469
13470         Sync from coreutils.
13471         Use "file name" when talking about file names, instead of "filename"
13472         or "path", as per the GNU coding standards.
13473         * MODULES.html.sh: mkdir-p renamed from makepath.
13474         filenamecat renamed from path-concat.
13475         * modules/filenamecat: Renamed from modules/path-concat.
13476         (Files): filenamecat.h and filenamecat.c renamed from
13477         path-concat.h and path-concat.c.
13478         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
13479         (Include): filenamecat.h, not path-concat.h.
13480         * modules/mkdir-p: Renamed from modules/makepath.
13481         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
13482         makepath.c.
13483         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
13484         (Include): mkdir-p.h, not makepath.h.
13485
13486 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13487
13488         Sync from coreutils.
13489         * m4/mkdir-p.m4: Renamed from makepath.m4.
13490         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
13491         Rename files from makepath.c to mkdir-p.c, and from
13492         makepath.h to mkdir-p.h.
13493         * m4/filenamecat.m4: Renamed from path-concat.m4.
13494         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
13495         Rename files from path-concat.c to filenamecat.c,
13496         and from path-concat.h to filenamecat.h.
13497         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
13498         "file name" in local variables or comments.
13499         * m4/rename.m4: Likewise.
13500
13501 2005-06-01  Bruno Haible  <bruno@clisp.org>
13502
13503         * modules/csharpexec: New file.
13504         * MODULES.html.sh (C#): New section.
13505
13506 2005-06-01  Bruno Haible  <bruno@clisp.org>
13507
13508         * m4/csharp.m4: New file, from GNU gettext.
13509         * m4/csharpexec.m4: New file, from GNU gettext.
13510
13511 2005-06-01  Bruno Haible  <bruno@clisp.org>
13512
13513         * lib/csharpexec.h: New file, from GNU gettext.
13514         * lib/csharpexec.c: New file, from GNU gettext.
13515         * lib/csharpexec.sh.in: New file, from GNU gettext.
13516
13517 2005-05-31  Derek Price  <derek@ximbiot.com>
13518             Paul Eggert  <eggert@cs.ucla.edu>
13519
13520         Sync from cvs.
13521         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
13522
13523 2005-05-31  Derek Price  <derek@ximbiot.com>
13524             Paul Eggert  <eggert@cs.ucla.edu>
13525
13526         Sync from cvs.
13527         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
13528
13529 2005-05-29  Derek Price  <derek@ximbiot.com>
13530
13531         * config/srclist.txt (glob_.h, glob.c): Add these files.
13532
13533 2005-05-29  Derek Price  <derek@ximbiot.com>
13534
13535         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
13536         * modules/glob: New file.
13537         * modules/getlogin_r: Add link to POSIX spec in description.
13538
13539 2005-05-29  Derek Price  <derek@ximbiot.com>
13540             Paul Eggert  <eggert@cs.ucla.edu>
13541
13542         * m4/glob.m4: New file.
13543
13544 2005-05-29  Derek Price  <derek@ximbiot.com>
13545             Paul Eggert  <eggert@cs.ucla.edu>
13546
13547         * lib/glob_.h, lib/glob.c: New files.
13548
13549 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13550
13551         * modules/fts (Files): Remove m4/inttypes-pri.m4.
13552         * modules/fts-lgpl (Depends-on): Remove gettext.
13553
13554 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13555
13556         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
13557         and don't require gt_INTTYPES_PRI.
13558
13559 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
13560
13561         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
13562
13563         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
13564         the configuration hassle isn't worth it.
13565         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
13566         (LONGEST_MODIFIER, PRIuMAX): Remove.
13567
13568 2005-05-27  Bruno Haible  <bruno@clisp.org>
13569
13570         * lib/getlogin_r.h: Remove second include of <stddef.h>.
13571
13572 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
13573
13574         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
13575         _POSIX_PTHREAD_SEMANTICS for Solaris.
13576
13577 2005-05-25  Derek Price  <derek@ximbiot.com>
13578
13579         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
13580
13581 2005-05-25  Derek Price  <derek@ximbiot.com>
13582             Paul Eggert  <eggert@cs.ucla.edu>
13583
13584         * modules/getlogin_r, m4/getlogin_r.m4: New files.
13585         * lib/getlogin_r.c, getlogin_r.h: New files.
13586
13587 2005-05-25  Bruno Haible  <bruno@clisp.org>
13588             Derek Price  <derek@ximbiot.com>
13589
13590         * lib/getlogin_r.h: Simplify API documentation.
13591
13592 2005-05-23  Derek Price  <derek@ximbiot.com>
13593
13594         * modules/minmax (Files): Add m4/minmax.m4.
13595         (configure.ac): Add gl_MINMAX.
13596
13597 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
13598
13599         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
13600         so that unistd-safer.h (GPL'ed code) need not be included.
13601
13602 2005-05-22  Bruno Haible  <bruno@clisp.org>
13603
13604         * m4/minmax.m4: New file.
13605         Based on a patch by Derek Price <derek@ximbiot.com>.
13606
13607 2005-05-22  Bruno Haible  <bruno@clisp.org>
13608
13609         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
13610         (INT64_MIN): Fix definition.
13611         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
13612
13613         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
13614         NEED_SIGNED_INT_TYPES.
13615
13616         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
13617         HAVE_SYSTEM_INTTYPES.
13618
13619 2005-05-22  Bruno Haible  <bruno@clisp.org>
13620
13621         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
13622         Also include <sys/param.h> if it defines MIN, MAX.
13623         Based on a patch by Derek Price <derek@ximbiot.com>.
13624
13625 2005-05-21  Jim Meyering  <jim@meyering.net>
13626
13627         * modules/fts (Files): Add m4/inttypes-pri.m4.
13628         (Depends-on): Add lstat and remove gettext.  Alphabetize.
13629
13630 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13631
13632         New fts module.
13633         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
13634         (setup_dir, free_dir): New functions.
13635         (enter_dir, leave_dir): Define trivial
13636         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
13637         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
13638         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
13639         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
13640         Move to fts-cycle.c.
13641         (fts_open): Use setup_dir.
13642         (fts_close): Use free_dir.
13643         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
13644         This adds a label and some gotos, but the alternatives were messier.
13645         Check for memory allocation failure when entering a dir.
13646         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
13647         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
13648         (FTS): New member fts_cycle, that is a union that contains the
13649         old active_dir_ht and cycle_state.  All uses changed to mention
13650         fts_cycle.ht and fts_cycle.state.
13651         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
13652         fts.c, with the following changes:
13653         (setup_dir, free_dir): New functions.
13654         (enter_dir): Now returns bool.  Return true if successful, false
13655         if memory exhausted.  All callers changed.
13656         Do not bother partly cleaning up on
13657         memory allocation failure; that is free_dir's job.
13658         However, free ad if hash_insert fails, to avoid memory leak.
13659         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
13660         fts->fts_options to see which union member to use.
13661
13662 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13663
13664         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
13665         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
13666
13667 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13668
13669         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
13670
13671 2005-05-20  Jim Meyering  <jim@meyering.net>
13672
13673         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
13674         Now a macro, to pacify GCC.
13675
13676 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
13677
13678         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
13679         of -1.
13680
13681 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
13682
13683         * lib/chown.c (rpl_chown): Return -1 on failure.
13684
13685 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
13686
13687         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
13688         Don't check for stddef.h.
13689         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
13690         don't use its results.
13691         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
13692         since we include them unconditionally.  Don't require
13693         AM_STDBOOL_H, since stdbool is a prerequisite.
13694         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
13695         since we assume C89 or better.
13696         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
13697         as we don't use their results.
13698         Don't check for fchdir, memmove, memset, strrchr, as we use
13699         them unconditionally.
13700         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
13701         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
13702
13703 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
13704
13705         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
13706         Include <stddef.h> unconditionally, since we assume C89 now.
13707         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
13708         * lib/fts.c: Include fts_.h first, to check interface.
13709         Do not include intprops.h; no longer needed.
13710         Include cycle-check.h and hash.h, since fts_.h no longer does.
13711         Remove unnecessary casts of closedir to void.
13712         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
13713         decide whether to decrement nlinks.
13714         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
13715         (FTS): Use struct hash_table * instead of Hash_table, so that
13716         we no longer need to include hash.h here.
13717
13718 2005-05-18  Jim Meyering  <jim@meyering.net>
13719
13720         * modules/dirfd (License): Change to LGPL.  Most of the code
13721         is already in the public domain.
13722
13723 2005-05-18  Jim Meyering  <jim@meyering.net>
13724
13725         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
13726         Reported by Yoann Vandoorselaere.
13727
13728 2005-05-17  Jim Meyering  <jim@meyering.net>
13729
13730         * m4/fts.m4: New file, from coreutils.
13731
13732 2005-05-17  Jim Meyering  <jim@meyering.net>
13733
13734         * lib/fts.c, lib/fts_.h: New files, from coreutils.
13735
13736 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13737
13738         Sync from coreutils.
13739         * m4/unlinkdir.m4: New file.
13740
13741 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13742
13743         Sync from coreutils.
13744         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
13745         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
13746         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
13747         White space changes only.
13748         * lib/makepath.c (make_path): Port to hosts where leading "//" is
13749         special.
13750         * lib/yesno.c: Include getline.h, not ctype.h.
13751         (yesno): Don't remove leading white space; POSIX doesn't allow it.
13752         Use getline to remove arbitrary restriction on response length.
13753
13754 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
13755
13756         * config/srclist-update: Spell out "Street" in FSF postal
13757         mail address; this is the style the FSF seems to prefer.
13758
13759         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
13760         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
13761         this updates FSF postal mail address.
13762
13763         Sync from coreutils.
13764         * modules/unlinkdir: New file.
13765         * modules/yesno (Depends-on): Add getline.
13766         * MODULES.html.sh (File system functions): Add unlinkdir.
13767
13768 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13769
13770         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
13771         lib/strsep.h:
13772         Change the initial comment to refer to GPL, not LGPL.
13773         gnulib-tool will change it to LGPL as needed.
13774
13775         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
13776         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
13777         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
13778         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
13779         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
13780         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
13781         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
13782         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
13783         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
13784         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
13785         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
13786         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
13787         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
13788         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
13789         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
13790         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
13791         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
13792         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
13793         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
13794         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
13795         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
13796         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
13797         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
13798         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
13799         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
13800         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
13801         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
13802         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
13803         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
13804         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
13805         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
13806         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
13807         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
13808         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
13809         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
13810         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
13811         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
13812         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
13813         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
13814         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
13815         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
13816         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
13817         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
13818         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
13819         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
13820         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
13821         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
13822         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
13823         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
13824         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
13825         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
13826         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
13827         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
13828         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
13829         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
13830         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
13831         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
13832         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
13833         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
13834         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
13835         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
13836         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
13837         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
13838         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
13839         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
13840         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
13841         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
13842         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
13843         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
13844         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
13845         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
13846         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
13847         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
13848         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
13849         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
13850         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
13851         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
13852         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
13853         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
13854         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
13855         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
13856         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
13857         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
13858         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
13859         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
13860         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
13861         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
13862         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
13863         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
13864         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
13865         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
13866         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
13867         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
13868         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
13869         lib/yesno.c, lib/yesno.h:
13870         Update FSF postal mail address.
13871
13872 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13873
13874         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
13875         tests/test-memmem.c, tests/test-stpncpy.c:
13876         Update FSF postal mail address.
13877
13878 2005-05-13  Bruno Haible  <bruno@clisp.org>
13879
13880         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
13881         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
13882         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
13883         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
13884         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
13885         Add support for 64-bit integers in the MSVC compiler.
13886
13887 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13888
13889         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
13890
13891 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
13892
13893         * gnulib-tool (func_import): Sort and uniquify recommended includes.
13894
13895 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
13896
13897         * doc/getdate.texi (General date syntax): Don't say that date
13898         date --iso-8601=ns generates acceptable dates; it doesn't yet.
13899         Problem reported by Nic Ferrier.
13900
13901 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13902
13903         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
13904         specified in ai_socktype. Fix invalid ai_protocol
13905         check. ai_protocol is usually set to 0 or depending on
13906         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
13907         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
13908         ai_socktype / ai_protocol in the returned addrinfo structure.
13909
13910 2005-05-10  Simon Josefsson  <jas@extundo.com>
13911
13912         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
13913         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13914
13915 2005-05-10  Karl Berry  <karl@gnu.org>
13916
13917         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
13918         (from http://www.gnu.org/licenses).
13919         * doc/COPYING.LIB: also rename to COPYING.LESSER.
13920         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
13921         fdl.texi suffices.
13922
13923 2005-05-10  Karl Berry  <karl@gnu.org>
13924
13925         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
13926         (COPYING.DOC): remove.
13927
13928         * config/srclist-update: new FSF address.
13929
13930 2005-05-10  Derek Price  <derek@ximbiot.com>
13931
13932         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
13933         possible.
13934
13935 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13936             Bruno Haible  <bruno@clisp.org>
13937
13938         * modules/inet_ntop: New file.
13939         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13940         inet_ntop.
13941
13942 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13943             Bruno Haible  <bruno@clisp.org>
13944
13945         * m4/inet_ntop.m4: New file.
13946
13947 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13948             Bruno Haible  <bruno@clisp.org>
13949
13950         * lib/inet_ntop.h: New file.
13951         * lib/inet_ntop.c: New file, from glibc with modifications.
13952
13953 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
13954
13955         * modules/time_r (License): Change to LGPL.
13956         * modules/extensions (License): Change to LGPL.  Actually,
13957         the license is more permissive than that, but currently gnulib-tool
13958         doesn't know how to handle more-permissive licenses.
13959
13960         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
13961         Problem reported by Dave Love.
13962
13963 2005-05-08  Jim Meyering  <jim@meyering.net>
13964
13965         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
13966         blank.
13967
13968 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
13969
13970         * modules/argmatch (Depends-on): Add stdbool.
13971         * modules/backupfile (Depends-on): Likewise.
13972         * modules/chdir-long (Depends-on): Likewise.
13973         * modules/closeout (Depends-on): Likewise.
13974         * modules/cycle-check (Depends-on): Likewise.
13975         * modules/dirname (Depends-on): Likewise.
13976         * modules/fnmatch (Depends-on): Likewise.
13977         * modules/fsusage (Depends-on): Likewise.
13978         * modules/fwriteerror (Depends-on): Likewise.
13979         * modules/getcwd (Depends-on): Likewise.
13980         * modules/getloadavg (Depends-on): Likewise.
13981         * modules/hard-locale (Depends-on): Likewise.
13982         * modules/makepath (Depends-on): Likewise.
13983         * modules/mountlist (Depends-on): Likewise.
13984         * modules/nanosleep (Depends-on): Likewise.
13985         * modules/posixtm (Depends-on): Likewise.
13986         * modules/quotearg (Depends-on): Likewise.
13987         * modules/readtokens (Depends-on): Likewise.
13988         * modules/readtokens0 (Depends-on): Likewise.
13989         * modules/readutmp (Depends-on): Likewise.
13990         * modules/save-cwd (Depends-on): Likewise.
13991         * modules/strftime (Depends-on): Likewise.
13992         * modules/userspec (Depends-on): Likewise.
13993         * modules/utimecmp (Depends-on): Likewise.
13994         * modules/xgetcwd (Depends-on): Likewise.
13995         * modules/xnanosleep (Depends-on): Likewise.
13996         * modules/xstrtod (Depends-on): Likewise.
13997         * modules/yesno (Depends-on): Likewise.
13998
13999 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14000
14001         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
14002         needless checks.
14003
14004 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14005
14006         Merge from coreutils.  Among other things,
14007         add bulletproofing for cases where stdin, stdout, or stderr are closed.
14008         * lib/fd-safer.c: New file.
14009         * lib/fcntl-safer.h, open-safer.c: Remove.
14010         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
14011         * lib/dup-safer.c: Include unistd-safer.h first.
14012         Don't include errno.h.
14013         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
14014         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
14015         * lib/file-type.c: Rely on file-type.h change.
14016         * lib/getloadavg.c: Include unistd-safer.h.
14017         (getloadavg): Use safer open.
14018         * lib/getusershell.c: Include "stdio-safer.h".
14019         (getusershell): Use safer fopen.
14020         * lib/long-options.c (long_options): Use NULL rather than 0.
14021         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
14022         'free'.
14023         * lib/modechange.c: Likewise.
14024         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
14025         (MODE_DONE): New constant.
14026         (struct mode_change): Remove 'next' member.
14027         (make_node_op_equals): New function; like the old one of the
14028         same name, except it allocates an array.
14029         (mode_compile, mode_create_from_ref): Use it.
14030         (mode_compile): Allocate result as an array, not a linked list.
14031         Parse octal string ourself, so that we catch mistakes like "+0".
14032         (mode_adjust): Arg is an array, not a linked list.
14033         * lib/modechange.c: Include stat-macros.h, xalloc.h.
14034         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
14035         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
14036         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
14037         Remove.  This is now stat-macros.h's job.
14038         (talloc): Remove.  All callers replaced by xalloc, so that
14039         our invokers don't have to worry about reporting memory failures.
14040         (make_node_op_equals): Remove.
14041         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
14042         New constants.
14043         (struct mode_change): Moved here from modechange.h.
14044         (mode_append_entry): Remove.
14045         (mode_compile): Remove MASKED_OPS arg, since it encouraged
14046         apps to have incorrect behavior.  Use simpler algorithm for head
14047         and tail.  Don't futz with umask; that's now the job of mode_adjust.
14048         Detect more invalid usages rather than having somewhat-random behavior.
14049         Don't insert an "a=" action, as that leads to incorrect behavior.
14050         (mode_compile, mode_create_from_ref): Return NULL on error instead
14051         of an enum, since now there's only one way to have an error.  All
14052         callers changed.
14053         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
14054         at the correct time.  Simplify calculation of "+u" and its ilk.
14055         Don't mishandle "+X".
14056         (mode_free): Remove "register" and localize decls.
14057         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
14058         (struct mode_change): Move to modechange.c; callers don't
14059         need to see this stuff.
14060         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
14061         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
14062         (mode_change, mode_adjust): Reflect the new signatures noted above.
14063         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
14064         that might redefine system include files.
14065         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
14066         (my_usleep): Use NULL rather than (void *) 0.
14067         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
14068         Use siginterrupt to specify that system calls should be interrupted.
14069         (rpl_nanosleep): Move initialization of suspended closer to call of
14070         my_usleep.
14071         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
14072         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
14073         (desirable_utmp_entry): New function.
14074         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
14075         using x2nrealloc, to simplify logic.
14076         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
14077         size calculation.  Do not assume utmp file is a regular file.
14078         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
14079         (READ_UTMP_CHECK_PIDS): New constant.
14080         * lib/save-cwd.c: Include unistd-safer.h.
14081         (save_cwd): Use fd_safer.
14082         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
14083         [!_LIBC] Include "stat-macros.h" instead.
14084         * lib/unistd-safer.h (fd_safer): New decl.
14085
14086 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14087
14088         * modules/getloadavg (Depends-on): Add unistd-safer.
14089         * modules/getusershell (Depends-on): Add stdio-safer.
14090         * modules/lstat (Depends-on): Remove xalloc.
14091         * modules/mkstemp (Depends-on): Add stat-macros.
14092         * modules/modechange (Depends-on): Remove xstrtol.
14093         Add stat-macros, xalloc.
14094         * modules/save-cwd (Depends-on): Add unistd-safer.
14095         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
14096         * modules/unistd-safer (Files): Add lib/fd-safer.c
14097         (Makefile.am): Remove lib_SOURCES.
14098
14099         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
14100         Remove fcntl-safer; unistd-safer supersedes it.
14101
14102 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14103
14104         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
14105         AC_HEADER_STAT.
14106         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
14107         (gl_PREREQ_CHOWN): Remove.
14108         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
14109         it.  Don't require AC_HEADER_STAT.
14110         (gl_PREREQ_LSTAT): Remove.
14111         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
14112         Don't require AC_HEADER_STAT.
14113         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
14114         (gl_PREREQ_RMDIR): Remove.
14115         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
14116         mention stat-macros.h or AC_HEADER_STAT, since we'll make
14117         the stat-macros module a prerequisite.
14118         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
14119         * m4/filemode.m4 (gl_FILEMODE): Likewise.
14120         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
14121         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
14122         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
14123         variable names.
14124         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
14125         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
14126         variable prefixes.
14127         * m4/fcntl-safer.m4: Remove.
14128         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
14129         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
14130         Invoke gl_PREREQ_FD_SAFER.
14131         (gl_PREREQ_FD_SAFER): New macro.
14132         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
14133         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
14134         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
14135         Remove duplicate call to AC_LIBOBJ(readutmp).
14136         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
14137
14138         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
14139         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
14140
14141 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
14142
14143         * MODULES.html.sh (Misc): Add byteswap.
14144
14145 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
14146
14147         * modules/getcwd (Depends-on): Add extensions.
14148         * modules/openat (Depends-on): Likewise.
14149
14150 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
14151
14152         * modules/byteswap: New file.
14153
14154 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
14155
14156         * m4/byteswap.m4: New file.
14157
14158 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
14159
14160         * lib/byteswap_.h: New file.
14161
14162 2005-04-25  Karl Berry  <karl@gnu.org>
14163
14164         * m4/gettext.m4: Update from GNU gettext 0.14.4.
14165
14166 2005-04-25  Albert Chin  <china@thewrittenword.com>
14167
14168         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
14169         Toolkit C bug.
14170
14171 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
14172
14173         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
14174         (func_ln_if_changed) Remove forcibly for no error message
14175         in case file does not exist.
14176
14177 2005-04-19  Simon Josefsson  <jas@extundo.com>
14178
14179         * gnulib-tool (Options): Make --symlink mean --symbolic.
14180
14181 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
14182
14183         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
14184
14185 2005-04-16  Simon Josefsson  <jas@extundo.com>
14186
14187         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
14188
14189 2005-04-15  Simon Josefsson  <jas@extundo.com>
14190
14191         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
14192
14193 2005-04-15  Simon Josefsson  <jas@extundo.com>
14194
14195         * gnulib-tool: Rename --symlink to --symbolic.
14196
14197 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
14198
14199         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
14200         symbolic links to files instead of copying/moving.  Add --aux-dir,
14201         specifying directory relative --dir where auxiliary build tools
14202         are placed.
14203
14204 2005-04-14  Bruno Haible  <bruno@clisp.org>
14205
14206         * modules/allocsa (License): Change to LGPL.
14207         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
14208
14209 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
14210
14211         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
14212         that "UTC +1 second" continues to work.  Problem reported
14213         by Dmitry V. Levin.
14214         (relunit_snumber): New rule.
14215         (relunit): Use it.
14216
14217 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
14218
14219         * lib/getdate.y (universal_time_zone_table): New constant.
14220         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
14221         universal_time_zone_table.
14222         (lookup_zone): Prefer universal_time_zone_table to
14223         local_time_zone_table, so that "GMT" time stamps are allowed in
14224         London during the summer.  Problem reported by Ian Abbott.
14225
14226 2005-04-12  Jim Meyering  <jim@meyering.net>
14227
14228         * lib/human.c (humblock): Set *options even when returning due to
14229         xstrtoumax conversion failure.  Thanks to a used-uninitialized
14230         warning from gcc-4.
14231
14232 2005-04-09  Jim Meyering  <jim@meyering.net>
14233
14234         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
14235         -Wuninitialized: initialize tm0.tm_year.
14236
14237 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
14238
14239         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
14240         count, since there's no maximum.  All uses changed.
14241         Add member dsts_seen.
14242         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
14243         not being INT_MAX.
14244         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
14245         Use pc_rels_seen to decide whther a date is absolute.
14246
14247         * lib/getdate.y (number): Don't overwrite year.
14248         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
14249         check.
14250
14251 2005-04-02  Simon Josefsson  <jas@extundo.com>
14252
14253         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
14254         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
14255
14256 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
14257
14258         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
14259         where no absolute path name can be longer than PATH_MAX.
14260
14261 2005-03-27  Jim Meyering  <jim@meyering.net>
14262
14263         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
14264
14265 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
14266
14267         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
14268         "one's complement" -> "ones' complement" in comment, as per Knuth.
14269         "value of type" -> "type or expression" in comment.
14270         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
14271
14272 2005-03-26  Jim Meyering  <jim@meyering.net>
14273
14274         Comment nits.
14275         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
14276         Correct typos: s/or/of/.
14277
14278 2005-03-26  Jim Meyering  <jim@meyering.net>
14279
14280         * modules/check-include-files: Move to ../ and rename to...
14281         * check-module: ...this.
14282
14283 2005-03-25  Jim Meyering  <jim@meyering.net>
14284
14285         * modules/xvasprintf (Files): Add xalloc.h.
14286
14287 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
14288
14289         * modules/gettext (Files): config/config.rpath ->
14290         build-aux/config.rpath
14291         * modules/iconv (Files): Likewise.
14292         Problem reported by Oskar Liljeblad.
14293
14294 2005-03-23  Jim Meyering  <jim@meyering.net>
14295
14296         * modules/check-include-files: New script to check for
14297         missing dependencies, multiple includes, etc.
14298
14299         * modules/c-strtold (Depends-on): Add xalloc.
14300         * modules/c-strtod (Depends-on): Add xalloc.
14301         * modules/hash (Depends-on): Add xalloc.
14302         (Files): Remove lib/xalloc.h.
14303
14304         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
14305         * modules/userspec (Files): Add lib/inttostr.h.
14306
14307 2005-03-23  Jim Meyering  <jim@meyering.net>
14308
14309         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
14310
14311 2005-03-22  Jim Meyering  <jim@meyering.net>
14312
14313         * modules/stat-macros: New module.
14314         * modules/canonicalize, modules/euidaccess, modules/file-type,
14315         * modules/filemode, modules/lchown, modules/makepath,
14316         * modules/rmdir, modules/stat: Depend on new stat-macros module
14317         rather than listing lib/stat-macros.h manually.
14318         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
14319
14320 2005-03-22  Jim Meyering  <jim@meyering.net>
14321
14322         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
14323
14324 2005-03-22  Bruno Haible  <bruno@clisp.org>
14325
14326         * config/srclist.txt: Replace target directory 'config' with
14327         'build-aux'.
14328         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
14329         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
14330         ../build-aux/.
14331
14332 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
14333
14334         * modules/chdir-long (Depends-on): Add mempcpy.
14335
14336         * modules/acl, modules/backupfile, modules/c-strtod,
14337         modules/c-strtold, modules/canon-host, modules/canonicalize,
14338         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
14339         modules/exclude, modules/exitfail, modules/file-type,
14340         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
14341         modules/getdate, modules/getline, modules/getpagesize,
14342         modules/getpass, modules/getugroups, modules/group-member,
14343         modules/hard-locale, modules/hash, modules/human, modules/idcache,
14344         modules/inttostr, modules/long-options, modules/makepath,
14345         modules/md5, modules/memcasecmp, modules/memcoll,
14346         modules/modechange, modules/mountlist, modules/path-concat,
14347         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
14348         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
14349         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
14350         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
14351         modules/strftime, modules/strndup, modules/strverscmp,
14352         modules/timespec, modules/unlocked-io, modules/userspec,
14353         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
14354         modules/yesno:
14355         Remove lib_SOURCES line from Makefile.am section, as this is now
14356         done automatically by the corresponding Autoconf macro.
14357
14358 2005-03-21  Jim Meyering  <jim@meyering.net>
14359
14360         Changes imported from coreutils.
14361
14362         * lib/cycle-check.c: Don't include xalloc.h.
14363
14364         * lib/path-concat.c: Don't include assert.h.
14365         (path_concat): Remove assertion that would have triggered
14366         for ABASE starting with more than one slash.
14367         Reported by Andreas Schwab.
14368
14369         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
14370         properly when ABASE is an absolute file name.
14371         Correct the description of this function.
14372         Include <assert.h>.
14373         Add an assertion and a test driver.
14374         This fixes a bug introduced on 2004-07-02.
14375         Andreas Schwab reported the resulting failure of cp --parents:
14376         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
14377
14378 2005-03-21  Jim Meyering  <jim@meyering.net>
14379
14380         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
14381         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
14382
14383 2005-03-21  Jim Meyering  <jim@meyering.net>
14384         and  Paul Eggert  <eggert@cs.ucla.edu>
14385
14386         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
14387         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
14388         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
14389         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
14390         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
14391         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
14392         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
14393         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
14394         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
14395         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
14396         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
14397         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
14398         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
14399         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
14400         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
14401         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
14402         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
14403         for these modules.
14404
14405 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
14406
14407         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
14408         (which shouldn't happen), generate nothing instead of returning 0
14409         immediately, so that nstrftime (NULL, ...) doesn't return 0.
14410
14411 2005-03-16  Bruno Haible  <bruno@clisp.org>
14412
14413         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
14414         HAVE_LONGLONG_64BIT.
14415
14416 2005-03-16  Bruno Haible  <bruno@clisp.org>
14417
14418         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
14419         HAVE_LONGLONG_64BIT.
14420
14421 2005-03-16  Bruno Haible  <bruno@clisp.org>
14422
14423         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
14424         HAVE_LONGLONG_64BIT.
14425
14426 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
14427
14428         * lib/strftime.c (my_strftime): Prepend space to format so that we can
14429         reliably distinguish strftime failure from empty output on POSIX
14430         hosts.
14431
14432 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
14433
14434         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
14435         (iconv_string): Don't guess a size-zero buffer, as that might cause
14436         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
14437         result would be 'too large', where 'too large' is (heuristically)
14438         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
14439         overflow concerns.  This will prevent some unwanted malloc failures
14440         when the inputs are very large.
14441
14442 2005-03-15  Karl Berry  <karl@gnu.org>
14443
14444         * config/srclist.txt (config.rpath): from gettext.
14445         * config/config.rpath: update.
14446
14447 2005-03-15  Bruno Haible  <bruno@clisp.org>
14448
14449         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
14450         to 'negate'.
14451
14452         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
14453         variable.
14454
14455         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
14456         results.
14457
14458 2005-03-14  Simon Josefsson  <jas@extundo.com>
14459
14460         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
14461         <fx@gnu.org>.
14462
14463 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
14464
14465         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
14466         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
14467         intprops.h.
14468         * lib/strtol.c: Likewise.
14469
14470 2005-03-14  Jim Meyering  <jim@meyering.net>
14471
14472         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
14473         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
14474         to be nonzero so that we (and caller) can detect the difference
14475         between a valid zero-length expansion and an error return, even
14476         when the underlying strftime fails before writing anything into
14477         that location.
14478
14479 2005-03-14  Bruno Haible  <bruno@clisp.org>
14480
14481         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
14482         Update from GNU gettext 0.14.3.
14483
14484 2005-03-10  Jim Meyering  <jim@meyering.net>
14485
14486         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
14487
14488 2005-03-10  Jim Meyering  <jim@meyering.net>
14489
14490         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
14491         so that this module works on systems without fchdir.
14492
14493 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
14494
14495         Factor int-properties macros into a single file, except for
14496         glibc-related files.
14497         * lib/intprops.h: New file.
14498         * lib/getloadavg.c: Include it instead of limits.h.
14499         (INT_STRLEN_BOUND): Remove.
14500         * lib/human.c: Include intprops.h.
14501         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
14502         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
14503         302/1000.
14504         * lib/inttostr.h: Include intprops.h instead of limits.h.
14505         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
14506         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
14507         for consistency with intprops.h.
14508         (time_t_is_integer, twos_complement_arithmetic): Use them.
14509         * lib/sig2str.h: Include <signal.h>, intprops.h.
14510         (INT_STRLEN_BOUND): Remove.
14511         * lib/strftime.c (TYPE_SIGNED): Remove.
14512         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
14513         * lib/strtol.c: Adjust comments to match intprops.h.
14514         * lib/userspec.c: Include intprops.h.
14515         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
14516         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
14517         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
14518         instead of rolling our own expressions.
14519         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
14520
14521         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
14522         instead of int.
14523         (my_strftime): Do not mishandle years close to INT_MAX, by doing
14524         the right thing even if adding 1900 would overflow.  Similarly
14525         for tm_mon + 1 and tm_yday + 1.
14526         Make %Y always equivalent to %C%y, and similarly for %G and %g.
14527         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
14528         (DO_SIGNED_NUMBER): New macro.
14529         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
14530
14531 2005-03-07  Bruno Haible  <bruno@clisp.org>
14532
14533         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
14534
14535 2005-03-07  Bruno Haible  <bruno@clisp.org>
14536
14537         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
14538
14539 2005-03-04  Derek R. Price  <derek@ximbiot.com>
14540
14541         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
14542         (func_import): Only replace files via --import when they have actually
14543         changed.
14544
14545 2005-03-03  Derek R. Price  <derek@ximbiot.com>
14546
14547         * m4/mmap-anon.m4: New file.
14548         * m4/pagealign_alloc.m4: New file.
14549
14550 2005-03-03  Derek R. Price  <derek@ximbiot.com>
14551             Bruno Haible  <bruno@clisp.org>
14552
14553         * modules/pagealign_alloc: New file.
14554         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
14555
14556 2005-03-03  Derek R. Price  <derek@ximbiot.com>
14557             Bruno Haible  <bruno@clisp.org>
14558
14559         * lib/pagealign_alloc.h: New file.
14560         * lib/pagealign_alloc.c: New file.
14561
14562 2005-03-03  Bruno Haible  <bruno@clisp.org>
14563
14564         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
14565         Use an all-permissive copyright notice, recommended by RMS.
14566
14567 2005-03-02  Bruno Haible  <bruno@clisp.org>
14568
14569         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
14570         of AIX, the replacement has to be done only after <string.h> is
14571         included, therefore not in config.h. stpncpy.h does the replacement,
14572         and stpncpy.c uses it.
14573
14574 2005-03-02  Bruno Haible  <bruno@clisp.org>
14575
14576         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
14577         stpncpy.c uses it.
14578
14579 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14580
14581         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
14582         The workaround isn't strictly needed for POSIX conformance, and
14583         it's too much of a pain to configure and maintain.  We'll ask
14584         people to fix their kernels instead.
14585         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
14586         (NANOSLEEP_BUG_WORKAROUND): Remove.
14587         (xnanosleep): Remove the workaround.
14588
14589 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14590
14591         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
14592         Reported by Derek Price.
14593         (Include): Add "timespec.h".
14594
14595         * modules/xnanosleep (Depends-on): Remove gethrxtime.
14596
14597 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
14598
14599         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
14600         to detect nanosleep bug.
14601
14602 2005-03-01  Bruno Haible  <bruno@clisp.org>
14603
14604         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
14605
14606 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
14607
14608         * modules/gethrxtime: New file.
14609         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
14610         (Depends-on): Add gethrxtime.
14611         (configure.ac): Add gl_XNANOSLEEP.
14612         (Makefile.am): Remove lib_SOURCES line.
14613
14614 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
14615
14616         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
14617         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
14618
14619 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
14620
14621         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
14622         * lib/timespec.h (gettime): Return void, since it always
14623         succeeds now.  All uses changed.
14624         * lib/gettime.c (gettime) Likewise.
14625         [HAVE_NANOTIME]: Prefer nanotime.
14626         Assume gettimeofday succeeds, as POSIX requires.
14627         Assime time () succeeds, since other code already does.
14628         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
14629         (timespec_subtract): Remove.
14630         (NANOSLEEP_BUG_WORKAROUND): New constant.
14631         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
14632         things considerably.  Use it only on GNU/Linux hosts, since the
14633         workaround shouldn't be needed elsewhere.
14634
14635 2005-02-24  Bruno Haible  <bruno@clisp.org>
14636
14637         * modules/gettext (Files): Add m4/glibc2.m4.
14638
14639 2005-02-24  Bruno Haible  <bruno@clisp.org>
14640
14641         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
14642         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
14643         * m4/progtest.m4:
14644         Update from GNU gettext 0.14.2.
14645         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
14646
14647 2005-02-24  Bruno Haible  <bruno@clisp.org>
14648
14649         * lib/localcharset.c: Update from GNU gettext 0.14.2.
14650         * lib/config.charset: Update from GNU gettext 0.14.2.
14651
14652 2005-02-24  Bruno Haible  <bruno@clisp.org>
14653
14654         * lib/gettext.h: Update from GNU gettext 0.14.2.
14655
14656 2005-02-23  Simon Josefsson  <jas@extundo.com>
14657
14658         * m4/iconvme.m4: New file.
14659
14660 2005-02-23  Jim Meyering  <jim@meyering.net>
14661
14662         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
14663         change.
14664         Thanks to Bruno Haible for catching it.
14665
14666 2005-02-22  Simon Josefsson  <jas@extundo.com>
14667
14668         * modules/iconvme: New file.
14669
14670         * MODULES.html.sh: Add iconvme.
14671
14672 2005-02-22  Simon Josefsson  <jas@extundo.com>
14673
14674         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
14675
14676 2005-02-22  Simon Josefsson  <jas@extundo.com>
14677
14678         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
14679
14680 2005-02-22  Jim Meyering  <jim@meyering.net>
14681
14682         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
14683         s/ifndef/ifdef/.
14684
14685 2005-02-20  Neil Conway  <neilc@samurai.com>
14686
14687         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
14688         returned by OSX/Darwin if the specified buffer is not large
14689         enough for the hostname.
14690
14691 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14692
14693         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
14694         pass it to _help, otherwise the latter coredumps trying to
14695         dereference state.root_argp.
14696
14697 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14698
14699         * modules/chdir-long (Depends-on): Add memrchr.
14700         * modules/memrchr (Files): Add lib/memrchr.h.
14701         (Include): "memrchr.h".
14702
14703 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14704
14705         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
14706
14707 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
14708
14709         * lib/memrchr.h: New file.
14710         * lib/chdir-long.c: Include it.
14711         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
14712         Don't bother including stddef.h.
14713
14714 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
14715
14716         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
14717         inclusion.
14718         Include <sys/types.h>, for dev_t.
14719         (ME_DUMMY, ME_REMOTE): Move from here....
14720         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
14721         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
14722         Dmitry V. Levin.
14723         Include mountlist.h first, to test the interface.
14724
14725 2005-01-29  Bruno Haible  <bruno@clisp.org>
14726
14727         * lib/progname.c (program_name): Initialize.
14728         Needed when linking statically on MacOS X.
14729
14730 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14731
14732         Sync from coreutils.
14733         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
14734         (Depends-on): Add c-strtod.
14735         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
14736
14737 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
14738
14739         Sync from coreutils.
14740         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
14741
14742         Remove files that are specific to coreutils.
14743         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
14744
14745 2005-01-28  Bruno Haible  <bruno@clisp.org>
14746
14747         * modules/javacomp: New file.
14748         * MODULES.html.sh (Java): Add javacomp.
14749
14750 2005-01-28  Bruno Haible  <bruno@clisp.org>
14751
14752         * m4/javacomp.m4: New file, from GNU gettext.
14753
14754 2005-01-28  Bruno Haible  <bruno@clisp.org>
14755
14756         * lib/javacomp.sh.in: New file, from GNU gettext.
14757         * lib/javacomp.h: New file, from GNU gettext.
14758         * lib/javacomp.c: New file, from GNU gettext.
14759
14760 2005-01-26  Simon Josefsson  <jas@extundo.com>
14761
14762         * lib/gai_strerror.c: Use GPL in header.
14763
14764 2005-01-26  Bruno Haible  <bruno@clisp.org>
14765
14766         * modules/javaexec: New file.
14767         * MODULES.html.sh (Java): Add javaexec.
14768
14769 2005-01-26  Bruno Haible  <bruno@clisp.org>
14770
14771         * m4/javaexec.m4: New file, from GNU gettext.
14772
14773 2005-01-26  Bruno Haible  <bruno@clisp.org>
14774
14775         * lib/javaexec.sh.in: New file, from GNU gettext.
14776         * lib/javaexec.h: New file, from GNU gettext.
14777         * lib/javaexec.c: New file, from GNU gettext.
14778
14779 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14780
14781         * modules/lchown (Depends-on): Remove lchown.h
14782
14783 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14784
14785         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
14786         must be defined if the header file was not found, in order
14787         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
14788
14789 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
14790
14791         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
14792         initializers for struct pentry_state.
14793         (__argp_error): Check return value of __asprintf
14794         (__argp_failure): Translate error message
14795
14796         * lib/argp-parse.c: Removed braces around the expansion of N_()
14797
14798 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
14799
14800         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
14801         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
14802         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
14803         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
14804         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
14805         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
14806         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
14807         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
14808         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
14809         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
14810         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
14811         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
14812         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
14813         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
14814         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
14815         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
14816         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
14817         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
14818         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
14819         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
14820         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
14821         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
14822         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
14823         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
14824         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
14825         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
14826         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
14827         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
14828         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
14829         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
14830         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
14831         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
14832         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
14833         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
14834         xstrtol.m4, xstrtoumax.m4, yesno.m4:
14835         Use an all-permissive copyright notice, recommended by RMS.
14836
14837 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
14838
14839         * modules/chdir-long (Depends-on): Remove mempcpy.
14840
14841 2005-01-21  Jim Meyering  <jim@meyering.net>
14842
14843         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
14844         same value as for Solaris 9.
14845
14846         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
14847         component length.  This included changing the parameter to be
14848         of type `char *' rather than `char const *'.
14849         * lib/chdir-long.h (chdir_long): Update prototype.
14850
14851         * lib/openat.c (fdopendir, fstatat): New functions.
14852         * lib/openat.h: Include headers required for use of DIR and struct
14853         stat.
14854         [AT_SYMLINK_NOFOLLOW]: Define.
14855         (fdopendir, fstatat): Add prototypes.
14856
14857 2005-01-21  Bruno Haible  <bruno@clisp.org>
14858
14859         * modules/classpath: New file.
14860         * MODULES.html.sh (Java): Add classpath.
14861
14862 2005-01-21  Bruno Haible  <bruno@clisp.org>
14863
14864         * lib/classpath.h: New file, from GNU gettext.
14865         * lib/classpath.c: New file, from GNU gettext.
14866
14867 2005-01-20  Simon Josefsson  <jas@extundo.com>
14868
14869         * modules/version-etc-fsf: New file.
14870
14871 2005-01-20  Simon Josefsson  <jas@extundo.com>
14872
14873         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
14874         * lib/version-etc.c: Remove version_etc_copyright.
14875         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
14876         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
14877
14878 2005-01-20  Simon Josefsson  <jas@extundo.com>
14879
14880         * lib/base64.h (isbase64): Add.
14881
14882         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
14883         using a unsigned prototype, don't inline.
14884         (base64_decode): Use it.
14885
14886 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
14887
14888         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
14889         it.
14890
14891 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
14892
14893         * lib/save-cwd.c (save_cwd): Remove code to support the case
14894         where fchdir is missing or flaky.
14895
14896 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
14897
14898         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
14899
14900 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
14901
14902         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
14903         AC_LIBSOURCES now does this.
14904         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
14905         with new ullong_max module.
14906
14907 2005-01-19  Bruno Haible  <bruno@clisp.org>
14908
14909         * modules/sh-quote: New file.
14910         * MODULES.html.sh (Executing programs): Add sh-quote.
14911
14912 2005-01-19  Bruno Haible  <bruno@clisp.org>
14913
14914         * lib/sh-quote.h: New file, from GNU gettext.
14915         * lib/sh-quote.c: New file, from GNU gettext.
14916
14917 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14918
14919         Merge from coreutils.
14920         * m4/ullong_max.m4: New file.
14921         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
14922         (gl_MACROS): Assume localeconv exists.
14923
14924 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14925
14926         Merge changes from coreutils, as described below in several
14927         changelogs dated today.
14928
14929         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
14930         (O_DIRECTORY): Remove; not needed here, since "." must be
14931         a directory.  All uses removed.
14932         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
14933         universal on Suns, and we also need to test for IRIX.
14934         Revamp code to use 'if' rather than '#if'.
14935         Avoid unnecessary comparison of cwd->desc to 0.
14936
14937         * lib/utimens.c (futimens): Robustify the previous patch, by checking
14938         for known valid error numbers rather than observed invalid ones.
14939
14940 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
14941
14942         * modules/ullong_max: New file.
14943
14944         * modules/chdir-long, modules/openat: New files.
14945         * modules/save-cwd (Depends-on): Depend on chdir-long.
14946         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
14947
14948 2005-01-18  Jim Meyering  <jim@meyering.net>
14949
14950         Merge from coreutils.
14951         * m4/chdir-long.m4, m4/openat.m4: New files.
14952         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
14953         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
14954         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
14955         is sane and DOES follow symlinks.  Besides, testing 20 different
14956         systems found no broken chown implementations.
14957         Prompted by a change in rsync's copy of this macro.
14958         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
14959
14960         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
14961
14962         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
14963         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
14964         NULL-means-set-to-current-time semantics.
14965         Remove temporary file immediately, rather than waiting
14966         for configure's at-exit trap code to do it.
14967
14968 2005-01-18  Jim Meyering  <jim@meyering.net>
14969
14970         * lib/version-etc.c (version_etc_copyright): Update copyright date.
14971
14972         * lib/utimens.c (futimens): Account for the fact that futimes
14973         can also fail with errno == ENOSYS or errno == ENOENT.
14974         Patch from Dmitry V. Levin.
14975
14976         Change the name of the robust chdir function from chdir to chdir_long.
14977         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
14978         (restore_cwd): Use chdir_long, not chdir.
14979         * lib/chdir-long.c: Renamed from chdir.c.
14980         * lib/chdir-long.h: Renamed from chdir.h.
14981         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
14982         Hurd.
14983
14984 2005-01-18  Bruno Haible  <bruno@clisp.org>
14985
14986         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
14987         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
14988         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
14989         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
14990         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
14991         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
14992         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
14993         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
14994         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
14995         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
14996         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
14997         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
14998         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
14999         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
15000         Use an all-permissive copyright notice, recommended by RMS.
15001
15002 2005-01-18  Bob Proulx  <bob@proulx.com>
15003
15004         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
15005         simplify offsetof() macro construct to avoid compile failure with
15006         native HP-UX 11.0 ANSI C compiler.
15007
15008 2005-01-17  Bruno Haible  <bruno@clisp.org>
15009
15010         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
15011         redundant because stpncpy.m4 takes care of it.
15012
15013 2005-01-17  Bruno Haible  <bruno@clisp.org>
15014
15015         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
15016
15017 2005-01-17  Bruno Haible  <bruno@clisp.org>
15018
15019         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
15020         used.
15021
15022 2005-01-17  Bruno Haible  <bruno@clisp.org>
15023
15024         * lib/fwriteerror.h (fwriteerror): Change specification to include
15025         fclose.
15026         * lib/fwriteerror.c: Include <stdbool.h>.
15027         (fwriteerror): At the end, close the file stream. Record whether
15028         stdout was already closed.
15029
15030 2005-01-17  Bruno Haible  <bruno@clisp.org>
15031
15032         * lib/execute.c (environ): Declare if needed.
15033         * lib/pipe.c (environ): Likewise.
15034         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
15035
15036 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15037
15038         * modules/argp: Depend on vsnprintf
15039
15040 2005-01-10  Jim Meyering  <jim@meyering.net>
15041
15042         * modules/closeout (Depends-on): Add atexit.
15043
15044 2005-01-06  Bruno Haible  <bruno@clisp.org>
15045
15046         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
15047
15048 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
15049
15050         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
15051         definitions to be after all include files, to avoid collisions.
15052         Problem reported by Bob Proulx.
15053
15054 2005-01-04  Jim Meyering  <jim@meyering.net>
15055
15056         Changes imported from coreutils.
15057         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
15058         as the mkstemp template, use a temporary directory and an
15059         8.3-friendly template to avoid trouble on systems like DJGPP.
15060         Reported by Juan M. Guerrero via Stepan Kasal.
15061         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
15062         close. Remove the temporary directory right away, rather than waiting
15063         for configure's at-exit trap code to do it.
15064         Suggestion from Stepan Kasal.
15065
15066 2005-01-01  Simon Josefsson  <jas@extundo.com>
15067
15068         * gnulib-tool: Print #include directives when --import'ing.
15069
15070 2004-12-28  Simon Josefsson  <jas@extundo.com>
15071
15072         * tests/test-base64.c: Include required header files.  Remove
15073         unused variables.
15074
15075 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15076
15077         * modules/error (Depends-on): Remove gettext.
15078
15079 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
15080
15081         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
15082         not needed.  This removes a dependency on the gettext module.
15083         [defined _LIBC]: Do not include <libintl.h>; not needed.
15084
15085 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
15086
15087         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
15088         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
15089
15090 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
15091
15092         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
15093         HAVE_DECL_STRTOLD.
15094
15095 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15096
15097         * modules/getdate (Depends-on): Remove alloca-opt.
15098
15099 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15100
15101         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
15102
15103 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
15104
15105         * lib/argp-parse.c: Include <stddef.h>.
15106         (alignof, alignto): New macros.
15107         (parser_init): Don't assume that void * is aligned sufficiently
15108         for struct option.
15109
15110         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
15111         need to extend the stack.
15112         (YYINITDEPTH): New macro, so that the initial stack isn't overly
15113         large.
15114
15115 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15116
15117         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
15118
15119 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
15120
15121         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
15122         (2004-10-24) change.  Apparently this was a false alarm.
15123
15124         * modules/getdate: Depend on alloca-opt, not alloca.
15125
15126 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
15127
15128         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
15129         Remove now-obsolete comment about AIX.
15130         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
15131         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
15132         (YYMAXDEPTH): New macro.
15133
15134 2004-12-18  Simon Josefsson  <jas@extundo.com>
15135
15136         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
15137
15138 2004-12-18  Bruno Haible  <bruno@clisp.org>
15139
15140         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
15141
15142 2004-12-18  Bruno Haible  <bruno@clisp.org>
15143
15144         * lib/fatal-signal.c (fatal_signals): Make non-const.
15145         (init_fatal_signals): New function.
15146         (uninstall_handlers, install_handlers): Ignore signals that were set to
15147         SIG_IGN.
15148         (at_fatal_signal): Call init_fatal_signals.
15149         (init_fatal_signal_set): Likewise. Ignore signals that were set to
15150         SIG_IGN.
15151         Reported by Paul Eggert.
15152
15153 2004-12-18  Bruno Haible  <bruno@clisp.org>
15154
15155         * doc/alloca.texi: New file.
15156         * doc/alloca-opt.texi: New file.
15157
15158 2004-12-17  Jim Meyering  <jim@meyering.net>
15159
15160         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
15161         Otherwise, install-sh could exit with improper exit status when
15162         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
15163
15164 2004-12-16  Simon Josefsson  <jas@extundo.com>
15165
15166         * tests/test-base64.c: Add license.
15167
15168 2004-12-15  Stepan Kasal  <address@hidden>
15169
15170         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
15171
15172 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
15173
15174         * modules/getcwd (Files): Add m4/d-ino.m4.
15175         Suggested by Mark D. Baushke.
15176
15177 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
15178
15179         * lib/getdate.y (textint): New member "negative".
15180         (time_zone_hhmm): New function.
15181         Expect 14 shift-reduce conflicts, not 13.
15182         (o_colon_minutes): New rule.
15183         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
15184         (yylex): Set the "negative" member of signed numbers.
15185
15186 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
15187
15188         * doc/getdate.texi (Time of day items, Time zone items):
15189         Describe new formats +00:00, UTC+00:00.
15190
15191 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
15192
15193         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
15194         spurious "-l"s.  Problem reported by Stepan Kasal.
15195
15196 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
15197
15198         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
15199         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
15200
15201 2004-12-04  Simon Josefsson  <jas@extundo.com>
15202
15203         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
15204         Vandoorselaere <yoann@prelude-ids.org>.
15205
15206 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
15207
15208         Changes imported from coreutils.
15209         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
15210         exist.
15211         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
15212
15213 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
15214
15215         Changes imported from coreutils.
15216         * lib/hard-locale.c: Assume <locale.h> exists.
15217         Include "strdup.h".
15218         (GLIBC_VERSION): New macro.
15219         (hard_locale): Assume setlocale exists.
15220         Rewrite to avoid #ifdef.
15221         Use strdup rather than malloc + strcpy.
15222         * lib/human.c: Assume <locale.h> exists.
15223         (human_readable): Assume localeconv exists.
15224
15225 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
15226
15227         * modules/hard-locale (Depends-on): Add strdup.
15228
15229 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
15230
15231         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
15232         convert T2, not T.  (Imported from libc.)
15233
15234 2004-11-30  Simon Josefsson  <jas@extundo.com>
15235
15236         * modules/restrict (License): Change to LGPL.
15237
15238 2004-11-30  Simon Josefsson  <jas@extundo.com>
15239
15240         * m4/restrict.m4: Add copyright and copying conditions.
15241
15242 2004-11-30  Simon Josefsson  <jas@extundo.com>
15243
15244         * m4/base64.m4: New file.
15245
15246 2004-11-30  Simon Josefsson  <jas@extundo.com>
15247
15248         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
15249         base64.
15250
15251         * tests/test-base64.c: New file.
15252
15253         * modules/base64: New file.
15254
15255 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
15256
15257         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
15258         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
15259
15260         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
15261
15262 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
15263
15264         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
15265         (__getcwd.c): Don't restore errno; glibc doesn't.
15266         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
15267         first, falling back to our code only if its results look suspicious.
15268         Ensure that the resulting buffer is only as large as necessary.
15269
15270         * lib/readutmp.c: Include readutmp.h first.
15271         Include <errno.h>, since readutmp.h no longer does that.
15272         * lib/readutmp.h: Don't include <errno.h>,
15273         <sys/param.h>, <time.h>; not needed to establish interface.
15274         (errno): Remove decl.
15275         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
15276         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
15277         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
15278
15279 2004-11-28  Simon Josefsson  <jas@extundo.com>
15280
15281         * lib/base64.h, base64.c: New file.
15282
15283 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
15284
15285         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
15286
15287 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
15288
15289         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
15290         (Depends-on): Remove pathmax, same.  Add mempcpy.
15291         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
15292         (Makefile.am): Append getcwd.h to lib_SOURCES.
15293         (Include): Add getcwd.h.
15294         (Maintainer): Change from Jim Meyering to "all, glibc",
15295         since getdate now uses intended-for-glibc code.
15296         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
15297         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
15298
15299 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
15300
15301         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
15302         HP's ANSI C compiler.
15303         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
15304         Declaring int functions causes warnings on some modern systems and
15305         shouldn't be needed to compile on ancient ones.
15306         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
15307         defined.
15308
15309         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
15310         with the following changes.
15311         (__set_errno): Parenthesize properly.
15312         Include <stdbool.h>.
15313         (MIN, MAX, MATCHING_INO): New macros.
15314         (__getcwd): Define with prototype, not K&R form.
15315         Use heuristics to allocate default buffer on stack if possible.
15316         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
15317         behavior, and to avoid the PATH_MAX limit when computing
15318         ../../../../...
15319         Use MATCHING_INO to compare inode number to file.
15320         Check for arithmetic overflow in size calculations.
15321         Fix bug in reallocation of dot array that caused getcwd to fail
15322         on directories nested deeper than 75.
15323         Be more careful about saving errno on error.
15324         Do not use realloc; use only free+malloc, as this is a bit
15325         more flexible and avoids a needless copy operation.
15326         Do not inspect st_dev and st_ino for symbolic links; POSIX
15327         doesn't specify the latter.
15328         Check for closedir errors.
15329         Avoid needless casts.
15330         Use "#ifdef weak_alias" around weak_alias, to be like other
15331         glibc code.
15332         The following changes to getcwd.c have effect only when used in
15333         gnulib; they have no effect inside glibc proper.
15334         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
15335         as alloca isn't used.
15336         (alloca, __alloca): Likewise.
15337         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
15338         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
15339         unconditionally, as gnulib assumes C89 or better.
15340         Do not include <sys/param.h>.
15341         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
15342         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
15343         better.
15344         (NULL) [!defined NULL]: Remove; we assume C89 or better.
15345         Include <dirent.h> in a way that is compatible with modern Autoconf.
15346         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
15347         New macros, if not already defined.
15348         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
15349         Use "_LIBC", not "defined _LIBC", for consistency.
15350         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
15351         a mempcpy module.
15352         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
15353         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
15354         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
15355         credit only to Jim Meyering and adjust the copyright dates.
15356         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
15357         <stdlib.h>, <unistd.h>, "pathmax.h".
15358         Instead, include "xgetcwd.h" (first) and "getcwd.h".
15359         (INITIAL_BUFFER_SIZE): Remove.
15360         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
15361
15362 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
15363
15364         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
15365         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
15366         Use the _ONCE methods, for efficiency.
15367         Check for fcntl.h.  In test program, include <errno.h>
15368         and <fcntl.h> if available.  Remove old K&R cruft from
15369         test program.  Check for common errors in GNU/Linux,
15370         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
15371         don't do AC_LIBOBJ, as that's getcwd.m4's job.
15372         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
15373         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
15374         name accordingly.
15375         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
15376         accommodate new getcwd.c.
15377         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
15378         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
15379         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
15380         that's all we need now.
15381
15382 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15383
15384         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
15385         argp-parse.c depends on getopt internals, that means we should
15386         always use our getopt, to be on the safe side.
15387         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
15388         order not to spoil the result of an eventual previous invocation
15389         of gl_GETOPT_SUBSTITUTE.
15390
15391 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
15392
15393         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
15394         redefinition warnings. To avoid them, include the defines
15395         in `#if !defined __need_getopt ... #endif'. The only place
15396         where __getopt_argv_const is used is in definitions
15397         of getopt_long and getopt_long_only below, which are as well
15398         protected by `#ifndef __need_getopt'.
15399         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
15400         __need_getopt after including <stdio.h> and <unistd.h> These
15401         headers might have defined it.
15402
15403 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
15404
15405         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
15406
15407 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
15408
15409         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
15410         (futimens): New function, which uses futimes if available.
15411         (futimens, utimens): Support timespec==NULL, with same semantics
15412         as utime and utimens.
15413         * lib/utimens.h (futimens): New decl.
15414
15415 2004-11-23  Jim Meyering  <jim@meyering.net>
15416
15417         * lib/getopt_.h: Remove trailing blanks.
15418
15419 2004-11-23  Jim Meyering  <jim@meyering.net>
15420
15421         * lib/__fpending.c: Add comment.
15422
15423 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
15424
15425         * modules/canonicalize (Depends-on): Add xreadlink.
15426         Problem reported by James Youngman.
15427
15428 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
15429
15430         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
15431         New macros.
15432         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
15433         optopt): Use them instead of invoking ## directly; otherwise, the
15434         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
15435
15436 2004-11-19  Bruno Haible  <bruno@clisp.org>
15437
15438         * lib/strtok_r.c: Move comments from here...
15439         * lib/strtok_r.h: ... to here.
15440
15441 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
15442
15443         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
15444         implementations that mishandle size_t overflow.
15445
15446 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
15447
15448         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
15449         might fail.  Problem reported by Yoann Vandoorselaere.
15450         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
15451         implementations that mishandle size_t overflow.
15452
15453 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15454
15455         * modules/canon-host (Depends-on): Add strdup.
15456
15457 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15458
15459         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
15460
15461 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15462
15463         * lib/canon-host.c: Include "strdup.h".
15464         (canon_host): Use getaddrinfo if available, so that IPv6 works.
15465         Use strdup instead of malloc/strcpy to duplicate strings.
15466
15467         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
15468         (human_space_before_unit): New constant.
15469         * lib/human.c (human_readable): Support it.
15470
15471         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
15472         (xgetcwd): Set errno correctly when failing.
15473         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
15474         the failure is actually due to a PATH_MAX problem.
15475
15476         Further getopt changes to make it more likely that glibc will
15477         buy the changes back.
15478         * lib/getopt.c (POSIXLY_CORRECT): New constant.
15479         (getopt): Use it, so to preserve glibc semantic
15480         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
15481         when compiling for libc.
15482         * lib/getopt_.h (__getopt_argv_const): Bring it back.
15483         (getopt_long, getopt_long_only): Use it.
15484
15485         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
15486         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
15487         (getopt): Argv is now char * const *, as per standard.
15488         (_getopt_internal_r, _getopt_internal): Argv is now char **,
15489         not char *__getopt_argv_const *.
15490         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
15491         _getopt_long_only_r): Likewise.
15492         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
15493         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
15494         _getopt_long_r, _getopt_long_only_r): Likewise.
15495         * lib/getopt_.h (__getopt_argv_const): Remove.
15496         (getopt): Argv is now char * const *, as per standard.
15497
15498         * lib/getdate.y (tORDINAL): New token.
15499         (day, relunit): Allow it for relative times.
15500         (relative_time_table): Use tORDINAL for ordinals.
15501
15502 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
15503
15504         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
15505         Document that "second" isn't allowed as an ordinal number.
15506
15507 2004-11-16  Jim Meyering  <jim@meyering.net>
15508
15509         * modules/closeout (Depends-on): Add fpending.
15510
15511 2004-11-15  Jim Meyering  <jim@meyering.net>
15512
15513         * lib/closeout.c: Include "__fpending.h" once again.
15514         Include <stdbool.h>.
15515         (close_stdout): Don't fail just because stdout was closed initially,
15516         since some programs don't write to stdout in the normal course of
15517         operation (other than --version and --help), and we don't want this
15518         function to make e.g. `touch file >&-' fail.
15519         But do fail if it was closed and someone has tried to write to it.
15520         E.g., `printf foo >&-' must fail.
15521
15522 2004-11-13  Jim Meyering  <jim@meyering.net>
15523
15524         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
15525
15526 2004-11-12  Simon Josefsson  <jas@extundo.com>
15527
15528         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
15529         small doc fix is still pending.
15530
15531 2004-11-11  Simon Josefsson  <jas@extundo.com>
15532
15533         * modules/strtok_r: New file.
15534
15535         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15536         strtok_r.
15537
15538 2004-11-11  Simon Josefsson  <jas@extundo.com>
15539
15540         * m4/strtok_r.m4: New file.
15541
15542         * m4/getopt.m4: Replace opterr.
15543
15544 2004-11-11  Simon Josefsson  <jas@extundo.com>
15545
15546         * lib/strtok_r.h, strtok_r.c: New file.
15547
15548 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
15549
15550         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
15551         of replacing opterr, getopt, etc.  This should handle the
15552         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
15553
15554 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
15555
15556         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
15557         we can stop lying to compilers about the constness of argv when we
15558         are compiled outside glibc.
15559         (getopt, getopt_long, getopt_long_only): Use it.
15560         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
15561         _getopt_internal, getopt): Likewise.
15562         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
15563         _getopt_long_only_r): Likewise.
15564         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
15565         _getopt_long_r, _getopt_long_only_r): Likewise.
15566
15567         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
15568         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
15569         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
15570         the other external symbols.
15571         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
15572         declaration, since the above renaming now works around collisions.
15573
15574 2004-11-11  Jim Meyering  <jim@meyering.net>
15575
15576         * lib/linebreak.c: Remove trailing blanks.
15577         * lib/alloca_.h: Likewise.
15578         * lib/acosl.c: Likewise.
15579         * lib/euidaccess.c: Likewise.
15580         * lib/allocsa.h: Likewise.
15581
15582 2004-11-10  Simon Josefsson  <jas@extundo.com>
15583
15584         * m4/getaddrinfo.m4: New file.
15585
15586 2004-11-10  Simon Josefsson  <jas@extundo.com>
15587
15588         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
15589
15590 2004-11-10  Simon Josefsson  <jas@extundo.com>
15591
15592         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
15593         getaddrinfo.
15594
15595         * modules/getaddrinfo: New file.
15596
15597 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15598
15599         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
15600
15601 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
15602
15603         * lib/mktime.c (SHR): New macro, which is a portable
15604         substitute for >> that should work even on Crays.
15605         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
15606         Problem reported by Mark D. Baushke in
15607         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
15608         * lib/getdate.y (SHR): Likewise.
15609         (tm_diff): Use it.
15610         * lib/strftime.c (SHR): Likewise.
15611         (tm_diff): Use it.
15612         * lib/quotearg.c (struct quoting_options): Use unsigned int for
15613         quote_these_too, so that right shifts are well defined.  All uses
15614         changed.
15615
15616 2004-11-10  Jim Meyering  <jim@meyering.net>
15617
15618         Ensure that no close failure goes unreported.
15619         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
15620         return early when it seems there's nothing to flush.
15621         Don't include __fpending.h.
15622
15623 2004-11-10  Jim Meyering  <jim@meyering.net>
15624
15625         * modules/closeout (Depends-on): Remove fpending.
15626
15627 2004-11-10  Jim Meyering  <jim@meyering.net>
15628
15629         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
15630
15631 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
15632
15633         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
15634         gl_FUNC_STRFTIME.
15635         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
15636         and AC_REQUIRE when possible, to avoid duplicate checks.
15637         Check for <wchar.h>.
15638
15639 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
15640
15641         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
15642
15643 2004-11-09  Bruno Haible  <bruno@clisp.org>
15644
15645         * m4/sockpfaf.m4: New file.
15646
15647 2004-11-05  Bruno Haible  <bruno@clisp.org>
15648
15649         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
15650         Reported by Mark D. Baushke <mdb@cvshome.org>.
15651
15652 2004-11-04  Bruno Haible  <bruno@clisp.org>
15653
15654         2004-09-11  Bruno Haible  <bruno@clisp.org>
15655                 * allocsa.valgrind: New file.
15656         2004-02-06  Bruno Haible  <bruno@clisp.org>
15657                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
15658                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
15659                 Reported by Christopher Seip <chris.seip@hp.com>.
15660
15661 2004-11-04  Bruno Haible  <bruno@clisp.org>
15662
15663         * modules/allocsa (Files): Add lib/allocsa.valgrind.
15664         (Makefile.am): Distribute it.
15665
15666 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
15667
15668         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
15669         with errno == ERANGE if the buffer is too small.
15670         Problem reported by Mark D. Baushke.
15671
15672 2004-11-03  Albert Chin  <china@thewrittenword.com>
15673             Paul Eggert  <eggert@cs.ucla.edu>
15674
15675         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
15676         equivalent, substitute $ac_type for equivalent type rather than
15677         blindly using uint32_t *always* which won't work if uint32_t is not
15678         available.  Define _UINT32_T to work around typedef of uint32_t if
15679         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
15680         2.5.1.
15681
15682 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15683
15684         * m4/jm-macros.m4: Sync from coreutils.
15685         (gl_MACROS): Check for mbrlen, for pathchk.
15686         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
15687
15688 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15689
15690         * lib/xreadlink.c (MAXSIZE): New macro.
15691         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
15692         size does not exceed MAXSIZE.  Avoid cast.
15693         As suggested by Mark D. Baushke in
15694         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
15695         if readlink fails with buffer size just under MAXSIZE, try again
15696         with MAXSIZE.
15697
15698 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
15699
15700         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
15701
15702 2004-11-02  Derek R. Price  <derek@ximbiot.com>
15703         and  Paul Eggert  <eggert@cs.ucla.edu>
15704
15705         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
15706         (get_date): Overparenthesize to avoid GCC warning.
15707
15708 2004-11-02  Bruno Haible  <bruno@clisp.org>
15709
15710         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
15711         returns void.
15712
15713 2004-11-02  Bruno Haible  <bruno@clisp.org>
15714
15715         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
15716         function returns void.
15717
15718 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
15719
15720         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
15721         fflush_unlocked, flockfile, funlockfile, funlockfile,
15722         fputs_unlocked, putc_unlocked.
15723
15724 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
15725
15726         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
15727         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
15728         already declared.
15729
15730 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15731
15732         * modules/getdate (Files): Add doc/getdate.texi.
15733         (Depends-on): Add setenv, xalloc.
15734
15735 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15736
15737         * lib/getdate.y: Add support for TZ="foo" within a date string.
15738         Fix some bugs near time_t boundaries.  Reject dates with
15739         out-of-range components, e.g., "Sept 31".
15740         Include <stdlib.h>, "setenv.h", "xalloc.h".
15741         (ISDIGIT_LOCALE): Remove; unused.
15742         Note that the TZ and time functions used here are not reentrant.
15743         (mktime_ok, get_tz): New functions.
15744         (TZBUFSIZE): New constant.
15745         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
15746         This requires that we sometimes generate our own TZ="XXX..." setting.
15747
15748 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
15749
15750         * doc/getdate.texi: New file, from coreutils with modifications for
15751         the new TZ parsing.
15752
15753 2004-10-27  Derek R. Price  <derek@ximbiot.com>
15754
15755         * lib/mktime.c (not_equal_tm): Remove redundant check.
15756
15757 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15758
15759         * modules/regex (lib_SOURCES): Add regex.c.
15760         Reported by James Youngman in
15761         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
15762
15763 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
15764
15765         * lib/getdate.y: Use Bison 1.875 features, and some minor
15766         code cleanups.  This change does not affect semantics.
15767         Don't include <stdlib.h>; no longer needed.
15768         Don't include unlocked-io.h; only the "#if TEST" code uses
15769         stdio, and performance isn't crucial there.
15770         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
15771         Bison 1.875 features as described below.
15772         All uses of "PC." replaced by "pc->".
15773         (YYSTYPE): Add a forward declaration.
15774         (yylex, yyerror): Use full prototypes in forward decls.
15775         Use "%pure-parser" rather than obsolescent "%pure_parser".
15776         Use %parse-param and %lex-param instead of obsolescent
15777         YYPARSE_PARAM and YYLEX_PARAM.
15778         (meridian_table, month_and_day_table, time_units_table,
15779         relative_time_table, time_zone_table, military_table,
15780         lookup_zone, lookup_word, get_date):
15781         Use NULL instead of 0 where appropriate.
15782         (to_hour): Avoid abort (), to avoid a dependency on
15783         stdlib.h.
15784         (yyerror, yylex): Now accepts parser_control * arg.
15785         (main) [TEST]: Use '\0' rather than 0 for char.
15786
15787 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
15788
15789         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
15790
15791 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
15792
15793         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
15794         It's now the caller's responsibility to handle the case where
15795         !HAVE_GETPAGESIZE && !defined getpagesize.
15796
15797         * lib/mktime.c (leapyear): Arg is long int, not int.
15798
15799 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
15800
15801         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
15802
15803 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
15804
15805         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
15806         missing.  Problem reported by James Youngman.
15807
15808 2004-10-16  Simon Josefsson  <jas@extundo.com>
15809
15810         * gnulib-tool: Fix comments.  Fix parse problem.
15811         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
15812
15813 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
15814
15815         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
15816         implementation of getopt_long.  Problem reported by Alexander Taler in:
15817         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
15818
15819 2004-10-15  Bruno Haible  <bruno@clisp.org>
15820
15821         * gnulib-tool: Untabify. Initialize supplied_libname.
15822         (func_usage): More homogenous output.
15823         (func_modules_transitive_closure, func_modules_to_filelist,
15824         func_emit_lib_Makefile_am): New functions.
15825         (func_import): New function, extracted from big case statement. Use
15826         func_get_license, func_modules_transitive_closure,
15827         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
15828         opt_lgpl. Don't use test -a, as it's not portable.
15829         (func_create_testdir): Use func_modules_transitive_closure,
15830         func_modules_to_filelist, func_emit_lib_Makefile_am.
15831
15832 2004-10-15  Bruno Haible  <bruno@clisp.org>
15833
15834         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
15835
15836 2004-10-15  Bruno Haible  <bruno@clisp.org>
15837
15838         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
15839         the portions belonging to each module.
15840         Suggested by Derek Robert Price <derek@ximbiot.com>.
15841
15842 2004-10-12  Simon Josefsson  <jas@extundo.com>
15843
15844         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
15845         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
15846         to real functions.
15847
15848 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15849
15850         * modules/vsnprintf: New file.
15851
15852 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15853
15854         * m4/vsnprintf.m4: New file.
15855
15856 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15857
15858         * lib/vsnprintf.h: New file.
15859         * lib/vsnprintf.c: New file.
15860
15861 2004-10-11  Bruno Haible  <bruno@clisp.org>
15862
15863         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
15864         vsnprintf.
15865
15866 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
15867
15868         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
15869
15870 2004-10-07  Bruno Haible  <bruno@clisp.org>
15871
15872         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
15873         fits into the provided buffer.
15874
15875 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
15876
15877         * lib/diacrit.c, diacrit.h: Add GPL notice.
15878
15879         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
15880         notice.
15881         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
15882         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
15883         This avoids a potential constant-folding bug.
15884
15885 2004-10-05  Bruno Haible  <bruno@clisp.org>
15886
15887         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
15888         for the declaration of strsep.
15889
15890 2004-10-05  Bruno Haible  <bruno@clisp.org>
15891
15892         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
15893
15894 2004-10-04  Simon Josefsson  <jas@extundo.com>
15895
15896         * modules/memmem: New file.
15897         * tests/test-memmem.c: New file.
15898         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
15899
15900 2004-10-04  Simon Josefsson  <jas@extundo.com>
15901
15902         * m4/memmem.m4: New file.
15903
15904 2004-10-04  Simon Josefsson  <jas@extundo.com>
15905
15906         * lib/memmem.h: New file.
15907         * lib/memmem.c: New file, taken from glibc.
15908
15909 2004-10-04  Simon Josefsson  <jas@extundo.com>
15910
15911         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
15912         '#ifdef USE_UNLOCKED_IO'.
15913
15914 2004-10-04  Simon Josefsson  <jas@extundo.com>
15915
15916         * config/srclist.txt: Add memmem from glibc.
15917
15918 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15919
15920         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
15921
15922         * modules/argmatch, modules/argp, modules/closeout, modules/error,
15923         modules/exclude, modules/getdate, modules/getline,
15924         modules/getndelim2, modules/getpass, modules/getpass-gnu,
15925         modules/getusershell, modules/linebuffer, modules/md5,
15926         modules/mountlist, modules/posixtm, modules/readtokens,
15927         modules/readutmp, modules/regex, modules/sha1,
15928         modules/version-etc, modules/yesno:
15929         Remove dependency on unlocked-io.
15930
15931 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15932
15933         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
15934
15935         * m4/unlocked-io.m4: Add copyright notice.
15936         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
15937
15938 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15939
15940         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
15941         * lib/xmalloc.c (xmemdup): Likewise.
15942         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
15943         XFREE): Remove these long-obsolescent macros.
15944         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
15945         * lib/xstrdup.c: Remove.
15946
15947         * lib/regex.c (re_comp): Cast gettext return value to char *,
15948         Problem reported by Martin Neitzel via Mark D. Baushke.
15949
15950 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
15951
15952         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
15953         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
15954         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
15955         regex.c, sha1.c, version-etc.c, yesno.c:
15956         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
15957         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
15958         the includer's responsibility.
15959
15960         Sync from coreutils.
15961
15962         * lib/modechange.c (mode_compile): Don't decrement a pointer that
15963         points to the start of a string, as the C Standard says the
15964         resulting behavior is undefined.
15965
15966         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
15967         simple -> simple_backups, numbered_existing ->
15968         numbered_existing_backups, numbered -> numbered_backups
15969         to avoid shadowing problems.  All uses changed.
15970         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
15971         * lib/backupfile.c (check_extension, numbered_backup):
15972         Rename locals to avoid shadowing 'basename'.
15973         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
15974         once.
15975
15976         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
15977         * lib/.cvsignore: Add getopt.h.
15978
15979 2004-10-04  Bruno Haible  <bruno@clisp.org>
15980
15981         * modules/README: New file.
15982         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
15983         not a module.
15984
15985 2004-10-02  Jim Meyering  <jim@meyering.net>
15986
15987         * lib/dirfd.h, getpagesize.h: Add copyright notice.
15988
15989 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15990
15991         * modules/strsep: New file.
15992
15993 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15994
15995         * m4/strsep.m4: New file.
15996
15997 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
15998
15999         * lib/strsep.h: New file.
16000         * lib/strsep.c: New file.
16001
16002 2004-10-01  Simon Josefsson  <jas@extundo.com>
16003
16004         * lib/snprintf.c (snprintf): Handle size==0.
16005
16006 2004-10-01  Simon Josefsson  <jas@extundo.com>
16007             Bruno Haible  <bruno@clisp.org>
16008
16009         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
16010         (snprintf): Declare 'args'.
16011
16012 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
16013
16014         * lib/snprintf.c: Remove comments as to why each header is needed.
16015
16016 2004-10-01  Bruno Haible  <bruno@clisp.org>
16017
16018         * MODULES.html.sh: Add strsep.
16019
16020 2004-09-30  Simon Josefsson  <jas@extundo.com>
16021
16022         * modules/snprintf: New file.
16023
16024 2004-09-30  Simon Josefsson  <jas@extundo.com>
16025
16026         * m4/snprintf.m4: New file.
16027
16028 2004-09-30  Simon Josefsson  <jas@extundo.com>
16029
16030         * lib/snprintf.h, lib/snprintf.c: New files.
16031
16032 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
16033
16034         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
16035         (hol_entry_help): Never translate an empty string.
16036         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
16037         * lib/argp.h (OPTION_NO_TRANS): New option.
16038
16039 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16040
16041         * modules/argp (Maintainer): Replace Simon Josefsson
16042         by Sergey Poznyakoff.
16043
16044 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16045
16046         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
16047         changes merged back into glibc.
16048
16049 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
16050
16051         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
16052
16053 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
16054
16055         * lib/xvasprintf.c: Include xalloc.h.
16056         (xvasprintf): Use xalloc_die, not xmalloc_die.
16057
16058 2004-09-29  Bruno Haible  <bruno@clisp.org>
16059
16060         * modules/alloca-opt: New file, derived from modules/alloca.
16061         * modules/allocsa: Depend on alloca-opt instead of alloca.
16062         * modules/setenv: Likewise.
16063         * modules/vasnprintf: Likewise.
16064         * MODULES.html.sh: Add alloca-opt.
16065
16066 2004-09-28  Simon Josefsson  <jas@extundo.com>
16067
16068         * gnulib-tool: New parameter --lgpl, to asseert that modules are
16069         LGPL, and to replace license template from GPL to LGPL.
16070
16071 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
16072
16073         * modules/dummy: Change license to LGPL.
16074
16075 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
16076
16077         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
16078
16079 2004-09-24  Simon Josefsson  <jas@extundo.com>
16080
16081         * modules/minmax (License): Change from GPL to LGPL.
16082
16083 2004-09-23  Simon Josefsson  <jas@extundo.com>
16084
16085         * gnulib-tool (--import): Typo.
16086
16087 2004-09-23  Simon Josefsson  <jas@extundo.com>
16088
16089         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
16090
16091 2004-09-22  Bruno Haible  <bruno@clisp.org>
16092
16093         * modules/*: Add 'License' field.
16094         * gnulib-tool: Accept --extract-license option.
16095         (func_get_license): New function.
16096
16097 2004-09-21  Bruno Haible  <bruno@clisp.org>
16098
16099         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
16100         Reported by Simon Josefsson.
16101
16102 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16103
16104         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
16105         gl_AC_TYPE_LONG_LONG.
16106
16107 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16108
16109         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
16110
16111 2004-09-18  Simon Josefsson  <jas@extundo.com>
16112         and  Paul Eggert  <eggert@cs.ucla.edu>
16113
16114         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
16115         calls with autoreconf.  Define GL_LIB.
16116
16117 2004-09-14  Karl Berry  <karl@gnu.org>
16118
16119         * config/srclist.txt: unsync setenv.c, sigh.
16120
16121 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16122
16123         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
16124         Problem reported by Bruno Haible in:
16125         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
16126
16127 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
16128
16129         * config/srclist.txt: Comment out argp-pvh.c.
16130
16131 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
16132
16133         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
16134         in case some system header has #define'd it.  Problem reported by
16135         Soeren D. Schulze in
16136         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
16137
16138 2004-09-09  Karl Berry  <karl@gnu.org>
16139
16140         * regex.[ch]: delete from the root.  These were supposed to be
16141                 synced with emacs cvs, but this has not happened for about
16142                 a year, and anyway nothing else uses emacs regex.[ch].
16143                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
16144                 lib/regex[.ch] is untouched.
16145
16146 2004-09-09  Bruno Haible  <bruno@clisp.org>
16147
16148         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
16149
16150 2004-09-09  Bruno Haible  <bruno@clisp.org>
16151
16152         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
16153         modifications.
16154         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
16155
16156 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
16157
16158         * modules/xvasprintf: New file.
16159         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
16160
16161 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
16162
16163         * lib/xvasprintf.h: New file.
16164         * lib/xvasprintf.c: New file.
16165         * lib/xasprintf.c: New file.
16166
16167 2004-09-08  Bruno Haible  <bruno@clisp.org>
16168
16169         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
16170
16171 2004-09-08  Bruno Haible  <bruno@clisp.org>
16172
16173         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
16174         length is > INT_MAX.
16175         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
16176         more.
16177
16178 2004-09-08  Bruno Haible  <bruno@clisp.org>
16179
16180         * lib/stdint_.h: New file, taken from GNU clisp.
16181
16182 2004-09-08  Bruno Haible  <bruno@clisp.org>
16183             Oskar Liljeblad  <oskar@osk.mine.nu>
16184
16185         * modules/stdint: New file.
16186         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
16187
16188 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16189
16190         Import from coreutils.
16191         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
16192         strings on unbounded length.  alloca's performance benefits aren't
16193         that important here.
16194         (V_STRDUP): Remove.
16195         (parse_with_separator): New function, with most of the internals
16196         of the old parse_user_spec.  Allow user to omit both user and group,
16197         for compatibility with FreeBSD.
16198         Clone only the user name, not the entire spec.
16199         Do not set *uid, *gid unless entirely successful.
16200         Avoid memory leak in some failing cases.
16201         Fix regression for USER.GROUP reported by Dmitry V. Levin in
16202         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
16203         (parse_user_spec): Rewrite to use parse_with_separator.
16204
16205 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16206
16207         * modules/userspec: Don't depend on alloca.
16208
16209 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
16210
16211         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
16212
16213 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
16214
16215         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
16216         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
16217         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
16218
16219 2004-08-16  Simon Josefsson  <jas@extundo.com>
16220
16221         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
16222         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
16223         Add --dry-run for --import.
16224         Let user provided command line parameters override configure.ac
16225         settings.
16226
16227 2004-08-12  Simon Josefsson  <jas@extundo.com>
16228
16229         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
16230         as discussed with Paul Eggert in threads rooted at
16231         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
16232         and
16233         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
16234         Before, the test was empty, and relied on ELIDE_CODE in source
16235         code.)
16236         (gl_PREREQ_GETOPT): New macro.
16237         (gl_GETOPT): Use them.
16238
16239 2004-08-12  Simon Josefsson  <jas@extundo.com>
16240
16241         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
16242         * lib/getopt_.h: Renamed from getopt.h.
16243
16244 2004-08-12  Simon Josefsson  <jas@extundo.com>
16245
16246         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
16247         Change default library name from libfoo to libgnu.
16248         Now, if you have a configure.ac that says:
16249                 gl_SOURCE_BASE(gl)
16250                 gl_M4_BASE(gl/m4)
16251                 gl_MODULES(error getopt etcetera)
16252                 gl_INIT
16253         you can import all you need by running:
16254                 ../gnulib/gnulib-tool --import
16255
16256         * modules/getopt (Files): Rename getopt.h to getopt_.h.
16257         (Makefile.am): Rewrite, use logic from argz.
16258         (Include): Use <getopt.h> instead of "getopt.h".
16259
16260 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16261
16262         * modules/argp (Files): Add m4/unlocked-io.m4.
16263         (Depends-on): Add extensions.
16264
16265 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16266
16267         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
16268         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
16269         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
16270         Check for program_invocation_name, program_invocation_short_name,
16271         flockfile, funlockfile, features.h, _getopt_long_only_r.
16272
16273 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16274
16275         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
16276         its complicated substitute.
16277         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
16278         and program_invocation_name.
16279         (__argp_basename) [!_LIBC]: Remove; the only use was
16280         replaced by its body.
16281         (__argp_short_program_name): Change condition from
16282         !defined __argp_short_program_name to
16283         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
16284         to match argp-namefrob.h.
16285         (__argp_failure): Don't assume strerror_r returns char *.
16286         * lib/argp-parse.c (N_): Define unconditionally.
16287         (argp_default_options): Fill out initializers with 0 to avoid
16288         gcc warnings.
16289
16290 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
16291
16292         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
16293         getopt1.c.
16294
16295 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16296
16297         Merge from coreutils.
16298
16299         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
16300
16301         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
16302         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
16303
16304 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16305
16306         Merge from coreutils.
16307
16308         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
16309         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
16310         for Reliant Unix 5.43.
16311
16312         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
16313         (union fooround): Use uintmax_t, not long int.
16314         The rest is a merge from libc:
16315         [defined _LIBC]: Include <shlib-compat.h>.
16316         (_obstack) [defined _LIBC]: Remove after 2.3.4.
16317
16318         * lib/settime.c (settime): Recode to avoid warning with
16319         Sun Forte C 6U2.
16320
16321         * lib/strverscmp.c: Convert to UTF-8.
16322
16323 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
16324
16325         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
16326         m4/uintmax_t.m4.
16327
16328 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16329
16330         * modules/xalloc-die: New file.
16331         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
16332
16333         * modules/md5 (Files): Add m4/uint32_t.m4.
16334         * modules/sha1: Renamed from modules/sha.
16335         (Files):
16336         Rename lib/sha.h to lib/sha1.h.
16337         Rename lib/sha.c to lib/sha1.c.
16338         Rename m4/sha.m4 to m4/sha1.m4.
16339         (lib_SOURCES): Likewise.
16340         (configure.ac): Rename gl_SHA to gl_SHA1.
16341         (Include): sha.h -> sha1.h.
16342
16343 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16344
16345         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
16346         * m4/sha1.m4: Renamed from sha.m4.
16347         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
16348
16349 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
16350
16351         * lib/obstack.h (obstack_empty_p):
16352         Don't assume that chunk->contents is suitably aligned.
16353         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
16354         Likewise. Problem reported by Benno in
16355         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
16356
16357         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
16358         readable.  This could be improved further but it'd take some work.
16359
16360 2004-08-08  Simon Josefsson  <jas@extundo.com>
16361
16362         * modules/xgethostname (Depends-on): Remove exit and error (not
16363         used).
16364
16365         * modules/getpass-gnu: Add getpass.h.
16366         (Depends-on): Add stdbool.
16367         * modules/getpass: Add getpass.h.
16368
16369 2004-08-08  Simon Josefsson  <jas@extundo.com>
16370
16371         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
16372         Check getpass declaration.
16373
16374 2004-08-08  Simon Josefsson  <jas@extundo.com>
16375
16376         * lib/xgethostname.c: Don't include error.h (not used).
16377
16378         * lib/getpass.h: Add.
16379         * lib/getpass.c: Include getpass.h first.
16380
16381 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
16382
16383         * lib/xalloc-die.c: New file.
16384         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
16385         All uses removed.
16386         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
16387         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
16388         xalloc-die.c.
16389         (_, N_, xalloc_die): Move to xalloc-die.c.
16390         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
16391         so that we needn't mess with xalloc_msg_memory_exhausted.
16392
16393         * lib/sha1.h: Renamed from sha.h.
16394         (SHA1_H): Renamed from _SHA_H.
16395         (sha1_ctx): Renamed from sha_ctx.
16396         (sha1_init_ctx): Renamed from sha_init_ctx.
16397         (sha1_process_block): Renamed from sha_process_block.
16398         (sha1_process_bytes): Renamed from sha_process_bytes.
16399         (sha1_finish_ctx): Renamed from sha_finish_ctx.
16400         (sha1_read_ctx): Renamed from sha_read_ctx.
16401         (sha1_stream): Renamed from sha_stream.
16402         (sha1_buffer): Renamed from sha_buffer.
16403         * lib/sha1.c: Likewise; renamed from sha.c.
16404         Do not include <sys/types.h>.
16405         Include <stddef.h> rather than <stdlib.h>.
16406
16407 2004-08-08  Bruno Haible  <bruno@clisp.org>
16408
16409         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
16410         FILESYSTEM_PREFIX_LEN.
16411         * lib/progreloc.c: Likewise.
16412         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
16413
16414 2004-08-06  Simon Josefsson  <jas@extundo.com>
16415
16416         * modules/progname (Depends-on): Don't depend on stdbool.
16417
16418 2004-08-06  Simon Josefsson  <jas@extundo.com>
16419
16420         * modules/getsubopt: New file.
16421         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16422         getsubopt.
16423
16424 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16425
16426         More merge from coreutils.
16427
16428         * m4/utimens.m4, m4/utimecmp.m4: New files.
16429         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
16430         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
16431         prereq.m4, sha.m4: Import changes from coreutils.
16432
16433 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16434
16435         More merge from coreutils.
16436         * modules/raise, modules/readtokens0, modules/utimens:
16437         * modules/utimecmp, module/xnanosleep: New files.
16438         * modules/strftime: Add lib/strftime.h.
16439         Change include from <time.h> to "strftime.h".
16440         * modules/yesno: Add lib/yesno.h.
16441         * modules/backupfile: Remove lib/addext.c.
16442         * modules/euidaccess: Add stat-macros.h.
16443         * modules/canonicalize, modules/euidaccess,
16444         modules/filemode, modules/lchown, modules/makepath,
16445         modules/rmdir, modules/stat: Likewise.
16446
16447 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
16448
16449         Merge from tar.
16450         * lib/argp-help.c (make_hol, hol_append): Don't assume that
16451         SIZE_MAX is a valid preprocessor constant.
16452         (__argp_basename): Change from "#ifndef _LIBC"
16453         to "#ifndef __argp_short_program_name", so that
16454         we don't compile these functions for tar.
16455
16456         More merges from coreutils.
16457         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
16458         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
16459         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
16460         * lib/addext.c: Remove; no longer needed.
16461         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
16462         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
16463         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
16464         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
16465         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
16466         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
16467         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
16468         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
16469         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
16470         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
16471         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
16472         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
16473         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
16474         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
16475         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
16476         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
16477         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
16478         Import changes from coreutils.
16479
16480 2004-08-05  Simon Josefsson  <jas@extundo.com>
16481
16482         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
16483
16484 2004-08-05  Simon Josefsson  <jas@extundo.com>
16485
16486         * m4/getsubopt.m4: New file.
16487
16488 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16489
16490         Merge from coreutils.
16491
16492         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
16493         * m4/getcwd-path-max.m4: New files.
16494
16495         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
16496         FILESYSTEM_PREFIX_LEN ->
16497         FILE_SYSTEM_PREFIX_LEN.
16498         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
16499         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
16500         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
16501         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
16502
16503         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
16504         prerequisite modules now handle the DOS stuff.
16505         Don't check for unistd.h.
16506
16507 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16508
16509         Merge from coreutils.
16510
16511         * lib/.gdb-history: Remove; this doesn't belong here.
16512
16513         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
16514         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
16515         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
16516         * lib/getcwd.c: New files.
16517
16518         * lib/dirname.h: Include <stdbool.h>.
16519         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
16520         for consistency with POSIX terminology.  All uses changed.
16521         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
16522         (strip_trailing_slashes): Use bool for booleans.
16523         * lib/stripslash.c (strip_trailing_slashes): Likewise.
16524
16525         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
16526         sometimes returns a positive errno value even when it succeeds.
16527         (print_errno_message) [!LIBC]: Fall back on strerror if
16528         __strerror_r fails.
16529
16530         * lib/path-concat.c (mempcpy): Don't define if a system header defines
16531         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
16532         (longest_relative_suffix): New function.
16533         (path_concat): Use it.  Assume first argument is not NULL.
16534         Port to DOS.  Omit redundant separators.
16535         Report an error instead of returning NULL.
16536         Use mempcpy instead of memcpy.
16537         (xpath_concat): Remove: not declared or used.
16538
16539         * lib/same.h: Include <stdbool.h>
16540         (same_name): Return bool, not int.
16541         * lib/same.c (same_name): Likewise.
16542         (errno): Don't declare; we assume C89 or better now.
16543
16544         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
16545         if not already defined.
16546
16547         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
16548         * lib/dup-safer.c (errno): Likewise.
16549
16550 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
16551
16552         Merge from coreutils.
16553         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
16554         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
16555         * modules/path-concat: Don't depend on strdup.
16556
16557 2004-08-03  Simon Josefsson  <jas@extundo.com>
16558
16559         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
16560         * lib/progname.h: Don't include stdbool.h.
16561
16562 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16563
16564         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
16565         * MODULES.html.sh (func_all_modules): Remove fatal.
16566
16567 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16568
16569         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
16570
16571 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
16572
16573         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
16574         working.
16575
16576 2004-08-02  Simon Josefsson  <jas@extundo.com>
16577
16578         * lib/getsubopt.h: New file, with comments from Bruno Haible.
16579         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
16580         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
16581
16582 2004-08-01  Simon Josefsson  <jas@extundo.com>
16583
16584         * lib/xgetdomainname.c: Include stdlib.h, for free().
16585
16586 2004-07-19  Bruno Haible  <bruno@clisp.org>
16587
16588         * MODULES.html.sh (func_all_modules): Add dummy.
16589
16590 2004-07-16  Simon Josefsson  <jas@extundo.com>
16591
16592         * modules/dummy: New file.
16593
16594 2004-07-16  Simon Josefsson  <jas@extundo.com>
16595
16596         * lib/dummy.c: New file.
16597
16598 2004-07-16  Bruno Haible  <bruno@clisp.org>
16599
16600         * lib/backupfile.h: Add extern "C" for C++.
16601         * lib/closeout.h: Likewise.
16602         * lib/copy-file.h: Likewise.
16603         * lib/findprog.h: Likewise.
16604         * lib/full-write.h: Likewise.
16605         * lib/pathname.h: Likewise.
16606         * lib/progname.h: Likewise.
16607         * lib/stpcpy.h: Likewise.
16608         * lib/stpncpy.h: Likewise.
16609         * lib/strcase.h: Likewise.
16610         * lib/strstr.h: Likewise.
16611         * lib/xalloc.h: Likewise.
16612
16613         * lib/mbswidth.h: Add extern "C" for C++.
16614         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
16615
16616 2004-07-13  Robert Millan  <robertmh@gnu.org>
16617
16618         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
16619
16620 2004-07-09  Simon Josefsson  <jas@extundo.com>
16621
16622         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
16623         failed without this.)
16624
16625 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16626
16627         * modules/chown (Files): Add lib/fchown-stub.c, since
16628         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
16629
16630 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16631
16632         * lib/fchown-stub.c: New file.
16633
16634 2004-06-24  Jim Meyering  <jim@meyering.net>
16635
16636         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
16637
16638 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16639
16640         * modules/argz: Omit "#include".
16641
16642         * MODULES.html.sh (func_all_modules): Add calloc, to match
16643         2004-06-01 addition of calloc module.
16644
16645 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16646
16647         * m4/argz.m4: New file, which is autoupdated from libtool.
16648
16649 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16650
16651         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
16652         libtool.
16653
16654 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
16655
16656         * config/srclist-update: Don't insist on "USA." before the
16657         close-comment, as libtool omits the period and puts the */ on a
16658         separate line.
16659         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
16660         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
16661
16662 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
16663
16664         * modules/argz: New file.
16665         * MODULES.html.sh (func_all_modules): Add argz.
16666
16667 2004-06-12  Jim Meyering  <jim@meyering.net>
16668         and  Paul Eggert  <eggert@cs.ucla.edu>
16669
16670         * modules/hash (Files): Add lib/xalloc.h.
16671         * modules/pipe (Depends-on): Add wait-process.
16672         * modules/stat (Depends-on): Add xalloc.
16673         * modules/userspec (Files): Add lib/userspec.h.
16674         * modules/xstrto
16675
16676         Upgrade from gettext-0.13.
16677         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
16678         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
16679         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
16680
16681 2004-06-10  Jim Meyering  <jim@meyering.net>
16682
16683         * lib/calloc.c: New file.
16684
16685 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
16686
16687         * lib/getdate.y (yylex): Allow space between sign and number.
16688         Problem reported by Dan Jacobson.
16689
16690 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16691
16692         Merge from coreutils CVS.
16693
16694         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
16695         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
16696         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
16697         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
16698         xstrtol.m4: Fix copyright date and/or serial number.
16699
16700         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
16701         See if we need an fchown replacement.
16702         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
16703         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
16704         and use the replacement function if we detect either defect.
16705
16706         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
16707         gl_UTIMECMP.
16708
16709 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
16710         and  Jim Meyering  <jim@meyering.net>
16711
16712         Merge from coreutils CVS.
16713
16714         * lib/stat-macros.h: New file, with contents from file-type.h
16715         and coreutils' system.h.
16716         * lib/file-type.c: Include "stat-macros.h".
16717         * lib/file-type.h (file_type): Move all macro definitions to new file,
16718         stat-macros.h.
16719
16720         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
16721         Wrap old code with this conditional.
16722         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
16723         function that does not dereference symlinks.
16724         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
16725
16726         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
16727         dependency problems.
16728         (xreadlink): Accept new arg SIZE, for efficiency.
16729         All decls and uses changed.
16730         * lib/xreadlink.h: Include <stddef.h>, for size_t.
16731
16732         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
16733         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
16734
16735         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
16736         sysexits.h.
16737
16738 2004-06-01  Jim Meyering  <jim@meyering.net>
16739
16740         * m4/calloc.m4: New file.
16741
16742 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
16743
16744         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
16745         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
16746         Also, fix a typo in a diagnostic.
16747
16748 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16749
16750         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
16751         or AC_FUNC_REALLOC.
16752
16753 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
16754
16755         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
16756         macros to be defined.
16757         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
16758         the allocator returns NULL because the requested size is zero.
16759
16760 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
16761
16762         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
16763         var.  Add comment explaining why libc still defines it.  This
16764         merges the following patch from glibc:
16765         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
16766
16767 2004-05-20  Andreas Schwab  <schwab@suse.de>
16768
16769         * m4/free.m4: Replace free if it not known to work, not the other
16770         way round.
16771
16772 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
16773
16774         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
16775         present in glibc since revision 1.1 of this file.
16776         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
16777         obstack_alignment_mask, obstack_alloc, obstack_base,
16778         obstack_blank, obstack_blank_fast, obstack_chunk_size,
16779         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
16780         obstack_grow0, obstack_init, obstack_int_grow,
16781         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
16782         obstack_next_free, obstack_object_size, obstack_ptr_grow,
16783         obstack_ptr_grow_fast, obstack_room): Remove declarations of
16784         nonexistent functions.
16785
16786 2004-05-18  Karl Berry  <karl@gnu.org>
16787
16788         * config/srclist.txt: break link for vasnprintf.c.
16789
16790 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16791
16792         Port obstack to the AS/400, where pointers are 16 bytes wide and
16793         you cannot cast an integer to a valid pointer.  This patch is
16794         currently waiting to be integrated into glibc; see
16795         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
16796
16797         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
16798         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
16799         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
16800         (struct obstack): temp member is now a union of a pointer and
16801         an integer, instead of an integer.  All integer uses changed.
16802         This does not affect the physical layout of struct obstack,
16803         except on hosts (like the AS/400) where the size or alignment of
16804         void * is greater than that of ptrdiff_t.
16805         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
16806         __STDC__)]: Store temporary in pointer member of union, not
16807         integer member.
16808         * lib/obstack.c: Include <stddef.h>, for offsetof.
16809         (struct fooalign): Remove; it doesn't need a name.
16810         (union fooround): Change double to long double, and add void *.
16811         (DEFAULT_ALIGNMENT): Use offsetof to compute.
16812         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
16813         not a macro.  Hence the values are always int; so remove all
16814         casts-to-int in uses.
16815
16816 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
16817
16818         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
16819         we can get this patch merged into glibc.
16820
16821 2004-05-17  Derek R. Price  <derek@ximbiot.com>
16822             Paul Eggert  <eggert@cs.ucla.edu>
16823
16824         * m4/argp: Depend on alloca.
16825
16826 2004-05-17  Derek R. Price  <derek@ximbiot.com>
16827             Paul Eggert  <eggert@cs.ucla.edu>
16828
16829         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
16830         freecoding.
16831
16832 2004-05-17  Bruno Haible  <bruno@clisp.org>
16833
16834         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
16835         precision that consists of a '.' followed by an empty digit string.
16836         Patch by Tor Lillqvist <tml@iki.fi>.
16837
16838 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16839
16840         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
16841         for backward compatibility with older code.  We need our own
16842         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
16843         it under some other name, and our alloca.h will define it.
16844
16845 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
16846             Derek Price  <derek@ximbiot.com>
16847
16848         * lib/alloca.c: Include <alloca.h>, to get our interface.
16849         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
16850         include <alloca.h> first.  Use C89 prototype for alloca; this
16851         requires including <stddef.h> for size_t.  Use extern "C" if C++.
16852         Use #elif for simplicity, since we can assume C89 now.
16853         Don't try to source the system alloca.h since it will not be found
16854         and to prevent recursively including its replacement.
16855         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
16856         * lib/regex.c: Likewise.
16857
16858 2004-05-16  Derek Price  <derek@ximbiot.com>
16859             Paul Eggert  <eggert@cs.ucla.edu>
16860
16861         getline cleanup.  This changes the getndelim2 API: both order of
16862         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
16863         no delimiter).
16864
16865         * lib/getline.c: Don't include stddef.h or stdio.h, since our
16866         interface does that.
16867         (getline): Always use getdelim, so that we don't have two
16868         copies of this code.
16869         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
16870         if available.
16871         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
16872         (GETNDELIM2_MAXIMUM): New macro.
16873         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
16874         instead of the old practice of delim2==0.  All callers changed.
16875         Return -1 on overflow, instead of returning junk.
16876         Do not set *linesize unless allocation succeeds.
16877         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
16878         that we include sys/types.h.
16879         * lib/getnline.h: Likewise.
16880         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
16881         (getndelim2): Reorder arguments.
16882         * lib/getnline.c (getnline, getndelim):
16883         Don't discard the NMAX argument.
16884         (getnline): Invoke getndelim, to avoid code duplication.
16885         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
16886         of (size_t) -1 by callers of the getnline family.
16887
16888 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16889
16890         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
16891         Check for gettimeofday.
16892         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
16893         Check for settimeofday, stime.
16894
16895 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
16896
16897         * lib/nanosleep.c (suspended): Change its type from int to
16898         sig_atomic_t volatile.
16899         (first_call): Make it private to rpl_nanosleep, and have it
16900         be zero initially as that's a bit faster.
16901         (my_usleep): Round up fractional times instead of truncating them,
16902         as this is the usual meaning for 'sleep'.
16903
16904         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
16905         doesn't work.
16906         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
16907         (ENOSYS): Define if not defined.
16908         (settime): Fall back on stime if it exists and settimeofday fails.
16909         But don't bother with fallbacks if a method fails with errno == EPERM.
16910
16911 2004-05-11  Jim Meyering  <jim@meyering.net>
16912
16913         Prior to this change, the save_cwd caller required read access to the
16914         current directory on most systems (ones with the fchdir function).
16915
16916         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
16917         fails, try write-only, and finally, resort to using xgetcwd.
16918
16919 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
16920
16921         * lib/obstack.c, obstack.h: Import changes from libc.
16922
16923 2004-04-28  Bruno Haible  <bruno@clisp.org>
16924
16925         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
16926         also implicitly appends .exe to executables.
16927         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
16928         accepts Windows pathnames.
16929         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
16930         Treat Cygwin like Windows, since it now accepts Windows pathnames.
16931         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
16932         Treat Cygwin like Windows, since it now accepts Windows pathnames.
16933         Reported by Derek Robert Price <derek@ximbiot.com>.
16934
16935 2004-04-21  Karl Berry  <karl@gnu.org>
16936
16937         * config/srclist.txt (localcharset.c): break sync.
16938
16939 2004-04-20  Paul Eggert  <eggert@twinsun.com>
16940
16941         * m4/host-os.m4: Add a copyright notice.
16942
16943 2004-04-20  Jim Meyering  <jim@meyering.net>
16944
16945         Change UTILS_ to gl_ in AC_DEFINE'd names.
16946         Change utils_- and jm_-prefixed variables, too.
16947         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
16948         UTILS_FUNC_MKDIR_TRAILING_SLASH.
16949         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
16950
16951         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
16952         Don't emit trailing blanks.
16953         Also rename jm_-prefixed variables to have gl_ prefix.
16954
16955         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
16956         Also rename jm_-prefixed variables to have gl_ prefix.
16957
16958         * m4/jm-macros.m4: Reflect the renamings.
16959         * m4/prereq.m4: Likewise.
16960
16961 2004-04-20  Jim Meyering  <jim@meyering.net>
16962
16963         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
16964         memory.
16965
16966 2004-04-20  Jim Meyering  <jim@meyering.net>
16967             Bruno Haible  <bruno@clisp.org>
16968
16969         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
16970         memory when realloc fails.
16971
16972 2004-04-19  Jim Meyering  <jim@meyering.net>
16973
16974         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
16975         now that readutmp.c may call `free (0)'.
16976
16977 2004-04-19  Bruno Haible  <bruno@clisp.org>
16978
16979         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
16980         * m4/inttypes_h.m4: Likewise.
16981         * m4/stdint_h.m4: Likewise.
16982         * m4/intmax_t.m4: Likewise.
16983         * m4/uintmax_t.m4: Likewise.
16984
16985 2004-04-18  Jim Meyering  <jim@meyering.net>
16986
16987         * m4/prereq.m4: Don't forbid jm_ prefix.
16988
16989         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
16990         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
16991         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
16992         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
16993         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
16994         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
16995         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
16996         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
16997         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
16998         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
16999         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
17000         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
17001         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
17002         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
17003         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
17004         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
17005         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
17006         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
17007         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
17008
17009 2004-04-18  Jim Meyering  <jim@meyering.net>
17010
17011         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
17012         failure, don't leak memory and do call END_UTMP_ENT.
17013
17014 2004-04-16  Jim Meyering  <jim@meyering.net>
17015
17016         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
17017         coreutils' stat program.
17018         (gl_PREREQ): Don't require jm_PREREQ_STAT.
17019
17020 2004-04-11  Paul Eggert  <eggert@twinsun.com>
17021
17022         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
17023         C89.
17024         (CHAR_BIT): Remove, since we assume C89.
17025         Include <stdint.h> if available, as per current Autoconf CVS advice.
17026
17027 2004-03-31  Jim Meyering  <jim@meyering.net>
17028
17029         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
17030         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
17031         * m4/xalloc.m4: Likewise.
17032
17033 2004-03-30  Paul Eggert  <eggert@twinsun.com>
17034
17035         Merge from coreutils.
17036
17037         * m4/inttostr.m4: New file.
17038         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
17039         Require AM_STDBOOL_H and gl_TIMESPEC instead.
17040         Require gl_CLOCK_TIME.
17041         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
17042
17043 2004-03-30  Paul Eggert  <eggert@twinsun.com>
17044
17045         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
17046         not bool, to be more consistent with Unix conventions.
17047         Suggested by Bruno Haible.
17048
17049         Merge from coreutils.
17050
17051         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
17052         * lib/umaxtostr.c: New files.
17053
17054         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
17055         the usual <time.h> dance.
17056         (get_date): Change signature to support fractional time stamps.
17057         All callers changed.
17058         * lib/getdate.y: Include "getdate.h" first, as we can now
17059         assume C89 and don't need to worry about 'const'.
17060         Similarly, include "unlocked-io.h" near start, not in middle.
17061         Include <limits.h>.
17062         (textint.value): Use long int rather than int.
17063         (textint.digits): Use size_t rather than int.
17064         (BILLION, LOG10_BILLION): New constants.
17065         (parser_control): New member rel_ns.  Members day_ordinal,
17066         time_zone, month, day, hour, minutes, rel_year, rel_month,
17067         rel_day, rel_hour, rel_minutes, rel_seconds
17068         are now long int, not int.  Member seconds is now struct timespec,
17069         not int.  New member timespec_seen.  Members dates_seen, days_seen,
17070         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
17071         not int.
17072         (%union.intval): Now long int, not int.
17073         New member timespec.
17074         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
17075         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
17076         (spec): Now is a timespec or an item list.
17077         (timespec, items): New nonterminals.
17078         (time, rel, relunit, number, get_date):
17079         Add support for fractional seconds.
17080         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
17081         (gmtime, localtime, mktime): Remove decls; not needed with C89.
17082         (to_hour): First arg is now long int, not int.
17083         (to_year): Returns long int, not int.
17084         Don't treat year -70 like 70.
17085         (tm_diff): Returns long int, not int.
17086         (lookup_word): Use bool instead of int when appropriate.
17087         (yylex): Use size_t for count, not int.
17088         Detect overflow when parsing large integer constants.
17089         Add support for fractions.
17090         (get_date): Make pointers 'const' if possible.
17091         Use more-portable code to detect integer overflow.
17092         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
17093         Don't use ctime; it's not reliable if the year has >4 digits.
17094
17095         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
17096         This is for compatibility with BSD.
17097
17098         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
17099         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
17100         From coreutils' system.h.
17101
17102         * lib/userspec.c: Don't include "posixver.h".
17103         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
17104         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
17105         compatible extension.  Simplify code by removing a boolean int
17106         that was always nonzero if a string was nonnull.
17107
17108 2004-03-30  Jim Meyering  <jim@meyering.net>
17109
17110         Merge from coreutils.
17111
17112         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
17113         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
17114         on some systems one must include <grp.h> before it.
17115         Reported by Christian Krackowizer.
17116
17117 2004-03-30  Jim Meyering  <jim@meyering.net>
17118
17119         Merge from coreutils.
17120
17121         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
17122
17123         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
17124         an empty input stream.
17125
17126         * lib/readtokens.c: Include <stdbool.h>.
17127         (readtoken): Use `size_t' rather than int/long.
17128         All callers adjusted.
17129         Use `bool' rather than `int' where appropriate.
17130         Use memset rather than an explicit loop.
17131         Use x2nrealloc rather than xrealloc.
17132         Allow the use of `\0' as a delimiter.
17133         (readtokens): Likewise.
17134         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
17135
17136 2004-03-30  Jim Meyering  <jim@meyering.net>
17137
17138         * m4/realloc.m4: Remove file, since now it does no more than
17139         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
17140         the `configure.ac' section of module/realloc.
17141         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
17142
17143 2004-03-30  Bruno Haible  <bruno@clisp.org>
17144
17145         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
17146         nonnull.
17147
17148 2004-03-29  Paul Eggert  <eggert@twinsun.com>
17149
17150         Merge changes to getloadavg.c from coreutils and Emacs.
17151
17152         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
17153         Define to an expression, not to the empty string.
17154         Include cloexec.h and xalloc.h.
17155         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
17156         Use set_cloexec_flag rather than rolling our own.
17157         * lib/cloexec.c, lib/cloexec.h: New files.
17158
17159 2004-03-29  Paul Eggert  <eggert@twinsun.com>
17160
17161         * m4/cloexec.m4: New file.
17162
17163 2004-03-18  Paul Eggert  <eggert@twinsun.com>
17164
17165         * lib/getopt.h: Sync with libc CVS.
17166
17167 2004-03-18  Paul Eggert  <eggert@twinsun.com>
17168             Bruno Haible  <bruno@clisp.org>
17169
17170         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
17171         mbswidth.
17172
17173 2004-03-18  Paul Eggert  <eggert@twinsun.com>
17174             Bruno Haible  <bruno@clisp.org>
17175
17176         * lib/mbswidth.h: Include <wchar.h> only if
17177         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
17178         <wchar.h>.
17179         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
17180
17181 2004-03-09  Paul Eggert  <eggert@twinsun.com>
17182
17183         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
17184         Sync with libc CVS.
17185         * lib/getopt_int.h: New file, also synced from libc.
17186
17187 2004-03-09  Paul Eggert  <eggert@twinsun.com>
17188
17189         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
17190         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
17191         Bring back getopt.c, getopt.h, getopt1.c.
17192
17193 2004-03-07  Paul Eggert  <eggert@twinsun.com>
17194
17195         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
17196         All uses changed.  Check for sa_sigaction member; this fixes
17197         a bug first reported by Jason Andrade in
17198         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
17199
17200 2004-03-07  Paul Eggert  <eggert@twinsun.com>
17201
17202         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
17203         '#if' expressions.  Unlike the code it replaces, it does not
17204         depend on (defined _SC_PAGESIZE).  However, it does depend on
17205         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
17206         first reported by Jason Andrade in
17207         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
17208
17209 2004-02-25  Simon Josefsson  <jas@extundo.com>
17210
17211         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
17212
17213 2004-02-25  Simon Josefsson  <jas@extundo.com>
17214
17215         * lib/strdup.h: New file.
17216         * lib/strdup.c: Include it.
17217         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
17218         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
17219
17220 2004-02-23  Karl Berry  <karl@gnu.org>
17221
17222         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
17223         (from fencepost.gnu.org:/gd/gnuorg).
17224
17225 2004-02-23  Karl Berry  <karl@gnu.org>
17226
17227         * config/srclistvars.sh (GNUORG) [karl]: redefine.
17228         * config/srclist.txt: add maintain/standards documents.
17229
17230 2004-02-18  Bruno Haible  <bruno@clisp.org>
17231
17232         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
17233         Reported by Derek Robert Price <derek@ximbiot.com>.
17234
17235 2004-02-16  Karl Berry  <karl@gnu.org>
17236
17237         * config/mkinstalldirs, install-sh: update from automake.
17238
17239 2004-02-06  Karl Berry  <karl@gnu.org>
17240
17241         * m4/po.m4: update from gettext 0.14.1.
17242
17243 2004-02-06  Karl Berry  <karl@gnu.org>
17244
17245         * lib/config.charset: update from gettext 0.14.1.
17246
17247 2004-02-05  Paul Eggert  <eggert@twinsun.com>
17248
17249         Add comments and code, prompted by suggestions from Bruno Haible
17250         for sh-quote.
17251         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
17252         describing the enum quoting_style values.
17253         * lib/quotearg.c (quotearg_alloc): New function.
17254         (quotearg_buffer_restyled): Treat lone { and } as special.
17255         Treat = as special.  Work around bug with older shells
17256         that "see" a '\' that is really the 2nd byte of a multibyte char.
17257         Quote empty string with shell_quoting_style.
17258
17259 2004-02-03  Bruno Haible  <bruno@clisp.org>
17260
17261         * m4/pipe.m4: New file, from GNU gettext.
17262
17263 2004-02-03  Bruno Haible  <bruno@clisp.org>
17264
17265         * lib/pipe.h: New file, from GNU gettext.
17266         * lib/pipe.c: New file, from GNU gettext.
17267
17268 2004-01-27  Bruno Haible  <bruno@clisp.org>
17269
17270         * m4/execute.m4: New file, from GNU gettext.
17271
17272 2004-01-27  Bruno Haible  <bruno@clisp.org>
17273
17274         * lib/execute.h: New file, from GNU gettext.
17275         * lib/execute.c: New file, from GNU gettext.
17276         * lib/w32spawn.h: New file, from GNU gettext.
17277
17278 2004-01-24  Paul Eggert  <eggert@twinsun.com>
17279
17280         Merge from diffutils.
17281
17282         * lib/file-type.c (file_type): Add typed memory objects.
17283         * lib/file-type.h (S_TYPEISTMO): New macro.
17284
17285         * lib/c-stack.h (c_stack_action): Remove argv argument.
17286         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
17287         (die): Don't calculate message unless segv_action returns.
17288         (get_stack_location, min_address_from_argv, max_address_from_argv,
17289         volatile stack_base, volatile_stack_size): Remove.
17290         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
17291         that every segmentation violation is a stack overflow.  (Ouch!)
17292         See Debian bug 136249 (still outstanding) for more info about why
17293         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
17294
17295 2004-01-24  Paul Eggert  <eggert@twinsun.com>
17296
17297         Exit-status fix from coreutils.
17298
17299         Use exit_failure consistently in place of EXIT_FAILURE,
17300         so that program exit statuses are consistent on failure.
17301
17302         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
17303         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
17304         * lib/argmatch.h: Comment fix to match the above.
17305         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
17306         Now a macro referring to exit_failure, instead of a separate
17307         variable.  Include "exitfail.h" to get it.
17308         * lib/xstrtol.h: Include "exitfail.h".
17309         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
17310
17311         * lib/long-options.c (parse_long_options): Use prototype
17312         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
17313         for clarity.
17314
17315 2004-01-21  Jim Meyering  <jim@meyering.net>
17316
17317         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
17318         so as not to conflict with a different-sized __mktime_internal
17319         function in GNU libc.
17320         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
17321         Problem building statically-linked `ls' reported by Michael Brunnbauer.
17322
17323 2004-01-20  Karl Berry  <karl@gnu.org>
17324
17325         * config/config.guess: update from config.
17326
17327         * config/srclistvars.sh: GNUWWWLICENSES for karl.
17328
17329 2004-01-20  Bruno Haible  <bruno@clisp.org>
17330
17331         Safer stack allocation.
17332         * lib/setenv.c: Include allocsa.h.
17333         (alloca): Remove fallback definition.
17334         (freea): Remove macro.
17335         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
17336         instead of freea.
17337
17338 2004-01-20  Bruno Haible  <bruno@clisp.org>
17339
17340         * m4/eealloc.m4: New file, from GNU gettext.
17341
17342 2004-01-20  Bruno Haible  <bruno@clisp.org>
17343
17344         * m4/allocsa.m4: New file, from GNU gettext.
17345
17346 2004-01-20  Bruno Haible  <bruno@clisp.org>
17347
17348         * lib/xallocsa.h: New file, from GNU gettext.
17349         * lib/xallocsa.c: New file, from GNU gettext.
17350
17351 2004-01-20  Bruno Haible  <bruno@clisp.org>
17352
17353         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
17354
17355 2004-01-20  Bruno Haible  <bruno@clisp.org>
17356
17357         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
17358         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
17359         specially.
17360
17361 2004-01-20  Bruno Haible  <bruno@clisp.org>
17362
17363         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
17364         patch.
17365
17366 2004-01-20  Bruno Haible  <bruno@clisp.org>
17367
17368         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
17369
17370 2004-01-20  Bruno Haible  <bruno@clisp.org>
17371
17372         * lib/eealloc.h: New file.
17373
17374 2004-01-20  Bruno Haible  <bruno@clisp.org>
17375
17376         * lib/binary-io.h: Avoid warnings on Cygwin.
17377
17378 2004-01-20  Bruno Haible  <bruno@clisp.org>
17379
17380         * lib/allocsa.h: New file, from GNU gettext.
17381         * lib/allocsa.c: New file, from GNU gettext.
17382
17383 2004-01-18  Karl Berry  <karl@gnu.org>
17384
17385         * doc/gpl.texi, doc/lgpl.texi: new files.
17386
17387 2004-01-18  Karl Berry  <karl@gnu.org>
17388
17389         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
17390         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
17391
17392 2004-01-15  Paul Eggert  <eggert@twinsun.com>
17393
17394         Merge from coreutils.
17395
17396         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
17397         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
17398         (gl_DEFAULT_POSIX2_VERSION): Move
17399         the documentation from 'configure' into 'config.hin',
17400         so that 'configure --help' isn't burdened by it and
17401         we don't have to worry about its formatting there.
17402         Reword the documentation so that it's more succinct
17403         and can be run together into a single paragraph.
17404         * m4/same.m4 (gl_SAME): Check for pathconf.
17405
17406 2004-01-15  Paul Eggert  <eggert@twinsun.com>
17407
17408         Merge from coreutils.
17409
17410         * lib/posixver.c: Include posixver.h.
17411
17412         * lib/same.c: Include <stdbool.h>, <limits.h>.
17413         (_POSIX_NAME_MAX): Define if not defined.
17414         (MIN): New macro.
17415         (same_name): If file names are silently truncated, report
17416         that the file names are the same if they are the same after
17417         the silent truncation.
17418
17419         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
17420         conversion function.
17421         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
17422         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
17423         longer needed.
17424
17425 2004-01-15  Jim Meyering  <jim@meyering.net>
17426
17427         Merge from coreutils.
17428
17429         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
17430         if no library is required.
17431         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
17432         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
17433         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
17434         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
17435         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
17436         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
17437         value, $ac_cv_search_crypt, if it's "none required".
17438         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
17439         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
17440         not gl_FUNC_GETLOADAVG.
17441         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
17442         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
17443
17444 2004-01-15  Jim Meyering  <jim@meyering.net>
17445
17446         Merge from coreutils.
17447
17448         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
17449         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
17450         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
17451
17452         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
17453         optional configure-time default.
17454
17455         * lib/version-etc.c (version_etc_copyright): Update copyright date.
17456
17457         * lib/xreadlink.c (xreadlink): Correct outdated comment.
17458
17459 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
17460
17461         Merge from coreutils.
17462
17463         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
17464         value, $ac_cv_search_nanosleep, if it's "none required".
17465
17466 2004-01-14  Paul Eggert  <eggert@twinsun.com>
17467
17468         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
17469         with like-named macro in fnmatch.c.
17470         (EXT): Use an internal constant instead.
17471
17472         Merge fnmatch patches from glibc.
17473         * lib/fnmatch.c (mbsinit): Remove define.
17474         Add libc_hidden_ver (__fnmatch, fnmatch).
17475         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
17476         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
17477
17478 2004-01-14  Karl Berry  <karl@gnu.org>
17479
17480         * config/install-sh: update from automake.
17481
17482 2004-01-13  Karl Berry  <karl@gnu.org>
17483
17484         * config/install-sh: update from automake.
17485
17486 2004-01-09  Karl Berry  <karl@gnu.org>
17487
17488         * config/install-sh: update from automake.
17489
17490 2004-01-05  Karl Berry  <karl@gnu.org>
17491
17492         * config/config.{sub,guess}: update from config.
17493
17494 2003-12-31  Karl Berry  <karl@gnu.org>
17495
17496         * config/depcomp: update from automake.
17497
17498 2003-12-14  Karl Berry  <karl@gnu.org>
17499
17500         * lib/config.charset: update from gettext-runtime.
17501
17502 2003-12-03  Paul Eggert  <eggert@twinsun.com>
17503
17504         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
17505         Bug reported by Alfred M. Szmidt.
17506
17507 2003-12-03  Bruno Haible  <bruno@clisp.org>
17508
17509         * m4/gettext.m4: Upgrade from gettext-0.13.
17510         * m4/po.m4: Upgrade from gettext-0.13.
17511         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
17512         * m4/intmax.m4: New file, from gettext-0.13.
17513         * m4/printf-posix.m4: New file, from gettext-0.13.
17514
17515 2003-11-29  Karl Berry  <karl@gnu.org>
17516
17517         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
17518
17519 2003-11-25  Paul Eggert  <eggert@twinsun.com>
17520             Bruno Haible  <bruno@clisp.org>
17521
17522         * lib/printf-parse.h: Don't include sys/types.h.
17523         (ARG_NONE): New macro.
17524         (char_directive): Change type of *arg_index fields to size_t.
17525         * lib/printf-parse.c: Don't include sys/types.h.
17526         (SSIZE_MAX): Remove macro.
17527         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
17528         Remove unnecessary overflow check.
17529         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
17530         fields.
17531
17532 2003-11-25  Bruno Haible  <bruno@clisp.org>
17533
17534         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
17535
17536 2003-11-25  Bruno Haible  <bruno@clisp.org>
17537
17538         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
17539         gt_TYPE_SSIZE_T.
17540
17541 2003-11-24  Paul Eggert  <eggert@twinsun.com>
17542
17543         * modules/alloca: Remove dependency on xalloc.
17544
17545 2003-11-24  Paul Eggert  <eggert@twinsun.com>
17546
17547         * lib/alloca.c: Remove dependency on xalloc module.
17548         (xalloc_die): Remove.
17549         (memory_full) [!defined emacs]: New macro.
17550         [!defined emacs]: Don't include xalloc.h.
17551         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
17552         address arithmetic overflows.  Change datatypes a bit to avoid
17553         unnecessary casts.
17554
17555 2003-11-22  Jim Meyering  <jim@meyering.net>
17556
17557         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
17558         s/size/size_t/.
17559
17560 2003-11-21  Karl Berry  <karl@gnu.org>
17561
17562         * config/config.{sub,guess}: update from config.
17563
17564 2003-11-18  Karl Berry  <karl@gnu.org>
17565
17566         * config/config.{sub,guess}: update from config.
17567
17568         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
17569
17570 2003-11-17  Paul Eggert  <eggert@twinsun.com>
17571
17572         * README: Mention that S+T cannot overflow if S is the size of
17573         an existing object and T is sufficiently small.
17574
17575 2003-11-17  Jim Meyering  <jim@meyering.net>
17576
17577         On systems without utime and without a utimes function capable of
17578         dealing with a NULL struct utimbuf* argument, this utime replacement
17579         could -- in unusual circumstances -- leak a file descriptor.
17580         * lib/utime.c: Include <unistd.h> and <errno.h>.
17581         (utime_null): Be sure to close `fd' and to preserve errno.
17582         Reported by Geoff Collyer via Arnold Robbins.
17583
17584 2003-11-17  Bruno Haible  <bruno@clisp.org>
17585
17586         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
17587         (Depends-on): Add xsize.
17588
17589 2003-11-17  Bruno Haible  <bruno@clisp.org>
17590
17591         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
17592
17593 2003-11-17  Bruno Haible  <bruno@clisp.org>
17594
17595         * lib/vasnprintf.c (alloca): Remove fallback definition.
17596         (freea): Remove definition.
17597         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
17598         Reported by Paul Eggert.
17599
17600 2003-11-16  Paul Eggert  <eggert@twinsun.com>
17601             Bruno Haible  <bruno@clisp.org>
17602
17603         Protect against address arithmetic overflow.
17604         * lib/printf-args.h: Include stddef.h.
17605         (arguments): Change type of field 'count' to size_t.
17606         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
17607         'unsigned int' where appropriate.
17608         * lib/printf-parse.h: Include sys/types.h.
17609         (char_directive): Change type of *arg_index fields to ssize_t.
17610         (char_directives): Change type of fields 'count', max_*_length to
17611         size_t.
17612         * lib/printf-parse.c: Include sys/types.h and xsize.h.
17613         (SSIZE_MAX): Define fallback value.
17614         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
17615         instead of 'int' where appropriate. Check a_allocated, d_allocated
17616         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
17617         * lib/vasnprintf.c: Include xsize.h.
17618         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
17619         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
17620         overflow. Avoid wraparound when converting a width or precision from
17621         decimal to binary.
17622
17623 2003-11-16  Bruno Haible  <bruno@clisp.org>
17624
17625         Update from GNU gettext.
17626         * lib/printf-parse.c: Generalize to it can be compiled for wide
17627         strings.
17628         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
17629         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
17630         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
17631         SNPRINTF): New macros.
17632         Don't include <alloca.h> if the file is used inside libintl.
17633         (local_wcslen): New function, for Solaris 2.5.1.
17634         (VASNPRINTF): Use it instead of wcslen.
17635
17636 2003-11-16  Bruno Haible  <bruno@clisp.org>
17637
17638         * lib/xsize.h (xmax): New function.
17639         (xsum, xsum3, xsum4): Declare as "pure" functions.
17640
17641 2003-11-12  Paul Eggert  <eggert@twinsun.com>
17642
17643         * modules/xalloc (Files): Undo latest change, since xalloc.h
17644         no longer needs SIZE_MAX or PTRDIFF_MAX.
17645
17646 2003-11-12  Paul Eggert  <eggert@twinsun.com>
17647
17648         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
17649         gl_PTRDIFF_MAX.
17650
17651 2003-11-12  Paul Eggert  <eggert@twinsun.com>
17652
17653         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
17654         "return", to pacify some unknown compiler.  Problem reported
17655         by Joerg Schilling.
17656
17657 2003-11-12  Paul Eggert  <eggert@twinsun.com>
17658
17659         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
17660         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
17661         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
17662         heuristic is just as accurate as far as we know, and it removes a
17663         dependency on size_max.m4 and ptrdiff_max.m4.
17664
17665 2003-11-11  Bruno Haible  <bruno@clisp.org>
17666
17667         * modules/xsize (Files): Add m4/size_max.m4.
17668         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
17669
17670 2003-11-11  Bruno Haible  <bruno@clisp.org>
17671
17672         * m4/size_max.m4: New file.
17673         * m4/ptrdiff_max.m4: New file.
17674         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
17675         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
17676         (gl_XALLOC): Invoke it.
17677
17678 2003-11-11  Bruno Haible  <bruno@clisp.org>
17679
17680         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
17681         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
17682         defined.
17683
17684 2003-11-10  Paul Eggert  <eggert@twinsun.com>
17685
17686         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
17687         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
17688         rejected some allocations of exactly SIZE_MAX - 2 bytes.
17689         From Bruno Haible.
17690         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
17691         not (size_t) -1, since it's defined here.
17692
17693 2003-11-09  Karl Berry  <karl@gnu.org>
17694
17695         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
17696
17697 2003-11-06  Paul Eggert  <eggert@twinsun.com>
17698
17699         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
17700         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
17701         Reject sizes of exactly SIZE_MAX bytes.
17702         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
17703         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
17704
17705 2003-11-05  Bruno Haible  <bruno@clisp.org>
17706
17707         * lib/xsize.h: Include limits.h, to avoid a possible collision with
17708         SIZE_MAX defined in <limits.h> on Solaris.
17709
17710 2003-11-04  Jim Meyering  <jim@meyering.net>
17711
17712         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
17713         variable names, rather than @VAR@.
17714         * modules/poll: Likewise.
17715
17716 2003-11-04  Bruno Haible  <bruno@clisp.org>
17717
17718         * modules/xsize: New file.
17719         * modules/linebreak: Depend on xsize.
17720         * MODULES.html.sh (func_all_modules): Add xsize.
17721
17722 2003-11-04  Bruno Haible  <bruno@clisp.org>
17723
17724         * m4/xsize.m4: New file.
17725
17726 2003-11-04  Bruno Haible  <bruno@clisp.org>
17727
17728         * lib/xsize.h: New file.
17729         * lib/linebreak.c: Include xsize.h.
17730         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
17731         argument for overflow.
17732         Suggested by Paul Eggert.
17733
17734 2003-11-03  Karl Berry  <karl@gnu.org>
17735
17736         * config/config.{guess,sub}: update from config.
17737
17738 2003-11-03  Jim Meyering  <jim@meyering.net>
17739
17740         * modules/userspec (lib_SOURCES): Add userspec.h.
17741         (Include): Add "userspec.h".
17742         Improve description.
17743
17744 2003-11-03  Jim Meyering  <jim@meyering.net>
17745
17746         * lib/userspec.c: Include "userspec.h".
17747         * lib/userspec.h: New file.
17748
17749 2003-11-03  Bruno Haible  <bruno@clisp.org>
17750
17751         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
17752
17753 2003-11-03  Bruno Haible  <bruno@clisp.org>
17754
17755         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
17756         available, to avoid (extremely rare) race condition.
17757         Suggested by Paul Eggert.
17758
17759 2003-11-02  Karl Berry  <karl@gnu.org>
17760
17761         * config/srclist.txt (vasprintf.c): sync broken, sigh.
17762
17763 2003-10-31  Paul Eggert  <eggert@twinsun.com>
17764
17765         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
17766         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
17767         (read_filesystem_list): Set and use me_type_malloced.
17768         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
17769         whatever the type happens to be), for brevity and consistency.
17770         Check for size calculation overflow on Alphas running OSF/1.
17771
17772 2003-10-31  Jim Meyering  <jim@meyering.net>
17773
17774         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
17775
17776         * lib/linebuffer.c: Include <string.h> for declaration of memset.
17777
17778 2003-10-30  Paul Eggert  <eggert@twinsun.com>
17779             Bruno Haible  <bruno@clisp.org>
17780
17781         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
17782         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
17783
17784 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
17785
17786         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
17787         netbsd*-gnu*.  Suggested by Robert Millan.
17788
17789 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17790
17791         * modules/group-member: Depend on stdbool.
17792
17793 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17794
17795         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
17796
17797 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17798
17799         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
17800         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
17801         after the 'gnu' in these cases.  This fixes some bugs in the
17802         previous change, and is based on suggestions by Robert Millan.
17803
17804 2003-10-29  Paul Eggert  <eggert@twinsun.com>
17805
17806         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
17807         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
17808         no longer needed.
17809         * lib/quotearg.c (quotearg_n_options): Use it.
17810         * lib/group-member.c: Include <stdbool.h>.
17811         (free_group_info): Arg is now const *; don't free arg.
17812         (get_group_info): Now returns bool and accepts struct group_info *,
17813         rather than returning a malloc'ed struct group_info *.
17814         All uses changed.  Check for overflow in internal size calculation.
17815
17816         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
17817         rather than xmalloc/xrealloc.
17818         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
17819         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
17820         conformance bug: the old code used a pointer after freeing the
17821         storage that it addressed.
17822         * lib/hash.c (hash_initialize): Simplify the code by using
17823         xalloc_oversized rather than doing it by hand.
17824         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
17825         the buffer preserved.  Use free and xmalloc instead.
17826         * lib/quotearg.c (quotearg_n_options): Likewise.
17827         Use a simpler test for size overflow.  Don't use xalloc_oversized
17828         because unsigned int might be wider than size_t (!); this suggests
17829         that we should switch from unsigned int to size_t for slot numbers.
17830
17831 2003-10-28  Paul Eggert  <eggert@twinsun.com>
17832
17833         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
17834         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
17835         NetBSD kernels.  Requested by Richard Stallman.
17836
17837 2003-10-27  Paul Eggert  <eggert@twinsun.com>
17838
17839         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
17840         to allocate the returned structure.  Do not allocate a subarray,
17841         as x2nrealloc will do that.
17842         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
17843         instead of xnrealloc.
17844         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
17845
17846 2003-10-27  Bruno Haible  <bruno@clisp.org>
17847
17848         * lib/stdbool_.h: Better support for BeOS.
17849
17850 2003-10-26  Paul Eggert  <eggert@twinsun.com>
17851
17852         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
17853         now uses inline.
17854
17855 2003-10-26  Paul Eggert  <eggert@twinsun.com>
17856
17857         * lib/xalloc.h (xalloc_oversized): New static inline function, for
17858         callers that want to do their own size-overflow checking.  Include
17859         <stdbool.h>, since xalloc_oversized returns bool.
17860         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
17861         to use xalloc_oversized.
17862
17863         Add two functions x2realloc, x2nrealloc, for programs that grow
17864         arrays dynamically by doubling their sizes.
17865         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
17866         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
17867         New functions.
17868
17869         Port to C99 semantics for 'inline' of external functions.
17870         Bug reported by Bruno Haible.
17871         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
17872         with the old contents of xnmalloc.
17873         (xnmalloc, xmalloc): Use it.
17874         (xnrealloc_inline): New static inline function,
17875         with the old contents of xnrealloc.
17876         (xnrealloc, xrealloc): Use it.
17877
17878         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
17879         that.
17880
17881 2003-10-26  Karl Berry  <karl@gnu.org>
17882
17883         * config/srclist.txt (COPYING.DOC): no longer available from
17884         /gd/gnuorg; don't know where the ultimate source is.
17885
17886 2003-10-25  Paul Eggert  <eggert@twinsun.com>
17887
17888         Fix several address-calculation bugs in the hash modules,
17889         plus some minor code cleanup.
17890
17891         * lib/hash.h: Include <stdbool.h>, for bool.
17892         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
17893         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
17894         hash_get_n_entries, hash_get_max_bucket_length,
17895         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
17896         hash_rehash): Use size_t rather than unsigned.
17897         * lib/hash.c (struct hash_table, hash_get_n_buckets,
17898         hash_get_n_buckets_used, hash_get_n_entries,
17899         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
17900         hash_get_entries, hash_do_for_each, hash_string, is_prime,
17901         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
17902         Likewise.
17903         (SIZE_MAX): Define if not defined.
17904         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
17905         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
17906         hash_print):
17907         Use const * when possible.
17908         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
17909         (check_tuning): Fix bug: if tuning parameters were very close to
17910         0 or 1, rounding errors could have caused subscript violations.
17911         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
17912         (hash_initialize): Add 'fail:' label
17913         to free table and return NULL, and use it to simplify code.
17914         Use calloc rather than clearing the storage ourself.
17915         (hash_initialize, hash_rehash): Check for arithmetic overflow in
17916         buffer size calculations.
17917         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
17918         Include <stddef.h>, for size_t.
17919         * lib/hash-pjw.c (hash_pjw): Likewise.
17920         Switch to method described by Bruno Haible.
17921         Include <limits.h>, for CHAR_BIT.
17922         (SIZE_BITS): New macro.
17923
17924 2003-10-23  Paul Eggert  <eggert@twinsun.com>
17925
17926         * m4/getline.m4 (AM_FUNC_GETLINE):
17927         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
17928         hosts.  Problem reported by Derek Robert Price in
17929         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
17930         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
17931         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
17932
17933 2003-10-21  Paul Eggert  <eggert@twinsun.com>
17934
17935         * lib/getndelim2.c (getndelim2): When size calculation overflows,
17936         ceiling the allocation at NMAX bytes rather than silently
17937         discarding input bytes before NMAX is reached.  This makes
17938         a difference only if NMAX exceeds SIZE_MAX / 2.
17939
17940         * lib/obstack.c: Merge from glibc.
17941         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
17942         Add libc_hidden_def (_obstack_newchunk).
17943         (_obstack_free) [! defined _LIBC]: Remove.
17944         [defined _LIBC]: Make a strong alias from obstack_free, rather than
17945         a clone of the function body.
17946         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
17947         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
17948
17949         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
17950         glibc.
17951         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
17952         arg to memcpy.
17953
17954         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
17955         (obstack_ptr_grow_fast, obstack_int_grow_fast):
17956         Don't use lvalue casts, as GCC plans to remove support for them
17957         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
17958         was also present in the non-GCC version, indicating that this
17959         code had always been buggy and had never been widely used.
17960         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
17961         Use the fast variant of each macro, rather than copying the
17962         definiens of the fast variant; that way, we'll be more likely to
17963         catch future bugs in the fast variants.
17964
17965 2003-10-20  Bruno Haible  <bruno@clisp.org>
17966
17967         * modules/wait-process: New file.
17968         * MODULES.html.sh (func_all_modules): Add wait-process.
17969
17970 2003-10-20  Bruno Haible  <bruno@clisp.org>
17971
17972         * m4/wait-process.m4: New file.
17973
17974 2003-10-20  Bruno Haible  <bruno@clisp.org>
17975
17976         * lib/wait-process.h: New file, from GNU gettext.
17977         * lib/wait-process.c: New file, from GNU gettext.
17978
17979 2003-10-19  Jim Meyering  <jim@meyering.net>
17980
17981         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
17982         HPUX 10.20.
17983
17984 2003-10-18  Karl Berry  <karl@gnu.org>
17985
17986         * config/config.guess: update from config.
17987
17988 2003-10-16  Paul Eggert  <eggert@twinsun.com>
17989
17990         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
17991         (getgroups): First arg is int, not size_t.
17992         Don't let 'free' mangle errno.
17993
17994 2003-10-16  Paul Eggert  <eggert@twinsun.com>
17995
17996         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
17997
17998 2003-10-16  Karl Berry  <karl@gnu.org>
17999
18000         * config/config.{guess,sub}: update from config.
18001
18002 2003-10-16  Jim Meyering  <jim@meyering.net>
18003
18004         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
18005         memcpy.
18006
18007 2003-10-15  Paul Eggert  <eggert@twinsun.com>
18008
18009         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
18010         (SIZE_MAX): Remove.
18011         (new_exclude, add_exclude_file): Initial size no longer needs to
18012         be a power of 2.
18013         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
18014         our own address arithmetic overflow checking.
18015
18016         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
18017         (fnmatch): Do not alloca more than 2000 wide characters;
18018         instead, use malloc for large buffers.
18019         Check for address arithmetic overflow, and return -1
18020         with errno set to ENOMEM in that case.
18021         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
18022         (NEW_PATTERN): Do not alloca more than 8000 bytes;
18023         instead, return -1.  Check for address arithmetic overflow.
18024
18025 2003-10-14  Paul Eggert  <eggert@twinsun.com>
18026
18027         Handle invalid suffixes and overflow independently, so that
18028         callers can treat them independently as needed.  Fix some bugs in
18029         suffix handling, e.g., "100k@" was not diagnosed as an invalid
18030         suffix for a human-readable blocksize.  The major caller-visible
18031         change is the addition of a new
18032         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
18033         that both overflow and suffix chars were found.
18034
18035         * lib/human.c (humblock): Don't check separately for invalid suffix
18036         char; that is xstrtoumax's job (now that its bug is fixed).
18037         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
18038         INTMAX_MAX]: New macros.
18039         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
18040         TYPE_MAXIMUM): New macros.
18041         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
18042         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
18043         if overflow occurs, as it's what __strtol does and it's more useful
18044         in practice.
18045         (__xstrtol): If __strtol reports some error other than ERANGE,
18046         reflect it to the caller as LONGINT_INVALID.  If it reports
18047         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
18048         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
18049         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
18050         value.
18051         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
18052         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
18053         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
18054         [defined UINTMAX_MAX]: New macros.
18055
18056 2003-10-14  Bruno Haible  <bruno@clisp.org>
18057
18058         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
18059
18060 2003-10-14  Bruno Haible  <bruno@clisp.org>
18061
18062         * m4/sig_atomic_t: New file, from GNU gettext.
18063         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
18064
18065 2003-10-14  Bruno Haible  <bruno@clisp.org>
18066
18067         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
18068         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
18069         Also use volatile where needed.
18070
18071 2003-10-12  Paul Eggert  <eggert@twinsun.com>
18072
18073         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
18074         Change maintainer from Bruno Haible to 'all'.
18075
18076 2003-10-12  Paul Eggert  <eggert@twinsun.com>
18077
18078         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
18079
18080 2003-10-12  Paul Eggert  <eggert@twinsun.com>
18081
18082         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
18083         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
18084         and define in terms of the other primitives.
18085         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
18086         (SIZE_MAX): Define if not already defined.
18087         (array_size_overflow): New function.
18088         (xalloc_die): Abort instead of exiting if 'error' returns.
18089         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
18090         (xmalloc, xrealloc): Use them.
18091         (xcalloc): Check for address arithmetic overflow.
18092         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
18093         a bit faster than strcpy.
18094
18095 2003-10-10  Simon Josefsson  <jas@extundo.com>
18096
18097         * modules/argp (Depends-on): Add restrict and strcase.
18098
18099 2003-10-10  Simon Josefsson  <jas@extundo.com>
18100
18101         * m4/argp.m4: Add AC_C_INLINE.
18102
18103 2003-10-08  Paul Eggert  <eggert@twinsun.com>
18104
18105         Merge getpass from libc, plus a few fixes.
18106
18107         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
18108         Include <stdbool.h>.
18109         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
18110         __fsetlocking to empty.
18111         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
18112         do include <bits/libc-lock.h>.
18113         Do not include <fcntl.h>; not needed.
18114         [_LIBC]: Include <wchar.h>.
18115         (NOTCANCEL_MODE): New macro.
18116         (flockfile, funlockfile) [_LIBC]: New macros.
18117         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
18118         [!_LIBC]: New macros.
18119         (call_fclose): New function.
18120         (getpass): Use it.  Save tty stream separately; this simplifies the
18121         code and makes it more reliable if stdin happens to equal stdout.
18122         Invoke __fsetlocking on tty.
18123         Handle thread cancellation if needed.
18124         Namespace cleanup (use __tcgetattr, __getline).
18125         Use bool for Booleans.
18126         [USE_IN_LIBIO]: Handle wide streams.
18127         [!_LIBC]: Unconditionally do the fseek, since we don't know what
18128         stream might go where.
18129
18130         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
18131         doesn't have to include <stdio.h> before us.
18132         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
18133         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
18134         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
18135         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
18136         if not declared, so that we can use getpass.c code from libc without
18137         rewriting it.
18138         (flockfile, ftrylockfile, funlockfile): New macros.
18139
18140 2003-10-08  Paul Eggert  <eggert@twinsun.com>
18141
18142         * modules/getpass: Depend on stdbool.
18143
18144 2003-10-08  Paul Eggert  <eggert@twinsun.com>
18145
18146         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
18147
18148 2003-10-07  Karl Berry  <karl@gnu.org>
18149
18150         * config/config.{guess,sub}: update from config.
18151
18152 2003-10-06  Jim Meyering  <jim@meyering.net>
18153             Bruno Haible  <bruno@clisp.org>
18154
18155         This lets translators provide better translations for the
18156         "Written by ..." part of --version output.
18157         * lib/version-etc.h: Include stdarg.h.
18158         (version_etc_copyright): Declare as readonly.
18159         (version_etc): Make this function variadic with a NULL-terminated list
18160         of author name strings.
18161         (version_etc_va): New declaration.
18162         * lib/version-etc.c: Include stdarg.h, stdlib.h.
18163         (version_etc_copyright): Declare as readonly.
18164         (version_etc_va): New function. Provide a different translatable string
18165         for each possible number of authors < 10. Abbreviate when there are 10
18166         authors or more.
18167         (version_etc): Make this function variadic. Call version_etc_va.
18168         Suggestion from Gary V. Vaughan.
18169
18170         * lib/long-options.h (parse_long_options): Change prototype: the
18171         authors string is moved to the end and becomes variadic.
18172         * lib/long-options.c: Include stdarg.h.
18173         (parse_long_options): Make this function variadic, too.
18174         Call version_etc_va, not version_etc.
18175
18176 2003-10-06  Bruno Haible  <bruno@clisp.org>
18177
18178         * modules/version-etc-2: Remove file.
18179         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
18180
18181 2003-10-06  Bruno Haible  <bruno@clisp.org>
18182
18183         * modules/fatal-signal: New file.
18184         * MODULES.html.sh (func_all_modules): Add fatal-signal.
18185
18186 2003-10-06  Bruno Haible  <bruno@clisp.org>
18187
18188         * m4/fatal-signal.m4: New file.
18189         * m4/signalblocking.m4: New file, from GNU gettext.
18190
18191 2003-10-06  Bruno Haible  <bruno@clisp.org>
18192
18193         * lib/version-etc-2.h: Remove file.
18194         * lib/version-etc-2.c: Remove file.
18195
18196 2003-10-06  Bruno Haible  <bruno@clisp.org>
18197
18198         * lib/fatal-signal.h: New file, from GNU gettext.
18199         * lib/fatal-signal.c: New file, from GNU gettext.
18200
18201 2003-10-05  Paul Eggert  <eggert@twinsun.com>
18202
18203         * README: Rework advice for preventing empty .o files.
18204         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
18205         not <sys/types.h>.
18206
18207 2003-10-04  Karl Berry  <karl@gnu.org>
18208
18209         * lib/argp*: update from libc.
18210
18211 2003-10-04  Karl Berry  <karl@gnu.org>
18212
18213         * config/config.{guess,sub}: update from config.
18214
18215 2003-10-02  Bruno Haible  <bruno@clisp.org>
18216
18217         * modules/lchown (Include): Add lchown.h.
18218         * modules/time_r (Include): Use "..." syntax.
18219         * modules/xgetdomainname (Include): Add xgetdomainname.h.
18220
18221 2003-10-01  Simon Josefsson  <jas@extundo.com>
18222
18223         * MODULES.html.sh (func_all_modules): Move gethostname from section
18224         'based on' to section 'lacking' POSIX:2001.
18225
18226 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
18227
18228         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
18229         to output mode on the same stream.
18230
18231 2003-09-29  Paul Eggert  <eggert@twinsun.com>
18232
18233         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
18234         Fix arg typo in previous patch.
18235
18236 2003-09-28  Jim Meyering  <jim@meyering.net>
18237
18238         * lib/error.c: Correct cpp indentation.
18239
18240 2003-09-27  Paul Eggert  <eggert@twinsun.com>
18241
18242         * modules/free: New file.
18243
18244 2003-09-27  Paul Eggert  <eggert@twinsun.com>
18245
18246         * m4/free.m4: New file.
18247
18248 2003-09-27  Paul Eggert  <eggert@twinsun.com>
18249
18250         * lib/minmax.h (MIN, MAX)
18251         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
18252         Omit the special code that used __typeof__, since we worry that
18253         it could be more trouble than it's worth.  See:
18254         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
18255         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
18256
18257         * lib/free.c: New file.
18258
18259 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
18260
18261         Trivial fixes to Makefile.am parts of module listings.
18262         * modules/strstr: Append strstr.h to lib_SOURCES.
18263         * modules/strcase: Likewise, for strcase.h.
18264
18265 2003-09-27  Karl Berry  <karl@gnu.org>
18266
18267         * config/mkinstalldirs: update from automake.
18268
18269 2003-09-26  Paul Eggert  <eggert@twinsun.com>
18270
18271         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
18272         (error_tail): Do not loop, reallocating temporary buffer, since
18273         the output cannot contain more wide characters than the input
18274         contains bytes, the size must be big enough already.  This avoids
18275         one potential size overflow calculation.  Check for size overflow
18276         when calculating temporary buffer size.  Free temporary buffer
18277         when done, if it was allocated with malloc; this plugs a memory
18278         leak.  Remove casts from void * to pointers, that are no longer
18279         needed now that we're assuming C89 or better.
18280
18281         Merge error changes from glibc.
18282
18283         * lib/error.c, error.h: Update copyright notice header to match glibc.
18284         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
18285         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
18286         Disable cancellation while printing error.
18287         * lib/error.h: Prepend __ to parameter names.
18288
18289 2003-09-26  Jim Meyering  <jim@meyering.net>
18290
18291         * lib/error.c (error_tail): Move some declarations
18292         into inner scope where the local variables are used.
18293
18294 2003-09-26  Bruno Haible  <bruno@clisp.org>
18295
18296         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
18297         stpncpy().
18298         Don't define stpncpy through config.h; it's now done through stpncpy.h.
18299
18300 2003-09-26  Bruno Haible  <bruno@clisp.org>
18301
18302         * lib/stpncpy.h (gnu_stpncpy): New declaration.
18303         (stpncpy): Define as alias for gnu_stpncpy.
18304         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
18305
18306 2003-09-25  Simon Josefsson  <jas@extundo.com>
18307
18308         * lib/xgetdomainname.h: New file.
18309         * lib/xgetdomainname.c: New file.
18310
18311 2003-09-25  Simon Josefsson  <jas@extundo.com>
18312             Bruno Haible  <bruno@clisp.org>
18313
18314         * modules/getdomainname: New file.
18315         * modules/xgetdomainname: New file.
18316         * MODULES.html.sh (func_all_modules): Add getdomainname,
18317         xgetdomainname.
18318
18319 2003-09-25  Simon Josefsson  <jas@extundo.com>
18320             Bruno Haible  <bruno@clisp.org>
18321
18322         * m4/getdomainname.m4: New file.
18323
18324 2003-09-25  Simon Josefsson  <jas@extundo.com>
18325             Bruno Haible  <bruno@clisp.org>
18326
18327         * lib/getdomainname.h: New file.
18328         * lib/getdomainname.c: New file.
18329
18330 2003-09-25  Karl Berry  <karl@gnu.org>
18331
18332         * lib/argp-fmtstream.c, argp-help.c: update from libc.
18333
18334 2003-09-25  Karl Berry  <karl@gnu.org>
18335
18336         * config/install-sh: update from automake.
18337
18338 2003-09-25  Bruno Haible  <bruno@clisp.org>
18339
18340         * modules/version-etc-2: New file, from modules/version-etc with
18341         modifications.
18342         * MODULES.html.sh (func_all_modules): Add version-etc-2.
18343
18344 2003-09-25  Bruno Haible  <bruno@clisp.org>
18345
18346         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
18347         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
18348
18349 2003-09-24  Simon Josefsson  <jas@extundo.com>
18350
18351         * modules/xgethostname: Add xgethostname.h.
18352
18353 2003-09-24  Paul Eggert  <eggert@twinsun.com>
18354
18355         * lib/linebuffer.c (freebuffer): Don't free the argument, just
18356         the buffer associated with the argument.  Bug reported by
18357         Simon Josefsson.
18358
18359 2003-09-24  Paul Eggert  <eggert@twinsun.com>
18360
18361         * README: Document assumptions that 'int' is at least 32 bits
18362         wide, that integer arithmetic is 2's complement without overflow,
18363         that there are no holes in integer values, that adding sizes of
18364         two nonoverlapping objects can't overflow, and that all-bits-zero
18365         yields scalar zero.  Fix spelling and capitalization typos.
18366
18367 2003-09-19  Karl Berry  <karl@gnu.org>
18368
18369         * lib/argp.h: update from libc.
18370
18371 2003-09-17  Paul Eggert  <eggert@twinsun.com>
18372
18373         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
18374         to avoid spurious warnings like "AC_RUN_IFELSE was called before
18375         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
18376
18377 2003-09-17  Paul Eggert  <eggert@twinsun.com>
18378
18379         * gnulib-tool: Use "test -h", not "test -L", for portability
18380         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
18381         (tags_regexp): Remove, since \| doesn't conform to POSIX.
18382         (sed_extract_prog): Issue s commands one-by-one, rather than
18383         using \| in one s command.
18384
18385 2003-09-16  Paul Eggert  <eggert@twinsun.com>
18386
18387         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
18388         input error, instead of returning NULL the next time we are called
18389         (and therefore losing track of errno).
18390
18391 2003-09-16  Bruno Haible  <bruno@clisp.org>
18392
18393         * gnulib-tool (func_create_testdir): Warn about duplicated
18394         dependencies.
18395
18396 2003-09-15  Paul Eggert  <eggert@twinsun.com>
18397
18398         * modules/argmatch, modules/fatal, modules/obstack,
18399         modules/xalloc, modules/xgethostname: Sort dependencies by
18400         importance, not alphabetically.
18401
18402 2003-09-15  Paul Eggert  <eggert@twinsun.com>
18403
18404         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
18405         fails, so that the caller gets the proper errno.
18406
18407         * lib/readutmp.c (read_utmp): Likewise.
18408         Check for fstat error.  Close stream and free storage
18409         when failing.
18410
18411 2003-09-14  Karl Berry  <karl@gnu.org>
18412
18413         * config/srclist.txt (strdup.c): disable for c89 changes.
18414
18415 2003-09-14  Jim Meyering  <jim@meyering.net>
18416
18417         * lib/getloadavg.c: Correct cpp indentation.
18418         * lib/strdup.c: Likewise.
18419         * lib/vasnprintf.c: Likewise.
18420
18421 2003-09-14  Bruno Haible  <bruno@clisp.org>
18422
18423         * modules/fwriteerror: New file.
18424         * MODULES.html.sh (func_all_modules): Add fwriteerror.
18425
18426 2003-09-14  Bruno Haible  <bruno@clisp.org>
18427
18428         * lib/fwriteerror.h: New file.
18429         * lib/fwriteerror.c: New file.
18430
18431 2003-09-12  Paul Eggert  <eggert@twinsun.com>
18432
18433         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
18434         modules/xgethostname, modules/xalloc: Depend on exit.
18435
18436 2003-09-12  Paul Eggert  <eggert@twinsun.com>
18437
18438         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
18439
18440         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
18441         and AC_MINIX, too, so that their extensions are available.
18442
18443         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
18444         This macro has been superseded by gl_BACKUPFILE.
18445
18446         More patches to assume C89 or better.
18447
18448         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
18449
18450         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
18451         unconditionally.
18452         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
18453         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
18454         Include <string.h>, <stdlib.h> unconditionally.
18455         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
18456         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
18457         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
18458         headers or for string.h.
18459         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
18460         or strtoul.
18461
18462         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
18463         headers.
18464         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
18465         * m4/userspec.m4 (gl_USERSPEC): Likewise.
18466         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
18467         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
18468         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
18469         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
18470         memcpy, memset.
18471         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
18472         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
18473         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
18474         strtol.
18475         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
18476         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
18477         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
18478         strtoul.
18479
18480 2003-09-12  Paul Eggert  <eggert@twinsun.com>
18481
18482         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
18483         * lib/obstack.c [!defined _LIBC]: Likewise.
18484         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
18485         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
18486         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
18487
18488         More changes to assume C89 or better.
18489
18490         * lib/error.c (error_tail): Assume vprintf.
18491
18492         * lib/argmatch.c (getenv): Remove decl.
18493         * lib/progreloc.c (get_full_program_name): Define via prototype.
18494         * lib/setenv.c (clearenv): Likewise.
18495         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
18496         needed.
18497         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
18498         (malloc, memcpy): Remove decls.
18499         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
18500         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
18501         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
18502         (memcpy): Remove macro.
18503         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
18504         (__P): Remove.  All uses removed.
18505         (PTR): Remove.  All uses changed to void *.
18506         (CHAR_BIT, NULL): Remove.
18507         (spaces, zeros, memset_space, memset_zero)
18508         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
18509         Remove.
18510         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
18511         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
18512         Define with prototype.
18513         Remove now-unnecessary prototype decl.
18514         (extra_args_spec): Assume ANSI C.  All uses changed.
18515         (extra_args_spec_iso): Remove.
18516         (my_strftime, emacs_strftimeu): Define via prototype.
18517         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
18518         unconditionally.
18519         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
18520         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
18521         (strtoul, strtol): Remove decls.
18522         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
18523         LONG_MAX): Remove.
18524         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
18525         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
18526         (LOCALE_PARAM_PROTO): New macro.
18527         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
18528         (INTERNAL (strtol), strtol): Define with a prototype.
18529         (PARAMS): Remove.  All uses removed.
18530         * lib/tempname.c: Include <string.h> unconditionally.
18531         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
18532         * lib/xgethostname.c (main): Define with a prototype.
18533         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
18534         Include <stdlib.h> unconditionally.
18535         (calloc, malloc, realloc, free): Remove decls.
18536         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
18537         Include <stdlib.h> unconditionally.  Sort include file names.
18538         (strtod): Remove.
18539         (xstrtod): Define with a prototype.
18540         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
18541         (strtol, strtoul): Remove decls.
18542
18543 2003-09-11  Paul Eggert  <eggert@twinsun.com>
18544
18545         More patches to assume C89 or better.
18546         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
18547         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
18548         string.h, memchr, STDC_HEADERS.
18549
18550 2003-09-11  Paul Eggert  <eggert@twinsun.com>
18551
18552         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
18553         Include <stdlib.h>, <string.h> unconditionally.
18554         Remove now-unnecessary cast to char *.
18555         * lib/strnlen.c: Include <string.h> unconditionally.
18556         * lib/yesno.c (yesno): Define with a prototype.
18557
18558 2003-09-11  Bruno Haible  <bruno@clisp.org>
18559
18560         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
18561
18562 2003-09-10  Jim Meyering  <jim@meyering.net>
18563
18564         * lib/error.c: Correct indentation of cpp directives.
18565
18566 2003-09-10  Bruno Haible  <bruno@clisp.org>
18567
18568         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
18569         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
18570         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
18571         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
18572         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
18573         <stdlib.h> and <string.h> checks.
18574         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
18575         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
18576
18577 2003-09-10  Bruno Haible  <bruno@clisp.org>
18578
18579         * lib/strcspn.c: Include <string.h> unconditionally.
18580         * lib/strpbrk.c: Include <string.h> unconditionally.
18581         * lib/strstr.c: Include <string.h> unconditionally.
18582         * lib/unicodeio.c: Include <string.h> unconditionally.
18583         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
18584         * lib/unsetenv.c: Likewise.
18585         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
18586         * lib/yesno.c: Include <stdlib.h> unconditionally.
18587         (rpmatch): Add prototype.
18588
18589 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18590
18591         More patches to assume C89 or better.
18592         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
18593         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
18594         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
18595         or for string.h.
18596         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
18597         stdlib.h.
18598         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
18599         C headers.
18600         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
18601         string.h.
18602         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
18603         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
18604         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
18605         or for string.h.
18606         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
18607         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
18608         C headers.
18609         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
18610         memcpy.
18611         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
18612         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
18613         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
18614         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
18615         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
18616         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
18617         string.h, free.
18618         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
18619         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
18620         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
18621         C headers, or for string.h.
18622         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
18623         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
18624         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
18625         headers, memory.h, stdlib.h, string.h, strings.h.
18626         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
18627         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
18628         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
18629         strchr.
18630         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
18631         headers, memory.h, string.h.
18632         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
18633         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
18634         free.
18635         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
18636         headers.
18637         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
18638         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
18639         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
18640         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
18641         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
18642
18643 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18644
18645         More K&R removal.
18646
18647         * lib/acosl.c (main): Use a prototype.
18648         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
18649         tanl.c: Likewise.
18650
18651         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
18652
18653         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
18654         (getopt, etopt_long, getopt_long_only, _getopt_internal)
18655         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
18656         with a prototype.
18657         * lib/getopt.c (const): Remove macro.
18658         Include <string.h> unconditionally.
18659         (my_index): Remove; all uses changed to strchr.
18660         (strlen): Remove decl.
18661         (exchange): Remove forward decl; no longer needed.
18662         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
18663         Define with prototype.
18664         * lib/getopt1.c (const): Remove macro.
18665         (getopt_long, getopt_long_only, main): Define with prototype.
18666
18667         * lib/getugroups.c: Include <string.h> unconditionally.
18668
18669         * lib/getusershell.c: Include <stdlib.h> unconditionally.
18670         (getusershell, setusershell, endusershell, readname, main):
18671         Define with prototypes.
18672
18673         * lib/group-member.c: Include group-member.h first.
18674         Include <stdlib.h> unconditionally.
18675
18676         * lib/hard-locale.c: Include hard-locale.h first.
18677         Include <stdlib.h>, <string.h> unconditionally.
18678
18679         * lib/hash.c (free, malloc): Remove decls.
18680         Include <stdlib.h> unconditionally.
18681
18682         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
18683         (getenv): Do not declare.
18684
18685         * lib/idcache.c: Include <string.h> unconditionally.
18686
18687         * lib/long-options.c: Include long-options.h first, to test interface.
18688         Include <stdlib.h> unconditionally.
18689
18690         * lib/makepath.c: Include makepath.h first, to test interface.
18691         Include <stdlib.h> and <string.h> unconditionally.
18692
18693         * lib/linebuffer.c: Include <stdlib.h>.
18694         (free): Remove decl.
18695
18696         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
18697         stddef.h. rpl_malloc returns void *, not char *.
18698         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
18699         prototype.
18700
18701         * lib/md5.h: Include <limits.h> unconditionally.
18702         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
18703         (__P): Remove; all uses removed.
18704         * lib/md5.c: Include "md5.h" first.
18705         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
18706         md5_buffer, md5_process_bytes, md5_process_block):
18707         Define with prototypes.
18708         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
18709         * lib/sha.c: Include "sha.h" first.
18710         Include <stdlib.h>, <string.h> unconditionally.
18711
18712         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
18713         * lib/memcmp.c (__ptr_t): Likewise.
18714         * lib/memrchr.c (__ptr_t): Likewise.
18715         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
18716         Include <string.h> unconditionally.
18717         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
18718         * lib/memchr.c: Include <stdlib.h> unconditionally.
18719         * lib/memchr.c (LONG_MAX): Remove.
18720         * lib/memrchr.c (LONG_MAX): Likewise.
18721         * lib/memchr.c (__memchr): Define via a prototype.
18722         * lib/memrchr.c (__memrchr): Likewise.
18723         * lib/memcmp.c (__P): Remove, and remove all uses.
18724         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
18725         Remove forward decls; no longer needed.
18726         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
18727         Use types required by C89 in prototype.
18728
18729         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
18730         * lib/savedir.c: Likewise.
18731         * lib/mkdir.c (free): Remove decl.
18732         * lib/rmdir.c (rmdir): Define with a prototype.
18733         * lib/savedir.c: Include savedir.h first, to test interface.
18734
18735         * lib/mktime.c (STDC_HEADERS): Remove.
18736         Include <stdlib.h>, <string.h> unconditionally.
18737
18738         * lib/modechange.c: Include <stdlib.h> unconditionally.
18739         (malloc): Remove decl.
18740
18741         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
18742         (free): Remove decl.
18743
18744         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
18745         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
18746         (This type really should be intptr_t, but that's a C99ism.)
18747         (_obstack_memcpy): Remove: all uses changed to memcpy.
18748         Include <string.h> unconditionally.
18749         (struct obstack): Assume __STDC__ for types of members
18750         chunkfun, freefun, extra_arg.
18751         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
18752         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
18753         obstack_begin, obstack_specify_allocation,
18754         obstack_specify_allocation_with_arg, obstack_chunkfun,
18755         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
18756         Remove unprototyped decls and the macros that use them.
18757         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
18758         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
18759         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
18760         (defined __STDC__ && __STDC__)]:
18761         Remove nonprototyped code.
18762         Include <stdlib.h> unconditionally.
18763         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
18764         _obstack_allocated_p, _obstack_free, obstack_free,
18765         _obstack_memory_used, print_and_abort):
18766         Define using prototypes.
18767         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
18768         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
18769         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
18770         obstack_next_free, obstack_object_size, obstack_room) [0]:
18771         Remove unused, unprototyped code.
18772
18773         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
18774
18775         * lib/physmem.c (physmem_total, physmem_available, main): Define
18776         with prototypes.
18777
18778         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
18779         (main): Define with a prototype.
18780
18781         * lib/posixver.c (getenv): Remove decl.
18782
18783         * lib/putenv.c (malloc): Returns void *, not char *.
18784         Include <string.h> unconditionally.
18785         (strchr, memcpy, NULL): Do not define.
18786
18787         * lib/readtokens.c: Include readtokens.h first, to test interface.
18788         Include <stdlib.h>, <string.h> unconditionally.
18789         (init_tokenbuffer): Define with a prototype.
18790
18791         * lib/regex.c (PARAMS): Remove.  All uses removed.
18792         All uses of _RE_ARGS removed, too.
18793         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
18794         unconditionally.
18795         (bzero): Assume memset exists.
18796         (memcmp, memcpy, NULL): Remove.
18797         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
18798         char, or assignments to local vars of type signed char.
18799         (init_syntax_once, PREFIX(extract_number_and_incr),
18800         PREFIX(print_partial_compiled_pattern),
18801         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
18802         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
18803         PREFIX(regex_grow_registers), PREFIX(regex_compile),
18804         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
18805         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
18806         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
18807         wcs_compile_range, byte_compile_range, truncate_wchar,
18808         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
18809         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
18810         count_mbs_length, wcs_re_match_2_internal,
18811         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
18812         PREFIX(alt_match_null_string_p),
18813         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
18814         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
18815         regfree, PREFIX(extract_number)): Define with prototype.  Remove
18816         now-unnecessary declaration, if any.
18817         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
18818         regcomp, regexec):
18819         Remove now-unnecessary casts among pointer types.
18820         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
18821
18822         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
18823         (free): Remove decl.
18824
18825         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
18826
18827         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
18828         (free): Remove decl.
18829
18830         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
18831         * lib/xgetcwd.c: Likewise.
18832
18833         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
18834         (free): Remove decl.
18835
18836         * lib/strchrnul.c (strchrnul): Define with a prototype.
18837         Fix bug: c_in was not converted to char before searching.
18838
18839         The following changes are not K&R related:
18840
18841         * lib/group-member.h: Include <sys/types.h>, so that this file is
18842         self-contained.
18843         * lib/makepath.h: Likewise.
18844
18845         * lib/getusershell.c (readname, default_index, line_size, readname):
18846         Use size_t, not int, for sizes.
18847         (readname): If the size overflows, report an error instead of
18848         looping forever.
18849
18850 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18851
18852         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
18853         libc.
18854
18855 2003-09-09  Paul Eggert  <eggert@twinsun.com>
18856
18857         * README: New section: portability guidelines.
18858
18859 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
18860
18861         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
18862         C89 spec.
18863
18864 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
18865
18866         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
18867
18868 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18869
18870         Assume C89 or better; remove K&R cruft.
18871         A few of these changes were first proposed by Derek Robert Price
18872         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
18873
18874         * lib/addext.c: Include <string.h> unconditionally.
18875         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
18876         Don't declare getenv or malloc.
18877
18878         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
18879         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
18880         (NULL): Remove.
18881         (find_stack_direction, alloca): Use prototypes.
18882
18883         * lib/atexit.c (atexit): Define using a prototype.
18884
18885         * lib/basename.c, dirname.c, stripslash.c:
18886         Include <string.h> unconditionally.
18887
18888         * lib/bcopy.c: Include <stddef.h>.
18889         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
18890
18891         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
18892
18893         * lib/error.h (error, error_at_line, error_print_progname)
18894         [! (defined (__STDC__) && __STDC__)]: Remove decls.
18895         * lib/error.c: Include error.h first, to check interface.
18896         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
18897         (VA_START): Remove; all uses changeed to va_start.
18898         (exit, strerror): Remove decls.
18899         (error_print_progname): Prototype uncondionally.
18900         Don't include <errno.h>; no longer needed.
18901         (private_strerror): Remove.
18902         (error_tail): Always define.
18903         (error, error_at_line): Assume C89 or better; always use prototypes.
18904         * lib/fatal.c: Include "fatal.h" first, to test interface.
18905         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
18906         (VA_START): Remove; all uses changed to va_start.
18907         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
18908         this case.
18909         (exit): Remove decl.
18910         (fatal): Prototype unconditionally.  Assume va_start works.
18911         Abort at end, to pacify gcc.
18912
18913         * lib/euidaccess.c (main): Define with a prototype.
18914
18915         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
18916
18917         * lib/exitfail.c: Include <stdlib.h> unconditionally.
18918
18919         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
18920         prototypes.
18921         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
18922         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
18923         (getenv): Remove decl.
18924         (fnmatch): Define using a prototype.
18925         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
18926         (FCT): Define using a prototype.
18927
18928         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
18929
18930         * lib/gethostname.c: Include <stddef.h>.
18931         (gethostname): Define with prototype.  Length is size_t, not int.
18932
18933 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18934
18935         Assume C89 or better; remove K&R cruft.
18936         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
18937         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
18938         string.h, getenv, malloc.
18939         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
18940         headers.
18941         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
18942         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
18943         do not check for strerror.
18944         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
18945         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
18946         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
18947         do not check for doprnt or vprintf.
18948         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
18949         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
18950
18951 2003-09-08  Paul Eggert  <eggert@twinsun.com>
18952
18953         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
18954         getversion.c should have been removed then, but was accidentally
18955         preserved.
18956
18957         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
18958         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
18959
18960 2003-09-08  Karl Berry  <karl@gnu.org>
18961
18962         * config/config.sub, config.guess, srclistvars.sh: update from savannah
18963                 config, forget about prep.
18964
18965         * config/depcomp, missing: update from automake.
18966
18967 2003-09-07  Paul Eggert  <eggert@twinsun.com>
18968
18969         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
18970         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
18971
18972 2003-09-07  Paul Eggert  <eggert@twinsun.com>
18973
18974         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
18975         copy_tm_result.  Bug reported by Simon Josefsson in
18976         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
18977
18978 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18979
18980         * m4/time_r.m4: New file.
18981         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
18982         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
18983         is. Check for timegm declaration.
18984         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
18985         Do not check for gmtime_r.
18986         Replace mktime if __mktime_internal does not exist and if mktime
18987         hasn't been replaced already.
18988
18989 2003-09-06  Paul Eggert  <eggert@twinsun.com>
18990
18991         * lib/time_r.c, lib/time_r.h: New files.
18992
18993         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
18994         __localtime_r.
18995         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
18996         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
18997
18998         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
18999         __gmtime_r.
19000         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
19001         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
19002         Include <time_r.h>.
19003
19004         * lib/timegm.c: Switch to glibc implementation, with the following
19005         changes:
19006         [defined HAVE_CONFIG_H]: Include <config.h>.
19007         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
19008         (__mktime_internal) [!defined _LIBC]: New decl.
19009         (__gmtime_r) [!defined _LIBC]: New macro and function.
19010         (timegm): Use a prototype, since gnulib assumes C89.
19011         Do not bother declaring tmp to be const, as it's not really usefu.
19012         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
19013         (timegm): Declare only if HAVE_DECL_TIMEGM.
19014
19015 2003-09-06  Paul Eggert  <eggert@twinsun.com>
19016
19017         * MODULES.html.sh (func_all_modules): Add time_r.
19018         * modules/time_r: New file.
19019         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
19020         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
19021
19022 2003-09-03  Paul Eggert  <eggert@twinsun.com>
19023
19024         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
19025         Bug reported by Lute Kamstra in
19026         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
19027
19028         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
19029         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
19030         course with correspondingly smaller numbers for tomorrow and
19031         yesterday.  From Tadayoshi Funaba.  Originally installed into
19032         sh-utils on 1999-08-07, but the patch got lost (I guess during the
19033         coreutils merge?).
19034
19035 2003-08-31  Simon Josefsson  <jas@extundo.com>
19036
19037         * modules/timegm: New file.
19038         * MODULES.html.sh (func_all_modules): Add timegm.
19039
19040 2003-08-31  Simon Josefsson  <jas@extundo.com>
19041
19042         * m4/timegm.m4: New file.
19043
19044 2003-08-31  Simon Josefsson  <jas@extundo.com>
19045
19046         * lib/timegm.h: New file.
19047         * lib/timegm.c: New file.  Based on
19048         wget-1.8.2/src/http.c:mktime_from_utc.
19049
19050 2003-08-31  Karl Berry  <karl@gnu.org>
19051
19052         * lib/argp.h: update from libc.
19053
19054 2003-08-28  Bruno Haible  <bruno@clisp.org>
19055
19056         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
19057         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
19058         followed by '#define fnmatch fnmatch_posix' gives an error.
19059
19060 2003-08-28  Bruno Haible  <bruno@clisp.org>
19061
19062         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
19063         warning on QNX, which defines O_BINARY to 000000.
19064
19065 2003-08-27  Jim Meyering  <jim@meyering.net>
19066
19067         * m4/mkstemp.m4: Require that the system mkstemp be able to create
19068         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
19069         would fail after 32.  Reported by Danny Levinson.  Details here:
19070         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
19071
19072 2003-08-24  Bruno Haible  <bruno@clisp.org>
19073
19074         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
19075         MSVC7 <stdio.h> is included later.
19076
19077 2003-08-22  Simon Josefsson  <jas@extundo.com>
19078
19079         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
19080
19081 2003-08-20  Karl Berry  <karl@gnu.org>
19082
19083         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
19084
19085 2003-08-20  Bruno Haible  <bruno@clisp.org>
19086
19087         * modules/progname: New file.
19088         * MODULES.html.sh (func_all_modules): Add progname.
19089
19090 2003-08-20  Bruno Haible  <bruno@clisp.org>
19091
19092         * lib/progname.h: New file, from GNU gettext.
19093         * lib/progname.c: New file, from GNU gettext.
19094         * lib/progreloc.c: New file, from GNU gettext.
19095
19096 2003-08-19  Jim Meyering  <jim@meyering.net>
19097
19098         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
19099         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
19100
19101 2003-08-19  Bruno Haible  <bruno@clisp.org>
19102
19103         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
19104         more.
19105
19106 2003-08-19  Bruno Haible  <bruno@clisp.org>
19107
19108         * lib/xstrdup.c: Assume <string.h> exists.
19109
19110 2003-08-18  Paul Eggert  <eggert@twinsun.com>
19111
19112         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
19113         in makefile rules.
19114
19115 2003-08-18  Jim Meyering  <jim@meyering.net>
19116
19117         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
19118         * m4/lib-ld.m4: Likewise.
19119
19120 2003-08-18  Jim Meyering  <jim@meyering.net>
19121
19122         * lib/setenv.h: Indent nested cpp directive.
19123         * lib/vasnprintf.c: Remove trailing blanks.
19124
19125 2003-08-17  Simon Josefsson  <jas@extundo.com>
19126
19127         * modules/xstrndup: New file.
19128         * MODULES.html.sh (func_all_modules): Add xstrndup.
19129
19130 2003-08-17  Simon Josefsson  <jas@extundo.com>
19131
19132         * modules/argp: Fix autoconf macro name. Add more dependencies.
19133
19134 2003-08-17  Simon Josefsson  <jas@extundo.com>
19135
19136         * m4/xstrndup.m4: New file.
19137
19138 2003-08-17  Simon Josefsson  <jas@extundo.com>
19139
19140         * m4/argp.m4: New file.
19141
19142 2003-08-17  Simon Josefsson  <jas@extundo.com>
19143             Bruno Haible  <bruno@clisp.org>
19144
19145         * lib/xstrndup.h: New file.
19146         * lib/xstrndup.c: New file.
19147
19148 2003-08-17  Bruno Haible  <bruno@clisp.org>
19149
19150         * modules/strndup (Files, Include): Add lib/strndup.h.
19151
19152 2003-08-17  Bruno Haible  <bruno@clisp.org>
19153
19154         * modules/euidaccess (Files): Add lib/euidaccess.h.
19155
19156 2003-08-17  Bruno Haible  <bruno@clisp.org>
19157
19158         * lib/strndup.h: New file.
19159
19160 2003-08-17  Bruno Haible  <bruno@clisp.org>
19161
19162         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
19163         like AC_GNU_SOURCE.
19164         * modules/extensions (configure.ac): Comment out the invocation of
19165         gl_USE_SYSTEM_EXTENSIONS.
19166
19167 2003-08-16  Paul Eggert  <eggert@twinsun.com>
19168
19169         Merges from coreutils, etc.
19170         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
19171         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
19172         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
19173         fixing a typo.
19174         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
19175         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
19176
19177 2003-08-16  Paul Eggert  <eggert@twinsun.com>
19178
19179         Document merge from coreutils.
19180         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
19181         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
19182         * modules/utime: Add m4/utimes-null.m4.
19183
19184 2003-08-16  Paul Eggert  <eggert@twinsun.com>
19185
19186         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
19187         space, undoing this 2003-08-12 change:
19188         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
19189
19190 2003-08-16  Paul Eggert  <eggert@twinsun.com>
19191
19192         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
19193         strtoul.c from libc, undoing this 2003-08-12 change:
19194         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
19195
19196 2003-08-16  Jim Meyering  <jim@meyering.net>
19197
19198         Merges from coreutils.
19199         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
19200         prefix.  Adjust cache variables similarly.  Create 500 rather than
19201         just 300 files, to exercise bug on Darwin6.5, too.
19202         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
19203         $missing_dir.
19204         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
19205         AM_SYS_POSIX_TERMIOS.
19206         Reported by mkc@mathdogs.com.
19207         Also change use of $am_cv_sys_posix_termios
19208         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
19209         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
19210         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
19211         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
19212         in /proc/mounts until it finds one with matching device number.  This
19213         is unnecessary when the FILE argument *is* a mount point.  No stat call
19214         is necessary in that case.  So, disable the statvfs-testing code on
19215         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
19216         as RedHat bug# 84846.
19217         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
19218         to 1MB, so as not to render systems with no stack size limit (e.g.,
19219         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
19220         Include <unistd.h>.  On some systems,
19221         it is required for the definition of _SC_PAGESIZE.
19222
19223 2003-08-16  Jim Meyering  <jim@meyering.net>
19224
19225         Merge from coreutils.
19226         * lib/xstrtoimax.c: #else #if -> #elif.
19227         * lib/xstrtoumax.c: Likewise.
19228
19229 2003-08-16  Jim Meyering  <jim@meyering.net>
19230
19231         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
19232         * m4/utimes.m4: Removed.
19233         * m4/utimes-null.m4: Renamed from utimes.m4.
19234
19235         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
19236         to 1MB, so as not to render systems with no stack size limit (e.g.,
19237         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
19238         Include <unistd.h>.  On some systems,
19239         it is required for the definition of _SC_PAGESIZE.
19240
19241 2003-08-16  Jim Meyering  <jim@meyering.net>
19242         and Paul Eggert  <eggert@cs.ucla.edu>
19243
19244         Merges from coreutils, etc.
19245
19246         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
19247         using the latest version from cvs.  This avoids problems with #line
19248         directives using a vendor (Sun) compiler.
19249         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
19250         Don't set GETGROUPS_LIB here; now it's
19251         done via getgroups.m4's wrapper function.
19252         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
19253         rather than just in sh-util/configure.in, so that the
19254         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
19255         same.
19256         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
19257         AC_FUNC_GETLOADAVG where to find getloadavg.c.
19258         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
19259         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
19260         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
19261         Remove code that is now done by the newly-required macros.
19262         Append $(EXEEXT) to DF_PROG.
19263         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
19264         Do not invoke or require the following here,
19265         since prereq.m4 or some gnulib .m4 now does this for us:
19266         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
19267         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
19268         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
19269         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
19270         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
19271         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
19272         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
19273         AC_FUNC_OBSTACK.
19274         Do not replace the following functions, as this is now the job
19275         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
19276         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
19277         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
19278         atexit getpass, strdup, getpagesize.
19279         Replace 'raise'.
19280         Do not check for the following functions, as this is now the job
19281         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
19282         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
19283         setregid.
19284         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
19285         Check for sys/sysctl.h.
19286         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
19287         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
19288         of checking for ssize_t ourselves.
19289
19290         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
19291         Require every macro that gnulib/modules/* suggests for us.
19292         (jm_PREREQ_ADDEXT): New macro.
19293         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
19294         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
19295
19296         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
19297         (gl_PHYSMEM): Use it.
19298         Also check for `table' function.
19299         Check for new headers and functions.
19300         Add check for sys/sysmp.h.
19301         With suggestions from Kaveh Ghazi.
19302         Ignore headers that are present but cannot be compiled.  This
19303         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
19304         C 5.4.
19305
19306 2003-08-15  Paul Eggert  <eggert@twinsun.com>
19307
19308         Document merge from coreutils.
19309         * modules/userspec: Depend on posixver.
19310         * modules/strftime: Depend on tzset.
19311
19312 2003-08-15  Paul Eggert  <eggert@twinsun.com>
19313
19314         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
19315         rather than tab, after '#' in shell-script copyright notices.
19316         Suggested by Bruno Haible.
19317
19318 2003-08-15  Paul Eggert  <eggert@twinsun.com>
19319
19320         * config/srclist-update: Use three spaces, rather than tab, after '#'
19321         in shell-script copyright notices.  Suggested by Bruno Haible.
19322         Remove unnecessary parenthesization in regular expression.
19323
19324 2003-08-15  Jim Meyering  <jim@meyering.net>
19325
19326         Merge from coreutils.
19327         * lib/xgethostname.c: Include <stdlib.h>.
19328         (xghostname): Don't exit for anything other than memory-related
19329         failure; just return NULL.
19330         * lib/userspec.c: Include "posixver.h".
19331         (parse_user_spec): Accept `.' as a separator only
19332         in pre-POSIX-200112 mode.
19333         * lib/strtoimax.c: Use #elif rather than #else #if.
19334         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
19335         Remove function, now that we can rely on a working tzset function.
19336         [!_LIBC]: Ensure that the required autoconf test has been run.
19337         [!defined _NL_CURRENT && HAVE_STRFTIME]:
19338         Use underlying_strftime for %r.
19339         * lib/sha.c: Merge in some clean-up and optimization changes from
19340         glibc.
19341         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
19342         Ensure that it is a multiple of 64.
19343         Rearrange loop exit tests so as to avoid performing an
19344         additional fread after encountering an error or EOF.
19345         * lib/realloc.c: Update copyright date.
19346
19347 2003-08-15  Jim Meyering  <jim@meyering.net>
19348         and Paul Eggert  <eggert@twinsun.com>
19349
19350         Merge from coreutils.
19351         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
19352         member but strut utmpx does not.  Needed for AIX 4.3.3.
19353         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
19354
19355 2003-08-15  Jim Meyering  <jim@meyering.net>
19356         and Paul Eggert  <eggert@cs.ucla.edu>
19357
19358         Merges from coreutils, etc.
19359         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
19360         Require gl_FUNC_TZSET_CLOBBER.
19361         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
19362         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
19363         members.
19364
19365 2003-08-14  Paul Eggert  <eggert@twinsun.com>
19366
19367         Help the merge from coreutils.
19368         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
19369         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
19370         * m4/tzset.m4: Use it too.
19371
19372 2003-08-14  Paul Eggert  <eggert@twinsun.com>
19373
19374         * modules/tzset: New file.
19375
19376 2003-08-14  Jim Meyering  <jim@meyering.net>
19377
19378         Merges from coreutils.
19379         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
19380         variable names, rather than @FNMATCH_H@.
19381         * modules/alloca: Likewise for $(ALLOCA_H).
19382
19383         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
19384         the three copies of the literal target, `fnmatch.h'.
19385         * modules/alloca (alloca.h): Likewise.
19386
19387 2003-08-14  Jim Meyering  <jim@meyering.net>
19388
19389         Merge from coreutils.
19390         * m4/tzset.m4: New file.
19391         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
19392         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
19393         otherwise, AIX 5.1 systems would end up using the latter.
19394         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
19395         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
19396         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
19397         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
19398
19399 2003-08-14  Jim Meyering  <jim@meyering.net>
19400
19401         Merge from coreutils.
19402         * lib/obstack.h: Whitespace changes.
19403         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
19404         and xcalloc return values.
19405         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
19406         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
19407         hang on OSF/1 5.1 for DIR on both local and remote file systems.
19408         Reported by (and fix confirmed by) Nelson H. F. Beebe.
19409         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
19410         error from mntctl.
19411         Use mntctl's return value to drive the entry-processing loop, since
19412         we can't rely on the value of the vmt_length member in the last
19413         entry.  On some systems doing so could result in exhausting
19414         virtual memory.  Based in part on a patch from Mike Jetzer.
19415
19416 2003-08-14  Jim Meyering  <jim@meyering.net>
19417         and Paul Eggert  <eggert@twinsun.com>
19418
19419         Merges from coreutils, plus other fixes.
19420         * lib/physmem.c: Merge in portability changes from gcc/libiberty
19421         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
19422         for credits and details.  Thanks to Kaveh Ghazi for helping
19423         to keep these files in sync.
19424         (ARRAY_SIZE): Define it.
19425         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
19426         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
19427         (memcasecmp): Don't assume size_t fits in unsigned int.
19428         Remove casts and duplicate code.
19429         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
19430         (memcpy): Remove definition.
19431         Merge in some clean-up and optimization changes from glibc.
19432         [BLOCKSIZE]: Move definition to top of file.
19433         Ensure that it is a multiple of 64.
19434         Rearrange loop exit tests so as to avoid performing an
19435         additional fread after encountering an error or EOF.
19436         * lib/md5.h (md5_uintptr): Define.
19437         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
19438         return to the initial working directory.  Preserve errno
19439         for caller.
19440         * lib/idcache.c: Include "xalloc.h".
19441         (xmalloc, xrealloc): Remove decls.
19442         (getuser): Remove casts no longer required in C89.
19443         * lib/human.c: Include stdio.h, for sprintf.
19444         * lib/group-member.c: Include "xalloc.h".
19445         (xmalloc, xrealloc): Remove decls.
19446         (get_group_info): Remove casts no longer required in C89.
19447         * lib/getusershell.c (readname): Remove casts no longer required in
19448         C89.
19449         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
19450         * lib/getline.c: Whitespace fix, from coreutils.
19451
19452 2003-08-13  Paul Eggert  <eggert@twinsun.com>
19453
19454         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
19455         Check for isascii.
19456
19457         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
19458         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
19459         Undo previous (whitespace-only) change.
19460
19461 2003-08-13  Paul Eggert  <eggert@twinsun.com>
19462
19463         * lib/exclude.c: Include <ctype.h>
19464         (IN_CTYPE_DOMAIN): New macro.
19465         (is_space): New fn.
19466         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
19467         and empty lines.
19468
19469         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
19470         Undo previous (whitespace-only) change.
19471
19472 2003-08-13  Paul Eggert  <eggert@twinsun.com>
19473
19474         * config/srclist-update: Change update back to the old behavior,
19475         leaving whitespace alone.  Use one 'sed' command rather than a
19476         pipeline.
19477         (fixlicense): Now a variable, not a function.
19478         (remove_trailing_blanks): Remove.
19479         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
19480         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
19481         Undo previous (whitespace-only) change.
19482
19483 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19484
19485         Merge from coreutils.
19486         * modules/euidaccess: Add lib_SOURCES, include for new
19487         file euidaccess.h
19488
19489 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19490
19491         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
19492         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
19493         Normalize leading white space and remove trailing white space.
19494
19495         Merge from coreutils
19496         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
19497
19498         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
19499         0.12.1.  These files are now being upgraded automatically by
19500         ../config/srclist-update.
19501
19502 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19503
19504         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
19505         Normalize leading white space and remove trailing white space.
19506         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
19507         notice, as per ../config/srclist-update.
19508
19509         Merge from coreutils.
19510         * lib/euidaccess.h: New file.
19511         * lib/euidaccess.c: Include it.
19512         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
19513         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
19514         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
19515
19516 2003-08-12  Paul Eggert  <eggert@twinsun.com>
19517
19518         * config/srclist-update: Add copyright notice.
19519         (remove_id_lines, remove_trailing_blanks): New constants.
19520         (fixfile): Use them to normalize spacing a bit in copied files.
19521         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
19522         Normalize leading white space and remove trailing white space.
19523
19524         * config/texinfo.tex: Sync with texinfo.
19525
19526         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
19527         strtoul.c from libc, to merge coreutils whitespace changes.
19528
19529         * config/srclist.txt: Get the following m4 files from gettext:
19530         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
19531         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
19532         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
19533         wint_t.m4.
19534
19535 2003-08-12  Karl Berry  <karl@gnu.org>
19536
19537         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
19538         been made.
19539
19540 2003-08-11  Paul Eggert  <eggert@twinsun.com>
19541
19542         * modules/gnu-source, m4/gnu-source.m4:
19543         Remove; we're assuming Autoconf 2.54 or later now.
19544         Suggested by Bruno Haible.
19545         * MODULES.html.sh (func_all_modules): Remove gnu-source.
19546
19547 2003-08-11  Bruno Haible  <bruno@clisp.org>
19548
19549         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
19550
19551 2003-08-11  Bruno Haible  <bruno@clisp.org>
19552
19553         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
19554         (vasnprintf): Use it instead of wcslen.
19555
19556 2003-08-11  Bruno Haible  <bruno@clisp.org>
19557
19558         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
19559         value to ensure that _Bool promotes to int. Use #define for _Bool when
19560         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
19561
19562 2003-08-10  Karl Berry  <karl@gnu.org>
19563
19564         * lib/regex.h: update from libc (whitespace fix).
19565
19566 2003-08-09  Paul Eggert  <eggert@twinsun.com>
19567
19568         Merge some files from coreutils.  These changes were
19569         originally made by Jim Meyering.
19570         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
19571         many older Unixes require this.
19572         * lib/alloca.c (alloca): Remove cast to argument of free;
19573         no longer needed in C89.
19574         * lib/alloca_.h, regex.h: Fix white space to match
19575         what GNU indent does.
19576
19577 2003-08-09  Paul Eggert  <eggert@twinsun.com>
19578
19579         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
19580         apparently Emacs's Unicode mode got confused before my 2003-08-05
19581         checkin.
19582
19583 2003-08-08  Paul Eggert  <eggert@twinsun.com>
19584
19585         * m4/extensions.m4: New file.
19586         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
19587         Require gl_USE_SYSTEM_EXTENSIONS.
19588         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
19589         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
19590
19591 2003-08-08  Paul Eggert  <eggert@twinsun.com>
19592
19593         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
19594         * modules/extensions, modules/gnu-source: New files.
19595         * modules/timespec, modules/unlocked-io: Depend on extensions.
19596
19597 2003-08-07  Paul Eggert  <eggert@twinsun.com>
19598
19599         * modules/restrict: New file.
19600         * MODULES.html.sh (func_all_modules): Add restrict.
19601         * modules/regex: Depend on restrict.
19602
19603 2003-08-07  Paul Eggert  <eggert@twinsun.com>
19604
19605         * m4/restrict.m4: New file.
19606         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
19607
19608 2003-08-07  Bruno Haible  <bruno@clisp.org>
19609
19610         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
19611         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
19612
19613 2003-08-07  Bruno Haible  <bruno@clisp.org>
19614
19615         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
19616         makes the module 'getndelim2' compatible with the module 'getline'.
19617
19618 2003-08-05  Paul Eggert  <eggert@twinsun.com>
19619
19620         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
19621         byte with "\201" to avoid glitches when editing that source file
19622         with multi-gnome-terminal.
19623
19624 2003-08-05  Paul Eggert  <eggert@twinsun.com>
19625
19626         * lib/bumpalloc.h: Remove.
19627
19628 2003-08-05  Paul Eggert  <eggert@twinsun.com>
19629
19630         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
19631         * modules/bumpalloc: Remove.
19632
19633 2003-08-04  Paul Eggert  <eggert@twinsun.com>
19634
19635         * lib/getloadavg.c: Change copyright notice and spacing to conform to
19636         GNU coding style.
19637
19638         Merge from coreutils.
19639         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
19640         1. From glibc.
19641         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
19642         from Karl Berry, implemented by Jim Meyering.
19643         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
19644         from Dmitry V. Levin.
19645         Remove anachronistic cast of xrealloc.
19646         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
19647         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
19648         type. Otherwise, it wouldn't compile with at least /bin/cc on
19649         ymp-cray-unicos9.0.2.X.
19650         Combine two mostly-identical uses of alloca into one.
19651         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
19652
19653 2003-08-04  Dave Love  <d.love@dl.ac.uk>
19654
19655         [From Emacs.]
19656
19657         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
19658         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
19659         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
19660         obsolete NLIST_NAME_UNION.
19661         [__GNU__]: Undef BSD and FSCALE.
19662         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
19663
19664 2003-08-03  Paul Eggert  <eggert@twinsun.com>
19665
19666         * lib/stdbool_.h (_Bool): Make it signed char, instead of
19667         an enum type, so that it's guaranteed to promote to int.  See:
19668         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
19669
19670 2003-08-03  Karl Berry  <karl@gnu.org>
19671
19672         * config/depcomp: update from automake.
19673
19674 2003-07-31  Paul Eggert  <eggert@twinsun.com>
19675
19676         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
19677         (strerror): Don't assume that a printable int fits in 14 bytes.
19678
19679 2003-07-31  Bruno Haible  <bruno@clisp.org>
19680
19681         * modules/getpass-gnu: New file.
19682         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
19683
19684 2003-07-31  Bruno Haible  <bruno@clisp.org>
19685
19686         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
19687
19688 2003-07-24  Karl Berry  <karl@gnu.org>
19689
19690         * config/missing: update from automake.
19691
19692 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
19693             Bruno Haible  <bruno@clisp.org>
19694
19695         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
19696         * lib/getline.c (getline, getdelim): Likewise.
19697         Remove _GNU_SOURCE define; now it's defined in config.h through
19698         m4/getline.m4.
19699
19700 2003-07-23  Karl Berry  <karl@gnu.org>
19701
19702         * config/config.sub: update from prep.
19703
19704 2003-07-22  Paul Eggert  <eggert@twinsun.com>
19705
19706         * modules/xalloc (Depends-on): Add exitfail.
19707         * modules/xmemcoll: Likewise.
19708
19709 2003-07-22  Paul Eggert  <eggert@twinsun.com>
19710
19711         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
19712         over-parenthesization in macros.
19713
19714         Sync with coreutils.
19715
19716         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
19717         required by C99.
19718
19719         Use `exit_failure' for xalloc and xmemcoll instead of their own
19720         private exit-failure variables.
19721         * lib/xalloc.h (xalloc_exit_failure): Remove.
19722         * lib/xmalloc.c: Likewise.  Include exitfail.h.
19723         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
19724         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
19725         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
19726         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
19727
19728 2003-07-20  Jim Meyering  <jim@meyering.net>
19729
19730         * modules/closeout (Depends-on): Add exitfail.
19731         Suggestion from Bruno Haible.
19732
19733 2003-07-19  Karl Berry  <karl@gnu.org>
19734
19735         * config/config.sub: update from prep.
19736
19737 2003-07-18  Paul Eggert  <eggert@twinsun.com>
19738
19739         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
19740         Remove.
19741         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
19742         to test that it can stand by itself.  Include "exitfail.h".
19743         Clients should set exit_failure instead.
19744         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
19745
19746 2003-07-18  Bruno Haible  <bruno@clisp.org>
19747
19748         * modules/getndelim2: New file.
19749         * modules/getline: Share files with module getndelim2.
19750         * modules/getnline: Depend on getndelim2 instead of sharing files with
19751         it. Add getnline.c to lib_SOURCES.
19752         * MODULES.html.sh (func_all_modules): Add getndelim2.
19753
19754 2003-07-18  Bruno Haible  <bruno@clisp.org>
19755
19756         * m4/getndelim2.m4: New file.
19757         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
19758         invoke gl_PREREQ_GETNDELIM2.
19759         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
19760         gl_PREREQ_GETNDELIM2.
19761         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
19762         gl_GETNDELIM2.
19763
19764 2003-07-18  Bruno Haible  <bruno@clisp.org>
19765
19766         * lib/getndelim2.h: New file.
19767         * lib/getndelim2.c: Make into a module of its own. Include config.h,
19768         getndelim2.h.
19769         (getndelim2): Make non-static. Change return type to ssize_t.
19770         * lib/getline.h: Change argument names.
19771         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
19772         * lib/getnline.c: Include getndelim2.h.
19773
19774 2003-07-18  Andreas Schwab  <schwab@suse.de>
19775
19776         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
19777
19778 2003-07-17  Karl Berry  <karl@gnu.org>
19779
19780         * config/config.sub: update from prep.
19781
19782 2003-07-17  Bruno Haible  <bruno@clisp.org>
19783
19784         * modules/getnline: New file.
19785         * modules/getline: Add lib/getndelim2.c to source file list.
19786         * MODULES.html.sh (func_all_modules): Add getnline.
19787
19788 2003-07-17  Bruno Haible  <bruno@clisp.org>
19789
19790         * m4/getnline.m4: New file.
19791
19792 2003-07-17  Bruno Haible  <bruno@clisp.org>
19793
19794         * m4/Makefile.am.in: Remove file.
19795         * m4/Makefile.am: Remove file.
19796         * m4/Makefile.in: Remove file.
19797
19798 2003-07-17  Bruno Haible  <bruno@clisp.org>
19799
19800         * lib/getnline.h: New file.
19801         * lib/getnline.c: New file.
19802         * lib/getndelim2.c: New file, extracted from getline.c.
19803         (getndelim2): Renamed from getdelim2, with added nmax argument.
19804         * lib/getline.c: Include getndelim2.c.
19805         (getdelim2): Moved out to getndelim2.c.
19806         (getline, getdelim): Update.
19807
19808 2003-07-17  Bruno Haible  <bruno@clisp.org>
19809
19810         * lib/Makefile.am: Remove file.
19811         * lib/Makefile.in: Remove file.
19812
19813 2003-07-17  Bruno Haible  <bruno@clisp.org>
19814
19815         * configure.in: Remove file.
19816         * Makefile.in: Remove file.
19817
19818 2003-07-17  Bruno Haible  <bruno@clisp.org>
19819
19820         * MODULES.html.sh: Put the </BODY> right before </HTML>.
19821
19822 2003-07-16  Karl Berry  <karl@gnu.org>
19823
19824         * config/srclist-update: was running fixlicense twice, which caused
19825                 texinfo.tex to be nullified for some reason.  Simplify,
19826                 $gplsrc is no longer needed as far as I can see?
19827
19828 2003-07-16  Jim Meyering  <jim@meyering.net>
19829
19830         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
19831
19832 2003-07-15  Paul Eggert  <eggert@twinsun.com>
19833
19834         * config/srclist.txt: Get the following files from gettext-runtime/intl
19835         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
19836         ref-del.sin.  From Bruno Haible.
19837         * config/srclist-update (fixfile): Change grep pattern again, since the
19838         previous fix didn't work (there was another trailing $).  Use
19839         '[$]' to escape the $s.
19840
19841 2003-07-15  Karl Berry  <karl@gnu.org>
19842
19843         * lib/vasnprintf.c: update from gettext.
19844
19845 2003-07-15  Karl Berry  <karl@gnu.org>
19846
19847         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
19848         gets expanded when surrounded by '$'.
19849
19850 2003-07-15  Jim Meyering  <jim@meyering.net>
19851
19852         * modules/save-cwd: Don't depend on error.  From Derek Price.
19853
19854 2003-07-15  Jim Meyering  <jim@meyering.net>
19855
19856         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
19857
19858 2003-07-14  Simon Josefsson  <jas@extundo.com>
19859
19860         * modules/mempcpy: New file.
19861         * MODULES.html.sh (func_all_modules): Add mempcpy.
19862
19863 2003-07-14  Simon Josefsson  <jas@extundo.com>
19864
19865         * m4/mempcpy.m4: New file.
19866
19867 2003-07-14  Simon Josefsson  <jas@extundo.com>
19868
19869         * lib/mempcpy.h: New file.
19870         * lib/mempcpy.c: New file.
19871
19872 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19873
19874         * modules/getdate, modules/posixtm: Depend on mktime.
19875
19876 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19877
19878         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
19879         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
19880         unicodeio.c, unicodeio.h, unlocked-io.h:
19881         Switch from LGPL to GPL.
19882
19883 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19884
19885         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
19886         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
19887         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
19888         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
19889         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
19890         updated automatically by ../config/srclist-update.  This changes
19891         their license from LPGL to GPL.
19892
19893 2003-07-14  Paul Eggert  <eggert@twinsun.com>
19894
19895         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
19896         assumed to refer to the root of the most recent stable gettext version.
19897         * config/srclistvars.sh: Add defaults for eggert.
19898         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
19899         Match "This program" as well as "The program".  This is needed
19900         for gettext.
19901
19902 2003-07-14  Jim Meyering  <jim@meyering.net>
19903
19904         Don't emit diagnostics.  Let callers do that.
19905         * lib/save-cwd.c: Don't include "error.h".
19906         (save_cwd): Don't call error.  Ensure that errno is valid
19907         when returning nonzero.
19908
19909         * lib/save-cwd.h (restore_cwd): Update prototype.
19910         * lib/save-cwd.c (restore_cwd): Remove two parameters.
19911         Simplify.  Don't call error upon failure.  Let callers do that.
19912         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
19913         when auditing is enabled.  But don't bother updating the #if.
19914
19915 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
19916
19917         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
19918         it breaks C++ compilation.
19919         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
19920
19921 2003-07-10  Simon Josefsson  <jas@extundo.com>
19922
19923         * modules/strchrnul (Makefile.am): Add strchrnul.h.
19924
19925 2003-07-10  Jim Meyering  <jim@meyering.net>
19926
19927         * m4/clock_time.m4: Remove trailing blank.
19928         * m4/intmax_t.m4: Likewise.
19929
19930 2003-07-10  Jim Meyering  <jim@meyering.net>
19931
19932         * lib/vasnprintf.c: Remove trailing blanks.
19933         Make cpp indentation consistent.
19934
19935 2003-07-09  Paul Eggert  <eggert@twinsun.com>
19936
19937         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
19938         posixver.c, strftime.c, strnlen.c, strverscmp.c:
19939         Switch from LGPL to GPL.
19940
19941 2003-07-09  Paul Eggert  <eggert@twinsun.com>
19942
19943         * config/srclist.txt: Sort sublists.  Add
19944         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
19945         that differ from gnulib for one reason or another; we'd like this list
19946         to be smaller but for now let's document what we have.
19947
19948 2003-07-08  Paul Eggert  <eggert@twinsun.com>
19949
19950         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
19951         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
19952         and sweeter "eval x=$x".
19953         * config/srclist.txt: Get lib/argp* from glibc.
19954
19955 2003-07-07  Paul Eggert  <eggert@twinsun.com>
19956
19957         * lib/mktime.c: Fix some boundary cases and remove need for floating
19958         point.
19959
19960         Issue a compile-time diagnostic if time_t is floating point, or if
19961         two's complement arithmetic is not in effect, or if arithmetic
19962         right shift does not propagate the sign.  These assumptions were
19963         all in the original code but they weren't checked.
19964
19965         (TIME_T_MIDPOINT, verify): New macros.
19966         (__isleap): Remove; it has integer overflow problems.
19967         (leapyear): New function, without those problems.
19968         (ydhms_tm_diff): Remove; splitting into two parts.
19969         (ydhms_diff): New function, containing the arithmetic part of
19970         the old ydhms_tm_diff function.  Issue a compile-time
19971         diagnostic if we are not using C99 integer division.
19972         Avoid casts when possible.
19973         (guess_time_tm): New function, containing the checking part of
19974         the old ydhms_tm_diff function.  Return the new value, rather than
19975         the difference between it and the old.  Accept a new argument T
19976         so that *T specifies the old value.  Check for overflow in the result.
19977
19978         (__mktime_internal): Use a time_t offset, not a long int offset.
19979         This undoes the 2003-06-04 change, which is no longer needed now
19980         that we have better overflow checking.
19981         (localtime_offset): Likewise.
19982
19983         (__mktime_internal): Avoid harmful overflow on hosts where time_t
19984         and long are 64-bit but int is only 32-bit.
19985         (ydhms_diff): Use long int to store year1 and yday1.
19986         Issue a compile-time diagnostic if long int is not wide enough.
19987
19988         (__mktime_internal): Use long int to store adjusted year and yday.
19989         Use plain C rather than preprocessor commands, if that doesn't
19990         affect efficiency.
19991         Check for overflow (and try to repair) after each probe
19992         rather than checking only at the very end.  This avoids some bugs
19993         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
19994         does not equal GMT offset at maximum time).
19995         Use integer to check for overflow rather than floating point; this
19996         is more portable to non-IEEE hosts, and is a tad faster.
19997         When we detect that we are oscillating between two values,
19998         don't check whether tm_isdst has the requested value, since
19999         we already know the answer.  When tm_isdst has the wrong value,
20000         use a different heuristic to find the right one, based on the
20001         extreme values actually observed in practice in tz2003a,
20002         rather than the (overly optimistic) "previous 3 calendar quarters".
20003
20004         (not_equal_tm, print_tm, check_result): Use "const T" rather than
20005         "T const" to accommodate glibc style.
20006         (check_result): Use less-confusing report format.  "long" -> "long int.
20007         (main): Likewise.
20008         Don't loop if the iteration overflows time_t.
20009         Allow a negative step in the iteration.
20010
20011 2003-07-06  Karl Berry  <karl@gnu.org>
20012
20013         * config/depcomp: update from automake.
20014         * config/config.sub: update from prep.
20015
20016 2003-07-03  Karl Berry  <karl@gnu.org>
20017
20018         * config/config.guess: update from prep.
20019
20020 2003-07-01  Paul Eggert  <eggert@twinsun.com>
20021
20022         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
20023         xreadlink.c now includes it unconditionally.
20024
20025 2003-07-01  Paul Eggert  <eggert@twinsun.com>
20026
20027         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
20028         having it depend on HAVE_SYS_TYPES_H.
20029
20030 2003-07-01  Bruno Haible  <bruno@clisp.org>
20031
20032         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
20033         <sys/types.h> should be sufficient.
20034         Reported by Paul Eggert.
20035
20036 2003-06-26  Karl Berry  <karl@gnu.org>
20037
20038         * config/depcomp: update from automake.
20039
20040 2003-06-26  Bruno Haible  <bruno@clisp.org>
20041
20042         * modules/human: Depend on module stdbool.
20043
20044 2003-06-25  Bruno Haible  <bruno@clisp.org>
20045
20046         * modules/readlink: New file.
20047         * modules/xreadlink: Depend on it.
20048         * MODULES.html.sh (func_all_modules): Add readlink.
20049
20050 2003-06-25  Bruno Haible  <bruno@clisp.org>
20051
20052         * m4/readlink.m4: New file.
20053
20054 2003-06-25  Bruno Haible  <bruno@clisp.org>
20055
20056         * lib/readlink.c: New file.
20057
20058 2003-06-22  Karl Berry  <karl@gnu.org>
20059
20060         * config/srclist.txt: update mkinstalldirs from automake.
20061         * config/mkinstalldirs: update.
20062
20063 2003-06-22  Bruno Haible  <bruno@clisp.org>
20064
20065         Portability to mingw32.
20066         * m4/ssize_t.m4: New file, from GNU gettext.
20067         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
20068         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
20069
20070 2003-06-22  Bruno Haible  <bruno@clisp.org>
20071
20072         * modules/safe-read: Add m4/ssize_t.m4.
20073         * modules/xreadlink: Add m4/ssize_t.m4.
20074
20075 2003-06-20  Bruno Haible  <bruno@clisp.org>
20076
20077         Assume C89, so PARAMS isn't needed.
20078         * lib/unicodeio.h (PARAMS): Remove.
20079         * lib/unicodeio.c: Don't use PARAMS.
20080
20081 2003-06-18  Karl Berry  <karl@gnu.org>
20082
20083         * config/config.{guess,sub}: update from prep.
20084
20085 2003-06-18  Jim Meyering  <jim@meyering.net>
20086
20087         Merge changes from coreutils.
20088         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
20089         Remove explicit declarations of xmalloc and realloc.
20090         Include xalloc.h.
20091         (read_utmp): Remove anachronistic cast of xmalloc.
20092
20093 2003-06-17  Paul Eggert  <eggert@twinsun.com>
20094
20095         Assume C89, so PARAMS isn't needed.
20096         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
20097         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
20098         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
20099         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
20100         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
20101         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
20102         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
20103         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
20104         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
20105         lib/xstrtod.h, lib/xstrtol.h: Likewise.
20106         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
20107         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
20108         no longer needed. Anyway, config.h should always be included before any
20109         other file.
20110
20111 2003-06-11  Simon Josefsson  <jas@extundo.com>
20112
20113         * modules/sysexits: New file.
20114         * MODULES.html.sh (func_all_modules): Add sysexits.
20115
20116 2003-06-11  Simon Josefsson  <jas@extundo.com>
20117
20118         * lib/sysexit_.h: New file.
20119
20120 2003-06-11  Derek Price  <derek@ximbiot.com>
20121
20122         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
20123         necessary.
20124
20125 2003-06-11  Bruno Haible  <bruno@clisp.org>
20126
20127         * m4/sysexits.m4: New file.
20128
20129 2003-06-10  Simon Josefsson  <jas@extundo.com>
20130
20131         * lib/argp.h: New file, from glibc.
20132         * lib/argp-ba.c: New file, from glibc.
20133         * lib/argp-eexst.c: New file, from glibc.
20134         * lib/argp-fmtstream.c: New file, from glibc.
20135         * lib/argp-fmtstream.h: New file, from glibc.
20136         * lib/argp-fs-xinl.c: New file, from glibc.
20137         * lib/argp-help.c: New file, from glibc.
20138         * lib/argp-namefrob.h: New file, from glibc.
20139         * lib/argp-parse.c: New file, from glibc.
20140         * lib/argp-pv.c: New file, from glibc.
20141         * lib/argp-pvh.c: New file, from glibc.
20142         * lib/argp-xinl.c: New file, from glibc.
20143
20144 2003-06-10  Simon Josefsson  <jas@extundo.com>
20145
20146         * modules/strchrnul: New file.
20147
20148 2003-06-10  Simon Josefsson  <jas@extundo.com>
20149
20150         * modules/argp: New file.
20151
20152 2003-06-10  Simon Josefsson  <jas@extundo.com>
20153
20154         * m4/strchrnul.m4: New file.
20155
20156 2003-06-10  Simon Josefsson  <jas@extundo.com>
20157
20158         * lib/strchrnul.h: New file.
20159         * lib/strchrnul.c: New file.
20160
20161 2003-06-10  Bruno Haible  <bruno@clisp.org>
20162
20163         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
20164
20165 2003-06-07  Karl Berry  <karl@gnu.org>
20166
20167         * config/config.{guess,sub}: update from prep.
20168
20169 2003-06-07  Jim Meyering  <jim@meyering.net>
20170
20171         * modules/strtod: Use $(...) notation, not @...@ for
20172         AC_REPLACE'd variables.
20173         * modules/localcharset: Likewise.
20174
20175 2003-06-07  Jim Meyering  <jim@meyering.net>
20176
20177         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
20178         in place of my name in the copyright comment.
20179         Remove definition and uses of __P.
20180
20181         From coreutils.
20182         * lib/stat.c: Don't declare xmalloc explicitly.
20183         Instead, include "xalloc.h".
20184         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
20185         xrealloc, and xcalloc return values.
20186         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
20187         Improve comment.
20188         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
20189
20190 2003-06-07  Bruno Haible  <bruno@clisp.org>
20191
20192         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
20193         avoid AC_CONFIG_LINKS.
20194         * modules/fnmatch (Makefile.am): Use explicit creation rule for
20195         fnmatch.h, to avoid AC_CONFIG_LINKS.
20196         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
20197
20198 2003-06-07  Bruno Haible  <bruno@clisp.org>
20199
20200         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
20201         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
20202         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
20203         directory.
20204         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
20205         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
20206         directory.
20207
20208 2003-06-06  Jim Meyering  <jim@meyering.net>
20209
20210         Merge from coreutils.
20211         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
20212         Consolidate declarations and initializations of *_base* locals.
20213
20214         Merge from coreutils.
20215         This avoids a core dump on systems without GNU putenv,
20216         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
20217         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
20218         (unsetenv): New static function, from GNU libc.
20219         (rpl_putenv): Use it.
20220
20221         * lib/modechange.c: Remove trailing blanks.
20222
20223         Merge from coreutils.
20224         * lib/fsusage.c: Remove declaration of statfs.
20225         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
20226
20227         * lib/posixtm.c: Include <stdbool.h> unconditionally.
20228
20229 2003-06-06  Jim Meyering  <jim@meyering.net>
20230
20231         * lib/stdbool_.h: Renamed from stdbool.h.in.
20232
20233 2003-06-06  Jim Meyering  <jim@meyering.net>
20234             Bruno Haible  <bruno@clisp.org>
20235
20236         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
20237         Adjust Makefile.am snippet not to redirect directly to target.
20238         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
20239
20240 2003-06-05  Paul Eggert  <eggert@twinsun.com>
20241
20242         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
20243         mismatch, look in future quarters as well as past.  This fixes a
20244         bug when processing fall-backwards gaps immediately after a long
20245         period of daylight-saving time.
20246
20247         * lib/mktime.c: Assume freestanding C89 or better.
20248         (HAVE_LIMITS_H): Remove.  Assume it's 1.
20249         (__P): Remove; not used.
20250         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
20251         (mktime, not_equal_tm, print_tm, check_result,
20252         main): Use prototypes.  Use const * where appropriate.
20253         (main): Fix typo in testing code that uncovered by above changes.
20254         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
20255
20256 2003-06-04  Paul Eggert  <eggert@twinsun.com>
20257
20258         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
20259         locale.h, localeconv.  This merges changes from coreutils.
20260
20261         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
20262         It can be removed after the next Autoconf is released.
20263         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
20264         needed.
20265
20266 2003-06-04  Paul Eggert  <eggert@twinsun.com>
20267
20268         * lib/mktime.c: Fix Debian bug 177940
20269         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
20270         (localtime_offset): Now long int, not time_t, because we want it
20271         to be guaranteed to be signed.  All uses changed.
20272         (__mktime_internal): If overflow would occur when adding offset,
20273         don't add it.
20274
20275         Merge 'human' changes from coreutils.  Rewrite to support
20276         locale-specific notations like thousands separators.
20277         * lib/human.c: Simplify authorship notice.
20278         Include human.h immediately after config.h.
20279         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
20280         <limits.h>: Do not include, since human.h does.
20281         (SIZE_MAX, UINTMAX_MAX): New macros.
20282         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
20283         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
20284         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
20285         (power_letter): Renamed from suffixes.
20286         (generate_suffix_backwards): Remove.
20287         (adjust_value): Now takes int style (because of human.h changes)
20288         and long double value (for greater precision on some platforms).
20289         (group_number): New function.
20290         (human_readable): Use it.  Use integer options, not enum.
20291         Put the options before the sizes in the arg list.
20292         Support all the new options.
20293         The old human_readable function has been removed;
20294         use inttostr.h instead.
20295         (human_readable, default_block_size, humblock):
20296         Use uintmax_t, not int, for block sizes.
20297         (human_readable_inexact, block_size_types): Remove.
20298         (block_size_opts): New constant.
20299         (human_options): Renamed from human_block_size, with new signature
20300         that allows block sizes up to UINTMAX_MAX.  All callers changed.
20301         * lib/human.h: Add copyright and authorship notice.
20302         Include <limits.h> and <stdbool.h> unconditionally.
20303         (PARAMS): Remove.  All uses removed.
20304         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
20305         (enum human_inexact_style): Remove tag; now a nameless enum.
20306         (human_floor, human_ceiling, human_round_to_even): Now have
20307         values 2, 0, 1 rather than -1, 1, 0.
20308         (human_group_digits, human_suppress_point_zero, human_autoscale,
20309         human_base_1024, human_SI, human_B): New constants.
20310         (human_readable_inexact, human_block_size): Remove.
20311         (human_readable): Size args are now uintmax_t, not int.
20312         (human_options): New decl.
20313
20314         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
20315         unnecessary now that we assume C89 or better.  This change
20316         imported from coreutils.
20317
20318         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
20319         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
20320         in the 2003-05-30 sync from glibc.
20321
20322         .h files should stand alone, but we shouldn't include <sys/types.h>
20323         if we can get away with just <stddef.h>.
20324
20325         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
20326         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
20327         rather than <sys/types.h>, as we merely need size_t.
20328         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
20329         to get size_t.
20330         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
20331         Include <stdio.h>, to get FILE.
20332         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
20333         memcasecmp.h has included <stddef.h> and all we need is size_t.
20334         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
20335         our interface, instead of including <sys/types.h>
20336
20337 2003-06-04  Paul Eggert  <eggert@twinsun.com>
20338
20339         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
20340         now, as glibc mktime is buggy on non-glibc systems.
20341
20342 2003-06-03  Karl Berry  <karl@gnu.org>
20343
20344         * config/config.sub: update from prep.
20345
20346 2003-06-02  Paul Eggert  <eggert@twinsun.com>
20347
20348         [from coreutils]
20349         Fix some minor time-related bugs with POSIX time arguments.
20350         Some valid time stamps were being rejected (notably -1, and
20351         time stamps before 1900 on 64-bit hosts).  And some invalid
20352         time stamps were being accepted, e.g. September 31.
20353
20354         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
20355         that we can return (time_t) -1 successfully.
20356         * lib/posixtm.c: Likewise.
20357         [HAVE_STDBOOL_H]: Include <stdbool.h>.
20358         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
20359         (t): Remove static var.
20360         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
20361         of static var.  All uses changed.
20362         (year): Do not reject years before 1900; they can occur with
20363         64-bit time_t.
20364         (posix_time_parse): Do not check for out-of-range components;
20365         that is now the caller's responsibility, since our checks were
20366         only approximations.
20367         (posixtime): Use mktime to check for out-of-range components,
20368         since it knows them exactly.
20369         If mktime returns (time_t) -1, check whether an error actually occurred
20370         by invoking localtime on -1.
20371         (main) [TEST_POSIXTIME]: Check for input data errors, and report
20372         posixtime failures better.
20373         Improve the test data (in comments only).
20374
20375 2003-06-02  Karl Berry  <karl@gnu.org>
20376
20377         * config/mkinstalldirs (version): new variable.
20378         (--version): new option.
20379         (usage): improve message.
20380
20381 2003-05-30  Karl Berry  <karl@gnu.org>
20382
20383         * lib/mktime.c: update from libc.
20384
20385 2003-05-30  Bruno Haible  <bruno@clisp.org>
20386
20387         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
20388         * config/config.rpath: Upgrade to gettext-0.12.1.
20389
20390 2003-05-30  Bruno Haible  <bruno@clisp.org>
20391
20392         * m4/gettext.m4: Upgrade to gettext-0.12.1.
20393         * m4/nls.m4: New file, from gettext-0.12.1.
20394         * m4/po.m4: New file, from gettext-0.12.1.
20395         * m4/progtest.m4: Upgrade to gettext-0.12.1.
20396
20397 2003-05-30  Bruno Haible  <bruno@clisp.org>
20398
20399         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
20400         * lib/localcharset.h: Likewise.
20401         * lib/localcharset.c: Likewise.
20402
20403 2003-05-29  Karl Berry  <karl@gnu.org>
20404
20405         * config/config.rpath: update from gettext.
20406
20407 2003-05-28  Paul Eggert  <eggert@twinsun.com>
20408
20409         Assume the headers required for C89 freestanding compilers.
20410         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
20411         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
20412         * m4/human.m4 (gl_HUMAN): Likewise.
20413         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
20414         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
20415         * m4/userspec.m4 (gl_USERSPEC): Likewise.
20416         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
20417         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
20418         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
20419
20420 2003-05-28  Paul Eggert  <eggert@twinsun.com>
20421
20422         Assume the headers required for C89 freestanding compilers.
20423         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
20424         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
20425         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
20426         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
20427         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
20428         define, since <limits.h> is guaranteed to do that.
20429         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
20430         * lib/exclude.c: Include <stdbool.h> unconditionally.
20431         * lib/tempname.c: Include <stddef.h> unconditionally.
20432         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
20433         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
20434         <stddef.h> does that.
20435         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
20436         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
20437         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
20438         needed.
20439         * lib/xstrtol.c: Likewise.
20440         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
20441         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
20442
20443         * lib/addext.c (addext): Use assignment rather than cast, to avoid
20444         warnings on some platforms.
20445
20446         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
20447         arbitrarily.
20448
20449 2003-05-26  Jim Meyering  <jim@meyering.net>
20450
20451         Merge in a change from coreutils:
20452         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
20453         that is guaranteed to be `no'.  Use `no_such_member' to indicate
20454         that condition, rather than `-1' which is slightly misleading.
20455         Change the name of the cache variable to have the gl_ prefix.
20456         Prompted by a patch from Richard Dawe for DJGPP.
20457
20458 2003-05-24  Karl Berry  <karl@gnu.org>
20459
20460         * config/config.guess: update from prep.
20461
20462 2003-05-22  Karl Berry  <karl@gnu.org>
20463
20464         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
20465
20466 2003-05-20  Karl Berry  <karl@gnu.org>
20467
20468         * config/config.guess: update from prep.
20469
20470 2003-05-18  Karl Berry  <karl@gnu.org>
20471
20472         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
20473         might actually be set by the user.
20474
20475         * config/depcomp, install-sh, mdate-sh: update from automake.
20476
20477 2003-05-17  Bruno Haible  <bruno@clisp.org>
20478
20479         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
20480         invalid expansion for AC_EGREP_CPP.
20481         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
20482         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20483         Suggested by Akim Demaille <akim@epita.fr> in
20484         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
20485
20486 2003-05-12  Jim Meyering  <jim@meyering.net>
20487
20488         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
20489         the space-padded-by-default conversion specifiers, %e, %k, %l.
20490
20491 2003-05-12  Bruno Haible  <bruno@clisp.org>
20492
20493         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
20494         the string is longer than 4 KB.
20495
20496 2003-05-11  Karl Berry  <karl@gnu.org>
20497
20498         * config/config.{guess,sub}: update from prep.
20499
20500 2003-05-09  Bruno Haible  <bruno@clisp.org>
20501
20502         * modules/error: Add m4/strerror_r.m4 to file list.
20503
20504 2003-05-03  Bruno Haible  <bruno@clisp.org>
20505
20506         Upgrade to Unicode-4.0.
20507         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
20508         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
20509         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
20510         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
20511         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
20512         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
20513         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
20514         Change width of U+E0100..U+E01EF from 1 to 0.
20515
20516 2003-04-25  Jim Meyering  <jim@meyering.net>
20517
20518         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
20519         of type size_t, not int.
20520
20521 2003-04-25  Bruno Haible  <bruno@clisp.org>
20522
20523         * lib/copy-file.c: Include <stddef.h>, for size_t.
20524
20525 2003-04-21  Paul Eggert  <eggert@twinsun.com>
20526
20527         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
20528         code which expansion is under static control.  Patch imported from
20529         Akim Demaille's patch to Bison; see
20530         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
20531
20532 2003-04-14  Bruno Haible  <bruno@clisp.org>
20533
20534         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
20535
20536 2003-04-11  Jim Meyering  <jim@meyering.net>
20537
20538         Merge changes from Coreutils.
20539
20540         2003-03-22  Jim Meyering  <jim@meyering.net>
20541
20542         * lib/strftime.c (widen): Cast alloca return value to proper type.
20543
20544         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
20545
20546         From GNU libc.
20547         * lib/strftime.c (my_strftime): Handle very large width
20548         specifications for numeric values correctly.  Improve checks for
20549         overflow.
20550
20551         2003-01-19  Jim Meyering  <jim@meyering.net>
20552
20553         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
20554         definitions.
20555         (nl_get_alt_digit) [! defined my_strftime]: Define.
20556         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
20557         _nl_get_alt_digit and _nl_get_walt_digit.
20558
20559         * lib/strftime.c (my_strftime): Merge in locale-related changes from
20560         libc. These changes have no effect outside of _LIBC.
20561
20562 2003-04-10  Bruno Haible  <bruno@clisp.org>
20563
20564         * modules/findprog: New file.
20565         * MODULES.html.sh (func_all_modules): Add it.
20566
20567 2003-04-10  Bruno Haible  <bruno@clisp.org>
20568
20569         * m4/findprog.m4: New file.
20570         * m4/eaccess.m4: New file.
20571
20572 2003-04-10  Bruno Haible  <bruno@clisp.org>
20573
20574         * lib/findprog.h: New file, from GNU gettext.
20575         * lib/findprog.c: New file, from GNU gettext.
20576
20577 2003-04-05  Jim Meyering  <jim@meyering.net>
20578
20579         Merge changes from Coreutils.
20580
20581         * lib/exclude.h (PARAMS): Remove definition and uses.
20582         * lib/exclude.c: Remove uses of `PARAMS'.
20583
20584         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
20585         Add test-cases for DOS filenames. Declare program_name.
20586         (main): Set up program_name.  Patch by Rich Dawe.
20587
20588         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
20589         error from mntctl.
20590         Use mntctl's return value to drive the entry-processing loop, since
20591         we can't rely on the value of the vmt_length member in the last
20592         entry.  On some systems doing so could result in exhausting
20593         virtual memory.  Based in part on a patch from Mike Jetzer.
20594
20595 2003-04-04  Bruno Haible  <bruno@clisp.org>
20596
20597         * modules/linebreak: New file.
20598         * MODULES.html.sh (func_all_modules): Add it.
20599
20600 2003-04-04  Bruno Haible  <bruno@clisp.org>
20601
20602         * m4/linebreak.m4: New file.
20603
20604 2003-04-04  Bruno Haible  <bruno@clisp.org>
20605
20606         * lib/linebreak.h: New file, from GNU gettext.
20607         * lib/linebreak.c: New file, from GNU gettext with slight
20608         modifications.
20609         * lib/lbrkprop.h: New file, from GNU gettext.
20610
20611 2003-04-03  Bruno Haible  <bruno@clisp.org>
20612
20613         * modules/utf8-ucs4: New file.
20614         * modules/utf16-ucs4: New file.
20615         * modules/ucs4-utf8: New file.
20616         * modules/ucs4-utf16: New file.
20617         * MODULES.html.sh (func_all_modules): Add them.
20618
20619 2003-04-03  Bruno Haible  <bruno@clisp.org>
20620
20621         * m4/utf-ucs4.m4: New file.
20622         * m4/ucs4-utf.m4: New file.
20623
20624 2003-04-03  Bruno Haible  <bruno@clisp.org>
20625
20626         * lib/utf8-ucs4.h: New file, from GNU gettext.
20627         * lib/utf16-ucs4.h: New file, from GNU gettext.
20628         * lib/ucs4-utf8.h: New file, from GNU gettext.
20629         * lib/ucs4-utf16.h: New file, from GNU gettext.
20630
20631 2003-04-02  Bruno Haible  <bruno@clisp.org>
20632
20633         * modules/binary-io: New file.
20634         * MODULES.html.sh (func_all_modules): Add it.
20635
20636 2003-04-02  Bruno Haible  <bruno@clisp.org>
20637
20638         * lib/binary-io.h: New file, from GNU gettext.
20639
20640 2003-04-01  Bruno Haible  <bruno@clisp.org>
20641
20642         * modules/pathname: New file.
20643         * MODULES.html.sh (func_all_modules): Add it.
20644
20645 2003-04-01  Bruno Haible  <bruno@clisp.org>
20646
20647         * lib/pathname.h: New file, from GNU gettext.
20648         * lib/concatpath.c: New file, from GNU gettext.
20649
20650 2003-03-30  Bruno Haible  <bruno@clisp.org>
20651
20652         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
20653
20654 2003-03-30  Bruno Haible  <bruno@clisp.org>
20655
20656         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
20657         function chown() doesn't exist.
20658
20659 2003-03-28  Bruno Haible  <bruno@clisp.org>
20660
20661         * modules/copy-file: New file.
20662         * MODULES.html.sh (func_all_modules): Add it.
20663
20664 2003-03-28  Bruno Haible  <bruno@clisp.org>
20665
20666         * m4/copy-file.m4: New file.
20667
20668 2003-03-28  Bruno Haible  <bruno@clisp.org>
20669
20670         * lib/copy-file.h: New file, from GNU gettext.
20671         * lib/copy-file.c: New file, from GNU gettext.
20672
20673 2003-03-18  Jim Meyering  <jim@meyering.net>
20674
20675         * lib/quote.c (quote_n): Fix typo in comment.
20676
20677 2003-03-18  Bruno Haible  <bruno@clisp.org>
20678
20679         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
20680         checking.
20681         * m4/onceonly_2_57.m4: Likewise.
20682
20683 2003-03-17  Bruno Haible  <bruno@clisp.org>
20684
20685         * m4/onceonly.m4: Require autoconf 2.54 or newer.
20686         (m4_quote): Remove macro.
20687         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
20688
20689 2003-03-14  Jim Meyering  <jim@meyering.net>
20690
20691         Merge changes from Coreutils.
20692         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
20693         to be const, in order to avoid warnings.
20694         (obstack_room): Likewise.
20695         (obstack_empty_p): Likewise.
20696
20697 2003-03-14  Bruno Haible  <bruno@clisp.org>
20698
20699         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
20700         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
20701
20702 2003-03-13  Paul Eggert  <eggert@twinsun.com>
20703
20704         Merge changes from Bison.
20705         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
20706         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
20707         when compiling Bison 1.875's `bitset bset = obstack_alloc
20708         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
20709         * lib/hash.c: Include <stdbool.h> unconditionally.
20710
20711 2003-03-13  Paul Eggert  <eggert@twinsun.com>
20712
20713         * m4/onceonly.m4 (m4_quote): New macro.
20714         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
20715         Quote AC_FOREACH variable-expansions properly.
20716
20717 2003-03-13  Paul Eggert  <eggert@twinsun.com>
20718
20719         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
20720
20721 2003-03-09  Paul Eggert  <eggert@twinsun.com>
20722
20723         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
20724         Reported by Bruce Becker; see:
20725         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
20726
20727 2003-03-03  Paul Eggert  <eggert@twinsun.com>
20728             Bruno Haible  <bruno@clisp.org>
20729
20730         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
20731         Reported by John Hughes, see
20732         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
20733
20734 2003-02-20  Bruno Haible  <bruno@clisp.org>
20735
20736         * MODULES.html.sh (func_all_modules): Add poll.
20737
20738 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
20739
20740         * modules/poll: New file.
20741
20742 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
20743
20744         * lib/poll_.h: New file.
20745         * lib/poll.c: New file.
20746
20747 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
20748
20749         * m4/poll.m4: New file.
20750
20751 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
20752
20753         * modules/mathl: New file.
20754
20755 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
20756
20757         * lib/mathl.h: New file.
20758         * lib/acosl.c: New file.
20759         * lib/asinl.c: New file.
20760         * lib/atanl.c: New file.
20761         * lib/ceill.c: New file.
20762         * lib/cosl.c: New file.
20763         * lib/expl.c: New file.
20764         * lib/floorl.c: New file.
20765         * lib/frexpl.c: New file.
20766         * lib/ldexpl.c: New file.
20767         * lib/logl.c: New file.
20768         * lib/sincosl.c: New file.
20769         * lib/sinl.c: New file.
20770         * lib/sqrtl.c: New file.
20771         * lib/tanl.c: New file.
20772         * lib/trigl.c: New file.
20773         * lib/trigl.h: New file.
20774
20775 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
20776
20777         * m4/mathl.m4: New file.
20778
20779 2003-02-18  Bruno Haible  <bruno@clisp.org>
20780
20781         * MODULES.html.sh (func_all_modules): Add mathl.
20782
20783 2003-02-17  Bruno Haible  <bruno@clisp.org>
20784
20785         * modules/mkdtemp: New module.
20786         * MODULES.html.sh (func_all_modules): Add it.
20787
20788 2003-02-17  Bruno Haible  <bruno@clisp.org>
20789
20790         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
20791
20792 2003-02-17  Bruno Haible  <bruno@clisp.org>
20793
20794         * lib/mkdtemp.h: New file, from GNU gettext.
20795         * lib/mkdtemp.c: New file, from GNU gettext.
20796
20797 2003-02-02  Jim Meyering  <jim@meyering.net>
20798
20799         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
20800         e.g. glibc-2.2.93.
20801
20802 2003-01-31  Bruno Haible  <bruno@clisp.org>
20803
20804         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
20805         'rpl_rename'.
20806         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
20807         'rpl_strnlen'.
20808         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
20809         'rpl_strtod'.
20810         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
20811         'rpl_utime'.
20812
20813 2003-01-31  Bruno Haible  <bruno@clisp.org>
20814
20815         * lib/rename.c: #undef rename before defining rpl_rename.
20816         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
20817
20818 2003-01-30  Bruno Haible  <bruno@clisp.org>
20819
20820         * modules/vasnprintf, modules/vasprintf: New modules.
20821         * MODULES.html.sh (func_all_modules): Add them.
20822
20823 2003-01-30  Bruno Haible  <bruno@clisp.org>
20824
20825         * m4/signed.m4: New file, from GNU gettext.
20826         * m4/longdouble.m4: New file, from GNU gettext.
20827         * m4/wchar_t.m4: New file, from GNU gettext.
20828         * m4/wint_t.m4: New file, from GNU gettext.
20829         * m4/vasnprintf.m4: New file.
20830         * m4/vasprintf.m4: New file.
20831
20832 2003-01-30  Bruno Haible  <bruno@clisp.org>
20833
20834         * lib/printf-args.h: New file, from GNU gettext.
20835         * lib/printf-args.c: New file, from GNU gettext.
20836         * lib/printf-parse.h: New file, from GNU gettext.
20837         * lib/printf-parse.c: New file, from GNU gettext.
20838         * lib/vasnprintf.h: New file, from GNU gettext.
20839         * lib/vasnprintf.c: New file, from GNU gettext.
20840         * lib/asnprintf.c: New file, from GNU gettext.
20841         * lib/vasprintf.h: New file, from GNU gettext with modifications.
20842         * lib/vasprintf.c: New file, from GNU gettext.
20843         * lib/asprintf.c: New file, from GNU gettext.
20844
20845 2003-01-29  Bruno Haible  <bruno@clisp.org>
20846
20847         * modules/stpncpy: New module.
20848         * MODULES.html.sh (func_all_modules): Add it.
20849
20850 2003-01-29  Bruno Haible  <bruno@clisp.org>
20851
20852         * m4/stpncpy.m4: New file.
20853
20854 2003-01-29  Bruno Haible  <bruno@clisp.org>
20855
20856         * lib/stpncpy.h: New file, from GNU gettext with modifications.
20857         * lib/stpncpy.c: New file, from GNU gettext with modifications.
20858
20859 2003-01-28  Bruno Haible  <bruno@clisp.org>
20860
20861         * modules/c-ctype: New module.
20862         * MODULES.html.sh (func_all_modules): Add it.
20863
20864 2003-01-28  Bruno Haible  <bruno@clisp.org>
20865
20866         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
20867         Paul Eggert.
20868         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
20869         Paul Eggert.
20870
20871 2003-01-27  Bruno Haible  <bruno@clisp.org>
20872
20873         * modules/xsetenv: New module.
20874         * MODULES.html.sh (func_all_modules): Add it.
20875
20876 2003-01-27  Bruno Haible  <bruno@clisp.org>
20877
20878         * lib/xsetenv.h: New file, from GNU gettext.
20879         * lib/xsetenv.c: New file, from GNU gettext.
20880
20881 2003-01-23  Jim Meyering  <jim@meyering.net>
20882
20883         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
20884         from working on systems without dirfd (at least Irix and OSF1/Tru64).
20885
20886 2003-01-23  Bruno Haible  <bruno@clisp.org>
20887
20888         * modules/minmax: New module.
20889         * MODULES.html.sh (func_all_modules): Add it.
20890
20891 2003-01-23  Bruno Haible  <bruno@clisp.org>
20892
20893         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
20894         Eggert.
20895
20896 2003-01-22  Bruno Haible  <bruno@clisp.org>
20897
20898         * modules/exit: New module.
20899         * MODULES.html.sh (func_all_modules): Add it.
20900
20901 2003-01-22  Bruno Haible  <bruno@clisp.org>
20902
20903         * lib/exit.h: New file, from GNU gettext.
20904
20905 2003-01-19  Bruno Haible  <bruno@clisp.org>
20906
20907         * gnulib-tool: Recognize option --extract-maintainer.
20908         (func_get_maintainer): New function.
20909         * modules/*: Add Maintainer entry.
20910
20911 2003-01-16  Jim Meyering  <jim@meyering.net>
20912
20913         * m4/regex.m4: The `regex' struct is both input and output.
20914         Initialize it before each use.  Patch by Tim Waugh.
20915
20916 2003-01-16  Bruno Haible  <bruno@clisp.org>
20917
20918         * MODULES.html.sh: Add a table of contents. Add the module name as
20919         leftmost column. Add hyperlinks.
20920
20921 2003-01-15  Bruno Haible  <bruno@clisp.org>
20922
20923         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
20924
20925 2003-01-15  Bruno Haible  <bruno@clisp.org>
20926
20927         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
20928         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
20929         suffix.
20930
20931 2003-01-15  Bruno Haible  <bruno@clisp.org>
20932
20933         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
20934
20935 2003-01-15  Bruno Haible  <bruno@clisp.org>
20936
20937         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
20938         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
20939
20940 2003-01-14  Jim Meyering  <jim@meyering.net>
20941
20942         * lib/same.c (same_name): Tweak a comment.
20943
20944 2003-01-14  Bruno Haible  <bruno@clisp.org>
20945
20946         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
20947         when a string comparison is sufficient.
20948
20949 2003-01-14  Bruno Haible  <bruno@clisp.org>
20950
20951         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
20952         'unsigned int'.
20953
20954 2003-01-14  Bruno Haible  <bruno@clisp.org>
20955
20956         * lib/hash-pjw.c: Add comment about low quality of this function.
20957
20958 2003-01-13  Bruno Haible  <bruno@clisp.org>
20959
20960         * modules/stpcpy: Distribute lib/stpcpy.h.
20961         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
20962
20963 2003-01-13  Bruno Haible  <bruno@clisp.org>
20964
20965         * modules/*: Add a description.
20966         * modules/strpbrk: Fix Makefile.am snippet.
20967         * modules/strtoimax: Fix dependencies.
20968         * modules/strtoumax: Likewise.
20969
20970 2003-01-13  Bruno Haible  <bruno@clisp.org>
20971
20972         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
20973         * modules/alloca (Makefile.am): All object files depend on alloca.h.
20974         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
20975
20976 2003-01-13  Bruno Haible  <bruno@clisp.org>
20977
20978         * gnulib-tool (func_create_testdir): Store config/* files in the main
20979         directory.
20980         * config.rpath: Move to ...
20981         * config/config.rpath: ... here.
20982         * modules/gettext: Contains config/config.rpath, not config.rpath.
20983         * modules/iconv: Likewise.
20984
20985 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20986
20987         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20988         to avoid collisions with libcurses and libreadline.
20989
20990         * m4/getstr.m4: Remove.
20991         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
20992
20993 2003-01-12  Paul Eggert  <eggert@twinsun.com>
20994
20995         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
20996         to avoid collisions with libcurses and libreadline.
20997
20998         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
20999         * lib/getstr.h, getstr.c: Remove.
21000         * lib/getline.c: Include "getline.h", to check interface.
21001         Move body of old getstr.c here: this defines MIN_CHUNK and
21002         declares getdelim2, which is renamed from getstr.
21003         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
21004
21005         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
21006         All uses changed.
21007         * lib/linebuffer.h: Likewise.
21008         (readline): Remove backward-compatibility macro.
21009
21010 2003-01-12  Paul Eggert  <eggert@twinsun.com>
21011
21012         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
21013         to avoid collisions with libcurses and libreadline.
21014         * getstr: Remove.
21015         * MODULES.html.sh: Remove getstr.
21016         * modules/getline: Depend on unlocked-io, not getstr.
21017
21018 2003-01-12  Jim Meyering  <jim@meyering.net>
21019
21020         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
21021
21022 2003-01-10  Bruno Haible  <bruno@clisp.org>
21023
21024         * modules/alloca: Change Makefile.am requirements. Simplify Include
21025         requirements. Add lib/alloca_.h to file list.
21026
21027 2003-01-10  Bruno Haible  <bruno@clisp.org>
21028
21029         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
21030
21031 2003-01-10  Bruno Haible  <bruno@clisp.org>
21032
21033         * lib/alloca_.h: New file.
21034         * lib/getdate.y: Unconditionally include alloca.h.
21035         * lib/makepath.c: Likewise.
21036         * lib/setenv.c: Likewise.
21037         * lib/userspec.c: Likewise.
21038
21039 2003-01-09  Karl Berry  <karl@gnu.org>
21040
21041         * MODULES.html.sh: include `dirname $0` in PATH, to find
21042         gnulib-tool.
21043
21044 2003-01-09  Bruno Haible  <bruno@clisp.org>
21045
21046         * modules/stdbool: Change configure.ac, Makefile.am requirements.
21047         Simplify Include requirements. Add lib/stdbool.h.in to file list.
21048
21049 2003-01-09  Bruno Haible  <bruno@clisp.org>
21050
21051         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
21052
21053 2003-01-09  Bruno Haible  <bruno@clisp.org>
21054
21055         * lib/stdbool.h.in: New file.
21056
21057 2003-01-09  Bruno Haible  <bruno@clisp.org>
21058
21059         * gnulib-tool (func_all_modules): Ignore files ending in ~.
21060         * MODULES.html.sh: Likewise.
21061
21062 2003-01-08  Jim Meyering  <jim@meyering.net>
21063
21064         * lib/full-write.c: Undefine and define-away `const' after inclusion
21065         of errno.h, not before.  Suggestion from Bruno Haible.
21066
21067 2003-01-08  Bruno Haible  <bruno@clisp.org>
21068
21069         * modules/full-read: Depend on full-write.
21070
21071 2003-01-08  Bruno Haible  <bruno@clisp.org>
21072
21073         * lib/safe-read.c: Include specification header first, to ensure its
21074         selfcontainedness.
21075         * lib/full-write.c: Likewise.
21076
21077 2003-01-07  Jim Meyering  <jim@meyering.net>
21078
21079         * lib/full-write.c: Rework so that it may serve to define full_read,
21080         too.
21081         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
21082
21083 2003-01-07  Bruno Haible  <bruno@clisp.org>
21084
21085         * lib/strtoimax.c: Include <stdint.h> as an alternative to
21086         <inttypes.h>.
21087         * lib/xstrtol.h: Likewise.
21088         * lib/xstrtoimax.c: Likewise.
21089         * lib/xstrtoumax.c: Likewise.
21090         * lib/human.h: Likewise.
21091
21092         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
21093         on systems that have <inttypes.h> but not <stdint.h>.
21094
21095 2003-01-07  Bruno Haible  <bruno@clisp.org>
21096
21097         * MODULES.html.sh: Add copyright notice.
21098         (missed_files): Omit CVS directory entries.
21099         (func_module): Make it work with sed-3.02.
21100         * MODULES.txt: Remove file.
21101
21102 2003-01-06  Jim Meyering  <jim@meyering.net>
21103
21104         * lib/version-etc.c: Update year in translatable copyright string.
21105
21106 2003-01-03  Karl Berry  <karl@gnu.org>
21107
21108         * config/config.{guess,sub}: update from prep.
21109
21110 2003-01-02  Karl Berry  <karl@gnu.org>
21111
21112         * doc/COPYING.DOC: belatedly updated to 1.2.
21113
21114 2003-01-01  Karl Berry  <karl@gnu.org>
21115
21116         * gnulib-tool (func_verify_module): report module name $module in
21117         error message, not $1.
21118         * gnulib-tool (create-testdir): don't complain if destdir couldn't
21119         be created, only if it doesn't exist.
21120         * gnulib-tool (last_checkin_date): don't expand the $Date here.
21121
21122 2002-12-31  Paul Eggert  <eggert@twinsun.com>
21123
21124         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
21125
21126 2002-12-31  Paul Eggert  <eggert@twinsun.com>
21127
21128         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
21129         memcmp if strcoll doesn't work.
21130
21131 2002-12-31  Bruno Haible  <bruno@clisp.org>
21132
21133         * lib/utime.c (utime_null): No need to call ftruncate if the file was
21134         nonempty.
21135
21136 2002-12-31  Bruno Haible  <bruno@clisp.org>
21137
21138         * lib/memcoll.c (STRCOLL): New macro.
21139         (memcoll): Use it.
21140
21141 2002-12-31  Bruno Haible  <bruno@clisp.org>
21142
21143         * lib/localcharset.h: New file.
21144         * lib/localcharset.c: Include it.
21145         * lib/unicodeio.c: Likewise.
21146
21147 2002-12-31  Bruno Haible  <bruno@clisp.org>
21148
21149         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
21150         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
21151
21152 2002-12-31  Bruno Haible  <bruno@clisp.org>
21153
21154         * lib/getline.h: Include <stddef.h>, for size_t.
21155
21156         * lib/unicodeio.h: Include <stddef.h>, for size_t.
21157         * lib/unicodeio.c: Don't include <stddef.h>.
21158
21159 2002-12-31  Bruno Haible  <bruno@clisp.org>
21160
21161         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
21162         HAVE_TM_ZONE.
21163
21164 2002-12-24  Karl Berry  <karl@gnu.org>
21165
21166         * config/config.guess: update from prep.
21167
21168 2002-12-24  Bruno Haible  <bruno@clisp.org>
21169
21170         General infrasructure.
21171         * m4/README: Rewritten.
21172         * m4/onceonly.m4: New file.
21173         * m4/onceonly_2_57.m4: New file.
21174
21175         Module atexit.
21176         * m4/atexit.m4: New file.
21177
21178         Module strtod.
21179         * m4/strtod.m4: New file.
21180
21181         Module strtol.
21182         * m4/strtol.m4: New file.
21183
21184         Module strtoul.
21185         * m4/strtoul.m4: New file.
21186
21187         Module memchr.
21188         * m4/memchr.m4: New file.
21189
21190         Module memcmp.
21191         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
21192         (jm_FUNC_MEMCMP): Invoke it.
21193
21194         Module memcpy.
21195         * m4/memcpy.m4: New file.
21196
21197         Module memmove.
21198         * m4/memmove.m4: New file.
21199
21200         Module memset.
21201         * m4/memset.m4: New file.
21202
21203         Module strcspn.
21204         * m4/strcspn.m4: New file.
21205
21206         Module strpbrk.
21207         * m4/strpbrk.m4: New file.
21208
21209         Module strstr.
21210         * m4/strstr.m4: New file.
21211
21212         Module strerror.
21213         * m4/strerror.m4: New file.
21214
21215         Module mktime.
21216         * m4/mktime.m4: Renamed from jm-mktime.m4.
21217         (gl_PREREQ_MKTIME): New macro.
21218         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
21219
21220         Module malloc.
21221         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
21222         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
21223         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
21224
21225         Module realloc.
21226         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
21227         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
21228         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
21229
21230         Module strftime.
21231         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
21232         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
21233         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
21234         gl_TM_GMTOFF.
21235         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
21236
21237         Module xalloc.
21238         * m4/xalloc.m4: New file.
21239
21240         Module alloca.
21241         * m4/alloca.m4: New file.
21242
21243         Module putenv.
21244         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
21245         (jm_FUNC_PUTENV): Invoke it.
21246
21247         Module setenv.
21248         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
21249         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
21250         when invoked twice.
21251         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
21252         gt_FUNC_SETENV.
21253
21254         Module memrchr.
21255         * m4/memrchr.m4: New file.
21256
21257         Module stpcpy.
21258         * m4/stpcpy.m4: New file.
21259
21260         Module strcase.
21261         * m4/strcase.m4: New file.
21262
21263         Module strdup.
21264         * m4/strdup.m4: New file.
21265
21266         Module strnlen.
21267         * m4/strnlen.m4: New file.
21268
21269         Module strndup.
21270         * m4/strndup.m4: New file.
21271
21272         Module xstrtod.
21273         * m4/xstrtod.m4: New file.
21274
21275         Module xstrtol.
21276         * m4/xstrtol.m4: New file.
21277
21278         Module getdate.
21279         * m4/getdate.m4: New file.
21280
21281         Module unlocked-io.
21282         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
21283         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
21284         * m4/jm-glibc-io.m4n: Remove file.
21285
21286         Module long-options.
21287         * m4/long-options.m4: New file.
21288
21289         Module md5.
21290         * m4/md5.m4: New file.
21291
21292         Module sha.
21293         * m4/sha.m4: New file.
21294
21295         Module getstr.
21296         * m4/getstr.m4: New file.
21297
21298         Module getline.
21299         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
21300         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
21301         <sys/types.h>, for size_t. Use the function name gnu_getline, not
21302         simply getline. Infoke gl_PREREQ_GETLINE.
21303
21304         Module obstack.
21305         * m4/obstack.m4: New file.
21306
21307         Module hash.
21308         * m4/hash.m4: New file.
21309
21310         Module readtokens.
21311         * m4/readtokens.m4: New file.
21312
21313         Module strverscmp.
21314         * m4/strverscmp.m4: New file.
21315
21316         Module stdbool.
21317         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
21318         OSF/1.
21319
21320         Module strtoll.
21321         * m4/strtoll.m4: New file.
21322
21323         Module strtoull.
21324         * m4/strtoull.m4: New file.
21325
21326         Module strtoimax.
21327         * m4/strtoimax.m4: New file.
21328
21329         Module strtoumax.
21330         * m4/strtoumax.m4: New file.
21331
21332         Module xstrtoimax.
21333         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
21334         jm_AC_PREREQ_XSTRTOIMAX.
21335         Moved the strtol prerequisites to strtol.m4.
21336         Moved the strtoll prerequisites to strtoll.m4.
21337         Moved the strtoimax prerequisites to strtoimax.m4.
21338
21339         Module xstrtoumax.
21340         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
21341         jm_AC_PREREQ_XSTRTOUMAX.
21342         Moved the strtoul prerequisites to strtoul.m4.
21343         Moved the strtoull prerequisites to strtoull.m4.
21344         Moved the strtoumax prerequisites to strtoumax.m4.
21345
21346         Module chown.
21347         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
21348         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
21349
21350         Module dup2.
21351         * m4/dup2.m4: New file.
21352
21353         Module ftruncate.
21354         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
21355         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
21356
21357         Module getgroups.
21358         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
21359         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
21360
21361         Module gettimeofday.
21362         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
21363         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
21364         gl_PREREQ_GETTIMEOFDAY.
21365
21366         Module mkdir.
21367         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
21368         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
21369
21370         Module mkstemp.
21371         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
21372         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
21373         jm_AC_TYPE_UINTMAX_T.
21374         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
21375
21376         Module stat.
21377         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
21378         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
21379
21380         Module lstat.
21381         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
21382         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
21383
21384         Module timespec.
21385         * m4/timespec.m4 (gl_TIMESPEC): New macro.
21386         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
21387         * m4/st_mtim.m4: Indentation.
21388
21389         Module nanosleep.
21390         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
21391         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
21392         gl_PREREQ_NANOSLEEP.
21393
21394         Module regex.
21395         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
21396         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
21397         (gl_REGEX): New macro.
21398
21399         Module rename.
21400         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
21401         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
21402
21403         Module rmdir.
21404         * m4/rmdir.m4: New file.
21405
21406         Module utime.
21407         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
21408         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
21409         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
21410
21411         Module dirname.
21412         * m4/dirname.m4: New file.
21413
21414         Module getopt.
21415         * m4/getopt.m4: New file.
21416
21417         Module unistd-safer.
21418         * m4/unistd-safer.m4: New file.
21419
21420         Module fnmatch.
21421         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
21422         declaration.
21423         (gl_PREREQ_FNMATCH_EXTRA): New macro.
21424         (gl_FUNC_FNMATCH_POSIX): New macro.
21425         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
21426         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
21427         simply fnmatch.
21428
21429         Module exclude.
21430         * m4/exclude.m4: New file.
21431
21432         Module human.
21433         * m4/human.m4: New file.
21434
21435         Module acl.
21436         * m4/acl.m4: Nop.
21437
21438         Module backupfile.
21439         * m4/backupfile.m4: New file.
21440         * m4/d-ino.m4: Indentation.
21441
21442         Module fsusage.
21443         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
21444         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
21445         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
21446
21447         Module dirfd.
21448         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
21449         requirements.
21450
21451         Module euidaccess.
21452         * m4/euidaccess.m4: New file.
21453
21454         Module file-type.
21455         * m4/file-type.m4: New file.
21456
21457         Module fileblocks.
21458         * m4/fileblocks.m4: New file.
21459
21460         Module filemode.
21461         * m4/filemode.m4: New file.
21462
21463         Module isdir.
21464         * m4/isdir.m4: New file.
21465
21466         Module lchown.
21467         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
21468         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
21469
21470         Module makepath.
21471         * m4/makepath.m4: New file.
21472
21473         Module modechange.
21474         * m4/modechange.m4: New file.
21475
21476         Module mountlist.
21477         * m4/mountlist.m4: New file.
21478         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
21479         Indentation.
21480
21481         Module path-concat.
21482         * m4/path-concat.m4: New file.
21483
21484         Module pathmax.
21485         * m4/pathmax.m4: New file.
21486
21487         Module same.
21488         * m4/same.m4: New file.
21489
21490         Module save-cwd.
21491         * m4/save-cwd.m4: New file.
21492
21493         Module savedir.
21494         * m4/savedir.m4: New file.
21495
21496         Module xgetcwd.
21497         * m4/xgetcwd.m4: New file.
21498         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
21499
21500         Module xreadlink.
21501         * m4/xreadlink.m4: New file.
21502
21503         Module safe-read.
21504         * m4/safe-read.m4: New file.
21505
21506         Module safe-write.
21507         * m4/safe-write.m4: New file.
21508
21509         Module closeout.
21510         * m4/closeout.m4: New file.
21511
21512         Module stdio-safer.
21513         * m4/stdio-safer.m4: New file.
21514
21515         Module getpass.
21516         * m4/getpass.m4: New file.
21517
21518         Module getugroups.
21519         * m4/getugroups.m4: New file.
21520
21521         Module group-member.
21522         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
21523         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
21524
21525         Module idcache.
21526         * m4/idcache.m4: New file.
21527
21528         Module userspec.
21529         * m4/userspec.m4: New file.
21530
21531         Module gettime.
21532         * m4/clock_time.m4: New file.
21533         * m4/gettime.m4: New file.
21534
21535         Module settime.
21536         * m4/settime.m4: New file.
21537
21538         Module posixtm.
21539         * m4/posixtm.m4: New file.
21540
21541         Module gethostname.
21542         * m4/gethostname.m4: New file.
21543
21544         Module canon-host.
21545         * m4/canon-host.m4: New file.
21546
21547         Module gettext.
21548         * m4/codeset.m4: New file, from gettext-0.11.5.
21549         * m4/gettext.m4: New file, from gettext-0.11.5.
21550         * m4/glibc21.m4: New file, from gettext-0.11.5.
21551         * m4/iconv.m4: New file, from gettext-0.11.5.
21552         * m4/intdiv0.m4: New file, from gettext-0.11.5.
21553         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
21554         * m4/inttypes.m4: New file, from gettext-0.11.5.
21555         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
21556         * m4/isc-posix.m4: New file, from gettext-0.11.5.
21557         * m4/lcmessage.m4: New file, from gettext-0.11.5.
21558         * m4/lib-ld.m4: New file, from gettext-0.11.5.
21559         * m4/lib-link.m4: New file, from gettext-0.11.5.
21560         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
21561         * m4/progtest.m4: New file, from gettext-0.11.5.
21562         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
21563         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
21564         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
21565
21566         Module localcharset.
21567         * m4/localcharset.m4: New file.
21568
21569         Module hard-locale.
21570         * m4/hard-locale.m4: New file.
21571
21572         Module mbswidth.
21573         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
21574         onceonly macros.
21575         * m4/mbrtowc.m4: Add comment.
21576
21577         Module memcasecmp.
21578         * m4/memcasecmp.m4: New file.
21579
21580         Module memcoll.
21581         * m4/memcoll.m4: New file.
21582
21583         Module unicodeio.
21584         * m4/unicodeio.m4: New file.
21585
21586         Module rpmatch.
21587         * m4/rpmatch.m4: New file.
21588
21589         Module yesno.
21590         * m4/yesno.m4: New file.
21591
21592         Module exitfail.
21593         * m4/exitfail.m4: New file.
21594
21595         Module c-stack.
21596         * m4/c-stack.m4 (gl_C_STACK): New macro.
21597         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
21598
21599         Module error.
21600         * m4/error.m4 (gl_ERROR): New macro.
21601         (jm_PREREQ_ERROR): Use onceonly macros.
21602
21603         Module fatal.
21604         * m4/fatal.m4: New file.
21605
21606         Module getloadavg.
21607         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
21608         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
21609
21610         Module getpagesize.
21611         * m4/getpagesize.m4: New file.
21612
21613         Module getusershell.
21614         * m4/getusershell.m4: New file.
21615
21616         Module physmem.
21617         * m4/physmem.m4: New file.
21618
21619         Module posixver.
21620         * m4/posixver.m4: New file.
21621
21622         Module quotearg.
21623         * m4/quotearg.m4: New file.
21624
21625         Module quote.
21626         * m4/quote.m4: New file.
21627
21628         Module readutmp.
21629         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
21630
21631         Module sig2str.
21632         * m4/sig2str.m4: New file.
21633
21634         Other.
21635         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
21636         ulonglong.m4.
21637         * m4/intmax_t.m4: New file.
21638         * m4/d-type.m4: Indentation.
21639         * m4/jm-macros.m4: Update.
21640         * m4/prereq.m4 (jm_PREREQ): Update.
21641         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
21642         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
21643         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
21644         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
21645         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
21646         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
21647         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
21648         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
21649         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
21650         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
21651         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
21652         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
21653         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
21654         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
21655         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
21656         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
21657         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
21658         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
21659         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
21660
21661 2002-12-24  Bruno Haible  <bruno@clisp.org>
21662
21663         * MODULES.txt: Update according to m4/ changes.
21664
21665         Module gettext.
21666         * config.rpath: New file, from gettext-0.11.5.
21667
21668         * modules/*: New module descriptions.
21669         * gnulib-tool: New file.
21670         * MODULES.html.sh: New file.
21671
21672 2002-12-21  Karl Berry  <karl@gnu.org>
21673
21674         * doc/fdl.texi: update to version 1.2.
21675
21676 2002-12-19  Karl Berry  <karl@gnu.org>
21677
21678         * config/config.guess: update from prep.
21679
21680 2002-12-18  Bruno Haible  <bruno@clisp.org>
21681
21682         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
21683         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
21684
21685 2002-12-17  Bruno Haible  <bruno@clisp.org>
21686
21687         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
21688         stdlib.h, string.h.
21689
21690 2002-12-17  Bruno Haible  <bruno@clisp.org>
21691
21692         * lib/canon-host.c (strdup): Remove unused declaration.
21693
21694         * lib/fsusage.c: Include full_read.h.
21695         (get_fs_usage): Use full_read instead of safe_read.
21696
21697         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
21698
21699 2002-12-12  Karl Berry  <karl@gnu.org>
21700
21701         * config/config.guess: update from prep.
21702
21703 2002-12-11  Bruno Haible  <bruno@clisp.org>
21704
21705         * m4/setenv.m4: New file, from gettext-0.11.5.
21706
21707 2002-12-11  Bruno Haible  <bruno@clisp.org>
21708
21709         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
21710         not unsetenv().
21711         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
21712         modifications:
21713
21714         2002-12-11  Bruno Haible  <bruno@clisp.org>
21715
21716                 * setenv.c (alloca): Fall back to malloc.
21717                 (freea): New macro.
21718                 (setenv): Use freea() to free memory allocated with alloca().
21719
21720         2002-11-13  Bruno Haible  <bruno@clisp.org>
21721
21722                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
21723                 function declarations.
21724                 * unsetenv.c (unsetenv): Likewise.
21725
21726         2002-03-04  Bruno Haible  <bruno@clisp.org>
21727
21728                 Portability to AIX 4.3.3.
21729                 * unsetenv.c: New file, extracted from setenv.c.
21730                 * setenv.c: Move the unsetenv() function to unsetenv.c.
21731
21732         2001-12-20  Bruno Haible  <bruno@clisp.org>
21733
21734                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
21735                 use malloc instead. For SunOS 4.
21736
21737         2001-12-11  Bruno Haible  <bruno@clisp.org>
21738
21739                 * setenv.c: Declare alloca.
21740                 (compar_fn_t): New typedef.
21741                 (KNOWN_VALUE, STORE_VALUE): Use it.
21742
21743         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
21744         setenv.h.
21745
21746 2002-12-10  Paul Eggert  <eggert@twinsun.com>
21747
21748         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
21749         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
21750         Choose values that are less likely to collide with system fnmatch
21751         options.
21752         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
21753         defined (e.g., a pure POSIX system).
21754         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
21755         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
21756
21757 2002-12-06  Paul Eggert  <eggert@twinsun.com>
21758
21759         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
21760         a pain in practice to deal with generated m4 files.  This change
21761         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
21762
21763         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
21764         and jm-glibc-io.m4, as they are no longer a special case.
21765         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
21766         kludge and the auto-generation stuff.  Check only whether the
21767         functions are declared, not whether they exist, since older hosts
21768         that don't declare the functions can't use the optimization anyway.
21769
21770 2002-12-06  Jim Meyering  <jim@meyering.net>
21771
21772         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
21773
21774         Merge in changes from libc's misc/error.c, in preparation
21775         for the merge of gnulib's changes back into libc.
21776
21777         * lib/error.c (_): Define only if not already defined.
21778         Move definition to follow all #include directives.
21779         Include unlocked-io.h only if !_LIBC.
21780         [_LIBC]: Include <libio/libioP.h>.
21781         [USE_IN_LIBIO]: Include <libio/iolibio.h>
21782         (fflush): Tweak definition to use INTUSE.
21783         (putc): Define.
21784
21785 2002-12-05  Paul Eggert  <eggert@twinsun.com>
21786
21787         * lib/alloca.c [defined emacs]: Include "lisp.h".
21788         (xalloc_die) [defined emacs]: New macro.
21789         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
21790         [! defined emacs]: Include <xalloc.h>.
21791         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
21792         (pointer): Typedef to POINTER_TYPE *.
21793         (malloc): Remove decl; we now always use xmalloc.
21794         (alloca): Use old-style definition, since Emacs needs this.
21795         Check for arithmetic overflow when computing combined size.
21796
21797 2002-12-04  Paul Eggert  <eggert@twinsun.com>
21798
21799         Do not generate unlocked-io.h automatically, since it's easier to
21800         maintain it by hand.
21801
21802         * lib/unlocked-io.h: New file, from GNU diffutils,
21803         but with proper copyright notice and attribution.
21804         * lib/gen-uio: Remove.
21805         * lib/Makefile.am: Add copyright notice.
21806         (libfetish_a_SOURCES): Add unlocked-io.h.
21807         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
21808         (DISTCLEANFILES, io_functions): Remove macros.
21809         (EXTRA_DIST): Remove gen_uio.
21810         (unlocked-io.h): Remove rule.
21811
21812 2002-12-04  Jim Meyering  <jim@meyering.net>
21813
21814         Reflect the fact that stat.c and lstat.c are no longer generated.
21815         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
21816         (DISTCLEANFILES): Likewise.
21817         (EXTRA_DIST): Likewise.
21818         (all_local): Don't depend on stat.c or lstat.c.
21819         (stat.c, lstat.c): Remove rules.
21820         (EXTRA_DIST): Remove xstat.in.
21821
21822         * lib/xstat.in: Remove file.  Contents moved into stat.c.
21823         * lib/stat.c: New file.  Contents mostly from xstat.in.
21824         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
21825         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
21826
21827         * lib/safe-read.c: Rework so that it may serve to define safe_write,
21828         too.
21829         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
21830
21831 2002-12-03  Jim Meyering  <jim@meyering.net>
21832
21833         * lib/safe-read.c, safe-write.c: Change variable names and comments,
21834         but not semantics, to minimize the differences between these two files.
21835         (safe_read): Change comment to mention SAFE_READ_ERROR.
21836
21837         * lib/safe-read.c (IS_EINTR): Define.
21838         (safe_read): Use IS_EINTR in place of in-function cpp directives.
21839
21840 2002-12-02  Jim Meyering  <jim@meyering.net>
21841
21842         * lib/safe-read.c (EINTR): Define.
21843         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
21844         (INT_MAX): Provide fallback.
21845         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
21846
21847         * lib/safe-read.h (SAFE_READ_ERROR): Define.
21848
21849 2002-12-02  Bruno Haible  <bruno@clisp.org>
21850
21851         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
21852         Define, taken from safe-read.c.
21853         (INT_MAX): Provide fallback.
21854         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
21855         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
21856
21857         * lib/safe-read.c (EINTR): Remove definition.
21858         (safe_read): Don't use EINTR if it is absent.
21859
21860 2002-12-01  Jim Meyering  <jim@meyering.net>
21861
21862         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
21863         zero.
21864         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
21865
21866 2002-11-27  Paul Eggert  <eggert@twinsun.com>
21867
21868         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
21869         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
21870         with `if (! (value < limit)) abort ();', for readability.
21871
21872 2002-11-26  Karl Berry  <karl@gnu.org>
21873
21874         * lib/strdup.c: copy from libc again, with jim's ok.
21875         * lib/.cppi-disable: re-add strdup.c
21876
21877 2002-11-25  Karl Berry  <karl@gnu.org>
21878
21879         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
21880         instead of "strtol.c".
21881
21882 2002-11-25  Karl Berry  <karl@gnu.org>
21883
21884         * config/install-sh: update from automake for variable quoting, $0 in
21885         error msgs, etc.
21886
21887         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
21888         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
21889         entry.
21890
21891 2002-11-25  Jim Meyering  <jim@meyering.net>
21892
21893         * lib/mktime.c: Sync from libc, now that it has the latest fix.
21894
21895 2002-11-24  Karl Berry  <karl@gnu.org>
21896
21897         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
21898         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
21899
21900 2002-11-24  Jim Meyering  <jim@meyering.net>
21901
21902         Update from coreutils:
21903
21904         * lib/mktime.c: Merge in changes from libc.
21905
21906         Avoid a link-time failure on some Linux systems.
21907         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
21908         (otherwise).
21909         (__mon_yday): Declare with the STATIC attribute.
21910         (__mktime_internal): Likewise.
21911         Based on a report from Greg Schafer.
21912
21913 2002-11-23  Jim Meyering  <jim@meyering.net>
21914
21915         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
21916         Use `unsigned', not `int', as type of index.
21917
21918         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
21919
21920         * lib/fsusage.c: Remove unneeded parentheses around operands of
21921         `defined'.
21922
21923 2002-11-22  Paul Eggert  <eggert@twinsun.com>
21924
21925         * lib/quotearg.h: Allow multiple inclusion by surrounding with
21926         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
21927         so that we can be included first.
21928         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
21929         * lib/quotearg.c: Include quotearg.h immediately after config.h.
21930         No need to include stddef.h or sys/types.h any more.
21931         Surround local include files with "", not "<>".
21932         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
21933         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
21934         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
21935         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
21936         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
21937         (ISPRINT): Remove; no longer needed now that we assume C89.
21938
21939         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
21940         Preserve errno.
21941
21942         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
21943         quotearg_char): Use SIZE_MAX rather than
21944         (size_t) -1 when we are talking about "infinity".
21945
21946         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
21947
21948 2002-11-22  Paul Eggert  <eggert@twinsun.com>
21949
21950         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
21951         hint that one should use `if (! x) abort ();' rather than `assert
21952         (x);', and anyway it's one less thing to worry about configuring.
21953         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
21954         hash_rehash, hash_insert): Use abort rather than assert.
21955
21956 2002-11-22  Bruno Haible  <bruno@clisp.org>
21957
21958         * lib/safe-read.h: Assume C89. Add comments.
21959         (safe_read): Change return type to size_t.
21960         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
21961         byte counts > SSIZE_MAX correctly.
21962         * lib/safe-write.h: New file.
21963         * lib/safe-write.c: New file.
21964         * lib/full-read.h: New file.
21965         * lib/full-read.c: New file.
21966         * lib/full-write.h: Assume C89. Add comments.
21967         * lib/full-write.c: Include safe-write.h.
21968         (full_write): Rewritten to use safe_write.
21969         Suggested by Jim Meyering and Paul Eggert.
21970
21971 2002-11-21  Jim Meyering  <jim@meyering.net>
21972
21973         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
21974
21975         Merge in changes from the coreutils.
21976
21977         2002-09-25  Paul Eggert  <eggert@twinsun.com>
21978         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
21979         <stdint.h>.
21980         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
21981         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
21982         int.  Work more efficiently if X is the same width as uintmax_t.
21983         Do not compare X to -1, to avoid bogus compiler warning.
21984         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
21985         Don't assume that f_frsize and f_bsize are the same type.
21986
21987         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
21988         warning on FreeBSD.
21989
21990         * lib/makepath.c (make_path): Restore umask *before* creating the final
21991         component.
21992         (make_path): Minor reformatting.
21993
21994         * lib/xmalloc.c: Adjust to work with new autoconf macros,
21995         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
21996         HAVE_MALLOC/HAVE_REALLOC.
21997
21998         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
21999         dummy ones.  At least on GNU/Linux systems, `auto' means something
22000         else.
22001         From Michael Stone.
22002
22003 2002-11-21  Bruno Haible  <bruno@clisp.org>
22004
22005         Remove case insensitive option matching.
22006         * lib/argmatch.h (argcasematch): Remove declaration.
22007         (ARGCASEMATCH): Remove macro.
22008         (__xargmatch_internal): Remove case_sensitive argument.
22009         (XARGMATCH): Update.
22010         (XARGCASEMATCH): Remove macro.
22011         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
22012         case_sensitive argument.
22013         (argcasematch): Remove function.
22014         (__xargmatch_internal): Remove case_sensitive argument.
22015         (main): Use XARGMATCH instead of XARGCASEMATCH.
22016
22017         * lib/xmalloc.c: Change compile-time error message. Add comment about
22018         required autoconf version.
22019
22020 2002-11-20  Paul Eggert  <eggert@twinsun.com>
22021
22022         Merge argmatch cleanups from Bison.  Assume C89.
22023
22024         * lib/argmatch.c: Include config.h here, not in argmatch.h.
22025         Include stdlib.h, for EXIT_FAILURE.
22026         Always include <string.h>, since we assume C89.
22027         (EXIT_FAILURE): Remove pre-C89 bug workaround.
22028         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
22029         Include <stddef.h> instead, since it's all we need for size_t.
22030         (PARAMS): Remove.  All uses removed.
22031         (ARRAY_CARDINALITY): Do not bother to #undef.
22032         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
22033         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
22034         Remove unnecessary parentheses.
22035         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
22036         Insert necessary parentheses.
22037         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
22038         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
22039
22040 2002-11-19  Bruno Haible  <bruno@clisp.org>
22041
22042         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
22043         * lib/mbswidth.h: Include <stddef.h>, for size_t.
22044
22045         * lib/mbswidth.h (PARAMS): Remove macro.
22046         (mbswidth, mbsnwidth): Use ANSI C function declarations.
22047         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
22048
22049         * lib/gcd.h (PARAMS): Remove macro.
22050         (gcd): Use ANSI C function declarations.
22051         * lib/gcd.c (gcd): Likewise.
22052
22053 2002-11-15  Bruno Haible  <bruno@clisp.org>
22054
22055         * lib/strcspn.c: Include <stddef.h>.
22056         (strcspn): Use ANSI C function declaration. Change return type to
22057         size_t. Use NULL.
22058         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
22059         (strpbrk): Use NULL.
22060         * lib/strpbrk.h (PARAMS): Remove macro.
22061         (strpbrk): Use ANSI C function declaration.
22062         * lib/strstr.c: Don't include <sys/types.h>.
22063         * lib/strstr.h (PARAMS): Remove macro.
22064         (strstr): Use ANSI C function declarations.
22065
22066 2002-11-14  Karl Berry  <karl@gnu.org>
22067
22068         * config/mkinstalldirs: `do' on separate line, instead of
22069         `for var; do'.
22070
22071 2002-11-06  Bruno Haible  <bruno@clisp.org>
22072
22073         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
22074         * lib/gcd.c (gcd): Likewise.
22075
22076 2002-11-05  Bruno Haible  <bruno@clisp.org>
22077
22078         * lib/gcd.h: New file, from gettext-0.11.5.
22079         * lib/gcd.c: New file, from gettext-0.11.5.
22080
22081 2002-11-05  Bruno Haible  <bruno@clisp.org>
22082
22083         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22084         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22085         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22086         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
22087
22088         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
22089         <libintl.h>.
22090         * lib/makepath.c: Include gettext.h instead of <locale.h> and
22091         <libintl.h>.
22092
22093         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
22094         * lib/human.c: Include gettext.h instead of <libintl.h>.
22095         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
22096         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
22097         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
22098         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
22099         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
22100         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
22101         (textdomain): Remove definition.
22102         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
22103
22104         * lib/long-options.c: Remove include of <libintl.h> and definition of
22105         _.
22106         * lib/same.c: Remove include of <libintl.h> and definition of _.
22107
22108 2002-11-04  Owen Taylor  <otaylor@redhat.com>
22109
22110         * lib/config.charset: A few additions for Solaris.
22111
22112 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
22113
22114         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
22115         * lib/localcharset.c (locale_charset): Declare as extern "C".
22116
22117 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
22118
22119         * lib/config.charset: msdos in uk_UA uses CP1125.
22120
22121 2002-11-04  Bruno Haible  <bruno@clisp.org>
22122
22123         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
22124         * lib/strcase.h: New file, from GNU gettext-0.11.5.
22125         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
22126         * lib/strstr.h: New file, from GNU gettext-0.11.5.
22127         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
22128
22129 2002-11-04  Bruno Haible  <bruno@clisp.org>
22130
22131         * lib/localcharset.c (locale_charset): Don't return an empty string.
22132
22133 2002-11-04  Bruno Haible  <bruno@clisp.org>
22134
22135         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
22136         aliases.
22137
22138 2002-11-04  Bruno Haible  <bruno@clisp.org>
22139
22140         * lib/config.charset: Update for newest glibc. Add canonical names
22141         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
22142
22143 2002-11-04  Bruno Haible  <bruno@clisp.org>
22144
22145         * lib/config.charset: Add support for NetBSD.
22146
22147 2002-11-04  Bruno Haible  <bruno@clisp.org>
22148
22149         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
22150
22151 2002-11-01  Bruno Haible  <bruno@clisp.org>
22152
22153         * configure.in: Add AC_CONFIG_AUX_DIR call.
22154         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
22155         test/Makefile.
22156         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
22157
22158 2002-09-28  Karl Berry  <karl@gnu.org>
22159
22160         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
22161         installed automake until the next release, since changes have been
22162         made.
22163
22164 2002-09-25  Karl Berry  <karl@gnu.org>
22165
22166         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
22167         * lib/getopt*: copy from libc/posix.
22168         * lib/gettext.h: copy from gettext.
22169         * lib/.cppi-disable: add strdup.c, gettext.h.
22170
22171 2002-09-25  Karl Berry  <karl@gnu.org>
22172
22173         * config/srclist.txt: enable gettext.h check.
22174         * config/config.{guess,sub}: update from prep.
22175         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
22176                 from automake 1.6.3.
22177         See srclist*.
22178
22179 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
22180
22181         * regex.c (PATFETCH): Remove the translating fetch.
22182         (PATFETCH_RAW): Rename to PATFETCH.
22183         (set_image_of_range): New fun.
22184         (SET_RANGE_TABLE_WORK_AREA): Use it.
22185         (regex_compile): Don't translate the pattern chars so eagerly.
22186         Only do it when inserting an `exactn' bytecode or when handling
22187         a char-range.
22188         (mutually_exclusive_p): Avoid empty statement.
22189
22190 2002-07-06  Jim Meyering  <meyering@lucent.com>
22191
22192         * m4/README: Don't mention Makefile.am.in.
22193         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
22194
22195 2002-07-01  Jim Meyering  <meyering@lucent.com>
22196
22197         * lib/c-stack.c: Include sys/time.h.
22198         From Volker Borchert.
22199
22200 2002-06-26  Paul Eggert  <eggert@twinsun.com>
22201
22202         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
22203
22204 2002-06-26  Paul Eggert  <eggert@twinsun.com>
22205
22206         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
22207         New macro.  Use it uniformly instead of
22208         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
22209         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
22210         reported by Vin Shelton.
22211
22212 2002-06-22  Paul Eggert  <eggert@twinsun.com>
22213
22214         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
22215         Do not assume SA_SIGINFO behavior.
22216         Bug reported by Jim Meyering on NetBSD 1.5.2.
22217
22218 2002-06-22  Jim Meyering  <meyering@lucent.com>
22219
22220         * m4/c-stack.m4: New file, from diffutils-2.8.2.
22221         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
22222
22223         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
22224         now that configure.ac uses AC_GNU_SOURCE.
22225         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
22226         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
22227
22228         Update to latest tools.  Suggestions from Paul Eggert.
22229         * m4/stdbool.m4: New file, from diffutils-2.8.2.
22230         * m4/gnu-source.m4: Update from diffutils-2.8.2.
22231         * m4/fnmatch.m4: Likewise.
22232         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
22233         to AC_HEADER_STDBOOL
22234
22235 2002-06-22  Jim Meyering  <meyering@lucent.com>
22236
22237         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
22238         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
22239
22240 2002-06-22  Jim Meyering  <meyering@lucent.com>
22241
22242         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
22243
22244         * lib/exitfail.c, exitfail.h: Likewise.
22245         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
22246
22247         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
22248         of fnmatch.h.
22249         (EXTRA_DIST): Add fnmatch_loop.c.
22250         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
22251
22252         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
22253         * lib/fnmatch.c: Update from diffutils-2.8.2.
22254         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
22255         * lib/fnmatch.h: Remove file.
22256
22257 2002-06-21  Jim Meyering  <meyering@lucent.com>
22258
22259         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
22260         * m4/mbrtowc.m4: Likewise.
22261
22262         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
22263         * m4/mbswidth.m4: Reflect name change:
22264         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
22265         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
22266
22267         * m4/lib-link.m4: Update from gettext-0.11.2.
22268         * m4/gettext.m4: Likewise.
22269
22270         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
22271         From Alfred M. Szmidt.
22272
22273 2002-06-18  Paul Eggert  <eggert@twinsun.com>
22274
22275         * lib/file-type.h: Report an error if neither S_ISREG nor
22276         S_IFREG is defined, instead of using a test specific to glibc
22277         2.2.  This should be safe, since POSIX requires S_ISREG and
22278         Unix Version 7 had S_IFREG.  We don't need to check for
22279         <sys/types.h> since we don't use any symbols that it defines.
22280
22281 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
22282
22283         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
22284         $@-t, so that each temporary file name is unique and valid in the first
22285         8 characters, for operation under DOS.
22286
22287 2002-06-15  Paul Eggert  <eggert@twinsun.com>
22288
22289         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
22290
22291 2002-06-15  Jim Meyering  <meyering@lucent.com>
22292
22293         Work even with DJGPP 2.03, which lacks support for symlinks.
22294         From Richard Dawe.
22295         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
22296         is defined.
22297         * lib/lchown.c (S_ISLNK): Likewise.
22298
22299 2002-06-15  Jim Meyering  <meyering@lucent.com>
22300
22301         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
22302         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
22303         have been included before this file.
22304
22305 2002-06-14  Jim Meyering  <meyering@lucent.com>
22306
22307         * lib/file-type.h: Use the version from diffutils-2.8.2.
22308         * lib/file-type.c: Likewise.
22309
22310 2002-06-07  Jim Meyering  <meyering@lucent.com>
22311
22312         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
22313         They're needed at least for NetBSD 1.5.2.
22314         ($statxfs_includes): Include those same headers.
22315         ($statxfs_includes): Include sys/vfs.h if available.
22316         ($statxfs_includes): Likewise for sys/statvfs.h.
22317         Check for the following members in both structs statfs and statvfs:
22318         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
22319
22320 2002-06-01  Jim Meyering  <meyering@lucent.com>
22321
22322         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
22323         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
22324
22325 2002-05-28  Jim Meyering  <meyering@lucent.com>
22326
22327         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
22328         Reported by Volker Borchert.
22329
22330 2002-05-27  Jim Meyering  <meyering@lucent.com>
22331
22332         Fix a problem seen only on nonconforming systems whereby ls.c's
22333         use of localtime, and then of gettimeofday would cause trouble:
22334         the localtime call used to initialize rpl_gettimeofday's save
22335         mechanism would clobber ls's current local time information so
22336         that in any long listing the first file would always be listed
22337         with date 1970-01-01.  Analysis by Volker Borchert.
22338
22339         * lib/gettimeofday.c (localtime): Undefine.
22340         (rpl_localtime): New function.
22341
22342 2002-05-27  Jim Meyering  <meyering@lucent.com>
22343
22344         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
22345         localtime.
22346
22347         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
22348         use the replacement function; it wouldn't resolve at link time.
22349         Reported by Volker Borchert.
22350
22351 2002-05-22  Jim Meyering  <meyering@lucent.com>
22352
22353         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
22354         file-type.h.
22355         * lib/file-type.h: New file.
22356         * lib/file-type.c (file_type): New file/function.  Extracted from
22357         diffutils.
22358
22359 2002-04-30  Jim Meyering  <meyering@lucent.com>
22360
22361         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
22362
22363 2002-04-29  Paul Eggert  <eggert@twinsun.com>
22364
22365         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
22366
22367 2002-04-29  Paul Eggert  <eggert@twinsun.com>
22368
22369         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
22370         Do not check for alloca.h (no longer used) or stdbool.h (was never
22371         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
22372
22373 2002-04-29  Paul Eggert  <eggert@twinsun.com>
22374
22375         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
22376
22377 2002-04-29  Jim Meyering  <meyering@lucent.com>
22378
22379         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
22380         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
22381         Use AC_FUNC_STRNLEN here instead.
22382
22383         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
22384         With autoconf-2.53a, it's part of AC_PROG_CC.
22385
22386 2002-04-28  Paul Eggert  <eggert@twinsun.com>
22387
22388         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
22389         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
22390
22391 2002-04-28  Paul Eggert  <eggert@twinsun.com>
22392
22393         * lib/sig2str.h, lib/sig2str.c: New files.
22394         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
22395
22396 2002-04-28  Paul Eggert  <eggert@twinsun.com>
22397
22398         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
22399         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
22400         of 127, since 64 is the largest conceivable number for ancient
22401         nonstandard hosts.
22402         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
22403
22404 2002-04-28  Jim Meyering  <meyering@lucent.com>
22405
22406         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
22407
22408 2002-04-24  Jim Meyering  <meyering@lucent.com>
22409
22410         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
22411         (jm_PREREQ): Use it.
22412
22413         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
22414         mach/mach.h fcntl.h.
22415         Check for this function: setlocale.
22416
22417 2002-04-24  Jim Meyering  <meyering@lucent.com>
22418
22419         * lib/gettext.h: New file, from Gettext.
22420         * lib/Makefile.am (INCLUDES): Remove -I../intl.
22421         (libfetish_a_SOURCES): Add gettext.h.
22422
22423 2002-04-16  Jim Meyering  <meyering@lucent.com>
22424
22425         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
22426         ut_pid, ut_id, ut_exit.
22427
22428 2002-04-16  Jim Meyering  <meyering@lucent.com>
22429
22430         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
22431         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
22432         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
22433
22434 2002-04-12  Jim Meyering  <meyering@lucent.com>
22435
22436         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
22437         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
22438         existence of the getmntinfo function.  Needed for Darwin 5.3.
22439
22440         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
22441         This is necessary at least on Darwin 5.3.
22442
22443         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
22444         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
22445         strnlen.o in the library, and that makes some versions of ranlib
22446         object.
22447
22448 2002-04-12  Jim Meyering  <meyering@lucent.com>
22449
22450         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
22451
22452 2002-04-09  Jim Meyering  <meyering@lucent.com>
22453
22454         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
22455         to be more precise.  Rather than saying we're checking whether the
22456         function `works', say what we're testing.
22457         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
22458         Reported by Bruno Haible.
22459
22460 2002-03-10  Jim Meyering  <meyering@lucent.com>
22461
22462         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
22463         Suggestion from Santiago Vila.
22464
22465 2002-03-08  Jim Meyering  <meyering@lucent.com>
22466
22467         * lib/rename.c: Mention that this wrapper is needed also on
22468         mips-dec-ultrix4.4 systems.
22469
22470 2002-03-02  Jim Meyering  <meyering@lucent.com>
22471
22472         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
22473         not HAVE_CLOCK_SETTIME.
22474
22475 2002-02-27  Paul Eggert  <eggert@twinsun.com>
22476
22477         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
22478         Check for clock_settime.
22479
22480 2002-02-27  Paul Eggert  <eggert@twinsun.com>
22481
22482         * lib/nanosleep.h: Rename to....
22483         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
22484
22485         * lib/gettime.c: New file.
22486         * lib/settime.c: New file.
22487         * lib/stime.c: Remove.
22488
22489         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
22490         timespec.h.  Remove nanosleep.h.
22491
22492 2002-02-25  Paul Eggert  <eggert@twinsun.com>
22493
22494         * m4/acl.m4: New file.
22495         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
22496         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
22497
22498 2002-02-25  Paul Eggert  <eggert@twinsun.com>
22499
22500         * lib/acl.c, lib/acl.h: New files.
22501         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
22502
22503 2002-02-24  Jim Meyering  <meyering@lucent.com>
22504
22505         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
22506         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
22507         cause trouble.  Reported by Nelson Beebe.
22508
22509 2002-02-23  Paul Eggert  <eggert@twinsun.com>
22510
22511         * lib/path-concat.c (xpath_concat): Reorder code to pacify
22512         compilers that don't know that xalloc_die never returns.
22513
22514 2002-02-20  Jim Meyering  <meyering@lucent.com>
22515
22516         * lib/getdate.c: Regenerate using bison-1.33.
22517
22518 2002-02-17  Jim Meyering  <meyering@lucent.com>
22519
22520         * config/config.guess (main): Don't use `head -1'; it's no longer
22521         portable. Use `sed 1q' instead.
22522
22523 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
22524
22525         * m4/codeset.m4: Upgrade to gettext-0.11.
22526         * m4/gettext.m4: Upgrade to gettext-0.11.
22527         * m4/glibc21.m4: Upgrade to gettext-0.11.
22528         * m4/iconv.m4: Upgrade to gettext-0.11.
22529         * m4/isc-posix.m4: Upgrade to gettext-0.11.
22530         * m4/lcmessage.m4: Upgrade to gettext-0.11.
22531         * m4/lib-ld.m4: New file, from gettext-0.11.
22532         * m4/lib-link.m4: New file, from gettext-0.11.
22533         * m4/lib-prefix.m4: New file, from gettext-0.11.
22534         * m4/progtest.m4: Upgrade to gettext-0.11.
22535
22536 2002-02-15  Paul Eggert  <eggert@twinsun.com>
22537
22538         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
22539         (jm_PREREQ): Use it.
22540
22541 2002-02-15  Paul Eggert  <eggert@twinsun.com>
22542
22543         * lib/posixver.c, lib/posixver.h: New files.
22544         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
22545
22546 2002-02-02  Paul Eggert  <eggert@twinsun.com>
22547             Bruno Haible  <bruno@clisp.org>
22548
22549         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
22550         (fwrite_success_callback): New declaration.
22551         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
22552         print_unicode_char. Call failure callback instead of error.
22553         (fwrite_success_callback): New function.
22554         (exit_failure_callback): New function.
22555         (fallback_failure_callback): New function.
22556         (print_unicode_char): Call unicode_to_mb.
22557
22558 2002-01-26  Jim Meyering  <meyering@lucent.com>
22559
22560         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
22561         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
22562
22563 2002-01-26  Jim Meyering  <meyering@lucent.com>
22564
22565         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
22566
22567 2002-01-22  Paul Eggert  <eggert@twinsun.com>
22568
22569         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
22570
22571 2002-01-22  Jim Meyering  <meyering@lucent.com>
22572
22573         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
22574         Otherwise, some versions of automake would omit the rule that makes
22575         Makefile from Makefile.in.
22576
22577 2002-01-21  Paul Eggert  <eggert@twinsun.com>
22578
22579         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
22580         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
22581         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
22582         (memcoll): Set errno to zero if there is no error.
22583
22584         * lib/quotearg.c (quotearg_buffer_restyled):
22585         Fix bug with quoting buffers containing NUL when backslashing escapes.
22586         This bug was exposed by the other changes in this patch.
22587         (quotearg_n_options): New arg ARGSIZE.
22588         All callers changed.
22589         (quoting_options_from_style): New function.
22590         (quotearg_n_style): Use it.
22591         (quotearg_n_style_mem): New function.
22592
22593         * lib/quotearg.h (quotearg_n_style_mem): New function.
22594
22595 2002-01-19  Jim Meyering  <meyering@lucent.com>
22596
22597         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
22598         Remove useless quotes: DF_PROG="df".
22599         * m4/strnlen.m4: New file.
22600
22601 2002-01-16  Paul Eggert  <eggert@twinsun.com>
22602
22603         * lib/backupfile.c (ISDIGIT): Comment fix.
22604         * lib/getdate.y (ISDIGIT): Likewise.
22605         * lib/posixtm.c (ISDIGIT, year): Likewise.
22606         * lib/strverscmp.c (ISDIGIT): Likewise.
22607         * lib/userspec.c (ISDIGIT): Likewise.
22608
22609 2002-01-16  Jim Meyering  <meyering@lucent.com>
22610
22611         * lib/getdate.y: Add three semicolons, each just before a closing
22612         brace. Bison (as of version 1.31) no longer papers over that mistake.
22613
22614 2002-01-05  Jim Meyering  <meyering@lucent.com>
22615
22616         * lib/version-etc.c (version_etc_copyright): Update copyright year.
22617
22618 2001-12-19  Paul Eggert  <eggert@twinsun.com>
22619
22620         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
22621         not silently exit merely because the output buffer happens to
22622         have nothing pending.
22623
22624 2001-12-18  Paul Eggert  <eggert@twinsun.com>
22625
22626         See the big note in ../ChangeLog.
22627         * lib/human.c (suffixes): Prefer K to k for 1024.
22628         (generate_suffix_backwards): New function.
22629         (human_readable_inexact): Use it.
22630         * lib/xstrtol.c (__xstrtol): If there is no number but there
22631         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
22632         Accept 'K' as well as 'k'.
22633
22634 2001-12-15  Jim Meyering  <meyering@lucent.com>
22635
22636         * lib/regex.h (__restrict_arr): Update from libc.
22637
22638         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
22639         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
22640         (STREQ): Define.
22641
22642 2001-12-14  Jim Meyering  <meyering@lucent.com>
22643
22644         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
22645         Suggestion from Bruno Haible.
22646
22647 2001-12-10  Jim Meyering  <meyering@lucent.com>
22648
22649         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
22650         xrealloc, Instead, include "xalloc.h".
22651         (initbuffer): Don't cast xmalloc return value to char*.
22652         (readline): Reword comment.
22653         Don't cast xrealloc return value to char*
22654         Return NULL, not 0.
22655
22656 2001-12-09  Jim Meyering  <meyering@lucent.com>
22657
22658         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
22659         about `signed and unsigned type in conditional expression'.
22660         * lib/posixtm.c (posix_time_parse): Likewise.
22661
22662         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
22663
22664         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
22665         to avoid a pedantic warning.
22666
22667         * lib/getstr.c: Don't include assert.h.
22668         (getstr): Remove warning-evoking assertions.
22669         Return -1 if offset parameter is out of bounds.
22670         Change the type of a local from int to size_t.
22671
22672         * lib/strftime.c (my_strftime_localtime_r): Include this function
22673         definition in the `#if ! HAVE_TM_GMTOFF' block.
22674
22675         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
22676         Include xalloc.h instead.
22677
22678 2001-12-02  Jim Meyering  <meyering@lucent.com>
22679
22680         * lib/tempname.c: Don't declare getenv, thus reverting the change of
22681         2001-11-18.  It's no longer necessary, now that stdlib.h is always
22682         included.
22683
22684         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
22685         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
22686
22687 2001-11-30  Akim Demaille  <akim@epita.fr>
22688
22689         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
22690         before being defined.
22691
22692 2001-11-27  Paul Eggert  <eggert@twinsun.com>
22693
22694         * lib/quotearg.h (quotearg_n, quotearg_n_style):
22695         First arg is int, not unsigned.
22696         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
22697         (SIZE_MAX, UINT_MAX): New macros.
22698         (quotearg_n_options): Abort if N is negative.
22699         Avoid overflow check on hosts where size_t is 64 bits and int
22700         is 32 bits, as overflow is impossible there.
22701         Fix off-by-one typo that caused unnecessary reallocation.
22702
22703 2001-11-27  Jim Meyering  <meyering@lucent.com>
22704
22705         * lib/tempname.c: Merge with version from libc.
22706         * lib/regex.c: Likewise.
22707
22708         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
22709         systems for which STDC_HEADERS is 0, it was not included, resulting in
22710         a warning about an integer-to-pointer conversion problem with getenv.
22711         Reported by Volker Borchert.
22712
22713 2001-11-26  Jim Meyering  <meyering@lucent.com>
22714
22715         * lib/gtod.h: Remove file.
22716         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
22717         * lib/gettimeofday.c: Don't include gtod.h.
22718         (GTOD_init): Remove function.
22719         (rpl_gettimeofday): Do its job here instead, rather than aborting.
22720         Suggestion from Volker Borchert.
22721
22722 2001-11-23  Jim Meyering  <meyering@lucent.com>
22723
22724         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
22725         it.
22726         * lib/hash.c (struct hash_table): Define it here instead.
22727
22728 2001-11-22  Jim Meyering  <meyering@lucent.com>
22729
22730         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
22731
22732 2001-11-20  Jim Meyering  <meyering@lucent.com>
22733
22734         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
22735         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
22736
22737 2001-11-19  Jim Meyering  <meyering@lucent.com>
22738
22739         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
22740         directory.  Use "conftestXXXXXX" as the template.
22741         Suggestion from Paul Eggert.
22742
22743         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
22744         immediately, so the test doesn't mistakenly hit the max-open-files
22745         limit.
22746
22747 2001-11-18  Paul Eggert  <eggert@twinsun.com>
22748
22749         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
22750         (TEMPORARIES): New macro.
22751         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
22752         removes an artificial limitation (e.g. HP-UX 10.20, where
22753         TMP_MAX is 17576).
22754
22755 2001-11-18  Jim Meyering  <meyering@lucent.com>
22756
22757         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
22758
22759 2001-11-18  Jim Meyering  <meyering@lucent.com>
22760
22761         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
22762         on SunOS 4.
22763
22764         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
22765         files will be created before anything else.
22766
22767 2001-11-17  Paul Eggert  <eggert@twinsun.com>
22768
22769         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
22770         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
22771
22772 2001-11-17  Jim Meyering  <meyering@lucent.com>
22773
22774         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
22775         Prompted by a report from Bob Proulx.
22776
22777         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
22778         Instead, require UTILS_FUNC_MKSTEMP.
22779
22780 2001-11-17  Jim Meyering  <meyering@lucent.com>
22781
22782         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
22783         Now, that's done as part of AC_FUNC_STRTOD.
22784
22785 2001-11-17  Jim Meyering  <meyering@lucent.com>
22786
22787         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
22788         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
22789         rather than group writable.  Patch by Juan F. Codagnone.
22790
22791         * lib/readtokens.c: Remove explicit declarations of xmalloc and
22792         xrealloc, Instead, include "xalloc.h".
22793
22794         * lib/mountlist.c: Include unlocked-io.h after all system headers.
22795         Remove explicit declarations of xmalloc, xrealloc,
22796         and xstrdup.  Instead, include "xalloc.h".
22797
22798         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
22799         unlocked-io.h.
22800         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
22801         Likewise.
22802         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
22803
22804         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
22805         Reported by Padraig Brady.
22806
22807         * lib/mkstemp.c: #undef mkstemp.
22808         Include config.h.
22809         (rpl_mkstemp): Rename from mkstemp.
22810         Protoize.
22811
22812 2001-11-16  Jim Meyering  <meyering@lucent.com>
22813
22814         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
22815         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
22816         determine the amount of total physical memory, use pstat_getstatic.
22817         HPUX-11 doesn't define _SC_PHYS_PAGES.
22818         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
22819         If sysconf couldn't be used to determine the amount of available
22820         physical memory, use both pstat_getstatic and pstat_getdynamic.
22821         Based on a patch from Bob Proulx.
22822
22823 2001-11-10  Jim Meyering  <meyering@lucent.com>
22824
22825         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
22826         (jm_PREREQ): Use it.
22827
22828 2001-11-09  Jim Meyering  <meyering@lucent.com>
22829
22830         * m4/jm-macros.m4: Require autoconf-2.52f.
22831         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
22832         Use these AC_-prefixed names, not the AM_-prefixed ones.
22833
22834         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
22835
22836 2001-11-05  Jim Meyering  <meyering@lucent.com>
22837
22838         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
22839
22840 2001-11-04  Jim Meyering  <meyering@lucent.com>
22841
22842         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
22843         $DEFS.
22844
22845 2001-11-03  Jim Meyering  <meyering@lucent.com>
22846
22847         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
22848         of AC_DEFUN.
22849
22850         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
22851         know the name of the variable in the macro definition.
22852
22853 2001-11-03  Jim Meyering  <meyering@lucent.com>
22854
22855         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
22856         in argmatch_to_argument call.
22857
22858         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
22859         argument.
22860
22861         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
22862         e.g., a fault due to an attempt to free a NULL pointer.
22863
22864 2001-11-01  Jim Meyering  <meyering@lucent.com>
22865
22866         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
22867         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
22868
22869 2001-11-01  Jim Meyering  <meyering@lucent.com>
22870
22871         * lib/dirfd.c, lib/dirfd.h: New files.
22872         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
22873
22874         * lib/hash.c (hash_print) [TESTING]: Clean up.
22875
22876 2001-10-22  Paul Eggert  <eggert@twinsun.com>
22877
22878         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
22879         to avoid a warning if -Wall.
22880
22881 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
22882
22883         * README: New file
22884         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
22885         (per RMS's instructions, this is now the canonical source)
22886         * lgpl/, gpl/: New directories.
22887
22888 2001-10-21  Paul Eggert  <eggert@twinsun.com>
22889
22890         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
22891
22892 2001-10-21  Jim Meyering  <meyering@lucent.com>
22893
22894         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
22895         this code would end up calling gettext even in packages built
22896         with --disable-nls.
22897         * lib/getopt.c (_): Likewise.
22898         * lib/regex.c (_): Likewise.
22899
22900 2001-10-20  Paul Eggert  <eggert@twinsun.com>
22901
22902         * m4/error.m4 (jm_PREREQ_ERROR):
22903         Do not invoke AC_CHECK_FUNCS with strerror_r, as
22904         AC_FUNC_STRERROR_R does that.
22905         Check for strerror declaration.
22906
22907         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
22908         are supposed to have them these days.
22909         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
22910         Merge changes from latest Autoconf CVS.
22911         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
22912         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
22913         POSIX decided to standardize on the int flavor of strerror_r.
22914
22915 2001-10-20  Paul Eggert  <eggert@twinsun.com>
22916
22917         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
22918         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
22919         Use strerror_r that is only a macro, even if it is not a function.
22920         (strerror): Check for HAVE_DECL_STRERROR before declaring.
22921         (private_strerror): Use prototypes, not old-style function definition.
22922         (print_errno_message): New function.
22923         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
22924         char*-flavored one.
22925         (error_tail, error, error_at_line): Use it.
22926
22927 2001-10-11  Jim Meyering  <meyering@lucent.com>
22928
22929         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
22930         and quote_n (1, ... to avoid clobbering a buffer.
22931
22932 2001-10-05  Jim Meyering  <meyering@lucent.com>
22933
22934         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
22935         hash-pjw.h.
22936         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
22937         * lib/hash-pjw.h: New file.
22938
22939 2001-09-30  Jim Meyering  <meyering@lucent.com>
22940
22941         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
22942         `struct fsstat' has the `f_fstypename' member.
22943         Use that to define FS_TYPE, which is now used to make
22944         the getfsstat link test tighter.
22945
22946 2001-09-30  Jim Meyering  <meyering@lucent.com>
22947
22948         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
22949         Include <sys/ucred.h>, for Apple Darwin.
22950         Include sys/mount.h and sys/fs_types.h only if available.
22951         (FS_TYPE): Define.
22952         (read_filesystem_list): Use FS_TYPE.
22953
22954 2001-09-29  Paul Eggert  <eggert@twinsun.com>
22955
22956         * lib/exclude.c (excluded_filename): 0 -> false, since it's
22957         a boolean context.
22958
22959 2001-09-29  Jim Meyering  <meyering@lucent.com>
22960
22961         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
22962         [one-argument getmntent function]): Include stdio.h before mntent.h.
22963         SunOS 4.1.x needs it for the declaration of `FILE'.
22964         Patch by Volker Borchert.
22965
22966         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
22967         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
22968         sys/fs_types.h, and make the link-test for getfsstat guard #include
22969         directives with appropriate #if HAVE_*_H tests so that we can
22970         detect getfsstat on Apple Darwin1.3.7 systems.
22971         Reported by Nelson Beebe.
22972         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
22973
22974 2001-09-28  Paul Eggert  <eggert@twinsun.com>
22975
22976         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
22977         #defines strtoimax.  Also treat the other strto* functions
22978         like strtoimax.
22979
22980         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
22981         Check for strtoul and strtoumax,
22982         as those declarations are made even in the signed case.
22983         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
22984         Likewise, for strtol and strtoimax.
22985
22986 2001-09-28  Paul Eggert  <eggert@twinsun.com>
22987
22988         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
22989         #defines strtoimax.  Also treat the other strto* functions
22990         like strtoimax.
22991
22992         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
22993         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
22994         (strtoimax, strtoumax): Do not declare if already defined as a macro.
22995
22996 2001-09-26  Jim Meyering  <meyering@lucent.com>
22997
22998         Most macros in unlocked-io.h had the wrong number of arguments.
22999         * lib/gen-uio: New script.
23000         (USE_UNLOCKED_IO): Define to 1 if not already defined.
23001         * lib/unlocked-io.hin: Remove file.
23002         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
23003         rather than trying to embed it here.
23004         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
23005         Reported by Padraig Brady.
23006
23007 2001-09-25  Volker Borchert  <bt@teknon.de>
23008
23009         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
23010         `result'.
23011
23012 2001-09-24  Jim Meyering  <meyering@lucent.com>
23013
23014         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
23015
23016 2001-09-23  Jim Meyering  <meyering@lucent.com>
23017
23018         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
23019         instead of the mere test for existence of mntent.h.  The latter
23020         would get a false-positive on AIX 3.4 systems.
23021         In the outer getmntent if-block, don't die if neither of the getmntent
23022         tests succeeds.  Instead, just fall through and continue with the
23023         remaining tests.
23024
23025 2001-09-23  Jim Meyering  <meyering@lucent.com>
23026
23027         * lib/mountlist.c: Remove useless parentheses in #if directives.
23028         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
23029         the deprecated MOUNTED symbol is no longer defined in mntent.h.
23030
23031 2001-09-22  Jim Meyering  <meyering@lucent.com>
23032
23033         * m4/gettext.m4: New file.  From gettext.
23034         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
23035         * m4/progtest.m4: Likewise
23036         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
23037         * m4/glibc21.m4: Likewise.
23038
23039         * m4/libintl.m4: Remove.  No longer used.
23040
23041 2001-09-22  Jim Meyering  <meyering@lucent.com>
23042
23043         * lib/localcharset.c: Update from latest gettext.
23044         * lib/config.charset: Likewise.
23045
23046 2001-09-20  Jim Meyering  <meyering@lucent.com>
23047
23048         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
23049         strtoimax.
23050         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
23051         strtoumax.
23052
23053 2001-09-20  Jim Meyering  <meyering@lucent.com>
23054
23055         * lib/xstrtol.c (strtoimax): Guard declaration with
23056         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
23057         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
23058         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
23059         (strtoumax): Likewise, for completeness (it wasn't necessary).
23060
23061 2001-09-17  Paul Eggert  <eggert@twinsun.com>
23062
23063         * lib/strtoimax.c (HAVE_LONG_LONG):
23064         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
23065         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
23066         to work around bug in IBM C compiler.
23067
23068 2001-09-17  Jim Meyering  <meyering@lucent.com>
23069
23070         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
23071         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
23072         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
23073         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
23074         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
23075         whenever the right hand side need not be expanded by the shell.
23076
23077 2001-09-16  Paul Eggert  <eggert@twinsun.com>
23078
23079         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
23080         library.  It's not correct, as some older glibcs are buggy.
23081         fnmatch wasn't fixed until glibc 2.2.
23082
23083         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
23084         special shell magic here.
23085
23086 2001-09-16  Jim Meyering  <meyering@lucent.com>
23087
23088         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
23089         * m4/jm-macros.m4: Require it.
23090
23091 2001-09-16  Jim Meyering  <meyering@lucent.com>
23092
23093         * lib/mkdir.c: New file.
23094
23095 2001-09-15  Jim Meyering  <meyering@lucent.com>
23096
23097         * m4/jm-macros.m4: Check for help2man.
23098
23099 2001-09-11  Jim Meyering  <meyering@lucent.com>
23100
23101         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
23102         The body, by Paul Eggert, was moved here from configure.in.
23103         * m4/jm-macros.m4: Require UTILS_HOST_OS.
23104
23105 2001-09-04  Paul Eggert  <eggert@twinsun.com>
23106
23107         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
23108         (jm_PREREQ): Use it.
23109
23110 2001-09-04  Paul Eggert  <eggert@twinsun.com>
23111
23112         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
23113         Use ssize_t, not int, to store result of readlink.
23114         Check for ssize_t overflow as well as size_t overflow,
23115         as POSIX says the result of readlink is implementation-defined
23116         when ssize_t overflows.
23117         Remove unnecessary cast to char*.
23118         Use free+malloc instead of realloc, as the storage doesn't need
23119         to be preserved and it's clearer and can be more efficient that way.
23120         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
23121         * lib/xreadlink.h (xreadlink): Update prototype.
23122
23123 2001-09-04  Paul Eggert  <eggert@twinsun.com>
23124
23125         * lib/xgetcwd.c: Revert some of the previous change; intead,
23126         fix the HAVE_GETCWD_NULL code to behave more like the
23127         !HAVE_GETCWD_NULL code used to.
23128
23129         Include "xalloc.h".
23130         (xgetcwd): Do not return NULL when memory is exhausted; instead,
23131         invoke xalloc_die.
23132
23133 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23134
23135         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
23136         sys/param.h, as pathmax.h includes them.
23137
23138 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23139
23140         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
23141         (jm_PREREQ_XGETCWD): New macro.
23142
23143         * m4/getcwd.m4: New file.
23144
23145 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23146
23147         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
23148         like the HAVE_GETCWD_NULL code.
23149         Include pathmax.h if not HAVE_GETCWD.
23150         Do not include xalloc.h.
23151         (INITIAL_BUFFER_SIZE): New symbol.
23152         Do not use xmalloc / xrealloc, since the caller is responsible for
23153         handling errors.  Preserve errno around `free' during failure.
23154         Do not overrun buffer when using getwd.
23155
23156 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23157
23158         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
23159         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
23160         getcwd (NULL, 0).
23161
23162 2001-09-03  Paul Eggert  <eggert@twinsun.com>
23163
23164         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
23165         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
23166         spotted by Jim Meyering.
23167
23168 2001-09-03  Jim Meyering  <meyering@lucent.com>
23169
23170         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
23171         failure.
23172
23173 2001-09-02  Jim Meyering  <meyering@lucent.com>
23174
23175         * lib/error.c: Update from GNU libc.
23176
23177 2001-09-01  Jim Meyering  <meyering@lucent.com>
23178
23179         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
23180         Used by df.
23181
23182 2001-09-01  Jim Meyering  <meyering@lucent.com>
23183
23184         * lib/xreadlink.c: New file.
23185         * lib/xreadlink.h: New file.
23186         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
23187         xreadlink.h.
23188
23189         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
23190         doesn't conflict with sparc Solaris 7's definition in
23191         /usr/include/sys/int_types.h.
23192
23193         * lib/exclude.c: Use `""', not `<>' to #include non-system header
23194         files.
23195         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
23196         and strncasecmp as r-values.  Unixware didn't have declarations.
23197
23198 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23199
23200         * lib/xstrtol.h: Add copyright notice.
23201         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
23202         LONGINT_INVALID_SUFFIX_CHAR.
23203
23204 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23205
23206         * lib/xstrtol.c (strtoimax): New decl.
23207
23208 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23209
23210         * lib/xgetcwd.c: Don't include pathmax.h.
23211         Include stdlib.h and unistd.h if available.
23212         Include xalloc.h.
23213         (xmalloc, xstrdup, free): Remove decls.
23214         (xgetcwd): Don't assume sizes fit in unsigned.
23215         Check for overflow when computing sizes.
23216         Simplify reallocation code.
23217
23218 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23219
23220         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
23221         a directory's st_size can have an arbitrary value, so the old
23222         usage could waste an arbitrary amount of memory.  All uses
23223         changed.
23224         * lib/savedir.h: Update prototype.
23225
23226 2001-08-31  Paul Eggert  <eggert@twinsun.com>
23227
23228         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
23229
23230         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
23231         old strtoimax.c.
23232
23233         Also, make the following further changes to make this file's
23234         configuration more similar to that of strtol.c:
23235         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
23236         (strtoumax, uintmax_t, strtoull, strtol): Remove.
23237         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
23238         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
23239         changed to signed values.
23240
23241         And make the following changes as well:
23242         Fix copyright notice, as 1999 was missing.
23243         (verify): New macro.
23244         (strtoimax): Check sizes at compile-time, not run-time.
23245         Prefer strtol to strtoll if both work.
23246         (main): Remove; it was not that useful and was a pain to maintain.
23247
23248         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
23249
23250 2001-08-31  Jim Meyering  <meyering@lucent.com>
23251
23252         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
23253         Use an initial, malloc'd, buffer of length 128 rather than
23254         a statically allocated one of length 1024.
23255
23256 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23257
23258         Simplify code, partly by assuming autoconf 2.52 semantics.
23259
23260         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
23261
23262         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
23263         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
23264         All uses removed.
23265         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
23266         Move AC_REQUIRE to next-to-top level, to avoid confusion.
23267         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
23268         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
23269         jm_AC_HEADER_INTTYPES_H.
23270         * m4/jm-macros.m4 (jm_MACROS): Likewise.
23271
23272         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
23273
23274         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
23275         Quote first arg of AC_DEFUN.
23276         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
23277         since they are needed to parse the include file even if we need
23278         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
23279         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
23280         but with opposite signedness.
23281
23282 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23283
23284         Merge 'exclude' changes from tar 1.13.22.
23285         This fixes one or two unlikely storage allocation overflow bugs,
23286         but doesn't change user-visible behavior otherwise.
23287
23288 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23289
23290         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
23291         (jm_PREREQ_EXCLUDE): New macro.
23292
23293 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23294
23295         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
23296         tm to be declared.
23297
23298 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23299
23300         * lib/hash.c: Remove '2001' from copyright notice.
23301
23302 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23303
23304         * lib/full-write.h: New file.
23305         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
23306         * lib/full-write.c: Correct credits, as cccp.c no longer
23307         exists and anyway it was so heavily changed from the old cccp
23308         code as to be unrecognizable.  Include full-write.h.
23309         (full_write) Return size_t, with short writes meaning failure.
23310         All callers changed.  This fixes a bug with large buffers
23311         on 64-bit hosts.
23312         * lib/utime.c: Include full-write.h.
23313
23314 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23315
23316         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
23317         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
23318         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
23319         Include if available.
23320         (<xalloc.h>): Include
23321         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
23322         (verify): New macro.  Use it to verify that EXCLUDE macros do not
23323         collide with FNM macros.
23324         (struct patopts): New struct.
23325         (struct exclude): Use it, as exclude patterns now come with options.
23326         (new_exclude): Support above changes.
23327         (new_exclude, add_exclude_file):
23328         Initial size must now be a power of two to simplify overflow checking.
23329         (free_exclude, fnmatch_no_wildcards): New function.
23330         (excluded_filename): No longer requires options arg, as the options
23331         are determined by add_exclude.  Now returns bool, not int.
23332         (excluded_filename, add_exclude):
23333         Add support for the fancy new exclusion options.
23334         (add_exclude, add_exclude_file): Now takes int options arg.
23335         Check for arithmetic overflow when computing sizes.
23336         (add_exclude_file): xrealloc might modify errno, so don't
23337         realloc until after errno might be used.
23338
23339         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
23340         New macros.
23341         (free_exclude): New decl.
23342         (add_exclude, add_exclude_file): Now takes int options arg.
23343         (excluded_filename): No longer requires options arg, as the options
23344         are determined by add_exclude.  Now returns bool, not int.
23345
23346 2001-08-30  Paul Eggert  <eggert@twinsun.com>
23347
23348         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
23349
23350 2001-08-27  Jim Meyering  <meyering@lucent.com>
23351
23352         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
23353
23354         * lib/version-etc.c (N_): Remove definition.
23355         Revert most of last change.
23356         Instead, simply don't mark the `Copyright...' string for translation.
23357         Based on advice from Paul Eggert.
23358
23359         * lib/strtoxmax.c: Tweak comment.
23360
23361 2001-08-26  Jim Meyering  <meyering@lucent.com>
23362
23363         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
23364
23365         * m4/xstrtoimax.m4: New file.
23366         * m4/xstrtoumax.m4: Add comments explaining why we
23367         AC_REPLACE_FUNCS(strtol).
23368
23369 2001-08-26  Jim Meyering  <meyering@lucent.com>
23370
23371         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
23372         of copyright with `%s' so translators don't get an untranslated
23373         message in 2002.
23374         (COPYRIGHT_YEAR): Define.
23375         (version_etc): Use fprintf rather than fputs.
23376         Suggestion from Ulrich Drepper.
23377
23378         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
23379
23380         * lib/strtoll.c: New file, from GNU libc.
23381         * lib/xstrtoimax.c: New file.
23382
23383         * lib/xstrtol.h: Add xstrtoimax.
23384         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
23385         * lib/strtoimax.c: New file.  Likewise, but first define
23386         STRTOUXMAX_SIGNED.
23387
23388         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
23389         ...
23390         * lib/strtoxmax.c: ... then renamed to this.
23391
23392 2001-08-18  Paul Eggert  <eggert@twinsun.com>
23393
23394         * m4/inttypes.m4: Add AC_PREREQ(2.13).
23395         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
23396         (jm_AC_TYPE_INTMAX_T): New macro.
23397         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
23398
23399         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
23400
23401         * m4/longlong.m4: Renamed from ulonglong.m4.
23402         * m4/inttypes.m4: Renamed from inttypes_h.m4.
23403         * m4/uintmax_t.m4: Removed.
23404
23405 2001-08-13  Paul Eggert  <eggert@twinsun.com>
23406
23407         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
23408         Port to Solaris 8, where 'sed' requires a space after the 'r'
23409         command, and where sh dislikes "$/".  Clean up the spacing a bit.
23410         Redirect output to $tmp just once.
23411
23412 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
23413
23414         * lib/addext.c (<errno.h>): Include.
23415         (errno): Declare if not defined.
23416         (addext): Work correctly when pathconf returns -1 and leaves
23417         errno alone because there is no limit.  Also, work even if
23418         pathconf returns a value greater than SIZE_MAX.
23419
23420 2001-08-12  Jim Meyering  <meyering@lucent.com>
23421
23422         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
23423         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
23424         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
23425         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
23426         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
23427         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
23428         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
23429         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
23430         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
23431         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
23432         utime.m4, utimes.m4, xstrtoumax.m4:
23433         Quote the first argument in each use of AC_DEFUN.
23434
23435 2001-08-12  Jim Meyering  <meyering@lucent.com>
23436
23437         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
23438         Simply `return getcwd (NULL, 0);'.
23439         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
23440         Use 1300 as initial value for length, not PATH_MAX.
23441
23442         * lib/pathmax.h: Clean up cpp syntax.
23443
23444 2001-08-12  Jim Meyering  <meyering@lucent.com>
23445
23446         * lib/gettimeofday.c: New file.
23447         * lib/gtod.h: New file.
23448         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
23449
23450 2001-08-05  Jim Meyering  <meyering@lucent.com>
23451
23452         * m4/jm-macros.m4: Require autoconf-2.52.
23453
23454 2001-08-04  Jim Meyering  <meyering@lucent.com>
23455
23456         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
23457         stmt, to get in sync with glibc.
23458
23459 2001-08-03  Paul Eggert  <eggert@twinsun.com>
23460
23461         The following changes are from gettext 0.10.39 as maintained by
23462         Bruno Haible.
23463
23464         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
23465         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
23466         with inverted sense.  All uses changed.
23467
23468         * lib/mbswidth.c: Don't include <limits.h>.
23469         Include <stdlib.h> and <string.h> unconditionally.
23470         (iswcntrl, mbsinit, ISCNTRL): New macros.
23471         (mbsnwidth): Use K&R style function declarations.
23472         Don't bother checking for MB_LEN_MAX == 1, since the compiler
23473         can optimize it when MB_CUR_MAX == 1.
23474         The width of control characters is zero, not 1.
23475
23476 2001-08-03  Paul Eggert  <eggert@twinsun.com>
23477
23478         The following changes are from gettext 0.10.39 as maintained by
23479         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
23480
23481         * m4/codeset.m4: Upgrade to serial AM1.
23482         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
23483         all uses changed.  Quote first arg of AC_DEFUN.
23484         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
23485
23486         * m4/iconv.m4: Upgrade to serial AM2.
23487         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
23488         Add --with-libconv-prefix.
23489         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
23490         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
23491         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
23492         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
23493         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
23494
23495         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
23496         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
23497         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
23498         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
23499         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
23500         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
23501         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23502         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
23503         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
23504
23505         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
23506         string.h any more.
23507
23508         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
23509         not the default value.
23510
23511         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
23512         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
23513         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
23514         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
23515         Also check for iswcntrl, used for wcwidth fallback.
23516         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
23517         to Autoconf 2.13.
23518
23519 2001-08-03  Jim Meyering  <meyering@lucent.com>
23520
23521         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
23522         as it was in the original.  Reported by Paul Eggert.
23523
23524 2001-07-16  Jim Meyering  <meyering@lucent.com>
23525
23526         * m4/gettimeofday.m4: New file.
23527         Prompted by a report from Bernhard Baehr.
23528
23529 2001-07-15  Jim Meyering  <meyering@lucent.com>
23530
23531         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
23532         stuff. Now it's in ../Makefile.cfg.
23533
23534 2001-07-15  Jim Meyering  <meyering@lucent.com>
23535
23536         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
23537         (BUILT_SOURCES): Add unlocked-io.h.
23538         (io_functions): Define.
23539         (unlocked-io.h): New rule.
23540         (DISTCLEANFILES): Add unlocked-io.h.
23541         (all-local): Depend on unlocked-io.h, to ensure it is created.
23542
23543         * lib/unlocked-io.hin: New file
23544
23545         * lib/regex.c: Update from glibc.
23546
23547 2001-07-05  Jim Meyering  <meyering@lucent.com>
23548
23549         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
23550         recommendation.
23551         (libfetish_a_SOURCES): Put all .h files here instead.
23552         Remove a thus-exposed (better checks in automake) duplicate and
23553         two unnecessary .h files.
23554
23555 2001-07-04  Jim Meyering  <meyering@lucent.com>
23556
23557         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
23558         that generates jm-glibc-io.m4 so that it doesn't trigger any make
23559         distcheck failure.
23560
23561 2001-07-02  Jim Meyering  <meyering@lucent.com>
23562
23563         The following changes were prompted by suggestions from Bruno Haible.
23564
23565         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
23566         is now generated.
23567         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
23568         definition of EXTRA_DIST.
23569         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
23570         ensure that the generated file is created/updated whenever the list
23571         of $(unlocked_functions) is changed.
23572         (jm-glibc-io.m4): New rule.
23573         (unlocked-io.h): New rule -- currently unused.
23574
23575 2001-06-24  Jim Meyering  <meyering@lucent.com>
23576
23577         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
23578         unmatched right bracket, rather than kludging it with an extra,
23579         falsely-matching quote in a comment.  Patch by Akim Demaille.
23580
23581 2001-06-11  Jim Meyering  <meyering@lucent.com>
23582
23583         * lib/regex.c: Update from GNU libc.
23584
23585 2001-05-27  Jim Meyering  <meyering@lucent.com>
23586
23587         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
23588         Check for ut_type in struct utmp.
23589
23590 2001-05-27  Jim Meyering  <meyering@lucent.com>
23591
23592         * lib/readutmp.h (UT_TYPE): Define.
23593
23594 2001-05-24  Jim Meyering  <meyering@lucent.com>
23595
23596         * lib/argmatch.c: Include "quote.h".
23597         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
23598         quote function.  Reported by Göran Uddeborg.
23599
23600 2001-05-22  Jim Meyering  <meyering@lucent.com>
23601
23602         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
23603         now that we use the package-supplied version unconditionally.
23604         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
23605
23606 2001-05-21  Jim Meyering  <meyering@lucent.com>
23607
23608         * m4/regex.m4: Change a couple backticks to single quotes to avoid
23609         shell syntax errors.
23610
23611 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
23612
23613         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
23614
23615 2001-05-20  Paul Eggert  <eggert@twinsun.com>
23616
23617         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
23618         Don't bother to check library strftime, since
23619         we'll be using our own my_strftime function anyway.
23620         Define my_strftime instead of strftime.
23621
23622 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
23623
23624         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
23625         which is not yet declared.
23626
23627 2001-05-15  Jim Meyering  <meyering@lucent.com>
23628
23629         * m4/regex.m4: Use proper quoting so brackets appear in the test
23630         program.
23631         Reported by, and with help from, Bruno Haible.
23632
23633 2001-05-13  Jim Meyering  <meyering@lucent.com>
23634
23635         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
23636         undefined.
23637
23638 2001-05-11  Paul Eggert  <eggert@twinsun.com>
23639
23640         dirname code cleanup.  base_name now behaves more compatibly
23641         with POSIX basename when given file names that have trailing
23642         slashes, and similarly for dir_name.  Add new primitives
23643         base_len and dir_len.  Put the directory-name-related decls
23644         into dirname.h.
23645
23646         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
23647         * lib/backupfile.c (base_name): Likewise.
23648         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
23649         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
23650         * lib/makepath.c (strip_trailing_slashes): Likewise.
23651         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
23652         ISSLASH): Likewise.
23653         * lib/rename.c (strip_trailing_slashes): Likewise.
23654         * lib/same.c (base_name): Likewise.
23655         * lib/stripslash.c (ISSLASH): Likewise.
23656
23657         * lib/addext.c: Include <dirname.h> after size_t is defined.
23658         * lib/backupfile.c: Likewise.
23659
23660         * lib/addext.c (addext): Use base_len to trim redundant
23661         trailing slashes instead of doing it ourselves.
23662         But do not trim the last slash if it is not redundant.
23663
23664         * lib/backupfile.c (find_backup_file_name,
23665         max_backup_version): Use base_len instead of rolling it ourselves.
23666         Handle the case of "" and (on DOS) "C:" correctly.
23667
23668         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
23669         needed. Include <string.h>, <dirname.h>.
23670         (base_name): Allow file names ending in slashes, other than names
23671         that are all slashes.  In this case, return the basename followed
23672         by the slashes.  This is more general, and can be used in places
23673         where the original base_name purposely had an assertion failure.
23674         (base_len): New function.
23675
23676         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
23677         Do not include <assert.h>; no longer needed.
23678         Include xalloc.h.
23679         (memrchr): Remove decl.
23680         (dir_name_r): Remove.
23681         (dir_len): Renamed from dirlen.  All callers changed.
23682         Rewrite in terms of base_name, for simplicity and consistency.
23683         (dir_name): Never return NULL.  All callers changed.
23684         Do not include <stdlib.h> in test program; no longer needed.
23685         return 0; is fine for test program.
23686
23687         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
23688         New macros.
23689         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
23690
23691         * lib/path-concat.c (path_concat): Use base_len to compute
23692         base length, not strlen; this means we cannot rely on memcpy
23693         to null-terminate.
23694
23695         * lib/same.c (STREQ): Remove.
23696         (same_name): Handle the case where the basename ends in trailing '/'.
23697
23698         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
23699         a slash was stripped.  Do not strip the last slash after a
23700         file system prefix.
23701
23702 2001-05-11  Paul Eggert  <eggert@twinsun.com>
23703
23704         * lib/Makefile.am (libfetish_a_SOURCES):
23705         Add strftime.c, since we now compile it on all hosts.
23706
23707         * lib/strftime.c (my_strftime):
23708         Define to nstrftime if emacs, but only if my_strftime is not defined.
23709         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
23710         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
23711         Add one more extra argument: a nanoseconds value.
23712         All uses changed.
23713         (ns): New macro.
23714         (my_strftime function): Add %N format.
23715         (emacs_strftimeu): Renamed from emacs_strftime,
23716         with extra ut argument.
23717
23718 2001-05-09  Paul Eggert  <eggert@twinsun.com>
23719
23720         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
23721
23722 2001-04-21  Jim Meyering  <meyering@lucent.com>
23723
23724         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
23725         doesn't interfere.
23726
23727 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
23728
23729         * m4/ftruncate.m4: Check for chsize.
23730         Link with ftruncate.o unconditionally if ftruncate is missing.
23731         This was required when cross-compiling to i586-mingw32msvc.
23732
23733 2001-04-08  Jim Meyering  <meyering@lucent.com>
23734
23735         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
23736         recomputed; that's necessary when the offset spans a DST transition.
23737         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
23738
23739 2001-04-02  Jim Meyering  <meyering@lucent.com>
23740
23741         * lib/regex.h, regex.c: Update from GNU libc.
23742
23743 2001-03-24  Jim Meyering  <meyering@lucent.com>
23744
23745         * m4/jm-macros.m4: Require autoconf-2.49d.
23746
23747 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
23748
23749         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
23750
23751 2001-03-19  Paul Eggert  <eggert@twinsun.com>
23752
23753         * lib/version-etc.c (version_etc_copyright): Update to 2001.
23754
23755 2001-03-17  Jim Meyering  <meyering@lucent.com>
23756
23757         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
23758         now that the version in autoconf is equivalent.
23759         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
23760
23761         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
23762         Suggestion from Akim Demaille.
23763
23764         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
23765         (jm_PREREQ_TEMPNAME): New function.
23766
23767 2001-03-16  Paul Eggert  <eggert@twinsun.com>
23768
23769         * lib/tempname.c (uint64_t): Define to uintmax_t if
23770         not defined, and if UINT64_MAX is not defined.
23771         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
23772         Reported by John David Anglin.
23773
23774 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
23775
23776         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
23777         resolve alias if codeset is empty.
23778         * lib/config.charset (BeOS): Use wildcard syntax.
23779
23780 2001-03-13  Jim Meyering  <meyering@lucent.com>
23781
23782         * lib/path-concat.c (path_concat)
23783         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
23784         concatenating e.g., `C:' and `foo'.
23785         From Bruno Haible.
23786
23787 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
23788
23789         * lib/localcharset.c (locale_charset): Don't use
23790         setlocale(LC_CTYPE,NULL). Don't return NULL.
23791         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
23792
23793 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
23794
23795         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
23796         support for DOS/DJGPP.
23797
23798 2001-03-01  Paul Eggert  <eggert@twinsun.com>
23799
23800         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
23801         lacks mkstemp.  Compile our own tempname.c if we compile our own
23802         mkstemp.c, as mkstemp relies on tempname.
23803
23804 2001-03-01  Jim Meyering  <meyering@lucent.com>
23805
23806         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
23807         AH_VERBATIM really does output its argument verbatim.
23808
23809 2001-02-28  Paul Eggert  <eggert@twinsun.com>
23810
23811         * lib/Makefile.am (libfetish_a_SOURCES):
23812         Add dup-safer.c, fopen-safer.c.
23813         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
23814
23815         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
23816         * lib/unistd-safer.h: New files.
23817
23818 2001-02-25  Paul Eggert  <eggert@twinsun.com>
23819
23820         The mkstemp replacement is taken from glibc 2.2.2, with some
23821         portability fixes for use outside glibc, as follows:
23822
23823         * lib/tempname.c (struct_stat64): New macro.
23824         (direxists, __gen_tempname): Use it.
23825         This avoids a portability problem with Solaris 8.
23826
23827         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
23828         (<stddef.h>, <stdint.h>, <string.h>):
23829         Include only if STDC_HEADERS || _LIBC.
23830         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
23831         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
23832         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
23833         (__set_errno): Define this macro if <errno.h> doesn't.
23834         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
23835         Define these macros if <stdio.h> doesn't.
23836         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
23837         Define these macros if <sys/stat.h>
23838         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
23839         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
23840         __xstat64): Define if not _LIBC.
23841         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
23842         (__gen_tempname): Invoke gettimeofday only if
23843         HAVE_GETTIMEOFDAY || _LIBC;
23844         otherwise, fall back on plain "time".
23845         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
23846
23847         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
23848
23849         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
23850
23851 2001-02-18  Paul Eggert  <eggert@twinsun.com>
23852
23853         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
23854
23855 2001-02-17  Paul Eggert  <eggert@twinsun.com>
23856
23857         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
23858         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
23859         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
23860         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
23861
23862 2001-02-17  Paul Eggert  <eggert@twinsun.com>
23863
23864         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
23865         Remove workaround macros for hosts that have mbrtowc but not
23866         mbstate_t, as we now insist on proper declarations for both
23867         before using mbrtowc.
23868
23869 2001-02-17  Jim Meyering  <meyering@lucent.com>
23870
23871         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
23872         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
23873         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
23874         UnixWare 7.1.1.
23875
23876         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
23877         rather than AC_CACHE_VAL.
23878
23879 2001-02-17  Jim Meyering  <meyering@lucent.com>
23880
23881         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
23882         around included file name.
23883
23884         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
23885
23886         * lib/strftime.c: Update from GNU libc (the only changes were to
23887         comments).
23888
23889 2001-02-17  Jim Meyering  <meyering@lucent.com>
23890
23891         * lib/regex.c: Update from libc.
23892
23893 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
23894
23895         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
23896         clash.
23897
23898 2001-02-16  Paul Eggert  <eggert@twinsun.com>
23899
23900         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
23901         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
23902         Reported by Mark Hounschell via Paul Eggert.
23903
23904 2001-02-07  Jim Meyering  <meyering@lucent.com>
23905
23906         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
23907
23908 2001-02-05  Jim Meyering  <meyering@lucent.com>
23909
23910         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
23911         it includes the patch required for `large file' support with at least
23912         HP-UX's 10.20 /bin/cc.
23913
23914 2001-02-03  Jim Meyering  <meyering@lucent.com>
23915
23916         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
23917         AS_IF, now that it works once again (mysteriously).
23918         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
23919
23920 2001-01-30  Jim Meyering  <meyering@lucent.com>
23921
23922         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
23923         * m4/chown.m4: Rename conftestchown to conftest.chown.
23924         * m4/rename.m4: s/conftestdir/conftest.d1/ and
23925         s/conftestdir2/conftest.d2/.
23926         * m4/utimes.m4: s/conftestdata/conftest.data/
23927         Inspired by Pavel Roskin's change in autoconf.
23928
23929 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
23930
23931         * lib/config.charset: Update for FreeBSD 4.2.
23932
23933 2001-01-27  Jim Meyering  <meyering@lucent.com>
23934
23935         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
23936         a use of AS_IF.
23937         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
23938
23939 2001-01-26  Jim Meyering  <meyering@lucent.com>
23940
23941         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
23942         quotearg.c includes it.
23943
23944 2001-01-26  Jim Meyering  <meyering@lucent.com>
23945
23946         * lib/quotearg.c: Include stddef.h.
23947         * lib/quote.c: Include stddef.h.
23948         Reported by Axel Kittenberger.
23949
23950         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
23951         line in double quotes so that it evokes a better diagnostic.
23952         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
23953         Reported by Axel Kittenberger.
23954
23955 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
23956
23957         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
23958         as if it was a `charset'.
23959
23960 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
23961
23962         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
23963         has const.
23964
23965 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
23966
23967         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
23968         to avoid a warning.  Add back 'const' to inptr.
23969
23970 2001-01-20  Jim Meyering  <meyering@lucent.com>
23971
23972         Be sure that headers are checked before used in code compiled
23973         for the type checks.
23974         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
23975         In place of that, invoke jm_CHECK_ALL_TYPES.
23976         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
23977         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
23978         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
23979         The check for ssize_t was mistakenly run before the test for unistd.h.
23980
23981         The configure-time check for stdbool.h was missing.
23982         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
23983         (jm_PREREQ_HASH): New function.
23984
23985 2001-01-17  Jim Meyering  <meyering@lucent.com>
23986
23987         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
23988         for autoconf-2.49c.
23989         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
23990
23991 2001-01-16  Jim Meyering  <meyering@lucent.com>
23992
23993         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
23994         From Bruno Haible.
23995
23996 2001-01-14  Jim Meyering  <meyering@lucent.com>
23997
23998         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
23999         foo and bar.  Create conftestdir/ in the script, not in the C code.
24000         Remove directories in the script, not in the C code.
24001         Remove conftestdir{,2} before trying to create the directory.
24002         Make the entire configure script fail if the mkdir fails.
24003
24004 2001-01-14  Jim Meyering  <meyering@lucent.com>
24005
24006         * lib/rename.c: New file.  From Volker Borchert.
24007         Include stdlib.h, string.h or strings.h, and xalloc.h.
24008         Use strip_trailing_slashes rather than open-coding it.
24009
24010 2001-01-03  Paul Eggert  <eggert@twinsun.com>
24011
24012         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
24013
24014 2001-01-03  Jim Meyering  <meyering@lucent.com>
24015
24016         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
24017         of local `inptr' to avoid warning with some system declarations of
24018         iconv.
24019
24020 2001-01-02  Volker Borchert  <bt@teknon.de>
24021
24022         * m4/rename.m4: New file.
24023         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
24024
24025 2001-01-01  Jim Meyering  <meyering@lucent.com>
24026
24027         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
24028         even on systems with utmpx.h.  It's necessary for the declaration of
24029         utmp's ut_user member.  Reported by Andreas Jaeger.
24030
24031         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
24032         available. They are required for the declarations of getgrgid and
24033         getpwuid resp.
24034         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
24035         Reported by Andreas Jaeger.
24036
24037 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
24038
24039         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
24040         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
24041         so `make install' also works in VPATH builds.
24042
24043 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
24044
24045         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
24046         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
24047         can be used in subdirectories.
24048
24049 2000-12-29  Paul Eggert  <eggert@twinsun.com>
24050
24051         * lib/modechange.c: Do not assume that mode_t uses the
24052         traditional octal encoding.  E.g. "chmod 1 FOO" should set
24053         the other-execute bit of FOO even if S_IXOTH != 1.
24054
24055         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
24056         WOTH, XOTH, ALLM): New macros.
24057         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
24058          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
24059         Use them.
24060         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
24061         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
24062         (mode_compile):
24063         No need to use uintmax_t; unsigned long is long enough.
24064         Don't bother to get suffix since we don't use it.
24065
24066 2000-12-26  Jim Meyering  <meyering@lucent.com>
24067
24068         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
24069         better with autoheader.
24070
24071 2000-12-24  Jim Meyering  <meyering@lucent.com>
24072
24073         * lib/hash.c (is_prime): Return explicit boolean values.
24074         (hash_get_first): Return NULL to appease Irix5.6's 89.
24075         Reported by Nelson Beebe.
24076
24077 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
24078
24079         * lib/localcharset.c (locale_charset): Add support for Win32.
24080
24081 2000-12-18  Paul Eggert  <eggert@twinsun.com>
24082
24083         * lib/physmem.h, lib/physmem.c: New files.
24084
24085         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
24086         (noinst_HEADERS): Add physmem.h.
24087
24088         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
24089         't' for compatibility with Solaris 8 sort.
24090
24091 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
24092
24093         * lib/config.charset: Add support for BeOS.
24094
24095 2000-12-17  Jim Meyering  <meyering@lucent.com>
24096
24097         * m4/dos.m4 (jm_AC_DOS): New file and macro.
24098         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
24099
24100 2000-12-16  Jim Meyering  <meyering@lucent.com>
24101
24102         This bug had a serious impact on chown: `chown N:M FILE' (for integer
24103         N and M) would have treated it like `chown N:N FILE'.
24104
24105         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
24106
24107 2000-12-16  Jim Meyering  <meyering@lucent.com>
24108
24109         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
24110         SHELLS_FILE to a file name that's useful on djgpp systems.
24111         Include stdlib.h.
24112         (ADDITIONAL_DEFAULT_SHELLS): Define.
24113         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
24114         Based mostly on a patch from Prashant TR.
24115
24116 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
24117
24118         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
24119         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
24120         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
24121
24122 2000-12-08  Andreas Schwab  <schwab@suse.de>
24123
24124         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
24125         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
24126
24127 2000-12-07  Jim Meyering  <meyering@lucent.com>
24128
24129         * lib/stripslash.c (ISSLASH): Define.
24130         (strip_trailing_slashes): Use ISSLASH rather than comparing against
24131         `/'.
24132         From Prashant TR.
24133
24134         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
24135         (dir_name_r): Declare this function as static.
24136         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
24137         manifest itself on a name containing a mix of slashes and
24138         backslashes.
24139         Make this function work with names starting with a DOS-style
24140         drive letter and colon prefix.
24141         (dir_name): Append `.' if necessary.
24142         Based mostly on patches from Prashant TR and Eli Zaretskii.
24143
24144         * lib/dirname.h (dir_name_r): Remove prototype.
24145
24146 2000-12-06  Paul Eggert  <eggert@twinsun.com>
24147
24148         * m4/off_t-format.m4: Remove this file.
24149         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
24150
24151 2000-12-06  Jim Meyering  <meyering@lucent.com>
24152
24153         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
24154         replacement strtoull, we may well need the replacement strtoul, too.
24155         Check for declarations of strtoul and strtoull.
24156         Check for strtol.  Mainly as a cue to cause automake to include
24157         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
24158         Check for limits.h -- strtol.c needs it.
24159
24160 2000-12-05  Jim Meyering  <meyering@lucent.com>
24161
24162         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
24163
24164 2000-12-04  Jim Meyering  <meyering@lucent.com>
24165
24166         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
24167         Also include memory.h, stdlib.h, unistd.h if appropriate.
24168         Reported by Andreas Jaeger (conflicting declaration of malloc).
24169
24170 2000-12-02  Jim Meyering  <meyering@lucent.com>
24171
24172         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
24173         * m4/jm-macros.m4 (jm_MACROS): require it.
24174
24175 2000-12-02  Jim Meyering  <meyering@lucent.com>
24176
24177         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
24178
24179 2000-12-01  Paul Eggert  <eggert@twinsun.com>
24180
24181         * lib/memrchr.c: Include <config.h> before any system include file.
24182
24183 2000-11-30  Jim Meyering  <meyering@lucent.com>
24184
24185         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
24186
24187 2000-11-30  Jim Meyering  <meyering@lucent.com>
24188
24189         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
24190
24191 2000-11-29  Paul Eggert  <eggert@twinsun.com>
24192
24193         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
24194
24195 2000-11-26  Jim Meyering  <meyering@lucent.com>
24196
24197         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
24198
24199 2000-11-22  Paul Eggert  <eggert@twinsun.com>
24200
24201         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
24202         size of (size_t) -1; it's not portable.
24203
24204 2000-11-17  Jim Meyering  <meyering@lucent.com>
24205
24206         * lib/strstr.c: Update from GNU libc.
24207
24208 2000-11-17  Akim Demaille  <akim@epita.fr>
24209
24210         * lib/obstack.h: Formatting changes.
24211         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
24212         prevent type checking.
24213         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
24214         cast the value to (void *): assigning a `foo *' to a `void *'
24215         variable is valid.
24216         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
24217
24218 2000-11-16  Jim Meyering  <meyering@lucent.com>
24219
24220         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
24221
24222 2000-11-11  Jim Meyering  <meyering@lucent.com>
24223
24224         * lib/error.c: Add a couple #includes, merging from GNU libc version.
24225
24226 2000-11-10  Jim Meyering  <meyering@lucent.com>
24227
24228         * lib/obstack.h: Update from GNU libc.
24229         * lib/obstack.c: Likewise.
24230
24231 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
24232
24233         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
24234
24235 2000-11-06  Paul Eggert  <eggert@twinsun.com>
24236
24237         * lib/getusershell.c (setusershell): Use rewind rather than
24238         fseek/fseeko, to avoid configuration hassles with fseeko.
24239         Don't bother opening SHELLS_FILE if shellstream is NULL;
24240         it's not necessary.
24241
24242 2000-11-05  Jim Meyering  <meyering@lucent.com>
24243
24244         * lib/makepath.h (make_dir): Declare.
24245         * lib/makepath.c (make_dir): Remove `static' attribute.
24246         Tweak a comment.
24247
24248 2000-11-04  Jim Meyering  <meyering@lucent.com>
24249
24250         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
24251
24252 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
24253
24254         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
24255         last one in a bucket, advance to the next bucket.
24256
24257 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
24258
24259         * lib/fnmatch.c: Do not comment out all the code if we are using
24260         the GNU C library, because in some cases we are replacing buggy
24261         code in the GNU C library itself.
24262
24263 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
24264
24265         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
24266         (regex_compile): Catch bogus \(\1\).
24267
24268 2000-10-30  Paul Eggert  <eggert@twinsun.com>
24269
24270         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
24271         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
24272         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
24273
24274 2000-10-30  Paul Eggert  <eggert@twinsun.com>
24275
24276         * lib/error.h, getline.h, modechange.h:
24277         Remove "2000" from Copyright line, as the file hasn't been
24278         changed this year other than in the copyright notice.
24279
24280         * lib/xalloc.h: Add "2000" to Copyright line, as this file
24281         was changed this year.
24282
24283 2000-10-29  Jim Meyering  <meyering@lucent.com>
24284
24285         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
24286         renaming.
24287         * m4/ls-mntd-fs.m4: Likewise
24288
24289 2000-10-29  Jim Meyering  <meyering@lucent.com>
24290
24291         * lib/xstat.in: Fix grammar in comment.
24292
24293 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
24294
24295         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
24296         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
24297         doesn't define __restrict_arr.
24298
24299 2000-10-28  Jim Meyering  <meyering@lucent.com>
24300
24301         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
24302         (jm_PREREQ_MEMCHR): New function.
24303
24304 2000-10-28  Jim Meyering  <meyering@lucent.com>
24305
24306         * lib/memchr.c: Update from libc.
24307         Adjust for portability:
24308         [HAVE_STDLIB_H]: Include stdlib.h.
24309         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
24310         Undef __memchr, too.
24311         [!weak_alias]: Define __memchr to memchr.
24312
24313         * lib/regex.c: Update from libc.
24314         * lib/regex.h: Likewise.
24315         * lib/getopt1.c: Likewise.
24316         * lib/memcmp.c: Likewise.
24317
24318         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
24319         Avoid using fseek, when possible -- it's broken by design.
24320         Patch by Ulrich Drepper.
24321
24322 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
24323
24324         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
24325         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
24326         Giving in to popular pressure to shut up the compiler with casts.
24327
24328 2000-10-26  Jim Meyering  <meyering@lucent.com>
24329
24330         * lib/strftime.c: Update from libc.
24331
24332 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
24333
24334         * regex.c: More `unsigned char' -> `re_char' changes.
24335         Also change several `int' into `re_wchar_t'.
24336         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
24337         (PUSH_FAILURE_POINTER): Don't cast any more.
24338         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
24339         We want GCC to complain, since this piece of code makes
24340         re_match non-reentrant, which *should* be fixed.
24341         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
24342         (EXTEND_BUFFER): Use RETALLOC.
24343         (SET_LIST_BIT): Don't cast.
24344         (re_wchar_t): New type.
24345         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
24346         that those two functions will always properly return.
24347         (IMMEDIATE_QUIT_CHECK): Cast to void.
24348         (analyse_first): Use recursion rather than an explicit stack.
24349         (re_compile_fastmap): Can't fail anymore.
24350         (re_search_2): Don't check re_compile_fastmap for failure.
24351         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
24352         Now also sets the new value (passed in a new argument).
24353         (re_match_2_internal): Use it.
24354         Also, use a new var `reg' of type size_t when looping through regs
24355         rather than reuse the inappropriate `mcnt'.
24356
24357 2000-10-25  Jim Meyering  <meyering@lucent.com>
24358
24359         * lib/obstack.c: Update from libc.
24360
24361 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
24362
24363         * regex.c (regex_compile): Change the way of handling a range from
24364         a char less than 256 to a char not less than 256.
24365
24366 2000-10-24  Andrew Innes  <andrewi@gnu.org>
24367
24368         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
24369         NT-Emacs only.
24370         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
24371         so that re_search functions only quit when callers expect them to.
24372
24373 2000-10-23  Jim Meyering  <meyering@lucent.com>
24374
24375         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
24376         wrong.  That set_locale call must not have any side effects.
24377         From Paul Eggert.
24378
24379 2000-10-22  Jim Meyering  <meyering@lucent.com>
24380
24381         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
24382         [CYCLIC]: Remove now-unused definition.
24383
24384         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
24385         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
24386         Suggestion from Ulrich Drepper.
24387
24388 2000-10-21  Jim Meyering  <meyering@lucent.com>
24389
24390         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
24391         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
24392         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
24393
24394 2000-10-21  Jim Meyering  <meyering@lucent.com>
24395
24396         * lib/dirname.c (memrchr): Declare if necessary.
24397         (dir_name): Remove the restriction that there be no
24398         trailing slashes.  Now, this code skips past them, effectively
24399         ignoring them.
24400         [TEST_DIRNAME] (main): New unit tests.
24401
24402         * lib/memrchr.c: New file from GNU libc.
24403         Undef __memrchr, too.
24404         [!weak_alias]: Define __memrchr to memrchr.
24405         Guard weak_alias use with `#ifdef weak_alias'.
24406
24407 2000-10-21  Jim Meyering  <meyering@lucent.com>
24408
24409         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
24410         (dir_name): Use dir_name_r.
24411         * lib/dirname.h (dir_name_r): Declare it.
24412
24413 2000-10-17  Jim Meyering  <meyering@lucent.com>
24414
24415         * lib/quote.h (PARAMS): Define and use.
24416         Reported by Akim Demaille.
24417
24418         * lib/getopt.c: Update from libc.
24419
24420 2000-10-16  Jim Meyering  <meyering@lucent.com>
24421
24422         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
24423         setlocale.
24424         From Jan Fedak.
24425
24426 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
24427
24428         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
24429
24430 2000-09-25  Jim Meyering  <meyering@lucent.com>
24431
24432         * lib/md5.h (rol): Define (from GnuPG).
24433
24434         * lib/sha.c: Give credit (GnuPG) where due.
24435         (M): Use rol rather than open-coding it.
24436         Add a FIXME comment.
24437
24438 2000-09-21  Jim Meyering  <meyering@lucent.com>
24439
24440         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
24441         Reported by Michael Stone.
24442
24443 2000-09-20  Jim Meyering  <meyering@lucent.com>
24444
24445         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
24446         (noinst_HEADERS): Add sha.h.
24447         Based on code from Scott G. Miller and from GnuPG.
24448
24449 2000-09-18  Jim Meyering  <meyering@lucent.com>
24450
24451         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
24452         LIBS. Otherwise, everyone ends up linking with -lelf for some
24453         configurations.
24454         Reported by Mike Stone.
24455
24456 2000-09-15  Jim Meyering  <meyering@lucent.com>
24457
24458         * lib/regex.c: Update from libc.
24459
24460 2000-09-10  Jim Meyering  <meyering@lucent.com>
24461
24462         * lib/getopt.c (_getopt_internal): Update from glibc.
24463
24464 2000-09-09  Jim Meyering  <meyering@lucent.com>
24465
24466         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
24467         think it should be used as a general replacement for isascii.
24468         * lib/fnmatch.c: Likewise.
24469         * lib/mbswidth.c: Likewise
24470         * lib/regex.c: Likewise.
24471
24472         Don't use atoi.
24473         * lib/userspec.c: Include sys/param.h and limits.h.
24474         Include xstrtol.h.
24475         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
24476         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
24477         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
24478         UID, GID.  Check range.
24479
24480 2000-09-06  Jim Meyering  <meyering@lucent.com>
24481
24482         * lib/getopt.c (_getopt_internal): Update from glibc.
24483
24484 2000-08-30  Jim Meyering  <meyering@lucent.com>
24485
24486         * lib/strftime.c: Merge in changes from GNU libc.
24487
24488 2000-08-26  Jim Meyering  <meyering@lucent.com>
24489
24490         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
24491         * m4/fpending.m4: New file.
24492
24493 2000-08-26  Jim Meyering  <meyering@lucent.com>
24494
24495         * lib/closeout.c: Include "__fpending.h".
24496         (close_stdout_status): Return right away if there's nothing to flush.
24497
24498         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
24499         * lib/__fpending.c: New file.
24500         * lib/__fpending.h: New file.
24501
24502 2000-08-20  Jim Meyering  <meyering@lucent.com>
24503
24504         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
24505         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
24506         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
24507
24508 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
24509
24510         Improve fileutils installation on systems where running
24511         programs (like install) can't be unlinked.
24512         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
24513         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
24514
24515 2000-08-07  Paul Eggert  <eggert@twinsun.com>
24516
24517         Standardize on "memory exhausted" instead of "Memory exhausted"
24518         or "virtual memory exhausted".
24519         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
24520         "virtual memory exhausted".
24521         * lib/same.c (same_name): Invoke xalloc_die instead of printing
24522         our own message.
24523         * lib/userspec.c (parse_user_spec): Likewise.
24524         * lib/bumpalloc.h: comment fix
24525         * lib/same.c, userspec.c: Include xalloc.h.
24526
24527         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
24528         not char *const and pointing to a constant array.
24529         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
24530         (xrealloc): Comment fix.
24531
24532         * lib/userspec.c (parse_user_spec):
24533         Don't translate a message until just before returning,
24534         to avoid unnecessary translation.
24535
24536 2000-08-07  Jim Meyering  <meyering@lucent.com>
24537
24538         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
24539         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
24540         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
24541         getgroups.c, gethostname.c, getopt.h, group-member.c,
24542         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
24543         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
24544         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
24545         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
24546         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
24547         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
24548         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
24549         yesno.c: Back out Copyright date changes for each file with no change
24550         this year.  This eases coordination with other programs using the same
24551         source code modules.  From Paul Eggert.
24552
24553 2000-08-06  Paul Eggert  <eggert@twinsun.com>
24554
24555         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
24556         not char, for compatibility with glibc 2.1.3 strftime.c.
24557
24558 2000-08-03  Greg McGary  <greg@mcgary.org>
24559
24560         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
24561         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
24562         (EXTEND_BUFFER): Use them.
24563
24564 2000-08-01  Jim Meyering  <meyering@lucent.com>
24565
24566         * lib/dirname.c (ISSLASH): Define.
24567         (BACKSLASH_IS_PATH_SEPARATOR): Define.
24568         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
24569         both `\' and `/' may be use as path separators.
24570         Based on a patch from Prashant TR.
24571
24572 2000-07-31  Paul Eggert  <eggert@twinsun.com>
24573
24574         * lib/quotearg.c (quotearg_n_options): Don't make the initial
24575         slot vector a constant, since it might get modified.
24576
24577 2000-07-31  Jim Meyering  <meyering@lucent.com>
24578
24579         * lib/xmalloc.c: Use `virtual memory exhausted', not
24580         `Memory exhausted'.
24581         * lib/obstack.c (print_and_abort): Likewise.
24582
24583 2000-07-30  Paul Eggert  <eggert@twinsun.com>
24584
24585         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
24586         buffer, so that the caller can always quote one small
24587         component of a "memory exhausted" message in slot 0.
24588         From a suggestion by Jim Meyering.
24589
24590 2000-07-30  Jim Meyering  <meyering@lucent.com>
24591
24592         * lib/makepath.c (make_path): Quote the other instance, too.
24593
24594         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
24595         (STATIC_BUF_SIZE): Define.
24596         (quotearg_n_options): Use only statically allocated storage when
24597         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
24598         than STATIC_BUF_SIZE.
24599
24600 2000-07-29  Jim Meyering  <meyering@lucent.com>
24601
24602         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
24603         * lib/dirname.c (dir_name): Likewise.
24604
24605         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
24606         `/'.
24607
24608         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
24609         (dir_name): Assert that there are no trailing slashes.
24610
24611 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
24612
24613         * lib/mbswidth.h (mbswidth): Add a flags argument.
24614         (mbswidth): New declaration.
24615         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
24616         * lib/mbswidth.c (mbswidth): Add a flags argument.
24617         (mbsnwidth): New function.
24618
24619 2000-07-24  Jim Meyering  <meyering@lucent.com>
24620
24621         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
24622
24623 2000-07-23  Paul Eggert  <eggert@twinsun.com>
24624
24625         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
24626
24627 2000-07-23  Paul Eggert  <eggert@twinsun.com>
24628
24629         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
24630         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
24631         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
24632         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
24633         invoke multibyte primitives.
24634
24635 2000-07-23  Paul Eggert  <eggert@twinsun.com>
24636
24637         * lib/quotearg.c:
24638         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
24639         so that mbstate_t is always defined.
24640
24641         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
24642         be 1 in at least one GCC installation, and this configuration
24643         error is likely to be common.  Ignoring MB_LEN_MAX hurts
24644         performance on hosts that have mbrtowc but have only unibyte
24645         locales, but I assume these hosts are rare.
24646
24647 2000-07-23  Paul Eggert  <eggert@twinsun.com>
24648
24649         * lib/mbswidth.c (_XOPEN_SOURCE):
24650         Don't define; this causes problems on Solaris 7.
24651         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
24652
24653 2000-07-23  Jim Meyering  <meyering@lucent.com>
24654
24655         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
24656         too: getgrgid, getpwuid, getuid.
24657
24658 2000-07-23  Jim Meyering  <meyering@lucent.com>
24659
24660         * lib/basename.c (base_name): Add an assertion.
24661
24662 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
24663
24664         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
24665         shadow its mbsinit function.
24666
24667 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
24668
24669         * lib/mbswidth.h: New file.
24670         * lib/mbswidth.c: New file.
24671         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
24672         (noinst_HEADERS): Add mbswidth.h.
24673
24674 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
24675
24676         * lib/config.charset: Add support for FreeBSD. Improve support for
24677         HP-UX and IRIX 6.
24678
24679 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
24680
24681         * m4/mbswidth.m4: New file.
24682         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
24683
24684 2000-07-15  Jim Meyering  <meyering@lucent.com>
24685
24686         * lib/makepath.c: Include quote.h.
24687         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
24688         corresponding argument in a `quote (...)' call.
24689         Give better diagnostics.
24690
24691         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
24692         (noinst_HEADERS): Add quote.h.
24693
24694         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
24695         from tar's src/misc.c.
24696         * lib/quote.h: New file.  Prototypes for same.
24697
24698 2000-07-14  Paul Eggert  <eggert@twinsun.com>
24699
24700         From a suggestion by Bruno Haible.
24701         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
24702         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
24703         to decide whether to define the BeOS workaround macro;
24704         this adjusts to the change to AC_MBSTATE_T.
24705
24706 2000-07-14  Jim Meyering  <meyering@lucent.com>
24707
24708         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
24709         jm_AC_TYPE_UINTMAX_T.
24710
24711 2000-07-13  Paul Eggert  <eggert@twinsun.com>
24712
24713         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
24714
24715         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
24716         quotearg_buffer_restyled): Add support for
24717         clocale_quoting_style.  Undo previous change to
24718         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
24719         and "{RIGHT QUOTATION MARK}" msgids.
24720
24721 2000-07-10  Paul Eggert  <eggert@twinsun.com>
24722
24723         From a suggestion by Bruno Haible.
24724         * m4/mbstate_t.m4 (AC_MBSTATE_T):
24725         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
24726         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
24727         and mbstate_t, to a single-part test that simply defines mbstate_t.
24728         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
24729         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
24730
24731 2000-07-10  Jim Meyering  <meyering@lucent.com>
24732
24733         * m4/strerror_r.m4: Mirror the correction made in autoconf.
24734
24735         * m4/gnu-source.m4: Output to confdefs.h directly.
24736         Suggestion from Akim Demaille.
24737
24738 2000-07-09  Paul Eggert  <eggert@twinsun.com>
24739
24740         The old behavior of quoting `like this' doesn't look good with
24741         newer, ISO-style fonts.  See:
24742         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
24743
24744         Instead, quote "like this" by default.  Let the translator
24745         tailor the locale-specific quoting behavior by providing
24746         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
24747
24748         * lib/quotearg.c (N_): New macro.
24749         (gettext_default): New function.
24750         (quotearg_buffer_restyled): Use
24751         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
24752         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
24753
24754 2000-07-09  Jim Meyering  <meyering@lucent.com>
24755
24756         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
24757         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
24758
24759         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
24760         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
24761
24762 2000-07-09  Jim Meyering  <meyering@lucent.com>
24763
24764         * lib/Most files: Update copyright dates to include 2000.
24765
24766 2000-07-08  Jim Meyering  <meyering@lucent.com>
24767
24768         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
24769         if not defined.
24770         (xgethostname): Remove now-unnecessary #ifdef.
24771         Move declaration of `err' into loop where it's used.
24772
24773 2000-07-05  Paul Eggert  <eggert@twinsun.com>
24774         and Bruno Haible  <haible@clisp.cons.org>
24775
24776         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
24777         only if the test for an object-type mbstate_t fails.  This
24778         prevents us from mistakenly reporting that mbstate_t is a
24779         system object type after we "#define mbstate_t int" to work
24780         around its lack.
24781
24782 2000-07-05  Paul Eggert  <eggert@twinsun.com>
24783         and Bruno Haible  <haible@clisp.cons.org>
24784
24785         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
24786
24787 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
24788
24789         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
24790         to strerror_r.
24791         Include <ctype.h> for use of isalpha.
24792
24793 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
24794
24795         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
24796         by allocating a larger buffer. Test the gethostname return value for
24797         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
24798         returns an error and ENAMETOOLONG isn't defined.
24799
24800 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
24801
24802         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
24803         dimension.
24804
24805 2000-07-04  Jim Meyering  <meyering@lucent.com>
24806
24807         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
24808         of the deprecated AC_CHECKING.
24809
24810 2000-07-04  Jim Meyering  <meyering@lucent.com>
24811
24812         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
24813         Reported by Bruno Haible.
24814
24815 2000-07-04  Jim Meyering  <meyering@lucent.com>
24816
24817         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
24818         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
24819         lacks mbrtowc.
24820
24821 2000-07-03  Paul Eggert  <eggert@twinsun.com>
24822
24823         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
24824         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
24825
24826 2000-07-03  Paul Eggert  <eggert@twinsun.com>
24827         and Bruno Haible  <haible@clisp.cons.org>
24828
24829         * lib/quotearg.c (mbrtowc):
24830         Assign to *pwc, and return 1 only if result is nonzero.
24831         (iswprint): Use ISPRINT when substituting our own mbrtowc.
24832
24833 2000-07-03  Jim Meyering  <meyering@lucent.com>
24834
24835         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
24836
24837 2000-07-03  Jim Meyering  <meyering@lucent.com>
24838
24839         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
24840         This is necessary to get a definition of e.g., UTMP_FILE on
24841         HP-UX 10.20.
24842         From Bob Proulx.
24843
24844 2000-07-02  Jim Meyering  <meyering@lucent.com>
24845
24846         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
24847
24848         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
24849         AC_LIBOBJ(function_name).
24850         * m4/chown.m4: Likewise.
24851         * m4/fnmatch.m4: Likewise.
24852         * m4/ftruncate.m4: Likewise.
24853         * m4/getgroups.m4: Likewise.
24854         * m4/getline.m4: Likewise.
24855         * m4/group-member.m4: Likewise.
24856         * m4/jm-macros.m4: Likewise.
24857         * m4/lstat.m4: Likewise.
24858         * m4/malloc.m4: Likewise.
24859         * m4/memcmp.m4: Likewise.
24860         * m4/nanosleep.m4: Likewise.
24861         * m4/putenv.m4: Likewise.
24862         * m4/realloc.m4: Likewise.
24863         * m4/regex.m4: Likewise.
24864         * m4/stat.m4: Likewise.
24865         * m4/strftime.m4: Likewise.
24866
24867 2000-07-02  Jim Meyering  <meyering@lucent.com>
24868
24869         * lib/quotearg.c (mbstate_t): Don't define here.
24870
24871 2000-07-02  Jim Meyering  <meyering@lucent.com>
24872
24873         * lib/nanosleep.c (SIGCONT): Define if not already defined.
24874
24875 2000-07-01  Jim Meyering  <meyering@lucent.com>
24876
24877         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
24878
24879 2000-07-01  Jim Meyering  <meyering@lucent.com>
24880
24881         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
24882         problem.
24883
24884 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
24885
24886         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
24887         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
24888
24889 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
24890
24891         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
24892         per change in ../m4/ls-mntd-fs.m4.
24893         (read_filesystem_list): Ignore symbolic links.
24894
24895 2000-06-29  Jim Meyering  <meyering@lucent.com>
24896
24897         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
24898         for declaration of strcmp.
24899
24900         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
24901
24902         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
24903         Avoid warning by casting result to `char *' to remove `const'.
24904
24905 2000-06-28  Jim Meyering  <meyering@lucent.com>
24906
24907         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
24908         included by quotearg.c, for which we perform this test.  From
24909         Bruno Haible.
24910
24911 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
24912
24913         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
24914         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
24915         <utmpx.h> exists, put readutmp.o into LIBOBJS.
24916
24917 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
24918
24919         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
24920
24921 2000-06-26  Paul Eggert  <eggert@twinsun.com>
24922
24923         savedir now sets errno on failure and invokes xmalloc to get memory.
24924         Fix a couple of other minor bugs while we're at it.
24925
24926         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
24927         (NAMLEN): Remove macro.
24928         (malloc, realloc): Remove decls.
24929         (stpcpy): Likewise.
24930         ("xalloc.h"): Include.
24931         (NAME_SIZE_DEFAULT): New macro.
24932         (savedir): Use xmalloc / xrealloc to allocate memory.
24933         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
24934         Skip "" directory entries.
24935         Use strlen to calculate directory entry length, since the old method
24936         is rarely used these days and isn't worth supporting.
24937         Don't use a pointer after freeing it.
24938         Check for integer overflow when calculating allocation size.
24939         Use memcpy to copy entries, instead of stpcpy.
24940         Set errno properly when returning NULL.
24941         Check for readdir error.
24942
24943 2000-06-26  Jim Meyering  <meyering@lucent.com>
24944
24945         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
24946
24947 2000-06-25  Jim Meyering  <meyering@lucent.com>
24948
24949         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
24950         Linux header bug when _XOPEN_SOURCE is defined to 500.
24951
24952 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
24953
24954         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
24955         deficiency.
24956
24957 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
24958
24959         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
24960         Include xalloc.h.
24961         Don't include <stdlib.h>.  Don't declare malloc, realloc.
24962
24963 2000-06-24  Jim Meyering  <meyering@lucent.com>
24964
24965         * m4/strerror_r.m4: Revive this file -- to try out an experimental
24966         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
24967         for which strerror does return char*, but which lacks a conveniently
24968         accessible declaration of the function.  If the compile-test says
24969         strerror_r doesn't work, then resort to a `run'-test that works on
24970         BeOS and segfaults on DEC Unix.
24971
24972 2000-06-24  Jim Meyering  <meyering@lucent.com>
24973
24974         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
24975
24976 2000-06-23  Paul Eggert  <eggert@twinsun.com>
24977
24978         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
24979         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
24980
24981 2000-06-23  Paul Eggert  <eggert@twinsun.com>
24982
24983         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
24984         (mbrtowc, mbstate_t): Define substitutes if
24985         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
24986         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
24987         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
24988
24989 2000-06-23  Jim Meyering  <meyering@lucent.com>
24990
24991         * m4/afs.m4: Add missing AC_MSG_RESULT.
24992         Reported by Bruno Haible.
24993
24994         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
24995         Suggestion from Bruno Haible.
24996
24997 2000-06-23  Jim Meyering  <meyering@lucent.com>
24998
24999         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
25000
25001 2000-06-21  Jim Meyering  <meyering@lucent.com>
25002
25003         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
25004
25005 2000-06-21  Jim Meyering  <meyering@lucent.com>
25006
25007         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
25008         (noinst_HEADERS): Add getstr.h.
25009
25010         * lib/getline.c (getstr): Move into a separate file.
25011         * lib/getstr.c (getstr): New file, extracted from getline.c, with
25012         the following changes: new parameter, delim2; both delim[12]
25013         parameters have type `int', not `char'.  The latter would lose
25014         with 8-bit delimiters.
25015         * lib/getstr.h: New file.
25016
25017 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
25018
25019         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
25020         than 1024, return a memory chunk of least possible size, instead
25021         of size PATH_MAX + 2. In the loop, increment the size proportionally.
25022         Use free/xmalloc instead of xrealloc to avoid copying for very long
25023         paths.
25024
25025 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
25026
25027         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
25028         the empty string.
25029
25030 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
25031
25032         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
25033         address, not strdup.  Include <stdlib.h> and don't declare free().
25034
25035 2000-06-19  Jim Meyering  <meyering@lucent.com>
25036
25037         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
25038
25039 2000-06-18  Jim Meyering  <meyering@lucent.com>
25040
25041         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
25042
25043         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
25044         `checking whether...' message to be consistent with that of the
25045         lstat test.
25046
25047 2000-06-18  Jim Meyering  <meyering@lucent.com>
25048
25049         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
25050         Besides, these days every porting target provides a mkdir function.
25051
25052         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
25053         needed. (this snippet comes from src/system.h).
25054
25055 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
25056
25057         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
25058
25059 2000-06-15  Paul Eggert  <eggert@twinsun.com>
25060
25061         * lib/human.c (adjust_value): New function.
25062         (human_readable_inexact): Apply rounding style even when
25063         printing approximate values.
25064
25065 2000-06-14  Paul Eggert  <eggert@twinsun.com>
25066
25067         * lib/human.c (human_readable_inexact): Allow an input block
25068         size that is not a multiple of the output block size, and vice versa.
25069         Reported by Piergiorgio Sartor.
25070
25071 2000-06-14  Paul Eggert  <eggert@twinsun.com>
25072
25073         * lib/getdate.y (get_date): Apply relative times after time
25074         zone indicator, not before.  Reported by Todd A. Jacobs.
25075
25076 2000-06-13  Jim Meyering  <meyering@lucent.com>
25077
25078         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
25079
25080         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
25081
25082 2000-06-12  Paul Eggert  <eggert@twinsun.com>
25083
25084         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
25085
25086 2000-06-12  Jim Meyering  <meyering@lucent.com>
25087
25088         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
25089         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
25090         optional argument.
25091         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
25092         the optional argument, `lib'.
25093
25094 2000-06-08  Jim Meyering  <meyering@lucent.com>
25095
25096         * m4/largefile.m4: Remove file (now that it's part of autoconf).
25097
25098 2000-06-04  Paul Eggert  <eggert@twinsun.com>
25099
25100         Rewrite largefile configuration so that we don't need to run
25101         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
25102         AC_CANONICAL_HOST in configure.in -- jmm]
25103
25104         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
25105         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
25106         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
25107         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
25108         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
25109         All uses changed.
25110         Instead of inspecting the output of getconf, try to compile the
25111         test program without and with the macro definition.
25112         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
25113         for getconf.  Instead, check for the needed flags by compiling
25114         test programs.
25115
25116 2000-06-04  Paul Eggert  <eggert@twinsun.com>
25117
25118         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
25119
25120 2000-06-04  Jim Meyering  <meyering@lucent.com>
25121
25122         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
25123         SunOS 4.1.4 for which gid_t is an unsigned type.
25124
25125 2000-06-03  Jim Meyering  <meyering@lucent.com>
25126
25127         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
25128         now that autoconf requires that.
25129
25130         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
25131         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
25132         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
25133
25134 2000-06-03  Jim Meyering  <meyering@lucent.com>
25135
25136         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
25137
25138 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
25139
25140         * m4/glibc21.m4: New file.
25141         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
25142
25143 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
25144
25145         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
25146         newer, don't install charset.alias.
25147         * lib/config.charset: Change the Linux/glibc rules so they become empty
25148         on glibc-2.1 or newer.
25149
25150 2000-06-02  Jim Meyering  <meyering@lucent.com>
25151
25152         * lib/mountlist.c: Back out last change.  Instead, do this...
25153         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
25154         me_dummy member using the same `ignore'-testing code.
25155         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
25156         fs_type strings.
25157         From Mark D. Roth.
25158
25159 2000-05-29  Jim Meyering  <meyering@lucent.com>
25160
25161         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
25162         mounts with the `ignore' attribute.  Based on a patch from
25163         Mark D. Roth.
25164
25165 2000-05-28  Jim Meyering  <meyering@lucent.com>
25166
25167         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
25168         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
25169         * m4/stat.m4: Likewise.
25170         * m4/lstat.m4: Likewise.
25171         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
25172
25173         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
25174         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
25175
25176 2000-05-26  Jim Meyering  <meyering@lucent.com>
25177
25178         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
25179
25180 2000-05-24  Jim Meyering  <meyering@lucent.com>
25181
25182         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
25183         autoconf requires that.
25184         * m4/lib-check.m4: Likewise.
25185         * m4/jm-macros.m4: Likewise.
25186         * m4/strftime.m4: Likewise.
25187
25188         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
25189         AC_CHECK_DECLS, now that autoconf requires that.
25190
25191 2000-05-22  Jim Meyering  <meyering@lucent.com>
25192
25193         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
25194         * m4/lstat.m4: Likewise.
25195
25196 2000-05-22  Jim Meyering  <meyering@lucent.com>
25197
25198         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
25199
25200 2000-05-20  Jim Meyering  <meyering@lucent.com>
25201
25202         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
25203         (jm_PREREQ): Use it.
25204
25205 2000-05-18  Jim Meyering  <meyering@lucent.com>
25206
25207         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
25208         back, too, since it may have been modified by allocate_entry.
25209         (hash_delete): Rewrite to use neither the assignment operator
25210         nor the comma operator in an if-expression.
25211
25212 2000-05-15  Paul Eggert  <eggert@twinsun.com>
25213
25214         * lib/closeout.c:
25215         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
25216         Remove; no longer needed.
25217         "quotearg.h": Add include.
25218         (file_name): Do not bother to explicitly initialize to NULL; it's less
25219         efficient on some hosts.
25220         (close_stdout_status): Remove test as to whether stdout was already
25221         closed; it breaks for the case "echo x | sort >&-".
25222         Quote file name colons.
25223         Do not assume that _("write error") lacks format strings.
25224
25225 2000-05-15  Jim Meyering  <meyering@lucent.com>
25226
25227         * lib/version-etc.c (version_etc_copyright): Update the copyright
25228         string used in all --version output.
25229
25230 2000-05-14  Jim Meyering  <meyering@lucent.com>
25231
25232         * lib/closeout.c (close_stdout_set_file_name): New function.
25233         (close_stdout_status): Use new file-scoped global.
25234         Return right away if fstat says the stdout file descriptor is invalid.
25235         * lib/closeout.h (close_stdout_set_file_name): Declare.
25236
25237 2000-05-10  Jim Meyering  <meyering@lucent.com>
25238
25239         * lib/closeout.c [default_exit_status]: New file-scoped variable.
25240         (close_stdout_set_status): New function.
25241         * lib/closeout.h (close_stdout_set_status): Declare.
25242
25243 2000-05-09  Jim Meyering  <meyering@lucent.com>
25244
25245         * m4/gettext.m4: Rename this...
25246         * m4/libintl.m4: ...to this.
25247
25248 2000-05-08  Jim Meyering  <meyering@lucent.com>
25249
25250         * lib/long-options.c: Don't include closeout.h.
25251         (parse_long_options): Don't call close_stdout for --version.
25252
25253 2000-05-06  Paul Eggert  <eggert@twinsun.com>
25254
25255         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
25256         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
25257         2.1.3 bug.  This avoids a clash when files like regex.c define
25258         _GNU_SOURCE.
25259
25260 2000-05-06  Jim Meyering  <meyering@lucent.com>
25261
25262         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
25263         (AC_REPLACE_FUNCS): Add strnlen.
25264
25265         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
25266         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
25267
25268         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
25269         AC_SEARCH_LIBS call for nanosleep.
25270         (LIB_NANOSLEEP): Set and AC_SUBST.
25271
25272 2000-05-06  Jim Meyering  <meyering@lucent.com>
25273
25274         * lib/strnlen.c: Undefine __strnlen and strnlen.
25275         [!weak_alias]: Define __strnlen to strnlen.
25276
25277         * lib/atexit.c: New file, from libiberty.
25278
25279 2000-05-06  Jim Meyering  <meyering@lucent.com>
25280
25281         * lib/closeout.c (close_stdout_status): Also check for errors on the
25282         stderr stream.
25283
25284 2000-05-05  Jim Meyering  <meyering@lucent.com>
25285
25286         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
25287         AC_SEARCH_LIBS call for clock_gettime.
25288         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
25289
25290         * m4/search-libs.m4: Update from autoconf.
25291
25292         su doesn't work on Solaris 2.6.
25293         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
25294         <shadow.h>.  Reported by Dragos Harabor.
25295
25296 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
25297
25298         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
25299         memcpy instead of xmalloc, xrealloc, path_concat.
25300         (locale_charset): Treat empty environment variables as absent.
25301         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
25302
25303 2000-05-04  Jim Meyering  <meyering@lucent.com>
25304
25305         * lib/getopt.c: Update from glibc.
25306         * lib/obstack.c: Likewise.
25307         * lib/obstack.h: Likewise.
25308         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
25309         file
25310
25311         * lib/regex.h: Likewise.
25312         * lib/strndup.c: Likewise.
25313         * lib/strnlen.c: New file, from glibc.
25314
25315 2000-05-03  Jim Meyering  <meyering@lucent.com>
25316
25317         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
25318
25319 2000-05-02  Paul Eggert  <eggert@twinsun.com>
25320
25321         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
25322         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
25323         compile-time test, rather than inspecting host and OS, to
25324         decide whether to define _LARGEFILE_SOURCE.
25325
25326 2000-05-01  Jim Meyering  <meyering@lucent.com>
25327
25328         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
25329
25330         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
25331         Based on a patch from Bruno Haible.
25332
25333 2000-05-01  Jim Meyering  <meyering@lucent.com>
25334
25335         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
25336
25337 2000-04-29  Jim Meyering  <meyering@lucent.com>
25338
25339         * lib/path-concat.c: Declare strdup only if it's not defined.
25340         * lib/canon-host.c: Likewise.
25341
25342 2000-04-28  Jim Meyering  <meyering@lucent.com>
25343
25344         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
25345         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
25346         is included first, then limits.h is included by locale.h by libintl.h.
25347         From John David Anglin.
25348
25349 2000-04-25  Jim Meyering  <meyering@lucent.com>
25350
25351         * lib/makepath.c (S_IRWXUGO): Define.
25352         (make_path): Always perform explicit chmod if MODE specifies any
25353         of the `special' permission bits.  Prompted by a bug report against
25354         install from Mate Wierdl and Joost van Baal.
25355
25356 2000-04-18  Jim Meyering  <meyering@lucent.com>
25357
25358         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
25359         (jm_PREREQ): Use it.
25360
25361 2000-04-18  Jim Meyering  <meyering@lucent.com>
25362
25363         * lib/README: New file.
25364
25365         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
25366         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
25367
25368 2000-04-17  Jim Meyering  <meyering@lucent.com>
25369
25370         Get it right :-)
25371         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
25372         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
25373         Suggestion from Akim Demaille.
25374
25375 2000-04-17  Jim Meyering  <meyering@lucent.com>
25376
25377         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
25378         the definition of it to rpl_strftime also defined-away the system's
25379         declaration.
25380
25381 2000-04-15  Jim Meyering  <meyering@lucent.com>
25382
25383         Use `C' to denote so-called `contiguous' files, the same way
25384         that tar does.
25385         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
25386         (ftypelet): Use S_ISCTG.
25387         From Michael Deutschmann.
25388
25389 2000-04-14  Jim Meyering  <meyering@lucent.com>
25390
25391         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
25392         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
25393         clobbered.
25394
25395 2000-04-14  Jim Meyering  <meyering@lucent.com>
25396
25397         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
25398
25399 2000-04-13  Jim Meyering  <meyering@lucent.com>
25400
25401         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
25402         AH_VERBATIM to insert required #ifndef into config.h.in.
25403         Suggestion from Akim Demaille.
25404
25405 2000-04-12  Jim Meyering  <meyering@lucent.com>
25406
25407         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
25408         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
25409         Christian Krackowizer.
25410
25411         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
25412         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
25413         (AC_SYS_LARGEFILE): Require.
25414         (AM_C_PROTOTYPES): Require.
25415
25416 2000-04-08  Jim Meyering  <meyering@lucent.com>
25417
25418         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
25419         names don't conflict.  Reported by Eli Zaretskii.
25420
25421 2000-04-07  Jim Meyering  <meyering@lucent.com>
25422
25423         * lib/putenv.c: Move inclusion of errno.h so it follows that of
25424         sys/types.h, to work around system header problems on AIX 3.2.5.
25425         From Bruno Haible.
25426
25427 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
25428
25429         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
25430         bug.  Deal with the different error behavior of Irix iconv.
25431
25432 2000-04-05  Paul Eggert  <eggert@twinsun.com>
25433
25434         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
25435         IRIX if the installer said otherwise.
25436
25437 2000-04-05  Jim Meyering  <meyering@lucent.com>
25438
25439         Portability tweaks required for ultrix4.3.
25440         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
25441         (jm_CHECK_DECLS): Add getutent to the list of functions.
25442         (_jm_DECL_HEADERS): Add utmpx.h.
25443         From John David Anglin.
25444
25445         * m4/strftime.m4: Back out the 2000-04-02 change.
25446         Instead of that change, simply undefine putenv in the test program.
25447
25448 2000-04-05  Jim Meyering  <meyering@lucent.com>
25449
25450         Portability tweaks required for ultrix4.3.
25451         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
25452         getutent.
25453         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
25454         * lib/canon-host.c: Declare strdup.
25455         * lib/path-concat.c: Likewise.
25456         From John David Anglin.
25457
25458 2000-04-04  Jim Meyering  <meyering@lucent.com>
25459
25460         Be more DOS 8.3-friendly.
25461         * lib/ref-add.sin: Renamed from ref-add.sed.in.
25462         * lib/ref-del.sin: Renamed from ref-del.sed.in.
25463         * lib/Makefile.am: Reflect renaming.
25464         Reported by Eli Zaretskii.
25465
25466         Use a temporary file name that won't clash with `charset.alias'
25467         in the DOS 8.3 name space.
25468         * lib/Makefile.am (charset_tmp): Define.
25469         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
25470         (uninstall-local): Likewise.
25471         Reported by Eli Zaretskii.
25472
25473 2000-04-03  Jim Meyering  <meyering@lucent.com>
25474
25475         * m4/gettext.m4: Fix typo in comment.
25476
25477         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
25478         textutils/configure.in).  Suggestion from Paul Eggert.
25479         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
25480
25481 2000-04-02  Paul Eggert  <eggert@twinsun.com>
25482
25483         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
25484         variable in the shell rather than using putenv, which isn't
25485         portable.  This avoids the configure-time inter-test dependency
25486         on the potentially-renamed putenv function.
25487
25488 2000-03-30  Paul Eggert  <eggert@twinsun.com>
25489
25490         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
25491         before checking struct stat.st_blksize, so that
25492         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
25493
25494 2000-03-29  Paul Eggert  <eggert@twinsun.com>
25495
25496         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
25497         since strftime.c uses HAVE_STRFTIME to decide whether to use
25498         the underlying strftime.
25499
25500 2000-03-29  Paul Eggert  <eggert@twinsun.com>
25501
25502         * lib/time/strftime.c (my_strftime): Make sure we call the system
25503         strftime, not ourselves, when invoking the underlying strftime.
25504
25505 2000-03-24  Jim Meyering  <meyering@lucent.com>
25506
25507         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
25508         (charset_alias): Define.
25509         (install-exec-local): Factor out common code.
25510         (uninstall-local): Split lines longer than 80.
25511         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
25512         (SUFFIXES): Define.
25513         (.sed.in.sed): New rule.  Don't redirect directly to $@.
25514         (CLEANFILES): Add ref-add.sed and ref-del.sed.
25515
25516 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
25517
25518         * lib/config.charset: Output a line containing "Packages using this
25519         file".
25520         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
25521         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
25522         ref-del.sed): New rules.
25523
25524 2000-03-17  Jim Meyering  <meyering@lucent.com>
25525
25526         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
25527         Otherwise, include <strings.h>
25528
25529 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
25530
25531         * lib/unicodeio.c (utf8_wctomb): New function.
25532         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
25533         format instead of in UCS-4 with platform dependent endianness.
25534
25535 2000-03-10  Jim Meyering  <meyering@lucent.com>
25536
25537         * m4/lib-check.m4: Look for getspnam in -lgen, too.
25538         From Marco Franzen.
25539
25540 2000-03-07  Paul Eggert  <eggert@twinsun.com>
25541
25542         * lib/savedir.c (savedir): Work even if directory size is
25543         negative; this can happen with some screwy NFS configurations.
25544
25545 2000-03-06  Jim Meyering  <meyering@lucent.com>
25546
25547         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
25548         if it's NULL (because we ran out of memory).  From Bruno Haible.
25549
25550 2000-03-05  Jim Meyering  <meyering@lucent.com>
25551
25552         * lib/localcharset.c ("path-concat.h"): Include.
25553         (get_charset_aliases): Use path_concat instead of ANSI string
25554         concatenation.
25555
25556         * lib/unicodeio.h (PARAMS): Define.
25557         Use it to guard prototype.
25558
25559 2000-03-04  Jim Meyering  <meyering@lucent.com>
25560
25561         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
25562         for lib/localcharset.c.
25563
25564 2000-03-04  Jim Meyering  <meyering@lucent.com>
25565
25566         * lib/Makefile.am (install-exec-local): Create $(libdir) before
25567         installing into it.
25568         (uninstall-local): Uncomment this rule so `make distcheck' works
25569         once again.
25570
25571         * lib/unicodeio.c (<errno.h>): Include it.
25572         (errno): Declare if not defined.
25573
25574         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
25575
25576         * lib/config.charset: New version, incorporating remarks from a linux
25577         i18n mailing list.  From Bruno Haible.
25578
25579 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
25580
25581         * m4/codeset.m4: New file.
25582         * m4/iconv.m4: New file.
25583         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
25584
25585 2000-03-03  Jim Meyering  <meyering@lucent.com>
25586
25587         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
25588
25589 2000-03-02  Jim Meyering  <meyering@lucent.com>
25590
25591         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
25592         the messages come out on separate lines.
25593
25594         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
25595         rather than jm_CHECK_DECLARATIONS.
25596         * m4/decl.m4: Remove now-unused file.
25597
25598         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
25599         geteuid.
25600
25601 2000-03-02  Jim Meyering  <meyering@lucent.com>
25602
25603         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
25604
25605 2000-03-01  Jim Meyering  <meyering@lucent.com>
25606
25607         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
25608         * lib/unicodeio.c: Likewise.
25609
25610 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
25611
25612         * lib/config.charset: New file.
25613         * lib/localcharset.c: New file.
25614         * lib/unicodeio.h, lib/unicodeio.c: New files.
25615         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
25616         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
25617         (noinst_HEADERS): Add unicodeio.h.
25618         (all-local, install-exec-local, charset.alias): New targets.
25619
25620 2000-02-28  Paul Eggert  <eggert@twinsun.com>
25621
25622         * lib/quotearg.c (ALERT_CHAR): New macro.
25623         (quotearg_buffer_restyled): Use it.
25624
25625 2000-02-27  Jim Meyering  <meyering@lucent.com>
25626
25627         * m4/check-decl.m4: Add getenv to the list.
25628
25629 2000-02-27  Jim Meyering  <meyering@lucent.com>
25630
25631         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
25632         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
25633
25634         * lib/backupfile.c: Guard inclusion of stdlib.h with
25635         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
25636         Declare malloc if needed.
25637
25638         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
25639         `#ifndef HAVE_DECL..'
25640         now that autoconf always defines the HAVE_DECL_ symbols.
25641         * lib/human.c: Likewise.
25642         * lib/same.c: Likewise.
25643         * lib/strtoumax.c: Likewise.
25644
25645         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
25646         declaration check was not run.
25647         * lib/hash.c: Likewise.
25648         * lib/human.c: Likewise.
25649         * lib/same.c: Likewise.
25650         * lib/strtoumax.c: Likewise.
25651
25652         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
25653         `.', then first look up the entire `.'-containing string as a login
25654         name.
25655
25656 2000-02-23  Jim Meyering  <meyering@lucent.com>
25657
25658         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
25659         in place of my hack.
25660
25661 2000-02-18  Paul Eggert  <eggert@twinsun.com>
25662
25663         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
25664         (textint): New typedef.
25665         (parser_control): Member year changed from int to textint.
25666         All uses changed.
25667         (YYSTYPE): Removed; replaced by %union with int and textint members.
25668         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
25669         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
25670         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
25671         (tSNUMBER, tUNUMBER): Now of type <textintval>.
25672         (date, number, to_year): Use width of number in digits, not its value,
25673         to determine whether it's a 2-digit year, or a 2-digit time.
25674         (yylex): Store number of digits of numeric tokens.
25675         Reported by John Kendall.
25676
25677         (parser_control): Changed from struct parser_control to typedef (for
25678         consistency).  All uses changed.
25679
25680         (tID): Removed; not used.
25681         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
25682
25683 2000-02-14  Paul Eggert  <eggert@twinsun.com>
25684
25685         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
25686         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
25687
25688 2000-02-12  Jim Meyering  <meyering@lucent.com>
25689
25690         * lib/userspec.c (ISDIGIT): Define it.
25691         (isdigit): Remove definition.
25692         (is_number): Use ISDIGIT, not isdigit.
25693         <libintl.h>: Include.
25694         (_ and N_): Define.
25695         (parse_user_spec): Mark translatable strings.
25696
25697 2000-02-10  Jim Meyering  <meyering@lucent.com>
25698
25699         With these changes, nanosleep.[ch] are finally enough like the other
25700         lib/* replacement files to compile on a few more losing systems.
25701
25702         * lib/nanosleep.h: Don't include config.h.
25703         Remove prototype from declaration of nanosleep.
25704         (PARAMS): Remove now-unneeded definition.
25705         * lib/nanosleep.c: #undef nanosleep.
25706         (rpl_nanosleep): Rename from nanosleep.
25707
25708 2000-02-10  Jim Meyering  <meyering@lucent.com>
25709
25710         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
25711         gnu_nanosleep to rpl_nanosleep.
25712
25713 2000-02-09  Jim Meyering  <meyering@lucent.com>
25714
25715         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
25716         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
25717
25718 2000-02-08  Akim Demaille  <akim@epita.fr>
25719
25720         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
25721         `[' and `]' and remove uses of `changequote'.
25722         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
25723         (AC_SYS_LARGEFILE): Likewise.
25724         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
25725         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
25726         of changequote.
25727         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
25728         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
25729         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
25730         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
25731
25732 2000-02-05  Jim Meyering  <meyering@lucent.com>
25733
25734         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
25735         Remove explicit use of AC_HEADER_TIME.  It is required by
25736         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
25737         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
25738         in autoconf whereby the expansion of the latter ended up preceding
25739         the expansion of its prerequisite, AC_HEADER_TIME.
25740         Reported by Volker Borchert.
25741
25742 2000-02-03  Jim Meyering  <meyering@lucent.com>
25743
25744         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
25745
25746 2000-02-03  Jim Meyering  <meyering@lucent.com>
25747
25748         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
25749         rather than with `#if HAVE_UTMPNAME'.
25750
25751 2000-02-02  Jim Meyering  <meyering@lucent.com>
25752
25753         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
25754         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
25755         Reported by Eli Zaretskii.
25756
25757 2000-02-01  Jim Meyering  <meyering@lucent.com>
25758
25759         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
25760
25761 2000-01-31  Jim Meyering  <meyering@lucent.com>
25762
25763         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
25764         functions.  Add the time.h and sys/time.h headers along with the
25765         AC_REQUIRE'ment of AC_HEADER_TIME.
25766
25767 2000-01-31  Jim Meyering  <meyering@lucent.com>
25768
25769         * lib/nanosleep.h (nanosleep): Guard declaration with
25770         `#if ! HAVE_DECL_NANOSLEEP'.
25771         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
25772         the declaration in that vendor's sys/timers.h.
25773         Reported by Christian Krackowizer.
25774
25775         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
25776         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
25777         (ISPRINT): Likewise.
25778         Reported by Tom Tromey.
25779
25780 2000-01-30  Jim Meyering  <meyering@lucent.com>
25781
25782         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
25783
25784         * m4/prereq.m4 (utmp_includes): Define.
25785         Check for ut_user and ut_name members in both struct utmpx
25786         and struct utmp.
25787
25788 2000-01-30  Jim Meyering  <meyering@lucent.com>
25789
25790         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
25791         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
25792         header files where only utmpx.ut_user is declared.
25793
25794         * lib/readutmp.h (UT_USER): Define.
25795
25796 2000-01-29  Jim Meyering  <meyering@lucent.com>
25797
25798         * m4/lib-check.m4: New file containing library-related checks from
25799         fileutils and sh-utils (textutils had none).
25800
25801 2000-01-28  Jim Meyering  <meyering@lucent.com>
25802
25803         * m4/perl.m4: Change format of warning message to look more like that
25804         from the missing script.  Suggestion from François Pinard.
25805
25806 2000-01-25  Jim Meyering  <meyering@lucent.com>
25807
25808         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
25809         well as time.h in the compile check.
25810         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
25811         Fix typo in cross-compiling case: s/yes/no/.
25812
25813 2000-01-23  Jim Meyering  <meyering@lucent.com>
25814
25815         * m4/jm-macros.m4: Move df-related tests here from
25816         fileutils/configure.in
25817
25818         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
25819         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
25820
25821         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
25822         s/space/ac_fsusage_space/.
25823         (jm_FILE_SYSTEM_USAGE): Take two parameters.
25824
25825         * m4/ftruncate.m4: New file (derived from part of
25826         fileutils/configure.in).
25827         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
25828         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
25829
25830         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
25831         AC_SUBST these here, rather than just in sh-util/configure.in, so
25832         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
25833         all the same.
25834         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
25835         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
25836         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
25837         (AC_SUBST(POW_LIBM)): Likewise.
25838         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
25839
25840 2000-01-23  Jim Meyering  <meyering@lucent.com>
25841
25842         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
25843         obstack.c.
25844
25845 2000-01-22  Jim Meyering  <meyering@lucent.com>
25846
25847         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
25848
25849         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
25850
25851         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
25852         configure.in
25853         (AC_CHECK_HEADERS): Likewise for sh-utils.
25854         (AC_CHECK_HEADERS): Likewise for textutils.
25855         Merge the three lists of headers.
25856
25857         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
25858         from fileutils' configure.in.
25859
25860         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
25861         code. Moved tests into their own function (_jm_DECL_HEADERS) in
25862         check-decl.m4.
25863
25864         * m4/check-decl.m4: Use #if rather than #ifdef.
25865         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
25866         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
25867         (_jm_DECL_HEADERS): Define new function.
25868         (jm_CHECK_DECLARATIONS): Require it.
25869
25870 2000-01-22  Jim Meyering  <meyering@lucent.com>
25871
25872         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
25873         [! HAVE_DECL_STRTOULL]: Declare strtoull.
25874         Required for some AIX systems.  Reported by Christian Krackowizer.
25875         [TESTING] (main): New function.
25876
25877         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
25878         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
25879         letters.
25880
25881         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
25882         iswprint.
25883
25884         * lib/strverscmp.c (ISDIGIT): Define.
25885         (strverscmp): Use ISDIGIT, not isdigit.
25886
25887 2000-01-19  Jim Meyering  <meyering@lucent.com>
25888
25889         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
25890         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
25891         defines `struct timespec' in <sys/time.h>
25892
25893         * m4/c-bs-a.m4: Remove uses of changequote altogether.
25894         Thanks to Akim for explaining.
25895
25896 2000-01-17  Paul Eggert  <eggert@twinsun.com>
25897
25898         * lib/nanosleep.c (nanosleep):
25899         Don't use SA_INTERRUPT to decide whether to call sigaction, as
25900         POSIX.1 doesn't require SA_INTERRUPT and some systems
25901         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
25902         it's been part of POSIX.1 since day 1 (in 1988).
25903
25904 2000-01-17  Jim Meyering  <meyering@lucent.com>
25905
25906         * lib/interlock: Remove unused file.  Reported by François Pinard.
25907
25908 2000-01-16  Paul Eggert  <eggert@twinsun.com>
25909
25910         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
25911         alert, backslash, formfeed, and vertical tab unnecessarily in
25912         shell quoting style.
25913
25914 2000-01-16  Jim Meyering  <meyering@lucent.com>
25915
25916         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
25917         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
25918         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
25919         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
25920
25921 2000-01-16  Jim Meyering  <meyering@lucent.com>
25922
25923         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
25924         because the latter didn't work.
25925
25926 2000-01-15  Jim Meyering  <meyering@lucent.com>
25927
25928         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
25929         (AC_REPLACE_FUNCS): Add memcpy and memset.
25930         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
25931         Add strpbrk.
25932         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
25933
25934 2000-01-12  Jim Meyering  <meyering@lucent.com>
25935
25936         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
25937         (jm_PREREQ): Use it.
25938         (jm_PREREQ_READUTMP): New macro.
25939         (jm_PREREQ): Use it.
25940
25941 2000-01-11  Paul Eggert  <eggert@twinsun.com>
25942
25943         Quote multibyte characters correctly.
25944         * m4/c-bs-a.m4: New file.
25945         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
25946         (jm_PREREQ): Use it.
25947
25948 2000-01-11  Paul Eggert  <eggert@twinsun.com>
25949
25950         * m4/uintmax_t.m4: Port to autoconf 2.13.
25951
25952 2000-01-08  Jim Meyering  <meyering@ascend.com>
25953
25954         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
25955         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
25956
25957 2000-01-04  Jim Meyering  <meyering@ascend.com>
25958
25959         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
25960         jm_STRUCT_DIRENT_D_TYPE.
25961         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
25962         jm_STRUCT_DIRENT_D_INO.
25963         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
25964         jm_STRUCT_UTIMBUF.
25965         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
25966         renamings.
25967         * m4/utime.m4: Likewise.
25968
25969         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
25970         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
25971
25972 2000-01-03  Paul Eggert  <eggert@twinsun.com>
25973
25974         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
25975         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
25976
25977 2000-01-02  Jim Meyering  <meyering@ascend.com>
25978
25979         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
25980         remember if this is necessary.
25981
25982 1999-12-26  Jim Meyering  <meyering@ascend.com>
25983
25984         * m4/jm-macros.m4: Use it here.
25985         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
25986
25987 1999-12-23  Jim Meyering  <meyering@ascend.com>
25988
25989         * m4/jm-macros.m4: Check for clock_gettime (moved from
25990         fileutils/configure.in)
25991         Check for gettimeofday.
25992
25993 1999-12-20  Jim Meyering  <meyering@ascend.com>
25994
25995         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
25996         autoconf-2.14a-1999-12-20.
25997
25998 1999-12-19  Jim Meyering  <meyering@ascend.com>
25999
26000         * m4/lstat-slash.m4: New file.
26001         * m4/jm-macros.m4: Use the new macro:
26002         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
26003
26004 1999-12-07  Jim Meyering  <meyering@ascend.com>
26005
26006         * m4/perl.m4: Require that File::Compare be available, too.
26007         Too many systems seem to lack it.
26008
26009         * m4/strftime.m4: Add checks for most of the cpp macros tested in
26010         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
26011
26012 1999-11-18  Paul Eggert  <eggert@twinsun.com>
26013
26014         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
26015         problem with the QNX 4.25 shell, which doesn't propagate exit
26016         status of failed commands inside shell assignments.
26017
26018 1999-11-17  Jim Meyering  <meyering@ascend.com>
26019
26020         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
26021
26022 1999-11-07  Jim Meyering  <meyering@ascend.com>
26023
26024         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
26025
26026 1999-11-06  Jim Meyering  <meyering@ascend.com>
26027
26028         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
26029         * m4/jm-macros.m4 (jm_MACROS): Use it here.
26030
26031 1999-11-05  Jim Meyering  <meyering@ascend.com>
26032
26033         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
26034         configure.in of textutils, fileutils, and sh-utils into this one
26035         (shared between those packages) file.
26036         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
26037         AC_STRUCT_ST_BLKSIZE.
26038
26039 1999-11-03  Jim Meyering  <meyering@ascend.com>
26040
26041         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
26042         of AC_CHECK_TYPE checks includes unistd.h.
26043         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
26044         Suggestion from Akim Demaille.
26045
26046 1999-10-30  Jim Meyering  <meyering@ascend.com>
26047
26048         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
26049         m4-quoted string.
26050         * m4/ls-mntd-fs.m4: Likewise.
26051         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
26052         * m4/jm-winsz1.m4: Likewise.
26053
26054         * m4/const.m4: Remove file, since the fix made it into the experimental
26055         version of autoconf.
26056         * m4/mktime.m4: Likewise.
26057
26058         * m4/check-type.m4: Remove file, now that the latest version of
26059         AC_CHECK_TYPE takes a third arg to specify additional #includes.
26060
26061         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
26062         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
26063         AC_CHECK_TYPE.
26064
26065 1999-10-04  Jim Meyering  <meyering@ascend.com>
26066
26067         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
26068
26069 1999-09-22  Paul Eggert  <eggert@twinsun.com>
26070
26071         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
26072         2.95.1 bug with HP-UX 10.20.
26073
26074 1999-09-17  Jim Meyering  <meyering@ascend.com>
26075
26076         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
26077         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
26078         due to missing strdup (against sh-utils-2.0).
26079
26080 1999-08-29  Jim Meyering  <meyering@ascend.com>
26081
26082         * m4/jm-macros.m4: Require jm_BISON.
26083         * m4/bison.m4: New file.
26084
26085 1999-08-17  Paul Eggert  <eggert@twinsun.com>
26086
26087         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
26088         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
26089
26090 1999-08-05  Jim Meyering  <meyering@ascend.com>
26091
26092         * m4/getline.m4: Rename test file from conftestdata to conftest.data
26093         to avoid conflicts with `conftest' on 8+3 filesystems.
26094         Suggestion from Eli Zaretskii.
26095
26096 1999-08-04  Jim Meyering  <meyering@ascend.com>
26097
26098         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
26099         fileutils and sh-utils (textutils's getline test was inadequate).
26100         (AM_FUNC_GETLINE): Run this test.
26101         (AC_CHECK_FUNCS): Check for getdelim.
26102         Reported by Bob Proulx.
26103
26104 1999-08-02  Jim Meyering  <meyering@ascend.com>
26105
26106         * m4/jm-macros.m4: Add a comment.
26107
26108 1999-08-01  Paul Eggert  <eggert@twinsun.com>
26109
26110         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
26111         <inttypes.h> defines strtoumax as a macro (and not as a
26112         function).
26113
26114 1999-08-01  Paul Eggert  <eggert@twinsun.com>
26115
26116         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
26117         that we can shift, multiply and divide unsigned long long
26118         values; Ultrix cc can't do it.
26119
26120 1999-08-01  Paul Eggert  <eggert@twinsun.com>
26121
26122         * m4/mktime.m4: New file, which is a preview of what should appear
26123         in the next public autoconf release.
26124
26125 1999-08-01  Paul Eggert  <eggert@twinsun.com>
26126
26127         * m4/lfs.m4: Remove this file.
26128         * m4/largefile.m4: New file.  It contains the old contents of
26129         lfs.m4, except that all names with prefix AC_LFS have been
26130         changed to use the prefix AC_SYS_LARGEFILE instead, to be
26131         compatible with future autoconf versions.  Also, some minor m4
26132         quoting problems have been fixed.
26133
26134 1999-08-01  Paul Eggert  <eggert@twinsun.com>
26135
26136         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
26137         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
26138         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
26139         and simplify the shell code.
26140
26141 1999-08-01  Jim Meyering  <meyering@ascend.com>
26142
26143         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
26144         m4.
26145
26146 1999-07-20  Jim Meyering  <meyering@ascend.com>
26147
26148         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
26149
26150 1999-07-15  Jim Meyering  <meyering@ascend.com>
26151
26152         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
26153
26154 1999-05-22  Jim Meyering  <meyering@ascend.com>
26155
26156         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
26157
26158 1999-05-20  Jim Meyering  <meyering@ascend.com>
26159
26160         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
26161         Add a colon after each `then' in case $4 is empty.
26162
26163 1999-05-16  Jim Meyering  <meyering@ascend.com>
26164
26165         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
26166
26167 1999-05-10  Jim Meyering  <meyering@ascend.com>
26168
26169         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
26170
26171         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
26172         AC_FUNC_MKTIME.
26173
26174 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
26175
26176         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
26177
26178 1999-05-04  Paul Eggert  <eggert@twinsun.com>
26179
26180         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
26181         not CPPFLAGS, so that linking works correctly in IRIX.
26182
26183 1999-04-30  Paul Eggert  <eggert@twinsun.com>
26184
26185         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
26186
26187 1999-04-20  Paul Eggert  <eggert@twinsun.com>
26188
26189         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
26190         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
26191         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
26192         jm_AC_TYPE_UNSIGNED_LONG_LONG.
26193         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
26194
26195         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
26196
26197 1999-04-20  Jim Meyering  <meyering@ascend.com>
26198
26199         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
26200         AC_REPLACE xstroull if necessary.  From Paul Eggert.
26201         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
26202
26203 1999-04-18  Jim Meyering  <meyering@ascend.com>
26204
26205         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
26206         * m4/jm-macros.m4: Use it.
26207
26208 1999-04-06  Jim Meyering  <meyering@ascend.com>
26209
26210         * m4/strftime.m4: Remove test for %f.
26211
26212 1999-03-29  Jim Meyering  <meyering@ascend.com>
26213
26214         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
26215         superset of the AC_TYPE_* checks in the textutils, fileutils,
26216         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
26217         AC_TYPE_PID_T.
26218
26219 1999-03-28  Jim Meyering  <meyering@ascend.com>
26220
26221         * m4/jm-macros.m4: Define GNU_PACKAGE here.
26222         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
26223         replaced e.g., in the *.sh files of the sh-utils.
26224
26225 1999-03-20  Jim Meyering  <meyering@ascend.com>
26226
26227         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
26228         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
26229         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
26230
26231 1999-03-19  Jim Meyering  <meyering@ascend.com>
26232
26233         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
26234
26235 1999-03-12  Jim Meyering  <meyering@ascend.com>
26236
26237         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
26238
26239 1999-03-07  Jim Meyering  <meyering@ascend.com>
26240
26241         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
26242         declared.
26243
26244 1999-02-17  Jim Meyering  <meyering@ascend.com>
26245
26246         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
26247         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
26248
26249 1999-02-07  Jim Meyering  <meyering@ascend.com>
26250
26251         * m4/group-member.m4: New file -- extracted from sh-utils'
26252         configure.in.
26253
26254         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
26255         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
26256
26257 1999-02-06  Jim Meyering  <meyering@ascend.com>
26258
26259         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
26260         * m4/fnmatch.m4: Likewise.
26261         * m4/getgroups.m4: Likewise.
26262         * m4/lstat.m4: Likewise.
26263         * m4/malloc.m4: Likewise.
26264         * m4/putenv.m4: Likewise.
26265         * m4/realloc.m4: Likewise.
26266         * m4/regex.m4: Likewise.
26267         * m4/stat.m4: Likewise.
26268         * m4/strftime.m4: Likewise.
26269         Suggestion from Alain Magloire.
26270
26271         * m4/chown.m4: Use `.$ac_objext', not `.o'.
26272         * m4/fnmatch.m4: Likewise.
26273         * m4/getgroups.m4: Likewise.
26274         * m4/getline.m4: Likewise.
26275         * m4/lstat.m4: Likewise.
26276         * m4/malloc.m4: Likewise.
26277         * m4/memcmp.m4: Likewise.
26278         * m4/putenv.m4: Likewise.
26279         * m4/realloc.m4: Likewise.
26280         * m4/regex.m4: Likewise.
26281         * m4/stat.m4: Likewise.
26282         * m4/strftime.m4: Likewise.
26283         Suggestion from Alain Magloire.
26284
26285         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
26286         an argument.
26287
26288         * m4/regex.m4: Add a run-time Test for proper operation of
26289         re_compile_pattern.
26290
26291 1999-01-31  Jim Meyering  <meyering@ascend.com>
26292
26293         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
26294
26295 1999-01-30  Jim Meyering  <meyering@ascend.com>
26296
26297         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
26298
26299         * m4/jm-mktime.m4: Make this a wrapper around the official
26300         AM_FUNC_MKTIME rather than my private copy, now that the official one
26301         is up to date.
26302         * m4/mktime.m4: Remove file.
26303
26304         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
26305         * m4/uptime.m4: Likewise.
26306         * m4/uintmax_t.m4: Likewise.
26307
26308 1999-01-28  Jim Meyering  <meyering@ascend.com>
26309
26310         * m4/jm-macros.m4: Use jm_AFS.
26311         * m4/afs.m4: New file (from fileutils' configure.in).
26312
26313         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
26314         * m4/chown.m4: Likewise.
26315         * m4/d-ino.m4: Likewise.
26316         * m4/d-type.m4: Likewise.
26317         * m4/fnmatch.m4: Likewise.
26318         * m4/getgroups.m4: Likewise.
26319         * m4/gettext.m4: Likewise.
26320         * m4/jm-mktime.m4: Likewise.
26321         * m4/jm-winsz2.m4: Likewise.
26322         * m4/lcmessage.m4: Likewise.
26323         * m4/ls-mntd-fs.m4: Likewise.
26324         * m4/malloc.m4: Likewise.
26325         * m4/memcmp.m4: Likewise.
26326         * m4/putenv.m4: Likewise.
26327         * m4/realloc.m4: Likewise.
26328         * m4/st_mtim.m4: Likewise.
26329         * m4/strftime.m4: Likewise.
26330
26331 1999-01-16  Jim Meyering  <meyering@ascend.com>
26332
26333         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
26334         (ARGMATCH_DIE_DECL): Define.
26335
26336 1999-01-12  Jim Meyering  <meyering@ascend.com>
26337
26338         * m4/Makefile.am.in: Rewrite to avoid using fmt.
26339         Reported by Lars Hecking.
26340
26341 1999-01-10  Jim Meyering  <meyering@ascend.com>
26342
26343         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
26344         gross kludge.
26345         * m4/inttypes_h.m4: Likewise.
26346         * m4/lstat.m4: Likewise.
26347         * m4/malloc.m4: Likewise.
26348         * m4/readdir.m4: Likewise.
26349         * m4/realloc.m4: Likewise.
26350         * m4/st_dm_mode.m4: Likewise.
26351         * m4/stat.m4: Likewise.
26352         * m4/utimbuf.m4: Likewise.
26353         * m4/utimes.m4: Likewise.
26354
26355         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
26356         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
26357         comments in config.h.in are meaningful.
26358
26359         * m4/jm-macros.m4: Require autoconf-2.13 here.
26360
26361         * m4/regex.m4: By default, don't use the included regex.c on systems
26362         with glibc 2.  Suggestion from Uli Drepper.
26363
26364 1999-01-02  Jim Meyering  <meyering@ascend.com>
26365
26366         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
26367
26368 1998-12-18  Jim Meyering  <meyering@ascend.com>
26369
26370         * m4/Makefile.am.in (Makefile.am): Simplify rule.
26371         Based on a suggestion from Lars Hecking.
26372
26373 1998-11-16  Paul Eggert  <eggert@twinsun.com>
26374
26375         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
26376
26377 1998-11-16  Jim Meyering  <meyering@ascend.com>
26378
26379         * m4/lfs.m4: Double-quote the `uname...` expression.
26380
26381 1998-11-14  Jim Meyering  <meyering@ascend.com>
26382
26383         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
26384         * m4/stat.m4: Likewise.
26385
26386 1998-11-03  Jim Meyering  <meyering@ascend.com>
26387
26388         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
26389         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
26390
26391 1998-10-18  Jim Meyering  <meyering@ascend.com>
26392
26393         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
26394
26395 1998-10-17  Jim Meyering  <meyering@ascend.com>
26396
26397         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
26398         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
26399         calls for those previously hard-coded headers.  Instead, take a new
26400         parameter.
26401         (jm_CHECK_DECLARATIONS): Reflect interface change.
26402         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
26403         (jm_CHECK_DECL_LOCALTIME_R): New macro.
26404
26405         * m4/mktime.m4: Test for spring-forward gap before long-running test.
26406
26407 1998-10-14  Jim Meyering  <meyering@ascend.com>
26408
26409         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
26410         instead of "TZ=America/Vancouver".  From Paul Eggert.
26411
26412 1998-10-11  Jim Meyering  <meyering@ascend.com>
26413
26414         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
26415         This adds a test for a recently added compatibility fix for mktime.c.
26416         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
26417
26418 1998-09-27  Jim Meyering  <meyering@ascend.com>
26419
26420         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
26421
26422         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
26423         ../configure.in, including a change from Gordon Matzigkeit to allow
26424         cross-compiling for the Hurd.
26425
26426         * m4/glibc.m4: New file/macro to test for the GNU C Library
26427         versions 1 and 2.  From Gordon Matzigkeit.
26428         Indent.
26429
26430 1998-09-21  Jim Meyering  <meyering@ascend.com>
26431
26432         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
26433
26434 1998-08-18  Paul Eggert  <eggert@twinsun.com>
26435
26436         Port nanosecond-resolution times to UnixWare 2.1.2 and
26437         pedantic Solaris 2.6.
26438
26439         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
26440         AC_STRUCT_ST_MTIM.
26441         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
26442         Generate name of ns member, instead of just 1 or undef.
26443         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
26444
26445 1998-08-15  Jim Meyering  <meyering@ascend.com>
26446
26447         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
26448         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
26449         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
26450         instead of jm_TYPE_SSIZE_T.
26451
26452 1998-08-12  Jim Meyering  <meyering@ascend.com>
26453
26454         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
26455
26456 1998-08-02  Jim Meyering  <meyering@ascend.com>
26457
26458         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
26459         in acconfig.h manually.
26460
26461 1998-07-31  Paul Eggert  <eggert@twinsun.com>
26462
26463         * m4/st_mtim.m4: New file.
26464
26465 1998-07-28  Jim Meyering  <meyering@ascend.com>
26466
26467         * m4/utimes.m4: Undef stat.
26468
26469 1998-07-25  Jim Meyering  <meyering@ascend.com>
26470
26471         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
26472         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
26473
26474 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
26475
26476         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
26477         uid and gid actually remain unchanged.
26478
26479 1998-07-07  Jim Meyering  <meyering@ascend.com>
26480
26481         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
26482
26483 1998-07-04  Jim Meyering  <meyering@ascend.com>
26484
26485         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
26486         to prove that this macro can be used in packages without regex.c.
26487
26488 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
26489
26490         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
26491         is to be used.
26492
26493 1998-07-03  Jim Meyering  <meyering@ascend.com>
26494
26495         * m4/gettext.m4: Add -lintl if it's found to be necessary.
26496
26497         * m4/gettext.m4: New file -- from gettext-0.10.35.
26498         * m4/lcmessage.m4: Likewise.
26499         * m4/progtest.m4: Likewise.
26500
26501         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
26502         * m4/jm-macros.m4: Require the new macro.
26503
26504 1998-06-29  Jim Meyering  <meyering@ascend.com>
26505
26506         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
26507         for the definition of NGROUPS (used in a system header included
26508         by sys/mount.h).
26509
26510 1998-06-28  Jim Meyering  <meyering@ascend.com>
26511
26512         * m4/ls-mntd-fs.m4: New file.
26513         * m4/fstypename.m4: New file.
26514
26515         * m4/jm-macros.m4: Require the new macro.
26516         * m4/jm-glibc-io.m4: New file.
26517
26518 1998-05-19  Jim Meyering  <meyering@ascend.com>
26519
26520         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
26521         * m4/lchown.m4: New file.
26522
26523         * m4/Makefile.am.in: New file.
26524         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
26525
26526 1998-05-14  Jim Meyering  <meyering@ascend.com>
26527
26528         * m4/Makefile.am (EXTRA_DIST): Add them.
26529         * m4/jm-macros.m4: New file.
26530         * m4/utimbuf.m4: New file.
26531
26532 1998-05-12  Jim Meyering  <meyering@ascend.com>
26533
26534         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
26535
26536 1998-05-11  Jim Meyering  <meyering@ascend.com>
26537
26538         * m4/isc-posix.m4: New file.
26539
26540 1998-05-10  Jim Meyering  <meyering@ascend.com>
26541
26542         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
26543
26544 1998-05-09  Jim Meyering  <meyering@ascend.com>
26545
26546         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
26547         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
26548         with automake.
26549
26550         * m4/ssize_t.m4: New file.
26551         * m4/mktime.m4: Remove file -- the new automake has this now.
26552
26553 1998-04-26  Jim Meyering  <meyering@ascend.com>
26554
26555         * m4/assert.m4: New file.
26556         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
26557
26558 1998-04-05  Jim Meyering  <meyering@ascend.com>
26559
26560         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
26561         (jm_PREREQ): Use it here.
26562
26563 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
26564
26565         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
26566         in acconfig.h.
26567
26568 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
26569
26570         * m4/prereq.m4: New file.
26571         * m4/error.m4: New file.
26572         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
26573
26574 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
26575
26576         * m4/getline.m4: Don't set am_cv_func_working_getline before the
26577         cache-check for the same variable -- that defeated the purpose of
26578         the test; the test program was never run.  This was a problem only
26579         on systems with losing getline functions -- HP-UX 10.20 is one.
26580         Reported by Bjorn Helgaas.
26581
26582 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
26583
26584         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
26585
26586 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
26587
26588         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
26589
26590         * m4/const.m4: New file.  Use an initializer in this declaration
26591         typedef int charset[2]; const charset x;
26592         Reported by Bob Glickstein.
26593
26594 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
26595
26596         * m4/chown.m4: Fix reversed types on -1 args to chown.
26597         From Kaveh Ghazi.
26598
26599 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
26600
26601         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
26602         Add lseek and memchr.
26603
26604         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
26605         T.E.Dickey <dickey@clark.net> said that some older preprocessors
26606         have a 20-character limit on names.
26607
26608 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
26609
26610         * m4/inttypes_h.m4: New file.
26611         * m4/uintmax_t.m4: New file.
26612         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
26613
26614 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
26615   Free Software Foundation, Inc.
26616 Copying and distribution of this file, with or without modification,
26617 are permitted provided the copyright notice and this notice are preserved.