* lib/arcfour.c: Assume config.h.
[gnulib.git] / ChangeLog
1 2006-10-29  Eric Blake  <ebb9@byu.net>
2
3         * lib/arcfour.c: Assume config.h.
4         * lib/arctwo.c: Likewise.
5         * lib/base64.c: Likewise.
6         * lib/check-version.c: Likewise.
7         * lib/crc.c: Likewise.
8         * lib/des.c: Likewise.
9         * lib/gc-gnulib.c: Likewise.
10         * lib/gc-libgcrypt.c: Likewise.
11         * lib/gc-pbkdf2-sha1.c: Likewise.
12         * lib/getaddrinfo.c: Likewise.
13         * lib/getdelim.c: Likewise.
14         * lib/getline.c: Likewise.
15         * lib/hmac-md5.c: Likewise.
16         * lib/hmac-sha1.c: Likewise.
17         * lib/iconvme.c: Likewise.
18         * lib/md2.c: Likewise.
19         * lib/md4.c: Likewise.
20         * lib/memxor.c: Likewise.
21         * lib/read-file.c: Likewise.
22         * lib/readline.c: Likewise.
23         * lib/rijndael-alg-fst.c: Likewise.
24         * lib/rijndael-api-fst.c: Likewise.
25         * lib/xgetdomainname.c: Likewise.
26
27 2006-10-28  Eric Blake  <ebb9@byu.net>
28
29         * lib/xstrndup.c: Assume config.h.
30
31 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
32
33         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
34         stat-macros.h is now for our own macros, whereas stat_h is for
35         macros in the <sys/stat.h> name space.
36         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
37         (STAT_MACROS_H): Remove.
38         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
39         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
40         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
41         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
42         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
43         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
44         Move these macros to ...
45         * lib/stat_.h: here.  Don't include stat-macros.h.
46         * lib/canonicalize.c: Don't include stat-macros.h.
47         * lib/chown.c: Likewise.
48         * lib/euidaccess.c: Likewise.
49         * lib/file-type.c: Likewise.
50         * lib/filemode.c: Likewise.
51         * lib/glob.c: Likewise.
52         * lib/isapipe.c: Likewise.
53         * lib/lchown.c: Likewise.
54         * lib/lstat.c: Likewise.
55         * lib/mkdir-p.c: Likewise.
56         * lib/rmdir.c: Likewise.
57         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
58         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
59         unless mkdir isn't declared, to speed up 'configure'.
60         Always create sys/stat.h, since it's unlikely any real sys/stat.h
61         would define all the S_* symbols.
62         * modules/canonicalize (Depends-on):
63         Depend on sys_stat, not stat-macros.
64         * modules/chown: Likewise.
65         * modules/euidaccess: Likewise.
66         * modules/filemode: Likewise.
67         * modules/file-type: Likewise.
68         * modules/glob: Likewise.
69         * modules/isapipe: Likewise.
70         * modules/lchown: Likewise.
71         * modules/lstat: Likewise.
72         * modules/mkancesdirs: Likewise.
73         * modules/rmdir: Likewise.
74         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
75         * modules/modechange: Likewise.
76         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
77         (configure.ac): Remove gl_STAT_MACROS.
78         * modules/sys_stat (Depends-on): Remove stat-macros.
79
80 2006-10-27  Bruno Haible  <bruno@clisp.org>
81
82         * m4/signed.m4: Remove file.
83         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
84         invocation.
85         * modules/vasnprintf (Files): Remove m4/signed.m4.
86
87 2006-10-27  Bruno Haible  <bruno@clisp.org>
88
89         Update to GNU gettext 0.16.
90         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
91         m4/inttypes-h.m4, m4/signed.m4.
92         * m4/gettext.m4: Update to GNU gettext 0.16.
93         * m4/intl.m4: New file, from GNU gettext.
94         * m4/intldir.m4: New file, from GNU gettext.
95         * config/srclist.txt: Update
96
97 2006-10-27  Eric Blake  <ebb9@byu.net>
98
99         * MODULES.html.sh: Document tempname.
100         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
101         dependencies.
102         (Files): Move lib/tempname.c...
103         * modules/tempname: ...to this new module.
104         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
105         (gl_PREREQ_TEMPNAME): Move...
106         * m4/tempname.m4: ...to this new file.
107         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
108         * modules/sys_stat (Depends-on): Add stat-macros.
109         * lib/stat_.h (includes): Pick up stat macros.
110         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
111         if stat macros are broken.
112         * lib/tempname.c (includes): No need to include "stat-macros.h".
113         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
114         (direxists, __path_search) [!_LIBC]: Don't compile these in
115         gnulib; the tmpdir module covers that.
116         * lib/tempname.h: New file.
117
118 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
119
120         * COPYING: Explain how gnulib-tool converts licence headers.
121         Almost all wording by Eric Blake.
122
123 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
124
125         * lib/mbchar.h (is_basic_table): Make read-only.
126         * lib/mbchar.c (is_basic_table): Likewise.
127         Reported by John Darrington.
128
129 2006-10-25  Bruno Haible  <bruno@clisp.org>
130
131         * lib/progname.h (set_program_name): Undefine before defining.
132
133 2006-10-25  Bruno Haible  <bruno@clisp.org>
134
135         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
136         false for non-gcc C++ compilers.
137         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
138
139 2006-10-24  Bruno Haible  <bruno@clisp.org>
140
141         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
142         iconv implementations like Irix iconv.
143
144 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
145
146         * modules/vararrays: New file.
147         * m4/vararrays.m4: New file, taken from diffutils.
148         * MODULES.html.sh: New module vararrays.
149
150 2006-10-24  Karl Berry  <karl@gnu.org>
151
152         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
153         Don't call GNU Unix.
154
155 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
156
157         * users.txt: Add Libtool.
158
159         Sync from Libtool:
160
161         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
162
163         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
164         to gnulib's policy of including config.h unconditionally.
165
166 2006-10-24  Bruno Haible  <bruno@clisp.org>
167
168         * modules/wcwidth (Files): Add m4/wint_t.m4.
169         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
170         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
171
172 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
173
174         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
175         to pacify GCC with some -W flags enabled.  Problem reported by
176         Bruno Haible.
177
178 2006-10-24  Jim Meyering  <jim@meyering.net>
179
180         * MODULES.html.sh: Remove uinttostr.  It's not a module.
181         Reported by Karl Berry.
182
183 2006-10-23  Bruno Haible  <bruno@clisp.org>
184
185         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
186
187 2006-10-24  Bruno Haible  <bruno@clisp.org>
188
189         * lib/gl_list.h: Use C comment style, not C++ comment style.
190
191 2006-10-23  Eric Blake  <ebb9@byu.net>
192
193         * lib/getaddrinfo.c (includes): Add missing include.
194
195 2006-10-23  Bruno Haible  <bruno@clisp.org>
196             Paul Eggert  <eggert@cs.ucla.edu>
197
198         Ability to rename obstack_free.
199         * lib/obstack.h (__obstack_free): New macro. Declare instead of
200         obstack_free.
201         (obstack_free): Invoke the __obstack_free macro.
202         * lib/obstack.c (obstack_free): Use __obstack_free macro.
203
204 2006-10-23  Bruno Haible  <bruno@clisp.org>
205             Paul Eggert  <eggert@cs.ucla.edu>
206
207         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
208         __argc, __argv from the declaration. (They are defined as macros on
209         mingw.)
210
211 2006-10-22  Bruno Haible  <bruno@clisp.org>
212
213         * doc/gnulib-intro.texi: New file.
214         * doc/gnulib.texi: Include it.
215
216 2006-10-21  Bruno Haible  <bruno@clisp.org>
217
218         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
219         "Introduction", "Miscellanous Notes", "Particular Modules".
220
221 2006-10-21  Bruno Haible  <bruno@clisp.org>
222
223         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
224         Change mostlyclean-local rule to avoid sh syntax error from bash
225         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
226
227 2006-10-23  Jim Meyering  <jim@meyering.net>
228
229         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
230         in place of snprintf.
231
232         * modules/inttostr (Files): Add lib/uinttostr.c.
233         * lib/uinttostr.c (inttostr): New file/function.
234         * lib/inttostr.h (uinttostr): Declare.
235         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
236         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
237         Add uinttostr.
238         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
239
240 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
241
242         * lib/canonicalize.c (ELOOP): Define if not already defined.
243         Problem reported by Bruno Haible in
244         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
245
246 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
247
248         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
249         Problem reported by Perry Smith and Ville Laurikari.
250
251         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
252         uses.
253
254 2006-10-19  Bruno Haible  <bruno@clisp.org>
255
256         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
257         for mingw.
258
259 2006-10-19  Bruno Haible  <bruno@clisp.org>
260
261         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
262         Needed for mingw.
263
264 2006-10-19  Bruno Haible  <bruno@clisp.org>
265
266         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
267
268 2006-10-19  Bruno Haible  <bruno@clisp.org>
269
270         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
271         it.
272
273 2006-10-19  Bruno Haible  <bruno@clisp.org>
274
275         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
276         invocation.
277
278 2006-10-19  Bruno Haible  <bruno@clisp.org>
279
280         * gnulib-tool (func_create_testdir): Don't include ftruncate and
281         mountlist by default.
282
283 2006-10-16  Bruno Haible  <bruno@clisp.org>
284
285         * lib/c-strstr.c: Include c-strstr.h.
286
287 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
288
289         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
290         in a slash.
291
292 2006-10-18  Bruno Haible  <bruno@clisp.org>
293
294         * lib/lock.h [C++]: Wrap definitions in extern "C".
295
296 2006-10-18  Bruno Haible  <bruno@clisp.org>
297
298         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
299         gl_LIBOBJS list.
300
301 2006-10-18  Bruno Haible  <bruno@clisp.org>
302
303         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
304
305 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
306
307         * lib/xstrtol.h: Include gettext.h.
308         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
309         Problem reported by Eric Blake.
310         * modules/xstrtol (Depends-on): Add gettext-h.
311
312 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
313
314         * lib/strftime.c (advance): New macro.
315         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
316         incomplete type, so you can't add 0 to it.  Problem and patch
317         reported by Eelco Dolstra for dietlibc.
318
319 2006-10-18  Jim Meyering  <jim@meyering.net>
320
321         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
322         type for a local, and rename it: s/up/user_proc/.
323
324 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
325
326         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
327         READ_UTMP_USER_PROCESS.
328         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
329
330 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
331
332         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
333         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
334
335 2006-10-17  Eric Blake  <ebb9@byu.net>
336
337         * lib/sigprocmask.c (sigprocmask): Fix typo.
338
339         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
340
341         * modules/clean-temp (Makefile.am): Don't add to make output...
342         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
343         config.h.
344
345 2006-10-17  Bruno Haible  <bruno@clisp.org>
346
347         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
348         differently if DEFAULT_TEXT_DOMAIN is set.
349
350 2006-10-16  Bruno Haible  <bruno@clisp.org>
351
352         * lib/clean-temp.c: Include fwriteerror.h.
353
354 2006-10-16  Bruno Haible  <bruno@clisp.org>
355
356         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
357
358 2006-10-16  Bruno Haible  <bruno@clisp.org>
359
360         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
361         * lib/sigprocmask.h: Include <sys/types.h>.
362         (sigset_t): Use the system's definition if present.
363
364 2006-10-17  Eric Blake  <ebb9@byu.net>
365
366         * lib/xvasprintf.c (includes): Assume config.h.
367         * lib/xasprintf.c (includes): Likewise.
368
369 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
370
371         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
372         at least as wide as intmax_t.
373
374 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
375
376         (Imported from Automake.)
377         * build-aux/gnupload: Update to version 1.1 of directive file.
378
379 2006-10-16  Eric Blake  <ebb9@byu.net>
380
381         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
382         match Automake 1.10a.
383
384 2006-10-14  Bruno Haible  <bruno@clisp.org>
385
386         * modules/sigprocmask: New file.
387         * lib/sigprocmask.h: New file.
388         * lib/sigprocmask.c: New file.
389         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
390         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
391         request sigprocmask.o.
392         (gl_PREREQ_SIGPROCMASK): New macro.
393         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
394         (Depends-on): Add sigprocmask.
395         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
396         gt_SIGNALBLOCKING. Test for 'raise' only once.
397         * lib/fatal-signal.c: Include sigprocmask.h.
398         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
399         unblock_fatal_signals): Define always.
400         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
401         sigprocmask.
402
403 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
404
405         Sync from Automake.
406         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
407         which incorrectly sets the mode of an existing destination
408         directory.  In some cases the unpatched install-sh could do the
409         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
410         system.  We hope this is rare in practice, but it's clearly worth
411         fixing.  Problem reported by Alex Unleashed in
412         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
413         Also, don't bother to check for -m bugs unless we're using -m;
414         suggested by Stepan Kasal.
415
416 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
417
418         Sync from Automake.
419         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
420         `-c' flag, so they appear at the same position as in %FASTDEP%
421         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
422         which ignores unknown options only after the first non-option.
423         Bug report against M4 by Nelson H. F. Beebe.
424
425 2006-10-13  Jim Meyering  <jim@meyering.net>
426
427         Fix a bug in yesterday's change.
428         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
429         p->fts_statp->st_dev would be used uninitialized.
430         Ensures that we always call fts_stat on the very first entry.
431         Miklos Szeredi reported that find -xdev stopped working.
432
433 2006-10-12  Bruno Haible  <bruno@clisp.org>
434
435         * gnulib-tool (func_get_automake_snippet): Append an automatically
436         computed EXTRA_DIST augmentation.
437         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
438         * modules/alloca-opt (Makefile.am): Likewise.
439         * modules/allocsa (Makefile.am): Likewise.
440         * modules/arcfour (Makefile.am): Likewise.
441         * modules/arctwo (Makefile.am): Likewise.
442         * modules/argmatch (Makefile.am): Likewise.
443         * modules/argz (Makefile.am): Likewise.
444         * modules/atexit (Makefile.am): Likewise.
445         * modules/backupfile (Makefile.am): Likewise.
446         * modules/byteswap (Makefile.am): Likewise.
447         * modules/c-strtod (Makefile.am): Likewise.
448         * modules/c-strtold (Makefile.am): Likewise.
449         * modules/calloc (Makefile.am): Likewise.
450         * modules/canon-host (Makefile.am): Likewise.
451         * modules/canonicalize (Makefile.am): Likewise.
452         * modules/chdir-long (Makefile.am): Likewise.
453         * modules/chdir-safer (Makefile.am): Likewise.
454         * modules/check-version (Makefile.am): Likewise.
455         * modules/chown (Makefile.am): Likewise.
456         * modules/cloexec (Makefile.am): Likewise.
457         * modules/close-stream (Makefile.am): Likewise.
458         * modules/closeout (Makefile.am): Likewise.
459         * modules/crc (Makefile.am): Likewise.
460         * modules/csharpexec (Makefile.am): Likewise.
461         * modules/cycle-check (Makefile.am): Likewise.
462         * modules/des (Makefile.am): Likewise.
463         * modules/dev-ino (Makefile.am): Likewise.
464         * modules/dirfd (Makefile.am): Likewise.
465         * modules/dirname (Makefile.am): Likewise.
466         * modules/dup2 (Makefile.am): Likewise.
467         * modules/eealloc (Makefile.am): Likewise.
468         * modules/error (Makefile.am): Likewise.
469         * modules/euidaccess (Makefile.am): Likewise.
470         * modules/exclude (Makefile.am): Likewise.
471         * modules/exitfail (Makefile.am): Likewise.
472         * modules/fcntl-safer (Makefile.am): Likewise.
473         * modules/fcntl (Makefile.am): Likewise.
474         * modules/file-type (Makefile.am): Likewise.
475         * modules/fileblocks (Makefile.am): Likewise.
476         * modules/filemode (Makefile.am): Likewise.
477         * modules/filenamecat (Makefile.am): Likewise.
478         * modules/fnmatch (Makefile.am): Likewise.
479         * modules/fopen-safer (Makefile.am): Likewise.
480         * modules/fpending (Makefile.am): Likewise.
481         * modules/fprintftime (Makefile.am): Likewise.
482         * modules/free (Makefile.am): Likewise.
483         * modules/fsusage (Makefile.am): Likewise.
484         * modules/ftruncate (Makefile.am): Likewise.
485         * modules/fts (Makefile.am): Likewise.
486         * modules/gc-arcfour (Makefile.am): Likewise.
487         * modules/gc-des (Makefile.am): Likewise.
488         * modules/gc-hmac-md5 (Makefile.am): Likewise.
489         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
490         * modules/gc-md4 (Makefile.am): Likewise.
491         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
492         * modules/gc-sha1 (Makefile.am): Likewise.
493         * modules/gc (Makefile.am): Likewise.
494         * modules/getaddrinfo (Makefile.am): Likewise.
495         * modules/getcwd (Makefile.am): Likewise.
496         * modules/getdelim (Makefile.am): Likewise.
497         * modules/getdomainname (Makefile.am): Likewise.
498         * modules/getgroups (Makefile.am): Likewise.
499         * modules/gethostname (Makefile.am): Likewise.
500         * modules/gethrxtime (Makefile.am): Likewise.
501         * modules/getline (Makefile.am): Likewise.
502         * modules/getloadavg (Makefile.am): Likewise.
503         * modules/getlogin_r (Makefile.am): Likewise.
504         * modules/getndelim2 (Makefile.am): Likewise.
505         * modules/getopt (Makefile.am): Likewise.
506         * modules/getpagesize (Makefile.am): Likewise.
507         * modules/getpass-gnu (Makefile.am): Likewise.
508         * modules/getpass (Makefile.am): Likewise.
509         * modules/getsubopt (Makefile.am): Likewise.
510         * modules/gettime (Makefile.am): Likewise.
511         * modules/gettimeofday (Makefile.am): Likewise.
512         * modules/getugroups (Makefile.am): Likewise.
513         * modules/getusershell (Makefile.am): Likewise.
514         * modules/glob (Makefile.am): Likewise.
515         * modules/group-member (Makefile.am): Likewise.
516         * modules/hard-locale (Makefile.am): Likewise.
517         * modules/hash (Makefile.am): Likewise.
518         * modules/hmac-md5 (Makefile.am): Likewise.
519         * modules/hmac-sha1 (Makefile.am): Likewise.
520         * modules/human (Makefile.am): Likewise.
521         * modules/idcache (Makefile.am): Likewise.
522         * modules/imaxabs (Makefile.am): Likewise.
523         * modules/imaxdiv (Makefile.am): Likewise.
524         * modules/inet_ntop (Makefile.am): Likewise.
525         * modules/inet_pton (Makefile.am): Likewise.
526         * modules/intprops (Makefile.am): Likewise.
527         * modules/inttostr (Makefile.am): Likewise.
528         * modules/inttypes (Makefile.am): Likewise.
529         * modules/isapipe (Makefile.am): Likewise.
530         * modules/javaversion (Makefile.am): Likewise.
531         * modules/lchmod (Makefile.am): Likewise.
532         * modules/lchown (Makefile.am): Likewise.
533         * modules/localcharset (Makefile.am): Likewise.
534         * modules/long-options (Makefile.am): Likewise.
535         * modules/lstat (Makefile.am): Likewise.
536         * modules/malloc (Makefile.am): Likewise.
537         * modules/mathl (Makefile.am): Likewise.
538         * modules/mbchar (Makefile.am): Likewise.
539         * modules/md2 (Makefile.am): Likewise.
540         * modules/md4 (Makefile.am): Likewise.
541         * modules/md5 (Makefile.am): Likewise.
542         * modules/memcasecmp (Makefile.am): Likewise.
543         * modules/memchr (Makefile.am): Likewise.
544         * modules/memcmp (Makefile.am): Likewise.
545         * modules/memcoll (Makefile.am): Likewise.
546         * modules/memcpy (Makefile.am): Likewise.
547         * modules/memmem (Makefile.am): Likewise.
548         * modules/memmove (Makefile.am): Likewise.
549         * modules/mempcpy (Makefile.am): Likewise.
550         * modules/memrchr (Makefile.am): Likewise.
551         * modules/memset (Makefile.am): Likewise.
552         * modules/memxor (Makefile.am): Likewise.
553         * modules/mkancesdirs (Makefile.am): Likewise.
554         * modules/mkdir-p (Makefile.am): Likewise.
555         * modules/mkdir (Makefile.am): Likewise.
556         * modules/mkdtemp (Makefile.am): Likewise.
557         * modules/mkstemp (Makefile.am): Likewise.
558         * modules/mktime (Makefile.am): Likewise.
559         * modules/modechange (Makefile.am): Likewise.
560         * modules/mountlist (Makefile.am): Likewise.
561         * modules/nanosleep (Makefile.am): Likewise.
562         * modules/obstack (Makefile.am): Likewise.
563         * modules/openat (Makefile.am): Likewise.
564         * modules/pagealign_alloc (Makefile.am): Likewise.
565         * modules/pathmax (Makefile.am): Likewise.
566         * modules/physmem (Makefile.am): Likewise.
567         * modules/poll (Makefile.am): Likewise.
568         * modules/posixtm (Makefile.am): Likewise.
569         * modules/posixver (Makefile.am): Likewise.
570         * modules/putenv (Makefile.am): Likewise.
571         * modules/quote (Makefile.am): Likewise.
572         * modules/quotearg (Makefile.am): Likewise.
573         * modules/raise (Makefile.am): Likewise.
574         * modules/read-file (Makefile.am): Likewise.
575         * modules/readline (Makefile.am): Likewise.
576         * modules/readlink (Makefile.am): Likewise.
577         * modules/readtokens (Makefile.am): Likewise.
578         * modules/readutmp (Makefile.am): Likewise.
579         * modules/realloc (Makefile.am): Likewise.
580         * modules/regex (Makefile.am): Likewise.
581         * modules/rename-dest-slash (Makefile.am): Likewise.
582         * modules/rename (Makefile.am): Likewise.
583         * modules/rijndael (Makefile.am): Likewise.
584         * modules/rmdir (Makefile.am): Likewise.
585         * modules/rpmatch (Makefile.am): Likewise.
586         * modules/safe-read (Makefile.am): Likewise.
587         * modules/safe-write (Makefile.am): Likewise.
588         * modules/same-inode (Makefile.am): Likewise.
589         * modules/same (Makefile.am): Likewise.
590         * modules/save-cwd (Makefile.am): Likewise.
591         * modules/savedir (Makefile.am): Likewise.
592         * modules/setenv (Makefile.am): Likewise.
593         * modules/settime (Makefile.am): Likewise.
594         * modules/sha1 (Makefile.am): Likewise.
595         * modules/sig2str (Makefile.am): Likewise.
596         * modules/snprintf (Makefile.am): Likewise.
597         * modules/stat-macros (Makefile.am): Likewise.
598         * modules/stat-time (Makefile.am): Likewise.
599         * modules/stdbool (Makefile.am): Likewise.
600         * modules/stdint (Makefile.am): Likewise.
601         * modules/stdlib-safer (Makefile.am): Likewise.
602         * modules/stpcpy (Makefile.am): Likewise.
603         * modules/stpncpy (Makefile.am): Likewise.
604         * modules/strcase (Makefile.am): Likewise.
605         * modules/strcasestr (Makefile.am): Likewise.
606         * modules/strchrnul (Makefile.am): Likewise.
607         * modules/strcspn (Makefile.am): Likewise.
608         * modules/strdup (Makefile.am): Likewise.
609         * modules/strerror (Makefile.am): Likewise.
610         * modules/strftime (Makefile.am): Likewise.
611         * modules/strndup (Makefile.am): Likewise.
612         * modules/strnlen (Makefile.am): Likewise.
613         * modules/strpbrk (Makefile.am): Likewise.
614         * modules/strsep (Makefile.am): Likewise.
615         * modules/strstr (Makefile.am): Likewise.
616         * modules/strtod (Makefile.am): Likewise.
617         * modules/strtoimax (Makefile.am): Likewise.
618         * modules/strtok_r (Makefile.am): Likewise.
619         * modules/strtol (Makefile.am): Likewise.
620         * modules/strtoll (Makefile.am): Likewise.
621         * modules/strtoul (Makefile.am): Likewise.
622         * modules/strtoull (Makefile.am): Likewise.
623         * modules/strtoumax (Makefile.am): Likewise.
624         * modules/strverscmp (Makefile.am): Likewise.
625         * modules/sys_socket (Makefile.am): Likewise.
626         * modules/sys_stat (Makefile.am): Likewise.
627         * modules/sysexits (Makefile.am): Likewise.
628         * modules/time_r (Makefile.am): Likewise.
629         * modules/timegm (Makefile.am): Likewise.
630         * modules/timespec (Makefile.am): Likewise.
631         * modules/tmpfile-safer (Makefile.am): Likewise.
632         * modules/trim (Makefile.am): Likewise.
633         * modules/unistd-safer (Makefile.am): Likewise.
634         * modules/unlinkdir (Makefile.am): Likewise.
635         * modules/unlocked-io (Makefile.am): Likewise.
636         * modules/userspec (Makefile.am): Likewise.
637         * modules/utime (Makefile.am): Likewise.
638         * modules/utimecmp (Makefile.am): Likewise.
639         * modules/utimens (Makefile.am): Likewise.
640         * modules/vasnprintf (Makefile.am): Likewise.
641         * modules/vasprintf (Makefile.am): Likewise.
642         * modules/vsnprintf (Makefile.am): Likewise.
643         * modules/xalloc (Makefile.am): Likewise.
644         * modules/xgetcwd (Makefile.am): Likewise.
645         * modules/xnanosleep (Makefile.am): Likewise.
646         * modules/xreadlink (Makefile.am): Likewise.
647         * modules/xstrtod (Makefile.am): Likewise.
648         * modules/xstrtol (Makefile.am): Likewise.
649         * modules/xstrtold (Makefile.am): Likewise.
650         * modules/yesno (Makefile.am): Likewise.
651         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
652
653 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
654
655         * modules/error (Makefile.am): Distribute files through
656         EXTRA_DIST, not lib_SOURCES.
657
658 2006-10-12  Eric Blake  <ebb9@byu.net>
659
660         * modules/error (Makefile.am): Distribute files in /lib.
661         * modules/obstack (Makefile.am): Likewise.
662
663 2006-10-12  Bruno Haible  <bruno@clisp.org>
664
665         * modules/acl (Makefile.am): Distribute all files in lib/ through
666         EXTRA_DIST.
667         * modules/arcfour (Makefile.am): Likewise.
668         * modules/arctwo (Makefile.am): Likewise.
669         * modules/argmatch (Makefile.am): Likewise.
670         * modules/argz (Makefile.am): Likewise.
671         * modules/atexit (Makefile.am): Likewise.
672         * modules/backupfile (Makefile.am): Likewise.
673         * modules/c-strtod (Makefile.am): Likewise.
674         * modules/c-strtold (Makefile.am): Likewise.
675         * modules/calloc (Makefile.am): Likewise.
676         * modules/canon-host (Makefile.am): Likewise.
677         * modules/canonicalize (Makefile.am): Likewise.
678         * modules/chdir-long (Makefile.am): Likewise.
679         * modules/chdir-safer (Makefile.am): Likewise.
680         * modules/check-version (Makefile.am): Likewise.
681         * modules/chown (Makefile.am): Likewise.
682         * modules/cloexec (Makefile.am): Likewise.
683         * modules/close-stream (Makefile.am): Likewise.
684         * modules/closeout (Makefile.am): Likewise.
685         * modules/crc (Makefile.am): Likewise.
686         * modules/cycle-check (Makefile.am): Likewise.
687         * modules/des (Makefile.am): Likewise.
688         * modules/dirfd (Makefile.am): Likewise.
689         * modules/dirname (Makefile.am): Likewise.
690         * modules/dup2 (Makefile.am): Likewise.
691         * modules/euidaccess (Makefile.am): Likewise.
692         * modules/exclude (Makefile.am): Likewise.
693         * modules/exitfail (Makefile.am): Likewise.
694         * modules/fcntl-safer (Makefile.am): Likewise.
695         * modules/file-type (Makefile.am): Likewise.
696         * modules/fileblocks (Makefile.am): Likewise.
697         * modules/filemode (Makefile.am): Likewise.
698         * modules/filenamecat (Makefile.am): Likewise.
699         * modules/fnmatch (Makefile.am): Likewise.
700         * modules/fopen-safer (Makefile.am): Likewise.
701         * modules/fpending (Makefile.am): Likewise.
702         * modules/fprintftime (Makefile.am): Likewise.
703         * modules/free (Makefile.am): Likewise.
704         * modules/fsusage (Makefile.am): Likewise.
705         * modules/ftruncate (Makefile.am): Likewise.
706         * modules/fts (Makefile.am): Likewise.
707         * modules/gc (Makefile.am): Likewise.
708         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
709         * modules/getaddrinfo (Makefile.am): Likewise.
710         * modules/getcwd (Makefile.am): Likewise.
711         * modules/getdelim (Makefile.am): Likewise.
712         * modules/getdomainname (Makefile.am): Likewise.
713         * modules/getgroups (Makefile.am): Likewise.
714         * modules/gethostname (Makefile.am): Likewise.
715         * modules/gethrxtime (Makefile.am): Likewise.
716         * modules/getline (Makefile.am): Likewise.
717         * modules/getloadavg (Makefile.am): Likewise.
718         * modules/getlogin_r (Makefile.am): Likewise.
719         * modules/getopt (Makefile.am): Likewise.
720         * modules/getpass (Makefile.am): Likewise.
721         * modules/getpass-gnu (Makefile.am): Likewise.
722         * modules/getsubopt (Makefile.am): Likewise.
723         * modules/gettime (Makefile.am): Likewise.
724         * modules/gettimeofday (Makefile.am): Likewise.
725         * modules/getugroups (Makefile.am): Likewise.
726         * modules/getusershell (Makefile.am): Likewise.
727         * modules/glob (Makefile.am): Likewise.
728         * modules/group-member (Makefile.am): Likewise.
729         * modules/hard-locale (Makefile.am): Likewise.
730         * modules/hash (Makefile.am): Likewise.
731         * modules/hmac-md5 (Makefile.am): Likewise.
732         * modules/hmac-sha1 (Makefile.am): Likewise.
733         * modules/human (Makefile.am): Likewise.
734         * modules/idcache (Makefile.am): Likewise.
735         * modules/imaxabs (Makefile.am): Likewise.
736         * modules/imaxdiv (Makefile.am): Likewise.
737         * modules/inet_ntop (Makefile.am): Likewise.
738         * modules/inet_pton (Makefile.am): Likewise.
739         * modules/inttostr (Makefile.am): Likewise.
740         * modules/isapipe (Makefile.am): Likewise.
741         * modules/lchown (Makefile.am): Likewise.
742         * modules/long-options (Makefile.am): Likewise.
743         * modules/lstat (Makefile.am): Likewise.
744         * modules/malloc (Makefile.am): Likewise.
745         * modules/mathl (Makefile.am): Likewise.
746         * modules/mbchar (Makefile.am): Likewise.
747         * modules/md2 (Makefile.am): Likewise.
748         * modules/md4 (Makefile.am): Likewise.
749         * modules/md5 (Makefile.am): Likewise.
750         * modules/memcasecmp (Makefile.am): Likewise.
751         * modules/memchr (Makefile.am): Likewise.
752         * modules/memcmp (Makefile.am): Likewise.
753         * modules/memcoll (Makefile.am): Likewise.
754         * modules/memcpy (Makefile.am): Likewise.
755         * modules/memmem (Makefile.am): Likewise.
756         * modules/memmove (Makefile.am): Likewise.
757         * modules/mempcpy (Makefile.am): Likewise.
758         * modules/memrchr (Makefile.am): Likewise.
759         * modules/memset (Makefile.am): Likewise.
760         * modules/memxor (Makefile.am): Likewise.
761         * modules/mkancesdirs (Makefile.am): Likewise.
762         * modules/mkdir (Makefile.am): Likewise.
763         * modules/mkdir-p (Makefile.am): Likewise.
764         * modules/mkdtemp (Makefile.am): Likewise.
765         * modules/mkstemp (Makefile.am): Likewise.
766         * modules/mktime (Makefile.am): Likewise.
767         * modules/modechange (Makefile.am): Likewise.
768         * modules/mountlist (Makefile.am): Likewise.
769         * modules/nanosleep (Makefile.am): Likewise.
770         * modules/openat (Makefile.am): Likewise.
771         * modules/pagealign_alloc (Makefile.am): Likewise.
772         * modules/physmem (Makefile.am): Likewise.
773         * modules/poll (Makefile.am): Likewise.
774         * modules/posixtm (Makefile.am): Likewise.
775         * modules/posixver (Makefile.am): Likewise.
776         * modules/putenv (Makefile.am): Likewise.
777         * modules/quote (Makefile.am): Likewise.
778         * modules/quotearg (Makefile.am): Likewise.
779         * modules/raise (Makefile.am): Likewise.
780         * modules/read-file (Makefile.am): Likewise.
781         * modules/readline (Makefile.am): Likewise.
782         * modules/readlink (Makefile.am): Likewise.
783         * modules/readtokens (Makefile.am): Likewise.
784         * modules/readutmp (Makefile.am): Likewise.
785         * modules/realloc (Makefile.am): Likewise.
786         * modules/regex (Makefile.am): Likewise.
787         * modules/rename (Makefile.am): Likewise.
788         * modules/rename-dest-slash (Makefile.am): Likewise.
789         * modules/rijndael (Makefile.am): Likewise.
790         * modules/rmdir (Makefile.am): Likewise.
791         * modules/rpmatch (Makefile.am): Likewise.
792         * modules/safe-read (Makefile.am): Likewise.
793         * modules/safe-write (Makefile.am): Likewise.
794         * modules/same (Makefile.am): Likewise.
795         * modules/save-cwd (Makefile.am): Likewise.
796         * modules/savedir (Makefile.am): Likewise.
797         * modules/setenv (Makefile.am): Likewise.
798         * modules/settime (Makefile.am): Likewise.
799         * modules/sha1 (Makefile.am): Likewise.
800         * modules/sig2str (Makefile.am): Likewise.
801         * modules/snprintf (Makefile.am): Likewise.
802         * modules/stdlib-safer (Makefile.am): Likewise.
803         * modules/stpcpy (Makefile.am): Likewise.
804         * modules/stpncpy (Makefile.am): Likewise.
805         * modules/strcase (Makefile.am): Likewise.
806         * modules/strcasestr (Makefile.am): Likewise.
807         * modules/strchrnul (Makefile.am): Likewise.
808         * modules/strcspn (Makefile.am): Likewise.
809         * modules/strdup (Makefile.am): Likewise.
810         * modules/strerror (Makefile.am): Likewise.
811         * modules/strftime (Makefile.am): Likewise.
812         * modules/strndup (Makefile.am): Likewise.
813         * modules/strnlen (Makefile.am): Likewise.
814         * modules/strpbrk (Makefile.am): Likewise.
815         * modules/strsep (Makefile.am): Likewise.
816         * modules/strstr (Makefile.am): Likewise.
817         * modules/strtod (Makefile.am): Likewise.
818         * modules/strtoimax (Makefile.am): Likewise.
819         * modules/strtok_r (Makefile.am): Likewise.
820         * modules/strtol (Makefile.am): Likewise.
821         * modules/strtoll (Makefile.am): Likewise.
822         * modules/strtoul (Makefile.am): Likewise.
823         * modules/strtoull (Makefile.am): Likewise.
824         * modules/strtoumax (Makefile.am): Likewise.
825         * modules/strverscmp (Makefile.am): Likewise.
826         * modules/time_r (Makefile.am): Likewise.
827         * modules/timegm (Makefile.am): Likewise.
828         * modules/tmpfile-safer (Makefile.am): Likewise.
829         * modules/unistd-safer (Makefile.am): Likewise.
830         * modules/unlinkdir (Makefile.am): Likewise.
831         * modules/userspec (Makefile.am): Likewise.
832         * modules/utime (Makefile.am): Likewise.
833         * modules/utimecmp (Makefile.am): Likewise.
834         * modules/utimens (Makefile.am): Likewise.
835         * modules/vasnprintf (Makefile.am): Likewise.
836         * modules/vasprintf (Makefile.am): Likewise.
837         * modules/vsnprintf (Makefile.am): Likewise.
838         * modules/xalloc (Makefile.am): Likewise.
839         * modules/xgetcwd (Makefile.am): Likewise.
840         * modules/xnanosleep (Makefile.am): Likewise.
841         * modules/xreadlink (Makefile.am): Likewise.
842         * modules/xstrtod (Makefile.am): Likewise.
843         * modules/xstrtol (Makefile.am): Likewise.
844         * modules/xstrtold (Makefile.am): Likewise.
845         * modules/yesno (Makefile.am): Likewise.
846
847 2006-10-12  Jim Meyering  <jim@meyering.net>
848
849         * m4/getloadavg.m4: Revert the change below.
850
851         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
852         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
853         fail with a symlink, which is what coreutils' ./bootstrap now
854         creates by default.
855
856 2006-10-12  Bruno Haible  <bruno@clisp.org>
857
858         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
859         mingw.
860         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
861         MSVC and mingw explicitly.
862
863 2006-10-11  Simon Josefsson  <jas@extundo.com>
864             Bruno Haible  <bruno@clisp.org>
865
866         Add support for multiple gnulib-tool invocations in the scope of a
867         single configure.ac file.
868         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
869         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
870         with the same contents as the _LIBADD variable.
871         (func_emit_initmacro_start, func_emit_initmacro_end,
872         func_emit_initmacro_done): New functions.
873         (func_import, func_create_testdir): Invoke them. Allow the identifiers
874         gl_LIBOBJS and gl_LTLIBOBJS.
875
876 2006-10-11  Bruno Haible  <bruno@clisp.org>
877
878         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
879         (func_create_testdir): Don't create po/Makefile.am, don't invoke
880         autoreconf. Instead, invoke autopoint explicitly but move back the
881         *.m4 files from gnulib.
882
883 2006-10-11  Bruno Haible  <bruno@clisp.org>
884
885         * gnulib-tool (func_usage): Make module names after --create-testdir
886         optional.
887         (func_create_testdir): If no module was specified, use nearly all
888         modules.
889
890 2006-10-12  Jim Meyering  <jim@meyering.net>
891
892         Big performance improvement for fts-based tools that use FTS_NOSTAT.
893         Avoid spurious inode-mismatch problems on non-POSIX file systems.
894         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
895         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
896         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
897         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
898         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
899         (fts_set_stat_required): New function.
900         (fts_open): Defer the calls to fts_stat, if possible or requested.
901         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
902         into fts_stat itself.
903         (fts_read): Perform any required (deferred) fts_stat call.
904         (fts_build): Likewise, for the directory we're about to open and read.
905         In the readdir loop, carefully decide whether each entry will require
906         an eventual call to fts_stat, using dirent.d_type info if available.
907         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
908         a command line argument into this function.  Update all callers.
909         Map a return value of FTS_DOT to FTS_D for a command line argument.
910         * modules/fts (Depends-on): Add d-type.  Alphabetize.
911         Thanks to Miklos Szeredi for his tenacity and for the initial
912         bug report about "find" failing on a FUSE-based file system.
913
914         * lib/fts.c (fts_open): Use consistent indentation.
915
916 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
917
918         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
919         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
920         reported by Jim Meyering.  All uses of cache variables renamed
921         to match Autoconf's.
922         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
923         the other one.
924
925         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
926         Fix misspelling in diagnostic.
927
928 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
929
930         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
931         defined.  Problem reported by Matthew Woehlke.
932
933         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
934         Add support for Tandem NonStop R series.
935         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
936         Use new macro.
937
938         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
939         (has_trailing_slash): Omit size arg; all callers changed.
940         Omit 'inline', since it doesn't help performance and we'd
941         need to configure it.
942         Don't count //, ///, etc. as having a trailing slash.
943         As a side effect, this removes a C99ism reported by Matthew Woehlke.
944         (rpl_rename_dest_slash): On failure, use rename's errno rather
945         than (in some cases) an incorrect or junk errno.
946         Simplify code by removing need to compute length; this does
947         cause it to make two passes instead of one over the file name,
948         but it's worth it.
949
950         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
951         change, since Autoconf's version may no longer be appropriate now
952         that we are using CVS Autoconf's version.  Add support for Tandem.
953
954 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
955             Bruno Haible  <bruno@clisp.org>
956
957         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
958         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
959         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
960         gl_AC_TYPE_LONG_LONG.
961
962         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
963         instead of HAVE_LONG_LONG.
964         * lib/printf-args.c (printf_fetchargs): Likewise.
965         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
966         * lib/vasnprintf.c (VASNPRINTF): Likewise.
967         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
968         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
969         gl_AC_TYPE_LONG_LONG.
970
971 2006-10-11  Bruno Haible  <bruno@clisp.org>
972
973         * m4/longlong.m4: Add comments.
974         * m4/ulonglong.m4: Likewise.
975
976 2006-10-10  Bruno Haible  <bruno@clisp.org>
977
978         Make it possible to #define stpcpy, strdup to aliases.
979         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
980         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
981
982 2006-10-10  Bruno Haible  <bruno@clisp.org>
983
984         Make it possible to #define gcd to an alias.
985         * lib/gcd.c: Include config.h.
986
987 2006-10-10  Bruno Haible  <bruno@clisp.org>
988
989         Make it possible to #define c_isascii to an alias.
990         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
991         defined. Undefine the macros before defining them, to avoid gcc
992         warnings.
993         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
994         define NO_C_CTYPE_MACROS early.
995
996 2006-10-10  Bruno Haible  <bruno@clisp.org>
997
998         Make it possible to #define set_program_name to an alias.
999         * lib/progname.c: Don't undefine set_program_name; instead, undefine
1000         ENABLE_RELOCATABLE early.
1001
1002 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
1003
1004         Port to Tandem NSK OSS, which has 64-bit signed int but at most
1005         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
1006         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
1007         More generally, don't assume that 64-bit signed int is available
1008         if unsigned int is, and vice versa.
1009         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
1010         unsigned symbols, not on their signed counterparts.
1011         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
1012         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
1013         (UINT64_C, UINTMAX_C):
1014         Likewise.
1015         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
1016         unsigned counterparts.
1017         (Have_long_long, Unsigned): New macros.
1018         (Int): Renamed from INT.
1019         (strtoimax): Use the new macros.
1020         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
1021         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
1022         * modules/inttypes (inttypes.h): Substitute
1023         HAVE_UNSIGNED_LONG_LONG_INT.
1024         * modules/stdint (stdint.h): Likewise.
1025         (Files): Add m4/ulonglong.m4.
1026
1027 2006-10-10  Bruno Haible  <bruno@clisp.org>
1028
1029         Fix a gcc -Wshadow warning.
1030         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
1031         to 'bucket'.
1032         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
1033         gl_linked_indexof_from_to): Likewise.
1034         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
1035         Likewise.
1036         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
1037         Likewise.
1038         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
1039         Reported by Eric Blake.
1040
1041 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
1042
1043         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
1044         for NetBSD.  Problem reported by Bruno Haible.
1045
1046 2006-10-09  Jim Meyering  <jim@meyering.net>
1047
1048         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
1049         Patch from Bruno Haible.
1050
1051 2006-10-09  Jim Meyering  <jim@meyering.net>
1052
1053         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
1054         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
1055         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
1056
1057 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
1058
1059         Don't include <config.h> twice; this doesn't work in some cases,
1060         e.g., when config.h has "#define intmax_t long long int" and
1061         we include <config.h>, <inttypes.h>, <config.h> in that order.
1062         Problem reported by Matthew Woehlke in:
1063         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
1064         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
1065         * lib/fts-cycle.c: Don't include config.h.
1066         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
1067         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
1068         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
1069         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
1070         inttypes.h.
1071         * lib/xstrtoumax.c: Likewise.
1072         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
1073         __strtol and the like, so that this module is more like its siblings.
1074         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
1075         Remove; no longer needed now that we assume gnulib inttypes.h.
1076
1077 2006-10-08  Bruno Haible  <bruno@clisp.org>
1078
1079         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
1080         option.
1081
1082 2006-10-07  Jim Meyering  <jim@meyering.net>
1083
1084         * modules/inttypes (inttypes.h): Revert what seems to have been
1085         an inadvertent part of today's change: use "|", not "/" in the
1086         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
1087
1088 2006-10-07  Bruno Haible  <bruno@clisp.org>
1089
1090         * modules/sublist: New file.
1091
1092 2006-10-07  Bruno Haible  <bruno@clisp.org>
1093
1094         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
1095         * modules/argz (argz.h): Likewise.
1096         * modules/arpa_inet (arpa/inet.h): Likewise.
1097         * modules/byteswap (byteswap.h): Likewise.
1098         * modules/configmake (configmake.h): Likewise.
1099         * modules/fcntl (fcntl.h): Likewise.
1100         * modules/fnmatch (fnmatch.h): Likewise.
1101         * modules/getopt (getopt.h): Likewise.
1102         * modules/glob (glob.h): Likewise.
1103         * modules/inttypes (inttypes.h): Likewise.
1104         * modules/netinet_in (netinet/in.h): Likewise.
1105         * modules/poll (poll.h): Likewise.
1106         * modules/stdbool (stdbool.h): Likewise.
1107         * modules/stdint (stdint.h): Likewise.
1108         * modules/sys_select (sys/select.h): Likewise.
1109         * modules/sys_socket (sys/socket.h): Likewise.
1110         * modules/sys_stat (sys/stat.h): Likewise.
1111         * modules/sysexits (sysexits.h): Likewise.
1112         * modules/unistd (unistd.h): Likewise.
1113         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1114         Add a "DO NOT EDIT" comment to the generated file.
1115         (func_import): Likewise for gnulib-comp.m4.
1116
1117 2006-10-07  Bruno Haible  <bruno@clisp.org>
1118
1119         * lib/gl_sublist.h: New file.
1120         * lib/gl_sublist.c: New file.
1121
1122 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
1123
1124         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
1125         name (relative to the original working directory) and the file
1126         name component (relative to the temporary working directory).  All
1127         callers changed.
1128         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
1129         * lib/mkdir-p.c (make_dir_parents): Likewise.
1130         * lib/mkdir-p.h (make_dir_parents): Likewise.
1131
1132 2006-10-06  Eric Blake  <ebb9@byu.net>
1133
1134         Define several macros for use by the clean-temp module.
1135         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
1136         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
1137         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
1138
1139         * lib/clean-temp.h (close_stream_temp): New declaration.
1140         * lib/clean-temp.c (includes): Pull in headers according to what
1141         other modules are in use.
1142         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
1143
1144 2006-10-06  Bruno Haible  <bruno@clisp.org>
1145
1146         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
1147         instead of fopen, fwriteerror.
1148
1149 2006-10-06  Bruno Haible  <bruno@clisp.org>
1150
1151         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
1152         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
1153         int.
1154         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
1155         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
1156         Return an error indicator.
1157         Suggested by Eric Blake.
1158
1159 2006-10-06  Bruno Haible  <bruno@clisp.org>
1160
1161         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
1162         Reported by Eric Blake.
1163
1164 2006-10-06  Bruno Haible  <bruno@clisp.org>
1165
1166         * modules/closeout (Description): Mention stderr too.
1167
1168 2006-10-06  Bruno Haible  <bruno@clisp.org>
1169         and Paul Eggert  <eggert@cs.ucla.edu>
1170
1171         * lib/closeout.c (close_stdout): Also close stderr.
1172         * lib/closeout.h: Update comment.
1173
1174 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
1175
1176         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
1177         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
1178         * lib/dirchownmod.c: Include lchown.h.
1179         * lib/lchown.c: Don't include files that lchown.h now includes.
1180         Don't declare chown, since lchown.h now does that.
1181         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
1182         (lchown): Define to rpl_chown if lchown is declared but
1183         does not exist.  Declare using a prototype if lchown is not
1184         declared.  Add a copyright notice.
1185         * lib/mkstemp.h: Include <unistd.h>.
1186         * lib/openat.c: Include lchown.h.
1187
1188         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
1189         we now test for that separately.
1190         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
1191         rather than O_NOFOLLOW, when testing whether it's possible to
1192         avoid a race condition reliably.
1193         * lib/savewd.c (savewd_chdir): Likewise.
1194
1195         Remove macros that are no longer needed now that stdint.h is
1196         reliable.
1197         * lib/fsusage.c (UINTMAX_MAX): Remove.
1198         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
1199         * lib/utimecmp.c (SIZE_MAX): Remove.
1200
1201         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
1202
1203         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
1204         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
1205         O_NOATIME works.
1206
1207 2006-10-05  Bruno Haible  <bruno@clisp.org>
1208
1209         * lib/gl_list.h (gl_sortedlist_search_from_to,
1210         gl_sortedlist_indexof_from_to): New declarations.
1211         (gl_list_implementation): New fields sortedlist_search_from_to,
1212         sortedlist_indexof_from_to.
1213         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
1214         inline functions.
1215         * lib/gl_list.c (gl_sortedlist_search_from_to,
1216         gl_sortedlist_indexof_from_to): New functions.
1217         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
1218         function.
1219         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
1220         (gl_array_sortedlist_search_from_to): New function.
1221         (gl_array_list_implementation): Update.
1222         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
1223         function.
1224         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
1225         (gl_carray_sortedlist_search_from_to): New function.
1226         (gl_carray_list_implementation): Update.
1227         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
1228         gl_linked_sortedlist_indexof_from_to): New functions.
1229         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
1230         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
1231         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
1232         gl_tree_sortedlist_indexof_from_to): New functions.
1233         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
1234         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
1235         Update.
1236         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
1237         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
1238         Update.
1239
1240 2006-10-05  Bruno Haible  <bruno@clisp.org>
1241
1242         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
1243         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
1244         (struct gl_list_implementation): Add fields search_from_to,
1245         indexof_from_to. Remove fields search, indexof.
1246         (gl_list_search): Use the search_from_to method.
1247         (gl_list_search_from, gl_list_search_from_to): New functions.
1248         (gl_list_indexof): Use the indexof_from_to method.
1249         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
1250         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
1251         (gl_list_search_from, gl_list_search_from_to): New functions.
1252         (gl_list_indexof): Use the indexof_from_to method.
1253         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
1254         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
1255         gl_array_indexof. Add start_index, end_index arguments.
1256         (gl_array_search_from_to): Renamed from gl_array_search. Add
1257         start_index, end_index arguments.
1258         (gl_array_remove, gl_array_list_implementation): Update.
1259         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
1260         gl_carray_indexof. Add start_index, end_index arguments.
1261         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
1262         start_index, end_index arguments.
1263         (gl_carray_remove, gl_carray_list_implementation): Update.
1264         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
1265         gl_linked_search. Add start_index, end_index arguments.
1266         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
1267         start_index, end_index arguments.
1268         (gl_linked_remove): Update.
1269         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
1270         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
1271         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
1272         field to 'size_t'.
1273         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
1274         gl_tree_search. Add start_index, end_index arguments.
1275         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
1276         start_index, end_index arguments.
1277         (gl_tree_remove): Update.
1278         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
1279         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
1280         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
1281         function.
1282         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
1283         gl_tree_search. Add start_index, end_index arguments.
1284         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
1285         start_index, end_index arguments.
1286         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
1287         Update.
1288         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
1289
1290 2006-10-05  Bruno Haible  <bruno@clisp.org>
1291
1292         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
1293
1294         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
1295         fwriteerror_temp): New declarations.
1296         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
1297         (descriptors): New variable.
1298         (cleanup): First, close the descriptors.
1299         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
1300         fclose_temp, fwriteerror_temp): New functions.
1301
1302 2006-10-04  Jim Meyering  <jim@meyering.net>
1303
1304         * lib/fts.c (fts_open): Tiny comment change.
1305
1306 2006-10-04  Bruno Haible  <bruno@clisp.org>
1307
1308         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
1309         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
1310         gl_LOCK_BODY.
1311         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
1312         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
1313         gl_LOCK_EARLY_BODY.
1314         (gl_LOCK): Require gl_LOCK_BODY.
1315
1316 2006-10-04  Bruno Haible  <bruno@clisp.org>
1317
1318         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
1319         (gl_oset_search_atleast): New declaration.
1320         (struct gl_oset_implementation): Add field 'search_atleast'.
1321         (gl_oset_search_atleast): New inline function.
1322         * lib/gl_oset.c (gl_oset_search_atleast): New function.
1323         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
1324         (gl_array_oset_implementation): Update.
1325         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
1326         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
1327         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
1328
1329 2006-10-04  Bruno Haible  <bruno@clisp.org>
1330
1331         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
1332
1333 2006-10-03  Bruno Haible  <bruno@clisp.org>
1334
1335         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
1336         from gl_avltreehash_list_implementation.
1337
1338 2006-10-03  Bruno Haible  <bruno@clisp.org>
1339
1340         * lib/gl_oset.c (gl_oset_add): Fix return type.
1341
1342 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
1343
1344         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
1345
1346 2006-10-02  Eric Blake  <ebb9@byu.net>
1347
1348         * modules/strnlen (Depends-on): Add extensions.
1349
1350 2006-10-02  Eric Blake  <ebb9@byu.net>
1351
1352         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
1353         definition in 2.60+.
1354
1355 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
1356
1357         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
1358         checks.
1359
1360 2006-10-02  Bruno Haible  <bruno@clisp.org>
1361
1362         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
1363         to the AUTOMAKE_OPTIONS.
1364         Reported by Jim Meyering.
1365
1366 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
1367
1368         Work around bug in Solaris 10 /proc file system:
1369         /proc/self/fd/NNN/.. isn't the parent directory of
1370         the directory whose file descriptor is NNN.  This needs to
1371         be worked around at run time, not compile time, since a
1372         program might be built on Solaris 8, where things work, and
1373         run on Solaris 10.
1374         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
1375         to use the following interface instead:
1376         (OPENAT_BUFFER_SIZE): New macro.
1377         (openat_proc_name): New function.
1378         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
1379         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
1380         Likewise.
1381         * lib/openat-proc.c: New file.
1382         * modules/openat (Files): Add lib/openat-proc.c.
1383         (Depends-on): Add same-inode, stdbool.
1384         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
1385
1386 2006-09-29  Bruno Haible  <bruno@clisp.org>
1387
1388         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
1389         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
1390         argument. Set stdout_closed before testing for ferror, not after.
1391         (fwriteerror, fwriteerror_no_ebadf): New functions.
1392
1393 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1394
1395         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
1396
1397 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
1398
1399         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
1400         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
1401
1402 2006-09-28  Jim Meyering  <jim@meyering.net>
1403
1404         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
1405         Include <unistd.h>.
1406
1407 2006-09-28  Bruno Haible  <bruno@clisp.org>
1408
1409         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
1410         * modules/linkedhash-list (Depends-on): Likewise.
1411         * modules/rbtreehash-list (Depends-on): Likewise.
1412
1413 2006-09-28  Bruno Haible  <bruno@clisp.org>
1414
1415         * lib/strndup.h: Simplify the redefinition of strndup.
1416         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
1417         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
1418
1419 2006-09-28  Bruno Haible  <bruno@clisp.org>
1420
1421         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
1422         * lib/gl_linkedhash_list.c: Likewise.
1423         * lib/gl_rbtreehash_list.c: Likewise.
1424
1425 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
1426
1427         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
1428         getaddrinfo.
1429
1430         * lib/__fpending.h: Don't include <stdio_ext.h> unless
1431         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
1432         it causes <stdio_ext.h> to cause a compile-time error.
1433         Problem reported by Nelson H. F. Beebe.
1434         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
1435         of HAVE_DECL___PENDING.
1436
1437         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
1438         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
1439         declaration.
1440
1441 2006-09-27  Jim Meyering  <jim@meyering.net>
1442
1443         This file could end up with a definition for a function
1444         named __strndup, rather than rpl_strndup on a system with
1445         incomplete weak_alias support.
1446         * lib/strndup.c (strndup): Rename from __strndup.
1447         Remove #defines that used to map __strndup to strndup.
1448         Don't use K&R prototypes.
1449         Remove LIBC-related code, since this file is not sync'd with glibc.
1450         * lib/strndup.h: Revamp, accordingly.
1451         * m4/strndup.m4: Modernize.
1452
1453 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1454
1455         * modules/savewd (Depends-on): Add 'raise'.
1456         * lib/savewd.c: Include <signal.h>, for 'raise'.
1457
1458 2006-09-26  Jim Meyering  <jim@meyering.net>
1459
1460         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
1461         when we detect Darwin 8.7.0's acl_get_file bug.
1462         Rearrange to perform the new (below) run-test while $LIBS
1463         contains any acl-related library.  Set USE_ACL at the end.
1464         (gl_ACL_GET_FILE): New function.
1465
1466 2006-09-26  Eric Blake  <ebb9@byu.net>
1467
1468         * lib/verror.c: Include <config.h> unconditionally.
1469
1470 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
1471
1472         * modules/clock-time (Maintainer): Add self.
1473         * modules/getlogin_r (Depends-on): Add extensions.
1474
1475 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1476
1477         * modules/clock-time: New module.
1478         * modules/nanosleep (Depends-on): Add clock-time.
1479         * modules/gethrxtime (Depends-on): Likewise.
1480         * modules/gettime (Depends-on): Likewise.
1481         * modules/settime (Depends-on): Likewise.
1482
1483         * modules/fts-lgpl: Depend on openat.
1484         * modules/mkancesdirs: Depend on savewd.
1485         * modules/mkdir-p: Likewise.
1486
1487 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1488
1489         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
1490
1491         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
1492         `gl_have_arbitrary_file_name_length_limit' to
1493         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
1494         actually works between configure runs.
1495
1496 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1497             Bruno Haible  <bruno@clisp.org>
1498
1499         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
1500
1501 2006-09-25  Jim Meyering  <jim@meyering.net>
1502
1503         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
1504         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
1505
1506 2006-09-25  Eric Blake  <ebb9@byu.net>
1507
1508         * gnulib-tool (func_import, func_create_testdir): Fix typos in
1509         exec's in 2006-09-18 patch when shuffling fds.
1510
1511 2006-09-25  Bruno Haible  <bruno@clisp.org>
1512
1513         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
1514         Reported by Jim Meyering.
1515
1516 2006-09-24  Jim Meyering  <jim@meyering.net>
1517
1518         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
1519         compare a pointer against a literal "0".  That caused failures with
1520         at least HP-UX's hpcc.
1521
1522 2006-09-22  Simon Josefsson  <jas@extundo.com>
1523
1524         * modules/gc-sha1:
1525         * modules/gc-md4:
1526         * modules/gc-hmac-sha1:
1527         * modules/gc-hmac-md5:
1528         * modules/gc-des:
1529         * modules/gc-arcfour: Distribute more files.
1530
1531 2006-09-22  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1532
1533         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
1534         (gl_linked_iterator_from_to): Initialize struct completely.
1535         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
1536         (gl_tree_iterator_from_to): Likewise
1537         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
1538         * lib/gl_array_list.c [lint] (gl_array_iterator)
1539         (gl_array_iterator_from_to): Likewise.
1540         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
1541         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
1542         (gl_carray_iterator_from_to): Likewise.
1543
1544         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
1545         * lib/md4.c (md4_process_block): Remove unused variable.
1546         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
1547         parentheses for clarity.
1548
1549 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1550
1551         * modules/bison-i18n (Depends-on): Add gettext.
1552
1553 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1554
1555         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
1556         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
1557         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
1558         also add missing comma that caused broken test.
1559         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
1560         stdlib.h, for `abort'.
1561         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
1562         variables.
1563         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
1564         include unistd.h if present, for `rmdir'.
1565         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
1566         variables.
1567         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
1568         in the process include standard headers for prototypes.
1569         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
1570         gets declared on GNU/Linux.
1571         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
1572         unistd.h, for `rmdir'.
1573         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
1574
1575         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
1576         always true.
1577         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
1578
1579         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
1580
1581 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1582
1583         * gnulib-tool (func_version): Create output all at once.  This
1584         may help avoid triggering unnecessary SIGPIPEs, and at any
1585         rate it doesn't hurt.
1586
1587 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1588             Bruno Haible  <bruno@clisp.org>
1589
1590         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
1591         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1592         * m4/signed.m4 (bh_C_SIGNED): Likewise.
1593
1594         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
1595         (gl_FUNC_VASPRINTF): Invoke it.
1596
1597 2006-09-22  Bruno Haible  <bruno@clisp.org>
1598
1599         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
1600         getloadavg.c as first argument.
1601
1602 2006-09-22  Bruno Haible  <bruno@clisp.org>
1603
1604         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
1605         at the beginning of the gl_INIT macro.
1606         * modules/getloadavg (configure.ac): Pass $gl_source_base to
1607         gl_GETLOADAVG.
1608
1609 2006-09-22  Bruno Haible  <bruno@clisp.org>
1610
1611         * gnulib-tool (func_create_megatestdir): Don't include the config-h
1612         module.
1613         Suggested by Ralf Wildenhues.
1614
1615 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
1616
1617         Import this patch from libc:
1618
1619         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
1620
1621         * lib/regex_internal.c (re_string_reconstruct): Handle
1622         offset < pstr->valid_raw_len && pstr->offsets_needed case.
1623         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
1624         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
1625         re_string_context_at.
1626
1627         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
1628         now requires it.
1629         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
1630         gl_REGEX now does it for us.
1631         (gl_REGEX): Add test taken from
1632         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
1633
1634         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
1635         Check that large offsets work.  Modernize Autoconf usages.
1636         Prefer "yes" to mean a good thing rather than a bad.
1637         Don't put "#define mkstemp" in config.h, as this might interfere
1638         with standard system headers that "#define mkstemp mkstemp64".
1639
1640         * modules/mkstemp (Depends-on): Add extensions, so that
1641         mkstemp is visible on some platforms.
1642         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
1643         (Include): Change to "mkstemp.h" from <stdlib.h>.
1644         (Files): Add mkstemp.h.
1645
1646         * lib/mkstemp.h: New file, since some standard headers
1647         #define mkstemp.
1648         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
1649         Include "mkstemp.h".
1650         Make the _LIBC code resemble glibc original more,
1651         e.g., use K&R style.
1652         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
1653         (mkstemp): Remove, since mkstemp.h does this for us.
1654         * lib/stdlib--.h: Include mkstemp.h.
1655
1656         Import this patch from libc:
1657
1658         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
1659
1660         * lib/tempname.c (__gen_tempname): Change attempts_min
1661         into a macro.  Use preprocessor to decide how to initialize
1662         attempts [Coverity CID 67].
1663
1664 2006-09-20  Bruno Haible  <bruno@clisp.org>
1665
1666         * lib/mkdtemp.c: Import from libc.
1667         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
1668                 * sysdeps/posix/tempname.c (__gen_tempname): Change
1669                 attempts_min into a macro.  Use preprocessor to decide how to
1670                 initialize attempts [Coverity CID 67].
1671         2001-11-27  Paul Eggert  <eggert@twinsun.com>
1672                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
1673                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
1674
1675 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1676
1677         * gnulib-tool (func_exit): New function, to allow to pass the
1678         exit status portably through the trap.  Use everywhere.
1679         (--help, --version): Signal a write error.
1680         (trap): catch SIGPIPE, for write errors.
1681         Exit at the end of the trap, with the correct exit status.
1682
1683 2006-09-19  Karl Berry  <karl@gnu.org>
1684
1685         * doc/gnulib.texi: note about the license texinfo files.
1686
1687 2006-09-19  Eric Blake  <ebb9@byu.net>
1688
1689         * gnulib-tool: Avoid space-tab.
1690
1691 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1692
1693         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
1694         that prevented coreutils 6.1 from building.  Problem reported
1695         by Petter Reinholdtsen.
1696
1697 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
1698
1699         * gnulib-tool (avoidlist): Fix typo that broke options like
1700         --avoid=lock that are used by coreutils bootstrap.
1701
1702 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
1703
1704         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
1705         more systematically.
1706
1707 2006-09-18  Jim Meyering  <jim@meyering.net>
1708
1709         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
1710
1711 2006-09-18  Bruno Haible  <bruno@clisp.org>
1712
1713         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
1714
1715 2006-09-18  Bruno Haible  <bruno@clisp.org>
1716
1717         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
1718         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
1719         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
1720         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
1721         * m4/gettext.m4: Require autoconf >= 2.52.
1722         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
1723         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
1724         of gl_cv_header_inttypes_h.
1725
1726 2006-09-18  Bruno Haible  <bruno@clisp.org>
1727
1728         * lib/javaversion.c: Include configmake.h.
1729
1730 2006-09-18  Bruno Haible  <bruno@clisp.org>
1731
1732         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
1733         avoid that the while loops be executed in a subshell.
1734
1735 2006-09-18  Bruno Haible  <bruno@clisp.org>
1736
1737         * MODULES.html.sh (func_module): Break long lines.
1738         Suggested by Bruce Korb <bkorb@gnu.org>.
1739
1740 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1741
1742         Speed up by a factor of 1.12.
1743         * gnulib-tool (nl): New variable.
1744         (func_import): Rewrite include directive extraction to only read each
1745         directive once.
1746
1747 2006-09-17  Bruno Haible  <bruno@clisp.org>
1748
1749         * modules/javaversion (Makefile.am): Remove DEFS setting.
1750         (Depends-on): Add configmake, for PKGDATADIR definition.
1751
1752 2006-09-17  Bruno Haible  <bruno@clisp.org>
1753
1754         * gnulib-tool (func_create_testdir): Rewrite all files at once.
1755
1756 2006-09-17  Bruno Haible  <bruno@clisp.org>
1757
1758         * gnulib-tool (func_append): New function, stolen from libtool.m4.
1759         (func_modules_transitive_closure, func_modules_add_dummy,
1760         func_modules_to_filelist, func_import, func_create_testdir,
1761         func_create_megatestdir, ...): Use it wherever possible.
1762         Suggested by Ralf Wildenhues.
1763
1764 2006-09-16  Karl Berry  <karl@gnu.org>
1765
1766         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
1767         to avoid sectioning errors.
1768         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
1769         [ifinfo]: blank line after @center-ed titles.
1770         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
1771         Spell FSF address consistently with others.
1772         (These changes approved by rms.)
1773
1774 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1775
1776         Speed up by a factor of 1.61.
1777         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
1778         already checked module names again.
1779
1780 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1781
1782         Speed up by a factor of 1.13.
1783         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
1784         for new_files, and the input to func_add_or_update.
1785
1786 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1787
1788         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
1789         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
1790
1791 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
1792
1793         * modules/mkancesdirs (Depends-on): Add fcntl.
1794         * modules/savewd: New file.
1795         * MODULES.html.sh (File system functions): Add savewd.
1796
1797         * modules/configmake (Makefile.am): Add support for the
1798         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
1799
1800 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
1801
1802         * m4/savewd.m4: New file.
1803
1804 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
1805
1806         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
1807         (dirchownmod): New arg FD.  All callers changed.
1808         Use FD rather than opening the directory ourself, as opening is
1809         now the caller's responsibility.
1810         * lib/dirchownmod.h: Likewise.
1811         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
1812         hosts that require <sys/types.h> before <sys/stat.h>.  Include
1813         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
1814         (test_dir): Remove.
1815         (mkancesdirs): Return length of prefix of FILE that has already
1816         been made, or -2 if there is a child doing the work.  Redo
1817         algorithm so that it is O(N) rather than O(N**2).  Optimize away
1818         ".", and treat ".." specially since it might stray back into
1819         already-created areas.  Use a subprocess if necessary.  New arg
1820         WD; all users changed.  MAKE_DIR function should now return 1
1821         if it creates a directory that is not readable.  Return -2 if
1822         a child process is spun off.
1823         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
1824         Adjust signature to match code.
1825         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
1826         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
1827         all users changed.
1828         * lib/savewd.c, savewd.h: New files.
1829
1830 2006-09-15  Jim Meyering  <jim@meyering.net>
1831
1832         * modules/rename-dest-slash: New module.
1833         * MODULES.html.sh (posix_compat): Add it here.
1834
1835         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
1836
1837 2006-09-15  Jim Meyering  <jim@meyering.net>
1838
1839         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
1840         file.
1841
1842         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
1843
1844 2006-09-15  Jim Meyering  <jim@meyering.net>
1845
1846         * lib/rename-dest-slash.c (has_trailing_slash): Use
1847         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
1848         (rpl_rename_dest_slash): Perform the cheaper trailing slash
1849         test before testing whether SRC is a directory.
1850         Suggestions from Bruno Haible.
1851
1852         Avoid a warning about an unused variable.
1853         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
1854         into the #ifdef block where it's used.
1855
1856         * lib/rename-dest-slash.c: New file.
1857
1858 2006-09-14  Bruno Haible  <bruno@clisp.org>
1859
1860         * lib/allocsa.c: Include <config.h> unconditionally.
1861         * lib/asnprintf.c: Likewise.
1862         * lib/asprintf.c: Likewise.
1863         * lib/c-strcasecmp.c: Likewise.
1864         * lib/c-strcasestr.c: Likewise.
1865         * lib/c-strncasecmp.c: Likewise.
1866         * lib/c-strstr.c: Likewise.
1867         * lib/classpath.c: Likewise.
1868         * lib/clean-temp.c: Likewise.
1869         * lib/concatpath.c: Likewise.
1870         * lib/copy-file.c: Likewise.
1871         * lib/csharpcomp.c: Likewise.
1872         * lib/csharpexec.c: Likewise.
1873         * lib/execute.c: Likewise.
1874         * lib/fatal-signal.c: Likewise.
1875         * lib/findprog.c: Likewise.
1876         * lib/fwriteerror.c: Likewise.
1877         * lib/gl_array_list.c: Likewise.
1878         * lib/gl_array_oset.c: Likewise.
1879         * lib/gl_avltree_list.c: Likewise.
1880         * lib/gl_avltree_oset.c: Likewise.
1881         * lib/gl_avltreehash_list.c: Likewise.
1882         * lib/gl_carray_list.c: Likewise.
1883         * lib/gl_linked_list.c: Likewise.
1884         * lib/gl_linkedhash_list.c: Likewise.
1885         * lib/gl_list.c: Likewise.
1886         * lib/gl_oset.c: Likewise.
1887         * lib/gl_rbtree_list.c: Likewise.
1888         * lib/gl_rbtree_oset.c: Likewise.
1889         * lib/gl_rbtreehash_list.c: Likewise.
1890         * lib/imaxabs.c: Likewise.
1891         * lib/imaxdiv.c: Likewise.
1892         * lib/javacomp.c: Likewise.
1893         * lib/javaexec.c: Likewise.
1894         * lib/javaversion.c: Likewise.
1895         * lib/linebreak.c: Likewise.
1896         * lib/localcharset.c: Likewise.
1897         * lib/lock.c: Likewise.
1898         * lib/mbchar.c: Likewise.
1899         * lib/mbswidth.c: Likewise.
1900         * lib/mkdtemp.c: Likewise.
1901         * lib/pipe.c: Likewise.
1902         * lib/printf-args.c: Likewise.
1903         * lib/printf-parse.c: Likewise.
1904         * lib/progname.c: Likewise.
1905         * lib/progreloc.c: Likewise.
1906         * lib/readlink.c: Likewise.
1907         * lib/sh-quote.c: Likewise.
1908         * lib/stpcpy.c: Likewise.
1909         * lib/stpncpy.c: Likewise.
1910         * lib/strcasecmp.c: Likewise.
1911         * lib/strcasestr.c: Likewise.
1912         * lib/strcspn.c: Likewise.
1913         * lib/striconv.c: Likewise.
1914         * lib/strncasecmp.c: Likewise.
1915         * lib/strnlen1.c: Likewise.
1916         * lib/strstr.c: Likewise.
1917         * lib/strtok_r.c: Likewise.
1918         * lib/tls.c: Likewise.
1919         * lib/tmpdir.c: Likewise.
1920         * lib/unicodeio.c: Likewise.
1921         * lib/unsetenv.c: Likewise.
1922         * lib/vasnprintf.c: Likewise.
1923         * lib/vasprintf.c: Likewise.
1924         * lib/wait-process.c: Likewise.
1925         * lib/xallocsa.c: Likewise.
1926         * lib/xsetenv.c: Likewise.
1927         * lib/xstriconv.c: Likewise.
1928
1929 2006-09-13  Simon Josefsson  <jas@extundo.com>
1930
1931         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
1932         that internally, suggested by Ralf Wildenhues
1933         <Ralf.Wildenhues@gmx.de>.
1934
1935 2006-09-13  Simon Josefsson  <jas@extundo.com>
1936
1937         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
1938         @LIBOBJS@.
1939         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1940
1941 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1942
1943         * lib/_fpending.c: Include <config.h> unconditionally, since we no
1944         longer worry about uses that don't define HAVE_CONFIG_H.
1945         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
1946         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
1947         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
1948         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
1949         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
1950         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
1951         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
1952         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
1953         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
1954         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
1955         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
1956         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
1957         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
1958         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
1959         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
1960         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
1961         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
1962         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
1963         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
1964         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
1965         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
1966         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
1967         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
1968         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
1969         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
1970         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
1971         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
1972         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
1973         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
1974         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
1975         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
1976         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
1977         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
1978         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
1979         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
1980         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
1981         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
1982         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
1983         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
1984         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
1985         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
1986         Likewise.
1987
1988 2006-09-13  Eric Blake  <ebb9@byu.net>
1989
1990         * lib/getopt.c: Fix typo in last commit.
1991
1992 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
1993
1994         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
1995         dgettext.
1996
1997 2006-09-12  Jim Meyering  <jim@meyering.net>
1998
1999         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
2000         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
2001         Reported by Nelson H. F. Beebe.
2002
2003 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
2004
2005         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
2006         program_invocation_name and program_invocation_short_name are
2007         initialized.
2008         * lib/argp-namefrob.h: Move declarations of program_invocation_name
2009         and program_invocation_short_name to argp.h, so they are visible
2010         to user programs.
2011         * lib/argp.h: Likewise
2012
2013 2006-09-10  Bruno Haible  <bruno@clisp.org>
2014
2015         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
2016         m4/inttypes_h.m4, m4/uintmax_t.m4.
2017
2018 2006-09-10  Bruno Haible  <bruno@clisp.org>
2019
2020         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
2021         gl_AC_TYPE_UINTMAX_T.
2022
2023 2006-09-10  Bruno Haible  <bruno@clisp.org>
2024
2025         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
2026
2027 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
2028
2029         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
2030         convention.  Text proposed by Bruno Haible.
2031         (struct argp_option): Document the use of N_() wrappers.
2032
2033         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
2034         '\v', and translate the two parts separately, instead of feeding
2035         the whole string to gettext.  This allows to exclude
2036         '\v' from the strings visible to the translator by writing doc
2037         strings as N_("..") "\v" N_("..").
2038
2039 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
2040
2041         * config/srclist.txt: Undo latest change; the bug was fixed.
2042
2043 2006-09-09  Bruno Haible  <bruno@clisp.org>
2044
2045         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
2046         assignments if building a library without libtool.
2047         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
2048         in func_emit_lib_Makefile_am.
2049         (func_import): When building a static library libfoo.a, arrange to
2050         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
2051         (func_create_testdir): Likewise.
2052         * modules/gc (configure.ac, Makefile.am): If building statically,
2053         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
2054         * modules/iconvme (configure.ac, Makefile.am): Likewise.
2055         * modules/striconv (configure.ac, Makefile.am): Likewise.
2056         Based on a suggestion by Ralf Wildenhues.
2057
2058 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2059
2060         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
2061         Check for unistd.h too, since Autoconf doesn't assume POSIX.
2062         Also:
2063
2064         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2065         Add year_2050_test to catch glibc bug 2821
2066         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2067
2068         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
2069         Prefer #ifdef to #if.
2070
2071         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
2072         Return from 'main' instead of calling 'exit'.
2073
2074 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2075
2076         * lib/mktime.c (guess_time_tm): Fix bug where mktime
2077         returned the maximum time_t value rather than (time_t) -1.
2078         Problem originally reported by William Bardwell
2079         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
2080
2081         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2082         Moved to here ...
2083         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
2084         ... from here.
2085
2086 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
2087
2088         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
2089         2821 is fixed.
2090
2091 2006-09-08  Jim Meyering  <jim@meyering.net>
2092
2093         Don't make generated files read-only.  That would bother too many
2094         people.  However, do retain the ability to work when targets are
2095         read-only: remove the destination and temporary files before writing
2096         them (when generated via sed or echo), or by using the -f option for
2097         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
2098         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2099         * modules/byteswap, modules/configmake, modules/fcntl:
2100         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2101         * modules/localcharset, modules/netinet_in, modules/poll:
2102         * modules/stdbool, modules/stdint, modules/sys_select:
2103         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2104
2105 2006-09-08  Jim Meyering  <jim@meyering.net>
2106
2107         Avoid new build failure on FreeBSD 6.0.
2108         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
2109         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
2110         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
2111
2112 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2113
2114         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
2115
2116 2006-09-07  Jim Meyering  <jim@meyering.net>
2117
2118         Fix global typo in last change: use chmod u-w, not chmod u-x.
2119         Spotted by Paul Eggert and Bruce Korb.
2120         * modules/alloca-opt, modules/argz, modules/arpa_inet:
2121         * modules/byteswap, modules/configmake, modules/fcntl:
2122         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
2123         * modules/localcharset, modules/netinet_in, modules/poll:
2124         * modules/stdbool, modules/stdint, modules/sys_select:
2125         * modules/sys_socket, modules/sys_stat, modules/sysexits:
2126
2127 2006-09-06  Jim Meyering  <jim@meyering.net>
2128
2129         Make generated files be read-only.
2130         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
2131         Ensure that each generated file is now read-only.
2132         * modules/argz: Likewise.
2133         * modules/arpa_inet: Likewise.
2134         * modules/byteswap: Likewise.
2135         * modules/configmake: Likewise.
2136         * modules/fcntl: Likewise.
2137         * modules/fnmatch: Likewise.
2138         * modules/getopt: Likewise.
2139         * modules/glob: Likewise.
2140         * modules/inttypes: Likewise.
2141         * modules/netinet_in: Likewise.
2142         * modules/poll: Likewise.
2143         * modules/stdbool: Likewise.
2144         * modules/stdint: Likewise.
2145         * modules/sys_select: Likewise.
2146         * modules/sys_socket: Likewise.
2147         * modules/sys_stat: Likewise.
2148         * modules/sysexits: Likewise.
2149         * modules/localcharset: Same as above, but continue using temporary
2150         file named "t-$@" (why different?) rather than the "$@-t" used
2151         everywhere else.
2152
2153         * modules/sysexits (Makefile.am): Replace literal occurrences
2154         of "sysexit.h" more readable, and more consistent, "$@".
2155
2156 2006-09-06  Bruno Haible  <bruno@clisp.org>
2157
2158         * modules/striconv: New file.
2159         * modules/xstriconv: New file.
2160         * MODULES.html.sh (Internationalization functions): Add striconv,
2161         xstriconv.
2162
2163 2006-09-06  Bruno Haible  <bruno@clisp.org>
2164
2165         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
2166         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
2167         not using libtool correctly.
2168
2169 2006-09-06  Bruno Haible  <bruno@clisp.org>
2170
2171         * lib/striconv.h: New file.
2172         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
2173         iconvstring.c.
2174         * lib/xstriconv.h: New file.
2175         * lib/xstriconv.c: New file.
2176
2177 2006-09-06  Bruno Haible  <bruno@clisp.org>
2178
2179         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
2180         lib_..._LDFLAGS.
2181
2182 2006-09-05  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2183
2184         * lib/argz_.h: Sync from Libtool.
2185
2186         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
2187                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2188
2189         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
2190
2191 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
2192
2193         * modules/trim: New file.
2194
2195 2006-09-05  Davide Angelocola <davide.angelocola@tiscali.it>
2196
2197         * lib/trim.h: New file.
2198         * lib/trim.c: New file.
2199
2200 2006-09-05  Bruno Haible  <bruno@clisp.org>
2201
2202         * MODULES.html.sh (String handling): Add trim.
2203
2204 2006-09-04  Karl Berry  <karl@gnu.org>
2205
2206         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
2207         until next release.
2208
2209 2006-09-03  Bruno Haible  <bruno@clisp.org>
2210
2211         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
2212         correctly.
2213
2214 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2215
2216         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
2217         not gl_GETLOADAVG.  Omit unneeded semicolons.
2218         Problems reported by Ralf Wildenhues in
2219         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
2220         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
2221         at the end, which is the usual gnulib style.
2222
2223         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
2224         of doing all the work ourselves.
2225         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
2226         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
2227
2228 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2229
2230         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
2231         Problem reported by Ralf Wildenhues in
2232         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
2233
2234         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
2235         HAVE_STRUCT_STATFS_F_FSTYPENAME.
2236
2237 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
2238
2239         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
2240         yesterday's patch by changing test -n to test -z.
2241
2242 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2243
2244         * modules/getloadavg (Files): Add m4/getloadavg.m4.
2245         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
2246         the former is now obsolescent.
2247
2248         * modules/chdir-long (Depends-on): Add fcntl.
2249
2250 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2251
2252         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
2253         obsolescent, and programs should use gnulib instead.
2254         * m4/getloadavg.m4: New file, with contents taken from Autoconf
2255         but with prefixes changed.
2256
2257 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
2258
2259         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
2260         or stdbool.h, because they might not exist while configuring.
2261
2262         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
2263         Don't include unistd.h or limits.h; not needed, since chdir-long.h
2264         does that for us.
2265         (O_DIRECTORY): Remove.
2266
2267 2006-08-31  Eric Blake  <ebb9@byu.net>
2268
2269         * gnulib-tool: Don't let emacs change spaces to TAB.
2270
2271 2006-08-31  Bruno Haible  <bruno@clisp.org>
2272
2273         * gnulib-tool: When calling func_import more than once, do it in a
2274         subshell.
2275         Reported by Eric Blake <ebb9@byu.net>.
2276
2277 2006-08-31  Bruno Haible  <bruno@clisp.org>
2278
2279         * gnulib-tool (nl): Remove variable.
2280         (sed_transform_lib_file): Use more robust test for config-h module.
2281         (func_import): Fix typo in 2006-08-25 patch.
2282
2283 2006-08-31  Bruno Haible  <bruno@clisp.org>
2284
2285         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
2286         specified, augment Makefile.am variables instead of assigning them.
2287
2288 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2289
2290         Work around a bug in both the Linux and SunOS 64-bit kernels:
2291         nanosleep mishandles sleeps for longer than 2**31 seconds.
2292         Problem reported by Frank v Waveren in
2293         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
2294         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
2295         Check for nanosleep bug.
2296         (LIB_NANOSLEEP): Append clock_gettime library if needed.
2297
2298 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2299
2300         Work around a bug in both the Linux and SunOS 64-bit kernels:
2301         nanosleep mishandles sleeps for longer than 2**31 seconds.
2302         Problem reported by Frank v Waveren in
2303         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
2304         * lib/nanosleep.c (BILLION): New constant.
2305         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
2306         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
2307         implementation.
2308
2309 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2310
2311         * modules/nanosleep (Depends-on): Add gettime.
2312
2313 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
2314         and Simon Josefsson  <jas@extundo.com>
2315         and Oskar Liljeblad  <oskar@osk.mine.nu>
2316
2317         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
2318         * gnulib-tool (func_import): New license type 'unmodifiable license
2319         text'.
2320         * modules/fdl: Use it.  Longer description.
2321         * module/gpl, module/lgpl: New files.
2322
2323 2006-08-30  Jim Meyering  <jim@meyering.net>
2324
2325         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
2326         shadowing the parameter.
2327
2328 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2329
2330         Sync from Libtool:
2331
2332         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2333
2334         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
2335         sharing with gnulib.  Report by Eric Blake.
2336
2337 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2338
2339         * modules/isapipe: New file.
2340         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
2341
2342 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2343
2344         * modules/configmake (Makefile.am): Add a comment, and omit
2345         the CONFIGMAKE_ prefix from generated macro names.  Suggested
2346         by Bruno Haible.
2347
2348 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2349
2350         * m4/isapipe.m4: New file.
2351
2352 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2353
2354         * lib/isapipe.c, isapipe.h: New files.
2355
2356 2006-08-29  Jim Meyering  <jim@meyering.net>
2357
2358         * modules/configmake (Makefile.am): Make configmake.h depend on
2359         Makefile.  Otherwise, a stale configmake.h could hang around.
2360
2361 2006-08-29  Eric Blake  <ebb9@byu.net>
2362
2363         * lib/error.c (error_at_line, print_errno_message): Match libc, after
2364         resolution of upstream bug 3044.
2365
2366 2006-08-29  Bruno Haible  <bruno@clisp.org>
2367
2368         * modules/localcharset (Depends-on): Add configmake.
2369         (Makefile.am): Remove setting of LIBDIR through DEFS.
2370
2371 2006-08-29  Bruno Haible  <bruno@clisp.org>
2372
2373         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
2374         defined.
2375
2376 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2377
2378         * modules/fcntl: New file.
2379         * modules/chdir-safer (Depends-on): Add fcntl.
2380         * modules/fts: Likewise.
2381         * modules/mkdir-p: Likewise.
2382
2383         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
2384         This undoes the most recent change, since we're now addressing the
2385         problem in a different way.
2386
2387         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
2388         into output, since the output might be called Makefile.am even
2389         if $makefile_name is something different.
2390         (func_import): Use $makefile_am rather than
2391         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
2392         empty.
2393
2394         * modules/inttypes (Files): Add m4/inttypes-h.m4.
2395
2396 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2397
2398         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
2399         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
2400         recent change to stdint.m4, since we're now addressing the problem in a
2401         different way.
2402
2403 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2404
2405         * m4/fcntl_h.m4: New file.
2406
2407 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
2408
2409         * lib/fcntl_.h: New file.
2410         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
2411         the fcntl module.
2412         * lib/dirchownmod.c: Likewise.
2413         * lib/fts.c: Likewise.
2414
2415         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
2416         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
2417         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
2418         just before including <inttypes.h>, to avoid circular inclusion.
2419
2420 2006-08-28  Jim Meyering  <jim@meyering.net>
2421
2422         * doc/visibility.texi: Actually read and correct the grammar of the
2423         sentence affected by yesterday's change.
2424
2425 2006-08-28  Eric Blake  <ebb9@byu.net>
2426
2427         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
2428         needs wrapper.
2429
2430 2006-08-28  Eric Blake  <ebb9@byu.net>
2431
2432         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
2433
2434 2006-08-28  Eric Blake  <ebb9@byu.net>
2435
2436         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
2437
2438 2006-08-28  Bruno Haible  <bruno@clisp.org>
2439
2440         * modules/c-strstr: New file, from GNU gettext.
2441         * MODULES.html.sh (String handling): Add c-strstr.
2442
2443 2006-08-28  Bruno Haible  <bruno@clisp.org>
2444
2445         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
2446         macros.
2447         Reported by Eric Blake.
2448
2449 2006-08-28  Bruno Haible  <bruno@clisp.org>
2450
2451         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
2452         (VASNPRINTF): Return a string of length > INT_MAX without failing.
2453         * lib/vasprintf.c: Include errno.h, limits.h.
2454         (EOVERFLOW): New fallback definition.
2455         (vasprintf): Test here whether the string length is > INT_MAX.
2456         * lib/vsnprintf.c: Include errno.h, limits.h.
2457         (EOVERFLOW): New fallback definition.
2458         (vsnprintf): Fix bug when generated string was too long for the buffer.
2459         Test here whether the string length is > INT_MAX.
2460
2461 2006-08-28  Bruno Haible  <bruno@clisp.org>
2462
2463         * lib/inttypes_.h (SCNX*): Remove definitions.
2464         Reported by Eric Blake.
2465
2466 2006-08-28  Bruno Haible  <bruno@clisp.org>
2467
2468         * lib/c-strstr.h: New file, from GNU gettext.
2469         * lib/c-strstr.c: New file, from GNU gettext.
2470
2471 2006-08-28  Bruno Haible  <bruno@clisp.org>
2472
2473         * gnulib-tool: Reorder some statements.
2474
2475 2006-08-28  Bruno Haible  <bruno@clisp.org>
2476
2477         * gnulib-tool: New option --makefile-name.
2478         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
2479         $makefile_name.
2480         (func_import): Write $makefile_name to the cache file, and read it from
2481         there unless explicitly specified. Use $makefile_name as file name
2482         instead of Makefile.am. Adjust the recommendations accordingly.
2483
2484 2006-08-28  Bruno Haible  <bruno@clisp.org>
2485
2486         * gnulib-tool (func_verify_module): Check against misapplying patch.
2487
2488 2006-08-28  Bruno Haible  <bruno@clisp.org>
2489
2490         * gnulib-tool (func_relativize, func_relconcat): New functions.
2491         Give an error if --local-dir is given with --update.
2492         Remove trailing slashes from $local_gnulib_dir.
2493         (func_import): Store the relativized $local_gnulib_dir in
2494         gnulib-cache.m4, and read it from there if not specified explicitly.
2495
2496 2006-08-28  Bruno Haible  <bruno@clisp.org>
2497
2498         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
2499         is the current directory. Respect also $local_gnulib_dir.
2500
2501 2006-08-28  Bruno Haible  <bruno@clisp.org>
2502             Simon Josefsson  <jas@extundo.com>
2503
2504         BeOS portability.
2505         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
2506
2507 2006-08-27  Jim Meyering  <jim@meyering.net>
2508
2509         * doc/visibility.texi: Remove duplicate word: "pointer".
2510
2511 2006-08-26  Bruno Haible  <bruno@clisp.org>
2512
2513         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
2514         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
2515         (Makefile.am): Create inttypes.h from inttypes_.h.
2516         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
2517
2518         * modules/imaxabs: New file.
2519
2520         * modules/imaxdiv: New file.
2521
2522 2006-08-26  Bruno Haible  <bruno@clisp.org>
2523
2524         * m4/inttypes.m4: New file.
2525         * m4/_inttypes_h.m4: Remove file.
2526         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
2527         PRI_MACROS_BROKEN.
2528         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
2529
2530         * m4/imaxabs.m4: New file.
2531
2532         * m4/imaxdiv.m4: New file.
2533
2534 2006-08-26  Bruno Haible  <bruno@clisp.org>
2535
2536         * lib/inttypes_.h: New file.
2537         * lib/inttypes.h: Remove file.
2538         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
2539
2540         * lib/imaxabs.c: New file.
2541
2542         * lib/imaxdiv.c: New file.
2543
2544 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
2545
2546         New config-h module, so that "make" output needn't be cluttered
2547         by -DHAVE_CONFIG_H.
2548         * MODULES.html.sh (Support for building libraries and executables):
2549         Add config-h.
2550         * modules/config-h: New file.
2551         * gnulib-tool (nl, sed_transform_lib_file): New vars.
2552         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
2553         the config-h module is used.
2554
2555         New configmake module, so that "make" output needn't be cluttered
2556         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
2557         * MODULES.html.sh (Support for building libraries and executables):
2558         Add configmake.
2559         * modules/configmake: New file.
2560
2561 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
2562
2563         * m4/config-h.m4: New file.
2564
2565 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2566
2567         * config/srclist.txt: Add elisp-comp.
2568
2569 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2570
2571         * MODULES.html.sh (Support for building libraries and executables):
2572         Add elisp-comp.
2573         * build-aux/elisp-comp: New file.
2574         * modules/elisp-comp: New file.
2575
2576 2006-08-24  Bruno Haible <bruno@clisp.org>
2577
2578         * gnulib-tool (func_create_testdir): Use non-default values of
2579         sourcebase and m4base.
2580
2581 2006-08-24  Bruno Haible <bruno@clisp.org>
2582
2583         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
2584         HTML structure.
2585
2586 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2587
2588         * modules/openat (Depends-on): Add lchown.
2589
2590 2006-08-23  Bruno Haible <bruno@clisp.org>
2591
2592         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
2593         of gl_LOCK_EARLY instead of gl_LOCK.
2594
2595 2006-08-23  Bruno Haible  <bruno@clisp.org>
2596
2597         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
2598         on OSF/1 to no.
2599         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
2600
2601 2006-08-23  Bruno Haible  <bruno@clisp.org>
2602
2603         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
2604         as unusable.
2605
2606         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
2607         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
2608         (gl_LOCK): New macro.
2609
2610 2006-08-22  Simon Josefsson  <jas@extundo.com>
2611
2612         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
2613         to md5 module.
2614
2615 2006-08-22  Simon Josefsson  <jas@extundo.com>
2616
2617         * MODULES.html.sh: Add "Support for maintaining and release
2618         projects".
2619
2620         * build-aux/gnupload: New file, from coreutils.
2621
2622 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2623
2624         Avoid the need for AC_LIBSOURCES in m4 macros.
2625         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
2626         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
2627         * modules/check-version (EXTRA_DIST): Add check-version.h.
2628         * modules/crc (EXTRA_DIST): Add crc.h.
2629         * modules/des (EXTRA_DIST): Add des.h.
2630         * modules/gc (EXTRA_DIST): Add gc.h.
2631         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
2632         * modules/getline (EXTRA_DIST): Add getline.h.
2633         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
2634         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
2635         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
2636         * modules/md2 (EXTRA_DIST): Add md2.h.
2637         * modules/md4 (EXTRA_DIST): Add md4.h.
2638         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
2639         * modules/read-file (EXTRA_DIST): Add read-file.h.
2640         * modules/readline (EXTRA_DIST): Add readline.h.
2641         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
2642         rijndael-api-fst.h.
2643
2644 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2645
2646         * m4/rijndael.m4 (gl_ARCFOUR):
2647         * m4/arctwo.m4 (gl_ARCTWO):
2648         * m4/check-version.m4 (gl_CHECK_VERSION):
2649         * m4/crc.m4 (gl_CRC):
2650         * m4/des.m4 (gl_DES):
2651         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
2652         * m4/gc.m4 (gl_GC):
2653         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
2654         * m4/getline.m4 (gl_FUNC_GETLINE):
2655         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
2656         * m4/hmac-md5.m4 (gl_HMAC_MD5):
2657         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
2658         * m4/md2.m4 (gl_MD2):
2659         * m4/md4.m4 (gl_MD4):
2660         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
2661         * m4/read-file.m4 (gl_FUNC_READ_FILE):
2662         * m4/readline.m4 (gl_FUNC_READLINE):
2663         * m4/rijndael.m4 (gl_RIJNDAEL):
2664         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
2665         to get the necessary .h files and whatnot.
2666
2667 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2668
2669         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
2670         gnulib rather than the other way around.
2671         * config/srclistvars.sh (COREUTILS): Remove.
2672
2673 2006-08-22  Jim Meyering  <jim@meyering.net>
2674
2675         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
2676
2677         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
2678
2679 2006-08-22  Eric Blake  <ebb9@byu.net>
2680
2681         * modules/regexprops-generic: New file.
2682         * MODULES.html.sh (Support for building documentation): List it.
2683
2684 2006-08-22  Eric Blake  <ebb9@byu.net>
2685
2686         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
2687         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
2688         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
2689         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
2690
2691 2006-08-22  Bruno Haible <bruno@clisp.org>
2692
2693         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
2694         and lib_LTLIBRARIES like the other lib_* variables.
2695
2696 2006-08-22  Bruno Haible <bruno@clisp.org>
2697
2698         * build-aux/x-to-1.in: New file, from GNU gettext.
2699
2700 2006-08-22  Bruno Haible  <bruno@clisp.org>
2701
2702         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
2703         <utmpx.h> exists.
2704
2705 2006-08-22  Bruno Haible  <bruno@clisp.org>
2706
2707         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
2708         <utmpx.h> exists.
2709
2710 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
2711
2712         BeOS portability.
2713         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
2714         exist.
2715         Problem reported by Bruno Haible.
2716
2717 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
2718
2719         Avoid the need for AC_LIBSOURCES in m4 macros.
2720         * modules/acl (EXTRA_DIST): Add acl.h.
2721         * modules/argmatch (Files): Add m4/argmatch.m4.
2722         (configure.ac): Add gl_ARGMATCH.
2723         (EXTRA_DIST): Renamed from lib_SOURCES, for
2724         consistency with the other modules.  Remove argmatch.c.
2725         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
2726         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
2727         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
2728         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
2729         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
2730         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
2731         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
2732         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
2733         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
2734         * modules/closeout (EXTRA_DIST): Add closeout.h.
2735         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
2736         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
2737         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
2738         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
2739         dirname.h; remove basename.c and stripslash.c.
2740         * modules/exclude (EXTRA_DIST): Add exclude.h.
2741         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
2742         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
2743         * modules/file-type (EXTRA_DIST): Add file-type.h.
2744         * modules/filemode (EXTRA_DIST): Add filemode.h.
2745         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
2746         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
2747         * modules/fpending (EXTRA_DIST): Add __fpending.h.
2748         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
2749         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
2750         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
2751         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
2752         * modules/getdate (EXTRA_DIST): Add getdate.c.
2753         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
2754         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
2755         * modules/getpass (EXTRA_DIST): Add getpass.h.
2756         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
2757         * modules/group-member (EXTRA_DIST): Add group-member.h.
2758         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
2759         * modules/hash (EXTRA_DIST): Add hash.h.
2760         * modules/human (EXTRA_DIST): Add human.h.
2761         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
2762         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
2763         * modules/lchown (EXTRA_DIST): Add lchown.h.
2764         * modules/long-options (EXTRA_DIST): Add long-options.h.
2765         * modules/lstat (EXTRA_DIST): Add lstat.h.
2766         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
2767         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
2768         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
2769         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
2770         * modules/memxor (EXTRA_DIST): Add memxor.h.
2771         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
2772         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
2773         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
2774         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
2775         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
2776         * modules/physmem (EXTRA_DIST): Add physmem.h.
2777         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
2778         * modules/posixver (EXTRA_DIST): Add posixver.h.
2779         * modules/quote (EXTRA_DIST): Add quote.h.
2780         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
2781         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
2782         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
2783         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
2784         regex_internal.h regexec.c.
2785         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
2786         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
2787         * modules/same (EXTRA_DIST): Add same.h.
2788         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
2789         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
2790         * modules/savedir (EXTRA_DIST): Add savedir.h.
2791         * modules/sha1 (EXTRA_DIST): Add sha1.h.
2792         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
2793         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
2794         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
2795         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
2796         * modules/strdup (EXTRA_DIST): Add strdup.h.
2797         * modules/strftime (EXTRA_DIST): Add strftime.h.
2798         * modules/strndup (EXTRA_DIST): Add strndup.h.
2799         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
2800         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
2801         * modules/time_r (EXTRA_DIST): Add time_r.h.
2802         * modules/timespec (EXTRA_DIST): Add timespec.h.
2803         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
2804         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
2805         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
2806         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
2807         * modules/userspec (EXTRA_DIST): Add userspec.h.
2808         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
2809         * modules/utimens (EXTRA_DIST): Add utimens.h.
2810         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
2811         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
2812         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
2813         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
2814         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
2815         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
2816         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
2817         * modules/yesno (EXTRA_DIST): Add yesno.h.
2818
2819 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
2820
2821         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
2822
2823         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
2824         * m4/dev-ino.m4, same-inode.m4: Remove.
2825
2826         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
2827         * m4/acl.m4 (AC_FUNC_ACL):
2828         * m4/backupfile.m4 (gl_BACKUPFILE):
2829         * m4/c-strtod.m4 (gl_C99_STRTOLD):
2830         * m4/canon-host.m4 (gl_CANON_HOST):
2831         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
2832         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
2833         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
2834         * m4/cloexec.m4 (gl_CLOEXEC):
2835         * m4/close-stream.m4 (gl_CLOSE_STREAM):
2836         * m4/closeout.m4 (gl_CLOSEOUT):
2837         * m4/dirfd.m4 (gl_FUNC_DIRFD):
2838         * m4/dirname.m4 (gl_DIRNAME):
2839         * m4/exclude.m4 (gl_EXCLUDE):
2840         * m4/exitfail.m4 (gl_EXITFAIL):
2841         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
2842         * m4/file-type.m4 (gl_FILE_TYPE):
2843         * m4/filemode.m4 (gl_FILEMODE):
2844         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
2845         * m4/fpending.m4 (gl_FUNC_FPENDING):
2846         * m4/fprintftime.m4 (gl_FPRINTFTIME):
2847         * m4/fts.m4 (gl_FUNC_FTS):
2848         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
2849         * m4/getdate.m4 (gl_GETDATE):
2850         * m4/gethrxtime.m4 (gl_GETHRXTIME):
2851         * m4/getpagesize.m4 (gl_GETPAGESIZE):
2852         * m4/getpass.m4 (gl_FUNC_GETPASS):
2853         * m4/gettime.m4 (gl_GETTIME):
2854         * m4/getugroups.m4 (gl_GETUGROUPS):
2855         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
2856         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
2857         * m4/hard-locale.m4 (gl_HARD_LOCALE):
2858         * m4/hash.m4 (gl_HASH):
2859         * m4/idcache.m4 (gl_IDCACHE):
2860         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
2861         * m4/lchown.m4 (gl_FUNC_LCHOWN):
2862         * m4/long-options.m4 (gl_LONG_OPTIONS):
2863         * m4/lstat.m4 (gl_FUNC_LSTAT):
2864         * m4/md5.m4 (gl_MD5):
2865         * m4/memcasecmp.m4 (gl_MEMCASECMP):
2866         * m4/memcoll.m4 (gl_MEMCOLL):
2867         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
2868         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
2869         * m4/memxor.m4 (gl_MEMXOR):
2870         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
2871         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
2872         * m4/modechange.m4 (gl_MODECHANGE):
2873         * m4/mountlist.m4 (gl_MOUNTLIST):
2874         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
2875         * m4/openat.m4 (gl_FUNC_OPENAT):
2876         * m4/pathmax.m4 (gl_PATHMAX):
2877         * m4/physmem.m4 (gl_PHYSMEM):
2878         * m4/posixtm.m4 (gl_POSIXTM):
2879         * m4/posixver.m4 (gl_POSIXVER):
2880         * m4/quote.m4 (gl_QUOTE):
2881         * m4/quotearg.m4 (gl_QUOTEARG):
2882         * m4/readtokens.m4 (gl_READTOKENS):
2883         * m4/readutmp.m4 (gl_READUTMP):
2884         * m4/regex.m4 (gl_REGEX):
2885         * m4/safe-read.m4 (gl_SAFE_READ):
2886         * m4/safe-write.m4 (gl_SAFE_WRITE):
2887         * m4/same.m4 (gl_SAME):
2888         * m4/save-cwd.m4 (gl_SAVE_CWD):
2889         * m4/savedir.m4 (gl_SAVEDIR):
2890         * m4/settime.m4 (gl_SETTIME):
2891         * m4/sha1.m4 (gl_SHA1):
2892         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
2893         * m4/stat-macros.m4 (gl_STAT_MACROS):
2894         * m4/stat-time.m4 (gl_STAT_TIME):
2895         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
2896         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
2897         * m4/strdup.m4 (gl_FUNC_STRDUP):
2898         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
2899         * m4/strndup.m4 (gl_FUNC_STRNDUP):
2900         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
2901         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
2902         * m4/time_r.m4 (gl_TIME_R):
2903         * m4/timespec.m4 (gl_TIMESPEC):
2904         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
2905         * m4/unlinkdir.m4 (gl_UNLINKDIR):
2906         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
2907         * m4/userspec.m4 (gl_USERSPEC):
2908         * m4/utimecmp.m4 (gl_UTIMECMP):
2909         * m4/utimens.m4 (gl_UTIMENS):
2910         * m4/xalloc.m4 (gl_XALLOC):
2911         * m4/xgetcwd.m4 (gl_XGETCWD):
2912         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
2913         * m4/xreadlink.m4 (gl_XREADLINK):
2914         * m4/xstrtod.m4 (gl_XSTRTOD):
2915         * m4/yesno.m4 (gl_YESNO):
2916         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
2917         to get the necessary .h files and whatnot.
2918
2919 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
2920             Bruno Haible <bruno@clisp.org>
2921
2922         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
2923         /bin/sh understanding of '!' conditional negation.
2924
2925 2006-08-21  Jim Meyering  <jim@meyering.net>
2926
2927         * modules/openat (Depends-on): Really alphabetize.
2928
2929         * modules/acl (Depends-on): Add error and quote.
2930
2931         * check-module (find_included_lib_files): Add at-func.c to the
2932         ok-to-include-more-than-once white list.
2933
2934         * modules/openat (Depends-on): Add lstat.  Alphabetize.
2935
2936 2006-08-21  Bruno Haible <bruno@clisp.org>
2937
2938         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
2939         Emit a pkgdata_DATA variable only if some snippets add contents to it.
2940         Reported by Martin Lambers <marlam@marlam.de>.
2941
2942 2006-08-21  Bruno Haible <bruno@clisp.org>
2943
2944         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
2945         specify an installation location, don't emit a noinst_LIBRARIES or
2946         noinst_LTLIBRARIES assignment.
2947
2948 2006-08-21  Bruno Haible  <bruno@clisp.org>
2949
2950         BeOS portability.
2951         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
2952         BeOS has mbrtowc() but no <wctype.h>.
2953
2954 2006-08-21  Bruno Haible  <bruno@clisp.org>
2955
2956         BeOS portability.
2957         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
2958         exist.
2959
2960 2006-08-21  Bruno Haible  <bruno@clisp.org>
2961
2962         BeOS portability.
2963         * lib/mbchar.h: Include <wctype.h> only if it exists.
2964
2965 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2966
2967         Remove files that are no longer needed by their respective modules.
2968         * m4/obstack.m4: Remove.
2969         * m4/strerror_r.m4: Remove.
2970         * m4/uint32_t.m4: Remove.
2971         * m4/uintptr_t.m4: Remove.
2972         * m4/ullong_max.m4: Remove.
2973         * m4/xstrtoimax.m4: Remove.
2974         * m4/xstrtoumax.m4: Remove.
2975
2976         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
2977         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
2978         dependencies now capture this.
2979
2980         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
2981         Do not use AC_LIBSOURCES, since gnulib modules now do this.
2982         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
2983         * m4/human.m4 (gl_HUMAN): Likewise.
2984         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
2985         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
2986
2987         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
2988
2989         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
2990         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
2991         stdint.
2992         * m4/human.m4 (gl_HUMAN): Likewise.
2993         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
2994         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
2995         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
2996         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
2997         * m4/xstrtol (gl_XSTRTOL): Likewise.
2998
2999         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
3000         AC_TYPE_LONG_LONG_INT.
3001         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
3002         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
3003         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
3004         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
3005
3006         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
3007         on stdbool.
3008
3009         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
3010         (gl_PREREQ_XSTRTOUL): Remove.
3011
3012         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
3013
3014         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
3015         mode.
3016
3017 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3018
3019         Add and change modules to make it easier for coreutils to use
3020         gnulib-tool.
3021         * modules/backupfile (Files): Remove m4/d-ino.m4.
3022         (Depends-on): Add d-ino.
3023         * modules/cycle-check (Depends-on): Add stdint.
3024         (lib_SOURCES): Add cycle-check.h.
3025         * modules/d-ino: New module.
3026         * modules/d-type: New module.
3027         * modules/error (Files): Remove m4/strerror_r.m4.
3028         * modules/filemode (Files): Add m4/st_dm_mode.m4.
3029         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
3030         m4/inttypes_h.m4, m4/uintmax_t.m4.
3031         (Depends-on): Add stdint.
3032         (lib_SOURCES): Add fsusage.h.
3033         * modules/getcwd (Files): Remove d-ino.m4.
3034         (Depends-on): Add d-ino.
3035         * modules/getndelim2 (Depends-on): Add stdint.
3036         * modules/glob (Files): Remove m4/d-type.m4.
3037         (Depends-on): Add d-type.
3038         * modules/host-os: New module.
3039         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
3040         m4/inttypes_h.m4, m4/uintmax_t.m4.
3041         * Depends-on: Add stdint.
3042         (lib_SOURCES): Add human.h.
3043         * modules/inttostr (Files): Remove m4/intmax_t.m4,
3044         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
3045         m4/uintmax_t.m4, m4/ulonglong.m4.
3046         (Depends-on): Add stdint.
3047         (EXTRA_DIST): Add inttostr.h.
3048         * modules/lchmod: New module.
3049         * modules/link-follow: New module.
3050         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
3051         (Depends-on): Add lchmod.
3052         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
3053         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
3054         (Depends-on): Add stdint.
3055         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
3056         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
3057         (Depends-on): Add stdint.
3058         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
3059         * modules/perl: New module.
3060         * modules/regex (Depends-on): Add stdint.
3061         * modules/rmdir-errno: New module.
3062         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3063         m4/intmax_t.m4.
3064         (Depends-on): Add stdint.
3065         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
3066         m4/uintmax_t.m4.
3067         (Depends-on): Add stdint.
3068         * modules/unlink-busy: New module.
3069         * modules/utimecmp (Depends-on): Add stdint.
3070         * modules/uptime: New module.
3071         * modules/winsz-ioctl: New module.
3072         * modules/winsz-termios: New module.
3073         * modules/xnanosleep (Depends-on): Add nanosleep.
3074         * modules/ullong_max: Remove.
3075         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
3076         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
3077         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
3078         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
3079         (Depends-on): Add inttypes.
3080         (lib_SOURCES): Add xstrtol.h.
3081         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
3082         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
3083         * MODULES.html.sh: Move 'assert' into the assert section.
3084         Move 'dummy' into the linking section.
3085         Remove ullong_max.
3086         Add section for compatibility checks for POSIX:2001 functions,
3087         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
3088         winsz-ioctl, and winsz-termios into it.
3089         Add lchmod.
3090         Add top-level Misc section and put host-os, perl, and uptime
3091         into it.
3092
3093 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
3094
3095         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
3096         now assume the stdint module.  Do not include inttypes.h.
3097         * lib/fsusage.h: Likewise.
3098         * lib/getndelim2.c: Likewise.
3099         * lib/human.h: Likewise.
3100         * lib/inttostr.h: Likewise.
3101         * lib/obstack.c: Likewise.
3102         * lib/regex_internal.h: Likewise.
3103         * lib/tempname.c: Likewise.
3104         * lib/utimecmp.c: Likewise.
3105         * lib/xstrtol.h: Likewise.
3106
3107         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
3108
3109         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
3110         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
3111         * lib/xtime.h: Likewise.
3112
3113 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3114
3115         * modules/openat (Files): Add lib/fchmodat.c.
3116         Fixes problem reported by Jay Youngman.
3117
3118 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
3119
3120         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
3121         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
3122
3123 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
3124             Bruno Haible  <bruno@clisp.org>
3125
3126         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
3127         and is a script that invokes bison. Tighten the code. Add comments.
3128
3129 2006-08-18  Jim Meyering  <jim@meyering.net>
3130
3131         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
3132         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
3133         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
3134         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
3135
3136 2006-08-18  Bruno Haible  <bruno@clisp.org>
3137
3138         * modules/bison-i18n: New file.
3139         * MODULES.html.sh (Internationalization functions): Add it.
3140
3141 2006-08-18  Bruno Haible  <bruno@clisp.org>
3142
3143         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
3144         sys/statvfs.h. When getmntinfo was found, check its declaration and
3145         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
3146
3147 2006-08-18  Bruno Haible  <bruno@clisp.org>
3148
3149         * m4/bison-i18n.m4: New file, from bison.
3150
3151 2006-08-18  Bruno Haible  <bruno@clisp.org>
3152
3153         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
3154         (ME_DUMMY): Treat "kernfs" as a dummy.
3155         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
3156
3157 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3158
3159         Update from coreutils.
3160
3161         2006-08-15  Jim Meyering  <jim@meyering.net>
3162
3163         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
3164
3165         2006-01-17  Jim Meyering  <jim@meyering.net>
3166
3167         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
3168
3169         2006-01-11  Jim Meyering  <jim@meyering.net>
3170
3171         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
3172         Check for the lchmod function.
3173
3174 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3175
3176         Update from coreutils.
3177
3178         * lib/__fpending.h: Add copyright notice.
3179         * lib/fprintftime.h: Likewise.
3180         * lib/savedir.c: Use (C) in copyright notice.
3181         * lib/savedir.h: Likewise.
3182
3183         2006-08-15  Jim Meyering  <jim@meyering.net>
3184
3185         * lib/at-func.c: New file, with the logic of all emulated at-functions.
3186         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
3187         in support of the EXPECTED_ERRNO macro.
3188         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
3189         definitions.  Instead, define the appropriate symbols and include
3190         "at-func.c".
3191         * lib/mkdirat.c (mkdirat): Likewise.
3192         * lib/fchmodat.c (fchmodat): Likewise.
3193         (ENOSYS): Remove definition.
3194         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
3195         it.  Don't include "unistd--.h" -- it wasn't ever used.
3196
3197         2006-01-17  Jim Meyering  <jim@meyering.net>
3198
3199         Rewrite fts.c not to change the current working directory,
3200         by using openat, fstatat, fdopendir, etc..
3201
3202         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
3203         (HAVE_OPENAT_SUPPORT): Define.
3204         [_LIBC] (fchdir): Don't undef or define; no longer used.
3205         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
3206         Now, this `function' always succeeds, and consumes its file descriptor
3207         parameter -- so callers must not close such FDs.  Update callers.
3208         (diropen_fd, opendirat, cwd_advance_fd): New functions.
3209         (diropen): Add parameter, SP.  Adjust all callers.
3210         Implement using diropen_fd, rather than open.
3211         (fts_open): Initialize new member, fts_cwd_fd.
3212         Remove fts_rft-setting code.
3213         (fts_close): Close fts_cwd_fd, if necessary.
3214         (__opendir2): Define in terms of opendir or opendirat,
3215         depending on whether the FST_NOCHDIR flag is set.
3216         (fts_build): Since fts_safe_changedir consumes its FD, and since
3217         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
3218         and close the dup'd file descriptor upon failure.
3219         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
3220         (fts_safe_changedir): Tweak semantics to reflect that this function
3221         now calls cwd_advance_fd and hence consumes its FD argument.
3222         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
3223         [struct FTS] (fts_rft): Remove now-unused member.
3224         [struct FTS] (fts_cycle.state): Improve comment.
3225
3226         * lib/openat.c (openat_needs_fchdir): New function.
3227         * lib/openat.h (openat_needs_fchdir): Declare it.
3228
3229 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3230
3231         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
3232         Problem and fix reported by Pádraig Brady in
3233         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
3234
3235 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3236
3237         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
3238
3239 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3240
3241         * lib/memcoll.c (memcoll): Optimize for the common case where the
3242         arguments are bytewise equal.
3243
3244 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3245
3246         * doc/regexprops-generic.texi: Add a copyright notice.
3247
3248 2006-08-15  Bruno Haible  <bruno@clisp.org>
3249
3250         * modules/tmpdir (License): Change to LGPL.
3251
3252 2006-08-15  Bruno Haible  <bruno@clisp.org>
3253
3254         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
3255         module.
3256
3257 2006-08-14  Simon Josefsson  <jas@extundo.com>
3258
3259         * config/srclist.txt: Add gnupload.
3260
3261 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3262
3263         Change copyright notice from LGPL 2 to GPL 2, since that's the
3264         standard form used in the gnulib repository.
3265         * tests/test-lock.c: Likewise.
3266         * tests/test-stdint.c: Likewise.
3267         * tests/test-tls.c: Likewise.
3268
3269         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
3270         prelude-manager.  User shorter URLs for GNU projects, without '?'.
3271         Add copyright notice.
3272
3273         * check-module: Add copyright notice.  Output a copyright
3274         notice if "--version" is specified.
3275         * modules/COPYING: New file.
3276         * tests/test-getaddrinfo.c: Add copyright notice.
3277         * tests/test-verify.c: Likewise.
3278
3279 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3280
3281         Change copyright notice from LGPL 2 to GPL 2, since that's the
3282         standard form used in the gnulib repository.
3283         * lib/lock.c: LGPL -> GPL.
3284         * lib/lock.h: Likewise.
3285         * lib/strnlen1.c: Likewise.
3286         * lib/strnlen1.h: Likewise.
3287         * lib/tls.c: Likewise.
3288         * lib/tls.h: Likewise.
3289         * lib/tmpdir.c: Likewise.
3290
3291         * lib/TODO: Remove; this belongs only in coreutils.
3292
3293 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3294
3295         Add copyright notices to long-enough files that lack them, since
3296         otherwise the files aren't clearly free.  Use the same notice that
3297         getdate.texi already uses.
3298         * doc/alloca-opt.texi: Add copyright notice.
3299         * doc/alloca.texi: Likewise.
3300         * doc/ctime.texi: Likewise.
3301         * doc/functions.texi: Likewise.
3302         * doc/gcd.texi: Likewise.
3303         * doc/gnulib-tool.texi: Likewise.
3304         * doc/inet_ntoa.texi: Likewise.
3305         * doc/visibility.texi: Likewise.
3306
3307         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
3308         * doc/quote.texi: Add copyright notice.
3309
3310         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
3311         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
3312         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
3313         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
3314         is now obsolete, and give a pointer to the Sun list.
3315         Add copyright notice.
3316
3317 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
3318
3319         * config/srclistvars.sh: Add copyright notice.
3320
3321 2006-08-14  Eric Blake  <ebb9@byu.net>
3322
3323         Import the following change from libc:
3324
3325         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
3326
3327         Upstream bug 2997.
3328         * lib/misc/error.c: Add space between program name and message if file
3329         name is missing.
3330
3331 2006-08-12  Karl Berry  <karl@gnu.org>
3332
3333         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
3334         remove, these originate in gnulib now.
3335
3336 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3337
3338         * doc/Makefile (standards.info standards.html standards.dvi):
3339         Also depend on make-stds.texi.
3340
3341 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
3342
3343         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
3344         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
3345
3346         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
3347         in wchar_t.  Problem reported by Eric Blake.
3348
3349         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
3350         LEN is smaller than SIZE.  Suggested by Bruno Haible.
3351         Also, help the compiler to keep LEN in a register.
3352
3353 2006-08-11  Eric Blake  <ebb9@byu.net>
3354
3355         * users.txt: Sort.  Add tar.
3356
3357 2006-08-11  Bruno Haible  <bruno@clisp.org>
3358
3359         * users.txt: New file.
3360
3361 2006-08-11  Bruno Haible  <bruno@clisp.org>
3362
3363         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
3364         before <wchar.h>. Needed for OSF/1 and BSD/OS.
3365
3366 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3367
3368         * modules/snprintf (Depends-on): Remove minmax.
3369         (Maintainer): Add self and Bruno.
3370
3371 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
3372
3373         * lib/.cppi-disable: Add snprintf.h, socket_.h.
3374         * lib/snprintf.c: Include <errno.h> and <limits.h>.
3375         (EOVERFLOW): Define if the system does not.
3376         Do not include "minmax.h"; it wasn't used.
3377         (snprintf): Don't assume size_t promotes to an unsigned type.
3378         Fix bug when generated string was too long for the buffer: the
3379         buffer's contents are supposed to be the initial prefix of the
3380         output.  Don't assume vasnprintf returns EOVERFLOW if the size
3381         exceeds INT_MAX; do the check ourselves.
3382
3383         Import the following changes from libc:
3384
3385         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
3386
3387         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
3388         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
3389         set wc to the byte which couldn't be converted.
3390         (re_string_reconstruct): Don't clear valid_raw_len before calling
3391         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
3392         tip_context using re_string_context_at.
3393
3394         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
3395
3396         * lib/posix/regex.h: g++ still cannot handled [restrict].
3397
3398         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
3399
3400         * lib/posix/regex.h: Remove special handling for VMS.
3401
3402 2006-08-10  Jim Meyering  <jim@meyering.net>
3403
3404         * modules/same-inode: New module.
3405         * modules/dev-ino: New module.
3406         * modules/cycle-check: Depend on these modules, rather than simply
3407         including their .h files.
3408         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
3409         required via m4/cycle-check.m4.
3410         * modules/same: Depend on new same-inode module, rather than
3411         including same-inode.h.
3412         * modules/chdir-safer: New file.
3413
3414         * modules/chown (Depends-on): Add stat-macros.
3415
3416 2006-08-10  Jim Meyering  <jim@meyering.net>
3417
3418         * m4/cycle-check.m4: New file.
3419         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
3420         * m4/dev-ino.m4, same-inode.m4: New files.
3421
3422 2006-08-10  Eric Blake  <ebb9@byu.net>
3423
3424         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
3425         in from original proposal.
3426
3427 2006-08-10  Eric Blake  <ebb9@byu.net>
3428         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3429
3430         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
3431         namespace.
3432
3433 2006-08-10  Bruno Haible  <bruno@clisp.org>
3434
3435         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
3436         as well.
3437
3438 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3439
3440         Sync from coreutils.
3441
3442         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
3443
3444         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
3445         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
3446
3447 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3448
3449         * modules/restrict: Remove; no longer needed now that we assume
3450         Autoconf 2.59 or later.
3451         * MODULES.html.sh: Remove 'restrict'.
3452         * modules/argp (Depends-on): Remove 'restrict'.
3453         * modules/base64 (Depends-on): Likewise.
3454         * modules/gc (Depends-on): Likewise.
3455         * modules/getaddrinfo (Depends-on): Likewise.
3456         * modules/glob (Depends-on): Likewise.
3457         * modules/inet_ntop (Depends-on): Likewise.
3458         * modules/inet_pton (Depends-on): Likewise.
3459         * modules/memxor (Depends-on): Likewise.
3460         * modules/regex (Depends-on): Likewise.
3461         * modules/strtok_r (Depends-on): Likewise.
3462         * modules/time_r (Depends-on): Likewise.
3463
3464 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
3465
3466         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
3467         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
3468         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
3469         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
3470         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
3471         * m4/memxor.m4 (gl_MEMXOR): Likewise.
3472         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
3473         gl_C_RESTRICT replaced by AC_C_RESTRICT.
3474
3475         Merge from coreutils.
3476         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
3477         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
3478         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
3479         * m4/time_r.m4 (gl_TIME_R): Likewise.
3480
3481 2006-08-09  Karl Berry  <karl@gnu.org>
3482
3483         * config/srclist.txt: no more gettext-tools, per Bruno.
3484
3485 2006-08-08  Eric Blake  <ebb9@byu.net>
3486
3487         * modules/verror: New module.
3488         * MODULES.html.sh: Document it.
3489
3490 2006-08-08  Eric Blake  <ebb9@byu.net>
3491
3492         * lib/verror.h, verror.c: New files.
3493
3494 2006-08-08  Eric Blake  <ebb9@byu.net>
3495
3496         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
3497         verror_at_line output complies with GNU Coding Standards even when
3498         file is NULL.
3499
3500 2006-08-07  Bruno Haible  <bruno@clisp.org>
3501
3502         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
3503         versions of AIX.
3504         Reported by Ralf Wildenhues.
3505
3506 2006-08-07  Bruno Haible  <bruno@clisp.org>
3507
3508         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
3509         in an AC_DEFUN. Needed so that the autoconf snippets can use
3510         AC_REQUIRE.
3511
3512 2006-08-06  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3513
3514         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3515         Initialize pkgdata_DATA.
3516         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
3517         overriding it.
3518
3519 2006-08-06  Eric Blake  <ebb9@byu.net>
3520
3521         * lib/error.h: Fold in some upstream changes from glibc.
3522         * lib/error.c: Likewise.
3523
3524 2006-08-04  Bruno Haible  <bruno@clisp.org>
3525
3526         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3527         Make the mostlyclean-local rule depend on mostlyclean-generic.
3528         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
3529
3530 2006-07-31  Bruno Haible  <bruno@clisp.org>
3531
3532         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
3533         <stdlib.h>, <string.h>.
3534
3535 2006-07-30  Bruno Haible  <bruno@clisp.org>
3536
3537         * modules/readlink (License): Change to LGPL.
3538
3539 2006-07-30  Bruno Haible  <bruno@clisp.org>
3540
3541         * modules/javaversion (Makefile.am): Distribute javaversion.java and
3542         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
3543         set PKGDATADIR to point to it.
3544
3545 2006-07-30  Bruno Haible  <bruno@clisp.org>
3546
3547         * modules/csharpexec (configure.ac): Comment out macro invocation.
3548         * modules/javaexec (configure.ac): Likewise.
3549         * modules/javacomp-script (configure.ac): Likewise.
3550
3551         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
3552
3553 2006-07-30  Bruno Haible  <bruno@clisp.org>
3554
3555         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
3556         linked-list.
3557
3558 2006-07-30  Bruno Haible  <bruno@clisp.org>
3559
3560         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
3561
3562 2006-07-30  Bruno Haible  <bruno@clisp.org>
3563
3564         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3565         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
3566         get removed.
3567
3568 2006-07-29  Bruno Haible  <bruno@clisp.org>
3569
3570         Make it possible for gnulib-tool to work with locally modified or
3571         augmented gnulib repositories.
3572         * gnulib-tool (func_usage): Document --local-dir option.
3573         (local_gnulib_dir): New variable.
3574         Handle --local-dir option.
3575         (func_lookup_file): New function.
3576         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
3577         (func_get_description, func_get_filelist, func_get_description,
3578         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
3579         func_get_automake_snippet, func_get_include_directive,
3580         func_get_license, func_get_maintainer): Use func_lookup_file.
3581         (func_import, func_create_testdir): Use func_lookup_file.
3582
3583 2006-07-29  Bruno Haible  <bruno@clisp.org>
3584
3585         * modules/setenv (Depends-on): Add unistd.
3586
3587 2006-07-29  Bruno Haible  <bruno@clisp.org>
3588
3589         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
3590
3591 2006-07-29  Bruno Haible  <bruno@clisp.org>
3592
3593         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
3594
3595 2006-07-29  Bruno Haible  <bruno@clisp.org>
3596
3597         * gnulib-tool (import, update): If there is no Makefile.am, look at
3598         aclocal.m4, instead of bailing out.
3599
3600 2006-07-29  Bruno Haible  <bruno@clisp.org>
3601
3602         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
3603         Categorize the options by when they are useful.
3604
3605 2006-07-29  Bruno Haible  <bruno@clisp.org>
3606
3607         * gnulib-tool (func_usage): Document option --no-libtool.
3608         Handle option --no-libtool.
3609         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
3610         for changed semantics of $libtool variable.
3611         (func_import): Likewise. If libtool is not used, show this through
3612         an option --no-libtool.
3613         (func_create_testdir): Update.
3614
3615 2006-07-29  Bruno Haible  <bruno@clisp.org>
3616
3617         * gnulib-tool (func_import): Extend error message about missing
3618         --doc-base.
3619
3620 2006-07-29  Bruno Haible  <bruno@clisp.org>
3621
3622         * gnulib-tool (func_import): Don't create the $docbase directory if
3623         there is no file to store there.
3624
3625 2006-07-29  Bruno Haible  <bruno@clisp.org>
3626
3627         * gnulib-tool (autoconf_minversion): If a --dir option is given and
3628         relevant, look for configure.ac there, not in the current directory.
3629         Also use a simple search for AC_PREREQ, not "autoconf --trace".
3630
3631 2006-07-29  Bruno Haible  <bruno@clisp.org>
3632
3633         * gnulib-tool (SORT): New variable.
3634         (func_usage): Undocument --assume-autoconf option.
3635         Remove --assume-autoconf option handling.
3636         (autoconf_minversion): Determine from the contents of configure.ac.
3637         (func_import): Remove autoconf_minversion handling.
3638         Suggested by Eric Blake.
3639
3640 2006-07-29  Bruno Haible  <bruno@clisp.org>
3641
3642         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
3643
3644 2006-07-29  Bruno Haible  <bruno@clisp.org>
3645
3646         * config/srclist.txt (*setenv.[ch]): Remove rules.
3647
3648 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3649
3650         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
3651
3652 2006-07-28  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3653
3654         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
3655         arpa/inet.h.
3656
3657 2006-07-28  Simon Josefsson  <jas@extundo.com>
3658
3659         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
3660         * modules/inet_pton (Depends-on): Likewise.
3661
3662 2006-07-28  Simon Josefsson  <jas@extundo.com>
3663
3664         * m4/netinet_in_h.m4: New file.
3665
3666 2006-07-28  Simon Josefsson  <jas@extundo.com>
3667
3668         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
3669         #include's.
3670
3671 2006-07-28  Simon Josefsson  <jas@extundo.com>
3672
3673         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
3674         #include's.
3675
3676 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
3677
3678         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
3679         setgid on directories only if they set these bits.
3680         * lib/modechange.h: Remove obsolete comment about masks.
3681
3682 2006-07-28  Eric Blake  <ebb9@byu.net>
3683
3684         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
3685         macro expansion.
3686
3687 2006-07-28  Bruno Haible <bruno@clisp.org>
3688
3689         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
3690
3691 2006-07-28  Bruno Haible  <bruno@clisp.org>
3692
3693         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
3694
3695 2006-07-28  Bruno Haible  <bruno@clisp.org>
3696
3697         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
3698         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
3699         Define fallbacks.
3700         Avoids link error on FreeBSD 4.x.
3701         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
3702
3703         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
3704         encoding.
3705         * lib/mbswidth.c (iswcntrl): Likewise.
3706
3707 2006-07-27  Bruno Haible  <bruno@clisp.org>
3708
3709         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
3710         test.
3711
3712 2006-07-27  Bruno Haible  <bruno@clisp.org>
3713
3714         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
3715         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
3716         defined.
3717
3718 2006-07-26  Eric Blake  <ebb9@byu.net>
3719
3720         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
3721
3722 2006-07-26  Eric Blake  <ebb9@byu.net>
3723
3724         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
3725         like mingw that lack mkstemp.
3726         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
3727         avoid compilation warning on mingw.
3728
3729 2006-07-26  Bruno Haible  <bruno@clisp.org>
3730
3731         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
3732         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
3733         INT_FAST*_MIN, INTPTR_MIN.
3734
3735 2006-07-25  Bruno Haible  <bruno@clisp.org>
3736
3737         * modules/version-etc (Depends-on): Add stdarg.
3738
3739 2006-07-25  Bruno Haible  <bruno@clisp.org>
3740
3741         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
3742         complex commands.
3743
3744 2006-07-25  Bruno Haible  <bruno@clisp.org>
3745
3746         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
3747         defined in <stdarg.h> or config.h.
3748
3749 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
3750
3751         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
3752         (gl_STDIO_SAFER): Remove.
3753
3754 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
3755
3756         * MODULES.html.sh (File stream based Input/Output):
3757         Add fopen-safer, tmpfile-safer; remove stdio-safer.
3758         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
3759         * modules/fopen-safer, modules/tmpfile-safer: New files.
3760         * modules/stdio-safer: Remove.
3761
3762 2006-07-24  Bruno Haible  <bruno@clisp.org>
3763
3764         * modules/tmpdir: New file.
3765         * MODULES.html.sh (File system functions): Add it.
3766
3767 2006-07-24  Bruno Haible  <bruno@clisp.org>
3768
3769         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
3770         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
3771
3772 2006-07-24  Bruno Haible  <bruno@clisp.org>
3773
3774         * modules/clean-temp: New file.
3775
3776 2006-07-24  Bruno Haible  <bruno@clisp.org>
3777
3778         * m4/tmpdir.m4: New file, from GNU gettext.
3779
3780 2006-07-24  Bruno Haible  <bruno@clisp.org>
3781
3782         * lib/tmpdir.h: New file, from GNU gettext.
3783         * lib/tmpdir.c: New file, from GNU gettext.
3784
3785 2006-07-24  Bruno Haible  <bruno@clisp.org>
3786
3787         * lib/clean-temp.h: New file, from GNU gettext.
3788         * lib/clean-temp.c: New file, from GNU gettext.
3789
3790 2006-07-23  Eric Blake  <ebb9@byu.net>
3791
3792         * modules/stdio-safer (Files): Add tmpfile-safer.c.
3793         (Depends-on): Add binary-io.
3794
3795 2006-07-23  Eric Blake  <ebb9@byu.net>
3796
3797         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
3798
3799 2006-07-23  Eric Blake  <ebb9@byu.net>
3800
3801         * lib/tmpfile-safer.c: New file.
3802         * lib/stdio-safer.h (fopen_safer): Add prototype.
3803         * lib/stdio--.h (tmpfile): Make safer.
3804
3805 2006-07-23  Bruno Haible  <bruno@clisp.org>
3806
3807         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
3808         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
3809         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
3810         gl_linked_remove_at): Use it.
3811
3812 2006-07-22  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
3813         and Simon Josefsson <jas@extundo.com>
3814
3815         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
3816
3817         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
3818
3819 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
3820
3821         * modules/close-stream: New file.
3822         * modules/closeout (Description): Make it clear that it exits
3823         with a diagnostic on error.
3824         (Depends-on): Add close-stream.  Remove fpending, stdbool.
3825         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
3826
3827 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
3828
3829         * m4/close-stream.m4: New file.
3830
3831 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
3832
3833         * lib/close-stream.c, close-stream.h: New files.
3834
3835 2006-07-22  Bruno Haible  <bruno@clisp.org>
3836
3837         Merge from GNU gettext 0.15.
3838
3839         2006-05-01  Bruno Haible  <bruno@clisp.org>
3840
3841                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
3842
3843         2006-07-22  Bruno Haible  <bruno@clisp.org>
3844
3845                 * modules/javaversion: New file.
3846                 * MODULES.html.sh (Java): Add javaversion.
3847
3848         2006-03-12  Bruno Haible  <bruno@clisp.org>
3849
3850                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
3851
3852         2005-12-04  Bruno Haible  <bruno@clisp.org>
3853
3854                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
3855                 (untested).
3856
3857         2006-06-21  Bruno Haible  <bruno@clisp.org>
3858
3859                 Avoid warnings from recent versions of mcs.
3860                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
3861                 -o, -L, -r any more. Use options documented since mcs-1.0
3862                 instead. Similarly for -g.
3863
3864         2005-12-04  Bruno Haible  <bruno@clisp.org>
3865
3866                 * build-aux/csharpcomp.sh.in: Suffix for resources is
3867                 .resources, not .resource.
3868
3869         2005-07-09  Bruno Haible  <bruno@clisp.org>
3870
3871                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
3872                 add a .dll suffix.
3873                 Reported by Mark Junker <mjscod@gmx.de>.
3874
3875         2006-07-22  Bruno Haible  <bruno@clisp.org>
3876
3877                 * modules/gettext: Upgrade to gettext-0.15.
3878                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
3879                 m4/visibility.m4.
3880                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
3881
3882 2006-07-22  Bruno Haible  <bruno@clisp.org>
3883
3884         Merge from GNU gettext 0.15.
3885
3886         2006-03-25  Bruno Haible  <bruno@clisp.org>
3887
3888                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
3889
3890         2006-07-21  Bruno Haible  <bruno@clisp.org>
3891
3892                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
3893                 "1.1".
3894
3895         2006-05-09  Bruno Haible  <bruno@clisp.org>
3896
3897                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
3898                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
3899                 for the conftestver execution.
3900
3901         2006-05-01  Bruno Haible  <bruno@clisp.org>
3902
3903                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
3904                 optional target-version argument. Verify that the compiler
3905                 groks source of the specified source-version, or add -source
3906                 option as necessary. Verify that the compiler produces
3907                 bytecode in the specified target-version, or add -target and
3908                 -source options as necessary. Make the result of the test
3909                 available as variable CONF_JAVAC. Also log error output in
3910                 config.log.
3911
3912         2006-03-11  Bruno Haible  <bruno@clisp.org>
3913
3914                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
3915
3916         2006-05-09  Bruno Haible  <bruno@clisp.org>
3917
3918                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
3919                 CLASSPATH_SEPARATOR to a semicolon.
3920
3921         2006-03-12  Bruno Haible  <bruno@clisp.org>
3922
3923                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
3924                 available as variable CONF_JAVA, for subsequent autoconf
3925                 tests. Also log error output in config.log.
3926
3927         2006-07-19  Bruno Haible  <bruno@clisp.org>
3928
3929                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
3930                 that getline works on glibc2 systems. Needed to avoid trouble
3931                 in relocatable.c.
3932                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
3933
3934         2005-12-04  Bruno Haible  <bruno@clisp.org>
3935
3936                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
3937                 launcher (untested).
3938
3939         2005-12-04  Bruno Haible  <bruno@clisp.org>
3940
3941                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
3942
3943         2006-07-22  Bruno Haible  <bruno@clisp.org>
3944
3945                 * gettext.m4: Update from GNU gettext-0.15.
3946                 * nls.m4: Likewise.
3947                 * po.m4: Likewise.
3948                 * inttypes-pri.m4: Likewise.
3949                 * inttypes-h.m4: Renamed from inttypes.m4.
3950                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
3951
3952 2006-07-22  Bruno Haible  <bruno@clisp.org>
3953
3954         Merge from GNU gettext 0.15.
3955
3956         2005-07-05  Bruno Haible  <bruno@clisp.org>
3957
3958                 * printf-args.c (printf_fetchargs): Work around broken
3959                 definition of wint_t on mingw.
3960
3961         2005-02-12  Bruno Haible  <bruno@clisp.org>
3962
3963                 * xallocsa.h: Add extern "C" for C++.
3964
3965         2006-05-17  Bruno Haible  <bruno@clisp.org>
3966
3967                 Cygwin portability.
3968                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
3969
3970         2006-04-30  Bruno Haible  <bruno@clisp.org>
3971
3972                 * progreloc.c: Include <mach-o/dyld.h> if available.
3973                 (find_executable): Use _NSGetExecutablePath when possible.
3974
3975         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
3976
3977                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
3978                 function.
3979
3980         2005-12-29  Bruno Haible  <bruno@clisp.org>
3981
3982                 * progreloc.c (set_program_name_and_installdir): Fix
3983                 compilation error.
3984
3985         2005-12-04  Bruno Haible  <bruno@clisp.org>
3986
3987                 Cygwin portability.
3988                 * progreloc.c: Include <windows.h> also on Cygwin.
3989                 (find_executable): Add support for Cygwin.
3990                 (set_program_name_and_installdir): Handle also platforms with
3991                 nonempty EXEEXT.
3992
3993         2006-07-11  Bruno Haible  <bruno@clisp.org>
3994
3995                 * javacomp.c: Fix a comment.
3996                 Reported by Jim Meyering.
3997
3998         2006-04-30  Bruno Haible  <bruno@clisp.org>
3999
4000                 * javacomp.h (compile_java_class): Add source_version,
4001                 target_version arguments.
4002                 * javacomp.c: Rewritten to choose only a compiler that
4003                 respects the specified source_version and target_version.
4004
4005         2006-06-27  Bruno Haible  <bruno@clisp.org>
4006
4007                 Assume correct S_ISDIR macro.
4008                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
4009
4010         2006-07-22  Bruno Haible  <bruno@clisp.org>
4011
4012                 * javaversion.h: New file, from GNU gettext.
4013                 * javaversion.c: New file, from GNU gettext.
4014                 * javaversion.java: New file, from GNU gettext.
4015                 * javaversion.class: New file, from GNU gettext.
4016
4017         2006-05-17  Bruno Haible  <bruno@clisp.org>
4018
4019                 Cygwin portability.
4020                 * javaexec.c (execute_java_class): Test for jview program
4021                 also on Cygwin.
4022
4023         2006-04-09  Bruno Haible  <bruno@clisp.org>
4024
4025                 * fatal-signal.c: Don't include string.h.
4026                 (at_fatal_signal): Use a copying loop instead of memcpy.
4027
4028         2005-12-04  Bruno Haible  <bruno@clisp.org>
4029
4030                 * csharpexec.c: Add support for 'clix' launcher (untested).
4031                 (execute_csharp_using_sscli): New function.
4032                 (execute_csharp_program): Call it.
4033
4034         2006-06-21  Bruno Haible  <bruno@clisp.org>
4035
4036                 Avoid warnings from recent versions of mcs.
4037                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
4038                 -o, -L, -r any more. Use options documented since mcs-1.0
4039                 instead. Similarly for -g.
4040
4041         2005-07-09  Bruno Haible  <bruno@clisp.org>
4042
4043                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
4044                 add a .dll suffix.
4045                 Reported by Mark Junker <mjscod@gmx.de>.
4046
4047         2006-06-17  Bruno Haible  <bruno@clisp.org>
4048
4049                 * config.charset: Update for NetBSD 3.0.
4050
4051         2006-05-17  Bruno Haible  <bruno@clisp.org>
4052
4053                 Cygwin portability.
4054                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
4055
4056         2006-05-16  Bruno Haible  <bruno@clisp.org>
4057
4058                 * localcharset.c [CYGWIN]: Include <windows.h>.
4059                 (get_charset_aliases): For Cygwin, return the same CPxxx
4060                 aliases list as under WIN32.
4061                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
4062                 the environment variables. Fall back to GetACP().
4063
4064         2006-04-05  Bruno Haible  <bruno@clisp.org>
4065
4066                 * config.charset: Update Juan Manuel Guerrero's address.
4067
4068         2005-02-12  Bruno Haible  <bruno@clisp.org>
4069
4070                 * allocsa.h: Add extern "C" for C++.
4071
4072         2005-02-10  Bruno Haible  <bruno@clisp.org>
4073
4074                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
4075                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
4076
4077         2006-07-22  Bruno Haible  <bruno@clisp.org>
4078
4079                 * gettext.h: Update to GNU gettext-0.15.
4080
4081 2006-07-22  Bruno Haible  <bruno@clisp.org>
4082
4083         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
4084         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
4085         lib-prefix.m4, longdouble.m4, ssize_t.m4.
4086
4087 2006-07-21  Eric Blake  <ebb9@byu.net>
4088
4089         * modules/stdlib-safer: New file.
4090         * MODULES.html.sh (File stream based Input/Output): Add
4091         stdlib-safer.
4092
4093 2006-07-21  Eric Blake  <ebb9@byu.net>
4094
4095         * lib/stdlib-safer.h: New file from coreutils, required by
4096         stdlib--.h.
4097
4098 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
4099
4100         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
4101
4102 2006-07-20  Bruno Haible  <bruno@clisp.org>
4103
4104         * gnulib-tool: Recognize new option --assume-autoconf.
4105         (autoconf_minversion): New variable.
4106         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
4107
4108 2006-07-20  Bruno Haible  <bruno@clisp.org>
4109
4110         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
4111
4112 2006-07-19  Derek R. Price  <derek@ximbiot.com>
4113
4114         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
4115         Reindent and repaginate.
4116
4117 2006-07-19  Derek Price  <derek@ximbiot.com>
4118
4119         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
4120         Correct grammar.
4121
4122 2006-07-17  Bruno Haible  <bruno@clisp.org>
4123
4124         * modules/list: New file.
4125         * modules/array-list: New file.
4126         * modules/carray-list, modules/carray-list-tests: New files.
4127         * modules/linked-list, modules/linked-list-tests: New files.
4128         * modules/avltree-list, modules/avltree-list-tests: New files.
4129         * modules/rbtree-list, modules/rbtree-list-tests: New files.
4130         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
4131         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
4132         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
4133         * modules/oset: New file.
4134         * modules/array-oset: New file.
4135         * modules/avltree-oset, modules/avltree-oset-tests: New files.
4136         * modules/rbtree-oset, rbtree-oset-tests: New files.
4137         * tests/test-carray_list.c: New file.
4138         * tests/test-linked_list.c: New file.
4139         * tests/test-avltree_list.c: New file.
4140         * tests/test-rbtree_list.c: New file.
4141         * tests/test-linkedhash_list.c: New file.
4142         * tests/test-avltreehash_list.c: New file.
4143         * tests/test-rbtreehash_list.c: New file.
4144         * tests/test-avltree_oset.c: New file.
4145         * tests/test-rbtree_oset.c: New file.
4146         * MODULES.html.sh (Container data structures): New section.
4147
4148 2006-07-17  Bruno Haible  <bruno@clisp.org>
4149
4150         * m4/gl_list.m4: New file.
4151
4152 2006-07-17  Bruno Haible  <bruno@clisp.org>
4153
4154         * lib/gl_list.h: New file.
4155         * lib/gl_list.c: New file.
4156         * lib/gl_array_list.h: New file.
4157         * lib/gl_array_list.c: New file.
4158         * lib/gl_carray_list.h: New file.
4159         * lib/gl_carray_list.c: New file.
4160         * lib/gl_linked_list.h: New file.
4161         * lib/gl_linked_list.c: New file.
4162         * lib/gl_anylinked_list1.h: New file.
4163         * lib/gl_anylinked_list2.h: New file.
4164         * lib/gl_avltree_list.h: New file.
4165         * lib/gl_avltree_list.c: New file.
4166         * lib/gl_anyavltree_list1.h: New file.
4167         * lib/gl_anyavltree_list2.h: New file.
4168         * lib/gl_rbtree_list.h: New file.
4169         * lib/gl_rbtree_list.c: New file.
4170         * lib/gl_anyrbtree_list1.h: New file.
4171         * lib/gl_anyrbtree_list2.h: New file.
4172         * lib/gl_anytree_list1.h: New file.
4173         * lib/gl_anytree_list2.h: New file.
4174         * lib/gl_linkedhash_list.h: New file.
4175         * lib/gl_linkedhash_list.c: New file.
4176         * lib/gl_anyhash_list1.h: New file.
4177         * lib/gl_anyhash_list2.h: New file.
4178         * lib/gl_avltreehash_list.h: New file.
4179         * lib/gl_avltreehash_list.c: New file.
4180         * lib/gl_rbtreehash_list.h: New file.
4181         * lib/gl_rbtreehash_list.c: New file.
4182         * lib/gl_anytreehash_list1.h: New file.
4183         * lib/gl_anytreehash_list2.h: New file.
4184
4185         * lib/gl_oset.h: New file.
4186         * lib/gl_oset.c: New file.
4187         * lib/gl_array_oset.h: New file.
4188         * lib/gl_array_oset.c: New file.
4189         * lib/gl_avltree_oset.h: New file.
4190         * lib/gl_avltree_oset.c: New file.
4191         * lib/gl_rbtree_oset.h: New file.
4192         * lib/gl_rbtree_oset.c: New file.
4193         * lib/gl_anytree_oset.h: New file.
4194
4195 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4196
4197         * m4/mkancesdirs.m4: New file.
4198         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
4199         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
4200         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
4201         it.
4202
4203 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4204
4205         * lib/dirchownmod.c, dirchownmod.h, mkancesdirs.c, mkancesdirs.h:
4206         New files.
4207         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
4208         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
4209         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
4210         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
4211         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
4212         callers changed.  Revamp internals significantly, by not
4213         attempting to create directories that are temporarily more
4214         permissive than the final results.  Do not attempt to use
4215         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
4216         This removes some race conditions, fixes some bugs, and simplifies
4217         things.  Use new dirchownmod function to do owner and mode changes.
4218         * lib/mkdir-p.h: Likewise.
4219         * lib/modechange.c (octal_to_mode): New function.
4220         (struct mode_change): New member mentioned.
4221         (make_node_op_equals): New arg mentioned.  All callers changed.
4222         (mode_compile): Keep track of which mode bits the user has explicitly
4223         mentioned.
4224         (mode_adjust): New arg DIR, so that we implement the X op correctly.
4225         New arg PMODE_BITS, to keep track of which mode bits the user
4226         mentioned; it treats S_ISUID and S_ISGID speciall.
4227         All callers changed.
4228         * lib/modechange.h: Likewise.
4229
4230 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
4231
4232         * MODULES.html.sh: Add mkancestors.
4233         * modules/mkancesdirs: New module.
4234         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
4235         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
4236         The chdir-safer and afs files are now orphans; I'll remove them
4237         unless someone speaks up.
4238         Add lib/dirchownmod.c, lib/dirchownmod.h.
4239         (Depends-on): Remove alloca, chown, save-cwd, dirname.
4240         Add lchown, mkancesdirs.
4241         (Maintainer): Add self.
4242
4243 2006-07-15  Karl Berry  <karl@gnu.org>
4244
4245         * gnulib-tool: help message wording/arrangement.
4246
4247 2006-07-14  Simon Josefsson  <jas@extundo.com>
4248
4249         * doc/gnulib.texi (Libtool and Windows): New section.
4250
4251 2006-07-12  Simon Josefsson  <jas@extundo.com>
4252
4253         * modules/gendocs (License): Fix license, approved by Karl.
4254
4255 2006-07-12  Eric Blake  <ebb9@byu.net>
4256
4257         * MODULES.html.sh: Add gendocs.
4258
4259 2006-07-11  Eric Blake  <ebb9@byu.net>
4260
4261         * modules/fdl: New module, to install doc/fdl.texi.
4262         * MODULES.html.sh: Add new section for documentation modules.
4263         * gnulib-tool: Avoid space-tab.
4264         (--doc-base): New option, to manage files from doc.
4265
4266 2006-07-11  Eric Blake  <ebb9@byu.net>
4267
4268         * m4/absolute-header.m4: Fix comments to match recent change.
4269
4270 2006-07-11  Eric Blake  <ebb9@byu.net>
4271
4272         * gnulib-tool: List --doc-base before --tests-base.
4273
4274 2006-07-11  Derek R. Price  <derek@ximbiot.com>
4275
4276         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
4277
4278 2006-07-11  Bruno Haible  <bruno@clisp.org>
4279
4280         * README: Mention where to put documentation.
4281
4282 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4283
4284         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
4285
4286 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
4287
4288         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
4289         to stdint.m4.
4290
4291 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
4292
4293         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
4294         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
4295         "no/such/file/stdint.h" when there is no such file, so that
4296         the resulting C code can be parsed by dodgy compilers.
4297         Problems reported by Bob Proulx.
4298
4299 2006-07-10  Derek R. Price  <derek@ximbiot.com>
4300
4301         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
4302         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
4303         macros into the GNU _D_EXACT_NAMLEN.
4304         * lib/savedir.c:  Likewise.
4305         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
4306
4307 2006-07-10  Derek R. Price  <derek@ximbiot.com>
4308         and Paul Eggert  <eggert@cs.ucla.edu>
4309
4310         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
4311         * m4/savedir.m4:
4312         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
4313         macros into the GNU _D_EXACT_NAMLEN.
4314
4315 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4316
4317         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
4318         around the absolute name, to work around a problem with the HP-UX
4319         11.23 native C compiler, reported by Bob Proulx.
4320
4321 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4322
4323         * doc/maintain.texi, make-stds.texi: Sync from
4324         <http://savannah.gnu.org/projects/gnustandards>.
4325
4326 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
4327
4328         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
4329
4330 2006-07-09  Jim Meyering  <jim@meyering.net>
4331
4332         * m4/glob.m4: Remove a doubled word in a comment.
4333
4334 2006-07-09  Jim Meyering  <jim@meyering.net>
4335
4336         * lib/argp-pv.c: Remove a doubled word in a comment.
4337         * lib/check-version.c (check_version): Likewise.
4338         * lib/javacomp.c (compile_java_class): Likewise.
4339
4340 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
4341
4342         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
4343         for the benefit of people using Autoconf 2.60.  If you want to
4344         support older Autoconf versions you can copy m4/onceonly_2_57.m4
4345         (or m4/onceonly.m4, if pre-2.57) manually.
4346
4347 2006-07-08  Jim Meyering  <jim@meyering.net>
4348
4349         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
4350         comment.
4351         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
4352         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
4353         comment.
4354
4355 2006-07-08  Jim Meyering  <jim@meyering.net>
4356
4357         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
4358
4359 2006-07-07  Simon Josefsson  <jas@extundo.com>
4360
4361         * tests/test-crc.c: Change expected crc value, the test vector
4362         were probably computed using the old broken crc.c?
4363
4364 2006-07-06  Simon Josefsson  <jas@extundo.com>
4365
4366         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
4367         now the canonical place for the M4 file).
4368
4369         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
4370         from the sys_socket dependency now.
4371
4372         * modules/inet_pton (Files): Ditto.
4373
4374         * modules/inet_ntop (Files): Ditto.
4375
4376 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
4377
4378         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
4379         not gl_PREREQ_GETUSERSHELL.
4380
4381 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4382
4383         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
4384         with only one argument, for Autoconf 2.60.
4385         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
4386         expand to nothing, so add a shell command to avoid syntax error.
4387         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
4388
4389 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4390
4391         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
4392
4393 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4394
4395         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
4396         no longer needed.  Check for isblank decl.
4397         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
4398         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
4399         of existence.
4400
4401 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4402
4403         * lib/getloadavg.c: Use __VMS, not VMS.
4404         * lib/getopt.c: Likewise.
4405         * lib/getpagesize.h: Likewise.
4406         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
4407         and probably does not work.
4408
4409 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
4410
4411         * lib/.cppi-disable: Add wcwidth.
4412         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
4413         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
4414         (ISGRAPH): Remove.  All uses changed to isgraph.
4415         (FOLD) [!defined _LIBC]: Remove special case.
4416         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
4417         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
4418         HAVE_ISBLANK.
4419         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
4420         case.
4421
4422 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
4423
4424         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
4425         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
4426         brackets.  Other minor changes to suppress some compiler
4427         warnings.
4428
4429 2006-07-06  Derek R. Price  <derek@ximbiot.com>
4430         and Paul Eggert  <eggert@cs.ucla.edu>
4431
4432         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
4433         of invoking obsolescent AC_HEADER_DIRENT macro.
4434         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
4435         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
4436         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
4437         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
4438         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
4439         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
4440         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
4441         * m4/readdir.m4: Remove; no longer needed.
4442
4443 2006-07-06  Derek R. Price  <derek@ximbiot.com>
4444         and Paul Eggert  <eggert@cs.ucla.edu>
4445
4446         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
4447         Don't worry about this obsolete case any more.
4448         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
4449         directories.
4450         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
4451         worry about this obsolete case any more.
4452         * lib/fts.c: Likewise.
4453         * lib/getcwd.c: Likewise.
4454         * lib/glob.h: Likewise.
4455         * lib/savedir.c: Likewise.
4456
4457 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4458
4459         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
4460         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
4461         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
4462         needed.
4463         All uses removed.
4464         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
4465         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
4466         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
4467         needed.
4468         * m4/getdate.m4 (gl_GETDATE): Likewise.
4469         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
4470         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
4471         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
4472         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
4473         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
4474         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
4475         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
4476         needed.
4477
4478 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
4479
4480         * lib/memcasecmp.c: Include <limits.h>.
4481         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
4482         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
4483         Don't assume isdigit succeeds only on '0' through '9'.
4484
4485 2006-07-05  Eric Blake  <ebb9@byu.net>
4486
4487         * modules/getaddrinfo (Depends-on): Add snprintf.
4488
4489 2006-07-05  Eric Blake  <ebb9@byu.net>
4490
4491         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
4492         to avoid 'header present but could not be compiled' on cygwin.
4493
4494 2006-07-05  Eric Blake  <ebb9@byu.net>
4495
4496         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
4497         missing from netdb.h.
4498         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
4499
4500 2006-07-05  Derek R. Price  <derek@ximbiot.com>
4501
4502         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
4503         no longer needed.
4504         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
4505         * m4/getdate.m4 (gl_GETDATE): Likewise.
4506         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
4507         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
4508         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
4509         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
4510         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
4511
4512 2006-07-05  Derek R. Price  <derek@ximbiot.com>
4513
4514         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
4515         All uses of is_space replaced by isspace.
4516         * lib/exit.h: Don't talk about STDC_HEADERS.
4517         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
4518         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
4519         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
4520         replaced by isprint etc.
4521         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
4522         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
4523         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
4524         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
4525         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
4526         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
4527
4528 2006-07-05  Bruno Haible  <bruno@clisp.org>
4529
4530         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
4531         the function exists, before testing against AIX.
4532         Reported by Martin Lambers <marlam@marlam.de>.
4533
4534 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
4535
4536         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
4537         From Mark D. Baushke.
4538
4539 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
4540
4541         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
4542         to the absolute name, not just one, to bypass Sun C 5.8's
4543         "warning: #include of /usr/include/... may be non-portable".
4544
4545 2006-07-04  Eric Blake  <ebb9@byu.net>
4546
4547         * modules/dirname-tests: New test module.
4548         * tests/test-dirname.c: New file, replacing dirname.c
4549         TEST_DIRNAME section that was recently deleted.
4550
4551 2006-07-04  Bruno Haible  <bruno@clisp.org>
4552
4553         Assume ANSI C header files and <ctype.h> functions.
4554         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
4555         (mbsnwidth): Use isprint, iscntrl instead.
4556
4557 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
4558
4559         Merge from coreutils.
4560         * MODULES.html.sh: Add xstrtold.
4561         * modules/xstrtold: New file.
4562         * modules/cycle-check (Files): Add lib/same-inode.h.
4563         * modules/dirname (Files): Add m4/double-slash-root.m4.
4564         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
4565         * modules/mkdir-p (Files): Add lib/same-inode.h.
4566         * modules/same (Files): Add lib/same-inode.h.
4567
4568 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
4569
4570         * m4/absolute-header.m4: Renamed from full-header-path.m4.
4571         This is to keep the terminology clean; POSIX talks about
4572         "absolute pathnames", not "full pathnames", but the GNU
4573         Coding Standards say to use "path" for something else;
4574         so use "absolute" to keep both sides happy.
4575         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
4576         Set gl_absolute_header, not gl_full_header_path.
4577         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
4578         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
4579         All uses changed.
4580
4581         Merge from coreutils.
4582
4583         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4584
4585         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
4586         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
4587         want to require the building of c-strtod.o.
4588         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
4589         needs -lm directly.
4590         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
4591
4592         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
4593
4594         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
4595         --as-needed option if available.  Problem reported by Albert Chin in
4596         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
4597         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
4598         cc merely issues a bunch of annoying warnings for --as-needed
4599         (this problem was reported by Bob Proulx).  Also, try linking with
4600         -lm to detect a bug in binutils 2.16 (this problem was reported
4601         by Ralf Wildenhues).
4602
4603         2006-06-18  Jim Meyering  <jim@meyering.net>
4604
4605         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
4606         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
4607         macro.
4608         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
4609         also check for glibc-2.4's abort-inducing bug.
4610
4611         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
4612         Low-probability clean-up should be to use rmdir to get rid of
4613         the just-created directory, not unlink.
4614
4615         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
4616         configure fail, and request a bug report to inform us about it.
4617         Add a comment that, barring reports to the contrary, in 2007 we'll
4618         assume ftruncate is universally available.
4619
4620         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
4621
4622         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
4623
4624         2006-03-12  Jim Meyering  <jim@meyering.net>
4625
4626         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
4627         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
4628         * m4/same.m4 (gl_SAME): Likewise.
4629         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
4630
4631         2006-03-11  Eric Blake  <ebb9@byu.net>
4632
4633         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
4634         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
4635         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
4636         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
4637
4638 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
4639
4640         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
4641         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
4642         reported by Mark D. Baushke, one in
4643         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
4644
4645         Merge from coreutils.
4646
4647         * lib/.cppi-disable: Add stdint_.h.
4648         * lib/.cvsignore: Add stdint.h.
4649
4650         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
4651
4652         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
4653         both double and long double versions.
4654         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
4655         * lib/xstrtold.c: New file.
4656         * lib/xstrtod.h (xstrtold): New decl.
4657
4658         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
4659
4660         * lib/filemode.c (setst): Remove.
4661         (strmode): Rewrite to avoid setst.  This makes the code shorter,
4662         (arguably) clearer, and the generated code is a bit smaller on my
4663         Debian GNU/Linux stable x86 host.
4664
4665         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
4666
4667         * lib/filemode.c: Include "filemode.h" first, to test the interface.
4668         Assume that filemode.h includes sys/types.h and sys/stat.h.
4669         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
4670         (ftypelet): Reorder to put common cases first, for efficiency.
4671         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
4672         to do 'M'.
4673         (strmode): Renamed from mode_string, and now stores 12 bytes instead
4674         of 10, for compatibility with FreeBSD.  All callers changed.
4675         (filemodestring): Now stores 12 bytes instead of 10, and sets file
4676         types that can't be deduced solely from st_mode.  First arg is now a
4677         const pointer.
4678         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
4679         (strmode): Renamed from mode_string.
4680         (filemodestring): New decl.
4681         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
4682         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
4683         needed.
4684         (S_ISPORT, S_ISWHT): New macros, if not already defined.
4685
4686         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4687
4688         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
4689         fsusage.h now does that.  Include fsusage.h first, to test interface.
4690         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
4691         at most one method (the old code could have generated decls that
4692         didn't conform to C89, not that this was ever exercised).
4693         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
4694
4695         2006-03-19  Jim Meyering  <jim@meyering.net>
4696
4697         Work even in a chroot where d_ino values for entries in "/"
4698         don't match the stat.st_ino values for the same names.
4699         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
4700         number, iterate through all entries again, using lstat instead.
4701         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
4702         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
4703
4704         * lib/getcwd.c (__getcwd): Clarify a comment.
4705         Use memcpy in place of a call to strcpy.
4706
4707         2006-03-12  Jim Meyering  <jim@meyering.net>
4708
4709         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
4710         matches that of the current directory (which we're about to chdir ".."
4711         out of), then save the dev-ino of the parent, instead.
4712
4713         * lib/same-inode.h (SAME_INODE): New file/macro.
4714         * lib/chdir-safer.c (SAME_INODE): Remove definition.
4715         Include "same-inode.h", instead.
4716         * lib/same.c: Likewise.
4717         * lib/cycle-check.h: Include "same-inode.h".
4718         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
4719         * lib/cycle-check.c (SAME_INODE): Remove definition.
4720         * lib/root-dev-ino.h: Include "same-inode.h".
4721
4722         2006-03-11  Eric Blake  <ebb9@byu.net>
4723
4724         * lib/same.c (same_name): s/base_name/last_component/
4725         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
4726         * lib/filenamecat.c (file_name_concat): Likewise.
4727
4728         2006-03-11  Eric Blake  <ebb9@byu.net>,
4729                     Paul Eggert  <eggert@cs.ucla.edu>
4730
4731         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
4732         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
4733         drive prefix.
4734         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
4735         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
4736         (last_component): New method.
4737         * lib/dirname.c (dir_len): Determine when drive letters need a
4738         subsequent slash.  Preserve // when it is special.
4739         (dir_name): Don't append dot when drive letter is absolute.
4740         [TEST_DIRNAME]: Move into a full-blown gnulib test.
4741         * lib/basename.c (base_name): New semantics - malloc the result.
4742         Preserve // when it is special.  Preserve relative files that look
4743         like drive letters.
4744         (base_len): Preserve // when it is special.
4745         (last_component): New method, similar to old base_name semantics.
4746         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
4747         base_name.  Strip redundant slashes from ///.
4748
4749 2006-07-03  Jim Meyering  <jim@meyering.net>
4750
4751         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
4752         macro is used before the first cycle_check call.
4753
4754 2006-07-03  Eric Blake  <ebb9@byu.net>
4755
4756         * modules/dirname (Depends-on): Add xstrndup.
4757
4758 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4759
4760         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
4761         test cases, so that config.log is a bit easier to follow.
4762
4763 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
4764
4765         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
4766         both are 64 bits, since this seems to be the tradition, and this
4767         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
4768         we ever run into a host that prefers long long to long in this
4769         case, we'll need another configure-time test.  Problem reported by
4770         Jim Meyering.
4771
4772 2006-07-02  Eric Blake  <ebb9@byu.net>
4773
4774         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
4775
4776 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
4777
4778         * modules/inttypes (Depends-on): No longer depends on stdint.
4779         * modules/stdint (Description): Say more about assumptions.
4780         Say that the fast types might differ.  Say macros are used.
4781         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
4782         (Makefile.am): Revise list of substituted symbols to match
4783         new stdint.m4.
4784         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
4785         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
4786         * tests/test-stdint.c (verify_same_types)
4787         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
4788         the code conforms to C99/C89.
4789         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
4790         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
4791
4792 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
4793
4794         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
4795         but fix a bug, by requiring at least 64 bits.
4796         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
4797         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
4798         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
4799         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
4800
4801         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
4802         changes.  Make 2.59 a prerequisite.  Check and substitute for
4803         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
4804         inttypes.h.  Do not use special include files; just use the
4805         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
4806         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
4807         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
4808         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
4809         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
4810         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
4811         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
4812         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
4813         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
4814         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
4815         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
4816         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
4817         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
4818         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
4819         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
4820         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
4821         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
4822         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
4823         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
4824         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
4825         WINT_MAX.  Check for C99 conformance more strictly, by detecting
4826         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
4827         not check for things that C99 does not require, e.g., int8_t.  If
4828         a test isn't needed unless <stdint.h> isn't working, and is
4829         unlikely to be needed for any other reason, then don't do it
4830         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
4831         size_t, since we assume C89 freestanding at least.  Do not check
4832         for sig_atomic_t, wchar_t, or wint_t, since the code now does
4833         the right thing even if the types are not defined.  Instead use:
4834         (gl_STDINT_TYPE_PROPERTIES): New macro.
4835         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
4836         testing whether <sys/types.h> clashes, as Autoconf does this for
4837         us now.  All uses removed.
4838         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
4839         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
4840         (gl_CHECK_TYPE_SAME):
4841         Remove; no longer needed.
4842         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
4843         exists, since we'll return 0 anyway in that case.
4844         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
4845
4846 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
4847
4848         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
4849         possible collision with system files.
4850         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
4851         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
4852         WCHAR_MIN and WCHAR_MAX in this case.
4853         (<stddef.h>): Do not include; no longer needed.
4854         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
4855         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
4856         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
4857         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
4858         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
4859         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
4860         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
4861         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
4862         !defined(__c99))]: Include in this case too, since it's harmless
4863         now.
4864         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
4865         dangerous to do so.
4866         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
4867         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
4868         (_STDINT_MIN, _STDINT_MAX): New macros.
4869         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
4870         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
4871         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
4872         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
4873         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
4874         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
4875         macros, not typedefs; this simplifies things quite a bit.
4876         Use long int for all types narrower than int64_t.
4877         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
4878         Define in terms of long long int or int64_t or long int,
4879         not int64_t or int32_t.  This saves some compile-time testing.
4880         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
4881         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
4882         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
4883         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
4884         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
4885         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
4886         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
4887         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4888         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
4889         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
4890         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
4891         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
4892         undef any previous version and define our own version, for
4893         simplicity and consistency with the new macros for types.
4894         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
4895         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
4896         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
4897         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
4898         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
4899         @WINT_T_SUFFIX@ to keep things simple here.
4900         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
4901         Simplify by assuming typical 8/16/32/64 host, since we're
4902         already doing that elsewhere anyway.
4903         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
4904         and assume long long int is 64 bits if available.  This
4905         speeds up 'configure'.
4906
4907 2006-07-01  Eric Blake  <ebb9@byu.net>
4908
4909         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
4910         Reported by Andreas Buening.
4911
4912 2006-07-01  Eric Blake  <ebb9@byu.net>
4913
4914         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
4915
4916 2006-06-30  Jim Hyslop <jhyslop@dreampossible.ca>  (tiny change)
4917
4918         * lib/getaddrinfo.c: fixed typo
4919
4920 2006-06-29  Jim Meyering  <jim@meyering.net>
4921
4922         * modules/strftime (Maintainer): Add my name, since with the
4923         FPRINTFTIME changes strftime.c has forked from glibc.
4924
4925 2006-06-29  Eric Blake  <ebb9@byu.net>
4926
4927         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
4928
4929 2006-06-29  Eric Blake  <ebb9@byu.net>
4930
4931         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
4932
4933 2006-06-29  Eric Blake  <ebb9@byu.net>
4934
4935         * lib/stat_.h: New file.
4936
4937 2006-06-29  Eric Blake  <ebb9@byu.net>
4938
4939         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
4940         unused static function.
4941
4942 2006-06-29  Eric Blake  <ebb9@byu.net>
4943
4944         * doc/functions.texi (Function Portability): Document missing lstat
4945         on mingw.
4946
4947 2006-06-29  Eric Blake  <ebb9@byu.net>
4948
4949         * MODULES.html.sh: Add sys_stat.
4950         * modules/sys_stat: New module.
4951         * modules/mkstemp (Depends-on): Add sys_stat.
4952
4953 2006-06-29  Derek R. Price  <derek@ximbiot.com>
4954
4955         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
4956
4957 2006-06-29  Derek R. Price  <derek@ximbiot.com>
4958
4959         * m4/c-bs-a.m4: Removed.
4960
4961 2006-06-29  Derek R. Price  <derek@ximbiot.com>
4962
4963         * lib/strftime.c: Assume strftime() exists.
4964
4965 2006-06-29  Derek Price  <derek@ximbiot.com>
4966
4967         * modules/c-bs-a: Removed - \a is C89.
4968         * MODULES.html.sh: Remove c-bs-a.
4969
4970 2006-06-29  Bruno Haible  <bruno@clisp.org>
4971
4972         * modules/wcwidth (License): Change to LGPL.
4973
4974 2006-06-28  Simon Josefsson  <jas@extundo.com>
4975
4976         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
4977         on _WIN32.
4978
4979         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
4980         getnameinfo.
4981
4982 2006-06-28  Simon Josefsson  <jas@extundo.com>
4983
4984         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
4985
4986 2006-06-28  Simon Josefsson  <jas@extundo.com>
4987
4988         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
4989         functions there.  It will succeed on Windows XP, but on Windows
4990         2000 and (presumably) earlier, it will fail, and use the internal
4991         re-implementation.
4992         (use_win32_p): New function.
4993         (getaddrinfo): Use strtoul on servname, to support numeric ports.
4994         Support AI_NUMERICSERV to disable getservbyname.
4995         (getnameinfo): New function, only supports
4996         NI_NUMERICHOST|NI_NUMERICSERV for now.
4997
4998         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
4999         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
5000         getnameinfo.
5001
5002 2006-06-28  Eric Blake  <ebb9@byu.net>
5003
5004         * modules/wcwidth: New file.
5005         * modules/mbchar (Depends-on): Add wcwidth.
5006         * modules/mbswidth (Depends-on): Add wcwidth.
5007         * MODULES.html.sh: Add wcwidth.
5008
5009 2006-06-28  Eric Blake  <ebb9@byu.net>
5010
5011         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
5012         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
5013
5014 2006-06-28  Eric Blake  <ebb9@byu.net>
5015
5016         * lib/xvasprintf.h: Fix comments.
5017
5018 2006-06-28  Eric Blake  <ebb9@byu.net>
5019
5020         * lib/mbchar.h (wcwidth): Include wcwidth.h.
5021         * lib/mbswidth.c (wcwidth): Move from here...
5022         * lib/wcwidth.h: ...to this new file.
5023
5024 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5025
5026         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
5027
5028         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
5029         it's obsolete.
5030         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
5031
5032 2006-06-28  Derek R. Price  <derek@ximbiot.com>
5033
5034         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
5035         Autoconf 2.60 says this stuff was obsolete.
5036
5037 2006-06-28  Bruno Haible  <bruno@clisp.org>
5038
5039         * modules/wcwidth (Files): Add m4/wchar_t.m4.
5040
5041 2006-06-28  Bruno Haible  <bruno@clisp.org>
5042
5043         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
5044         gt_TYPE_WCHAR_T.
5045
5046 2006-06-28  Bruno Haible  <bruno@clisp.org>
5047
5048         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
5049         declaration for wcwidth.
5050         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
5051
5052 2006-06-28  Bruno Haible  <bruno@clisp.org>
5053
5054         * lib/mkdtemp.c [MINGW]: Include <io.h>.
5055         (mkdir): Define using _mkdir.
5056
5057 2006-06-28  Bruno Haible  <bruno@clisp.org>
5058
5059         * lib/getaddrinfo.h: Fix POSIX URL.
5060         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
5061         _WIN32.
5062         (use_win32_p): Make static.
5063         (getaddrinfo): Reject service name if it is empty or does not consist
5064         solely of decimal digits, or if its value is > 65535.
5065         (getnameinfo): Remove useless casts.
5066
5067 2006-06-27  Simon Josefsson  <jas@extundo.com>
5068
5069         * modules/sys_select: New file, suggested by Bruno Haible, Paul
5070         Eggert and Martin Lambers.
5071
5072 2006-06-27  Simon Josefsson  <jas@extundo.com>
5073
5074         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
5075         Eggert and Martin Lambers.
5076
5077 2006-06-27  Bruno Haible  <bruno@clisp.org>
5078
5079         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
5080         result to 0, not to empty.
5081         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
5082
5083 2006-06-27  Bruno Haible  <bruno@clisp.org>
5084
5085         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
5086
5087 2006-06-26  Simon Josefsson  <jas@extundo.com>
5088
5089         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
5090         present.
5091
5092 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
5093
5094         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
5095         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
5096         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
5097
5098 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
5099
5100         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
5101
5102 2006-06-26  Bruno Haible  <bruno@clisp.org>
5103
5104         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
5105
5106 2006-06-26  Bruno Haible  <bruno@clisp.org>
5107
5108         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
5109
5110 2006-06-26  Bruno Haible  <bruno@clisp.org>
5111
5112         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
5113         SGI C compiler in pre-C99 mode.
5114         Suggested by Mark D. Baushke and Larry Jones.
5115
5116 2006-06-26  Bruno Haible  <bruno@clisp.org>
5117
5118         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
5119         WCHAR_MAX.
5120         Reported by Mark D. Baushke and Larry Jones.
5121
5122 2006-06-26  Bruno Haible  <bruno@clisp.org>
5123
5124         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
5125         in pre-C99 mode.
5126         Suggested by Mark D. Baushke and Larry Jones.
5127
5128 2006-06-23  Simon Josefsson  <jas@extundo.com>
5129             Bruno Haible  <bruno@clisp.org>
5130
5131         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
5132         Emit mostlyclean-local rule.
5133         (func_emit_tests_Makefile_am): Likewise.
5134         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
5135
5136 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
5137
5138         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
5139
5140 2006-06-23  Bruno Haible  <bruno@clisp.org>
5141
5142         * tests/test-stdint.c: Update to match ISO C 99 Technical
5143         Corrigendum 1.
5144
5145 2006-06-23  Bruno Haible  <bruno@clisp.org>
5146
5147         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
5148
5149 2006-06-23  Bruno Haible  <bruno@clisp.org>
5150
5151         * lib/stdint_.h: Treat IRIX like OpenBSD.
5152
5153 2006-06-23  Bruno Haible  <bruno@clisp.org>
5154
5155         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
5156         ISO C 99 Technical Corrigendum 1.
5157
5158 2006-06-22  Simon Josefsson  <jas@extundo.com>
5159
5160         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
5161         MinGW.
5162
5163 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
5164
5165         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
5166         needed.  Some compiler complained about some of them.  Problem reported
5167         by Larry Jones in
5168         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
5169
5170 2006-06-21  Simon Josefsson  <jas@extundo.com>
5171
5172         * tests/test-getaddrinfo.c: New file.
5173
5174         * modules/getaddrinfo-tests: New file.
5175
5176         * MODULES.html.sh: Add inet_pton.
5177
5178         * modules/inet_pton: New file.
5179
5180 2006-06-21  Simon Josefsson  <jas@extundo.com>
5181
5182         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
5183         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
5184         of using the (limited) gnulib implementation on Windows XP.
5185
5186         * m4/inet_pton.m4: New file.
5187
5188 2006-06-21  Simon Josefsson  <jas@extundo.com>
5189
5190         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
5191         variable.
5192
5193         * lib/socket_.h: Don't define WINVER.
5194
5195         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
5196         slightly modified to work in gnulib.
5197
5198 2006-06-21  Simon Josefsson  <jas@extundo.com>
5199
5200         * doc/gnulib.texi (Windows sockets): Add.
5201
5202 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
5203
5204         * lib/read-file.c (fread_file): Start with buffer allocation of
5205         0 bytes rather than 1 byte; this simplifies the code.
5206         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
5207         code to free buffer and save/restore errno.
5208         (internal_read_file): Remove unused local.
5209
5210 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
5211
5212         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
5213         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
5214         Problem reported by Denis Excoffier in
5215         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
5216
5217 2006-06-19  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
5218
5219         * modules/sys_socket, modules/socklen: Include sys/types since
5220         FreeBSD 4.x's sys/socket.h needs it.
5221
5222 2006-06-19  Simon Josefsson  <jas@extundo.com>
5223
5224         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
5225
5226 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
5227
5228         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
5229
5230 2006-06-19  Bruno Haible  <bruno@clisp.org>
5231
5232         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
5233         and FULL_PATH_INTTYPES_H in angle brackets.
5234         Reported by Mark D. Baushke <mdb@gnu.org>.
5235
5236 2006-06-17  Eric Blake  <ebb9@byu.net>
5237
5238         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
5239         errno.
5240
5241 2006-06-17  Bruno Haible  <bruno@clisp.org>
5242
5243         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
5244         <sys/inttypes.h>.
5245
5246 2006-06-17  Bruno Haible  <bruno@clisp.org>
5247
5248         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
5249         whether errno is declared. Assume <errno.h> declares errno.
5250
5251 2006-06-17  Bruno Haible  <bruno@clisp.org>
5252
5253         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
5254
5255 2006-06-17  Bruno Haible  <bruno@clisp.org>
5256
5257         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
5258         problem on Solaris 2.5.1.
5259
5260 2006-06-16  Eric Blake  <ebb9@byu.net>
5261
5262         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
5263         * lib/unicodeio.c [!defined errno]: Likewise.
5264         * lib/strtol.c [!defined errno]: Likewise.
5265         * lib/strtod.c [!defined errno]: Likewise.
5266
5267 2006-06-15  Eric Blake  <ebb9@byu.net>
5268
5269         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
5270
5271 2006-06-15  Eric Blake  <ebb9@byu.net>
5272
5273         * config/srclist.txt (ssize_t.m4): Lose sync.
5274
5275 2006-06-15  Bruno Haible  <bruno@clisp.org>
5276
5277         * modules/stdint (Files): Include m4/full-header-path.m4,
5278         m4/size_max.m4, m4/wchar_t.m4.
5279         (Makefile.am): Many more substitutions.
5280         * modules/stdint-tests: New file.
5281         * tests/test-stdint.c: New file.
5282
5283 2006-06-15  Bruno Haible  <bruno@clisp.org>
5284
5285         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
5286         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
5287         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
5288         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
5289         gl_CHECK_TYPE_SAME): New macros.
5290
5291 2006-06-15  Bruno Haible  <bruno@clisp.org>
5292
5293         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
5294
5295 2006-06-15  Bruno Haible  <bruno@clisp.org>
5296
5297         * lib/stdint_.h: Rewritten to be fully auto-configured.
5298         Fixes bug on HP-UX/IA64.
5299
5300 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
5301
5302         * lib/getdate.y (__attribute__): Don't define if already defined.
5303         Problem reported by Larry Jones.
5304         * lib/utimens.c (__attribute__): Likewise.
5305
5306 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
5307
5308         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
5309         reported by Andreas Schwab.
5310
5311 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5312             Bruno Haible  <bruno@clisp.org>
5313
5314         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
5315         check for the declaration of strnlen and a run test that exposes the
5316         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
5317         rpl_strndup.
5318
5319 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5320             Bruno Haible  <bruno@clisp.org>
5321
5322         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
5323
5324 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5325
5326         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
5327         compile test, for Tru64 4.0D.
5328
5329 2006-05-28  Karl Berry  <karl@gnu.org>
5330
5331         * config/srclist.txt (printf-args.c): lose sync.
5332
5333 2006-05-26  Martin Lambers  <marlam@marlam.de>
5334
5335         * lib/getpass.c: Updates the test for the native W32 API, and adds
5336         missing includes, thus fixing compilation warnings.
5337
5338 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5339
5340         * lib/exclude.c (exclude_fnmatch): New function.
5341         (excluded_file_name): Call exclude_fnmatch.
5342         * lib/exclude.h (excluded_file_name): New prototype
5343
5344 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
5345
5346         * lib/tempname.c (small_open, large_open): New macros.
5347         (__open, __open64) [!_LIBC]: Remove.
5348         (__gen_tempname): Use small_open and large_open instead of __open
5349         and __open64.  This fixes a portability bug on HP-UX 11.11i
5350         reported by Simon Wing-Tang in
5351         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
5352
5353 2006-05-24  Bruno Haible  <bruno@clisp.org>
5354
5355         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
5356         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
5357         Reported by Thorsten Maerz <torte@netztorte.de> via
5358         Aaron Stone <aaron@serendipity.cx>.
5359
5360 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5361
5362         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
5363         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
5364         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
5365         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
5366         not really conditional on the cache.
5367         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
5368
5369 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5370
5371         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
5372         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
5373         (my_usleep): Don't mishandle maximum value.
5374
5375 2006-05-19  Jim Meyering  <jim@meyering.net>
5376
5377         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
5378
5379 2006-05-17  Bruno Haible  <bruno@clisp.org>
5380
5381         Cygwin portability.
5382         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
5383
5384 2006-05-17  Bruno Haible  <bruno@clisp.org>
5385
5386         * lib/stdint_.h: Fix recognition of Cygwin.
5387
5388 2006-05-15  Bruno Haible  <bruno@clisp.org>
5389
5390         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
5391         on libtool patch by Ralf Wildenhues.
5392
5393 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5394
5395         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
5396         test for C99 conformance; (bool) 0.5 is an integer constant
5397         expression, but (bool) -0.5 is not.  Problem reported by Fedor
5398         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
5399
5400 2006-05-11  Simon Josefsson  <jas@extundo.com>
5401
5402         * m4/xvasprintf.m4: Fix obvious typo.
5403
5404 2006-05-11  Jim Meyering  <jim@meyering.net>
5405
5406         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
5407         James Lemley.
5408
5409 2006-05-10  Simon Josefsson  <jas@extundo.com>
5410
5411         * lib/md4.c: Typo fix, update copyright years.
5412         (K1, K2): Don't use L because it turn computations into 64-bit on
5413         64-bit platforms.
5414
5415 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5416
5417         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
5418         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
5419         unwanted sign propagation, e.g., on hosts with 64-bit int.
5420         There still are some problems with reeelly weird theoretical hosts
5421         (e.g., 33-bit int) but it's not worth worrying about now.
5422         * lib/sha1.c (rol): Likewise.
5423         (K1, K2, K3, K4): Remove unnecessary L suffix.
5424
5425 2006-05-10  Bruno Haible  <bruno@clisp.org>
5426
5427         * lib/des.c: Cast to avoid warnings.
5428
5429 2006-05-09  Bruno Haible  <bruno@clisp.org>
5430
5431         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
5432         (Depends-on): Depend also on xsize, stdarg.
5433         (configure.ac): Add gl_XVASPRINTF.
5434
5435 2006-05-09  Bruno Haible  <bruno@clisp.org>
5436
5437         * m4/xvasprintf.m4: New file.
5438
5439 2006-05-09  Bruno Haible  <bruno@clisp.org>
5440
5441         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
5442         (EOVERFLOW): Define fallback value.
5443         (xstrcat): New function.
5444         (xvasprintf): Recognize the special case of a string concatenation.
5445
5446 2006-05-08  Eric Blake  <ebb9@byu.net>
5447
5448         * gnulib-tool (func_version): Base copyright year on CVS date.
5449         (func_emit_copyright_notice): New function.
5450         (func_emit_lib_Makefile_am): Use it.
5451         (func_emit_tests_Makefile_am): Likewise.
5452         (func_import): Likewise.
5453
5454 2006-05-08  Bruno Haible  <bruno@clisp.org>
5455
5456         * modules/stdarg: New file.
5457         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
5458
5459 2006-05-08  Bruno Haible  <bruno@clisp.org>
5460
5461         * m4/stdarg.m4: New file, from GNU gettext.
5462
5463 2006-05-08  Bruno Haible  <bruno@clisp.org>
5464
5465         * config/srclist.txt (build-aux/config.rpath): different from latest
5466         release.
5467
5468 2006-05-08  Bruno Haible  <bruno@clisp.org>
5469
5470         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
5471
5472 2006-05-05  Jim Meyering  <jim@meyering.net>
5473
5474         * m4/warning.m4: New file, derived from bison's file by the same name.
5475
5476 2006-05-03  Bruno Haible  <bruno@clisp.org>
5477
5478         * lib/stdint_.h: Shorter URL.
5479         * lib/inttypes.h: Likewise.
5480
5481 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5482
5483         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
5484
5485 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5486
5487         * lib/verify.h: Document the internals better.  Most of this change
5488         was written by Bruno Haible.
5489
5490 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5491
5492         * doc/verify.texi: New file, partly based on a proposal by
5493         Bruno Haible.
5494
5495 2006-05-02  Bruno Haible  <bruno@clisp.org>
5496
5497         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
5498         test from here...
5499         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
5500
5501 2006-04-29  Bruno Haible  <bruno@clisp.org>
5502
5503         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
5504         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
5505
5506 2006-04-29  Bruno Haible  <bruno@clisp.org>
5507
5508         * gnulib-tool: Make --update option actually work.
5509
5510 2006-04-29  Bruno Haible  <bruno@clisp.org>
5511
5512         * doc/gcd.texi: New file.
5513         * doc/gnulib.texi: Include it.
5514
5515 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
5516
5517         * lib/getdate.y (get_date): When adding relative date, start with the
5518         initial time, not with the result of the first mktime call.
5519
5520 2006-04-25  Bruno Haible  <bruno@clisp.org>
5521
5522         * gnulib-tool (func_import): Output the include directives in three
5523         blocks, sorted separately.
5524         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5525
5526 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
5527
5528         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
5529         to define main with arguments, for C++.  Reported by Eric Blake.
5530         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
5531         Prefer 'int main ()' to 'int main (void)', for C++.
5532         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
5533         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
5534         for 'main', for C99 and C++.
5535
5536 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
5537
5538         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
5539         Don't assume that exit status -1 is valid.
5540         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5541         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
5542         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
5543         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
5544         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
5545         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
5546         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
5547         functions can be used without declaring them, or that you can
5548         exit with status -1.
5549         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
5550
5551 2006-04-24  Karl Berry  <karl@gnu.org>
5552
5553         * config/srclist.txt (longdouble.m4): sync lost.
5554
5555 2006-04-24  Eric Blake  <ebb9@byu.net>
5556
5557         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
5558
5559 2006-04-24  Bruno Haible  <bruno@clisp.org>
5560
5561         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
5562         poll() implementation in AIX.
5563         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5564
5565 2006-04-24  Bruno Haible  <bruno@clisp.org>
5566
5567         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
5568         assigned exactly once.
5569
5570 2006-04-23  Claudio Fontana  <claudio@gnu.org>
5571             Bruno Haible  <bruno@clisp.org>
5572
5573         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
5574         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
5575         for AM_CPPFLAGS.
5576
5577 2006-04-23  Bruno Haible  <bruno@clisp.org>
5578
5579         * modules/copy-file: Depend on unistd.
5580         * modules/execute: Likewise.
5581         * modules/fatal-signal: Likewise.
5582         * modules/findprog: Likewise.
5583         * modules/mkdtemp : Likewise.
5584         * modules/pipe: Likewise.
5585         * modules/wait-process: Likewise.
5586
5587 2006-04-23  Bruno Haible  <bruno@clisp.org>
5588
5589         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
5590         condition was already detected.
5591         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5592
5593 2006-04-23  Bruno Haible  <bruno@clisp.org>
5594
5595         * lib/copy-file.c: Include <unistd.h> unconditionally.
5596         * lib/execute.c: Likewise.
5597         * lib/fatal-signal.c: Likewise.
5598         * lib/findprog.c: Likewise.
5599         * lib/mkdtemp.c: Likewise.
5600         * lib/pipe.h: Likewise.
5601         * lib/pipe.c: Likewise.
5602         * lib/wait-process.h: Likewise.
5603
5604 2006-04-23  Bruno Haible  <bruno@clisp.org>
5605
5606         * gnulib-tool (func_usage): Fix --import description. Document
5607         --update.
5608         (func_import): Create temporary file in a temporary directory, if
5609         --dry-run is specified. Silence errors from 'grep' when there are no
5610         m4 files in $m4dir.
5611         (func_create_testdir): Silence errors from 'grep' when there are no
5612         m4 files in $m4dir.
5613         Reported by Karl Berry <karl@freefriends.org>.
5614
5615 2006-04-20  Bruno Haible  <bruno@clisp.org>
5616
5617         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
5618         one argument, so that the code will be portable to Autoconf 2.60.
5619         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
5620         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
5621         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
5622
5623 2006-04-19  Derek Price  <derek@ximbiot.com>
5624             Eric Blake  <ebb9@byu.net>
5625
5626         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
5627         rather than "/full/path.h".  Update comment to match.  Shorten &
5628         generalize m4_translit call via AS_TR_CPP.
5629
5630 2006-04-19  Derek Price  <derek@ximbiot.com>
5631             Eric Blake  <ebb9@byu.net>
5632
5633         * lib/inttypes.h: Correct grammar in comment.
5634
5635 2006-04-18  Derek Price  <derek@ximbiot.com>
5636             Paul Eggert  <eggert@cs.ucla.edu>
5637
5638         * modules/inttypes: New file.
5639         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
5640
5641 2006-04-18  Derek Price  <derek@ximbiot.com>
5642             Paul Eggert  <eggert@cs.ucla.edu>
5643
5644         * m4/_inttypes_h.m4, full-header-path.m4, include_next: New files.
5645
5646 2006-04-18  Derek Price  <derek@ximbiot.com>
5647             Paul Eggert  <eggert@cs.ucla.edu>
5648
5649         * lib/inttypes.h: New file.
5650         * lib/strtoimax.c: Assume <inttypes.h>.
5651
5652 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
5653
5654         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
5655         isn't mounted.  Problem reported by Kir Kolyshkin.
5656
5657 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
5658
5659         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
5660         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
5661         Derek R. Price.
5662         * lib/regex.h (RE_DUP_MAX): Update comment to match current
5663         implementation.
5664
5665 2006-04-12  Eric Blake  <ebb9@byu.net>
5666
5667         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
5668         is now done automatically by the corresponding Autoconf macro.
5669
5670 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
5671
5672         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
5673         time_r.h.
5674
5675 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5676
5677         Merge regex changes from libc, removing some of our
5678         POSIX-conformance changes that were rejected and redoing them in a
5679         less-intrusive way.
5680
5681         * lib/regcomp.c (re_compile_internal, init_dfa):
5682         Length arg is now size_t, not Idx.  All uses changed.
5683         (peek_token): Forward decl now says internal_function.
5684         (__re_error_msgid, __re_error_msgid_idx):
5685         Now static rather than extern with attribute_hidden.
5686         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
5687         For some reason libc prefers K&R style defns for external functions.
5688         (regerror) [!defined _LIBC]: Likewise.
5689         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
5690         (seek_collating_symbol_entry, lookup_collation_sequence_value):
5691         (build_range_exp, build_collating_symbol):
5692         Use K&R-style defn.
5693         (re_compile_fastmap): Use '\0' to memset, not 0.
5694         (utf8_sb_map): Make the calculations more obvious.
5695         (init_dfa, parse_bracket_exp, build_charclass_op):
5696         Call calloc and cast result, as glibc does.
5697         (init_word_char, fetch_token, peek_token, peek_token_bracket):
5698         (build_range_exp, build_collating_symbol):
5699         Now internal functions.
5700
5701         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
5702
5703         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
5704         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
5705         Don't depend on VMS; depend on __VMS instead, for POSIX
5706         namespace cleanness.
5707         (regoff_t): Define to ssize_t, not long int.
5708
5709         Remove the REG_ macros named below.  Instead, make the old names
5710         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
5711         __USE_GNU_REGEX.
5712         (REG_BACKSLASH_ESCAPE_IN_LISTS):
5713         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
5714         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
5715         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
5716         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
5717         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
5718         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
5719         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
5720         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
5721         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
5722         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
5723         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
5724         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
5725         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
5726         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
5727         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
5728         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
5729         (REG_NREGS):
5730         Remove.  All uses replaced by the old RE_* names.
5731         (RE_BACKSLASH_ESCAPE_IN_LISTS):
5732         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
5733         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
5734         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
5735         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
5736         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
5737         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
5738         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
5739         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
5740         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
5741         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
5742         Don't bother having these macros be independent of each others'
5743         values, since they no longer exist in the POSIX name space.
5744
5745         Rename the following member names back to their old names,
5746         unless !__USE_GNU_REGEX.  All uses changed back.
5747         (buffer): Renamed from re_buffer.
5748         (allocated): Renamed from re_allocated.
5749         (used): Renamed from re_used.
5750         (syntax): Renamed from re_syntax.
5751         (fastmap): Renamed from re_fastmap.
5752         (translate): Renamed from re_translate.
5753         (can_be_null): Renamed from re_can_be_null.
5754         (regs_allocated): Renamed from re_regs_allocated.
5755         (fastmap_accurate): Renamed from re_fastmap_accurate.
5756         (no_sub): Renamed from re_no_sub.
5757         (not_bol): Renamed from re_not_bol.
5758         (not_eol): Renamed from re_not_eol.
5759         (newline_anchor): Renamed from re_newline_anchor.
5760         (num_regs): Renamed from rm_num_regs.
5761         (start): Renamed from rm_start.
5762         (end): Renamed from rm_end.
5763
5764         (free_state): Move up a bit.
5765
5766         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
5767         #define to be empty.
5768         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
5769         when that is what is intended.
5770         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
5771         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
5772         (MAX): New macro.
5773         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
5774         All uses changed back to re_malloc, etc.  It's now the caller's
5775         responsibility to check for overflow; all callers changed.
5776         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
5777         (re_x2nrealloc): Remove.
5778         (free_state): Remove decl.
5779
5780         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
5781         (re_set_registers, re_exec):
5782         Use K&R-style defn.
5783
5784         2006-01-31  Roland McGrath  <roland@redhat.com>
5785
5786         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
5787         Reported by Mike Frysinger <vapier@gentoo.org>.
5788
5789         2006-01-15  Andreas Jaeger  <aj@suse.de>
5790
5791         [BZ #1950]
5792         * lib/regex_internal.c (re_string_reconstruct): Adjust for
5793         build_wcs_upper_buffer change.
5794         (build_wcs_upper_buffer): Change return type.
5795
5796         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
5797
5798         * lib/regex_internal.h: Include <stdint.h> if available.
5799
5800         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
5801
5802         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
5803
5804         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
5805
5806         * lib/regcomp.c: Adjust for changed secondary hash function.
5807
5808         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
5809
5810         * lib/regex.h: Pretty printing.
5811         Clean up namespace a bit.
5812
5813         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
5814
5815         * lib/regexec.c (update_cur_sifted_state, check_arrival,
5816         check_arrival_add_next_nodes): Avoid using uninitialized variable.
5817
5818         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
5819                     Ulrich Drepper  <drepper@redhat.com>
5820
5821         [BZ #1302]
5822         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
5823         changed.
5824         (bitset_word_t): Renamed from bitset_word.  All uses changed.
5825
5826         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
5827
5828         [BZ #281]
5829         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
5830         * lib/regcomp.c: Remove unnecessary uses of
5831         unsigned RE_TRANSLATE_TYPE.
5832         * lib/regex_internal.h: Likewise.
5833         * lib/regex_internal.c: Likewise.
5834         * lib/regexec.c: Likewise.
5835         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
5836
5837         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
5838
5839         * lib/regexec.c (find_recover_state): Remove unnecessary
5840         initialization.
5841         (transit_state_bkref): Make DFA a const pointer.
5842         (get_subexp): Likewise.
5843         (check_arrival): Likewise.
5844         (update_cur_sifted_state): Likewise.
5845         (re_search_internal): Likewise.
5846         (prune_impossible_nodes): Likewise.
5847         (acquire_init_state_context): Likewise.
5848         (proceed_next_node): Likewise.
5849         (set_regs): Likewise.
5850         (free_fail_stack_return): Likewise.
5851         (check_arrival_expand_ecl): Mark DFA parameter as const.
5852         (check_arrival_expand_ecl_sub): Likewise.
5853         (check_subexp_limits): Likewise.
5854         (sub_epsilon_src_nodes):  Likewise.
5855         (add_epsilon_src_nodes):  Likewise.
5856         (merge_state_array): Likewise.
5857         (update_regs): Likewise.
5858         (build_trtable): Likewise.
5859         (sift_states_backward): Mark MCTX parameter as const.
5860         (build_sifted_states): Likewise.
5861         (update_cur_sifted_state): Likewise.
5862         (sift_states_mkref): Likewise.
5863         (check_arrival_expand_ecl): Mark eclosure as const.
5864         (check_dst_limits_calc_pos_1): Likewise.
5865         * lib/regex_internal.h (re_match_context_t): Make dfa a const
5866         pointer.
5867
5868         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
5869
5870         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
5871         (transit_state_sb): Likewise.
5872         (transit_state_mb): Likewise.
5873         (sift_states_iter_mb): Likewise.
5874         (check_arrival_add_next_nodes): Likewise.
5875         (check_node_accept_bytes): Change first parameter to pointer-to-const.
5876         [_LIBC] (re_search_2_stub): Use mempcpy.
5877
5878         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
5879         mbrtowc for very simple UTF-8 case.
5880
5881         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
5882         a pointer-to-const.
5883         (re_acquire_state_context): Likewise.
5884         * lib/regex_internal.h: Adjust prototypes.
5885
5886         * lib/regex.c: Prevent using C++ compilers.
5887
5888         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
5889         (re_acquire_state_context): Likewise.
5890
5891 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5892
5893         * modules/regex (Depends-on): Add ssize_t.
5894
5895 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5896
5897         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
5898         translation table.
5899
5900 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
5901
5902         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
5903
5904 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
5905             Bruno Haible  <bruno@clisp.org>
5906
5907         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
5908         <sys/types.h> and <inttypes.h>.
5909
5910 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5911
5912         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
5913         `__error_t_defined', so argp.h will not typedef the former.
5914
5915 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
5916
5917         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
5918         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
5919         glibc names.  Even if glibc is changed to conform to POSIX, the
5920         traditional names will be available anyway, since regex depends on
5921         the extensions module.  Also, fix a longstanding typo in the
5922         implementation of Spencer ERE test #75 from grep 2.3.  Problems
5923         reported by Emanuele Giaquinta.  Also, change sense of cached
5924         variable, so that the message makes sense.
5925
5926 2006-03-24  Simon Josefsson  <jas@extundo.com>
5927
5928         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
5929         including some doc fixes.
5930         (base64_encode_alloc): Fix +1 bug on allocation failures.
5931
5932 2006-03-24  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5933
5934         * lib/base64.c (base64_encode): Do not read past end of array with
5935         unsanitized input on systems with CHAR_BIT > 8.
5936
5937 2006-03-24  Eric Blake  <ebb9@byu.net>
5938
5939         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
5940
5941 2006-03-22  Karl Berry  <karl@gnu.org>
5942
5943         * config/srclist.txt (*setenv.[ch]): get from coreutils.
5944         * config/srclistvars.sh (COREUTILS): new var.
5945
5946 2006-03-17  Jim Meyering  <jim@meyering.net>
5947
5948         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
5949         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
5950
5951 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5952
5953         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
5954         no longer needs it.  Instead, check that regoff_t is as least
5955         as wide as ptrdiff_t.
5956
5957         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
5958         so that our regex.h stays compatible with the installed regex.
5959         This is helpful for installers who configure --without-included-regex.
5960         Problem reported by Emanuele Giaquinta.
5961
5962 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5963
5964         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
5965         Typedef to long int, not to off_, as POSIX will likely change
5966         in that direction.
5967
5968 2006-03-15  Eric Blake  <ebb9@byu.net>
5969
5970         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
5971
5972 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
5973
5974         * lib/argp-help.c (validate_uparams): Fix typo
5975         * lib/argp-parse.c (argp_default_options): Consistently begin help
5976         messages with a lowercase letter.
5977
5978 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
5979
5980         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
5981         overrun buffers and shouldn't be used (much as gets shouldn't be
5982         used).
5983         * lib/time_r.c (asctime_r, ctime_r): Likewise.
5984
5985 2006-03-08  Simon Josefsson  <jas@extundo.com>
5986
5987         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
5988         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5989
5990 2006-03-08  Simon Josefsson  <jas@extundo.com>
5991
5992         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
5993         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
5994
5995 2006-03-08  Simon Josefsson  <jas@extundo.com>
5996
5997         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
5998         signal that configure disabled the device.
5999
6000 2006-03-08  Simon Josefsson  <jas@extundo.com>
6001
6002         * build-aux/maint.mk: Fix refresh-po, to handle no translated
6003         languages.
6004
6005 2006-03-07  Simon Josefsson  <jas@extundo.com>
6006
6007         * modules/getopt (Depends-on): Add unistd.
6008
6009         * modules/unistd: New file.
6010
6011 2006-03-07  Simon Josefsson  <jas@extundo.com>
6012
6013         * modules/gc-random: New file.
6014
6015 2006-03-07  Simon Josefsson  <jas@extundo.com>
6016
6017         * m4/unistd_h.m4: New file.
6018
6019 2006-03-07  Simon Josefsson  <jas@extundo.com>
6020
6021         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
6022         test to be side-effect free by storing the result in the cache
6023         variable gl_cv_lib_readline, and moving the assignment of
6024         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
6025         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6026
6027 2006-03-07  Simon Josefsson  <jas@extundo.com>
6028
6029         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
6030         error on missing devices (the functions will return an error).
6031
6032         * m4/gc.m4: Move random stuff to gc-random.m4
6033
6034 2006-03-07  Simon Josefsson  <jas@extundo.com>
6035
6036         * lib/unistd_.h: New file.
6037
6038 2006-03-07  Simon Josefsson  <jas@extundo.com>
6039
6040         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
6041
6042 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6043
6044         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
6045         Problem reported by Juan Manuel Guerrero.
6046
6047 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6048
6049         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
6050         the unistd module.
6051         * lib/getlogin_r.c: Likewise.
6052         * lib/getlogin_r.h: Likewise.
6053         * lib/glob.c: Likewise.
6054         * lib/pagealign_alloc.c: Likewise.
6055         * lib/unistd_.h: Remove; no longer needed.
6056
6057 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
6058
6059         * MODULES.html.sh (Support for systems lacking POSIX:2001):
6060         Add unistd.
6061         * modules/c-stack (Depends-on): Add unistd.
6062         * modules/getlogin_r: Likewise.
6063         * modules/glob: Likewise.
6064         * modules/pagealign_alloc: Likewise.
6065         * modules/unistd (Files): Remove lib/unistd_.h.
6066         (EXTRA_DIST): Remove.
6067         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
6068         need unistd_.h.
6069         (MOSTLYCLEANFILES): Remove unistd.h-t.
6070
6071 2006-03-03  Simon Josefsson  <jas@extundo.com>
6072
6073         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
6074
6075 2006-03-03  Simon Josefsson  <jas@extundo.com>
6076
6077         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
6078         libidn and bison.
6079
6080 2006-03-03  Simon Josefsson  <jas@extundo.com>
6081
6082         * build-aux/maint.mk: Add indent target.
6083
6084 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
6085
6086         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
6087         our replacement poll.h in any case, to avoid a differing
6088         declaration from a system header.  Seen on AIX.
6089
6090 2006-03-01  Simon Josefsson  <jas@extundo.com>
6091
6092         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
6093         <kasal@ucw.cz>.
6094
6095 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6096
6097         * modules/gettime (Depends-on): Add extensions module.
6098         * modules/nanosleep (Depends-on): Likewise.
6099         * modules/settime (Depends-on): Likewise.
6100
6101 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6102
6103         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
6104         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
6105         pedantically.
6106         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
6107         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
6108
6109         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
6110         not "==".  Reported by Ralf Wildenhues.
6111
6112 2006-03-01  Karl Berry  <karl@gnu.org>
6113
6114         * doc/Copyright/request-*: new files, synced from gnuorg.
6115
6116 2006-03-01  Karl Berry  <karl@gnu.org>
6117
6118         * config/srclist.txt (Copyright/*): new entries.
6119
6120 2006-02-28  Simon Josefsson  <jas@extundo.com>
6121
6122         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
6123
6124 2006-02-27  Simon Josefsson  <jas@extundo.com>
6125
6126         * lib/base64.h: Indent #define's.  From Jim Meyering
6127         <jim@meyering.net>.
6128
6129 2006-02-27  Jim Meyering  <jim@meyering.net>
6130
6131         Revert the change of 2006-02-24, so these files can continue
6132         to be sync'd from gettext.
6133         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
6134         of `config.h'.
6135
6136 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6137
6138         * modules/intprops: New file.
6139         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
6140         Add intprops.
6141         * modules/getloadavg (Files): Remove lib/intprops.h.
6142         (Depends-on): Add intprops.
6143         * modules/human: Likewise.
6144         * modules/inttostr: Likewise.
6145         * modules/openat: Likewise.
6146         * modules/sig2str: Likewise.
6147         * modules/userspec: Likewise.
6148         * modules/utimecmp: Likewise.
6149         * modules/xnanosleep: Likewise.
6150         * modules/xstrtol: Likewise.
6151
6152 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
6153
6154         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
6155         * modules/lock-tests (TESTS): Use $(EXEEXT).
6156         * modules/tls-tests: Likewise.
6157         * modules/argp-tests: Likewise.
6158         (check_PROGRAMS): New var, replacing...
6159         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
6160
6161 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6162
6163         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
6164         `config.h'.
6165
6166 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6167
6168         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
6169
6170 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6171
6172         Sync from coreutils.
6173         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
6174         gl_CHDIR_SAFER.
6175
6176 2006-02-22  Jim Meyering  <jim@meyering.net>
6177
6178         Sync from coreutils.
6179         * m4/chdir-safer.m4: New file.
6180
6181 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
6182
6183         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
6184         AT_FDCWD exceeds INT_MAX.
6185         * lib/openat.h (AT_FDCWD): Likewise.
6186
6187 2006-02-17  Eric Blake  <address@hidden>
6188
6189         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
6190
6191 2006-02-16  Simon Josefsson  <jas@extundo.com>
6192
6193         * modules/getaddrinfo (Depends-on): Add sys_socket.
6194
6195 2006-02-15  Simon Josefsson  <jas@extundo.com>
6196
6197         * build-aux/maint.mk: Add dsyntax-check rule.
6198
6199 2006-02-15  Eric Blake  <ebb9@byu.net>
6200
6201         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
6202         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
6203         'present but cannot compile' warnings on cygwin.
6204         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
6205         use ws2tcpip.h if sys/socket.h works.
6206         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
6207         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
6208
6209 2006-02-14  Simon Josefsson  <jas@extundo.com>
6210
6211         * modules/maintainer-makefile (Files): Rename.
6212
6213         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
6214         and (the local) Makefile.cfg to maint-cfg.mk.
6215
6216         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
6217         to the latter.
6218
6219         * modules/maintainer-makefile: New module.
6220
6221         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
6222         severaly stripped to make it possible to build it up from scratch
6223         with reliable tests.
6224
6225         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
6226         fixes to permit overriding the default actions when configure and
6227         makefile are not available.
6228
6229 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
6230
6231         Sync from coreutils.
6232         * modules/lstat (Depends-on): Don't depend on xalloc.
6233         (License): Change from GPL to LGPL, since this is now simply a
6234         replacement for a libc function.
6235
6236 2006-02-14  Jim Meyering  <jim@meyering.net>
6237
6238         Sync from coreutils.
6239
6240         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
6241         failure on deficient systems, and simplify gnulib lgpl dependencies.
6242         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
6243         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
6244
6245         * lib/xalloc-die.c: Remove unused definition of N_.
6246
6247 2006-02-14  Jim Meyering  <jim@meyering.net>
6248
6249         Sync from coreutils.
6250         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
6251         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
6252         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
6253         double-quote uses of that variable, to accommodate the rare case in
6254         which getmntent is available in none of the libraries checked.  This
6255         happens at least on FreeBSD 5.0.
6256
6257 2006-02-13  Simon Josefsson  <jas@extundo.com>
6258
6259         * gnulib-tool (Usage): Fix --import, from
6260         karl@freefriends.org (Karl Berry).
6261
6262 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
6263
6264         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
6265
6266 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
6267
6268         * lib/argp-namefrob.h: Restore changes accidentally lost during the
6269         "autoupdate" on 2005-12-12.
6270
6271 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6272
6273         * modules/closeout (Depends-on): Remove atexit.
6274
6275 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6276
6277         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
6278         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
6279
6280 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
6281
6282         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
6283         __EXTENSIONS__ if this causes compilation to fail.  Problem
6284         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
6285         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
6286
6287 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
6288
6289         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
6290         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
6291         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
6292         All uses changed.
6293
6294 2006-01-26  Simon Josefsson  <jas@extundo.com>
6295
6296         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
6297         prototype is visible on mingw32.
6298
6299         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
6300         for mingw32.
6301
6302         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
6303         mingw32).
6304
6305 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
6306
6307         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
6308         attempt to open for write; this always fails, at least on POSIX
6309         hosts.  This reinstates the 2006-01-09 change, which was
6310         inadvertently removed.
6311
6312 2006-01-26  Bruno Haible  <bruno@clisp.org>
6313
6314         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
6315         Reported by Paul Eggert.
6316
6317 2006-01-26  Bruno Haible  <bruno@clisp.org>
6318             Paul Eggert  <eggert@cs.ucla.edu>
6319
6320         * lib/stdbool_.h (_Bool)
6321         [(! (defined __cplusplus || defined __BEOS__)
6322           && !defined __GNUC__
6323           && !(defined __HP_cc || defined __xlc__
6324                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
6325                || defined __sgi))]:
6326         #define to signed char in these cases too; this simplifies
6327         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
6328         etc., separately) and makes it more conservative.
6329
6330 2006-01-25  Simon Josefsson  <jas@extundo.com>
6331
6332         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
6333         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
6334         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
6335
6336 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
6337
6338         * lib/argp-namefrob.h: Bugfix. Remove stray #
6339
6340 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
6341
6342         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
6343         so that we test the test.
6344         Check for yet another HP-UX cc bug involving *bool |= bool.
6345
6346 2006-01-25  Karl Berry  <karl@gnu.org>
6347
6348         * config/srclist.txt (vasnprintf.c): sync lost.
6349
6350 2006-01-25  Jim Meyering  <jim@meyering.net>
6351
6352         Sync from the stable (b5) branch of coreutils:
6353
6354         * lib/fts.c (fts_children): Don't let close() clobber errno from
6355         failed fchdir().
6356
6357         * lib/fts.c (fts_stat): When following a symlink-to-directory,
6358         don't necessarily interpret stat-fails+lstat-succeeds as indicating
6359         a dangling symlink.  That can also happen at least for ELOOP.
6360         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
6361         FYI, this bug predates the inclusion of fts.c in coreutils.
6362
6363         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
6364         in their own block, so pre-c99 compilers don't object.
6365
6366         Avoid the double-free (first in fts_read, second in fts_close) that
6367         would occur when an `active' directory is made inaccessible (e.g.,
6368         via chmod a-x) during a traversal.
6369         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
6370         before returning.  Reproduce this failure by
6371         mkdir -p a/b; cd a; chmod a-x . b
6372         Reported by Stavros Passas.
6373
6374 2006-01-25  Jim Meyering  <jim@meyering.net>
6375
6376         * lib/fileblocks.c: Remove more useless parentheses.
6377         * lib/readutmp.h: Likewise.
6378
6379 2006-01-25  Bruno Haible  <bruno@clisp.org>
6380
6381         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
6382         warnings.
6383         Reported by Paul Eggert.
6384
6385 2006-01-25  Bruno Haible  <bruno@clisp.org>
6386
6387         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
6388         rid of a trap command. For Solaris sh.
6389         Reported by Mark D. Baushke <mdb@gnu.org>.
6390
6391 2006-01-24  Simon Josefsson  <jas@extundo.com>
6392
6393         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
6394         Bruno.
6395
6396 2006-01-24  Karl Berry  <karl@gnu.org>
6397
6398         * config/srclist.txt (argp-namefrob.h): sync lost.
6399
6400 2006-01-24  Jim Meyering  <jim@meyering.net>
6401
6402         * modules/openat (Files): Add lib/intprops.h.
6403         From Mark D. Baushke.
6404
6405 2006-01-24  Jim Meyering  <jim@meyering.net>
6406
6407         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
6408         Reported by Mark D. Baushke.
6409
6410 2006-01-24  Jim Meyering  <jim@meyering.net>
6411
6412         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
6413
6414 2006-01-24  Bruno Haible  <bruno@clisp.org>
6415
6416         * modules/strnlen (Maintainer): Change from glibc to all.
6417
6418 2006-01-24  Bruno Haible  <bruno@clisp.org>
6419
6420         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
6421         Patch by Paul Eggert.
6422
6423 2006-01-24  Bruno Haible  <bruno@clisp.org>
6424
6425         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
6426         already has it.
6427         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
6428         2005-11-26.
6429
6430         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
6431         'signed char' to avoid problems with the built-in _Bool type.
6432         Reported by Paul Eggert on 2005-11-26.
6433
6434 2006-01-24  Bruno Haible  <bruno@clisp.org>
6435
6436         * gnulib-tool (func_import): Avoid constructing complicated sed
6437         expressions inside backquote.
6438         Report and solution by Mark D. Baushke <mdb@gnu.org>.
6439
6440 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
6441
6442         These changes imported from libc.
6443         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
6444         test and two separate function calls.
6445         * lib/strndup.c (__strndup): Add libc_hidden_def.
6446
6447 2006-01-23  Simon Josefsson  <jas@extundo.com>
6448
6449         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
6450         Remove the test_*_SOURCES variable: automake infers it by default.
6451         * modules/tls-tests: Likewise.
6452
6453 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6454
6455         Work around porting bugs reported by Dieter in
6456         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
6457         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
6458         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
6459         Include "getopt.h" first, to check interface.
6460         (getenv): Declare only if defined HAVE_DECL_GETENV &&
6461         !HAVE_DECL_GETENV.
6462         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
6463         (__strndup): Revert to K&R-style function dfns, the glibc style.
6464         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
6465         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
6466         Include strnlen.h first, to get prototype properly.
6467         (strnlen): Renamed from __strnlen.
6468         Remove weak alias.
6469
6470 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6471
6472         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
6473
6474 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6475
6476         * config/srclist.txt: Adjust to reflect glibc reorganization.
6477         This affects only comments.
6478
6479 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
6480
6481          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
6482          Reported by Bruce Korb <bkorb@gnu.org>.
6483
6484 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
6485
6486         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
6487         to pacify gcc -Wswitch-default.
6488
6489 2006-01-22  Bruno Haible  <bruno@clisp.org>
6490
6491         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
6492         temporary buffer for sprintf, take into account the precision also
6493         for 'd', 'i', 'u', 'o', 'x', 'X'.
6494
6495 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
6496
6497         * modules/argp-tests: New module
6498         * tests/test-argp.c: New file
6499         * tests/test-argp-2.sh: New file
6500
6501 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
6502
6503         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
6504         (__argp_base_name): Removed
6505         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
6506         typo.
6507         (__argp_base_name): Provide macro definition or extern declaration
6508         depending on the configuration
6509
6510 2006-01-20  Simon Josefsson  <jas@extundo.com>
6511
6512         * modules/inet_ntop (Depends-on): Depend on sys_socket.
6513
6514 2006-01-20  Simon Josefsson  <jas@extundo.com>
6515
6516         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
6517
6518 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
6519
6520         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
6521         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
6522         Suggested by Bruno Haible.
6523
6524 2006-01-20  Karl Berry  <karl@gnu.org>
6525
6526         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
6527         until changes propagate, I guess.
6528
6529 2006-01-19  Simon Josefsson  <jas@extundo.com>
6530
6531         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
6532
6533 2006-01-19  Simon Josefsson  <jas@extundo.com>
6534
6535         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
6536
6537 2006-01-19  Simon Josefsson  <jas@extundo.com>
6538
6539         * gnulib-tool: Set check_PROGRAMS.
6540
6541         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
6542         modules/des-tests, modules/gc-arcfour-tests,
6543         modules/gc-arctwo-tests, modules/gc-des-tests,
6544         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
6545         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
6546         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
6547         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
6548         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
6549         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
6550         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
6551         test_*_SOURCES.
6552
6553 2006-01-18  Simon Josefsson  <jas@extundo.com>
6554
6555         * modules/socklen (Depends-on): Depend on sys_socket.
6556
6557 2006-01-18  Simon Josefsson  <jas@extundo.com>
6558
6559         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
6560         modules/des-tests, modules/gc-arcfour-tests,
6561         modules/gc-arctwo-tests, modules/gc-des-tests,
6562         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
6563         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
6564         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
6565         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
6566         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
6567         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
6568         $(EXEEXT) to automake TESTS variable, for mingw32.
6569
6570 2006-01-17  Simon Josefsson  <jas@extundo.com>
6571
6572         * modules/socklen (Include): Need sys/socket.h.
6573
6574 2006-01-17  Bruno Haible  <bruno@clisp.org>
6575
6576         * modules/ssize_t (Include): Add <sys/types.h>.
6577
6578 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
6579
6580         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
6581         it's not portable and it doesn't work with cross-compiles.
6582         Problem reported by Bruno Haible.  Fix missing-$ typo in
6583         'test "gl_cv_ignore_unused_libraries" ...' that prevented
6584         -zignore from being used with Sun's C compiler.
6585
6586 2006-01-12  Simon Josefsson  <jas@extundo.com>
6587
6588         * lib/base64.c: Fix warning, reported by Bruno Haible
6589         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
6590
6591 2006-01-12  Bruno Haible  <bruno@clisp.org>
6592
6593         * modules/ldd: New file.
6594         * build-aux/ldd.sh.in: New file.
6595         * MODULES.html.sh (Support for building libraries and executables): Add
6596         ldd.
6597
6598 2006-01-12  Bruno Haible  <bruno@clisp.org>
6599
6600         * m4/ldd.m4: New file.
6601
6602 2006-01-12  Bruno Haible  <bruno@clisp.org>
6603
6604         * gnulib-tool (func_import, func_create_testdir): Don't go into an
6605         endless loop while replacing $auxdir with build-aux.
6606
6607 2006-01-11  Simon Josefsson  <jas@extundo.com>
6608
6609         * lib/stdint_.h (SIZE_MAX): Add missing (.
6610
6611 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
6612
6613         Sync from coreutils.
6614         * lib/md5.c: Fix commentary typos.
6615         (alignof, UNALIGNED_P): No need for a GCC-specific version.
6616         * lib/md5.h (__attribute__): Remove; unused.
6617         * lib/sha1.c: Fix commentary to match md5 better.
6618         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
6619         so that we don't need to worry about alignment.  All uses changed.
6620         This merges the 2005-10-28 md5 change into sha1.
6621
6622 2006-01-11  Jim Meyering  <jim@meyering.net>
6623
6624         Sync from coreutils.
6625         * lib/md5.c (OP): Fix spacing.
6626
6627 2006-01-11  Bruno Haible  <bruno@clisp.org>
6628
6629         Ensure automatic ordering between gl_LOCK and gl_ARGP.
6630         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
6631         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
6632
6633 2006-01-11  Bruno Haible  <bruno@clisp.org>
6634
6635         Ensure automatic ordering between gl_LOCK and gl_ARGP.
6636         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
6637         the "early" section as well.
6638
6639 2006-01-11  Bruno Haible  <bruno@clisp.org>
6640
6641         Avoid "ar: no archive members specified" error on MacOS X.
6642         * gnulib-tool (func_modules_add_dummy): New function.
6643         (func_import, func_create_testdir): Invoke it.
6644
6645 2006-01-11  Bruno Haible  <bruno@clisp.org>
6646
6647         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
6648         with $auxdir in AC_CONFIG_FILES statements.
6649
6650 2006-01-11  Bruno Haible  <bruno@clisp.org>
6651
6652         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6653         Initialize also noinst_HEADERS to empty.
6654
6655 2006-01-11  Bruno Haible  <bruno@clisp.org>
6656
6657         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
6658         variables.
6659         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
6660         autoreconf.
6661
6662 2006-01-11  Bruno Haible  <bruno@clisp.org>
6663
6664         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
6665         overridable by the user.
6666         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6667
6668 2006-01-10  Simon Josefsson  <jas@extundo.com>
6669
6670         * modules/sys_socket: New file.
6671
6672 2006-01-10  Simon Josefsson  <jas@extundo.com>
6673
6674         * m4/sys_socket_h.m4: New file.
6675
6676 2006-01-10  Simon Josefsson  <jas@extundo.com>
6677
6678         * lib/socket_.h: New file.
6679
6680 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
6681
6682         * modules/readutmp (Maintainer): Add myself.
6683
6684 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
6685
6686         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
6687         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
6688         People who are still concerned with buggy memcmp implementations
6689         can invoke gl_FUNC_MEMCMP themselves.
6690
6691 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
6692
6693         * lib/regex_internal.h (BITSET_WORD_BITS):
6694         Work around a bug in 64-bit PGC (before version 6.1-2), where the
6695         preprocessor mishandles large unsigned values as if they were signed.
6696         Problem reported by Claudio Fontana in
6697         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
6698
6699 2006-01-10  Jim Meyering  <jim@meyering.net>
6700
6701         Avoid the double-free (first in fts_read, second in fts_close) that
6702         would occur when an `active' directory is made inaccessible (e.g.,
6703         via chmod a-x) during a traversal.
6704         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
6705         before returning.  Reproduce this failure by
6706         mkdir -p a/b; cd a; chmod a-x . b
6707         Reported by Stavros Passas.
6708
6709         Sync from coreutils.
6710         * lib/sha1.c: Tweak grammar in a comment.
6711
6712 2006-01-10  Jim Meyering  <jim@meyering.net>
6713
6714         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
6715         Patch by Joerg Sonnenberger.
6716
6717 2006-01-10  Bruno Haible  <bruno@clisp.org>
6718
6719         * modules/readutmp: Depend on module free.
6720         * modules/strtok_r: Depend on module restrict.
6721
6722 2006-01-10  Bruno Haible  <bruno@clisp.org>
6723
6724         * modules/gettext (configure.ac): Add an invocation of
6725         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
6726
6727 2006-01-10  Bruno Haible  <bruno@clisp.org>
6728
6729         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
6730         Reported by Werner Lemberg <wl@gnu.org>.
6731
6732 2006-01-10  Bruno Haible  <bruno@clisp.org>
6733
6734         * lib/localcharset.c: Update from GNU gettext.
6735
6736 2006-01-10  Bruno Haible  <bruno@clisp.org>
6737
6738         * lib/argp.h (__const): Remove macro. Use const instead.
6739         * lib/argp-fmtstream.h (__const): Likewise.
6740         * lib/glob_.h (__const): Remove macro.
6741         * lib/glob-libc.h: Use const instead of __const.
6742
6743 2006-01-10  Bruno Haible  <bruno@clisp.org>
6744
6745         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
6746         variable.
6747         Needed to avoid an automake error regarding the 'gettext' module.
6748
6749 2006-01-09  Simon Josefsson  <jas@extundo.com>
6750
6751         * modules/inet_ntop (Depends-on): Add restrict.
6752
6753 2006-01-09  Simon Josefsson  <jas@extundo.com>
6754
6755         * modules/gc-rijndael-tests (License): Put under LGPL.
6756
6757         * modules/gc-des-tests (License): Likewise.
6758
6759         * modules/gc-arcfour-tests (License): Likewise.
6760
6761         * modules/gc-arctwo-tests (License): Likewise.
6762
6763         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
6764
6765         * modules/gc-hmac-sha1-tests (Files): Likewise.
6766
6767         * modules/gc-hmac-md5-tests (License): Likewise.
6768
6769         * modules/gc-sha1-tests (License): Likewise.
6770
6771         * modules/gc-md5-tests (License): Likewise.
6772
6773         * modules/gc-md4-tests (License): Likewise.
6774
6775         * modules/gc-md2-tests (License): Likewise.
6776
6777         * modules/gc-tests (License): Likewise.
6778
6779         * modules/des-tests (License): Likewise.
6780
6781         * modules/md4-tests (License): Likewise.
6782
6783         * modules/md2-tests (License): Likewise.
6784
6785 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
6786
6787         Sync from coreutils:
6788
6789         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
6790         * modules/lib-ignore: New file.
6791         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
6792         chdir-safer.m4, lchmod.m4.
6793         * modules/openat: Add mkdirat.c, openat-priv.h.
6794
6795 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
6796
6797         Sync from coreutils.
6798         * m4/lib-ignore.m4: New file.
6799         * m4/lchmod.m4: New file.
6800
6801 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
6802
6803         Sync from coreutils.
6804         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
6805         for write access: POSIX says that must fail.
6806         * lib/fts.c (diropen): Likewise.
6807         * lib/save-cwd.c (save_cwd): Likewise.
6808         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
6809         well, for minor improvements on hosts that lack O_DIRECTORY.
6810         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
6811         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
6812         Fall back on chown if open failed with EACCES.
6813
6814         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
6815         Report an error at compile-time if only a 1-second nominal clock
6816         resolution is found.
6817
6818         * lib/lchmod.h: New file.
6819         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
6820         (make_dir_parents): Use lchown rather than chown, and
6821         lchmod rather than chmod.
6822
6823         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
6824         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
6825         "proc" reported by n0dalus.
6826
6827         * lib/mountlist.c: Include <limits.h>.
6828         (dev_from_mount_options)
6829         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
6830         New function.  It no longer assumes "dev=" has the System V meaning
6831         on Linux (since it doesn't).  It also parses "dev=" more carefully.
6832         (read_file_system_list)
6833         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
6834         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
6835         dev= in that case.
6836
6837         * lib/posixtm.h (PDS_PRE_2000): New macro.
6838         * lib/posixtm.c (year): Arg is now syntax_bits rather than
6839         allow_century.  All usages changed.  Reject dates outside the range
6840         1969-1999 if PDS_PRE_2000 is used.
6841
6842 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
6843
6844         Sync from coreutils.
6845         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
6846         (Time of day items): Mention the possibility of leap seconds.
6847         Problem reported by Dr. David Alan Gilbert.
6848
6849 2006-01-09  Jim Meyering  <jim@meyering.net>
6850
6851         Sync from coreutils.
6852
6853         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
6854
6855         * lib/chdir-safer.h, chdir-safer.c: New files.
6856
6857         * lib/modechange.c (mode_compile): Reject an invalid mode string
6858         that starts with an octal digit.  From Andreas Gruenbacher.
6859
6860         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
6861         and dup to open_safer and dup_safer, respectively.
6862         (openat_permissive): Fix typo in comment.
6863
6864         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
6865         "gettext.h"; either no longer needed or are guaranteed by openat.h.
6866         (_): Remove; no longer needed.
6867         (openat): Renamed from rpl_openat; no need for rpl_openat
6868         since openat.h renames openat for us.
6869         Replace most of the body with a call to openat_permissive,
6870         to avoid duplicate code.
6871         Port to (probably hypothetical) environments were mode_t is
6872         wider than int.
6873         (openat_permissive): Require mode arg, so that we can check
6874         types better.  Put it just after flags.  Change cwd failure
6875         indicator from pointer-to-bool to pointer-to-errno-value.
6876         All callers changed.
6877         Invoke openat_save_fail and/or openat_restore_fail if
6878         cwd_errno is null, so that openat can call us.
6879         (openat_permissive, fdopendir, fstatat, unlinkat):
6880         Simplify errno handling to avoid some duplicate code,
6881         as it's OK to set errno on success.
6882         * lib/openat.h: Revamp code so that function macros depend on
6883         __OPENAT_PREFIX only, not also on AT_FDCWD.
6884         (openat_ro): Remove.  Caller changed to use openat_permissive.
6885         (openat_permissive): Now a macro, if not a function.
6886         (openat_restore_fail, openat_save_fail): Now always functions,
6887         since mkdirat needs them even if __OPENAT_PREFIX is defined.
6888
6889         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
6890         and openat.c.
6891         * lib/mkdirat.c: Include openat-priv.h.
6892         Remove definitions of macros defined therein.
6893         * lib/openat.c: Likewise.
6894
6895         * lib/mkdirat.c (mkdirat): New file and function.
6896         * lib/openat.h (mkdirat): Declare.
6897
6898         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
6899
6900         * lib/openat.h (openat_permissive): Declare.
6901         (openat_ro): Define.
6902
6903         * lib/openat.c (EXPECTED_ERRNO): New macro.
6904         (openat_permissive): New function -- used in remove.c rewrite.
6905         (all functions): Set errno just before returning, only if there
6906         was an actual failure.
6907         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
6908
6909         Emulate openat-family functions using Linux's procfs, if possible.
6910         Idea and some code based on Ulrich Drepper's glibc changes.
6911
6912         * lib/openat.c: (BUILD_PROC_NAME): New macro.
6913         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
6914         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
6915         before falling back on save_cwd and restore_cwd.
6916         (fdopendir, fstatat, unlinkat): Likewise.
6917
6918         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
6919         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
6920
6921         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
6922         as second argument to va_arg.  Otherwise, some versions of gcc
6923         warn that `if this code is reached, the program will abort'.
6924
6925 2006-01-09  Jim Meyering  <jim@meyering.net>
6926
6927         Sync from coreutils.
6928         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
6929         Require openat-priv.h.
6930
6931 2006-01-09  Bruno Haible  <bruno@clisp.org>
6932
6933         * modules/strnlen (Include): Use strnlen.h.
6934
6935 2006-01-09  Bruno Haible  <bruno@clisp.org>
6936
6937         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
6938
6939 2006-01-09  Bruno Haible  <bruno@clisp.org>
6940
6941         * lib/sysexit_.h (EX_OK): New macro.
6942         Suggested by Martin Lambers <marlam@marlam.de>.
6943
6944 2006-01-09  Bruno Haible  <bruno@clisp.org>
6945
6946         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
6947         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
6948
6949 2006-01-09  Bruno Haible  <bruno@clisp.org>
6950
6951         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
6952         numbers.
6953
6954 2006-01-09  Bruno Haible  <bruno@clisp.org>
6955
6956         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
6957         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
6958         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
6959         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
6960
6961 2006-01-09  Bruno Haible  <bruno@clisp.org>
6962
6963         * build-aux/javacomp.sh.in: New file, moved from lib/.
6964         * modules/javacomp-script (Files): Update.
6965         (configure.ac): Add AC_CONFIG_FILES invocation.
6966         (EXTRA_DIST): Remove variable.
6967
6968         * build-aux/javaexec.sh.in: New file, moved from lib/.
6969         * modules/javaexec (Files): Update.
6970         (configure.ac): Add AC_CONFIG_FILES invocation.
6971         (EXTRA_DIST): Remove javaexec.sh.in.
6972
6973         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
6974         * modules/csharpcomp-script (Files): Update.
6975         (configure.ac): Add AC_CONFIG_FILES invocation.
6976         (EXTRA_DIST): Remove variable.
6977
6978         * build-aux/csharpexec.sh.in: New file, moved from lib/.
6979         * modules/csharpexec (Files): Update.
6980         (configure.ac): Add AC_CONFIG_FILES invocation.
6981         (EXTRA_DIST): Remove csharpexec.sh.in.
6982
6983 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
6984
6985         Sync from coreutils.
6986
6987         Add POSIX ACL support
6988         * lib/acl.h (copy_acl, set_acl): Add declarations.
6989         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
6990         systems other than Linux.
6991         (chmod_or_fchmod): New function: use fchmod when possible,
6992         and chmod otherwise.
6993         (file_has_acl): Add a POSIX ACL implementation, with a
6994         Linux-specific subcase.
6995         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
6996         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
6997         acls are unsupported.
6998         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
6999         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
7000         are unsupported.
7001
7002 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
7003
7004         Sync from coreutils.
7005         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
7006
7007 2006-01-07  Bruno Haible  <bruno@clisp.org>
7008
7009         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
7010         gl_EARLY.
7011
7012 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7013
7014         * lib/strftime.c (tzname): Don't declare if it is already #defined.
7015         Problem reported for Mingw by Mark Junker.
7016
7017 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7018
7019         * README: Gnulib normally doesn't generate a tarball.
7020
7021 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
7022
7023         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
7024         long int, not int, for nanosecond counts, so that people who are
7025         used to POSIX struct timespec won't be surprised.  Reported by Jim
7026         Meyering.
7027
7028 2005-12-28  Bruno Haible  <bruno@clisp.org>
7029
7030         * build-aux/config.rpath: Update from GNU gettext.
7031
7032 2005-12-16  Jim Meyering  <jim@meyering.net>
7033
7034         * modules/fprintftime: New module.
7035         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
7036
7037 2005-12-16  Jim Meyering  <jim@meyering.net>
7038
7039         * m4/fprintftime.m4: New file.
7040
7041 2005-12-16  Jim Meyering  <jim@meyering.net>
7042
7043         * lib/fprintftime.c, fprintftime.h: New files.
7044
7045 2005-12-15  Simon Josefsson  <jas@extundo.com>
7046
7047         * modules/socklen (configure.ac): Fix M4 macro name, to align with
7048         new m4/socklen.m4.
7049
7050 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7051
7052         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
7053         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
7054
7055 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
7056
7057         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
7058         * lib/argp-help.c (fill_in_uparams): Check if the constructed
7059         struct uparams is valid. Fall back to the default values if it is
7060         not.
7061
7062 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7063
7064         * modules/argp (Files): Add argp-pin.c
7065         (Depends-on): dirname
7066         (lib_SOURCES): Add argp-pin.c
7067
7068 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7069
7070         * m4/argp.m4:  Check if program_invocation_name and
7071         program_invocation_short_name are declared and define appropriate
7072         macros if they are not.
7073
7074 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
7075
7076         * lib/argp-help.c (__argp_base_name): New function
7077         (__argp_short_program_name): Rewrite using __argp_base_name
7078         * lib/argp-namefrob.h: Define program_invocation_name and
7079         program_invocation_short_name if requested
7080         (__argp_base_name): Add prototype
7081         * lib/argp-parse.c (argp_def): Use gettext wrappers
7082         (argp_default_parser): Use __argp_base_name
7083         * lib/argp-pin.c: New file. Defines program_invocation_name and
7084         program_invocation_short_name on systems that lack them.
7085
7086 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7087
7088         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
7089         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7090         porting problem reported by Georg Schwarz in
7091         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7092
7093 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
7094
7095         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
7096         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
7097         porting problem reported by Georg Schwarz in
7098         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
7099
7100 2005-12-05  Bruno Haible  <bruno@clisp.org>
7101
7102         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
7103         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
7104         Reported by Mark Junker <mjscod@gmx.de>.
7105
7106 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7107
7108         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
7109         Use implementation from Albert Chin, with some
7110         comments/corrections by Stepan Kasal and myself.
7111
7112 2005-12-02  Bruno Haible  <bruno@clisp.org>
7113
7114         * gnulib-tool (func_import): Accept GPLed build tool modules when
7115         --lgpl is given.
7116         * modules/csharpcomp-script: New file.
7117         * modules/csharpcomp: Depend on it.
7118         * modules/javacomp-script: New file.
7119         * modules/javacomp: Depend on it.
7120         Suggested by Simon Josefsson.
7121
7122 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7123
7124         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
7125         statement, to work around an HP-UX 10.20 compiler bug reported by
7126         Peter O'Gorman.
7127
7128 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
7129
7130         * modules/savedir (Depends-on): Add openat.
7131
7132 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
7133
7134         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
7135         (uintmax_t) [defined uintmax_t]: Do not declare.
7136         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
7137         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
7138         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
7139         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
7140         sake of portability to weird hosts that C allows (though we don't
7141         know of any practical examples).
7142
7143         * lib/savedir.h (fdsavedir): New decl.
7144         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
7145         contains most of the former guts of savedir.
7146         (savedir): Use savedirstream.
7147         Include "openat.h".
7148
7149 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7150
7151         * modules/obstack (Files): Add m4/ulonglong.m4.
7152         Problem reported by Davide Angelocola.
7153
7154 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
7155
7156         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
7157         coreutils no longer futzes with rounding modes.
7158
7159 2005-11-14  Jim Meyering  <jim@meyering.net>
7160
7161         * lib/mkstemp-safer.c: Include <config.h>, required for possible
7162         replacement of mkstemp.
7163
7164 2005-11-10  Simon Josefsson  <jas@extundo.com>
7165
7166         * lib/readline.c: Remove EOL.
7167
7168 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7169
7170         * modules/gethrxtime (Depends-on): Add gettime.
7171
7172 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7173
7174         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
7175         or gettimeofday; no longer needed.
7176
7177 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
7178
7179         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
7180         time business.
7181         (gethrxtime) [! (HAVE_NANOUPTIME
7182         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
7183         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
7184         our own approximation.
7185
7186 2005-11-08  Eric Blake  <ebb9@byu.net>
7187
7188         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
7189
7190 2005-11-08  Eric Blake  <ebb9@byu.net>
7191
7192         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
7193
7194 2005-11-04  Bruno Haible  <bruno@clisp.org>
7195
7196         * gnulib-tool: Implement --update mode.
7197
7198 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7199
7200         Fix porting problem reported by Theodoros V. Kalamatianos.
7201         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
7202         Don't assume that futimes failing means we must fail.
7203
7204 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
7205
7206         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
7207         variables to suggest the intended function of the PATH_MAX check.
7208
7209 2005-10-30  Kean Johnston  <jkj@sco.com>
7210
7211         Trivial changes to support SCO systems.
7212         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
7213         as PATH_MAX.
7214         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
7215         where __ptr is null when no I/O is pending.
7216
7217 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
7218
7219         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
7220         leave errno alone.  Problem reported by Dmitry V. Levin.
7221
7222 2005-10-28  Simon Josefsson  <jas@extundo.com>
7223
7224         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
7225         Test more.
7226
7227         * tests/test-gc-md2.c, tests/test-md2.c: New files.
7228
7229         * modules/md2, modules/md2-tests: New files.
7230
7231 2005-10-28  Simon Josefsson  <jas@extundo.com>
7232
7233         * m4/inet_ntop.m4: More tests.
7234
7235         * m4/gc-md2.m4, md2.m4: New file.
7236
7237 2005-10-28  Simon Josefsson  <jas@extundo.com>
7238
7239         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
7240         "restrict" keywords, as per POSIX.  Protect the function
7241         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
7242         Don't use K&R prototypes.  Check the sprintf return values.
7243         Re-define EAFNOSUPPORT if not present.  Indent.
7244
7245         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
7246         suggested by Bruno Haible <bruno@clisp.org>.
7247
7248         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
7249
7250         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
7251
7252         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
7253         libgcrypt).
7254
7255         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
7256
7257         * lib/md2.h, md2.c: New files.
7258
7259 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
7260
7261         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
7262         errno alone.  Problem reported by Frederic Jolliton.
7263
7264 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
7265
7266         * modules/verify (License): Change from GPL to LGPL.  This is a
7267         tiny module and there are apparently near-equivalents that are
7268         under the BSD license.
7269
7270 2005-10-24  Simon Josefsson  <jas@extundo.com>
7271
7272         * modules/sha1: Relicense to LGPL.
7273
7274 2005-10-24  Simon Josefsson  <jas@extundo.com>
7275
7276         * lib/md4.h: Shrink buffer size, now that we changed the type.
7277
7278 2005-10-23  Simon Josefsson  <jas@extundo.com>
7279
7280         * gnulib-tool (func_import): Fix --tests-base.
7281
7282 2005-10-22  Simon Josefsson  <jas@extundo.com>
7283
7284         * modules/arcfour (Depends-on): Need stdint.
7285
7286 2005-10-22  Simon Josefsson  <jas@extundo.com>
7287
7288         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
7289         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
7290
7291 2005-10-22  Simon Josefsson  <jas@extundo.com>
7292
7293         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
7294         suggested by Bruno Haible <bruno@clisp.org>.
7295
7296 2005-10-22  Simon Josefsson  <jas@extundo.com>
7297
7298         * lib/crc.h: Include stddef.h, for size_t.
7299
7300 2005-10-22  Simon Josefsson  <jas@extundo.com>
7301
7302         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
7303         arcfour_context struct (simplify test vector testing in GNU
7304         Shishi).
7305
7306 2005-10-21  Simon Josefsson  <jas@extundo.com>
7307
7308         * modules/des, modules/des-tests: New files.
7309
7310         * modules/gc-des, modules/gc-des-tests: New files.
7311
7312         * tests/test-des.c, tests/test-gc-des.c: New file.
7313
7314 2005-10-21  Simon Josefsson  <jas@extundo.com>
7315
7316         * modules/arctwo, modules/arctwo-tests: New files.
7317
7318         * tests/test-arctwo.c: New file.
7319
7320         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
7321
7322         * tests/test-gc-arctwo.c: New file.
7323
7324 2005-10-21  Simon Josefsson  <jas@extundo.com>
7325
7326         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
7327         Bruno Haible <bruno@clisp.org>.
7328
7329         * m4/gc-des.m4: New file.
7330
7331 2005-10-21  Simon Josefsson  <jas@extundo.com>
7332
7333         * m4/arctwo.m4: New file.
7334
7335         * m4/gc-arctwo.m4: New file.
7336
7337 2005-10-21  Simon Josefsson  <jas@extundo.com>
7338
7339         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
7340         block.
7341
7342 2005-10-21  Simon Josefsson  <jas@extundo.com>
7343
7344         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
7345         <bruno@clisp.org>.
7346
7347         * lib/hmac-sha1.c (hmac_sha1): Likewise.
7348
7349         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
7350         Bruno Haible <bruno@clisp.org>.
7351
7352         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
7353         <bruno@clisp.org>.
7354
7355 2005-10-21  Simon Josefsson  <jas@extundo.com>
7356
7357         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
7358
7359 2005-10-21  Simon Josefsson  <jas@extundo.com>
7360
7361         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
7362
7363 2005-10-21  Simon Josefsson  <jas@extundo.com>
7364
7365         * lib/des.h, des.c: New files.
7366
7367         * lib/gc-gnulib.c: Support DES.c
7368
7369 2005-10-21  Simon Josefsson  <jas@extundo.com>
7370
7371         * lib/arctwo.h, arctwo.c: New files.
7372
7373         * lib/gc-gnulib.c: Support ARCTWO.
7374
7375 2005-10-21  Simon Josefsson  <jas@extundo.com>
7376
7377         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
7378         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7379
7380 2005-10-21  Simon Josefsson  <jas@extundo.com>
7381
7382         * gnulib-tool (func_import, func_create_testdir): Define automake
7383         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
7384         Makefile.am snippet),
7385         suggested by Bruno Haible <bruno@clisp.org>.
7386
7387         * modules/gc (Makefile.am): Use it.
7388
7389 2005-10-21  Bruno Haible  <bruno@clisp.org>
7390
7391         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
7392         patch.
7393
7394 2005-10-19  Simon Josefsson  <jas@extundo.com>
7395
7396         * tests/test-gc-rijndael.c: New file.
7397
7398         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
7399
7400 2005-10-19  Simon Josefsson  <jas@extundo.com>
7401
7402         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
7403         interface too.
7404
7405 2005-10-19  Simon Josefsson  <jas@extundo.com>
7406
7407         * tests/test-gc-arcfour.c: New file.
7408
7409         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
7410
7411 2005-10-19  Simon Josefsson  <jas@extundo.com>
7412
7413         * modules/gc-md4, modules/gc-md4-tests: New file.
7414
7415         * tests/test-gc-md4.c: New file.
7416
7417 2005-10-19  Simon Josefsson  <jas@extundo.com>
7418
7419         * m4/gc-md4.m4: New file.
7420
7421 2005-10-19  Simon Josefsson  <jas@extundo.com>
7422
7423         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
7424         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
7425         <kasal@ucw.cz>.
7426
7427 2005-10-19  Simon Josefsson  <jas@extundo.com>
7428
7429         * m4/gc-arcfour.m4: New file.
7430
7431         * m4/gc-rijndael.m4: New file.
7432
7433 2005-10-19  Simon Josefsson  <jas@extundo.com>
7434
7435         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
7436
7437 2005-10-19  Simon Josefsson  <jas@extundo.com>
7438
7439         * lib/gc-gnulib.c: Support ARCFOUR.
7440
7441 2005-10-19  Simon Josefsson  <jas@extundo.com>
7442
7443         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
7444         support.
7445
7446         * lib/gc.h: Add ECB enum type.
7447
7448         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
7449
7450 2005-10-18  Simon Josefsson  <jas@extundo.com>
7451
7452         * tests/test-md5.c: New file.
7453
7454         * modules/md5-tests: New file.
7455
7456 2005-10-18  Simon Josefsson  <jas@extundo.com>
7457
7458         * tests/test-md4.c: New file.
7459
7460         * modules/md4, modules/md4-tests: New files.
7461
7462 2005-10-18  Simon Josefsson  <jas@extundo.com>
7463
7464         * m4/md4.m4: New file.
7465
7466 2005-10-18  Simon Josefsson  <jas@extundo.com>
7467
7468         * lib/md4.h, md4.c: New files, based on md5.?.
7469
7470 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
7471
7472         * gnulib-tool (func_create_testdir): Omit the second check whether
7473         BUILT_SOURCES in nonempty.
7474
7475 2005-10-17  Simon Josefsson  <jas@extundo.com>
7476
7477         * tests/test-rijndael.c: New file.
7478
7479 2005-10-17  Simon Josefsson  <jas@extundo.com>
7480
7481         * modules/sha1: Depend on stdint instead of md5.
7482
7483         * modules/md5: Depend on stdint, remove uint32_t.
7484
7485 2005-10-17  Simon Josefsson  <jas@extundo.com>
7486
7487         * modules/gc-sha1-tests: New file.
7488
7489         * tests/test-gc-sha1.c: New file.
7490
7491 2005-10-17  Simon Josefsson  <jas@extundo.com>
7492
7493         * m4/md5.m4: Remove call to uint32_t.m4.
7494
7495 2005-10-17  Simon Josefsson  <jas@extundo.com>
7496
7497         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
7498
7499         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
7500         md5.h.
7501
7502         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
7503
7504         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
7505
7506 2005-10-17  Simon Josefsson  <jas@extundo.com>
7507
7508         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
7509
7510 2005-10-17  Simon Josefsson  <jas@extundo.com>
7511
7512         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
7513
7514 2005-10-17  Simon Josefsson  <jas@extundo.com>
7515
7516         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
7517
7518         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
7519
7520 2005-10-17  Bruno Haible  <bruno@clisp.org>
7521
7522         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
7523         that it can also be used in a test.
7524
7525 2005-10-16  Bruno Haible  <bruno@clisp.org>
7526
7527         * gnulib-tool (func_emit_tests_Makefile_am): Also define
7528         TESTS_ENVIRONMENT, so that individual tests can augment it.
7529
7530         * gnulib-tool (func_create_testdir): Use an intermediate target for
7531         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
7532         macros, like $(ALLOCA_H), which cannot be passed through the command
7533         line.
7534
7535 2005-10-15  Simon Josefsson  <jas@extundo.com>
7536
7537         * modules/rijndael-tests: New file.
7538
7539         * modules/rijndael: New file.
7540
7541 2005-10-15  Simon Josefsson  <jas@extundo.com>
7542
7543         * m4/rijndael.m4: New file.
7544
7545 2005-10-15  Simon Josefsson  <jas@extundo.com>
7546
7547         * lib/rijndael-api-fst.h, rijndael-api-fst.c: New files.
7548
7549         * lib/rijndael-alg-fst.h, rijndael-alg-fst.c: New files.
7550
7551 2005-10-14  Simon Josefsson  <jas@extundo.com>
7552
7553         * tests/test-arcfour.c: New file.
7554
7555         * modules/arcfour, modules/arcfour-tests: New files.
7556
7557 2005-10-14  Simon Josefsson  <jas@extundo.com>
7558
7559         * m4/arcfour.m4: New file.
7560
7561 2005-10-14  Simon Josefsson  <jas@extundo.com>
7562
7563         * lib/arcfour.h, arcfour.c: New files.
7564
7565 2005-10-14  Roland McGrath  <roland@redhat.com>
7566
7567         Import from libc.  [BZ #1331]
7568         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
7569         macro argument.
7570         Reported by Matej Vela <vela@debian.org>.
7571
7572 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
7573
7574         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
7575         include <wchar.h>; no longer needed.
7576
7577 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
7578
7579         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
7580
7581 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
7582         and  Ulrich Drepper  <drepper@redhat.com>
7583
7584         Import from libc.
7585         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
7586         instead of inline stream orientation test and two separate
7587         function calls.  Pay no attention to USE_IN_LIBIO.
7588
7589 2005-10-13  Simon Josefsson  <jas@extundo.com>
7590
7591         * modules/gc-hmac-md5-tests: New file.
7592
7593         * tests/test-gc-hmac-sha1.c: New file.
7594
7595         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
7596
7597         * modules/gc-hmac-md5-tests: New file.
7598
7599         * tests/test-gc-md5.c: New file.
7600
7601         * modules/gc-md5-tests: New file.
7602
7603 2005-10-13  Simon Josefsson  <jas@extundo.com>
7604
7605         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
7606         Move memory allocation outside of loop.
7607
7608 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
7609
7610         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
7611         intermediate directory is in a read-only file system.  Problem
7612         reported by Eric Blake.
7613
7614 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
7615
7616         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
7617
7618 2005-10-12  Simon Josefsson  <jas@extundo.com>
7619
7620         * tests/test-hmac-sha1.c: New file.
7621
7622         * modules/hmac-sha1-tests: New file.
7623
7624         * modules/hmac-sha1: New file.
7625
7626 2005-10-12  Simon Josefsson  <jas@extundo.com>
7627
7628         * modules/gc-sha1: New file.
7629
7630 2005-10-12  Simon Josefsson  <jas@extundo.com>
7631
7632         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
7633
7634         * tests/test-gc-pbkdf2-sha1.c: New file.
7635
7636 2005-10-12  Simon Josefsson  <jas@extundo.com>
7637
7638         * modules/gc-md5, modules/gc-hmac-md5: New files.
7639
7640         * modules/gc (Files): Remove md5, memxor and hmac files.
7641
7642 2005-10-12  Simon Josefsson  <jas@extundo.com>
7643
7644         * m4/gc-pbkdf2-sha1.m4: New file.
7645
7646         * m4/gc-hmac-sha1.m4: New file.
7647
7648         * m4/gc-sha1: New file.
7649
7650         * m4/hmac-sha1.m4: New file.
7651
7652 2005-10-12  Simon Josefsson  <jas@extundo.com>
7653
7654         * m4/gc-md5.m4, gc-hmac-md5: New files.
7655
7656         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
7657
7658 2005-10-12  Simon Josefsson  <jas@extundo.com>
7659
7660         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
7661         suggested by Bruno Haible <bruno@clisp.org>.
7662
7663 2005-10-12  Simon Josefsson  <jas@extundo.com>
7664
7665         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
7666
7667 2005-10-12  Simon Josefsson  <jas@extundo.com>
7668
7669         * lib/gc-pbkdf2-sha1.c: New file.
7670
7671         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
7672
7673 2005-10-12  Simon Josefsson  <jas@extundo.com>
7674
7675         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
7676
7677         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
7678
7679 2005-10-12  Simon Josefsson  <jas@extundo.com>
7680
7681         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
7682         GC_USE_HMAC_MD5, respectively.
7683
7684         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
7685         (gc_md5): Fix typo.
7686
7687         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
7688
7689         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
7690
7691         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
7692
7693 2005-10-12  Bruno Haible  <bruno@clisp.org>
7694
7695         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
7696         Reported by Stepan Kasal <kasal@ucw.cz>.
7697
7698 2005-10-11  Simon Josefsson  <jas@extundo.com>
7699
7700         * tests/test-crc.c: New file.
7701
7702         * modules/crc, modules/crc-tests: New files.
7703
7704 2005-10-11  Simon Josefsson  <jas@extundo.com>
7705
7706         * m4/crc.m4: New file.
7707
7708 2005-10-11  Simon Josefsson  <jas@extundo.com>
7709
7710         * lib/gc.h: Add gc_hash and gc_hash_buffer.
7711
7712         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
7713
7714         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
7715
7716 2005-10-11  Simon Josefsson  <jas@extundo.com>
7717
7718         * lib/crc.h, crc.c: New files.
7719
7720         * lib/gc.h (gc_hash_buffer): Add doc.
7721
7722 2005-10-11  Bruno Haible  <bruno@clisp.org>
7723
7724         * modules/c-strcasestr: New file.
7725         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
7726
7727 2005-10-11  Bruno Haible  <bruno@clisp.org>
7728
7729         * modules/c-strcase: New file.
7730         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
7731
7732 2005-10-11  Bruno Haible  <bruno@clisp.org>
7733
7734         * lib/strcasecmp.c: Include limits.h.
7735         (strcasecmp): Avoid integer overflow on exotic platforms.
7736         * lib/strncasecmp.c: Include limits.h.
7737         (strncasecmp): Avoid integer overflow on exotic platforms.
7738         Reported by Paul Eggert.
7739
7740 2005-10-11  Bruno Haible  <bruno@clisp.org>
7741
7742         * lib/c-strcasestr.h: New file, from GNU gettext.
7743         * lib/c-strcasestr.c: New file, from GNU gettext.
7744
7745 2005-10-11  Bruno Haible  <bruno@clisp.org>
7746
7747         * lib/c-strcase.h: New file, from GNU gettext.
7748         * lib/c-strcasecmp.c: New file, from GNU gettext.
7749         * lib/c-strncasecmp.c: New file, from GNU gettext.
7750
7751 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
7752
7753         * modules/mempcpy (License): GPL -> LGPL.
7754         * modules/strchrnul (License): Likewise.
7755         * modules/sysexits (License): Likewise.
7756
7757 2005-10-08  Simon Josefsson  <jas@extundo.com>
7758
7759         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
7760
7761 2005-10-07  Simon Josefsson  <jas@extundo.com>
7762
7763         * m4/memxor.m4: Remove gl_C_RESTRICT call.
7764
7765 2005-10-06  Simon Josefsson  <jas@extundo.com>
7766
7767         * tests/test-hmac-md5.c: New file.
7768
7769         * modules/hmac-md5-tests: New file.
7770
7771         * modules/hmac-md5: New file.
7772
7773 2005-10-06  Simon Josefsson  <jas@extundo.com>
7774
7775         * m4/hmac-md5.m4: New file.
7776
7777         * m4/memxor.m4: Require gl_C_RESTRICT.
7778
7779 2005-10-06  Simon Josefsson  <jas@extundo.com>
7780
7781         * lib/memxor.c (memxor): Avoid casts and warnings.
7782
7783 2005-10-06  Simon Josefsson  <jas@extundo.com>
7784
7785         * lib/hmac-md5.c: New file.
7786
7787         * lib/hmac.h: New file.
7788
7789 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
7790
7791         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
7792         promotes to int, not unsigned int, to catch the AIX 5.3
7793         compiler bug.
7794
7795 2005-10-05  Simon Josefsson  <jas@extundo.com>
7796
7797         * modules/memxor: New file.
7798
7799         * modules/iconv (Files): Move config.rpath to havelib, it is used
7800         there.
7801
7802         * modules/havelib (Files): Add config.rpath.
7803
7804 2005-10-05  Simon Josefsson  <jas@extundo.com>
7805
7806         * m4/memxor.m4: New file.
7807
7808 2005-10-05  Simon Josefsson  <jas@extundo.com>
7809
7810         * lib/memxor.c (memxor): Fix compiler error.
7811
7812         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
7813         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
7814
7815         * lib/memxor.h, memxor.c: New files.
7816
7817         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
7818         we assume all systems have it, suggested by Jim Meyering
7819         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
7820         any systems lack sys/socket.h; mingw32 is known to lack it, but we
7821         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
7822         same reasons.
7823
7824 2005-10-05  Simon Josefsson  <jas@extundo.com>
7825
7826         * config/srclist.txt: Add glibc bug 1423 for md5.h.
7827
7828 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
7829
7830         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
7831         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
7832         needed, since the source code now assumes these .h files.
7833
7834 2005-10-05  Derek Price  <derek@ximbiot.com>
7835
7836         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
7837
7838 2005-10-05  Bruno Haible  <bruno@clisp.org>
7839
7840         * modules/stdint (License): Change to LGPL.
7841
7842 2005-10-04  Simon Josefsson  <jas@extundo.com>
7843
7844         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
7845         D. Baushke" <mdb@gnu.org>.
7846
7847 2005-10-04  Bruno Haible  <bruno@clisp.org>
7848
7849         * lib/verify.h (verify_true): Provide alternative definition for C++.
7850
7851 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
7852
7853         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
7854         (SSIZE_MAX): New macro, if not already defined.
7855         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
7856         than 2 GiB.
7857
7858 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
7859
7860         Sync from coreutils.
7861         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
7862         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
7863         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
7864         ULLONG_MAX doesn't work with 2.7.2.1.
7865
7866 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
7867
7868         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
7869         From Ben Pfaff.
7870
7871         * modules/exclude (Depends-on): Depend on verify.
7872         * modules/strtoimax (Depends-on): Likewise.
7873         * modules/utimecmp (Depends-on): Likewise.
7874
7875 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
7876
7877         * lib/exclude.c: Include verify.h.
7878         (verify): Remove.  All callers changed to use verify.h's version.
7879         * lib/strtoimax.c: Likewise.
7880         * lib/utimecmp.c: Likewis.e
7881
7882         Sync from coreutils.
7883         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
7884         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
7885         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
7886         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
7887         bother returning ENOSYS if settimeofday or stime fails; just let
7888         them return whatever errno they want to return.
7889         * lib/utimens.c: Include unistd.h, for dup2.
7890         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
7891         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
7892
7893 2005-10-02  Jim Meyering  <jim@meyering.net>
7894
7895         Sync from coreutils.
7896         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
7897         from glibc-2.2.5 that fails for read-only files.
7898
7899 2005-10-02  Jim Meyering  <jim@meyering.net>
7900
7901         Sync from coreutils.
7902         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
7903         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
7904         `#if HAVE_CONFIG_H'.
7905         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
7906         Remove AT_FDCWD test.
7907         Do not consume the fd unless successful.
7908         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
7909         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
7910         block, so that we don't even try to compile it if settimeofday is
7911         available.  This works around a compilation failure on OSF1 V5.1,
7912         due to stime requiring a `long int*' while tv_sec is `int'.
7913
7914 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
7915
7916         Sync from coreutils.
7917         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
7918         against `yes', rather than just testing for nonempty.
7919
7920 2005-10-01  Simon Josefsson  <jas@extundo.com>
7921
7922         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
7923         and Darwin.
7924
7925         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
7926         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
7927         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
7928         freeaddrinfo and gai_strerror are declared by the POSIX headers.
7929         Check if struct addrinfo is declared.
7930
7931 2005-10-01  Simon Josefsson  <jas@extundo.com>
7932
7933         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
7934         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
7935         AI_* and EAI_* definitions.  Protect function declarations.
7936
7937 2005-10-01  Jim Meyering  <jim@meyering.net>
7938
7939         Sync from coreutils.
7940
7941         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
7942         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
7943         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
7944         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
7945         in the inet and nsl libraries.  Required on Solaris 5.7.
7946
7947 2005-10-01  Jim Meyering  <jim@meyering.net>
7948
7949         Sync from coreutils.
7950         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
7951         in the inet and nsl libraries.  Required on Solaris 5.7.
7952
7953 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
7954
7955         * lib/getdelim.c (getdelim): Remove unused variables.
7956
7957 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
7958
7959         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
7960         so that the code works even with ancient cpp.  Portability problem
7961         with GCC 2.7.2.1 reported by Thomas M.Ott.
7962
7963 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
7964
7965         * modules/regex (Depends-on): Add strcase.
7966
7967         * modules/gethostname (Licence): Change from GPL to LGPL, since
7968         gethostname.c is a trivial implementation of a standard library
7969         function.
7970         * modules/poll (License): Change from GPL to LGPL, since it's
7971         derived from LGPL code.
7972
7973 2005-09-27  Jim Meyering  <jim@meyering.net>
7974
7975         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
7976         HAVE_CONFIG_H.
7977
7978         * lib/intprops.h (signed_type_or_expr__): Define.
7979         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
7980         for unsigned types.
7981
7982 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
7983
7984         * lib/verify.h (verify_expr): Remove, replacing with:
7985         (verify_true): New macro that returns true instead of void.
7986         (verify_type__): Remove.
7987         (verify): Use verify_true rather than verify_type__.
7988
7989 2005-09-26  Bruno Haible  <bruno@clisp.org>
7990
7991         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
7992         is necessary.
7993         (lib_SOURCES): Remove mbchar.c.
7994         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
7995         (Files): Add m4/mbrtowc.m4.
7996         * modules/mbiter: Likewise.
7997         * modules/mbuiter: Likewise.
7998
7999 2005-09-26  Bruno Haible  <bruno@clisp.org>
8000
8001         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
8002         compile mbchar.c if they are not both present.
8003         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
8004         * m4/mbiter.m4 (gl_MBITER): Likewise.
8005         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
8006         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
8007         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
8008
8009 2005-09-25  Jim Meyering  <jim@meyering.net>
8010
8011         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
8012         also uses socklen_t.
8013
8014 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
8015
8016         * lib/utimens.c (ENOSYS): Define if not already defined.
8017         (futimens): Support having a null PATH if the file descriptor
8018         is nonnegative.
8019
8020         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
8021         Remove.
8022         (__attribute): Define to empty unless GCC 3.1 or later.
8023         This works around a core dump on OpenBSD 3.4, which has GCC
8024         2.95.3, which dumps core when given __attribute__(()).  It also
8025         simplifies other tests, since we really don't want to bother with
8026         worrying about which ancient version of GCC supported what.
8027         Original problem reported by Yoann Vandoorselaere, with part of
8028         the fix suggested by Derek Price.
8029
8030 2005-09-24  Jim Meyering  <jim@meyering.net>
8031
8032         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
8033         so we can once again use a positive bitfield width of 1 -- now we
8034         don't have to explain why we were using a bitfield width of 2.
8035
8036 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8037
8038         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
8039         and similarly for the other external symbols.  Problem reported
8040         by James Gallager.
8041
8042         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
8043         bug reported by Jim Meyering.
8044
8045         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
8046         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
8047         not needed, since socklen is a prerequisite module.
8048
8049 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
8050
8051         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
8052         Problem reported by Eric Blake.
8053         (getaddrinfo): Initialize se so that it's not garbage.
8054         Redo internal storage allocation so that it doesn't make unportable
8055         assumptions about alignment.
8056         Fix a memory leak.
8057
8058         * lib/utimens.c (futimens): Use futimesat if available.
8059         Prefer it to futimes since it doesn't have the futimes bug.
8060
8061         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
8062         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
8063         Instead, declare a function that returns a pointer to an array,
8064         and use verify_type__ to declare the size of the array.
8065         Problem and germ of a solution reported by Bruno Haible.
8066         (verify_type__): Use 2, not 1, for bitfield size, to avoid
8067         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
8068
8069 2005-09-23  Jim Meyering  <jim@meyering.net>
8070
8071         Sync from coreutils.
8072         Correct build failure (socklen_t not defined) on at least
8073         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
8074         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
8075
8076 2005-09-23  Jim Meyering  <jim@meyering.net>
8077
8078         * modules/getaddrinfo (Depends-on): Add socklen.
8079
8080 2005-09-23  Bruno Haible  <bruno@clisp.org>
8081
8082         * tests/test-verify.c: New file.
8083
8084 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8085
8086         Sync from coreutils.
8087
8088         * modules/argmatch (Depends-on): Add verify.
8089         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
8090         unistd-safer.
8091         * modules/save-cwd (Depends-on): Likewise.
8092
8093         * modules/openat (Files): Add lib/openat-die.c.
8094         (Depends-on): Remove error, exitfail.
8095         Add dirname.
8096
8097         * modules/verify: New file.
8098         * MODULES.html.sh (Diagnostics <assert.h>): New section,
8099         with "verify" module.
8100
8101 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8102
8103         Sync from coreutils.
8104
8105         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
8106         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
8107         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
8108         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
8109         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
8110         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
8111         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
8112         Don't bother checking for string.h, stdlib.h, unistd.h.
8113         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
8114         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
8115         module's job.
8116         * m4/jm-macros.m4 (gl_MACROS): Likewise.
8117         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
8118
8119         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
8120         (gl_GETDATE): Use it.
8121
8122         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
8123
8124 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8125
8126         Sync from coreutils.
8127
8128         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
8129         stat-time.h.
8130         * lib/argmatch.h: Include verify.h
8131         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
8132         (ARGMATCH_ASSERT): Remove; unused.
8133         * lib/canonicalize.c: Assume STDC_HEADERS.
8134         * lib/exclude.c: Include "strcase.h".
8135         * lib/regex_internal.h [!defined _LIBC]: Likewise.
8136         * lib/getusershell.c: Include stdio--.h rather than stdio.h
8137         and stdio-safer.h.
8138         (getusershell): Call fopen, not fopen_safer.
8139         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
8140         Do not include unistd-safer.h.
8141         (save_cwd): Don't call fd_safer; no longer needed
8142         now that we include fcntl--.h.
8143
8144         * lib/getdate.y (relative_time): New type.
8145         (RELATIVE_TIME_0): New constant.
8146         (parser_control): Use relative_time instead of doing it ourselves.
8147         (%union): Add new relative_time rel member.
8148         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
8149         Now typeless.
8150         (relunit, relunit_snumber): Now of type rel.
8151         (zone, rel, relunit, get_date): Adjust to above changes.
8152
8153         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
8154         Do not include unistd-safer.h.
8155         (getloadavg): Don't call fd_safer; no longer needed
8156         now that we include fcntl--.h.
8157
8158         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
8159         (make_dir_parents): Treat ENOSYS like EEXIST.
8160
8161         Improve quality of diagnostics on restore_cwd failure.
8162         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
8163         (make_dir_parents): Last arg is now int * (for errno), not bool *.
8164         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
8165         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
8166         each time through the loop.  Do not diagnose restore_cwd failure;
8167         that is the caller's job (and perhaps the caller does not care).
8168
8169         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
8170         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
8171         If the file already exists but is not a directory, don't bother
8172         to try to make its parents.
8173         Close potential file descriptor leak if we can't chdir("/") (!).
8174         Don't always return true if chdir($PWD) fails; return true only
8175         if the requested action was done successfully (except for the
8176         chdir($PWD)).
8177         Don't log final directory unless we actually made it.
8178         Refactor to avoid duplicate code to fix up permissions.
8179         Don't attempt to fix up parent permissions if chdir($PWD) fails.
8180
8181         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
8182         to make it a bit faster and (I hope) clearer.
8183         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
8184         Fix bug in formats like %2N.
8185
8186         * lib/verify.h: New file.
8187
8188 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
8189
8190         Sync from coreutils.
8191         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
8192
8193 2005-09-22  Jim Meyering  <jim@meyering.net>
8194
8195         Sync from coreutils.
8196
8197         * m4/lstat.m4 (gl_FUNC_LSTAT):
8198         Use AC_LIBSOURCES to require lstat.c and lstat.h.
8199         Remove obsolete comment.
8200         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
8201         * m4/xstrtod.m4: Likewise.
8202
8203         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
8204
8205 2005-09-22  Jim Meyering  <jim@meyering.net>
8206
8207         Sync from coreutils.
8208
8209         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
8210
8211         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
8212         the .tm_year member, since otherwise gcc-4.0 would now warn about
8213         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
8214
8215         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
8216         order to avoid an unsuppressible warning from gcc on 64-bit systems.
8217
8218         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
8219         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
8220         when run in a time zone for which daylight savings time is in effect
8221         for the starting date.
8222
8223         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
8224         stop us from restricting permissions of just-created absolute-named
8225         directories.
8226         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
8227         to restore initial working directory.
8228         * lib/mkdir-p.c (make_dir_parents): New parameter:
8229         different_working_dir, to tell caller if/when we change the working
8230         directory and are unable to return to the initial one.
8231         * lib/mkdir-p.h (make_dir_parents): Update prototype.
8232         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
8233         `return false'.  This fixes a bug introduced on 2004-07-30.
8234
8235         * lib/openat.c (fdopendir): Be sure to close the supplied
8236         file descriptor before returning.  This makes our replacement
8237         implementation a little closer to Solaris's, where fdopendir
8238         ties the file descriptor to the returned DIR* pointer.
8239         * lib/openat.c (unlinkat): New function.
8240         * lib/openat.h (unlinkat): Add prototype.
8241         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
8242         (openat_restore_fail): Rename from openat_restore_die.
8243         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
8244
8245         Provide an alternative to exiting immediately upon save_cwd or
8246         restore_cwd failure.  Now, an application can arrange e.g.,
8247         to perform a longjump in that case.
8248         * lib/openat.c: Include dirname.h.
8249         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
8250         (rpl_openat, fdopendir, fstatat): Call openat_save_die
8251         and openat_restore_die rather than calling error directly.
8252         Don't include "error.h" or "exitfail.h"; they're no longer needed.
8253
8254         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
8255         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
8256         define.
8257
8258         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
8259         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
8260                             int utc, int nanoseconds);
8261         Background:
8262         date should not have to allocate a megabyte of virtual memory to
8263         handle a format argument like +%1048575T.  When implemented with
8264         strftime, it must allocate such a buffer, use strftime to fill it
8265         in, print it, then free it.
8266         With fprintftime, it simply prints everything and exits.
8267         With no need for memory allocation, that's one fewer way to fail.
8268         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
8269         optional field width, not before, so we accept %9:z, not %:9z.
8270         (my_strftime): Be sure to use L_('x') for literals.
8271
8272         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
8273         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
8274         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
8275         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
8276         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
8277         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
8278         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
8279         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
8280         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
8281         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
8282         * lib/xgethostname.c, lib/xreadlink.c:
8283         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
8284
8285         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
8286         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
8287         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
8288         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
8289         and don't include <sys/file.h>).
8290
8291 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
8292
8293         Sync from coreutils.
8294
8295         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
8296         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
8297         [!LDAV_DONE]: Avoid unused variable warning.
8298
8299 2005-09-21  Bruno Haible  <bruno@clisp.org>
8300
8301         * lib/unicodeio.h (unicode_to_mb): New declaration.
8302
8303 2005-09-20  Derek Price  <derek@ximbiot.com>
8304
8305         * lib/getaddrinfo.c: Don't include <netdb.h> included from
8306         getaddrinfo.h.
8307
8308 2005-09-20  Bruno Haible  <bruno@clisp.org>
8309
8310         * gnulib-tool: Remove trailing slashes from the values specified for
8311         --source-base, --m4-base, --tests-base, --aux-dir.
8312         Suggested by Simon Josefsson <jas@extundo.com>.
8313
8314 2005-09-20  Bruno Haible  <bruno@clisp.org>
8315
8316         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
8317         func_modules_to_filelist, func_import, func_create_testdir): Make all
8318         sorting results locale-independent, so that gnulib-cache.m4 doesn't
8319         change when gnulib-tool is invoked in a different locale.
8320
8321 2005-09-19  Simon Josefsson  <jas@extundo.com>
8322
8323         * m4/socklen.m4: Fix typo.
8324
8325 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8326
8327         Use a consistent style for including <config.h>.
8328         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
8329         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
8330         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
8331         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
8332         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
8333         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
8334         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
8335         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
8336         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
8337         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
8338         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
8339         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
8340         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
8341         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
8342         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
8343         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
8344         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
8345         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
8346         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
8347         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
8348         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
8349         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
8350         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
8351         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
8352         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
8353         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
8354         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
8355         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
8356         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
8357         lib/xstrtoumax.c, lib/yesno.c:
8358         Standardize inclusion of config.h.
8359         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
8360         lib/inttostr.h:  Removed inclusion of config.h from header files.
8361         * lib/inttostr.c:  Adjusted in-tree users.
8362         * lib/timespec.h: Remove superfluous warning to include config.h.
8363         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
8364         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
8365         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
8366         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
8367         config.h with HAVE_CONFIG_H.
8368
8369 2005-09-19  Jim Meyering  <jim@meyering.net>
8370
8371         * modules/pathmax (License): Change to LGPL.
8372
8373 2005-09-19  Derek Price  <derek@ximbiot.com>
8374
8375         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
8376
8377 2005-09-19  Bruno Haible  <bruno@clisp.org>
8378
8379         * gnulib-tool (import): Provide default for --tests-base.
8380
8381 2005-09-19  Bruno Haible  <bruno@clisp.org>
8382
8383         * doc/quote.texi: New file, extracted from gnulib.texi.
8384         * doc/ctime.texi: New file, extracted from gnulib.texi.
8385         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
8386         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
8387         * doc/gnulib.texi: Include them.
8388
8389 2005-09-18  Bruno Haible  <bruno@clisp.org>
8390
8391         Portability fix.
8392         * gnulib-tool (func_readlink): New function.
8393         (func_ln_if_changed): Use it.
8394
8395 2005-09-18  Bruno Haible  <bruno@clisp.org>
8396
8397         * gnulib-tool: Support --with-tests also with --import.
8398         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
8399         (func_import): Use variables $testsbase and $inctests. Emit a
8400         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
8401         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
8402         SUBDIRS += $testsdir.
8403         (func_create_testdir): Update.
8404
8405 2005-09-18  Bruno Haible  <bruno@clisp.org>
8406
8407         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
8408         instead of $dry_run.
8409         (func_cp_if_changed, func_mv_if_changed): Remove functions.
8410         (func_ln_if_changed): Don't handle dry-run here.
8411         (func_import): In dry-run mode, detect more precisely which actions
8412         would be performed, and don't use "...ing" verbs.
8413
8414 2005-09-18  Bruno Haible  <bruno@clisp.org>
8415
8416         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
8417         (func_import): Use join on two temporary files instead of three nested
8418         loops, in order to determine which files are new or old.
8419
8420 2005-09-18  Bruno Haible  <bruno@clisp.org>
8421
8422         * gnulib-tool (func_import): Comment out code that spits out the
8423         new files with --dry-run.
8424
8425 2005-09-18  Bruno Haible  <bruno@clisp.org>
8426
8427         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
8428
8429 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8430
8431         * lib/stat-time.h: New file.
8432         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
8433         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
8434         in a different way.
8435         (timespec_cmp): New function.
8436         * lib/utimecmp.c: Include stat-time.h.
8437         (SYSCALL_RESOLUTION): Depend on whether various struct stat
8438         members exist, not on the obsolescent ST_MTIM_NSEC.
8439         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
8440
8441 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8442
8443         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
8444
8445 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
8446
8447         * MODULES.html.sh (File system functions): Add stat-time.
8448         * modules/stat-time: New file.
8449         * modules/timespec (Files): Remove m4/st_mtim.m4; this
8450         is now done in a different way, by the stat-time module.
8451         * modules/utimecmp (Depends-on): Add stat-time.
8452
8453 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
8454
8455         * m4/st_mtim.m4: Remove.  Superseded by...
8456         * m4/stat-time.m4: New file.
8457         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
8458         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
8459
8460 2005-09-15  Derek Price  <derek@ximbiot.com>
8461
8462         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
8463
8464 2005-09-15  Derek Price  <derek@ximbiot.com>
8465
8466         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
8467         * lib/regex_internal.c: Ditto, using this...
8468         (__GNUC_PREREQ): ...new macro.
8469         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
8470         using...
8471         (__GNUC_PREREQ): ...this new macro.
8472
8473         * lib/strstr.h: Include string.h. Define strstr as a macro here.
8474
8475 2005-09-15  Derek Price  <derek@ximbiot.com>
8476             Paul Eggert  <eggert@cs.ucla.edu>
8477
8478         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
8479         changes, consolidating in...
8480         * lib/regex_internal.h: ...this file.
8481
8482 2005-09-13  Jim Meyering  <jim@meyering.net>
8483
8484         * lib/canon-host.c: Filter through gnu indent and reword comments
8485         slightly.
8486         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
8487
8488 2005-09-13  Derek Price  <derek@ximbiot.com>
8489
8490         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
8491         failure.
8492         Reported by Jim Meyering  <jim@meyering.net>.
8493
8494 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
8495
8496         * lib/base64.c: Typo.
8497         (base64_encode): Put b64str in initialized data section.
8498
8499 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8500
8501         Merge glibc and coreutils changes into gnulib, plus a few
8502         extra fixes.
8503         * lib/md5.c: Use #error rather than a string.
8504         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
8505         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
8506         (__attribute__): Define to empty for non recent-GCC.
8507         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
8508         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
8509         Renamed from their non-__ counterparts, with new macros replacing
8510         them if not _LIBC.  Add __THROW attribute.
8511         (rol): Remove.
8512         (struct md5_ctx): Align buffer if using GCC.
8513         * lib/sha1.h (struct sha1_ctx): Likewise.
8514         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
8515         The old name was backwards.
8516         (NOTSWAP): Remove; not used.
8517         (rol): New macro, moved here from md5.h.
8518         (sha1_process_block): Remove a FIXME that doesn't make sense.
8519
8520 2005-09-12  Derek Price  <derek@ximbiot.com>
8521
8522         Return usable errors from canon-host.
8523         * lib/canon-host.h: New file.
8524         * lib/canon-host.c (canon_host): Wrap...
8525         (canon_host_r): ...this new function, which now relies exclusively on
8526         getaddrinfo.
8527         (ch_strerror): New function.
8528         (last_cherror): New global.
8529         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
8530         interface.
8531         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
8532         void *.
8533         (freeaddrinfo): Free ai->ai_canonname when set.
8534
8535 2005-09-12  Derek Price  <derek@ximbiot.com>
8536
8537         Make canon-host require getaddrinfo.
8538         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
8539         AC_LIBSOURCE canon-host.h.  Call...
8540         (gl_PREREQ_CANON_HOST): ...this new function, which requires
8541         gl_GETADDRINFO.
8542         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
8543
8544 2005-09-12  Derek Price  <derek@ximbiot.com>
8545
8546         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
8547         LGPL.
8548         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
8549
8550 2005-09-12  Derek Price  <derek@ximbiot.com>
8551
8552         * lib/gai_strerror.c: Include config.h when available.  Include
8553         getaddrinfo.h before other headers to test interface.
8554         Reported by Larry Jones <lawrence.jones@ugs.com>.
8555
8556 2005-09-12  Derek Price  <derek@ximbiot.com>
8557             Paul Eggert  <eggert@cs.ucla.edu>
8558
8559         * modules/glob (Files): Add glob-libc.h.
8560
8561 2005-09-12  Derek Price  <derek@ximbiot.com>
8562             Paul Eggert  <eggert@cs.ucla.edu>
8563
8564         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
8565         glob_.h, glob-libc.h.
8566         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
8567
8568 2005-09-12  Derek Price  <derek@ximbiot.com>
8569             Paul Eggert  <eggert@cs.ucla.edu>
8570
8571         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
8572         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
8573         protecting things that should be done only in gnulib contexts.
8574         * lib/glob_.h: New file, containing only the glob things needed for
8575         gnulib.
8576         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
8577         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
8578         (glob, globfree, glob_pattern_p): Now defined simply in terms of
8579         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
8580         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
8581         and to respect the namespace rules better.
8582
8583 2005-09-08  Simon Josefsson  <jas@extundo.com>
8584
8585         * modules/socklen: New file.
8586
8587 2005-09-08  Simon Josefsson  <jas@extundo.com>
8588
8589         * m4/socklen.m4: New file.
8590
8591 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8592
8593         * modules/utimens (Files): Add m4/utimbuf.m4, since
8594         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
8595         Reported by Sergey Poznyakoff.
8596
8597 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8598
8599         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
8600         definitions, since that's the preferred style in glibc.
8601         Fix a minor spacing issue, and update copyright notice to match
8602         glibc's.
8603
8604 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8605
8606         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
8607
8608 2005-09-06  Simon Josefsson  <jas@extundo.com>
8609
8610         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
8611         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
8612
8613 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
8614
8615         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
8616         warning.
8617
8618 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
8619
8620         * config/srclist.txt: Add glibc bug 1302.
8621
8622 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8623
8624         Change bitset word type from unsigned int to unsigned long int,
8625         as this has better performance on typical 64-bit hosts.
8626         Port bitset code to hosts with unusual word sizes.
8627         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
8628         (build_collating_symbol):
8629         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
8630         argument is a bitset.  This is merely a style issue, but it makes
8631         it clearer that an entire array is expected.
8632         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
8633         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
8634         Port to the case where bitset_word is not the same as unsigned int.
8635         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
8636         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
8637         Likewise.
8638         * lib/regexec.c (check_dst_limits_calc_pos_1,
8639         check_subexp_matching_top):
8640         (build_trtable, group_nodes_into_DFAstates):
8641         Likewise.
8642         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
8643         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
8644         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
8645         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
8646         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
8647         * lib/regcomp.c (optimize_subexps, lower_subexp):
8648         Work even if bitset_word has holes in its bitwise representation.
8649         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
8650         * lib/regexec.c (check_dst_limits_calc_pos_1,
8651         check_subexp_matching_top):
8652         Likewise.
8653         * lib/regex_internal.c (re_string_reconstruct):
8654         Don't assume UCHAR_MAX == 255.
8655         * lib/regex_internal.h (bitset_set_all): Likewise.
8656         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
8657         All uses changed.
8658         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
8659         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
8660         All uses changed.
8661         (BITSET_WORD_MAX): New macro.
8662         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
8663         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
8664         (bitset_empty, bitset_copy):
8665         Prefer sizeof (bitset) to multiplying it out ourselves.
8666         (bitset_not_merge): Remove; unused.
8667         (bitset_contain): Return bool, not unsigned int with one bit on.
8668         All callers changed.
8669         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
8670         alignment than re_node_set; do this by defining a new internal
8671         type struct dests_alloc and using it to allocate memory.
8672
8673 2005-09-05  Bruno Haible  <bruno@clisp.org>
8674
8675         * gnulib-tool (func_import): Fix comparison in handling of symbolic
8676         links.
8677
8678 2005-09-04  Martin Lambers <marlam@marlam.de>  (tiny change)
8679
8680         * modules/size_max (Makefile.am): Add size_max.h
8681
8682 2005-09-04  Derek Price  <derek@ximbiot.com>
8683
8684         * gnulib-tool (func_import): Fix reversed $symbolic logic.
8685
8686 2005-09-03  Simon Josefsson  <jas@extundo.com>
8687
8688         * gnulib-tool: Fix typo.
8689
8690 2005-09-03  Simon Josefsson  <jas@extundo.com>
8691
8692         * config/srclist.txt: Add glibc bug 1293.
8693
8694 2005-09-03  Derek Price  <derek@ximbiot.com>
8695
8696         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
8697         From Larry Jones <lawrence.jones@ugs.com>.
8698
8699 2005-09-02  Simon Josefsson  <jas@extundo.com>
8700
8701         * modules/socklen: New file.
8702
8703 2005-09-02  Simon Josefsson  <jas@extundo.com>
8704
8705         * modules/havelib: New module.
8706
8707         * modules/gettext, modules/iconv, modules/lock, modules/readline:
8708         Use havelib.
8709
8710 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
8711
8712         Check for arithmetic overflow when calculating sizes, to prevent
8713         some buffer-overflow issues.  These patches are conservative, in the
8714         sense that when I couldn't determine whether an overflow was possible,
8715         I inserted a run-time check.
8716         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
8717         macros.
8718         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
8719         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
8720         (re_xnrealloc, re_x2nrealloc): New inline functions.
8721         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
8722         parse_bracket_exp):
8723         (build_equiv_class, build_charclass): Check for arithmetic overflow
8724         in size expression calculations.
8725         * lib/regex_internal.c (re_string_realloc_buffers):
8726         (build_wcs_upper_buffer, re_node_set_add_intersect):
8727         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
8728         (re_dfa_add_node, register_state): Likewise.
8729         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
8730         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
8731         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
8732         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
8733
8734 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
8735
8736         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
8737         m4/ulonglong.m4.  Problem reported by Martin Lambers.
8738
8739 2005-09-02  Bruno Haible  <bruno@clisp.org>
8740
8741         Support for lib vs. lib64 distinction on biarch platforms.
8742         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
8743         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
8744         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
8745
8746 2005-09-02  Bruno Haible  <bruno@clisp.org>
8747
8748         * gnulib-tool (import): In the other first-use case, provide defaults
8749         as well.
8750
8751 2005-09-02  Bruno Haible  <bruno@clisp.org>
8752
8753         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
8754         patches not yet found in the latest gettext release.
8755
8756 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8757
8758         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
8759         to avoid a collision with bits/local_lim.h in glibc.
8760         All uses changed.  Problem reported by Dmitry V. Levin in
8761         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
8762
8763         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
8764         bugs in int versus size_t comparisons.
8765         (re_string_context_at): Fix bug where the code assumed that
8766         Idx is signed.
8767
8768         Use bool where appropriate.
8769         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
8770         All callers changed.
8771         (calc_eclosure_iter): Likewise, for ROOT arg.
8772         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
8773         (build_charclass_op): Likewise, for NON_MATCH arg.
8774         * lib/regex_internal.c (re_string_allocate, re_string_construct):
8775         (re_string_construct_common): Likewise, for ICASE arg.
8776         * lib/regexec.c (re_search_2_stub, re_search_stub):
8777         Likewise, for RET_LEN arg.
8778         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
8779         (set_regs): Likewise, for FL_BACKTRACK arg.
8780         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
8781         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
8782         (calc_eclosure_iter, parse_bracket_exp):
8783         Use bool for internal variables that are booleans.
8784         * lib/regexec.c (re_search_internal, check_matching,
8785         proceed_next_node):
8786         (set_regs, build_sifted_states, sift_states_bkref):
8787         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
8788         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
8789         (find_collation_sequence_value):
8790         Likewise.
8791         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
8792         (re_node_set_compare):
8793         Return bool, not int. All callers changed.
8794         * lib/regexec.c (check_halt_node_context, check_dst_limits):
8795         (build_trtable, check_node_accept): Likewise.
8796         * lib/regex_internal.h: Include stdbool.h.
8797
8798         Fix bugs uncovered when converting to bool.
8799         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
8800         failure instead of charging ahead blindly.
8801         * lib/regex_internal.c (register_state): Likewise.
8802         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
8803         for freeing internal storage.
8804         (group_nodes_into_DFA_states): Use unsigned int, not int, for
8805         bitset pieces used as boolean, to avoid undefined behavior
8806         on hosts that do int overflow checking.
8807
8808 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8809
8810         * config/srclist.txt: Add glibc bugs 1285-1287.
8811
8812 2005-09-01  Jim Meyering  <jim@meyering.net>
8813
8814         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
8815         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
8816         Require gl_STAT_MACROS, too.
8817
8818 2005-09-01  Bruno Haible  <bruno@clisp.org>
8819
8820         * gnulib-tool (import): In the first-use case, provide defaults.
8821
8822 2005-09-01  Bruno Haible  <bruno@clisp.org>
8823
8824         * gnulib-tool (func_import): Remove the .tmp files.
8825
8826 2005-09-01  Bruno Haible  <bruno@clisp.org>
8827
8828         * gnulib-tool (func_import): Fix handling of symbolic links.
8829
8830 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8831
8832         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
8833         old glibc regex code mishandles strings longer than 2**31 bytes.
8834         This patch fixes this when the regex code is used in gnulib
8835         (i.e., outside glibc).
8836
8837         This patch should not affect the use of the regex code inside
8838         glibc.  No doubt this problem also needs to be handled for glibc
8839         as well, but the result will be an incompatible change to the
8840         glibc ABI, and the old ABI will have to be supported too.  That
8841         can be the the subject for another patch.
8842
8843         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
8844         governing whether the rest of this patch is active.  By default,
8845         the macro is disabled and the patch has no effect.
8846         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
8847         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
8848         (struct re_pattern_buffer, re_search, re_search_2, re_match):
8849         (re_match_2, re_set_registers): Use the new types.
8850         * lib/regex_internal.h (Idx, re_hashval_t): New types.
8851         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
8852         New macros.
8853         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
8854         (re_string_context_at, bin_tree_t, re_dfastate_t):
8855         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
8856         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
8857         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
8858         (re_string_char_size_at, re_string_wchar_at):
8859         (re_string_elem_size_at):
8860         Use the new types and macros to port to 64-bit hosts.
8861         Use unsigned types for internal values, so that the code
8862         mostly works even for arrays larger than SSIZE_MAX.
8863         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
8864         (search_duplicated_node, calc_eclosure_iter, fetch_number):
8865         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
8866         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
8867         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
8868         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
8869         (calc_inveclosure, parse_dup_op, build_range_exp):
8870         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
8871         (fetch_number, create_token_tree, mark_opt_subexp):
8872         Likewise.
8873         * lib/regex_internal.c (re_string_construct_common,
8874         create_ci_newstate):
8875         (create_cd_newstate, re_string_allocate, re_string_construct):
8876         (re_string_realloc_buffers, build_wcs_upper_buffer):
8877         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
8878         (re_string_reconstruct, re_string_peek_byte_case):
8879         (re_string_fetch_byte_case, re_string_context_at):
8880         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
8881         (re_node_set_init_copy, re_node_set_add_intersect):
8882         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
8883         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
8884         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
8885         (re_acquire_state, re_acquire_state_context, register_state):
8886         Likewise.
8887         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
8888         search_cur_bkref_entry):
8889         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
8890         (re_search_internal, re_search_2_stub, re_search_stub)
8891         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
8892         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
8893         (update_cur_sifted_state, check_dst_limits):
8894         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
8895         (check_subexp_limits, sift_states_bkref, merge_state_array):
8896         (check_subexp_matching_top, get_subexp, get_subexp_sub):
8897         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
8898         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
8899         (expand_bkref_cache, check_node_accept_bytes):
8900         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
8901         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
8902         (acquire_init_state_context, check_halt_node_context):
8903         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
8904         (sift_states_backward, clean_state_log_if_needed):
8905         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
8906         (find_recover_state, transit_state_sb, transit_state_mb):
8907         (transit_state_bkref, build_trtable, match_ctx_clean):
8908         Likewise.
8909         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
8910         to work around an assumption that REG_MISSING is negative.
8911
8912         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
8913         (seek_collating_symbol_entry) [defined _LIBC]:
8914         (lookup_collation_sequence_value) [defined _LIBC]:
8915         (build_range_exp, build_collating_symbol) [defined _LIBC]:
8916         Use prototypes rather than old-style function definitions.
8917         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
8918         (transit_state_sb) [0]:
8919         (find_collation_sequence_value) [defined _LIBC]: Likewise.
8920
8921         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
8922         rm_eo.
8923
8924         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
8925         (optimize_subexps, lower_subexp):
8926         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
8927         since the signed shift might overflow.  Use 1u<<31 instead.
8928         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
8929         Likewise.
8930         * lib/regexec.c (check_dst_limits_calc_pos_1,
8931         check_subexp_matching_top): Likewise.
8932
8933         * lib/regcomp.c (optimize_subexps, lower_subexp):
8934         Use CHAR_BIT rather than 8, for clarity.
8935         * lib/regexec.c (check_dst_limits_calc_pos_1):
8936         (check_subexp_matching_top): Likewise.
8937         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
8938         have to worry about portability issues when shifting it left.
8939         Remove no-longer-needed test for table_size > 0.
8940         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
8941         in a word, as the resulting behavior is undefined.
8942         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
8943         in one case, a <= should have been an <, and in another case the
8944         whole test was missing.
8945         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
8946         the standard name CHAR_BIT.
8947         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
8948         this is not true on one's complement and signed-magnitude hosts.
8949
8950         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
8951         next_last_offset.
8952         (struct re_dfa_t): Remove unused member states_alloc.
8953         * lib/regcomp.c (init_dfa): Don't initialize unused members.
8954
8955 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8956
8957         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
8958         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
8959         and large-file glibc and in 32-bit large-file Solaris.
8960
8961 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8962
8963         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
8964         lengths fit in regoff_t; this isn't true if regoff_t is the same
8965         width as size_t.
8966         * lib/regex.c (re_search_internal): 5th arg is LAST_START
8967         (= START + RANGE) instead of RANGE.  This avoids overflow
8968         problems when regoff_t is the same width as size_t.
8969         All callers changed.
8970         (re_search_2_stub): Check for overflow when adding the
8971         sizes of the two strings.
8972         (re_search_stub): Check for overflow when adding START
8973         to RANGE; if it occurs, substitute the extreme value.
8974
8975 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
8976
8977         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
8978
8979 2005-08-31  Jim Meyering  <jim@meyering.net>
8980
8981         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
8982         a pointer-to-const.
8983         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
8984         (register_state): Likewise.
8985         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
8986         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
8987         (group_nodes_into_DFAstates): Likewise.
8988
8989 2005-08-31  Jim Meyering  <jim@meyering.net>
8990
8991         * check-module: Add a FIXME comment.
8992
8993 2005-08-31  Eric Blake  <ebb9@byu.net>
8994
8995         * modules/unistd-safer (Files): Add unistd--.h.
8996         * modules/stdio-safer (Files): Add stdio--.h.
8997
8998 2005-08-31  Derek Price  <derek@ximbiot.com>
8999
9000         * lib/getdelim.c (getdelim): Return EOF on EOF.
9001         Reported by Larry Jones <lawrence.jones@ugs.com>.
9002
9003 2005-08-31  Bruno Haible  <bruno@clisp.org>
9004
9005         Avoid unnecessary diffs in the generated lib/Makefile.am.
9006         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
9007         the generated files.
9008         (func_import): Don't set cmd.
9009
9010 2005-08-31  Bruno Haible  <bruno@clisp.org>
9011
9012         * lib/strstr.c: Include <stddef.h>, for NULL.
9013         * lib/strcasestr.c: Likewise.
9014         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
9015
9016 2005-08-31  Bruno Haible  <bruno@clisp.org>
9017
9018         * gnulib-tool: New option --macro-prefix.
9019         (func_import): Use macro_prefix.
9020         (import): Handle option --macro-prefix.
9021
9022 2005-08-31  Bruno Haible  <bruno@clisp.org>
9023
9024         * gnulib-tool (import): Rename most ac_* variables to cached_*.
9025         Also use new variables cached_lgpl, cached_libtool.
9026
9027 2005-08-31  Bruno Haible  <bruno@clisp.org>
9028
9029         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
9030         always instantiating them.
9031
9032 2005-08-31  Bruno Haible  <bruno@clisp.org>
9033
9034         * gnulib-tool (func_import): Read the previous cached settings
9035         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
9036         earlier added by gnulib but are now dropped. Warn when a gnulib file
9037         overwrites a non-gnulib file.
9038
9039 2005-08-31  Bruno Haible  <bruno@clisp.org>
9040
9041         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
9042         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
9043         projects that don't keep autogenerated files in CVS. Put into
9044         actioncmd only the specified modules, not the transitive closure.
9045
9046 2005-08-31  Bruno Haible  <bruno@clisp.org>
9047
9048         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
9049         Create directories that shall be filled.
9050         (import): Don't look for gl_* macros in configure.ac. Recurse across
9051         all directories containing a gnulib-cache.m4 files, if meaningful.
9052
9053 2005-08-31  Bruno Haible  <bruno@clisp.org>
9054
9055         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
9056         (import): Set seen_libtool when we see gl_LIBTOOL.
9057
9058 2005-08-31  Bruno Haible  <bruno@clisp.org>
9059
9060         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
9061         declaration macro definitions from generated gnulib.m4.
9062
9063 2005-08-30  "Oskar Liljeblad" <oskar@osk.mine.nu>
9064
9065         * lib/iconvme.h: Add prototype for iconv_alloc.
9066
9067 2005-08-29  Simon Josefsson  <jas@extundo.com>
9068
9069         * lib/iconvme.c: Fix errno.
9070
9071 2005-08-29  Bruno Haible  <bruno@clisp.org>
9072
9073         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
9074         that it works when the directory contains spaces.
9075
9076 2005-08-29  Bruno Haible  <bruno@clisp.org>
9077
9078         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
9079
9080 2005-08-29  Bruno Haible  <bruno@clisp.org>
9081
9082         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
9083         Emit more advice.
9084
9085 2005-08-29  Bruno Haible  <bruno@clisp.org>
9086         and Stepan Kasal  <kasal@ucw.cz>
9087
9088         * check-module: If more parameters are given, check each of them
9089         separately; add more exceptions, as noted by Jim Meyering.
9090         (check_module): New procedure.
9091         (%exempt_header): Now contains all exceptions.
9092
9093 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
9094
9095         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
9096
9097 2005-08-29  "Oskar Liljeblad" <oskar@osk.mine.nu>
9098
9099         * lib/iconvme.c: Split iconv_string into iconv_alloc.
9100
9101 2005-08-28  Bruno Haible  <bruno@clisp.org>
9102
9103         * m4/gnulib-tool.m4: New file.
9104
9105 2005-08-27  Jim Meyering  <jim@meyering.net>
9106
9107         * modules/unistd-safer (Files): Add pipe-safer.c.
9108         * modules/fcntl-safer (Files): Add creat-safer.c.
9109
9110 2005-08-27  Jim Meyering  <jim@meyering.net>
9111
9112         * m4/stdlib-safer.m4: New file.  From coreutils.
9113         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
9114         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
9115         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
9116         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
9117         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
9118
9119 2005-08-27  Jim Meyering  <jim@meyering.net>
9120
9121         * lib/fopen-safer.c: Merge minor changes from coreutils.
9122         * lib/dup-safer.c: Likewise.
9123         * lib/fd-safer.c: Likewise.
9124
9125         Merge from coreutils.
9126         * lib/stdio--.h: New file.
9127         * lib/stdlib--.h: New file.
9128         * lib/mkstemp-safer.c: New file.
9129
9130         GNU tar needs these.
9131         * lib/pipe-safer.c: New file.
9132         * lib/creat-safer.c: New file.
9133         * lib/fcntl--.h (creat): Define to creat_safer.
9134         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
9135         * lib/unistd--.h (pipe): Define to pipe_safer.
9136         * lib/unistd-safer.h: Declare pipe_safer.
9137
9138 2005-08-26  Simon Josefsson  <jas@extundo.com>
9139
9140         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
9141         Haible <bruno@clisp.org>.
9142
9143 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
9144
9145         * lib/regex_internal.h: Remove all references to
9146         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
9147         or better.
9148         (bitset_not, bitset_merge, bitset_not_merge):
9149         (bitset_mask, re_string_allocate, re_string_construct):
9150         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
9151         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
9152         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
9153         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
9154         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
9155         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
9156         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
9157         (re_acquire_state_context):
9158         Remove unnecessary forward decls.
9159         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
9160         Put __attribute at function definition,
9161         now that the function decl has been removed.
9162         * lib/regex_internal.c (re_string_peek_byte_case):
9163         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
9164         Likewise.
9165
9166 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
9167
9168         * m4/regex.m4: Add AC_PREREQ(2.50).
9169         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
9170
9171 2005-08-25  Simon Josefsson  <jas@extundo.com>
9172
9173         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
9174         __fsetlocking.
9175
9176 2005-08-25  Simon Josefsson  <jas@extundo.com>
9177
9178         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
9179         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
9180         GLIBC specific code.
9181
9182 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9183
9184         Make regex safe for g++.  This fixes one real bug (an "err"
9185         that should have been "*err").  g++ problem reported by
9186         Sam Steingold.
9187         * lib/regex_internal.h (re_calloc): New macro, consistent with
9188         re_malloc etc.  All callers of calloc changed to use re_calloc.
9189         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
9190         not int.  All callers changed.
9191         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
9192         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
9193         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
9194         (find_recover_state): Change "err" to "*err"; this fixes what
9195         appears to be a real bug.
9196         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
9197         versus int.
9198
9199 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9200
9201         * modules/regex (Depends-on): Add malloc, since the code
9202         assumes that !malloc(0) means failure.
9203
9204 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9205
9206         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
9207
9208         alloca modernization/simplification for regex.
9209         * lib/regex.c: Remove portability cruft for alloca.  This no longer
9210         needs to be at the start of the file, and can be moved into
9211         regex_internal.h and simplified.
9212         * lib/regex_internal.h: Include <alloca.h>.
9213         (__libc_use_alloca) [!defined _LIBC]: New macro.
9214         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
9215         now works outside glibc.
9216
9217 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9218
9219         * config/srclist.txt: Add glibc bugs 1241, 1245.
9220
9221 2005-08-25  Jim Meyering  <jim@meyering.net>
9222
9223         * lib/open-safer.c: Include <config.h>.
9224         Otherwise, we'd lose LARGEFILE support in any file using
9225         e.g. "fcntl--.h"
9226
9227 2005-08-25  Bruno Haible  <bruno@clisp.org>
9228
9229         * m4/minmax.m4: Require autoconf 2.52.
9230         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
9231         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
9232         alternatives of translit over the alphabet.
9233         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
9234
9235 2005-08-24  Simon Josefsson  <jas@extundo.com>
9236
9237         * tests/test-getpass.c: New file.
9238
9239 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9240
9241         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
9242         for GNU regex features.
9243
9244 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9245
9246         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
9247         * lib/regex.h (regerror): Likewise.
9248
9249         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
9250         requires this.  (The code never needed it.)
9251
9252         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
9253         All uses of recently-renamed identifiers changed to use the new,
9254         POSIX-compliant names.  The code will build and run just fine
9255         without these changes, but it's better to eat our own dog food
9256         and use the standard-conforming names.
9257
9258         * lib/regex.h: Fix a multitude of POSIX name space violations.
9259         These changes have an effect only for programs that define
9260         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
9261         do not change anything for programs compiled in the normal way.
9262         Also, there is no effect on the ABI.
9263
9264         (_REGEX_SOURCE): New macro.
9265         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
9266         defined and _GNU_SOURCE is not; this fixes a name space violation.
9267
9268         Rename the following macros to obey POSIX requirements.
9269         The old names are still visible as macros if _REGEX_SOURCE is defined.
9270         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
9271         RE_BACKSLASH_ESCAPE_IN_LISTS.
9272         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
9273         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
9274         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
9275         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
9276         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
9277         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
9278         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
9279         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
9280         (REG_INTERVALS): renamed from RE_INTERVALS.
9281         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
9282         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
9283         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
9284         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
9285         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
9286         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
9287         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
9288         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
9289         RE_UNMATCHED_RIGHT_PAREN_ORD.
9290         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
9291         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
9292         (REG_DEBUG): renamed from RE_DEBUG.
9293         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
9294         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
9295         unusual, since we can't clash with the POSIX REG_ICASE.
9296         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
9297         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
9298         (REG_NO_SUB): renamed from RE_NO_SUB.
9299         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
9300         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
9301         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
9302         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
9303         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
9304         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
9305         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
9306         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
9307         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
9308         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
9309         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
9310         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
9311         RE_SYNTAX_POSIX_MINIMAL_BASIC.
9312         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
9313         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
9314         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
9315         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
9316         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
9317         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
9318         (REG_FIXED): Renamed from REGS_FIXED.
9319         (REG_NREGS): Renamed from RE_NREGS.
9320
9321         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
9322         of other REG_* macros, since POSIX says the user is allowed to
9323         #undef these macros selectively.
9324
9325         (reg_errcode_t): Update comment stating what other tables need
9326         to be consistent.
9327
9328         Rename the following enum values to obey POSIX requirements.
9329         The old names are still visible as macros.
9330         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
9331         is not defined, since GNU is supposed to be a superset of POSIX as
9332         much as possible, and since we want reg_errcode_t to be a signed
9333         type for implementation consistency.
9334         (_REG_NOERROR): Renamed from REG_NOERROR.
9335         (_REG_NOMATCH): Renamed from REG_NOMATCH.
9336         (_REG_BADPAT): Renamed from REG_BADPAT.
9337         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
9338         (_REG_ECTYPE): Renamed from REG_ECTYPE.
9339         (_REG_EESCAPE): Renamed from REG_EESCAPE.
9340         (_REG_ESUBREG): Renamed from REG_ESUBREG.
9341         (_REG_EBRACK): Renamed from REG_EBRACK.
9342         (_REG_EPAREN): Renamed from REG_EPAREN.
9343         (_REG_EBRACE): Renamed from REG_EBRACE.
9344         (_REG_BADBR): Renamed from REG_BADBR.
9345         (_REG_ERANGE): Renamed from REG_ERANGE.
9346         (_REG_ESPACE): Renamed from REG_ESPACE.
9347         (_REG_BADRPT): Renamed from REG_BADRPT.
9348         (_REG_EEND): Renamed from REG_EEND.
9349         (_REG_ESIZE): Renamed from REG_ESIZE.
9350         (_REG_ERPAREN): Renamed from REG_ERPAREN.
9351         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
9352         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
9353         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
9354         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
9355
9356         (_REG_RE_NAME, _REG_RM_NAME): New macros.
9357         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
9358         changed.  But support the old name if the new one is not defined
9359         and if _REGEX_SOURCE.
9360
9361         Change the following member names in struct re_pattern_buffer.
9362         The old names are still supported if !_REGEX_SOURCE.
9363         The new names are always supported, regardless of _REGEX_SOURCE.
9364         (re_buffer): Renamed from buffer.
9365         (re_allocated): Renamed from allocated.
9366         (re_used): Renamed from used.
9367         (re_syntax): Renamed from syntax.
9368         (re_fastmap): Renamed from fastmap.
9369         (re_translate): Renamed from translate.
9370         (re_can_be_null): Renamed from can_be_null.
9371         (re_regs_allocated): Renamed from regs_allocated.
9372         (re_fastmap_accurate): Renamed from fastmap_accurate.
9373         (re_no_sub): Renamed from no_sub.
9374         (re_not_bol): Renamed from not_bol.
9375         (re_not_eol): Renamed from not_eol.
9376         (re_newline_anchor): Renamed from newline_anchor.
9377
9378         Change the following member names in struct re_registers.
9379         The old names are still supported if !_REGEX_SOURCE.
9380         The new names are always supported, regardless of _REGEX_SOURCE.
9381         (rm_num_regs): Renamed from num_regs.
9382         (rm_start): Renamed from start.
9383         (rm_end): Renamed from end.
9384
9385         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
9386         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
9387         Prepend __ to parameter names.
9388
9389         Undo yesterday's changes.
9390
9391 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
9392
9393         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
9394         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
9395         lib/regex.c.
9396
9397 2005-08-24  Jim Meyering  <jim@meyering.net>
9398
9399         Sync from coreutils.
9400         * m4/fcntl-safer.m4: New file.
9401
9402         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
9403         and object files for this module.
9404
9405 2005-08-24  Jim Meyering  <jim@meyering.net>
9406
9407         Sync from coreutils.
9408         * lib/fcntl--.h, fcntl-safer.h, open-safer.c: New files.
9409
9410 2005-08-24  Jim Meyering  <jim@meyering.net>
9411
9412         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
9413         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
9414
9415 2005-08-24  Jim Meyering  <jim@meyering.net>
9416
9417         * modules/fcntl-safer: New module.
9418         * modules/fts (Depends-on): Add fcntl-safer.
9419         * MODULES.html.sh (File descriptor based Input/Output):
9420         Add fcntl-safer.
9421
9422 2005-08-24  Bruno Haible  <bruno@clisp.org>
9423
9424         Support for unit test modules.
9425         * modules/README: Mention tests modules.
9426         * modules/TEMPLATE-TESTS: New file.
9427         * gnulib-tool: New options --extract-tests-module, --with-tests and
9428         --tests-base (unused for the moment).
9429         (testsbase, inctests): New variables.
9430         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
9431         (func_verify_module): Exclude TEMPLATE-TESTS.
9432         (func_verify_nontests_module, func_verify_tests_module): New functions.
9433         (func_get_dependencies): Add implicit dependency for tests modules.
9434         (func_get_tests_module): New function.
9435         (func_modules_transitive_closure): When --with-tests was specified,
9436         include the unit tests as well, unless explicitly avoided.
9437         (func_emit_lib_Makefile_am): Ignore the tests modules here.
9438         (func_emit_tests_Makefile_am): New function.
9439         (func_create_testdir): When --with-tests was specified, emit a
9440         tests/ directory.
9441         * MODULES.html.sh (Future developments): Update.
9442
9443 2005-08-24  Bruno Haible  <bruno@clisp.org>
9444
9445         * modules/tls-tests: New file.
9446         * tests/test-tls.c: New file, from GNU gettext.
9447
9448 2005-08-24  Bruno Haible  <bruno@clisp.org>
9449
9450         * modules/lock-tests: New file.
9451         * tests/test-lock.c: New file, from GNU gettext.
9452
9453 2005-08-24  Bruno Haible  <bruno@clisp.org>
9454
9455         * lib/lock.h: Add multiple inclusion guard.
9456         * lib/tls.h: Add multiple inclusion guard.
9457
9458 2005-08-24  Bruno Haible  <bruno@clisp.org>
9459
9460         * gnulib-tool: Add support for the --aux-dir option to
9461         --create-testdir, --create-megatestdir, --test, --megatest.
9462         (func_create_testdir, func_create_megatestdir): Optionally emit a
9463         AC_CONFIG_AUX_DIR directive.
9464         (create-testdir, create-megatestdir, test, megatest): Provide a
9465         default value for $auxdir.
9466
9467 2005-08-24  Bruno Haible  <bruno@clisp.org>
9468
9469         * gnulib-tool (import): Use compound statement instead of subshell
9470         where possible.
9471
9472 2005-08-24  Bruno Haible  <bruno@clisp.org>
9473
9474         * gnulib-tool (import): Change --aux-dir default to "build-aux".
9475
9476 2005-08-24  Bruno Haible  <bruno@clisp.org>
9477
9478         * gnulib-tool (func_version): Update.
9479
9480 2005-08-24  Bruno Haible  <bruno@clisp.org>
9481
9482         * gnulib-tool (func_import, func_create_testdir,
9483         func_create_megatestdir): Quote all autoconf macro arguments.
9484
9485 2005-08-24  Bruno Haible  <bruno@clisp.org>
9486
9487         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
9488         option --force, because --force causes the aclocal.m4 of each
9489         subdirectory to be newer than the corresponding config.h.in.
9490
9491 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9492
9493         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
9494         All contents moved to gl_REGEX.
9495         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
9496         assume that it does.
9497
9498 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9499
9500         * lib/regex.h (REG_NOSYS)
9501         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
9502         Define, since POSIX requires it as of 2001.
9503         (_REG_ENOSYS)
9504         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
9505         New private symbol, used to keep the enum signed in all cases.
9506         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
9507         Youngman in
9508         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
9509
9510         * lib/regex_internal.c (re_string_skip_chars, register_state):
9511         (calc_state_hash):
9512         Remove forward decls; no longer needed now that we use prototypes.
9513         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
9514         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
9515         (clean_state_log_if_needed): Likewise.
9516
9517 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
9518
9519         * config/srclist.txt: Add glibc bugs 1231-1233.
9520
9521 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9522
9523         Fix problems reported by Sam Steingold in
9524         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
9525         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
9526         assumed that reg_errcode_t is a signed type, which is not
9527         necessarily true if _XOPEN_SOURCE is not defined.
9528         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
9529         since some compilers warn about it otherwise.
9530
9531 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9532
9533         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
9534         (init_word_char, create_initial_state, duplicate_node_closure):
9535         (fetch_token, peek_token_bracket, build_range_exp):
9536         (build_collating_symbol): Remove forward decls; no longer needed
9537         now that we use prototypes.
9538
9539         * lib/regcomp.c:
9540         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
9541         (re_compile_fastmap_iter, regcomp, regerror, regfree):
9542         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
9543         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
9544         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
9545         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
9546         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
9547         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
9548         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
9549         (build_range_exp, build_collating_symbol, parse_bracket_exp):
9550         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
9551         (build_charclass, build_charclass_op, fetch_number, create_tree):
9552         (create_token_tree, mark_opt_subexp, duplicate_tree):
9553         Use prototypes rather than old-style definitions.
9554
9555         * lib/regex_internal.c:
9556         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
9557         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
9558         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
9559         (re_string_reconstruct, re_string_peek_byte_case):
9560         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
9561         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
9562         (re_node_set_init_copy, re_node_set_add_intersect):
9563         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
9564         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
9565         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
9566         (re_acquire_state, re_acquire_state_context, register_state):
9567         (create_ci_newstate, create_cd_newstate, free_state):
9568         Likewise.
9569         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
9570         re_search_2):
9571         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
9572         (re_search_internal, prune_impossible_nodes):
9573         (acquire_init_state_context, check_matching, static):
9574         (check_halt_node_context, check_halt_state_context, proceed_next_node):
9575         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
9576         (update_regs, sift_states_backward, build_sifted_states):
9577         (clean_state_log_if_needed, merge_state_array):
9578         (update_cur_sifted_state, add_epsilon_src_nodes):
9579         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
9580         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
9581         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
9582         (find_recover_state, check_subexp_matching_top, transit_state_mb):
9583         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
9584         (check_arrival, check_arrival_add_next_nodes):
9585         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
9586         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
9587         (check_node_accept_bytes, check_node_accept, extend_buffers):
9588         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
9589         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
9590         (sift_ctx_init):
9591         Likewise.
9592
9593         * lib/regex_internal.h:
9594         (re_string_allocate, re_string_construct, re_string_reconstruct):
9595         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
9596         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
9597         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
9598         (re_string_context_at, re_string_peek_byte_case):
9599         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
9600         is defined, since we now use prototypes always.
9601
9602         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
9603         C89 or better.  All uses removed.
9604
9605 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
9606
9607         * config/srclist.txt: Add glibc bugs 1220-1227.
9608
9609 2005-08-20  Jim Meyering  <jim@meyering.net>
9610
9611         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
9612         of unused local, dfa.
9613
9614 2005-08-20  Bruno Haible  <bruno@clisp.org>
9615
9616         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
9617
9618 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
9619
9620         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
9621         (re_node_set_insert_last, re_dfa_add_node):
9622         Rename local variables to avoid GCC shadowing warnings.
9623
9624 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
9625
9626         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
9627         [defined lint]: Suppress bogus uninitialized-variable warnings.
9628
9629         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
9630         and let the caller return REG_ESPACE if out of space.  This
9631         removes an uninitialied-variable warning with GCC 4.0.1, and also
9632         avoids taking the address of a local variable.  All callers
9633         changed.
9634
9635 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
9636
9637         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
9638         $LIBCSRC/posix/regexec.c.
9639         Add glibc bug 1217 for regcomp.c.
9640
9641 2005-08-19  Jim Meyering  <jim@meyering.net>
9642
9643         * lib/regexec.c (proceed_next_node): Redo local variables to
9644         avoid GCC shadowing warnings.
9645
9646 2005-08-18  Bruno Haible  <bruno@clisp.org>
9647
9648         * lib/strstr.c (strstr): Fix return value in multibyte case.
9649         * lib/strcasestr.c (strcasestr): Likewise.
9650
9651 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
9652
9653         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
9654
9655 2005-08-17  Jim Meyering  <jim@meyering.net>
9656
9657         Make the %s format (seconds since the epoch) work for a negative
9658         number and when used with a zero-padded field width, e.g. %015s.
9659
9660         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
9661         label so that it precedes the code to set `digits'.  Otherwise,
9662         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
9663         print `00-22'.  Now, it prints `-0022', as it should.
9664
9665 2005-08-17  Bruno Haible  <bruno@clisp.org>
9666
9667         * modules/strstr (Files): Add m4/mbrtowc.m4.
9668         (Depends-on): Add mbuiter.
9669
9670 2005-08-17  Bruno Haible  <bruno@clisp.org>
9671
9672         * modules/strcasestr: New file.
9673         * MODULES.html.sh (String handling, based on ANSI C 89): Add
9674         strcasestr.
9675
9676 2005-08-17  Bruno Haible  <bruno@clisp.org>
9677
9678         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
9679
9680 2005-08-17  Bruno Haible  <bruno@clisp.org>
9681
9682         * modules/mbuiter: New file.
9683         * MODULES.html.sh (Extended multibyte and wide character utilities):
9684         Add mbuiter.
9685
9686 2005-08-17  Bruno Haible  <bruno@clisp.org>
9687
9688         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
9689         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
9690
9691 2005-08-17  Bruno Haible  <bruno@clisp.org>
9692
9693         * m4/strcasestr.m4: New file.
9694
9695 2005-08-17  Bruno Haible  <bruno@clisp.org>
9696
9697         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
9698         * lib/strstr.c: Completely rewritten, with multibyte locale support.
9699
9700 2005-08-17  Bruno Haible  <bruno@clisp.org>
9701
9702         * lib/strcasestr.h: New file.
9703         * lib/strcasestr.c: New file.
9704
9705 2005-08-17  Bruno Haible  <bruno@clisp.org>
9706
9707         * lib/strcasecmp.c: Use mbuiter.h.
9708
9709 2005-08-17  Bruno Haible  <bruno@clisp.org>
9710
9711         * lib/mbuiter.h: New file.
9712
9713 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
9714
9715         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
9716         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
9717         and gl_GETOPT are both invoked via different paths (as happens
9718         with GNU tar CVS because it uses both argp and getopt), the former
9719         wins.
9720
9721 2005-08-16  Bruno Haible  <bruno@clisp.org>
9722
9723         * modules/tls: New file.
9724         * MODULES.html.sh (Multithreading): Add tls.
9725
9726 2005-08-16  Bruno Haible  <bruno@clisp.org>
9727
9728         * modules/strnlen1: New file.
9729         * MODULES.html.sh (String handling): Add strnlen1.
9730
9731 2005-08-16  Bruno Haible  <bruno@clisp.org>
9732
9733         * modules/strcase (Files): Add m4/mbrtowc.m4.
9734         (Depends-on): Add strnlen1, mbchar.
9735
9736 2005-08-16  Bruno Haible  <bruno@clisp.org>
9737
9738         * modules/mbiter: New file.
9739         * MODULES.html.sh (Extended multibyte and wide character utilities):
9740         Add mbiter.
9741
9742 2005-08-16  Bruno Haible  <bruno@clisp.org>
9743
9744         * modules/mbfile: New file.
9745         * MODULES.html.sh (Extended multibyte and wide character utilities):
9746         Add mbfile.
9747
9748 2005-08-16  Bruno Haible  <bruno@clisp.org>
9749
9750         * modules/mbchar: New file.
9751         * MODULES.html.sh (Extended multibyte and wide character utilities):
9752         New section.
9753
9754 2005-08-16  Bruno Haible  <bruno@clisp.org>
9755
9756         * m4/tls.m4: New file, from GNU gettext.
9757
9758 2005-08-16  Bruno Haible  <bruno@clisp.org>
9759
9760         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
9761         always.
9762         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
9763
9764 2005-08-16  Bruno Haible  <bruno@clisp.org>
9765
9766         * m4/mbiter.m4: New file.
9767
9768 2005-08-16  Bruno Haible  <bruno@clisp.org>
9769
9770         * m4/mbfile.m4: New file.
9771
9772 2005-08-16  Bruno Haible  <bruno@clisp.org>
9773
9774         * m4/mbchar.m4: New file.
9775
9776 2005-08-16  Bruno Haible  <bruno@clisp.org>
9777
9778         * lib/tls.h: New file, from GNU gettext.
9779         * lib/tls.c: New file, from GNU gettext.
9780
9781 2005-08-16  Bruno Haible  <bruno@clisp.org>
9782
9783         * lib/strnlen1.h: New file.
9784         * lib/strnlen1.c: New file.
9785
9786 2005-08-16  Bruno Haible  <bruno@clisp.org>
9787
9788         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
9789         (mbi_init): Update.
9790         (mbi_avail, mbi_advance): Let the iteration end before the terminating
9791         NUL byte, not after it.
9792
9793 2005-08-16  Bruno Haible  <bruno@clisp.org>
9794
9795         * lib/strcase.h (strcasecmp): Add note in comments.
9796         * lib/strncasecmp.c: Use code from strcasecmp.c.
9797         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
9798         (strcasecmp): Work correctly in multibyte locales.
9799
9800 2005-08-16  Bruno Haible  <bruno@clisp.org>
9801
9802         * lib/mbiter.h: New file.
9803
9804 2005-08-16  Bruno Haible  <bruno@clisp.org>
9805
9806         * lib/mbfile.h: New file.
9807
9808 2005-08-16  Bruno Haible  <bruno@clisp.org>
9809
9810         * lib/mbchar.h: New file.
9811         * lib/mbchar.c: New file.
9812
9813 2005-08-16  Bruno Haible  <bruno@clisp.org>
9814
9815         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
9816         the valid ones. Makes the comparison operations transitive:
9817         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
9818         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
9819
9820 2005-08-15  Simon Josefsson  <jas@extundo.com>
9821
9822         * modules/ssize_t (License): Change to 'unlimited'.
9823
9824         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
9825
9826 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
9827
9828         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
9829         Add comments for each pending glibc patch.
9830
9831 2005-08-15  Bruno Haible  <bruno@clisp.org>
9832
9833         * lib/regex.h (__restrict_arr): Don't define to __restrict if
9834         __cplusplus is defined.
9835
9836 2005-08-14  Jim Meyering  <jim@meyering.net>
9837
9838         Sync from coreutils.
9839
9840         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
9841         Use the hash-table-based cycle-detection code not just when
9842         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
9843         Reported by James Youngman in
9844         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
9845         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
9846         FTS_TIGHT_CYCLE_CHECK.
9847         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
9848         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
9849         once again.
9850         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
9851         * lib/fts.c (fd_safer): Remove decl.
9852         Include fcntl--.h rather than unistd-safer.h
9853         (fts_safe_changedir): Don't call fd_safer; no longer needed
9854         now that we include fcntl--.h.
9855
9856 2005-08-12  Simon Josefsson  <jas@extundo.com>
9857
9858         * modules/getndelim2: Use ssize_t module.
9859         * modules/getnline: Likewise.
9860         * modules/safe-read: Likewise.
9861         * modules/xreadlink: Likewise.
9862
9863         * modules/ssize_t: New file.
9864
9865 2005-08-12  Simon Josefsson  <jas@extundo.com>
9866
9867         * m4/readline.m4: Look for termcap, curses or ncurses if required.
9868
9869 2005-08-12  Simon Josefsson  <jas@extundo.com>
9870
9871         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
9872         ssize_t.
9873
9874 2005-08-12  Simon Josefsson  <jas@extundo.com>
9875
9876         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
9877         readline, getdelim and check_version.
9878         (Support for systems lacking ISO C 99: Sizes of integer types):
9879         Add size_max.
9880
9881 2005-08-12  Bruno Haible  <bruno@clisp.org>
9882
9883         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
9884
9885 2005-08-11  Simon Josefsson  <jas@extundo.com>
9886
9887         * modules/readline: New file.
9888
9889         * modules/strnlen (Files): Add strnlen.h.
9890
9891 2005-08-11  Simon Josefsson  <jas@extundo.com>
9892
9893         * m4/readline.m4: New file.
9894
9895 2005-08-11  Simon Josefsson  <jas@extundo.com>
9896
9897         * lib/readline.h, readline.c: New file.
9898
9899 2005-08-11  Simon Josefsson  <jas@extundo.com>
9900
9901         * doc/gnulib.texi (Initial import, Finishing touches): Mention
9902         gl_AVOID.
9903
9904 2005-08-11  Bruno Haible  <bruno@clisp.org>
9905
9906         * lib/strnlen.h (strnlen): Change parameter name to match comment.
9907
9908 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
9909
9910         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
9911
9912 2005-08-10  Simon Josefsson  <jas@extundo.com>
9913
9914         * tests/test-iconvme.c: New file.
9915
9916 2005-08-10  Simon Josefsson  <jas@extundo.com>
9917
9918         * m4/strnlen.m4: New file.
9919
9920         * m4/strndup.m4: Don't check for strnlen declaration, done in
9921         strnlen.m4.
9922
9923 2005-08-10  Simon Josefsson  <jas@extundo.com>
9924
9925         * lib/strndup.c: Use strnlen.h.
9926
9927         * lib/strnlen.h: New file.
9928
9929 2005-08-08  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>  (tiny change)
9930
9931         * README: Typos.
9932
9933 2005-08-02  Simon Josefsson  <jas@extundo.com>
9934
9935         * modules/readline: New file.
9936
9937 2005-08-02  Simon Josefsson  <jas@extundo.com>
9938
9939         * modules/getdelim: New file.
9940
9941         * modules/getline: Rewrite, don't use getndelim2.
9942
9943 2005-08-02  Simon Josefsson  <jas@extundo.com>
9944
9945         * m4/getline.m4: Separate out getdelim stuff into separate module.
9946
9947         * m4/getdelim.m4: New file.
9948
9949 2005-08-02  Simon Josefsson  <jas@extundo.com>
9950
9951         * lib/getline.h, getline.c: Rewrite.
9952
9953         * lib/getdelim.h, getdelim.c: New files, ported from glibc.
9954
9955 2005-07-31  Bruno Haible  <bruno@clisp.org>
9956
9957         * lib/lock.h (gl_lock_initializer): New macro.
9958         (gl_lock_define_initialized): Use it.
9959         (gl_rwlock_initializer): New macro.
9960         (gl_rwlock_define_initialized): Use it.
9961         (gl_recursive_lock_initializer): New macro.
9962         (gl_recursive_lock_define_initialized): Use it.
9963
9964 2005-07-30  Karl Berry  <karl@gnu.org>
9965
9966         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
9967         Report from Ben Pfaff, regarding getopt.
9968
9969 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
9970
9971         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
9972         normal way.
9973         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
9974         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
9975         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
9976         (gl_GETOPT): Use the new macros.  Most of the implementation
9977         is moved to the new macros.  This is for programs like Emacs
9978         that don't want all the functionality of gl_GETOPT.
9979
9980 2005-07-26  Bruno Haible  <bruno@clisp.org>
9981
9982         * m4/lock.m4: Update from GNU gettext.
9983
9984 2005-07-26  Bruno Haible  <bruno@clisp.org>
9985
9986         * lib/lock.h: Update from GNU gettext.
9987         * lib/lock.c: Update from GNU gettext.
9988
9989 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9990
9991         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
9992         obsolescent AC_TRY_RUN.  Include the default includes files, for
9993         'exit'.
9994
9995 2005-07-24  Bruno Haible  <bruno@clisp.org>
9996
9997         * modules/visibility: New file.
9998         * MODULES.html.sh (Misc): Add visibility.
9999
10000 2005-07-24  Bruno Haible  <bruno@clisp.org>
10001
10002         * m4/visibility.m4: New file.
10003
10004 2005-07-24  Bruno Haible  <bruno@clisp.org>
10005
10006         * doc/visibility.texi: New file.
10007
10008 2005-07-22  Bruno Haible  <bruno@clisp.org>
10009
10010         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
10011         $(ALLOCA_H), redundant through BUILT_SOURCES.
10012         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
10013         redundant through BUILT_SOURCES.
10014         * modules/byteswap (Makefile.am): Remove explicit dependency on
10015         $(BYTESWAP_H), redundant through BUILT_SOURCES.
10016         * modules/fnmatch (Makefile.am): Remove explicit dependency on
10017         $(FNMATCH_H), redundant through BUILT_SOURCES.
10018         * modules/getopt (Makefile.am): Remove explicit dependency on
10019         $(GETOPT_H), redundant through BUILT_SOURCES.
10020         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
10021         redundant through BUILT_SOURCES.
10022         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
10023         redundant through BUILT_SOURCES.
10024         * modules/stdbool (Makefile.am): Remove explicit dependency on
10025         $(STDBOOL_H), redundant through BUILT_SOURCES.
10026         * modules/stdint (Makefile.am): Remove explicit dependency on
10027         $(STDINT_H), redundant through BUILT_SOURCES.
10028         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
10029         Remove explicit dependency on $(SYSEXITS_H).
10030         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
10031
10032 2005-07-18  Simon Josefsson  <jas@extundo.com>
10033
10034         * lib/check-version.c (check_version): Accept identical versions too.
10035
10036 2005-07-18  Bruno Haible  <bruno@clisp.org>
10037
10038         * modules/lock: New file.
10039         * MODULES.html.sh (Multithreading): New section.
10040
10041 2005-07-18  Bruno Haible  <bruno@clisp.org>
10042
10043         * m4/lock.m4: New file, from GNU gettext.
10044
10045 2005-07-18  Bruno Haible  <bruno@clisp.org>
10046
10047         * lib/lock.h: New file, from GNU gettext.
10048         * lib/lock.c: New file, from GNU gettext.
10049
10050 2005-07-18  Bruno Haible  <bruno@clisp.org>
10051
10052         * lib/lock.h (gl_once_t): New type.
10053         (gl_once_define, gl_once): New macros.
10054         * lib/lock.c (fresh_once): New variable.
10055         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
10056         functions.
10057
10058 2005-07-16  Simon Josefsson  <jas@extundo.com>
10059
10060         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
10061         workaround, suggested by Bruno.
10062
10063 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10064
10065         * modules/xalloc (Depends-on): Add xalloc-die.
10066         * modules/xvasprintf (Depends-on): Add xalloc-die.
10067
10068 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
10069
10070         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
10071         with a minor change.
10072
10073 2005-07-15  Bruno Haible  <bruno@clisp.org>
10074
10075         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
10076         When using lib/poll.c, define poll as rpl_poll.
10077
10078 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
10079
10080         * modules/argp (Depends-on): Remove unlocked-io.
10081
10082 2005-07-14  Derek Price  <derek@ximbiot.com>
10083
10084         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
10085         for glob symlink bug.
10086
10087 2005-07-14  Bruno Haible  <bruno@clisp.org>
10088
10089         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
10090         Instead, test for *_unlocked function declarations directly.
10091
10092 2005-07-11  Simon Josefsson  <jas@extundo.com>
10093
10094         * modules/size_max: New file.
10095
10096         * modules/xsize: Depend on size_max module for size_max.m4.
10097
10098 2005-07-11  Simon Josefsson  <jas@extundo.com>
10099
10100         * lib/size_max.h: New file.
10101
10102 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
10103
10104         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
10105         copyright symbol and the year.
10106         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
10107         (version_etc_va): Use parameterized copyright notice.
10108         Reword to conform to the current GNU coding standards.
10109
10110 2005-07-11  Karl Berry  <karl@gnu.org>
10111
10112         * doc/gnulib.texi (Quoting): new node.
10113         (Initial import): more info, from Patrice.
10114
10115 2005-07-11  Bruno Haible  <bruno@clisp.org>
10116
10117         * gnulib-tool (func_usage): Document option --avoid.
10118         (Command line options): Handle --avoid.
10119         (func_acceptable): New function.
10120         (func_modules_transitive_closure): Use it.
10121
10122 2005-07-11  Bruno Haible  <bruno@clisp.org>
10123
10124         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
10125         Reported by Jim Meyering.
10126
10127 2005-07-10  Bruno Haible  <bruno@clisp.org>
10128
10129         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
10130         Needed when size_t is smaller than 'unsigned int'.
10131         Reported by Paul Eggert.
10132
10133 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10134
10135         * modules/argp (Depends-on): Add unlocked-io
10136
10137 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
10138
10139         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
10140         block of defines.
10141
10142 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10143
10144         * config/srclist.txt: Comment out regcomp.c, since we have a porting
10145         fix now.
10146
10147 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
10148         and Paul Eggert  <eggert@cs.ucla.edu>
10149
10150         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
10151         in wint_t, not wchar_t.  Remove now-unnecessary cast.
10152
10153 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10154
10155         * modules/regex (Files): Add lib/regex_internal.c,
10156         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
10157         (Depends-on): Add extensions.
10158         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
10159
10160 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10161
10162         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
10163         pathconf.
10164         * m4/same.m4 (gl_SAME): Likewise.
10165         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
10166
10167         * m4/regex.m4: Adjust to new libc regex implementation.
10168         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
10169         all the .c and .h parts of (the new) regex.
10170         Quote the m4 stuff better.
10171         Check for RE_ICASE bug of old gnulib.
10172         Check for REG_STARTEND of recent libc.
10173         Rename local variables from jm_* to gl_*.
10174         Quote operand of "test -f".
10175         Say "recent enough" version of libc, not "version 2".
10176         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
10177         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
10178         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
10179         Remove check for btowc, isascii.
10180         Require AM_LANGINFO_CODESET.
10181
10182 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10183
10184         * lib/regex.c, regex.h: Sync from libc.
10185         * lib/regcomp.c, regexec_internal.c, regex_internal.h, regexec.c:
10186         New files, synced from libc, except that regex_internal.h
10187         currently has a small porting fix.
10188
10189 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
10190
10191         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
10192         regex_internal.c, regexec.c.
10193         Add regex_internal.h too, but as a comment, since the libc version
10194         is currently broken in gnulib mode.
10195
10196 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10197
10198         Support programs like Emacs that use gnulib but not gettext.
10199         * MODULES.html.sh (Internationalization functions): Add gettext-h.
10200         * modules/gettext-h: New file.
10201         * modules/gettext (Files): Remove lib/gettext.h.
10202         (Depends-on): Add gettext-h.
10203         (Makefile.am): Remove lib_SOURCES.
10204         * modules/argmatch, modules/c-stack, modules/closeout:
10205         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
10206         * modules/execute, modules/file-type, modules/getaddrinfo:
10207         * modules/getopt, modules/human, modules/javacomp:
10208         * modules/javaexec, modules/mkdir-p, modules/obstack:
10209         * modules/openat, modules/pagealign_alloc, modules/pipe:
10210         * modules/quotearg, modules/regex, modules/rpmatch:
10211         * modules/unicodeio, modules/userspec, modules/version-etc:
10212         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
10213         * modules/xsetenv:
10214         Depend on gettext-h, not gettext.
10215
10216 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10217
10218         * gnulib-tool (func_import): Add support for 'public domain' license.
10219         * modules/alloca, modules/atexit, modules/memmove:
10220         Now public domain, not GPL.
10221         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
10222         * modules/realloc, modules/strerror, modules/strtod:
10223         Now LGPL, not GPL.
10224
10225 2005-07-05  Bruno Haible  <bruno@clisp.org>
10226
10227         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
10228         autoconf CVS. Needed for mingw.
10229
10230 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10231
10232         Remove the dependency of the strftime module on the tzset module.
10233         * modules/strftime (Depends-on): Remove dependency on tzset.
10234
10235 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10236
10237         Remove the dependency of the strftime module on the tzset module.
10238         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
10239         gl_FUNC_TZSET_CLOBBER.
10240
10241 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
10242
10243         Remove the dependency of the strftime module on the tzset module.
10244         * lib/strftime.c (my_strftime)
10245         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
10246         Copy the input structure, to work around some of the bug with
10247         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
10248         Solaris releases, you should also use the tzset module, but we won't
10249         require it as a dependency any more since we don't want LGPLed code
10250         to depend on GPLed code.
10251
10252 2005-07-02  Jim Meyering  <jim@meyering.net>
10253
10254         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
10255         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
10256         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
10257         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
10258
10259 2005-07-02  Jim Meyering  <jim@meyering.net>
10260
10261         * lib/backupfile.c (backup_args): Change a `0' to NULL.
10262
10263 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
10264
10265         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
10266         declares only 'struct timespec;' (!).
10267
10268 2005-07-01  Jim Meyering  <jim@meyering.net>
10269
10270         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
10271         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
10272         * lib/save-cwd.c, tempname.c:
10273         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
10274         and don't include <sys/file.h>).
10275
10276 2005-06-29  Jim Meyering  <jim@meyering.net>
10277
10278         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
10279         type name.  Use the variable name instead.
10280         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
10281         Likewise.
10282
10283 2005-06-28  Simon Josefsson  <jas@extundo.com>
10284
10285         * modules/check-version (Files): Add check-version.m4.
10286
10287 2005-06-28  Simon Josefsson  <jas@extundo.com>
10288
10289         * m4/check-version.m4: New file, suggested by Jim Meyering
10290         <jim@meyering.net>.
10291
10292 2005-06-28  Simon Josefsson  <jas@extundo.com>
10293
10294         * lib/check-version.h, check-version.c: New files.
10295
10296 2005-06-28  Simon Josefsson  <jas@extundo.com>
10297
10298         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
10299         collision with global variable.  Better indentation.  Don't
10300         increment buffer pointer beyond buffer end.  Based on comments
10301         from Paul Eggert <eggert@cs.ucla.edu>.
10302
10303         * lib/base64.h: Indent.
10304
10305 2005-06-28  Simon Josefsson  <jas@extundo.com>
10306
10307         * doc/gnulib.texi (Library version handling): New section.
10308
10309 2005-06-28  Jim Meyering  <jim@meyering.net>
10310
10311         * check-module (find_included_lib_files): Hard-code another
10312         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
10313         but modules/fts-lgpl (correctly) does not list those files.
10314
10315         * modules/canonicalize (Files): Add lib/pathmax.h.
10316
10317 2005-06-25  Simon Josefsson  <jas@extundo.com>
10318
10319         * modules/check-version: New file.
10320
10321 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
10322
10323         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
10324         initializer of struct addrinfo, as an indication that we don't
10325         care how many members the structure has.
10326
10327 2005-06-24  Derek Price  <derek@ximbiot.com>
10328         and Bruno Haible  <bruno@clisp.org>
10329
10330         Remove stat module & update lstat.
10331         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
10332         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10333         * m4/stat.m4: Remove this file.
10334
10335 2005-06-24  Derek Price  <derek@ximbiot.com>
10336         and Bruno Haible  <bruno@clisp.org>
10337
10338         Remove stat module & update lstat.
10339         * lib/stat.c: Remove this file...
10340         (slash_aware_lstat): ...moving this content and its support...
10341         * lib/lstat.c (rpl_lstat): ...into here.
10342         * lib/lstat.h: New file.
10343
10344 2005-06-24  Derek Price  <derek@ximbiot.com>
10345         and Bruno Haible  <bruno@clisp.org>
10346
10347         Remove stat module & update lstat.
10348         * config/srclist.txt (libc sources): Remove stat.
10349
10350 2005-06-24  Derek Price  <derek@ximbiot.com>
10351         and Bruno Haible  <bruno@clisp.org>
10352
10353         Remove stat module & update lstat.
10354         * MODULES.html.sh (stat): Remove.
10355         * MODULES.html: Regenerated.
10356         * modules/lstat (Description): Correct function name.
10357         (Files): Add "lstat.h".
10358         (Depends-on): Remove stat, add xalloc, stat-macros.
10359         * modules/stat: Remove this file.
10360         (Include): Add "lstat.h", remove <sys/stat.h>.
10361
10362 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
10363
10364         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
10365         (ranged_convert): Don't save conversion in a temporary struct.
10366         This causes a warning with GCC 4.0.0, and anyway in the typical
10367         case it's not worth the extra 100 bytes or so of code.
10368         (ranged_convert, __mktime_internal): When calling a function via a
10369         pointer P, use P () rather than (*P) (), as we now assume C89 or
10370         better.
10371
10372 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
10373
10374         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
10375         "who -r" failed to give output.  Problem reported by Tim Waugh.
10376
10377         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
10378         (xcalloc): Use it to avoid needless tests.
10379         Problem reported by Jim Meyering.
10380
10381 2005-06-20  Derek Price  <derek@ximbiot.com>
10382
10383         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
10384         unnecessary for Autoconfs > 2.59c.
10385
10386 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10387
10388         * lib/argp.h (__option_is_short): Check upper limit of
10389         __key. Isprint() requires its argument to have the value
10390         of an unsigned char or EOF.
10391
10392 2005-06-16  Jim Meyering  <jim@meyering.net>
10393
10394         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
10395         when either N or S is zero.
10396
10397 2005-06-16  Derek Price  <derek@ximbiot.com>
10398
10399         * m4/bison.m4: Declare YACC & YFLAGS precious.
10400
10401 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
10402
10403         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
10404         multibyte string or pattern, fall back on unibyte matching.
10405         Problem reported by James Youngman.
10406
10407 2005-06-08  Bruno Haible  <bruno@clisp.org>
10408
10409         * modules/csharpcomp: New file.
10410         * MODULES.html.sh (C#): Add csharpcomp.
10411
10412 2005-06-08  Bruno Haible  <bruno@clisp.org>
10413
10414         * m4/csharpcomp.m4: New file, from GNU gettext.
10415
10416 2005-06-08  Bruno Haible  <bruno@clisp.org>
10417
10418         * lib/csharpcomp.h: New file, from GNU gettext.
10419         * lib/csharpcomp.c: New file, from GNU gettext.
10420         * lib/csharpcomp.sh.in: New file, from GNU gettext.
10421
10422 2005-06-08  Bruno Haible  <bruno@clisp.org>
10423
10424         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
10425         warning on mingw.
10426
10427 2005-06-07  Derek Price  <derek@ximbiot.com>
10428
10429         Sync from CVS.
10430         * lib/glob_.h: Indent nested #ifdef.
10431
10432 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10433
10434         Sync from coreutils.
10435         Use "file name" when talking about file names, instead of "filename"
10436         or "path", as per the GNU coding standards.
10437         * lib/mkdir-p.c: Renamed from makepath.c.
10438         (make_dir_parents): Renamed from make_path.  All callers changed.
10439         * lib/mkdir-p.h: Likewise.  All includers changed.
10440         * lib/filenamecat.c: Renamed from path-concat.c.
10441         (file_name_concat): Renamed from path_concat.  All callers changed.
10442         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
10443         * lib/filenamecat.h: Likewise.  All includers changed.
10444         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
10445         in comments or local variable names.
10446         * lib/basename.c: Likewise.
10447         * lib/canonicalize.c, canonicalize.h: Likewise.
10448         * lib/dirname.c, dirname.h: Likewise.
10449         * lib/euidaccess.c: Likewise.
10450         * lib/exclude.c: Likewise
10451         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
10452         * lib/fsusage.c, fsuage.h: Likewise.
10453         * lib/fts.c, fts_.h: Likewise.
10454         * lib/getcwd.c: Likewise.
10455         * lib/getloadavg.c: Likewise.
10456         * lib/mkstemp.c: Likewise.
10457         * lib/mountlist.c, mountlist.h: Likewise.
10458         * lib/openat.c, openat.h: Likewise.
10459         * lib/readlink-stub.c: Likewise.
10460         * lib/readutmp.c, readutmp.h: Likewise.
10461         * lib/rename.c: Likewise.
10462         * lib/rmdir.c: Likewise.
10463         * lib/same.c: Likewise.
10464         * lib/savedir.c: Likewise.
10465         * lib/stripslash.c: Likewise.
10466         * lib/tempname.c: Likewise.
10467         * lib/xreadlink.c: Likewise.
10468         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
10469         All uses changed.
10470         * lib/exclude.h: Likewise.
10471
10472         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
10473         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
10474         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
10475         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
10476         * lib/pathmax.h: Include <limits.h> unconditionally, since other
10477         files have been getting away with it for years (MORE/BSD 4.3
10478         is extinct now).
10479         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
10480         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
10481
10482         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
10483         Define to 256, not 255, as per modern POSIX.
10484
10485 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10486
10487         Sync from coreutils.
10488         Use "file name" when talking about file names, instead of "filename"
10489         or "path", as per the GNU coding standards.
10490         * MODULES.html.sh: mkdir-p renamed from makepath.
10491         filenamecat renamed from path-concat.
10492         * modules/filenamecat: Renamed from modules/path-concat.
10493         (Files): filenamecat.h and filenamecat.c renamed from
10494         path-concat.h and path-concat.c.
10495         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
10496         (Include): filenamecat.h, not path-concat.h.
10497         * modules/mkdir-p: Renamed from modules/makepath.
10498         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
10499         makepath.c.
10500         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
10501         (Include): mkdir-p.h, not makepath.h.
10502
10503 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
10504
10505         Sync from coreutils.
10506         * m4/mkdir-p.m4: Renamed from makepath.m4.
10507         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
10508         Rename files from makepath.c to mkdir-p.c, and from
10509         makepath.h to mkdir-p.h.
10510         * m4/filenamecat.m4: Renamed from path-concat.m4.
10511         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
10512         Rename files from path-concat.c to filenamecat.c,
10513         and from path-concat.h to filenamecat.h.
10514         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
10515         "file name" in local variables or comments.
10516         * m4/rename.m4: Likewise.
10517
10518 2005-06-01  Bruno Haible  <bruno@clisp.org>
10519
10520         * modules/csharpexec: New file.
10521         * MODULES.html.sh (C#): New section.
10522
10523 2005-06-01  Bruno Haible  <bruno@clisp.org>
10524
10525         * m4/csharp.m4: New file, from GNU gettext.
10526         * m4/csharpexec.m4: New file, from GNU gettext.
10527
10528 2005-06-01  Bruno Haible  <bruno@clisp.org>
10529
10530         * lib/csharpexec.h: New file, from GNU gettext.
10531         * lib/csharpexec.c: New file, from GNU gettext.
10532         * lib/csharpexec.sh.in: New file, from GNU gettext.
10533
10534 2005-05-31  Derek Price  <derek@ximbiot.com>
10535             Paul Eggert  <eggert@cs.ucla.edu>
10536
10537         Sync from cvs.
10538         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
10539
10540 2005-05-31  Derek Price  <derek@ximbiot.com>
10541             Paul Eggert  <eggert@cs.ucla.edu>
10542
10543         Sync from cvs.
10544         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
10545
10546 2005-05-29  Derek Price  <derek@ximbiot.com>
10547
10548         * config/srclist.txt (glob_.h, glob.c): Add these files.
10549
10550 2005-05-29  Derek Price  <derek@ximbiot.com>
10551
10552         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
10553         * modules/glob: New file.
10554         * modules/getlogin_r: Add link to POSIX spec in description.
10555
10556 2005-05-29  Derek Price  <derek@ximbiot.com>
10557             Paul Eggert  <eggert@cs.ucla.edu>
10558
10559         * m4/glob.m4: New file.
10560
10561 2005-05-29  Derek Price  <derek@ximbiot.com>
10562             Paul Eggert  <eggert@cs.ucla.edu>
10563
10564         * lib/glob_.h, glob.c: New files.
10565
10566 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
10567
10568         * modules/fts (Files): Remove m4/inttypes-pri.m4.
10569         * modules/fts-lgpl (Depends-on): Remove gettext.
10570
10571 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
10572
10573         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
10574         and don't require gt_INTTYPES_PRI.
10575
10576 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
10577
10578         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
10579
10580         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
10581         the configuration hassle isn't worth it.
10582         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
10583         (LONGEST_MODIFIER, PRIuMAX): Remove.
10584
10585 2005-05-27  Bruno Haible  <bruno@clisp.org>
10586
10587         * lib/getlogin_r.h: Remove second include of <stddef.h>.
10588
10589 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
10590
10591         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
10592         _POSIX_PTHREAD_SEMANTICS for Solaris.
10593
10594 2005-05-25  Derek Price  <derek@ximbiot.com>
10595
10596         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
10597
10598 2005-05-25  Derek Price  <derek@ximbiot.com>
10599             Paul Eggert  <eggert@cs.ucla.edu>
10600
10601         * modules/getlogin_r: New files.
10602
10603 2005-05-25  Derek Price  <derek@ximbiot.com>
10604             Paul Eggert  <eggert@cs.ucla.edu>
10605
10606         * m4/getlogin_r.m4: New files.
10607
10608 2005-05-25  Derek Price  <derek@ximbiot.com>
10609             Paul Eggert  <eggert@cs.ucla.edu>
10610
10611         * lib/getlogin_r.c, getlogin_r.h: New files.
10612
10613 2005-05-25  Bruno Haible  <bruno@clisp.org>
10614             Derek Price  <derek@ximbiot.com>
10615
10616         * lib/getlogin_r.h: Simplify API documentation.
10617
10618 2005-05-23  Derek Price  <derek@ximbiot.com>
10619
10620         * modules/minmax (Files): Add m4/minmax.m4.
10621         (configure.ac): Add gl_MINMAX.
10622
10623 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
10624
10625         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
10626         so that unistd-safer.h (GPL'ed code) need not be included.
10627
10628 2005-05-22  Bruno Haible  <bruno@clisp.org>
10629
10630         * m4/minmax.m4: New file.
10631         Based on a patch by Derek Price <derek@ximbiot.com>.
10632
10633 2005-05-22  Bruno Haible  <bruno@clisp.org>
10634
10635         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
10636         (INT64_MIN): Fix definition.
10637         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
10638
10639         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
10640         NEED_SIGNED_INT_TYPES.
10641
10642         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
10643         HAVE_SYSTEM_INTTYPES.
10644
10645 2005-05-22  Bruno Haible  <bruno@clisp.org>
10646
10647         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
10648         Also include <sys/param.h> if it defines MIN, MAX.
10649         Based on a patch by Derek Price <derek@ximbiot.com>.
10650
10651 2005-05-21  Jim Meyering  <jim@meyering.net>
10652
10653         * modules/fts (Files): Add m4/inttypes-pri.m4.
10654         (Depends-on): Add lstat and remove gettext.  Alphabetize.
10655
10656 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
10657
10658         New fts module.
10659         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
10660         (setup_dir, free_dir): New functions.
10661         (enter_dir, leave_dir): Define trivial
10662         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
10663         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
10664         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
10665         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
10666         Move to fts-cycle.c.
10667         (fts_open): Use setup_dir.
10668         (fts_close): Use free_dir.
10669         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
10670         This adds a label and some gotos, but the alternatives were messier.
10671         Check for memory allocation failure when entering a dir.
10672         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
10673         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
10674         (FTS): New member fts_cycle, that is a union that contains the
10675         old active_dir_ht and cycle_state.  All uses changed to mention
10676         fts_cycle.ht and fts_cycle.state.
10677         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
10678         fts.c, with the following changes:
10679         (setup_dir, free_dir): New functions.
10680         (enter_dir): Now returns bool.  Return true if successful, false
10681         if memory exhausted.  All callers changed.
10682         Do not bother partly cleaning up on
10683         memory allocation failure; that is free_dir's job.
10684         However, free ad if hash_insert fails, to avoid memory leak.
10685         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
10686         fts->fts_options to see which union member to use.
10687
10688 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
10689
10690         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
10691         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
10692
10693 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
10694
10695         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
10696
10697 2005-05-20  Jim Meyering  <jim@meyering.net>
10698
10699         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
10700         Now a macro, to pacify GCC.
10701
10702 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
10703
10704         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
10705         of -1.
10706
10707 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
10708
10709         * lib/chown.c (rpl_chown): Return -1 on failure.
10710
10711 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
10712
10713         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
10714         Don't check for stddef.h.
10715         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
10716         don't use its results.
10717         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
10718         since we include them unconditionally.  Don't require
10719         AM_STDBOOL_H, since stdbool is a prerequisite.
10720         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
10721         since we assume C89 or better.
10722         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
10723         as we don't use their results.
10724         Don't check for fchdir, memmove, memset, strrchr, as we use
10725         them unconditionally.
10726         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
10727         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
10728
10729 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
10730
10731         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
10732         Include <stddef.h> unconditionally, since we assume C89 now.
10733         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
10734         * lib/fts.c: Include fts_.h first, to check interface.
10735         Do not include intprops.h; no longer needed.
10736         Include cycle-check.h and hash.h, since fts_.h no longer does.
10737         Remove unnecessary casts of closedir to void.
10738         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
10739         decide whether to decrement nlinks.
10740         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
10741         (FTS): Use struct hash_table * instead of Hash_table, so that
10742         we no longer need to include hash.h here.
10743
10744 2005-05-18  Jim Meyering  <jim@meyering.net>
10745
10746         * modules/dirfd (License): Change to LGPL.  Most of the code
10747         is already in the public domain.
10748
10749 2005-05-18  Jim Meyering  <jim@meyering.net>
10750
10751         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
10752         Reported by Yoann Vandoorselaere.
10753
10754 2005-05-17  Jim Meyering  <jim@meyering.net>
10755
10756         * m4/fts.m4: New file, from coreutils.
10757
10758 2005-05-17  Jim Meyering  <jim@meyering.net>
10759
10760         * lib/fts.c, fts_.h: New files, from coreutils.
10761
10762 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
10763
10764         Sync from coreutils.
10765         * m4/unlinkdir.m4: New file.
10766
10767 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
10768
10769         Sync from coreutils.
10770         * lib/unlinkdir.c, unlinkdir.h: New files.
10771         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
10772         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
10773         White space changes only.
10774         * lib/makepath.c (make_path): Port to hosts where leading "//" is
10775         special.
10776         * lib/yesno.c: Include getline.h, not ctype.h.
10777         (yesno): Don't remove leading white space; POSIX doesn't allow it.
10778         Use getline to remove arbitrary restriction on response length.
10779
10780 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
10781
10782         * config/srclist-update: Spell out "Street" in FSF postal
10783         mail address; this is the style the FSF seems to prefer.
10784
10785         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
10786         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
10787         this updates FSF postal mail address.
10788
10789         Sync from coreutils.
10790         * modules/unlinkdir: New file.
10791         * modules/yesno (Depends-on): Add getline.
10792         * MODULES.html.sh (File system functions): Add unlinkdir.
10793
10794 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10795
10796         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
10797         lib/strsep.h:
10798         Change the initial comment to refer to GPL, not LGPL.
10799         gnulib-tool will change it to LGPL as needed.
10800
10801         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
10802         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
10803         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
10804         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
10805         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
10806         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
10807         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
10808         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
10809         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
10810         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
10811         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
10812         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
10813         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
10814         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
10815         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
10816         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
10817         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
10818         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
10819         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
10820         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
10821         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
10822         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
10823         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
10824         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
10825         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
10826         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
10827         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
10828         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
10829         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
10830         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
10831         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
10832         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
10833         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
10834         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
10835         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
10836         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
10837         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
10838         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
10839         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
10840         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
10841         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
10842         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
10843         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
10844         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
10845         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
10846         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
10847         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
10848         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
10849         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
10850         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
10851         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
10852         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
10853         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
10854         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
10855         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
10856         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
10857         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
10858         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
10859         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
10860         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
10861         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
10862         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
10863         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
10864         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
10865         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
10866         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
10867         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
10868         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
10869         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
10870         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
10871         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
10872         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
10873         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
10874         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
10875         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
10876         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
10877         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
10878         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
10879         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
10880         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
10881         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
10882         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
10883         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
10884         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
10885         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
10886         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
10887         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
10888         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
10889         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
10890         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
10891         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
10892         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
10893         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
10894         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
10895         lib/yesno.c, lib/yesno.h:
10896         Update FSF postal mail address.
10897
10898 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
10899
10900         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
10901         tests/test-memmem.c, tests/test-stpncpy.c:
10902         Update FSF postal mail address.
10903
10904 2005-05-13  Bruno Haible  <bruno@clisp.org>
10905
10906         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
10907         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
10908         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
10909         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
10910         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
10911         Add support for 64-bit integers in the MSVC compiler.
10912
10913 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
10914
10915         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
10916
10917 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
10918
10919         * gnulib-tool (func_import): Sort and uniquify recommended includes.
10920
10921 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
10922
10923         * doc/getdate.texi (General date syntax): Don't say that date
10924         date --iso-8601=ns generates acceptable dates; it doesn't yet.
10925         Problem reported by Nic Ferrier.
10926
10927 2005-05-10  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10928
10929         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
10930         specified in ai_socktype. Fix invalid ai_protocol
10931         check. ai_protocol is usually set to 0 or depending on
10932         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
10933         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
10934         ai_socktype / ai_protocol in the returned addrinfo structure.
10935
10936 2005-05-10  Simon Josefsson  <jas@extundo.com>
10937
10938         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
10939         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
10940
10941 2005-05-10  Karl Berry  <karl@gnu.org>
10942
10943         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
10944         (from http://www.gnu.org/licenses).
10945         * doc/COPYING.LIB: also rename to COPYING.LESSER.
10946         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
10947         fdl.texi suffices.
10948
10949 2005-05-10  Karl Berry  <karl@gnu.org>
10950
10951         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
10952         (COPYING.DOC): remove.
10953
10954         * config/srclist-update: new FSF address.
10955
10956 2005-05-10  Derek Price  <derek@ximbiot.com>
10957
10958         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
10959         possible.
10960
10961 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10962             Bruno Haible  <bruno@clisp.org>
10963
10964         * modules/inet_ntop: New file.
10965         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
10966         inet_ntop.
10967
10968 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10969             Bruno Haible  <bruno@clisp.org>
10970
10971         * m4/inet_ntop.m4: New file.
10972
10973 2005-05-09  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
10974             Bruno Haible  <bruno@clisp.org>
10975
10976         * lib/inet_ntop.h: New file.
10977         * lib/inet_ntop.c: New file, from glibc with modifications.
10978
10979 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
10980
10981         * modules/time_r (License): Change to LGPL.
10982         * modules/extensions (License): Change to LGPL.  Actually,
10983         the license is more permissive than that, but currently gnulib-tool
10984         doesn't know how to handle more-permissive licenses.
10985
10986         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
10987         Problem reported by Dave Love.
10988
10989 2005-05-08  Jim Meyering  <jim@meyering.net>
10990
10991         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
10992         blank.
10993
10994 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
10995
10996         * modules/argmatch (Depends-on): Add stdbool.
10997         * modules/backupfile (Depends-on): Likewise.
10998         * modules/chdir-long (Depends-on): Likewise.
10999         * modules/closeout (Depends-on): Likewise.
11000         * modules/cycle-check (Depends-on): Likewise.
11001         * modules/dirname (Depends-on): Likewise.
11002         * modules/fnmatch (Depends-on): Likewise.
11003         * modules/fsusage (Depends-on): Likewise.
11004         * modules/fwriteerror (Depends-on): Likewise.
11005         * modules/getcwd (Depends-on): Likewise.
11006         * modules/getloadavg (Depends-on): Likewise.
11007         * modules/hard-locale (Depends-on): Likewise.
11008         * modules/makepath (Depends-on): Likewise.
11009         * modules/mountlist (Depends-on): Likewise.
11010         * modules/nanosleep (Depends-on): Likewise.
11011         * modules/posixtm (Depends-on): Likewise.
11012         * modules/quotearg (Depends-on): Likewise.
11013         * modules/readtokens (Depends-on): Likewise.
11014         * modules/readtokens0 (Depends-on): Likewise.
11015         * modules/readutmp (Depends-on): Likewise.
11016         * modules/save-cwd (Depends-on): Likewise.
11017         * modules/strftime (Depends-on): Likewise.
11018         * modules/userspec (Depends-on): Likewise.
11019         * modules/utimecmp (Depends-on): Likewise.
11020         * modules/xgetcwd (Depends-on): Likewise.
11021         * modules/xnanosleep (Depends-on): Likewise.
11022         * modules/xstrtod (Depends-on): Likewise.
11023         * modules/yesno (Depends-on): Likewise.
11024
11025 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
11026
11027         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
11028         needless checks.
11029
11030 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11031
11032         Merge from coreutils.  Among other things,
11033         add bulletproofing for cases where stdin, stdout, or stderr are closed.
11034         * lib/fd-safer.c: New file.
11035         * lib/fcntl-safer.h, open-safer.c: Remove.
11036         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
11037         * lib/dup-safer.c: Include unistd-safer.h first.
11038         Don't include errno.h.
11039         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
11040         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
11041         * lib/file-type.c: Rely on file-type.h change.
11042         * lib/getloadavg.c: Include unistd-safer.h.
11043         (getloadavg): Use safer open.
11044         * lib/getusershell.c: Include "stdio-safer.h".
11045         (getusershell): Use safer fopen.
11046         * lib/long-options.c (long_options): Use NULL rather than 0.
11047         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
11048         'free'.
11049         * lib/modechange.c: Likewise.
11050         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
11051         (MODE_DONE): New constant.
11052         (struct mode_change): Remove 'next' member.
11053         (make_node_op_equals): New function; like the old one of the
11054         same name, except it allocates an array.
11055         (mode_compile, mode_create_from_ref): Use it.
11056         (mode_compile): Allocate result as an array, not a linked list.
11057         Parse octal string ourself, so that we catch mistakes like "+0".
11058         (mode_adjust): Arg is an array, not a linked list.
11059         * lib/modechange.c: Include stat-macros.h, xalloc.h.
11060         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
11061         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
11062         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
11063         Remove.  This is now stat-macros.h's job.
11064         (talloc): Remove.  All callers replaced by xalloc, so that
11065         our invokers don't have to worry about reporting memory failures.
11066         (make_node_op_equals): Remove.
11067         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11068         New constants.
11069         (struct mode_change): Moved here from modechange.h.
11070         (mode_append_entry): Remove.
11071         (mode_compile): Remove MASKED_OPS arg, since it encouraged
11072         apps to have incorrect behavior.  Use simpler algorithm for head
11073         and tail.  Don't futz with umask; that's now the job of mode_adjust.
11074         Detect more invalid usages rather than having somewhat-random behavior.
11075         Don't insert an "a=" action, as that leads to incorrect behavior.
11076         (mode_compile, mode_create_from_ref): Return NULL on error instead
11077         of an enum, since now there's only one way to have an error.  All
11078         callers changed.
11079         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
11080         at the correct time.  Simplify calculation of "+u" and its ilk.
11081         Don't mishandle "+X".
11082         (mode_free): Remove "register" and localize decls.
11083         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
11084         (struct mode_change): Move to modechange.c; callers don't
11085         need to see this stuff.
11086         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
11087         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
11088         (mode_change, mode_adjust): Reflect the new signatures noted above.
11089         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
11090         that might redefine system include files.
11091         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
11092         (my_usleep): Use NULL rather than (void *) 0.
11093         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
11094         Use siginterrupt to specify that system calls should be interrupted.
11095         (rpl_nanosleep): Move initialization of suspended closer to call of
11096         my_usleep.
11097         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
11098         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
11099         (desirable_utmp_entry): New function.
11100         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
11101         using x2nrealloc, to simplify logic.
11102         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
11103         size calculation.  Do not assume utmp file is a regular file.
11104         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
11105         (READ_UTMP_CHECK_PIDS): New constant.
11106         * lib/save-cwd.c: Include unistd-safer.h.
11107         (save_cwd): Use fd_safer.
11108         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
11109         [!_LIBC] Include "stat-macros.h" instead.
11110         * lib/unistd-safer.h (fd_safer): New decl.
11111
11112 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11113
11114         * modules/getloadavg (Depends-on): Add unistd-safer.
11115         * modules/getusershell (Depends-on): Add stdio-safer.
11116         * modules/lstat (Depends-on): Remove xalloc.
11117         * modules/mkstemp (Depends-on): Add stat-macros.
11118         * modules/modechange (Depends-on): Remove xstrtol.
11119         Add stat-macros, xalloc.
11120         * modules/save-cwd (Depends-on): Add unistd-safer.
11121         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
11122         * modules/unistd-safer (Files): Add lib/fd-safer.c
11123         (Makefile.am): Remove lib_SOURCES.
11124
11125         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
11126         Remove fcntl-safer; unistd-safer supersedes it.
11127
11128 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11129
11130         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
11131         AC_HEADER_STAT.
11132         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
11133         (gl_PREREQ_CHOWN): Remove.
11134         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
11135         it.  Don't require AC_HEADER_STAT.
11136         (gl_PREREQ_LSTAT): Remove.
11137         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
11138         Don't require AC_HEADER_STAT.
11139         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
11140         (gl_PREREQ_RMDIR): Remove.
11141         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
11142         mention stat-macros.h or AC_HEADER_STAT, since we'll make
11143         the stat-macros module a prerequisite.
11144         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
11145         * m4/filemode.m4 (gl_FILEMODE): Likewise.
11146         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
11147         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
11148         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
11149         variable names.
11150         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
11151         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
11152         variable prefixes.
11153         * m4/fcntl-safer.m4: Remove.
11154         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
11155         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
11156         Invoke gl_PREREQ_FD_SAFER.
11157         (gl_PREREQ_FD_SAFER): New macro.
11158         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
11159         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
11160         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
11161         Remove duplicate call to AC_LIBOBJ(readutmp).
11162         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
11163
11164         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
11165         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
11166
11167 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
11168
11169         * MODULES.html.sh (Misc): Add byteswap.
11170
11171 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11172
11173         * modules/getcwd (Depends-on): Add extensions.
11174         * modules/openat (Depends-on): Likewise.
11175
11176 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11177
11178         * modules/byteswap: New file.
11179
11180 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11181
11182         * m4/byteswap.m4: New file.
11183
11184 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
11185
11186         * lib/byteswap_.h: New file.
11187
11188 2005-04-25  Karl Berry  <karl@gnu.org>
11189
11190         * m4/gettext.m4: Update from GNU gettext 0.14.4.
11191
11192 2005-04-25  Albert Chin  <china@thewrittenword.com>
11193
11194         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
11195         Toolkit C bug.
11196
11197 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
11198
11199         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
11200         (func_ln_if_changed) Remove forcibly for no error message
11201         in case file does not exist.
11202
11203 2005-04-19  Simon Josefsson  <jas@extundo.com>
11204
11205         * gnulib-tool (Options): Make --symlink mean --symbolic.
11206
11207 2005-04-18  Oskar Liljeblad <oskar@osk.mine.nu>
11208
11209         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
11210
11211 2005-04-16  Simon Josefsson  <jas@extundo.com>
11212
11213         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
11214
11215 2005-04-15  Simon Josefsson  <jas@extundo.com>
11216
11217         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
11218
11219 2005-04-15  Simon Josefsson  <jas@extundo.com>
11220
11221         * gnulib-tool: Rename --symlink to --symbolic.
11222
11223 2005-04-15  Oskar Liljeblad <oskar@osk.mine.nu>
11224
11225         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
11226         symbolic links to files instead of copying/moving.  Add --aux-dir,
11227         specifying directory relative --dir where auxiliary build tools
11228         are placed.
11229
11230 2005-04-14  Bruno Haible  <bruno@clisp.org>
11231
11232         * modules/allocsa (License): Change to LGPL.
11233         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
11234
11235 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
11236
11237         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
11238         that "UTC +1 second" continues to work.  Problem reported
11239         by Dmitry V. Levin.
11240         (relunit_snumber): New rule.
11241         (relunit): Use it.
11242
11243 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
11244
11245         * lib/getdate.y (universal_time_zone_table): New constant.
11246         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
11247         universal_time_zone_table.
11248         (lookup_zone): Prefer universal_time_zone_table to
11249         local_time_zone_table, so that "GMT" time stamps are allowed in
11250         London during the summer.  Problem reported by Ian Abbott.
11251
11252 2005-04-12  Jim Meyering  <jim@meyering.net>
11253
11254         * lib/human.c (humblock): Set *options even when returning due to
11255         xstrtoumax conversion failure.  Thanks to a used-uninitialized
11256         warning from gcc-4.
11257
11258 2005-04-09  Jim Meyering  <jim@meyering.net>
11259
11260         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
11261         -Wuninitialized: initialize tm0.tm_year.
11262
11263 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
11264
11265         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
11266         count, since there's no maximum.  All uses changed.
11267         Add member dsts_seen.
11268         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
11269         not being INT_MAX.
11270         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
11271         Use pc_rels_seen to decide whther a date is absolute.
11272
11273         * lib/getdate.y (number): Don't overwrite year.
11274         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
11275         check.
11276
11277 2005-04-02  Simon Josefsson  <jas@extundo.com>
11278
11279         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
11280         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
11281
11282 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
11283
11284         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
11285         where no absolute path name can be longer than PATH_MAX.
11286
11287 2005-03-27  Jim Meyering  <jim@meyering.net>
11288
11289         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
11290
11291 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
11292
11293         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
11294         "one's complement" -> "ones' complement" in comment, as per Knuth.
11295         "value of type" -> "type or expression" in comment.
11296         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
11297
11298 2005-03-26  Jim Meyering  <jim@meyering.net>
11299
11300         Comment nits.
11301         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
11302         Correct typos: s/or/of/.
11303
11304 2005-03-26  Jim Meyering  <jim@meyering.net>
11305
11306         * modules/check-include-files: Move to ../ and rename to...
11307         * check-module: ...this.
11308
11309 2005-03-25  Jim Meyering  <jim@meyering.net>
11310
11311         * modules/xvasprintf (Files): Add xalloc.h.
11312
11313 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
11314
11315         * modules/gettext (Files): config/config.rpath ->
11316         build-aux/config.rpath
11317         * modules/iconv (Files): Likewise.
11318         Problem reported by Oskar Liljeblad.
11319
11320 2005-03-23  Jim Meyering  <jim@meyering.net>
11321
11322         * modules/check-include-files: New script to check for
11323         missing dependencies, multiple includes, etc.
11324
11325         * modules/c-strtold (Depends-on): Add xalloc.
11326         * modules/c-strtod (Depends-on): Add xalloc.
11327         * modules/hash (Depends-on): Add xalloc.
11328         (Files): Remove lib/xalloc.h.
11329
11330         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
11331         * modules/userspec (Files): Add lib/inttostr.h.
11332
11333 2005-03-23  Jim Meyering  <jim@meyering.net>
11334
11335         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
11336
11337 2005-03-22  Jim Meyering  <jim@meyering.net>
11338
11339         * modules/stat-macros: New module.
11340         * modules/canonicalize, modules/euidaccess, modules/file-type,
11341         * modules/filemode, modules/lchown, modules/makepath,
11342         * modules/rmdir, modules/stat: Depend on new stat-macros module
11343         rather than listing lib/stat-macros.h manually.
11344         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
11345
11346 2005-03-22  Jim Meyering  <jim@meyering.net>
11347
11348         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
11349
11350 2005-03-22  Bruno Haible  <bruno@clisp.org>
11351
11352         * config/srclist.txt: Replace target directory 'config' with
11353         'build-aux'.
11354         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
11355         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
11356         ../build-aux/.
11357
11358 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
11359
11360         * modules/chdir-long (Depends-on): Add mempcpy.
11361
11362         * modules/acl, modules/backupfile, modules/c-strtod,
11363         modules/c-strtold, modules/canon-host, modules/canonicalize,
11364         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
11365         modules/exclude, modules/exitfail, modules/file-type,
11366         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
11367         modules/getdate, modules/getline, modules/getpagesize,
11368         modules/getpass, modules/getugroups, modules/group-member,
11369         modules/hard-locale, modules/hash, modules/human, modules/idcache,
11370         modules/inttostr, modules/long-options, modules/makepath,
11371         modules/md5, modules/memcasecmp, modules/memcoll,
11372         modules/modechange, modules/mountlist, modules/path-concat,
11373         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
11374         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
11375         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
11376         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
11377         modules/strftime, modules/strndup, modules/strverscmp,
11378         modules/timespec, modules/unlocked-io, modules/userspec,
11379         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
11380         modules/yesno:
11381         Remove lib_SOURCES line from Makefile.am section, as this is now
11382         done automatically by the corresponding Autoconf macro.
11383
11384 2005-03-21  Jim Meyering  <jim@meyering.net>
11385
11386         Changes imported from coreutils.
11387
11388         * lib/cycle-check.c: Don't include xalloc.h.
11389
11390         * lib/path-concat.c: Don't include assert.h.
11391         (path_concat): Remove assertion that would have triggered
11392         for ABASE starting with more than one slash.
11393         Reported by Andreas Schwab.
11394
11395         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
11396         properly when ABASE is an absolute file name.
11397         Correct the description of this function.
11398         Include <assert.h>.
11399         Add an assertion and a test driver.
11400         This fixes a bug introduced on 2004-07-02.
11401         Andreas Schwab reported the resulting failure of cp --parents:
11402         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
11403
11404 2005-03-21  Jim Meyering  <jim@meyering.net>
11405
11406         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
11407         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
11408
11409 2005-03-21  Jim Meyering  <jim@meyering.net>
11410         and  Paul Eggert  <eggert@cs.ucla.edu>
11411
11412         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
11413         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
11414         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
11415         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
11416         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
11417         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
11418         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
11419         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
11420         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
11421         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
11422         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
11423         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
11424         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
11425         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
11426         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
11427         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
11428         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
11429         for these modules.
11430
11431 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
11432
11433         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
11434         (which shouldn't happen), generate nothing instead of returning 0
11435         immediately, so that nstrftime (NULL, ...) doesn't return 0.
11436
11437 2005-03-16  Bruno Haible  <bruno@clisp.org>
11438
11439         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
11440         HAVE_LONGLONG_64BIT.
11441
11442 2005-03-16  Bruno Haible  <bruno@clisp.org>
11443
11444         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
11445         HAVE_LONGLONG_64BIT.
11446
11447 2005-03-16  Bruno Haible  <bruno@clisp.org>
11448
11449         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
11450         HAVE_LONGLONG_64BIT.
11451
11452 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11453
11454         * lib/strftime.c (my_strftime): Prepend space to format so that we can
11455         reliably distinguish strftime failure from empty output on POSIX
11456         hosts.
11457
11458 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
11459
11460         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
11461         (iconv_string): Don't guess a size-zero buffer, as that might cause
11462         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
11463         result would be 'too large', where 'too large' is (heuristically)
11464         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
11465         overflow concerns.  This will prevent some unwanted malloc failures
11466         when the inputs are very large.
11467
11468 2005-03-15  Karl Berry  <karl@gnu.org>
11469
11470         * config/srclist.txt (config.rpath): from gettext.
11471         * config/config.rpath: update.
11472
11473 2005-03-15  Bruno Haible  <bruno@clisp.org>
11474
11475         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
11476         to 'negate'.
11477
11478         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
11479         variable.
11480
11481         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
11482         results.
11483
11484 2005-03-14  Simon Josefsson  <jas@extundo.com>
11485
11486         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
11487         <fx@gnu.org>.
11488
11489 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
11490
11491         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
11492         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
11493         intprops.h.
11494         * lib/strtol.c: Likewise.
11495
11496 2005-03-14  Jim Meyering  <jim@meyering.net>
11497
11498         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
11499         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
11500         to be nonzero so that we (and caller) can detect the difference
11501         between a valid zero-length expansion and an error return, even
11502         when the underlying strftime fails before writing anything into
11503         that location.
11504
11505 2005-03-14  Bruno Haible  <bruno@clisp.org>
11506
11507         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
11508         Update from GNU gettext 0.14.3.
11509
11510 2005-03-10  Jim Meyering  <jim@meyering.net>
11511
11512         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
11513
11514 2005-03-10  Jim Meyering  <jim@meyering.net>
11515
11516         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
11517         so that this module works on systems without fchdir.
11518
11519 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
11520
11521         Factor int-properties macros into a single file, except for
11522         glibc-related files.
11523         * lib/intprops.h: New file.
11524         * lib/getloadavg.c: Include it instead of limits.h.
11525         (INT_STRLEN_BOUND): Remove.
11526         * lib/human.c: Include intprops.h.
11527         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
11528         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
11529         302/1000.
11530         * lib/inttostr.h: Include intprops.h instead of limits.h.
11531         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
11532         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
11533         for consistency with intprops.h.
11534         (time_t_is_integer, twos_complement_arithmetic): Use them.
11535         * lib/sig2str.h: Include <signal.h>, intprops.h.
11536         (INT_STRLEN_BOUND): Remove.
11537         * lib/strftime.c (TYPE_SIGNED): Remove.
11538         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
11539         * lib/strtol.c: Adjust comments to match intprops.h.
11540         * lib/userspec.c: Include intprops.h.
11541         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
11542         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
11543         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
11544         instead of rolling our own expressions.
11545         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
11546
11547         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
11548         instead of int.
11549         (my_strftime): Do not mishandle years close to INT_MAX, by doing
11550         the right thing even if adding 1900 would overflow.  Similarly
11551         for tm_mon + 1 and tm_yday + 1.
11552         Make %Y always equivalent to %C%y, and similarly for %G and %g.
11553         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
11554         (DO_SIGNED_NUMBER): New macro.
11555         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
11556
11557 2005-03-07  Bruno Haible  <bruno@clisp.org>
11558
11559         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
11560
11561 2005-03-07  Bruno Haible  <bruno@clisp.org>
11562
11563         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
11564
11565 2005-03-04  Derek R. Price  <derek@ximbiot.com>
11566
11567         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
11568         (func_import): Only replace files via --import when they have actually
11569         changed.
11570
11571 2005-03-03  Derek R. Price  <derek@ximbiot.com>
11572
11573         * m4/mmap-anon.m4: New file.
11574         * m4/pagealign_alloc.m4: New file.
11575
11576 2005-03-03  Derek R. Price  <derek@ximbiot.com>
11577             Bruno Haible  <bruno@clisp.org>
11578
11579         * modules/pagealign_alloc: New file.
11580         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
11581
11582 2005-03-03  Derek R. Price  <derek@ximbiot.com>
11583             Bruno Haible  <bruno@clisp.org>
11584
11585         * lib/pagealign_alloc.h: New file.
11586         * lib/pagealign_alloc.c: New file.
11587
11588 2005-03-03  Bruno Haible  <bruno@clisp.org>
11589
11590         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
11591         Use an all-permissive copyright notice, recommended by RMS.
11592
11593 2005-03-02  Bruno Haible  <bruno@clisp.org>
11594
11595         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
11596         of AIX, the replacement has to be done only after <string.h> is
11597         included, therefore not in config.h. stpncpy.h does the replacement,
11598         and stpncpy.c uses it.
11599
11600 2005-03-02  Bruno Haible  <bruno@clisp.org>
11601
11602         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
11603         stpncpy.c uses it.
11604
11605 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
11606
11607         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
11608         The workaround isn't strictly needed for POSIX conformance, and
11609         it's too much of a pain to configure and maintain.  We'll ask
11610         people to fix their kernels instead.
11611         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
11612         (NANOSLEEP_BUG_WORKAROUND): Remove.
11613         (xnanosleep): Remove the workaround.
11614
11615 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
11616
11617         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
11618         Reported by Derek Price.
11619         (Include): Add "timespec.h".
11620
11621         * modules/xnanosleep (Depends-on): Remove gethrxtime.
11622
11623 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
11624
11625         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
11626         to detect nanosleep bug.
11627
11628 2005-03-01  Bruno Haible  <bruno@clisp.org>
11629
11630         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
11631
11632 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
11633
11634         * modules/gethrxtime: New file.
11635         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
11636         (Depends-on): Add gethrxtime.
11637         (configure.ac): Add gl_XNANOSLEEP.
11638         (Makefile.am): Remove lib_SOURCES line.
11639
11640 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
11641
11642         * m4/gethrxtime.m4, xnanosleep.m4: New files.
11643         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
11644
11645 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
11646
11647         * lib/gethrxtime.h, gethrxtime.c, xtime.h: New files.
11648         * lib/timespec.h (gettime): Return void, since it always
11649         succeeds now.  All uses changed.
11650         * lib/gettime.c (gettime) Likewise.
11651         [HAVE_NANOTIME]: Prefer nanotime.
11652         Assume gettimeofday succeeds, as POSIX requires.
11653         Assime time () succeeds, since other code already does.
11654         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
11655         (timespec_subtract): Remove.
11656         (NANOSLEEP_BUG_WORKAROUND): New constant.
11657         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
11658         things considerably.  Use it only on GNU/Linux hosts, since the
11659         workaround shouldn't be needed elsewhere.
11660
11661 2005-02-24  Bruno Haible  <bruno@clisp.org>
11662
11663         * modules/gettext (Files): Add m4/glibc2.m4.
11664
11665 2005-02-24  Bruno Haible  <bruno@clisp.org>
11666
11667         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
11668         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
11669         * m4/progtest.m4:
11670         Update from GNU gettext 0.14.2.
11671         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
11672
11673 2005-02-24  Bruno Haible  <bruno@clisp.org>
11674
11675         * lib/localcharset.c: Update from GNU gettext 0.14.2.
11676         * lib/config.charset: Update from GNU gettext 0.14.2.
11677
11678 2005-02-24  Bruno Haible  <bruno@clisp.org>
11679
11680         * lib/gettext.h: Update from GNU gettext 0.14.2.
11681
11682 2005-02-23  Simon Josefsson  <jas@extundo.com>
11683
11684         * m4/iconvme.m4: New file.
11685
11686 2005-02-23  Jim Meyering  <jim@meyering.net>
11687
11688         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
11689         change.
11690         Thanks to Bruno Haible for catching it.
11691
11692 2005-02-22  Simon Josefsson  <jas@extundo.com>
11693
11694         * modules/iconvme: New file.
11695
11696         * MODULES.html.sh: Add iconvme.
11697
11698 2005-02-22  Simon Josefsson  <jas@extundo.com>
11699
11700         * lib/iconvme.h, iconvme.c: New files, from libc.
11701
11702 2005-02-22  Simon Josefsson  <jas@extundo.com>
11703
11704         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
11705
11706 2005-02-22  Jim Meyering  <jim@meyering.net>
11707
11708         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
11709         s/ifndef/ifdef/.
11710
11711 2005-02-20  Neil Conway  <neilc@samurai.com>
11712
11713         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
11714         returned by OSX/Darwin if the specified buffer is not large
11715         enough for the hostname.
11716
11717 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11718
11719         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
11720         pass it to _help, otherwise the latter coredumps trying to
11721         dereference state.root_argp.
11722
11723 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
11724
11725         * modules/chdir-long (Depends-on): Add memrchr.
11726         * modules/memrchr (Files): Add lib/memrchr.h.
11727         (Include): "memrchr.h".
11728
11729 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
11730
11731         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
11732
11733 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
11734
11735         * lib/memrchr.h: New file.
11736         * lib/chdir-long.c: Include it.
11737         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
11738         Don't bother including stddef.h.
11739
11740 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
11741
11742         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
11743         inclusion.
11744         Include <sys/types.h>, for dev_t.
11745         (ME_DUMMY, ME_REMOTE): Move from here....
11746         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
11747         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
11748         Dmitry V. Levin.
11749         Include mountlist.h first, to test the interface.
11750
11751 2005-01-29  Bruno Haible  <bruno@clisp.org>
11752
11753         * lib/progname.c (program_name): Initialize.
11754         Needed when linking statically on MacOS X.
11755
11756 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
11757
11758         Sync from coreutils.
11759         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
11760         (Depends-on): Add c-strtod.
11761         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
11762
11763 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
11764
11765         Sync from coreutils.
11766         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
11767
11768         Remove files that are specific to coreutils.
11769         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
11770
11771 2005-01-28  Bruno Haible  <bruno@clisp.org>
11772
11773         * modules/javacomp: New file.
11774         * MODULES.html.sh (Java): Add javacomp.
11775
11776 2005-01-28  Bruno Haible  <bruno@clisp.org>
11777
11778         * m4/javacomp.m4: New file, from GNU gettext.
11779
11780 2005-01-28  Bruno Haible  <bruno@clisp.org>
11781
11782         * lib/javacomp.sh.in: New file, from GNU gettext.
11783         * lib/javacomp.h: New file, from GNU gettext.
11784         * lib/javacomp.c: New file, from GNU gettext.
11785
11786 2005-01-26  Simon Josefsson  <jas@extundo.com>
11787
11788         * lib/gai_strerror.c: Use GPL in header.
11789
11790 2005-01-26  Bruno Haible  <bruno@clisp.org>
11791
11792         * modules/javaexec: New file.
11793         * MODULES.html.sh (Java): Add javaexec.
11794
11795 2005-01-26  Bruno Haible  <bruno@clisp.org>
11796
11797         * m4/javaexec.m4: New file, from GNU gettext.
11798
11799 2005-01-26  Bruno Haible  <bruno@clisp.org>
11800
11801         * lib/javaexec.sh.in: New file, from GNU gettext.
11802         * lib/javaexec.h: New file, from GNU gettext.
11803         * lib/javaexec.c: New file, from GNU gettext.
11804
11805 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11806
11807         * modules/lchown (Depends-on): Remove lchown.h
11808
11809 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11810
11811         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
11812         must be defined if the header file was not found, in order
11813         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
11814
11815 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
11816
11817         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
11818         initializers for struct pentry_state.
11819         (__argp_error): Check return value of __asprintf
11820         (__argp_failure): Translate error message
11821
11822         * lib/argp-parse.c: Removed braces around the expansion of N_()
11823
11824 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
11825
11826         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
11827         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
11828         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
11829         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
11830         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
11831         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
11832         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
11833         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
11834         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
11835         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
11836         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
11837         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
11838         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
11839         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
11840         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
11841         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
11842         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
11843         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
11844         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
11845         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
11846         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
11847         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
11848         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
11849         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
11850         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
11851         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
11852         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
11853         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
11854         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
11855         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
11856         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
11857         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
11858         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
11859         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
11860         xstrtol.m4, xstrtoumax.m4, yesno.m4:
11861         Use an all-permissive copyright notice, recommended by RMS.
11862
11863 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
11864
11865         * modules/chdir-long (Depends-on): Remove mempcpy.
11866
11867 2005-01-21  Jim Meyering  <jim@meyering.net>
11868
11869         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
11870         same value as for Solaris 9.
11871
11872         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
11873         component length.  This included changing the parameter to be
11874         of type `char *' rather than `char const *'.
11875         * lib/chdir-long.h (chdir_long): Update prototype.
11876
11877         * lib/openat.c (fdopendir, fstatat): New functions.
11878         * lib/openat.h: Include headers required for use of DIR and struct
11879         stat.
11880         [AT_SYMLINK_NOFOLLOW]: Define.
11881         (fdopendir, fstatat): Add prototypes.
11882
11883 2005-01-21  Bruno Haible  <bruno@clisp.org>
11884
11885         * modules/classpath: New file.
11886         * MODULES.html.sh (Java): Add classpath.
11887
11888 2005-01-21  Bruno Haible  <bruno@clisp.org>
11889
11890         * lib/classpath.h: New file, from GNU gettext.
11891         * lib/classpath.c: New file, from GNU gettext.
11892
11893 2005-01-20  Simon Josefsson  <jas@extundo.com>
11894
11895         * modules/version-etc-fsf: New file.
11896
11897 2005-01-20  Simon Josefsson  <jas@extundo.com>
11898
11899         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
11900         * lib/version-etc.c: Remove version_etc_copyright.
11901         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
11902         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
11903
11904 2005-01-20  Simon Josefsson  <jas@extundo.com>
11905
11906         * lib/base64.h (isbase64): Add.
11907
11908         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
11909         using a unsigned prototype, don't inline.
11910         (base64_decode): Use it.
11911
11912 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
11913
11914         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
11915         it.
11916
11917 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
11918
11919         * lib/save-cwd.c (save_cwd): Remove code to support the case
11920         where fchdir is missing or flaky.
11921
11922 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
11923
11924         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
11925
11926 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
11927
11928         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
11929         AC_LIBSOURCES now does this.
11930         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
11931         with new ullong_max module.
11932
11933 2005-01-19  Bruno Haible  <bruno@clisp.org>
11934
11935         * modules/sh-quote: New file.
11936         * MODULES.html.sh (Executing programs): Add sh-quote.
11937
11938 2005-01-19  Bruno Haible  <bruno@clisp.org>
11939
11940         * lib/sh-quote.h: New file, from GNU gettext.
11941         * lib/sh-quote.c: New file, from GNU gettext.
11942
11943 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11944
11945         Merge from coreutils.
11946         * m4/ullong_max.m4: New file.
11947         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
11948         (gl_MACROS): Assume localeconv exists.
11949
11950 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11951
11952         Merge changes from coreutils, as described below in several
11953         changelogs dated today.
11954
11955         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
11956         (O_DIRECTORY): Remove; not needed here, since "." must be
11957         a directory.  All uses removed.
11958         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
11959         universal on Suns, and we also need to test for IRIX.
11960         Revamp code to use 'if' rather than '#if'.
11961         Avoid unnecessary comparison of cwd->desc to 0.
11962
11963         * lib/utimens.c (futimens): Robustify the previous patch, by checking
11964         for known valid error numbers rather than observed invalid ones.
11965
11966 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
11967
11968         * modules/ullong_max: New file.
11969
11970         * modules/chdir-long, modules/openat: New files.
11971         * modules/save-cwd (Depends-on): Depend on chdir-long.
11972         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
11973
11974 2005-01-18  Jim Meyering  <jim@meyering.net>
11975
11976         Merge from coreutils.
11977         * m4/chdir-long.m4, openat.m4: New files.
11978         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
11979         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
11980         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
11981         is sane and DOES follow symlinks.  Besides, testing 20 different
11982         systems found no broken chown implementations.
11983         Prompted by a change in rsync's copy of this macro.
11984         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
11985
11986         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
11987
11988         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
11989         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
11990         NULL-means-set-to-current-time semantics.
11991         Remove temporary file immediately, rather than waiting
11992         for configure's at-exit trap code to do it.
11993
11994 2005-01-18  Jim Meyering  <jim@meyering.net>
11995
11996         * lib/version-etc.c (version_etc_copyright): Update copyright date.
11997
11998         * lib/utimens.c (futimens): Account for the fact that futimes
11999         can also fail with errno == ENOSYS or errno == ENOENT.
12000         Patch from Dmitry V. Levin.
12001
12002         Change the name of the robust chdir function from chdir to chdir_long.
12003         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
12004         (restore_cwd): Use chdir_long, not chdir.
12005         * lib/chdir-long.c: Renamed from chdir.c.
12006         * lib/chdir-long.h: Renamed from chdir.h.
12007         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
12008         Hurd.
12009
12010 2005-01-18  Bruno Haible  <bruno@clisp.org>
12011
12012         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
12013         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
12014         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
12015         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
12016         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
12017         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
12018         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
12019         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
12020         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
12021         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
12022         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
12023         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
12024         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
12025         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
12026         Use an all-permissive copyright notice, recommended by RMS.
12027
12028 2005-01-18  Bob Proulx  <bob@proulx.com>
12029
12030         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
12031         simplify offsetof() macro construct to avoid compile failure with
12032         native HP-UX 11.0 ANSI C compiler.
12033
12034 2005-01-17  Bruno Haible  <bruno@clisp.org>
12035
12036         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
12037         redundant because stpncpy.m4 takes care of it.
12038
12039 2005-01-17  Bruno Haible  <bruno@clisp.org>
12040
12041         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
12042
12043 2005-01-17  Bruno Haible  <bruno@clisp.org>
12044
12045         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
12046         used.
12047
12048 2005-01-17  Bruno Haible  <bruno@clisp.org>
12049
12050         * lib/fwriteerror.h (fwriteerror): Change specification to include
12051         fclose.
12052         * lib/fwriteerror.c: Include <stdbool.h>.
12053         (fwriteerror): At the end, close the file stream. Record whether
12054         stdout was already closed.
12055
12056 2005-01-17  Bruno Haible  <bruno@clisp.org>
12057
12058         * lib/execute.c (environ): Declare if needed.
12059         * lib/pipe.c (environ): Likewise.
12060         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
12061
12062 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12063
12064         * modules/argp: Depend on vsnprintf
12065
12066 2005-01-10  Jim Meyering  <jim@meyering.net>
12067
12068         * modules/closeout (Depends-on): Add atexit.
12069
12070 2005-01-06  Bruno Haible  <bruno@clisp.org>
12071
12072         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
12073
12074 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
12075
12076         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
12077         definitions to be after all include files, to avoid collisions.
12078         Problem reported by Bob Proulx.
12079
12080 2005-01-04  Jim Meyering  <jim@meyering.net>
12081
12082         Changes imported from coreutils.
12083         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
12084         as the mkstemp template, use a temporary directory and an
12085         8.3-friendly template to avoid trouble on systems like DJGPP.
12086         Reported by Juan M. Guerrero via Stepan Kasal.
12087         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
12088         close. Remove the temporary directory right away, rather than waiting
12089         for configure's at-exit trap code to do it.
12090         Suggestion from Stepan Kasal.
12091
12092 2005-01-01  Simon Josefsson  <jas@extundo.com>
12093
12094         * gnulib-tool: Print #include directives when --import'ing.
12095
12096 2004-12-28  Simon Josefsson  <jas@extundo.com>
12097
12098         * tests/test-base64.c: Include required header files.  Remove
12099         unused variables.
12100
12101 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12102
12103         * modules/error (Depends-on): Remove gettext.
12104
12105 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
12106
12107         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
12108         not needed.  This removes a dependency on the gettext module.
12109         [defined _LIBC]: Do not include <libintl.h>; not needed.
12110
12111 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12112
12113         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
12114         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
12115
12116 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
12117
12118         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
12119         HAVE_DECL_STRTOLD.
12120
12121 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12122
12123         * modules/getdate (Depends-on): Remove alloca-opt.
12124
12125 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12126
12127         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
12128
12129 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
12130
12131         * lib/argp-parse.c: Include <stddef.h>.
12132         (alignof, alignto): New macros.
12133         (parser_init): Don't assume that void * is aligned sufficiently
12134         for struct option.
12135
12136         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
12137         need to extend the stack.
12138         (YYINITDEPTH): New macro, so that the initial stack isn't overly
12139         large.
12140
12141 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12142
12143         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
12144
12145 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12146
12147         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
12148         (2004-10-24) change.  Apparently this was a false alarm.
12149
12150         * modules/getdate: Depend on alloca-opt, not alloca.
12151
12152 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
12153
12154         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
12155         Remove now-obsolete comment about AIX.
12156         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
12157         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
12158         (YYMAXDEPTH): New macro.
12159
12160 2004-12-18  Simon Josefsson  <jas@extundo.com>
12161
12162         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
12163
12164 2004-12-18  Bruno Haible  <bruno@clisp.org>
12165
12166         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
12167
12168 2004-12-18  Bruno Haible  <bruno@clisp.org>
12169
12170         * lib/fatal-signal.c (fatal_signals): Make non-const.
12171         (init_fatal_signals): New function.
12172         (uninstall_handlers, install_handlers): Ignore signals that were set to
12173         SIG_IGN.
12174         (at_fatal_signal): Call init_fatal_signals.
12175         (init_fatal_signal_set): Likewise. Ignore signals that were set to
12176         SIG_IGN.
12177         Reported by Paul Eggert.
12178
12179 2004-12-18  Bruno Haible  <bruno@clisp.org>
12180
12181         * doc/alloca.texi: New file.
12182         * doc/alloca-opt.texi: New file.
12183
12184 2004-12-17  Jim Meyering  <jim@meyering.net>
12185
12186         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
12187         Otherwise, install-sh could exit with improper exit status when
12188         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
12189
12190 2004-12-16  Simon Josefsson  <jas@extundo.com>
12191
12192         * tests/test-base64.c: Add license.
12193
12194 2004-12-15  Stepan Kasal  <address@hidden>
12195
12196         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
12197
12198 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
12199
12200         * modules/getcwd (Files): Add m4/d-ino.m4.
12201         Suggested by Mark D. Baushke.
12202
12203 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
12204
12205         * lib/getdate.y (textint): New member "negative".
12206         (time_zone_hhmm): New function.
12207         Expect 14 shift-reduce conflicts, not 13.
12208         (o_colon_minutes): New rule.
12209         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
12210         (yylex): Set the "negative" member of signed numbers.
12211
12212 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
12213
12214         * doc/getdate.texi (Time of day items, Time zone items):
12215         Describe new formats +00:00, UTC+00:00.
12216
12217 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
12218
12219         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
12220         spurious "-l"s.  Problem reported by Stepan Kasal.
12221
12222 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
12223
12224         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
12225         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
12226
12227 2004-12-04  Simon Josefsson  <jas@extundo.com>
12228
12229         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
12230         Vandoorselaere <yoann@prelude-ids.org>.
12231
12232 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12233
12234         Changes imported from coreutils.
12235         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
12236         exist.
12237         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
12238
12239 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12240
12241         Changes imported from coreutils.
12242         * lib/hard-locale.c: Assume <locale.h> exists.
12243         Include "strdup.h".
12244         (GLIBC_VERSION): New macro.
12245         (hard_locale): Assume setlocale exists.
12246         Rewrite to avoid #ifdef.
12247         Use strdup rather than malloc + strcpy.
12248         * lib/human.c: Assume <locale.h> exists.
12249         (human_readable): Assume localeconv exists.
12250
12251 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
12252
12253         * modules/hard-locale (Depends-on): Add strdup.
12254
12255 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
12256
12257         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
12258         convert T2, not T.  (Imported from libc.)
12259
12260 2004-11-30  Simon Josefsson  <jas@extundo.com>
12261
12262         * modules/restrict (License): Change to LGPL.
12263
12264 2004-11-30  Simon Josefsson  <jas@extundo.com>
12265
12266         * m4/restrict.m4: Add copyright and copying conditions.
12267
12268 2004-11-30  Simon Josefsson  <jas@extundo.com>
12269
12270         * m4/base64.m4: New file.
12271
12272 2004-11-30  Simon Josefsson  <jas@extundo.com>
12273
12274         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
12275         base64.
12276
12277         * tests/test-base64.c: New file.
12278
12279         * modules/base64: New file.
12280
12281 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
12282
12283         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
12284         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
12285
12286         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
12287
12288 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
12289
12290         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
12291         (__getcwd.c): Don't restore errno; glibc doesn't.
12292         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
12293         first, falling back to our code only if its results look suspicious.
12294         Ensure that the resulting buffer is only as large as necessary.
12295
12296         * lib/readutmp.c: Include readutmp.h first.
12297         Include <errno.h>, since readutmp.h no longer does that.
12298         * lib/readutmp.h: Don't include <errno.h>,
12299         <sys/param.h>, <time.h>; not needed to establish interface.
12300         (errno): Remove decl.
12301         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
12302         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
12303         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
12304
12305 2004-11-28  Simon Josefsson  <jas@extundo.com>
12306
12307         * lib/base64.h, base64.c: New file.
12308
12309 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
12310
12311         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
12312
12313 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
12314
12315         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
12316         (Depends-on): Remove pathmax, same.  Add mempcpy.
12317         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
12318         (Makefile.am): Append getcwd.h to lib_SOURCES.
12319         (Include): Add getcwd.h.
12320         (Maintainer): Change from Jim Meyering to "all, glibc",
12321         since getdate now uses intended-for-glibc code.
12322         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
12323         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
12324
12325 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
12326
12327         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
12328         HP's ANSI C compiler.
12329         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
12330         Declaring int functions causes warnings on some modern systems and
12331         shouldn't be needed to compile on ancient ones.
12332         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
12333         defined.
12334
12335         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
12336         with the following changes.
12337         (__set_errno): Parenthesize properly.
12338         Include <stdbool.h>.
12339         (MIN, MAX, MATCHING_INO): New macros.
12340         (__getcwd): Define with prototype, not K&R form.
12341         Use heuristics to allocate default buffer on stack if possible.
12342         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
12343         behavior, and to avoid the PATH_MAX limit when computing
12344         ../../../../...
12345         Use MATCHING_INO to compare inode number to file.
12346         Check for arithmetic overflow in size calculations.
12347         Fix bug in reallocation of dot array that caused getcwd to fail
12348         on directories nested deeper than 75.
12349         Be more careful about saving errno on error.
12350         Do not use realloc; use only free+malloc, as this is a bit
12351         more flexible and avoids a needless copy operation.
12352         Do not inspect st_dev and st_ino for symbolic links; POSIX
12353         doesn't specify the latter.
12354         Check for closedir errors.
12355         Avoid needless casts.
12356         Use "#ifdef weak_alias" around weak_alias, to be like other
12357         glibc code.
12358         The following changes to getcwd.c have effect only when used in
12359         gnulib; they have no effect inside glibc proper.
12360         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
12361         as alloca isn't used.
12362         (alloca, __alloca): Likewise.
12363         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
12364         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
12365         unconditionally, as gnulib assumes C89 or better.
12366         Do not include <sys/param.h>.
12367         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
12368         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
12369         better.
12370         (NULL) [!defined NULL]: Remove; we assume C89 or better.
12371         Include <dirent.h> in a way that is compatible with modern Autoconf.
12372         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
12373         New macros, if not already defined.
12374         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
12375         Use "_LIBC", not "defined _LIBC", for consistency.
12376         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
12377         a mempcpy module.
12378         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
12379         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
12380         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
12381         credit only to Jim Meyering and adjust the copyright dates.
12382         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
12383         <stdlib.h>, <unistd.h>, "pathmax.h".
12384         Instead, include "xgetcwd.h" (first) and "getcwd.h".
12385         (INITIAL_BUFFER_SIZE): Remove.
12386         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
12387
12388 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
12389
12390         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
12391         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
12392         Use the _ONCE methods, for efficiency.
12393         Check for fcntl.h.  In test program, include <errno.h>
12394         and <fcntl.h> if available.  Remove old K&R cruft from
12395         test program.  Check for common errors in GNU/Linux,
12396         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
12397         don't do AC_LIBOBJ, as that's getcwd.m4's job.
12398         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
12399         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
12400         name accordingly.
12401         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
12402         accommodate new getcwd.c.
12403         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
12404         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
12405         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
12406         that's all we need now.
12407
12408 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12409
12410         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
12411         argp-parse.c depends on getopt internals, that means we should
12412         always use our getopt, to be on the safe side.
12413         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
12414         order not to spoil the result of an eventual previous invocation
12415         of gl_GETOPT_SUBSTITUTE.
12416
12417 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
12418
12419         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
12420         redefinition warnings. To avoid them, include the defines
12421         in `#if !defined __need_getopt ... #endif'. The only place
12422         where __getopt_argv_const is used is in definitions
12423         of getopt_long and getopt_long_only below, which are as well
12424         protected by `#ifndef __need_getopt'.
12425         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
12426         __need_getopt after including <stdio.h> and <unistd.h> These
12427         headers might have defined it.
12428
12429 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
12430
12431         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
12432
12433 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
12434
12435         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
12436         (futimens): New function, which uses futimes if available.
12437         (futimens, utimens): Support timespec==NULL, with same semantics
12438         as utime and utimens.
12439         * lib/utimens.h (futimens): New decl.
12440
12441 2004-11-23  Jim Meyering  <jim@meyering.net>
12442
12443         * lib/getopt_.h: Remove trailing blanks.
12444
12445 2004-11-23  Jim Meyering  <jim@meyering.net>
12446
12447         * lib/__fpending.c: Add comment.
12448
12449 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
12450
12451         * modules/canonicalize (Depends-on): Add xreadlink.
12452         Problem reported by James Youngman.
12453
12454 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
12455
12456         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
12457         New macros.
12458         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
12459         optopt): Use them instead of invoking ## directly; otherwise, the
12460         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
12461
12462 2004-11-19  Bruno Haible  <bruno@clisp.org>
12463
12464         * lib/strtok_r.c: Move comments from here...
12465         * lib/strtok_r.h: ... to here.
12466
12467 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
12468
12469         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
12470         implementations that mishandle size_t overflow.
12471
12472 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
12473
12474         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
12475         might fail.  Problem reported by Yoann Vandoorselaere.
12476         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
12477         implementations that mishandle size_t overflow.
12478
12479 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12480
12481         * modules/canon-host (Depends-on): Add strdup.
12482
12483 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12484
12485         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
12486
12487 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12488
12489         * lib/canon-host.c: Include "strdup.h".
12490         (canon_host): Use getaddrinfo if available, so that IPv6 works.
12491         Use strdup instead of malloc/strcpy to duplicate strings.
12492
12493         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
12494         (human_space_before_unit): New constant.
12495         * lib/human.c (human_readable): Support it.
12496
12497         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
12498         (xgetcwd): Set errno correctly when failing.
12499         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
12500         the failure is actually due to a PATH_MAX problem.
12501
12502         Further getopt changes to make it more likely that glibc will
12503         buy the changes back.
12504         * lib/getopt.c (POSIXLY_CORRECT): New constant.
12505         (getopt): Use it, so to preserve glibc semantic
12506         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
12507         when compiling for libc.
12508         * lib/getopt_.h (__getopt_argv_const): Bring it back.
12509         (getopt_long, getopt_long_only): Use it.
12510
12511         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
12512         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
12513         (getopt): Argv is now char * const *, as per standard.
12514         (_getopt_internal_r, _getopt_internal): Argv is now char **,
12515         not char *__getopt_argv_const *.
12516         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
12517         _getopt_long_only_r): Likewise.
12518         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
12519         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
12520         _getopt_long_r, _getopt_long_only_r): Likewise.
12521         * lib/getopt_.h (__getopt_argv_const): Remove.
12522         (getopt): Argv is now char * const *, as per standard.
12523
12524         * lib/getdate.y (tORDINAL): New token.
12525         (day, relunit): Allow it for relative times.
12526         (relative_time_table): Use tORDINAL for ordinals.
12527
12528 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
12529
12530         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
12531         Document that "second" isn't allowed as an ordinal number.
12532
12533 2004-11-16  Jim Meyering  <jim@meyering.net>
12534
12535         * modules/closeout (Depends-on): Add fpending.
12536
12537 2004-11-15  Jim Meyering  <jim@meyering.net>
12538
12539         * lib/closeout.c: Include "__fpending.h" once again.
12540         Include <stdbool.h>.
12541         (close_stdout): Don't fail just because stdout was closed initially,
12542         since some programs don't write to stdout in the normal course of
12543         operation (other than --version and --help), and we don't want this
12544         function to make e.g. `touch file >&-' fail.
12545         But do fail if it was closed and someone has tried to write to it.
12546         E.g., `printf foo >&-' must fail.
12547
12548 2004-11-13  Jim Meyering  <jim@meyering.net>
12549
12550         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
12551
12552 2004-11-12  Simon Josefsson  <jas@extundo.com>
12553
12554         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
12555         small doc fix is still pending.
12556
12557 2004-11-11  Simon Josefsson  <jas@extundo.com>
12558
12559         * modules/strtok_r: New file.
12560
12561         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12562         strtok_r.
12563
12564 2004-11-11  Simon Josefsson  <jas@extundo.com>
12565
12566         * m4/strtok_r.m4: New file.
12567
12568         * m4/getopt.m4: Replace opterr.
12569
12570 2004-11-11  Simon Josefsson  <jas@extundo.com>
12571
12572         * lib/strtok_r.h, strtok_r.c: New file.
12573
12574 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
12575
12576         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
12577         of replacing opterr, getopt, etc.  This should handle the
12578         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
12579
12580 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
12581
12582         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
12583         we can stop lying to compilers about the constness of argv when we
12584         are compiled outside glibc.
12585         (getopt, getopt_long, getopt_long_only): Use it.
12586         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
12587         _getopt_internal, getopt): Likewise.
12588         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
12589         _getopt_long_only_r): Likewise.
12590         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
12591         _getopt_long_r, _getopt_long_only_r): Likewise.
12592
12593         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
12594         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
12595         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
12596         the other external symbols.
12597         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
12598         declaration, since the above renaming now works around collisions.
12599
12600 2004-11-11  Jim Meyering  <jim@meyering.net>
12601
12602         * lib/linebreak.c: Remove trailing blanks.
12603         * lib/alloca_.h: Likewise.
12604         * lib/acosl.c: Likewise.
12605         * lib/euidaccess.c: Likewise.
12606         * lib/allocsa.h: Likewise.
12607
12608 2004-11-10  Simon Josefsson  <jas@extundo.com>
12609
12610         * m4/getaddrinfo.m4: New file.
12611
12612 2004-11-10  Simon Josefsson  <jas@extundo.com>
12613
12614         * lib/getaddrinfo.h, getaddrinfo.c: New files.
12615
12616 2004-11-10  Simon Josefsson  <jas@extundo.com>
12617
12618         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
12619         getaddrinfo.
12620
12621         * modules/getaddrinfo: New file.
12622
12623 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
12624
12625         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
12626
12627 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
12628
12629         * lib/mktime.c (SHR): New macro, which is a portable
12630         substitute for >> that should work even on Crays.
12631         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
12632         Problem reported by Mark D. Baushke in
12633         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
12634         * lib/getdate.y (SHR): Likewise.
12635         (tm_diff): Use it.
12636         * lib/strftime.c (SHR): Likewise.
12637         (tm_diff): Use it.
12638         * lib/quotearg.c (struct quoting_options): Use unsigned int for
12639         quote_these_too, so that right shifts are well defined.  All uses
12640         changed.
12641
12642 2004-11-10  Jim Meyering  <jim@meyering.net>
12643
12644         Ensure that no close failure goes unreported.
12645         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
12646         return early when it seems there's nothing to flush.
12647         Don't include __fpending.h.
12648
12649 2004-11-10  Jim Meyering  <jim@meyering.net>
12650
12651         * modules/closeout (Depends-on): Remove fpending.
12652
12653 2004-11-10  Jim Meyering  <jim@meyering.net>
12654
12655         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
12656
12657 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
12658
12659         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
12660         gl_FUNC_STRFTIME.
12661         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
12662         and AC_REQUIRE when possible, to avoid duplicate checks.
12663         Check for <wchar.h>.
12664
12665 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
12666
12667         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
12668
12669 2004-11-09  Bruno Haible  <bruno@clisp.org>
12670
12671         * m4/sockpfaf.m4: New file.
12672
12673 2004-11-05  Bruno Haible  <bruno@clisp.org>
12674
12675         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
12676         Reported by Mark D. Baushke <mdb@cvshome.org>.
12677
12678 2004-11-04  Bruno Haible  <bruno@clisp.org>
12679
12680         2004-09-11  Bruno Haible  <bruno@clisp.org>
12681                 * allocsa.valgrind: New file.
12682         2004-02-06  Bruno Haible  <bruno@clisp.org>
12683                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
12684                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
12685                 Reported by Christopher Seip <chris.seip@hp.com>.
12686
12687 2004-11-04  Bruno Haible  <bruno@clisp.org>
12688
12689         * modules/allocsa (Files): Add lib/allocsa.valgrind.
12690         (Makefile.am): Distribute it.
12691
12692 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
12693
12694         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
12695         with errno == ERANGE if the buffer is too small.
12696         Problem reported by Mark D. Baushke.
12697
12698 2004-11-03  Albert Chin <china@thewrittenword.com>
12699             Paul Eggert  <eggert@cs.ucla.edu>
12700
12701         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
12702         equivalent, substitute $ac_type for equivalent type rather than
12703         blindly using uint32_t *always* which won't work if uint32_t is not
12704         available.  Define _UINT32_T to work around typedef of uint32_t if
12705         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
12706         2.5.1.
12707
12708 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
12709
12710         * m4/jm-macros.m4: Sync from coreutils.
12711         (gl_MACROS): Check for mbrlen, for pathchk.
12712         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
12713
12714 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
12715
12716         * lib/xreadlink.c (MAXSIZE): New macro.
12717         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
12718         size does not exceed MAXSIZE.  Avoid cast.
12719         As suggested by Mark D. Baushke in
12720         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
12721         if readlink fails with buffer size just under MAXSIZE, try again
12722         with MAXSIZE.
12723
12724 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
12725
12726         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
12727
12728 2004-11-02  Derek R. Price  <derek@ximbiot.com>
12729         and  Paul Eggert  <eggert@cs.ucla.edu>
12730
12731         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
12732         (get_date): Overparenthesize to avoid GCC warning.
12733
12734 2004-11-02  Bruno Haible  <bruno@clisp.org>
12735
12736         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
12737         returns void.
12738
12739 2004-11-02  Bruno Haible  <bruno@clisp.org>
12740
12741         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
12742         function returns void.
12743
12744 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
12745
12746         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
12747         fflush_unlocked, flockfile, funlockfile, funlockfile,
12748         fputs_unlocked, putc_unlocked.
12749
12750 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
12751
12752         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
12753         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
12754         already declared.
12755
12756 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
12757
12758         * modules/getdate (Files): Add doc/getdate.texi.
12759         (Depends-on): Add setenv, xalloc.
12760
12761 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
12762
12763         * lib/getdate.y: Add support for TZ="foo" within a date string.
12764         Fix some bugs near time_t boundaries.  Reject dates with
12765         out-of-range components, e.g., "Sept 31".
12766         Include <stdlib.h>, "setenv.h", "xalloc.h".
12767         (ISDIGIT_LOCALE): Remove; unused.
12768         Note that the TZ and time functions used here are not reentrant.
12769         (mktime_ok, get_tz): New functions.
12770         (TZBUFSIZE): New constant.
12771         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
12772         This requires that we sometimes generate our own TZ="XXX..." setting.
12773
12774 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
12775
12776         * doc/getdate.texi: New file, from coreutils with modifications for
12777         the new TZ parsing.
12778
12779 2004-10-27  Derek R. Price  <derek@ximbiot.com>
12780
12781         * lib/mktime.c (not_equal_tm): Remove redundant check.
12782
12783 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
12784
12785         * modules/regex (lib_SOURCES): Add regex.c.
12786         Reported by James Youngman in
12787         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
12788
12789 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
12790
12791         * lib/getdate.y: Use Bison 1.875 features, and some minor
12792         code cleanups.  This change does not affect semantics.
12793         Don't include <stdlib.h>; no longer needed.
12794         Don't include unlocked-io.h; only the "#if TEST" code uses
12795         stdio, and performance isn't crucial there.
12796         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
12797         Bison 1.875 features as described below.
12798         All uses of "PC." replaced by "pc->".
12799         (YYSTYPE): Add a forward declaration.
12800         (yylex, yyerror): Use full prototypes in forward decls.
12801         Use "%pure-parser" rather than obsolescent "%pure_parser".
12802         Use %parse-param and %lex-param instead of obsolescent
12803         YYPARSE_PARAM and YYLEX_PARAM.
12804         (meridian_table, month_and_day_table, time_units_table,
12805         relative_time_table, time_zone_table, military_table,
12806         lookup_zone, lookup_word, get_date):
12807         Use NULL instead of 0 where appropriate.
12808         (to_hour): Avoid abort (), to avoid a dependency on
12809         stdlib.h.
12810         (yyerror, yylex): Now accepts parser_control * arg.
12811         (main) [TEST]: Use '\0' rather than 0 for char.
12812
12813 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
12814
12815         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
12816
12817 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
12818
12819         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
12820         It's now the caller's responsibility to handle the case where
12821         !HAVE_GETPAGESIZE && !defined getpagesize.
12822
12823         * lib/mktime.c (leapyear): Arg is long int, not int.
12824
12825 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
12826
12827         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
12828
12829 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
12830
12831         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
12832         missing.  Problem reported by James Youngman.
12833
12834 2004-10-16  Simon Josefsson  <jas@extundo.com>
12835
12836         * gnulib-tool: Fix comments.  Fix parse problem.
12837         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
12838
12839 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
12840
12841         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
12842         implementation of getopt_long.  Problem reported by Alexander Taler in:
12843         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
12844
12845 2004-10-15  Bruno Haible  <bruno@clisp.org>
12846
12847         * gnulib-tool: Untabify. Initialize supplied_libname.
12848         (func_usage): More homogenous output.
12849         (func_modules_transitive_closure, func_modules_to_filelist,
12850         func_emit_lib_Makefile_am): New functions.
12851         (func_import): New function, extracted from big case statement. Use
12852         func_get_license, func_modules_transitive_closure,
12853         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
12854         opt_lgpl. Don't use test -a, as it's not portable.
12855         (func_create_testdir): Use func_modules_transitive_closure,
12856         func_modules_to_filelist, func_emit_lib_Makefile_am.
12857
12858 2004-10-15  Bruno Haible  <bruno@clisp.org>
12859
12860         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
12861
12862 2004-10-15  Bruno Haible  <bruno@clisp.org>
12863
12864         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
12865         the portions belonging to each module.
12866         Suggested by Derek Robert Price <derek@ximbiot.com>.
12867
12868 2004-10-12  Simon Josefsson  <jas@extundo.com>
12869
12870         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
12871         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
12872         to real functions.
12873
12874 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12875
12876         * modules/vsnprintf: New file.
12877
12878 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12879
12880         * m4/vsnprintf.m4: New file.
12881
12882 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
12883
12884         * lib/vsnprintf.h: New file.
12885         * lib/vsnprintf.c: New file.
12886
12887 2004-10-11  Bruno Haible  <bruno@clisp.org>
12888
12889         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
12890         vsnprintf.
12891
12892 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
12893
12894         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
12895
12896 2004-10-07  Bruno Haible  <bruno@clisp.org>
12897
12898         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
12899         fits into the provided buffer.
12900
12901 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
12902
12903         * lib/diacrit.c, diacrit.h: Add GPL notice.
12904
12905         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
12906         notice.
12907         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
12908         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
12909         This avoids a potential constant-folding bug.
12910
12911 2004-10-05  Bruno Haible  <bruno@clisp.org>
12912
12913         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
12914         for the declaration of strsep.
12915
12916 2004-10-05  Bruno Haible  <bruno@clisp.org>
12917
12918         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
12919
12920 2004-10-04  Simon Josefsson  <jas@extundo.com>
12921
12922         * modules/memmem: New file.
12923         * tests/test-memmem.c: New file.
12924         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
12925
12926 2004-10-04  Simon Josefsson  <jas@extundo.com>
12927
12928         * m4/memmem.m4: New file.
12929
12930 2004-10-04  Simon Josefsson  <jas@extundo.com>
12931
12932         * lib/memmem.h: New file.
12933         * lib/memmem.c: New file, taken from glibc.
12934
12935 2004-10-04  Simon Josefsson  <jas@extundo.com>
12936
12937         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
12938         '#ifdef USE_UNLOCKED_IO'.
12939
12940 2004-10-04  Simon Josefsson  <jas@extundo.com>
12941
12942         * config/srclist.txt: Add memmem from glibc.
12943
12944 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12945
12946         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
12947
12948         * modules/argmatch, modules/argp, modules/closeout, modules/error,
12949         modules/exclude, modules/getdate, modules/getline,
12950         modules/getndelim2, modules/getpass, modules/getpass-gnu,
12951         modules/getusershell, modules/linebuffer, modules/md5,
12952         modules/mountlist, modules/posixtm, modules/readtokens,
12953         modules/readutmp, modules/regex, modules/sha1,
12954         modules/version-etc, modules/yesno:
12955         Remove dependency on unlocked-io.
12956
12957 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12958
12959         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
12960
12961         * m4/unlocked-io.m4: Add copyright notice.
12962         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
12963
12964 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12965
12966         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
12967         * lib/xmalloc.c (xmemdup): Likewise.
12968         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
12969         XFREE): Remove these long-obsolescent macros.
12970         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
12971         * lib/xstrdup.c: Remove.
12972
12973         * lib/regex.c (re_comp): Cast gettext return value to char *,
12974         Problem reported by Martin Neitzel via Mark D. Baushke.
12975
12976 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
12977
12978         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
12979         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
12980         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
12981         regex.c, sha1.c, version-etc.c, yesno.c:
12982         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
12983         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
12984         the includer's responsibility.
12985
12986         Sync from coreutils.
12987
12988         * lib/modechange.c (mode_compile): Don't decrement a pointer that
12989         points to the start of a string, as the C Standard says the
12990         resulting behavior is undefined.
12991
12992         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
12993         simple -> simple_backups, numbered_existing ->
12994         numbered_existing_backups, numbered -> numbered_backups
12995         to avoid shadowing problems.  All uses changed.
12996         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
12997         * lib/backupfile.c (check_extension, numbered_backup):
12998         Rename locals to avoid shadowing 'basename'.
12999         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
13000         once.
13001
13002         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
13003         * lib/.cvsignore: Add getopt.h.
13004
13005 2004-10-04  Bruno Haible  <bruno@clisp.org>
13006
13007         * modules/README: New file.
13008         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
13009         not a module.
13010
13011 2004-10-02  Jim Meyering  <jim@meyering.net>
13012
13013         * lib/dirfd.h, getpagesize.h: Add copyright notice.
13014
13015 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13016
13017         * modules/strsep: New file.
13018
13019 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13020
13021         * m4/strsep.m4: New file.
13022
13023 2004-10-01  Yoann Vandoorselaere <yoann@prelude-ids.org>
13024
13025         * lib/strsep.h: New file.
13026         * lib/strsep.c: New file.
13027
13028 2004-10-01  Simon Josefsson  <jas@extundo.com>
13029
13030         * lib/snprintf.c (snprintf): Handle size==0.
13031
13032 2004-10-01  Simon Josefsson  <jas@extundo.com>
13033             Bruno Haible  <bruno@clisp.org>
13034
13035         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
13036         (snprintf): Declare 'args'.
13037
13038 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
13039
13040         * lib/snprintf.c: Remove comments as to why each header is needed.
13041
13042 2004-10-01  Bruno Haible  <bruno@clisp.org>
13043
13044         * MODULES.html.sh: Add strsep.
13045
13046 2004-09-30  Simon Josefsson  <jas@extundo.com>
13047
13048         * modules/snprintf: New file.
13049
13050 2004-09-30  Simon Josefsson  <jas@extundo.com>
13051
13052         * m4/snprintf.m4: New file.
13053
13054 2004-09-30  Simon Josefsson  <jas@extundo.com>
13055
13056         * lib/snprintf.h, snprintf.c: New files.
13057
13058 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
13059
13060         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
13061         (hol_entry_help): Never translate an empty string.
13062         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
13063         * lib/argp.h (OPTION_NO_TRANS): New option.
13064
13065 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13066
13067         * modules/argp (Maintainer): Replace Simon Josefsson
13068         by Sergey Poznyakoff.
13069
13070 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13071
13072         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
13073         changes merged back into glibc.
13074
13075 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
13076
13077         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
13078
13079 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
13080
13081         * lib/xvasprintf.c: Include xalloc.h.
13082         (xvasprintf): Use xalloc_die, not xmalloc_die.
13083
13084 2004-09-29  Bruno Haible  <bruno@clisp.org>
13085
13086         * modules/alloca-opt: New file, derived from modules/alloca.
13087         * modules/allocsa: Depend on alloca-opt instead of alloca.
13088         * modules/setenv: Likewise.
13089         * modules/vasnprintf: Likewise.
13090         * MODULES.html.sh: Add alloca-opt.
13091
13092 2004-09-28  Simon Josefsson  <jas@extundo.com>
13093
13094         * gnulib-tool: New parameter --lgpl, to asseert that modules are
13095         LGPL, and to replace license template from GPL to LGPL.
13096
13097 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13098
13099         * modules/dummy: Change license to LGPL.
13100
13101 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
13102
13103         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
13104
13105 2004-09-24  Simon Josefsson  <jas@extundo.com>
13106
13107         * modules/minmax (License): Change from GPL to LGPL.
13108
13109 2004-09-23  Simon Josefsson  <jas@extundo.com>
13110
13111         * gnulib-tool (--import): Typo.
13112
13113 2004-09-23  Simon Josefsson  <jas@extundo.com>
13114
13115         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
13116
13117 2004-09-22  Bruno Haible  <bruno@clisp.org>
13118
13119         * modules/*: Add 'License' field.
13120         * gnulib-tool: Accept --extract-license option.
13121         (func_get_license): New function.
13122
13123 2004-09-21  Bruno Haible  <bruno@clisp.org>
13124
13125         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
13126         Reported by Simon Josefsson.
13127
13128 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13129
13130         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
13131         gl_AC_TYPE_LONG_LONG.
13132
13133 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
13134
13135         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
13136
13137 2004-09-18  Simon Josefsson  <jas@extundo.com>
13138         and  Paul Eggert  <eggert@cs.ucla.edu>
13139
13140         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
13141         calls with autoreconf.  Define GL_LIB.
13142
13143 2004-09-14  Karl Berry  <karl@gnu.org>
13144
13145         * config/srclist.txt: unsync setenv.c, sigh.
13146
13147 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13148
13149         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
13150         Problem reported by Bruno Haible in:
13151         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
13152
13153 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
13154
13155         * config/srclist.txt: Comment out argp-pvh.c.
13156
13157 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
13158
13159         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
13160         in case some system header has #define'd it.  Problem reported by
13161         Soeren D. Schulze in
13162         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
13163
13164 2004-09-09  Karl Berry  <karl@gnu.org>
13165
13166         * regex.[ch]: delete from the root.  These were supposed to be
13167                 synced with emacs cvs, but this has not happened for about
13168                 a year, and anyway nothing else uses emacs regex.[ch].
13169                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
13170                 lib/regex[.ch] is untouched.
13171
13172 2004-09-09  Bruno Haible  <bruno@clisp.org>
13173
13174         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
13175
13176 2004-09-09  Bruno Haible  <bruno@clisp.org>
13177
13178         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
13179         modifications.
13180         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
13181
13182 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
13183
13184         * modules/xvasprintf: New file.
13185         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
13186
13187 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
13188
13189         * lib/xvasprintf.h: New file.
13190         * lib/xvasprintf.c: New file.
13191         * lib/xasprintf.c: New file.
13192
13193 2004-09-08  Bruno Haible  <bruno@clisp.org>
13194
13195         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
13196
13197 2004-09-08  Bruno Haible  <bruno@clisp.org>
13198
13199         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
13200         length is > INT_MAX.
13201         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
13202         more.
13203
13204 2004-09-08  Bruno Haible  <bruno@clisp.org>
13205
13206         * lib/stdint_.h: New file, taken from GNU clisp.
13207
13208 2004-09-08  Bruno Haible  <bruno@clisp.org>
13209             Oskar Liljeblad  <oskar@osk.mine.nu>
13210
13211         * modules/stdint: New file.
13212         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
13213
13214 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13215
13216         Import from coreutils.
13217         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
13218         strings on unbounded length.  alloca's performance benefits aren't
13219         that important here.
13220         (V_STRDUP): Remove.
13221         (parse_with_separator): New function, with most of the internals
13222         of the old parse_user_spec.  Allow user to omit both user and group,
13223         for compatibility with FreeBSD.
13224         Clone only the user name, not the entire spec.
13225         Do not set *uid, *gid unless entirely successful.
13226         Avoid memory leak in some failing cases.
13227         Fix regression for USER.GROUP reported by Dmitry V. Levin in
13228         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
13229         (parse_user_spec): Rewrite to use parse_with_separator.
13230
13231 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13232
13233         * modules/userspec: Don't depend on alloca.
13234
13235 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
13236
13237         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
13238
13239 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
13240
13241         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
13242         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
13243         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
13244
13245 2004-08-16  Simon Josefsson  <jas@extundo.com>
13246
13247         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
13248         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
13249         Add --dry-run for --import.
13250         Let user provided command line parameters override configure.ac
13251         settings.
13252
13253 2004-08-12  Simon Josefsson  <jas@extundo.com>
13254
13255         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
13256         as discussed with Paul Eggert in threads rooted at
13257         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
13258         and
13259         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
13260         Before, the test was empty, and relied on ELIDE_CODE in source
13261         code.)
13262         (gl_PREREQ_GETOPT): New macro.
13263         (gl_GETOPT): Use them.
13264
13265 2004-08-12  Simon Josefsson  <jas@extundo.com>
13266
13267         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
13268         * lib/getopt_.h: Renamed from getopt.h.
13269
13270 2004-08-12  Simon Josefsson  <jas@extundo.com>
13271
13272         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
13273         Change default library name from libfoo to libgnu.
13274         Now, if you have a configure.ac that says:
13275                 gl_SOURCE_BASE(gl)
13276                 gl_M4_BASE(gl/m4)
13277                 gl_MODULES(error getopt etcetera)
13278                 gl_INIT
13279         you can import all you need by running:
13280                 ../gnulib/gnulib-tool --import
13281
13282         * modules/getopt (Files): Rename getopt.h to getopt_.h.
13283         (Makefile.am): Rewrite, use logic from argz.
13284         (Include): Use <getopt.h> instead of "getopt.h".
13285
13286 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13287
13288         * modules/argp (Files): Add m4/unlocked-io.m4.
13289         (Depends-on): Add extensions.
13290
13291 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13292
13293         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
13294         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
13295         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
13296         Check for program_invocation_name, program_invocation_short_name,
13297         flockfile, funlockfile, features.h, _getopt_long_only_r.
13298
13299 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13300
13301         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
13302         its complicated substitute.
13303         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
13304         and program_invocation_name.
13305         (__argp_basename) [!_LIBC]: Remove; the only use was
13306         replaced by its body.
13307         (__argp_short_program_name): Change condition from
13308         !defined __argp_short_program_name to
13309         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
13310         to match argp-namefrob.h.
13311         (__argp_failure): Don't assume strerror_r returns char *.
13312         * lib/argp-parse.c (N_): Define unconditionally.
13313         (argp_default_options): Fill out initializers with 0 to avoid
13314         gcc warnings.
13315
13316 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13317
13318         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
13319         getopt1.c.
13320
13321 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13322
13323         Merge from coreutils.
13324
13325         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
13326
13327         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
13328         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
13329
13330 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13331
13332         Merge from coreutils.
13333
13334         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
13335         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
13336         for Reliant Unix 5.43.
13337
13338         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
13339         (union fooround): Use uintmax_t, not long int.
13340         The rest is a merge from libc:
13341         [defined _LIBC]: Include <shlib-compat.h>.
13342         (_obstack) [defined _LIBC]: Remove after 2.3.4.
13343
13344         * lib/settime.c (settime): Recode to avoid warning with
13345         Sun Forte C 6U2.
13346
13347         * lib/strverscmp.c: Convert to UTF-8.
13348
13349 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13350
13351         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
13352         m4/uintmax_t.m4.
13353
13354 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13355
13356         * modules/xalloc-die: New file.
13357         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
13358
13359         * modules/md5 (Files): Add m4/uint32_t.m4.
13360         * modules/sha1: Renamed from modules/sha.
13361         (Files):
13362         Rename lib/sha.h to lib/sha1.h.
13363         Rename lib/sha.c to lib/sha1.c.
13364         Rename m4/sha.m4 to m4/sha1.m4.
13365         (lib_SOURCES): Likewise.
13366         (configure.ac): Rename gl_SHA to gl_SHA1.
13367         (Include): sha.h -> sha1.h.
13368
13369 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13370
13371         * m4/uint32_t.m4, uintptr_t.m4: New files.
13372         * m4/sha1.m4: Renamed from sha.m4.
13373         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
13374
13375 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13376
13377         * lib/obstack.h (obstack_empty_p):
13378         Don't assume that chunk->contents is suitably aligned.
13379         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
13380         Likewise. Problem reported by Benno in
13381         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
13382
13383         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
13384         readable.  This could be improved further but it'd take some work.
13385
13386 2004-08-08  Simon Josefsson  <jas@extundo.com>
13387
13388         * modules/xgethostname (Depends-on): Remove exit and error (not
13389         used).
13390
13391         * modules/getpass-gnu: Add getpass.h.
13392         (Depends-on): Add stdbool.
13393         * modules/getpass: Add getpass.h.
13394
13395 2004-08-08  Simon Josefsson  <jas@extundo.com>
13396
13397         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
13398         Check getpass declaration.
13399
13400 2004-08-08  Simon Josefsson  <jas@extundo.com>
13401
13402         * lib/xgethostname.c: Don't include error.h (not used).
13403
13404         * lib/getpass.h: Add.
13405         * lib/getpass.c: Include getpass.h first.
13406
13407 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
13408
13409         * lib/xalloc-die.c: New files.
13410         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
13411         All uses removed.
13412         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
13413         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
13414         xalloc-die.c.
13415         (_, N_, xalloc_die): Move to xalloc-die.c.
13416         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
13417         so that we needn't mess with xalloc_msg_memory_exhausted.
13418
13419         * lib/sha1.h: Renamed from sha.h.
13420         (SHA1_H): Renamed from _SHA_H.
13421         (sha1_ctx): Renamed from sha_ctx.
13422         (sha1_init_ctx): Renamed from sha_init_ctx.
13423         (sha1_process_block): Renamed from sha_process_block.
13424         (sha1_process_bytes): Renamed from sha_process_bytes.
13425         (sha1_finish_ctx): Renamed from sha_finish_ctx.
13426         (sha1_read_ctx): Renamed from sha_read_ctx.
13427         (sha1_stream): Renamed from sha_stream.
13428         (sha1_buffer): Renamed from sha_buffer.
13429         * lib/sha1.c: Likewise; renamed from sha.c.
13430         Do not include <sys/types.h>.
13431         Include <stddef.h> rather than <stdlib.h>.
13432
13433 2004-08-08  Bruno Haible  <bruno@clisp.org>
13434
13435         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
13436         FILESYSTEM_PREFIX_LEN.
13437         * lib/progreloc.c: Likewise.
13438         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
13439
13440 2004-08-06  Simon Josefsson  <jas@extundo.com>
13441
13442         * modules/progname (Depends-on): Don't depend on stdbool.
13443
13444 2004-08-06  Simon Josefsson  <jas@extundo.com>
13445
13446         * modules/getsubopt: New file.
13447         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13448         getsubopt.
13449
13450 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
13451
13452         More merge from coreutils.
13453
13454         * m4/utimens.m4, utimecmp.m4: New files.
13455         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
13456         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
13457         prereq.m4, sha.m4: Import changes from coreutils.
13458
13459 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
13460
13461         More merge from coreutils.
13462         * modules/raise, modules/readtokens0, modules/utimens,
13463         modules/utimecmp, module/xnanosleep: New files.
13464         * modules/strftime: Add lib/strftime.h.
13465         Change include from <time.h> to "strftime.h".
13466         * modules/yesno: Add lib/yesno.h.
13467         * modules/backupfile: Remove lib/addext.c.
13468         * modules/euidaccess: Add stat-macros.h.
13469         * modules/canonicalize, modules/euidaccess,
13470         modules/filemode, modules/lchown, modules/makepath,
13471         modules/rmdir, modules/stat: Likewise.
13472
13473 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
13474
13475         Merge from tar.
13476         * lib/argp-help.c (make_hol, hol_append): Don't assume that
13477         SIZE_MAX is a valid preprocessor constant.
13478         (__argp_basename): Change from "#ifndef _LIBC"
13479         to "#ifndef __argp_short_program_name", so that
13480         we don't compile these functions for tar.
13481
13482         More merges from coreutils.
13483         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h,
13484         lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c,
13485         lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
13486         * lib/addext.c: Remove; no longer needed.
13487         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
13488         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
13489         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
13490         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
13491         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
13492         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
13493         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
13494         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
13495         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
13496         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
13497         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
13498         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
13499         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
13500         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
13501         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
13502         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
13503         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
13504         Import changes from coreutils.
13505
13506 2004-08-05  Simon Josefsson  <jas@extundo.com>
13507
13508         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
13509
13510 2004-08-05  Simon Josefsson  <jas@extundo.com>
13511
13512         * m4/getsubopt.m4: New file.
13513
13514 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
13515
13516         Merge from coreutils.
13517
13518         * m4/c-strtod.m4, canonicalize.m4, fcntl-safer.m4, getcwd-path-max.m4:
13519         New files.
13520
13521         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
13522         FILESYSTEM_PREFIX_LEN ->
13523         FILE_SYSTEM_PREFIX_LEN.
13524         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
13525         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
13526         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
13527         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
13528
13529         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
13530         prerequisite modules now handle the DOS stuff.
13531         Don't check for unistd.h.
13532
13533 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
13534
13535         Merge from coreutils.
13536
13537         * lib/.gdb-history: Remove; this doesn't belong here.
13538
13539         * lib/c-strtod.c, c-strtod.h, c-strtold.c, cycle-check.c,
13540         cycle-check.h, dev-ino.h, canonicalize.h, canonicalize.c,
13541         fcntl-safer.h, fcntl-safer.c, getcwd.c: New files.
13542
13543         * lib/dirname.h: Include <stdbool.h>.
13544         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
13545         for consistency with POSIX terminology.  All uses changed.
13546         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
13547         (strip_trailing_slashes): Use bool for booleans.
13548         * lib/stripslash.c (strip_trailing_slashes): Likewise.
13549
13550         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
13551         sometimes returns a positive errno value even when it succeeds.
13552         (print_errno_message) [!LIBC]: Fall back on strerror if
13553         __strerror_r fails.
13554
13555         * lib/path-concat.c (mempcpy): Don't define if a system header defines
13556         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
13557         (longest_relative_suffix): New function.
13558         (path_concat): Use it.  Assume first argument is not NULL.
13559         Port to DOS.  Omit redundant separators.
13560         Report an error instead of returning NULL.
13561         Use mempcpy instead of memcpy.
13562         (xpath_concat): Remove: not declared or used.
13563
13564         * lib/same.h: Include <stdbool.h>
13565         (same_name): Return bool, not int.
13566         * lib/same.c (same_name): Likewise.
13567         (errno): Don't declare; we assume C89 or better now.
13568
13569         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
13570         if not already defined.
13571
13572         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
13573         * lib/dup-safer.c (errno): Likewise.
13574
13575 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
13576
13577         Merge from coreutils.
13578         * modules/c-strtod, modules/c-strtold, modules/canonicalize,
13579         modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
13580         * modules/path-concat: Don't depend on strdup.
13581
13582 2004-08-03  Simon Josefsson  <jas@extundo.com>
13583
13584         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
13585         * lib/progname.h: Don't include stdbool.h.
13586
13587 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
13588
13589         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
13590         * MODULES.html.sh (func_all_modules): Remove fatal.
13591
13592 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
13593
13594         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
13595
13596 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
13597
13598         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
13599         working.
13600
13601 2004-08-02  Simon Josefsson  <jas@extundo.com>
13602
13603         * lib/getsubopt.h: New file, with comments from Bruno Haible.
13604         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
13605         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
13606
13607 2004-08-01  Simon Josefsson  <jas@extundo.com>
13608
13609         * lib/xgetdomainname.c: Include stdlib.h, for free().
13610
13611 2004-07-19  Bruno Haible  <bruno@clisp.org>
13612
13613         * MODULES.html.sh (func_all_modules): Add dummy.
13614
13615 2004-07-16  Simon Josefsson  <jas@extundo.com>
13616
13617         * modules/dummy: New file.
13618
13619 2004-07-16  Simon Josefsson  <jas@extundo.com>
13620
13621         * lib/dummy.c: New file.
13622
13623 2004-07-16  Bruno Haible  <bruno@clisp.org>
13624
13625         * lib/backupfile.h: Add extern "C" for C++.
13626         * lib/closeout.h: Likewise.
13627         * lib/copy-file.h: Likewise.
13628         * lib/findprog.h: Likewise.
13629         * lib/full-write.h: Likewise.
13630         * lib/pathname.h: Likewise.
13631         * lib/progname.h: Likewise.
13632         * lib/stpcpy.h: Likewise.
13633         * lib/stpncpy.h: Likewise.
13634         * lib/strcase.h: Likewise.
13635         * lib/strstr.h: Likewise.
13636         * lib/xalloc.h: Likewise.
13637
13638         * lib/mbswidth.h: Add extern "C" for C++.
13639         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
13640
13641 2004-07-13  Robert Millan  <robertmh@gnu.org>
13642
13643         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
13644
13645 2004-07-09  Simon Josefsson  <jas@extundo.com>
13646
13647         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
13648         failed without this.)
13649
13650 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13651
13652         * modules/chown (Files): Add lib/fchown-stub.c, since
13653         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
13654
13655 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13656
13657         * lib/fchown-stub.c: New file.
13658
13659 2004-06-24  Jim Meyering  <jim@meyering.net>
13660
13661         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
13662
13663 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
13664
13665         * modules/argz: Omit "#include".
13666
13667         * MODULES.html.sh (func_all_modules): Add calloc, to match
13668         2004-06-01 addition of calloc module.
13669
13670 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
13671
13672         * m4/argz.m4: New file, which is autoupdated from libtool.
13673
13674 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
13675
13676         * lib/argz.c, argz_.h: New files, which are autoupdated from libtool.
13677
13678 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
13679
13680         * config/srclist-update: Don't insist on "USA." before the
13681         close-comment, as libtool omits the period and puts the */ on a
13682         separate line.
13683         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
13684         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
13685
13686 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
13687
13688         * modules/argz: New file.
13689         * MODULES.html.sh (func_all_modules): Add argz.
13690
13691 2004-06-12  Jim Meyering  <jim@meyering.net>
13692         and  Paul Eggert  <eggert@cs.ucla.edu>
13693
13694         * modules/hash (Files): Add lib/xalloc.h.
13695         * modules/pipe (Depends-on): Add wait-process.
13696         * modules/stat (Depends-on): Add xalloc.
13697         * modules/userspec (Files): Add lib/userspec.h.
13698         * modules/xstrto
13699
13700         Upgrade from gettext-0.13.
13701         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
13702         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
13703         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
13704
13705 2004-06-10  Jim Meyering  <jim@meyering.net>
13706
13707         * lib/calloc.c: New file.
13708
13709 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
13710
13711         * lib/getdate.y (yylex): Allow space between sign and number.
13712         Problem reported by Dan Jacobson.
13713
13714 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
13715
13716         Merge from coreutils CVS.
13717
13718         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
13719         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
13720         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
13721         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
13722         xstrtol.m4: Fix copyright date and/or serial number.
13723
13724         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
13725         See if we need an fchown replacement.
13726         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
13727         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
13728         and use the replacement function if we detect either defect.
13729
13730         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
13731         gl_UTIMECMP.
13732
13733 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
13734         and  Jim Meyering  <jim@meyering.net>
13735
13736         Merge from coreutils CVS.
13737
13738         * lib/stat-macros.h: New file, with contents from file-type.h
13739         and coreutils' system.h.
13740         * lib/file-type.c: Include "stat-macros.h".
13741         * lib/file-type.h (file_type): Move all macro definitions to new file,
13742         stat-macros.h.
13743
13744         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
13745         Wrap old code with this conditional.
13746         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
13747         function that does not dereference symlinks.
13748         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
13749
13750         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
13751         dependency problems.
13752         (xreadlink): Accept new arg SIZE, for efficiency.
13753         All decls and uses changed.
13754         * lib/xreadlink.h: Include <stddef.h>, for size_t.
13755
13756         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
13757         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
13758
13759         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
13760         sysexits.h.
13761
13762 2004-06-01  Jim Meyering  <jim@meyering.net>
13763
13764         * m4/calloc.m4: New file.
13765
13766 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
13767
13768         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
13769         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
13770         Also, fix a typo in a diagnostic.
13771
13772 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
13773
13774         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
13775         or AC_FUNC_REALLOC.
13776
13777 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
13778
13779         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
13780         macros to be defined.
13781         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
13782         the allocator returns NULL because the requested size is zero.
13783
13784 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13785
13786         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
13787         var.  Add comment explaining why libc still defines it.  This
13788         merges the following patch from glibc:
13789         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
13790
13791 2004-05-20  Andreas Schwab  <schwab@suse.de>
13792
13793         * m4/free.m4: Replace free if it not known to work, not the other
13794         way round.
13795
13796 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13797
13798         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
13799         present in glibc since revision 1.1 of this file.
13800         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
13801         obstack_alignment_mask, obstack_alloc, obstack_base,
13802         obstack_blank, obstack_blank_fast, obstack_chunk_size,
13803         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
13804         obstack_grow0, obstack_init, obstack_int_grow,
13805         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
13806         obstack_next_free, obstack_object_size, obstack_ptr_grow,
13807         obstack_ptr_grow_fast, obstack_room): Remove declarations of
13808         nonexistent functions.
13809
13810 2004-05-18  Karl Berry  <karl@gnu.org>
13811
13812         * config/srclist.txt: break link for vasnprintf.c.
13813
13814 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13815
13816         Port obstack to the AS/400, where pointers are 16 bytes wide and
13817         you cannot cast an integer to a valid pointer.  This patch is
13818         currently waiting to be integrated into glibc; see
13819         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
13820
13821         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
13822         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
13823         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
13824         (struct obstack): temp member is now a union of a pointer and
13825         an integer, instead of an integer.  All integer uses changed.
13826         This does not affect the physical layout of struct obstack,
13827         except on hosts (like the AS/400) where the size or alignment of
13828         void * is greater than that of ptrdiff_t.
13829         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
13830         __STDC__)]: Store temporary in pointer member of union, not
13831         integer member.
13832         * lib/obstack.c: Include <stddef.h>, for offsetof.
13833         (struct fooalign): Remove; it doesn't need a name.
13834         (union fooround): Change double to long double, and add void *.
13835         (DEFAULT_ALIGNMENT): Use offsetof to compute.
13836         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
13837         not a macro.  Hence the values are always int; so remove all
13838         casts-to-int in uses.
13839
13840 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13841
13842         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
13843         we can get this patch merged into glibc.
13844
13845 2004-05-17  Derek R. Price  <derek@ximbiot.com>
13846             Paul Eggert  <eggert@cs.ucla.edu>
13847
13848         * m4/argp: Depend on alloca.
13849
13850 2004-05-17  Derek R. Price  <derek@ximbiot.com>
13851             Paul Eggert  <eggert@cs.ucla.edu>
13852
13853         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
13854         freecoding.
13855
13856 2004-05-17  Bruno Haible  <bruno@clisp.org>
13857
13858         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
13859         precision that consists of a '.' followed by an empty digit string.
13860         Patch by Tor Lillqvist <tml@iki.fi>.
13861
13862 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13863
13864         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
13865         for backward compatibility with older code.  We need our own
13866         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
13867         it under some other name, and our alloca.h will define it.
13868
13869 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
13870             Derek Price  <derek@ximbiot.com>
13871
13872         * lib/alloca.c: Include <alloca.h>, to get our interface.
13873         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
13874         include <alloca.h> first.  Use C89 prototype for alloca; this
13875         requires including <stddef.h> for size_t.  Use extern "C" if C++.
13876         Use #elif for simplicity, since we can assume C89 now.
13877         Don't try to source the system alloca.h since it will not be found
13878         and to prevent recursively including its replacement.
13879         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
13880         * lib/regex.c: Likewise.
13881
13882 2004-05-16  Derek Price  <derek@ximbiot.com>
13883             Paul Eggert  <eggert@cs.ucla.edu>
13884
13885         getline cleanup.  This changes the getndelim2 API: both order of
13886         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
13887         no delimiter).
13888
13889         * lib/getline.c: Don't include stddef.h or stdio.h, since our
13890         interface does that.
13891         (getline): Always use getdelim, so that we don't have two
13892         copies of this code.
13893         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
13894         if available.
13895         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
13896         (GETNDELIM2_MAXIMUM): New macro.
13897         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
13898         instead of the old practice of delim2==0.  All callers changed.
13899         Return -1 on overflow, instead of returning junk.
13900         Do not set *linesize unless allocation succeeds.
13901         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
13902         that we include sys/types.h.
13903         * lib/getnline.h: Likewise.
13904         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
13905         (getndelim2): Reorder arguments.
13906         * lib/getnline.c (getnline, getndelim):
13907         Don't discard the NMAX argument.
13908         (getnline): Invoke getndelim, to avoid code duplication.
13909         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
13910         of (size_t) -1 by callers of the getnline family.
13911
13912 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13913
13914         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
13915         Check for gettimeofday.
13916         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
13917         Check for settimeofday, stime.
13918
13919 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
13920
13921         * lib/nanosleep.c (suspended): Change its type from int to
13922         sig_atomic_t volatile.
13923         (first_call): Make it private to rpl_nanosleep, and have it
13924         be zero initially as that's a bit faster.
13925         (my_usleep): Round up fractional times instead of truncating them,
13926         as this is the usual meaning for 'sleep'.
13927
13928         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
13929         doesn't work.
13930         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
13931         (ENOSYS): Define if not defined.
13932         (settime): Fall back on stime if it exists and settimeofday fails.
13933         But don't bother with fallbacks if a method fails with errno == EPERM.
13934
13935 2004-05-11  Jim Meyering  <jim@meyering.net>
13936
13937         Prior to this change, the save_cwd caller required read access to the
13938         current directory on most systems (ones with the fchdir function).
13939
13940         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
13941         fails, try write-only, and finally, resort to using xgetcwd.
13942
13943 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
13944
13945         * lib/obstack.c, obstack.h: Import changes from libc.
13946
13947 2004-04-28  Bruno Haible  <bruno@clisp.org>
13948
13949         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
13950         also implicitly appends .exe to executables.
13951         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
13952         accepts Windows pathnames.
13953         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
13954         Treat Cygwin like Windows, since it now accepts Windows pathnames.
13955         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
13956         Treat Cygwin like Windows, since it now accepts Windows pathnames.
13957         Reported by Derek Robert Price <derek@ximbiot.com>.
13958
13959 2004-04-21  Karl Berry  <karl@gnu.org>
13960
13961         * config/srclist.txt (localcharset.c): break sync.
13962
13963 2004-04-20  Paul Eggert  <eggert@twinsun.com>
13964
13965         * m4/host-os.m4: Add a copyright notice.
13966
13967 2004-04-20  Jim Meyering  <jim@meyering.net>
13968
13969         Change UTILS_ to gl_ in AC_DEFINE'd names.
13970         Change utils_- and jm_-prefixed variables, too.
13971         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
13972         UTILS_FUNC_MKDIR_TRAILING_SLASH.
13973         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
13974
13975         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
13976         Don't emit trailing blanks.
13977         Also rename jm_-prefixed variables to have gl_ prefix.
13978
13979         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
13980         Also rename jm_-prefixed variables to have gl_ prefix.
13981
13982         * m4/jm-macros.m4: Reflect the renamings.
13983         * m4/prereq.m4: Likewise.
13984
13985 2004-04-20  Jim Meyering  <jim@meyering.net>
13986
13987         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
13988         memory.
13989
13990 2004-04-20  Jim Meyering  <jim@meyering.net>
13991             Bruno Haible  <bruno@clisp.org>
13992
13993         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
13994         memory when realloc fails.
13995
13996 2004-04-19  Jim Meyering  <jim@meyering.net>
13997
13998         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
13999         now that readutmp.c may call `free (0)'.
14000
14001 2004-04-19  Bruno Haible  <bruno@clisp.org>
14002
14003         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
14004         * m4/inttypes_h.m4: Likewise.
14005         * m4/stdint_h.m4: Likewise.
14006         * m4/intmax_t.m4: Likewise.
14007         * m4/uintmax_t.m4: Likewise.
14008
14009 2004-04-18  Jim Meyering  <jim@meyering.net>
14010
14011         * m4/prereq.m4: Don't forbid jm_ prefix.
14012
14013         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
14014         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
14015         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
14016         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
14017         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
14018         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
14019         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
14020         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
14021         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
14022         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
14023         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
14024         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
14025         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
14026         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
14027         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
14028         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
14029         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
14030         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
14031         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
14032
14033 2004-04-18  Jim Meyering  <jim@meyering.net>
14034
14035         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
14036         failure, don't leak memory and do call END_UTMP_ENT.
14037
14038 2004-04-16  Jim Meyering  <jim@meyering.net>
14039
14040         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
14041         coreutils' stat program.
14042         (gl_PREREQ): Don't require jm_PREREQ_STAT.
14043
14044 2004-04-11  Paul Eggert  <eggert@twinsun.com>
14045
14046         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
14047         C89.
14048         (CHAR_BIT): Remove, since we assume C89.
14049         Include <stdint.h> if available, as per current Autoconf CVS advice.
14050
14051 2004-03-31  Jim Meyering  <jim@meyering.net>
14052
14053         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
14054         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
14055         * m4/xalloc.m4: Likewise.
14056
14057 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14058
14059         Merge from coreutils.
14060
14061         * m4/inttostr.m4: New file.
14062         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
14063         Require AM_STDBOOL_H and gl_TIMESPEC instead.
14064         Require gl_CLOCK_TIME.
14065         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
14066
14067 2004-03-30  Paul Eggert  <eggert@twinsun.com>
14068
14069         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
14070         not bool, to be more consistent with Unix conventions.
14071         Suggested by Bruno Haible.
14072
14073         Merge from coreutils.
14074
14075         * lib/imaxtostr.c, inttostr.c, inttostr.h, offtostr.c, umaxtostr.c:
14076         New files.
14077
14078         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
14079         the usual <time.h> dance.
14080         (get_date): Change signature to support fractional time stamps.
14081         All callers changed.
14082         * lib/getdate.y: Include "getdate.h" first, as we can now
14083         assume C89 and don't need to worry about 'const'.
14084         Similarly, include "unlocked-io.h" near start, not in middle.
14085         Include <limits.h>.
14086         (textint.value): Use long int rather than int.
14087         (textint.digits): Use size_t rather than int.
14088         (BILLION, LOG10_BILLION): New constants.
14089         (parser_control): New member rel_ns.  Members day_ordinal,
14090         time_zone, month, day, hour, minutes, rel_year, rel_month,
14091         rel_day, rel_hour, rel_minutes, rel_seconds
14092         are now long int, not int.  Member seconds is now struct timespec,
14093         not int.  New member timespec_seen.  Members dates_seen, days_seen,
14094         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
14095         not int.
14096         (%union.intval): Now long int, not int.
14097         New member timespec.
14098         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
14099         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
14100         (spec): Now is a timespec or an item list.
14101         (timespec, items): New nonterminals.
14102         (time, rel, relunit, number, get_date):
14103         Add support for fractional seconds.
14104         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
14105         (gmtime, localtime, mktime): Remove decls; not needed with C89.
14106         (to_hour): First arg is now long int, not int.
14107         (to_year): Returns long int, not int.
14108         Don't treat year -70 like 70.
14109         (tm_diff): Returns long int, not int.
14110         (lookup_word): Use bool instead of int when appropriate.
14111         (yylex): Use size_t for count, not int.
14112         Detect overflow when parsing large integer constants.
14113         Add support for fractions.
14114         (get_date): Make pointers 'const' if possible.
14115         Use more-portable code to detect integer overflow.
14116         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
14117         Don't use ctime; it's not reliable if the year has >4 digits.
14118
14119         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
14120         This is for compatibility with BSD.
14121
14122         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
14123         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
14124         From coreutils' system.h.
14125
14126         * lib/userspec.c: Don't include "posixver.h".
14127         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
14128         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
14129         compatible extension.  Simplify code by removing a boolean int
14130         that was always nonzero if a string was nonnull.
14131
14132 2004-03-30  Jim Meyering  <jim@meyering.net>
14133
14134         Merge from coreutils.
14135
14136         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
14137         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
14138         on some systems one must include <grp.h> before it.
14139         Reported by Christian Krackowizer.
14140
14141 2004-03-30  Jim Meyering  <jim@meyering.net>
14142
14143         Merge from coreutils.
14144
14145         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
14146
14147         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
14148         an empty input stream.
14149
14150         * lib/readtokens.c: Include <stdbool.h>.
14151         (readtoken): Use `size_t' rather than int/long.
14152         All callers adjusted.
14153         Use `bool' rather than `int' where appropriate.
14154         Use memset rather than an explicit loop.
14155         Use x2nrealloc rather than xrealloc.
14156         Allow the use of `\0' as a delimiter.
14157         (readtokens): Likewise.
14158         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
14159
14160 2004-03-30  Jim Meyering  <jim@meyering.net>
14161
14162         * m4/realloc.m4: Remove file, since now it does no more than
14163         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
14164         the `configure.ac' section of module/realloc.
14165         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
14166
14167 2004-03-30  Bruno Haible  <bruno@clisp.org>
14168
14169         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
14170         nonnull.
14171
14172 2004-03-29  Paul Eggert  <eggert@twinsun.com>
14173
14174         Merge changes to getloadavg.c from coreutils and Emacs.
14175
14176         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
14177         Define to an expression, not to the empty string.
14178         Include cloexec.h and xalloc.h.
14179         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
14180         Use set_cloexec_flag rather than rolling our own.
14181         * lib/cloexec.c, cloexec.h: New files.
14182
14183 2004-03-29  Paul Eggert  <eggert@twinsun.com>
14184
14185         * m4/cloexec.m4: New file.
14186
14187 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14188
14189         * lib/getopt.h: Sync with libc CVS.
14190
14191 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14192             Bruno Haible  <bruno@clisp.org>
14193
14194         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
14195         mbswidth.
14196
14197 2004-03-18  Paul Eggert  <eggert@twinsun.com>
14198             Bruno Haible  <bruno@clisp.org>
14199
14200         * lib/mbswidth.h: Include <wchar.h> only if
14201         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
14202         <wchar.h>.
14203         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
14204
14205 2004-03-09  Paul Eggert  <eggert@twinsun.com>
14206
14207         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
14208         Sync with libc CVS.
14209         * lib/getopt_int.h: New file, also synced from libc.
14210
14211 2004-03-09  Paul Eggert  <eggert@twinsun.com>
14212
14213         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
14214         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
14215         Bring back getopt.c, getopt.h, getopt1.c.
14216
14217 2004-03-07  Paul Eggert  <eggert@twinsun.com>
14218
14219         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
14220         All uses changed.  Check for sa_sigaction member; this fixes
14221         a bug first reported by Jason Andrade in
14222         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
14223
14224 2004-03-07  Paul Eggert  <eggert@twinsun.com>
14225
14226         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
14227         '#if' expressions.  Unlike the code it replaces, it does not
14228         depend on (defined _SC_PAGESIZE).  However, it does depend on
14229         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
14230         first reported by Jason Andrade in
14231         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
14232
14233 2004-02-25  Simon Josefsson  <jas@extundo.com>
14234
14235         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
14236
14237 2004-02-25  Simon Josefsson  <jas@extundo.com>
14238
14239         * lib/strdup.h: New file.
14240         * lib/strdup.c: Include it.
14241         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
14242         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
14243
14244 2004-02-23  Karl Berry  <karl@gnu.org>
14245
14246         * doc/maintain.texi, standards.texi, make-stds.texi: new files
14247         (from fencepost.gnu.org:/gd/gnuorg).
14248
14249 2004-02-23  Karl Berry  <karl@gnu.org>
14250
14251         * config/srclistvars.sh (GNUORG) [karl]: redefine.
14252         * config/srclist.txt: add maintain/standards documents.
14253
14254 2004-02-18  Bruno Haible  <bruno@clisp.org>
14255
14256         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
14257         Reported by Derek Robert Price <derek@ximbiot.com>.
14258
14259 2004-02-16  Karl Berry  <karl@gnu.org>
14260
14261         * config/mkinstalldirs, install-sh: update from automake.
14262
14263 2004-02-06  Karl Berry  <karl@gnu.org>
14264
14265         * m4/po.m4: update from gettext 0.14.1.
14266
14267 2004-02-06  Karl Berry  <karl@gnu.org>
14268
14269         * lib/config.charset: update from gettext 0.14.1.
14270
14271 2004-02-05  Paul Eggert  <eggert@twinsun.com>
14272
14273         Add comments and code, prompted by suggestions from Bruno Haible
14274         for sh-quote.
14275         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
14276         describing the enum quoting_style values.
14277         * lib/quotearg.c (quotearg_alloc): New function.
14278         (quotearg_buffer_restyled): Treat lone { and } as special.
14279         Treat = as special.  Work around bug with older shells
14280         that "see" a '\' that is really the 2nd byte of a multibyte char.
14281         Quote empty string with shell_quoting_style.
14282
14283 2004-02-03  Bruno Haible  <bruno@clisp.org>
14284
14285         * m4/pipe.m4: New file, from GNU gettext.
14286
14287 2004-02-03  Bruno Haible  <bruno@clisp.org>
14288
14289         * lib/pipe.h: New file, from GNU gettext.
14290         * lib/pipe.c: New file, from GNU gettext.
14291
14292 2004-01-27  Bruno Haible  <bruno@clisp.org>
14293
14294         * m4/execute.m4: New file, from GNU gettext.
14295
14296 2004-01-27  Bruno Haible  <bruno@clisp.org>
14297
14298         * lib/execute.h: New file, from GNU gettext.
14299         * lib/execute.c: New file, from GNU gettext.
14300         * lib/w32spawn.h: New file, from GNU gettext.
14301
14302 2004-01-24  Paul Eggert  <eggert@twinsun.com>
14303
14304         Merge from diffutils.
14305
14306         * lib/file-type.c (file_type): Add typed memory objects.
14307         * lib/file-type.h (S_TYPEISTMO): New macro.
14308
14309         * lib/c-stack.h (c_stack_action): Remove argv argument.
14310         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
14311         (die): Don't calculate message unless segv_action returns.
14312         (get_stack_location, min_address_from_argv, max_address_from_argv,
14313         volatile stack_base, volatile_stack_size): Remove.
14314         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
14315         that every segmentation violation is a stack overflow.  (Ouch!)
14316         See Debian bug 136249 (still outstanding) for more info about why
14317         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
14318
14319 2004-01-24  Paul Eggert  <eggert@twinsun.com>
14320
14321         Exit-status fix from coreutils.
14322
14323         Use exit_failure consistently in place of EXIT_FAILURE,
14324         so that program exit statuses are consistent on failure.
14325
14326         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
14327         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
14328         * lib/argmatch.h: Comment fix to match the above.
14329         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
14330         Now a macro referring to exit_failure, instead of a separate
14331         variable.  Include "exitfail.h" to get it.
14332         * lib/xstrtol.h: Include "exitfail.h".
14333         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
14334
14335         * lib/long-options.c (parse_long_options): Use prototype
14336         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
14337         for clarity.
14338
14339 2004-01-21  Jim Meyering  <jim@meyering.net>
14340
14341         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
14342         so as not to conflict with a different-sized __mktime_internal
14343         function in GNU libc.
14344         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
14345         Problem building statically-linked `ls' reported by Michael Brunnbauer.
14346
14347 2004-01-20  Karl Berry  <karl@gnu.org>
14348
14349         * config/config.guess: update from config.
14350
14351         * config/srclistvars.sh: GNUWWWLICENSES for karl.
14352
14353 2004-01-20  Bruno Haible  <bruno@clisp.org>
14354
14355         Safer stack allocation.
14356         * lib/setenv.c: Include allocsa.h.
14357         (alloca): Remove fallback definition.
14358         (freea): Remove macro.
14359         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
14360         instead of freea.
14361
14362 2004-01-20  Bruno Haible  <bruno@clisp.org>
14363
14364         * m4/eealloc.m4: New file, from GNU gettext.
14365
14366 2004-01-20  Bruno Haible  <bruno@clisp.org>
14367
14368         * m4/allocsa.m4: New file, from GNU gettext.
14369
14370 2004-01-20  Bruno Haible  <bruno@clisp.org>
14371
14372         * lib/xallocsa.h: New file, from GNU gettext.
14373         * lib/xallocsa.c: New file, from GNU gettext.
14374
14375 2004-01-20  Bruno Haible  <bruno@clisp.org>
14376
14377         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
14378
14379 2004-01-20  Bruno Haible  <bruno@clisp.org>
14380
14381         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
14382         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
14383         specially.
14384
14385 2004-01-20  Bruno Haible  <bruno@clisp.org>
14386
14387         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
14388         patch.
14389
14390 2004-01-20  Bruno Haible  <bruno@clisp.org>
14391
14392         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
14393
14394 2004-01-20  Bruno Haible  <bruno@clisp.org>
14395
14396         * lib/eealloc.h: New file.
14397
14398 2004-01-20  Bruno Haible  <bruno@clisp.org>
14399
14400         * lib/binary-io.h: Avoid warnings on Cygwin.
14401
14402 2004-01-20  Bruno Haible  <bruno@clisp.org>
14403
14404         * lib/allocsa.h: New file, from GNU gettext.
14405         * lib/allocsa.c: New file, from GNU gettext.
14406
14407 2004-01-18  Karl Berry  <karl@gnu.org>
14408
14409         * doc/gpl.texi, lgpl.texi: new files.
14410
14411 2004-01-18  Karl Berry  <karl@gnu.org>
14412
14413         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
14414         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
14415
14416 2004-01-15  Paul Eggert  <eggert@twinsun.com>
14417
14418         Merge from coreutils.
14419
14420         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
14421         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
14422         (gl_DEFAULT_POSIX2_VERSION): Move
14423         the documentation from 'configure' into 'config.hin',
14424         so that 'configure --help' isn't burdened by it and
14425         we don't have to worry about its formatting there.
14426         Reword the documentation so that it's more succinct
14427         and can be run together into a single paragraph.
14428         * m4/same.m4 (gl_SAME): Check for pathconf.
14429
14430 2004-01-15  Paul Eggert  <eggert@twinsun.com>
14431
14432         Merge from coreutils.
14433
14434         * lib/posixver.c: Include posixver.h.
14435
14436         * lib/same.c: Include <stdbool.h>, <limits.h>.
14437         (_POSIX_NAME_MAX): Define if not defined.
14438         (MIN): New macro.
14439         (same_name): If file names are silently truncated, report
14440         that the file names are the same if they are the same after
14441         the silent truncation.
14442
14443         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
14444         conversion function.
14445         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
14446         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
14447         longer needed.
14448
14449 2004-01-15  Jim Meyering  <jim@meyering.net>
14450
14451         Merge from coreutils.
14452
14453         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
14454         if no library is required.
14455         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
14456         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
14457         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
14458         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
14459         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
14460         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
14461         value, $ac_cv_search_crypt, if it's "none required".
14462         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
14463         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
14464         not gl_FUNC_GETLOADAVG.
14465         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
14466         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
14467
14468 2004-01-15  Jim Meyering  <jim@meyering.net>
14469
14470         Merge from coreutils.
14471
14472         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
14473         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
14474         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
14475
14476         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
14477         optional configure-time default.
14478
14479         * lib/version-etc.c (version_etc_copyright): Update copyright date.
14480
14481         * lib/xreadlink.c (xreadlink): Correct outdated comment.
14482
14483 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
14484
14485         Merge from coreutils.
14486
14487         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
14488         value, $ac_cv_search_nanosleep, if it's "none required".
14489
14490 2004-01-14  Paul Eggert  <eggert@twinsun.com>
14491
14492         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
14493         with like-named macro in fnmatch.c.
14494         (EXT): Use an internal constant instead.
14495
14496         Merge fnmatch patches from glibc.
14497         * lib/fnmatch.c (mbsinit): Remove define.
14498         Add libc_hidden_ver (__fnmatch, fnmatch).
14499         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
14500         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
14501
14502 2004-01-14  Karl Berry  <karl@gnu.org>
14503
14504         * config/install-sh: update from automake.
14505
14506 2004-01-13  Karl Berry  <karl@gnu.org>
14507
14508         * config/install-sh: update from automake.
14509
14510 2004-01-09  Karl Berry  <karl@gnu.org>
14511
14512         * config/install-sh: update from automake.
14513
14514 2004-01-05  Karl Berry  <karl@gnu.org>
14515
14516         * config/config.{sub,guess}: update from config.
14517
14518 2003-12-31  Karl Berry  <karl@gnu.org>
14519
14520         * config/depcomp: update from automake.
14521
14522 2003-12-14  Karl Berry  <karl@gnu.org>
14523
14524         * lib/config.charset: update from gettext-runtime.
14525
14526 2003-12-03  Paul Eggert  <eggert@twinsun.com>
14527
14528         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
14529         Bug reported by Alfred M. Szmidt.
14530
14531 2003-12-03  Bruno Haible  <bruno@clisp.org>
14532
14533         * m4/gettext.m4: Upgrade from gettext-0.13.
14534         * m4/po.m4: Upgrade from gettext-0.13.
14535         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
14536         * m4/intmax.m4: New file, from gettext-0.13.
14537         * m4/printf-posix.m4: New file, from gettext-0.13.
14538
14539 2003-11-29  Karl Berry  <karl@gnu.org>
14540
14541         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
14542
14543 2003-11-25  Paul Eggert  <eggert@twinsun.com>
14544             Bruno Haible  <bruno@clisp.org>
14545
14546         * lib/printf-parse.h: Don't include sys/types.h.
14547         (ARG_NONE): New macro.
14548         (char_directive): Change type of *arg_index fields to size_t.
14549         * lib/printf-parse.c: Don't include sys/types.h.
14550         (SSIZE_MAX): Remove macro.
14551         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
14552         Remove unnecessary overflow check.
14553         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
14554         fields.
14555
14556 2003-11-25  Bruno Haible  <bruno@clisp.org>
14557
14558         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
14559
14560 2003-11-25  Bruno Haible  <bruno@clisp.org>
14561
14562         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
14563         gt_TYPE_SSIZE_T.
14564
14565 2003-11-24  Paul Eggert  <eggert@twinsun.com>
14566
14567         * modules/alloca: Remove dependency on xalloc.
14568
14569 2003-11-24  Paul Eggert  <eggert@twinsun.com>
14570
14571         * lib/alloca.c: Remove dependency on xalloc module.
14572         (xalloc_die): Remove.
14573         (memory_full) [!defined emacs]: New macro.
14574         [!defined emacs]: Don't include xalloc.h.
14575         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
14576         address arithmetic overflows.  Change datatypes a bit to avoid
14577         unnecessary casts.
14578
14579 2003-11-22  Jim Meyering  <jim@meyering.net>
14580
14581         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
14582         s/size/size_t/.
14583
14584 2003-11-21  Karl Berry  <karl@gnu.org>
14585
14586         * config/config.{sub,guess}: update from config.
14587
14588 2003-11-18  Karl Berry  <karl@gnu.org>
14589
14590         * config/config.{sub,guess}: update from config.
14591
14592         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
14593
14594 2003-11-17  Paul Eggert  <eggert@twinsun.com>
14595
14596         * README: Mention that S+T cannot overflow if S is the size of
14597         an existing object and T is sufficiently small.
14598
14599 2003-11-17  Jim Meyering  <jim@meyering.net>
14600
14601         On systems without utime and without a utimes function capable of
14602         dealing with a NULL struct utimbuf* argument, this utime replacement
14603         could -- in unusual circumstances -- leak a file descriptor.
14604         * lib/utime.c: Include <unistd.h> and <errno.h>.
14605         (utime_null): Be sure to close `fd' and to preserve errno.
14606         Reported by Geoff Collyer via Arnold Robbins.
14607
14608 2003-11-17  Bruno Haible  <bruno@clisp.org>
14609
14610         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
14611         (Depends-on): Add xsize.
14612
14613 2003-11-17  Bruno Haible  <bruno@clisp.org>
14614
14615         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
14616
14617 2003-11-17  Bruno Haible  <bruno@clisp.org>
14618
14619         * lib/vasnprintf.c (alloca): Remove fallback definition.
14620         (freea): Remove definition.
14621         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
14622         Reported by Paul Eggert.
14623
14624 2003-11-16  Paul Eggert  <eggert@twinsun.com>
14625             Bruno Haible  <bruno@clisp.org>
14626
14627         Protect against address arithmetic overflow.
14628         * lib/printf-args.h: Include stddef.h.
14629         (arguments): Change type of field 'count' to size_t.
14630         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
14631         'unsigned int' where appropriate.
14632         * lib/printf-parse.h: Include sys/types.h.
14633         (char_directive): Change type of *arg_index fields to ssize_t.
14634         (char_directives): Change type of fields 'count', max_*_length to
14635         size_t.
14636         * lib/printf-parse.c: Include sys/types.h and xsize.h.
14637         (SSIZE_MAX): Define fallback value.
14638         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
14639         instead of 'int' where appropriate. Check a_allocated, d_allocated
14640         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
14641         * lib/vasnprintf.c: Include xsize.h.
14642         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
14643         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
14644         overflow. Avoid wraparound when converting a width or precision from
14645         decimal to binary.
14646
14647 2003-11-16  Bruno Haible  <bruno@clisp.org>
14648
14649         Update from GNU gettext.
14650         * lib/printf-parse.c: Generalize to it can be compiled for wide
14651         strings.
14652         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
14653         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
14654         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
14655         SNPRINTF): New macros.
14656         Don't include <alloca.h> if the file is used inside libintl.
14657         (local_wcslen): New function, for Solaris 2.5.1.
14658         (VASNPRINTF): Use it instead of wcslen.
14659
14660 2003-11-16  Bruno Haible  <bruno@clisp.org>
14661
14662         * lib/xsize.h (xmax): New function.
14663         (xsum, xsum3, xsum4): Declare as "pure" functions.
14664
14665 2003-11-12  Paul Eggert  <eggert@twinsun.com>
14666
14667         * modules/xalloc (Files): Undo latest change, since xalloc.h
14668         no longer needs SIZE_MAX or PTRDIFF_MAX.
14669
14670 2003-11-12  Paul Eggert  <eggert@twinsun.com>
14671
14672         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
14673         gl_PTRDIFF_MAX.
14674
14675 2003-11-12  Paul Eggert  <eggert@twinsun.com>
14676
14677         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
14678         "return", to pacify some unknown compiler.  Problem reported
14679         by Joerg Schilling.
14680
14681 2003-11-12  Paul Eggert  <eggert@twinsun.com>
14682
14683         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
14684         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
14685         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
14686         heuristic is just as accurate as far as we know, and it removes a
14687         dependency on size_max.m4 and ptrdiff_max.m4.
14688
14689 2003-11-11  Bruno Haible  <bruno@clisp.org>
14690
14691         * modules/xsize (Files): Add m4/size_max.m4.
14692         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
14693
14694 2003-11-11  Bruno Haible  <bruno@clisp.org>
14695
14696         * m4/size_max.m4: New file.
14697         * m4/ptrdiff_max.m4: New file.
14698         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
14699         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
14700         (gl_XALLOC): Invoke it.
14701
14702 2003-11-11  Bruno Haible  <bruno@clisp.org>
14703
14704         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
14705         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
14706         defined.
14707
14708 2003-11-10  Paul Eggert  <eggert@twinsun.com>
14709
14710         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
14711         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
14712         rejected some allocations of exactly SIZE_MAX - 2 bytes.
14713         From Bruno Haible.
14714         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
14715         not (size_t) -1, since it's defined here.
14716
14717 2003-11-09  Karl Berry  <karl@gnu.org>
14718
14719         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
14720
14721 2003-11-06  Paul Eggert  <eggert@twinsun.com>
14722
14723         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
14724         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
14725         Reject sizes of exactly SIZE_MAX bytes.
14726         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
14727         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
14728
14729 2003-11-05  Bruno Haible  <bruno@clisp.org>
14730
14731         * lib/xsize.h: Include limits.h, to avoid a possible collision with
14732         SIZE_MAX defined in <limits.h> on Solaris.
14733
14734 2003-11-04  Jim Meyering  <jim@meyering.net>
14735
14736         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
14737         variable names, rather than @VAR@.
14738         * modules/poll: Likewise.
14739
14740 2003-11-04  Bruno Haible  <bruno@clisp.org>
14741
14742         * modules/xsize: New file.
14743         * modules/linebreak: Depend on xsize.
14744         * MODULES.html.sh (func_all_modules): Add xsize.
14745
14746 2003-11-04  Bruno Haible  <bruno@clisp.org>
14747
14748         * m4/xsize.m4: New file.
14749
14750 2003-11-04  Bruno Haible  <bruno@clisp.org>
14751
14752         * lib/xsize.h: New file.
14753         * lib/linebreak.c: Include xsize.h.
14754         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
14755         argument for overflow.
14756         Suggested by Paul Eggert.
14757
14758 2003-11-03  Karl Berry  <karl@gnu.org>
14759
14760         * config/config.{guess,sub}: update from config.
14761
14762 2003-11-03  Jim Meyering  <jim@meyering.net>
14763
14764         * modules/userspec (lib_SOURCES): Add userspec.h.
14765         (Include): Add "userspec.h".
14766         Improve description.
14767
14768 2003-11-03  Jim Meyering  <jim@meyering.net>
14769
14770         * lib/userspec.c: Include "userspec.h".
14771         * lib/userspec.h: New file.
14772
14773 2003-11-03  Bruno Haible  <bruno@clisp.org>
14774
14775         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
14776
14777 2003-11-03  Bruno Haible  <bruno@clisp.org>
14778
14779         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
14780         available, to avoid (extremely rare) race condition.
14781         Suggested by Paul Eggert.
14782
14783 2003-11-02  Karl Berry  <karl@gnu.org>
14784
14785         * config/srclist.txt (vasprintf.c): sync broken, sigh.
14786
14787 2003-10-31  Paul Eggert  <eggert@twinsun.com>
14788
14789         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
14790         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
14791         (read_filesystem_list): Set and use me_type_malloced.
14792         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
14793         whatever the type happens to be), for brevity and consistency.
14794         Check for size calculation overflow on Alphas running OSF/1.
14795
14796 2003-10-31  Jim Meyering  <jim@meyering.net>
14797
14798         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
14799
14800         * lib/linebuffer.c: Include <string.h> for declaration of memset.
14801
14802 2003-10-30  Paul Eggert  <eggert@twinsun.com>
14803             Bruno Haible  <bruno@clisp.org>
14804
14805         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
14806         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
14807
14808 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
14809
14810         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
14811         netbsd*-gnu*.  Suggested by Robert Millan.
14812
14813 2003-10-29  Paul Eggert  <eggert@twinsun.com>
14814
14815         * modules/group-member: Depend on stdbool.
14816
14817 2003-10-29  Paul Eggert  <eggert@twinsun.com>
14818
14819         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
14820
14821 2003-10-29  Paul Eggert  <eggert@twinsun.com>
14822
14823         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
14824         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
14825         after the 'gnu' in these cases.  This fixes some bugs in the
14826         previous change, and is based on suggestions by Robert Millan.
14827
14828 2003-10-29  Paul Eggert  <eggert@twinsun.com>
14829
14830         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
14831         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
14832         no longer needed.
14833         * lib/quotearg.c (quotearg_n_options): Use it.
14834         * lib/group-member.c: Include <stdbool.h>.
14835         (free_group_info): Arg is now const *; don't free arg.
14836         (get_group_info): Now returns bool and accepts struct group_info *,
14837         rather than returning a malloc'ed struct group_info *.
14838         All uses changed.  Check for overflow in internal size calculation.
14839
14840         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
14841         rather than xmalloc/xrealloc.
14842         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
14843         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
14844         conformance bug: the old code used a pointer after freeing the
14845         storage that it addressed.
14846         * lib/hash.c (hash_initialize): Simplify the code by using
14847         xalloc_oversized rather than doing it by hand.
14848         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
14849         the buffer preserved.  Use free and xmalloc instead.
14850         * lib/quotearg.c (quotearg_n_options): Likewise.
14851         Use a simpler test for size overflow.  Don't use xalloc_oversized
14852         because unsigned int might be wider than size_t (!); this suggests
14853         that we should switch from unsigned int to size_t for slot numbers.
14854
14855 2003-10-28  Paul Eggert  <eggert@twinsun.com>
14856
14857         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
14858         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
14859         NetBSD kernels.  Requested by Richard Stallman.
14860
14861 2003-10-27  Paul Eggert  <eggert@twinsun.com>
14862
14863         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
14864         to allocate the returned structure.  Do not allocate a subarray,
14865         as x2nrealloc will do that.
14866         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
14867         instead of xnrealloc.
14868         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
14869
14870 2003-10-27  Bruno Haible  <bruno@clisp.org>
14871
14872         * lib/stdbool_.h: Better support for BeOS.
14873
14874 2003-10-26  Paul Eggert  <eggert@twinsun.com>
14875
14876         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
14877         now uses inline.
14878
14879 2003-10-26  Paul Eggert  <eggert@twinsun.com>
14880
14881         * lib/xalloc.h (xalloc_oversized): New static inline function, for
14882         callers that want to do their own size-overflow checking.  Include
14883         <stdbool.h>, since xalloc_oversized returns bool.
14884         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
14885         to use xalloc_oversized.
14886
14887         Add two functions x2realloc, x2nrealloc, for programs that grow
14888         arrays dynamically by doubling their sizes.
14889         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
14890         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
14891         New functions.
14892
14893         Port to C99 semantics for 'inline' of external functions.
14894         Bug reported by Bruno Haible.
14895         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
14896         with the old contents of xnmalloc.
14897         (xnmalloc, xmalloc): Use it.
14898         (xnrealloc_inline): New static inline function,
14899         with the old contents of xnrealloc.
14900         (xnrealloc, xrealloc): Use it.
14901
14902         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
14903         that.
14904
14905 2003-10-26  Karl Berry  <karl@gnu.org>
14906
14907         * config/srclist.txt (COPYING.DOC): no longer available from
14908         /gd/gnuorg; don't know where the ultimate source is.
14909
14910 2003-10-25  Paul Eggert  <eggert@twinsun.com>
14911
14912         Fix several address-calculation bugs in the hash modules,
14913         plus some minor code cleanup.
14914
14915         * lib/hash.h: Include <stdbool.h>, for bool.
14916         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
14917         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
14918         hash_get_n_entries, hash_get_max_bucket_length,
14919         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
14920         hash_rehash): Use size_t rather than unsigned.
14921         * lib/hash.c (struct hash_table, hash_get_n_buckets,
14922         hash_get_n_buckets_used, hash_get_n_entries,
14923         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
14924         hash_get_entries, hash_do_for_each, hash_string, is_prime,
14925         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
14926         Likewise.
14927         (SIZE_MAX): Define if not defined.
14928         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
14929         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
14930         hash_print):
14931         Use const * when possible.
14932         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
14933         (check_tuning): Fix bug: if tuning parameters were very close to
14934         0 or 1, rounding errors could have caused subscript violations.
14935         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
14936         (hash_initialize): Add 'fail:' label
14937         to free table and return NULL, and use it to simplify code.
14938         Use calloc rather than clearing the storage ourself.
14939         (hash_initialize, hash_rehash): Check for arithmetic overflow in
14940         buffer size calculations.
14941         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
14942         Include <stddef.h>, for size_t.
14943         * lib/hash-pjw.c (hash_pjw): Likewise.
14944         Switch to method described by Bruno Haible.
14945         Include <limits.h>, for CHAR_BIT.
14946         (SIZE_BITS): New macro.
14947
14948 2003-10-23  Paul Eggert  <eggert@twinsun.com>
14949
14950         * m4/getline.m4 (AM_FUNC_GETLINE):
14951         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
14952         hosts.  Problem reported by Derek Robert Price in
14953         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
14954         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
14955         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
14956
14957 2003-10-21  Paul Eggert  <eggert@twinsun.com>
14958
14959         * lib/getndelim2.c (getndelim2): When size calculation overflows,
14960         ceiling the allocation at NMAX bytes rather than silently
14961         discarding input bytes before NMAX is reached.  This makes
14962         a difference only if NMAX exceeds SIZE_MAX / 2.
14963
14964         * lib/obstack.c: Merge from glibc.
14965         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
14966         Add libc_hidden_def (_obstack_newchunk).
14967         (_obstack_free) [! defined _LIBC]: Remove.
14968         [defined _LIBC]: Make a strong alias from obstack_free, rather than
14969         a clone of the function body.
14970         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
14971         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
14972
14973         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
14974         glibc.
14975         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
14976         arg to memcpy.
14977
14978         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
14979         (obstack_ptr_grow_fast, obstack_int_grow_fast):
14980         Don't use lvalue casts, as GCC plans to remove support for them
14981         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
14982         was also present in the non-GCC version, indicating that this
14983         code had always been buggy and had never been widely used.
14984         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
14985         Use the fast variant of each macro, rather than copying the
14986         definiens of the fast variant; that way, we'll be more likely to
14987         catch future bugs in the fast variants.
14988
14989 2003-10-20  Bruno Haible  <bruno@clisp.org>
14990
14991         * modules/wait-process: New file.
14992         * MODULES.html.sh (func_all_modules): Add wait-process.
14993
14994 2003-10-20  Bruno Haible  <bruno@clisp.org>
14995
14996         * m4/wait-process.m4: New file.
14997
14998 2003-10-20  Bruno Haible  <bruno@clisp.org>
14999
15000         * lib/wait-process.h: New file, from GNU gettext.
15001         * lib/wait-process.c: New file, from GNU gettext.
15002
15003 2003-10-19  Jim Meyering  <jim@meyering.net>
15004
15005         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
15006         HPUX 10.20.
15007
15008 2003-10-18  Karl Berry  <karl@gnu.org>
15009
15010         * config/config.guess: update from config.
15011
15012 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15013
15014         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
15015         (getgroups): First arg is int, not size_t.
15016         Don't let 'free' mangle errno.
15017
15018 2003-10-16  Paul Eggert  <eggert@twinsun.com>
15019
15020         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
15021
15022 2003-10-16  Karl Berry  <karl@gnu.org>
15023
15024         * config/config.{guess,sub}: update from config.
15025
15026 2003-10-16  Jim Meyering  <jim@meyering.net>
15027
15028         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
15029         memcpy.
15030
15031 2003-10-15  Paul Eggert  <eggert@twinsun.com>
15032
15033         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
15034         (SIZE_MAX): Remove.
15035         (new_exclude, add_exclude_file): Initial size no longer needs to
15036         be a power of 2.
15037         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
15038         our own address arithmetic overflow checking.
15039
15040         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
15041         (fnmatch): Do not alloca more than 2000 wide characters;
15042         instead, use malloc for large buffers.
15043         Check for address arithmetic overflow, and return -1
15044         with errno set to ENOMEM in that case.
15045         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
15046         (NEW_PATTERN): Do not alloca more than 8000 bytes;
15047         instead, return -1.  Check for address arithmetic overflow.
15048
15049 2003-10-14  Paul Eggert  <eggert@twinsun.com>
15050
15051         Handle invalid suffixes and overflow independently, so that
15052         callers can treat them independently as needed.  Fix some bugs in
15053         suffix handling, e.g., "100k@" was not diagnosed as an invalid
15054         suffix for a human-readable blocksize.  The major caller-visible
15055         change is the addition of a new
15056         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
15057         that both overflow and suffix chars were found.
15058
15059         * lib/human.c (humblock): Don't check separately for invalid suffix
15060         char; that is xstrtoumax's job (now that its bug is fixed).
15061         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
15062         INTMAX_MAX]: New macros.
15063         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
15064         TYPE_MAXIMUM): New macros.
15065         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
15066         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
15067         if overflow occurs, as it's what __strtol does and it's more useful
15068         in practice.
15069         (__xstrtol): If __strtol reports some error other than ERANGE,
15070         reflect it to the caller as LONGINT_INVALID.  If it reports
15071         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
15072         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
15073         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
15074         value.
15075         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
15076         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
15077         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
15078         [defined UINTMAX_MAX]: New macros.
15079
15080 2003-10-14  Bruno Haible  <bruno@clisp.org>
15081
15082         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
15083
15084 2003-10-14  Bruno Haible  <bruno@clisp.org>
15085
15086         * m4/sig_atomic_t: New file, from GNU gettext.
15087         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
15088
15089 2003-10-14  Bruno Haible  <bruno@clisp.org>
15090
15091         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
15092         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
15093         Also use volatile where needed.
15094
15095 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15096
15097         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
15098         Change maintainer from Bruno Haible to 'all'.
15099
15100 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15101
15102         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
15103
15104 2003-10-12  Paul Eggert  <eggert@twinsun.com>
15105
15106         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
15107         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
15108         and define in terms of the other primitives.
15109         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
15110         (SIZE_MAX): Define if not already defined.
15111         (array_size_overflow): New function.
15112         (xalloc_die): Abort instead of exiting if 'error' returns.
15113         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
15114         (xmalloc, xrealloc): Use them.
15115         (xcalloc): Check for address arithmetic overflow.
15116         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
15117         a bit faster than strcpy.
15118
15119 2003-10-10  Simon Josefsson  <jas@extundo.com>
15120
15121         * modules/argp (Depends-on): Add restrict and strcase.
15122
15123 2003-10-10  Simon Josefsson  <jas@extundo.com>
15124
15125         * m4/argp.m4: Add AC_C_INLINE.
15126
15127 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15128
15129         Merge getpass from libc, plus a few fixes.
15130
15131         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
15132         Include <stdbool.h>.
15133         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
15134         __fsetlocking to empty.
15135         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
15136         do include <bits/libc-lock.h>.
15137         Do not include <fcntl.h>; not needed.
15138         [_LIBC]: Include <wchar.h>.
15139         (NOTCANCEL_MODE): New macro.
15140         (flockfile, funlockfile) [_LIBC]: New macros.
15141         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
15142         [!_LIBC]: New macros.
15143         (call_fclose): New function.
15144         (getpass): Use it.  Save tty stream separately; this simplifies the
15145         code and makes it more reliable if stdin happens to equal stdout.
15146         Invoke __fsetlocking on tty.
15147         Handle thread cancellation if needed.
15148         Namespace cleanup (use __tcgetattr, __getline).
15149         Use bool for Booleans.
15150         [USE_IN_LIBIO]: Handle wide streams.
15151         [!_LIBC]: Unconditionally do the fseek, since we don't know what
15152         stream might go where.
15153
15154         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
15155         doesn't have to include <stdio.h> before us.
15156         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
15157         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
15158         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
15159         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
15160         if not declared, so that we can use getpass.c code from libc without
15161         rewriting it.
15162         (flockfile, ftrylockfile, funlockfile): New macros.
15163
15164 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15165
15166         * modules/getpass: Depend on stdbool.
15167
15168 2003-10-08  Paul Eggert  <eggert@twinsun.com>
15169
15170         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
15171
15172 2003-10-07  Karl Berry  <karl@gnu.org>
15173
15174         * config/config.{guess,sub}: update from config.
15175
15176 2003-10-06  Jim Meyering  <jim@meyering.net>
15177             Bruno Haible  <bruno@clisp.org>
15178
15179         This lets translators provide better translations for the
15180         "Written by ..." part of --version output.
15181         * lib/version-etc.h: Include stdarg.h.
15182         (version_etc_copyright): Declare as readonly.
15183         (version_etc): Make this function variadic with a NULL-terminated list
15184         of author name strings.
15185         (version_etc_va): New declaration.
15186         * lib/version-etc.c: Include stdarg.h, stdlib.h.
15187         (version_etc_copyright): Declare as readonly.
15188         (version_etc_va): New function. Provide a different translatable string
15189         for each possible number of authors < 10. Abbreviate when there are 10
15190         authors or more.
15191         (version_etc): Make this function variadic. Call version_etc_va.
15192         Suggestion from Gary V. Vaughan.
15193
15194         * lib/long-options.h (parse_long_options): Change prototype: the
15195         authors string is moved to the end and becomes variadic.
15196         * lib/long-options.c: Include stdarg.h.
15197         (parse_long_options): Make this function variadic, too.
15198         Call version_etc_va, not version_etc.
15199
15200 2003-10-06  Bruno Haible  <bruno@clisp.org>
15201
15202         * modules/version-etc-2: Remove file.
15203         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
15204
15205 2003-10-06  Bruno Haible  <bruno@clisp.org>
15206
15207         * modules/fatal-signal: New file.
15208         * MODULES.html.sh (func_all_modules): Add fatal-signal.
15209
15210 2003-10-06  Bruno Haible  <bruno@clisp.org>
15211
15212         * m4/fatal-signal.m4: New file.
15213         * m4/signalblocking.m4: New file, from GNU gettext.
15214
15215 2003-10-06  Bruno Haible  <bruno@clisp.org>
15216
15217         * lib/version-etc-2.h: Remove file.
15218         * lib/version-etc-2.c: Remove file.
15219
15220 2003-10-06  Bruno Haible  <bruno@clisp.org>
15221
15222         * lib/fatal-signal.h: New file, from GNU gettext.
15223         * lib/fatal-signal.c: New file, from GNU gettext.
15224
15225 2003-10-05  Paul Eggert  <eggert@twinsun.com>
15226
15227         * README: Rework advice for preventing empty .o files.
15228         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
15229         not <sys/types.h>.
15230
15231 2003-10-04  Karl Berry  <karl@gnu.org>
15232
15233         * lib/argp*: update from libc.
15234
15235 2003-10-04  Karl Berry  <karl@gnu.org>
15236
15237         * config/config.{guess,sub}: update from config.
15238
15239 2003-10-02  Bruno Haible  <bruno@clisp.org>
15240
15241         * modules/lchown (Include): Add lchown.h.
15242         * modules/time_r (Include): Use "..." syntax.
15243         * modules/xgetdomainname (Include): Add xgetdomainname.h.
15244
15245 2003-10-01  Simon Josefsson  <jas@extundo.com>
15246
15247         * MODULES.html.sh (func_all_modules): Move gethostname from section
15248         'based on' to section 'lacking' POSIX:2001.
15249
15250 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
15251
15252         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
15253         to output mode on the same stream.
15254
15255 2003-09-29  Paul Eggert  <eggert@twinsun.com>
15256
15257         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
15258         Fix arg typo in previous patch.
15259
15260 2003-09-28  Jim Meyering  <jim@meyering.net>
15261
15262         * lib/error.c: Correct cpp indentation.
15263
15264 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15265
15266         * modules/free: New file.
15267
15268 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15269
15270         * m4/free.m4: New file.
15271
15272 2003-09-27  Paul Eggert  <eggert@twinsun.com>
15273
15274         * lib/minmax.h (MIN, MAX)
15275         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
15276         Omit the special code that used __typeof__, since we worry that
15277         it could be more trouble than it's worth.  See:
15278         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
15279         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
15280
15281         * lib/free.c: New file.
15282
15283 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
15284
15285         Trivial fixes to Makefile.am parts of module listings.
15286         * modules/strstr: Append strstr.h to lib_SOURCES.
15287         * modules/strcase: Likewise, for strcase.h.
15288
15289 2003-09-27  Karl Berry  <karl@gnu.org>
15290
15291         * config/mkinstalldirs: update from automake.
15292
15293 2003-09-26  Paul Eggert  <eggert@twinsun.com>
15294
15295         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
15296         (error_tail): Do not loop, reallocating temporary buffer, since
15297         the output cannot contain more wide characters than the input
15298         contains bytes, the size must be big enough already.  This avoids
15299         one potential size overflow calculation.  Check for size overflow
15300         when calculating temporary buffer size.  Free temporary buffer
15301         when done, if it was allocated with malloc; this plugs a memory
15302         leak.  Remove casts from void * to pointers, that are no longer
15303         needed now that we're assuming C89 or better.
15304
15305         Merge error changes from glibc.
15306
15307         * lib/error.c, error.h: Update copyright notice header to match glibc.
15308         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
15309         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
15310         Disable cancellation while printing error.
15311         * lib/error.h: Prepend __ to parameter names.
15312
15313 2003-09-26  Jim Meyering  <jim@meyering.net>
15314
15315         * lib/error.c (error_tail): Move some declarations
15316         into inner scope where the local variables are used.
15317
15318 2003-09-26  Bruno Haible  <bruno@clisp.org>
15319
15320         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
15321         stpncpy().
15322         Don't define stpncpy through config.h; it's now done through stpncpy.h.
15323
15324 2003-09-26  Bruno Haible  <bruno@clisp.org>
15325
15326         * lib/stpncpy.h (gnu_stpncpy): New declaration.
15327         (stpncpy): Define as alias for gnu_stpncpy.
15328         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
15329
15330 2003-09-25  Simon Josefsson  <jas@extundo.com>
15331
15332         * lib/xgetdomainname.h: New file.
15333         * lib/xgetdomainname.c: New file.
15334
15335 2003-09-25  Simon Josefsson  <jas@extundo.com>
15336             Bruno Haible  <bruno@clisp.org>
15337
15338         * modules/getdomainname: New file.
15339         * modules/xgetdomainname: New file.
15340         * MODULES.html.sh (func_all_modules): Add getdomainname,
15341         xgetdomainname.
15342
15343 2003-09-25  Simon Josefsson  <jas@extundo.com>
15344             Bruno Haible  <bruno@clisp.org>
15345
15346         * m4/getdomainname.m4: New file.
15347
15348 2003-09-25  Simon Josefsson  <jas@extundo.com>
15349             Bruno Haible  <bruno@clisp.org>
15350
15351         * lib/getdomainname.h: New file.
15352         * lib/getdomainname.c: New file.
15353
15354 2003-09-25  Karl Berry  <karl@gnu.org>
15355
15356         * lib/argp-fmtstream.c, argp-help.c: update from libc.
15357
15358 2003-09-25  Karl Berry  <karl@gnu.org>
15359
15360         * config/install-sh: update from automake.
15361
15362 2003-09-25  Bruno Haible  <bruno@clisp.org>
15363
15364         * modules/version-etc-2: New file, from modules/version-etc with
15365         modifications.
15366         * MODULES.html.sh (func_all_modules): Add version-etc-2.
15367
15368 2003-09-25  Bruno Haible  <bruno@clisp.org>
15369
15370         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
15371         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
15372
15373 2003-09-24  Simon Josefsson  <jas@extundo.com>
15374
15375         * modules/xgethostname: Add xgethostname.h.
15376
15377 2003-09-24  Paul Eggert  <eggert@twinsun.com>
15378
15379         * lib/linebuffer.c (freebuffer): Don't free the argument, just
15380         the buffer associated with the argument.  Bug reported by
15381         Simon Josefsson.
15382
15383 2003-09-24  Paul Eggert  <eggert@twinsun.com>
15384
15385         * README: Document assumptions that 'int' is at least 32 bits
15386         wide, that integer arithmetic is 2's complement without overflow,
15387         that there are no holes in integer values, that adding sizes of
15388         two nonoverlapping objects can't overflow, and that all-bits-zero
15389         yields scalar zero.  Fix spelling and capitalization typos.
15390
15391 2003-09-19  Karl Berry  <karl@gnu.org>
15392
15393         * lib/argp.h: update from libc.
15394
15395 2003-09-17  Paul Eggert  <eggert@twinsun.com>
15396
15397         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
15398         to avoid spurious warnings like "AC_RUN_IFELSE was called before
15399         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
15400
15401 2003-09-17  Paul Eggert  <eggert@twinsun.com>
15402
15403         * gnulib-tool: Use "test -h", not "test -L", for portability
15404         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
15405         (tags_regexp): Remove, since \| doesn't conform to POSIX.
15406         (sed_extract_prog): Issue s commands one-by-one, rather than
15407         using \| in one s command.
15408
15409 2003-09-16  Paul Eggert  <eggert@twinsun.com>
15410
15411         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
15412         input error, instead of returning NULL the next time we are called
15413         (and therefore losing track of errno).
15414
15415 2003-09-16  Bruno Haible  <bruno@clisp.org>
15416
15417         * gnulib-tool (func_create_testdir): Warn about duplicated
15418         dependencies.
15419
15420 2003-09-15  Paul Eggert  <eggert@twinsun.com>
15421
15422         * modules/argmatch, modules/fatal, modules/obstack,
15423         modules/xalloc, modules/xgethostname: Sort dependencies by
15424         importance, not alphabetically.
15425
15426 2003-09-15  Paul Eggert  <eggert@twinsun.com>
15427
15428         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
15429         fails, so that the caller gets the proper errno.
15430
15431         * lib/readutmp.c (read_utmp): Likewise.
15432         Check for fstat error.  Close stream and free storage
15433         when failing.
15434
15435 2003-09-14  Karl Berry  <karl@gnu.org>
15436
15437         * config/srclist.txt (strdup.c): disable for c89 changes.
15438
15439 2003-09-14  Jim Meyering  <jim@meyering.net>
15440
15441         * lib/getloadavg.c: Correct cpp indentation.
15442         * lib/strdup.c: Likewise.
15443         * lib/vasnprintf.c: Likewise.
15444
15445 2003-09-14  Bruno Haible  <bruno@clisp.org>
15446
15447         * modules/fwriteerror: New file.
15448         * MODULES.html.sh (func_all_modules): Add fwriteerror.
15449
15450 2003-09-14  Bruno Haible  <bruno@clisp.org>
15451
15452         * lib/fwriteerror.h: New file.
15453         * lib/fwriteerror.c: New file.
15454
15455 2003-09-12  Paul Eggert  <eggert@twinsun.com>
15456
15457         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
15458         modules/xgethostname, modules/xalloc: Depend on exit.
15459
15460 2003-09-12  Paul Eggert  <eggert@twinsun.com>
15461
15462         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
15463
15464         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
15465         and AC_MINIX, too, so that their extensions are available.
15466
15467         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
15468         This macro has been superseded by gl_BACKUPFILE.
15469
15470         More patches to assume C89 or better.
15471
15472         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
15473
15474         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
15475         unconditionally.
15476         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
15477         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
15478         Include <string.h>, <stdlib.h> unconditionally.
15479         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
15480         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
15481         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
15482         headers or for string.h.
15483         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
15484         or strtoul.
15485
15486         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
15487         headers.
15488         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
15489         * m4/userspec.m4 (gl_USERSPEC): Likewise.
15490         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
15491         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
15492         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
15493         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
15494         memcpy, memset.
15495         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
15496         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
15497         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
15498         strtol.
15499         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
15500         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
15501         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
15502         strtoul.
15503
15504 2003-09-12  Paul Eggert  <eggert@twinsun.com>
15505
15506         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
15507         * lib/obstack.c [!defined _LIBC]: Likewise.
15508         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
15509         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
15510         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
15511
15512         More changes to assume C89 or better.
15513
15514         * lib/error.c (error_tail): Assume vprintf.
15515
15516         * lib/argmatch.c (getenv): Remove decl.
15517         * lib/progreloc.c (get_full_program_name): Define via prototype.
15518         * lib/setenv.c (clearenv): Likewise.
15519         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
15520         needed.
15521         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
15522         (malloc, memcpy): Remove decls.
15523         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
15524         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
15525         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
15526         (memcpy): Remove macro.
15527         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
15528         (__P): Remove.  All uses removed.
15529         (PTR): Remove.  All uses changed to void *.
15530         (CHAR_BIT, NULL): Remove.
15531         (spaces, zeros, memset_space, memset_zero)
15532         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
15533         Remove.
15534         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
15535         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
15536         Define with prototype.
15537         Remove now-unnecessary prototype decl.
15538         (extra_args_spec): Assume ANSI C.  All uses changed.
15539         (extra_args_spec_iso): Remove.
15540         (my_strftime, emacs_strftimeu): Define via prototype.
15541         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
15542         unconditionally.
15543         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
15544         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
15545         (strtoul, strtol): Remove decls.
15546         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
15547         LONG_MAX): Remove.
15548         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
15549         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
15550         (LOCALE_PARAM_PROTO): New macro.
15551         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
15552         (INTERNAL (strtol), strtol): Define with a prototype.
15553         (PARAMS): Remove.  All uses removed.
15554         * lib/tempname.c: Include <string.h> unconditionally.
15555         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
15556         * lib/xgethostname.c (main): Define with a prototype.
15557         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
15558         Include <stdlib.h> unconditionally.
15559         (calloc, malloc, realloc, free): Remove decls.
15560         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
15561         Include <stdlib.h> unconditionally.  Sort include file names.
15562         (strtod): Remove.
15563         (xstrtod): Define with a prototype.
15564         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
15565         (strtol, strtoul): Remove decls.
15566
15567 2003-09-11  Paul Eggert  <eggert@twinsun.com>
15568
15569         More patches to assume C89 or better.
15570         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
15571         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
15572         string.h, memchr, STDC_HEADERS.
15573
15574 2003-09-11  Paul Eggert  <eggert@twinsun.com>
15575
15576         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
15577         Include <stdlib.h>, <string.h> unconditionally.
15578         Remove now-unnecessary cast to char *.
15579         * lib/strnlen.c: Include <string.h> unconditionally.
15580         * lib/yesno.c (yesno): Define with a prototype.
15581
15582 2003-09-11  Bruno Haible  <bruno@clisp.org>
15583
15584         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
15585
15586 2003-09-10  Jim Meyering  <jim@meyering.net>
15587
15588         * lib/error.c: Correct indentation of cpp directives.
15589
15590 2003-09-10  Bruno Haible  <bruno@clisp.org>
15591
15592         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
15593         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
15594         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
15595         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
15596         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
15597         <stdlib.h> and <string.h> checks.
15598         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
15599         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
15600
15601 2003-09-10  Bruno Haible  <bruno@clisp.org>
15602
15603         * lib/strcspn.c: Include <string.h> unconditionally.
15604         * lib/strpbrk.c: Include <string.h> unconditionally.
15605         * lib/strstr.c: Include <string.h> unconditionally.
15606         * lib/unicodeio.c: Include <string.h> unconditionally.
15607         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
15608         * lib/unsetenv.c: Likewise.
15609         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
15610         * lib/yesno.c: Include <stdlib.h> unconditionally.
15611         (rpmatch): Add prototype.
15612
15613 2003-09-09  Paul Eggert  <eggert@twinsun.com>
15614
15615         More patches to assume C89 or better.
15616         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
15617         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
15618         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
15619         or for string.h.
15620         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
15621         stdlib.h.
15622         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
15623         C headers.
15624         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
15625         string.h.
15626         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
15627         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
15628         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
15629         or for string.h.
15630         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
15631         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
15632         C headers.
15633         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
15634         memcpy.
15635         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
15636         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
15637         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
15638         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
15639         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
15640         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
15641         string.h, free.
15642         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
15643         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
15644         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
15645         C headers, or for string.h.
15646         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
15647         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
15648         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
15649         headers, memory.h, stdlib.h, string.h, strings.h.
15650         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
15651         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
15652         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
15653         strchr.
15654         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
15655         headers, memory.h, string.h.
15656         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
15657         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
15658         free.
15659         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
15660         headers.
15661         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
15662         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
15663         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
15664         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
15665         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
15666
15667 2003-09-09  Paul Eggert  <eggert@twinsun.com>
15668
15669         More K&R removal.
15670
15671         * lib/acosl.c (main): Use a prototype.
15672         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
15673         tanl.c: Likewise.
15674
15675         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
15676
15677         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
15678         (getopt, etopt_long, getopt_long_only, _getopt_internal)
15679         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
15680         with a prototype.
15681         * lib/getopt.c (const): Remove macro.
15682         Include <string.h> unconditionally.
15683         (my_index): Remove; all uses changed to strchr.
15684         (strlen): Remove decl.
15685         (exchange): Remove forward decl; no longer needed.
15686         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
15687         Define with prototype.
15688         * lib/getopt1.c (const): Remove macro.
15689         (getopt_long, getopt_long_only, main): Define with prototype.
15690
15691         * lib/getugroups.c: Include <string.h> unconditionally.
15692
15693         * lib/getusershell.c: Include <stdlib.h> unconditionally.
15694         (getusershell, setusershell, endusershell, readname, main):
15695         Define with prototypes.
15696
15697         * lib/group-member.c: Include group-member.h first.
15698         Include <stdlib.h> unconditionally.
15699
15700         * lib/hard-locale.c: Include hard-locale.h first.
15701         Include <stdlib.h>, <string.h> unconditionally.
15702
15703         * lib/hash.c (free, malloc): Remove decls.
15704         Include <stdlib.h> unconditionally.
15705
15706         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
15707         (getenv): Do not declare.
15708
15709         * lib/idcache.c: Include <string.h> unconditionally.
15710
15711         * lib/long-options.c: Include long-options.h first, to test interface.
15712         Include <stdlib.h> unconditionally.
15713
15714         * lib/makepath.c: Include makepath.h first, to test interface.
15715         Include <stdlib.h> and <string.h> unconditionally.
15716
15717         * lib/linebuffer.c: Include <stdlib.h>.
15718         (free): Remove decl.
15719
15720         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
15721         stddef.h. rpl_malloc returns void *, not char *.
15722         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
15723         prototype.
15724
15725         * lib/md5.h: Include <limits.h> unconditionally.
15726         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
15727         (__P): Remove; all uses removed.
15728         * lib/md5.c: Include "md5.h" first.
15729         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
15730         md5_buffer, md5_process_bytes, md5_process_block):
15731         Define with prototypes.
15732         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
15733         * lib/sha.c: Include "sha.h" first.
15734         Include <stdlib.h>, <string.h> unconditionally.
15735
15736         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
15737         * lib/memcmp.c (__ptr_t): Likewise.
15738         * lib/memrchr.c (__ptr_t): Likewise.
15739         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
15740         Include <string.h> unconditionally.
15741         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
15742         * lib/memchr.c: Include <stdlib.h> unconditionally.
15743         * lib/memchr.c (LONG_MAX): Remove.
15744         * lib/memrchr.c (LONG_MAX): Likewise.
15745         * lib/memchr.c (__memchr): Define via a prototype.
15746         * lib/memrchr.c (__memrchr): Likewise.
15747         * lib/memcmp.c (__P): Remove, and remove all uses.
15748         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
15749         Remove forward decls; no longer needed.
15750         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
15751         Use types required by C89 in prototype.
15752
15753         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
15754         * lib/savedir.c: Likewise.
15755         * lib/mkdir.c (free): Remove decl.
15756         * lib/rmdir.c (rmdir): Define with a prototype.
15757         * lib/savedir.c: Include savedir.h first, to test interface.
15758
15759         * lib/mktime.c (STDC_HEADERS): Remove.
15760         Include <stdlib.h>, <string.h> unconditionally.
15761
15762         * lib/modechange.c: Include <stdlib.h> unconditionally.
15763         (malloc): Remove decl.
15764
15765         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
15766         (free): Remove decl.
15767
15768         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
15769         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
15770         (This type really should be intptr_t, but that's a C99ism.)
15771         (_obstack_memcpy): Remove: all uses changed to memcpy.
15772         Include <string.h> unconditionally.
15773         (struct obstack): Assume __STDC__ for types of members
15774         chunkfun, freefun, extra_arg.
15775         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
15776         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
15777         obstack_begin, obstack_specify_allocation,
15778         obstack_specify_allocation_with_arg, obstack_chunkfun,
15779         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
15780         Remove unprototyped decls and the macros that use them.
15781         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
15782         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
15783         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
15784         (defined __STDC__ && __STDC__)]:
15785         Remove nonprototyped code.
15786         Include <stdlib.h> unconditionally.
15787         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
15788         _obstack_allocated_p, _obstack_free, obstack_free,
15789         _obstack_memory_used, print_and_abort):
15790         Define using prototypes.
15791         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
15792         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
15793         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
15794         obstack_next_free, obstack_object_size, obstack_room) [0]:
15795         Remove unused, unprototyped code.
15796
15797         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
15798
15799         * lib/physmem.c (physmem_total, physmem_available, main): Define
15800         with prototypes.
15801
15802         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
15803         (main): Define with a prototype.
15804
15805         * lib/posixver.c (getenv): Remove decl.
15806
15807         * lib/putenv.c (malloc): Returns void *, not char *.
15808         Include <string.h> unconditionally.
15809         (strchr, memcpy, NULL): Do not define.
15810
15811         * lib/readtokens.c: Include readtokens.h first, to test interface.
15812         Include <stdlib.h>, <string.h> unconditionally.
15813         (init_tokenbuffer): Define with a prototype.
15814
15815         * lib/regex.c (PARAMS): Remove.  All uses removed.
15816         All uses of _RE_ARGS removed, too.
15817         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
15818         unconditionally.
15819         (bzero): Assume memset exists.
15820         (memcmp, memcpy, NULL): Remove.
15821         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
15822         char, or assignments to local vars of type signed char.
15823         (init_syntax_once, PREFIX(extract_number_and_incr),
15824         PREFIX(print_partial_compiled_pattern),
15825         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
15826         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
15827         PREFIX(regex_grow_registers), PREFIX(regex_compile),
15828         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
15829         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
15830         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
15831         wcs_compile_range, byte_compile_range, truncate_wchar,
15832         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
15833         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
15834         count_mbs_length, wcs_re_match_2_internal,
15835         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
15836         PREFIX(alt_match_null_string_p),
15837         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
15838         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
15839         regfree, PREFIX(extract_number)): Define with prototype.  Remove
15840         now-unnecessary declaration, if any.
15841         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
15842         regcomp, regexec):
15843         Remove now-unnecessary casts among pointer types.
15844         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
15845
15846         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
15847         (free): Remove decl.
15848
15849         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
15850
15851         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
15852         (free): Remove decl.
15853
15854         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
15855         * lib/xgetcwd.c: Likewise.
15856
15857         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
15858         (free): Remove decl.
15859
15860         * lib/strchrnul.c (strchrnul): Define with a prototype.
15861         Fix bug: c_in was not converted to char before searching.
15862
15863         The following changes are not K&R related:
15864
15865         * lib/group-member.h: Include <sys/types.h>, so that this file is
15866         self-contained.
15867         * lib/makepath.h: Likewise.
15868
15869         * lib/getusershell.c (readname, default_index, line_size, readname):
15870         Use size_t, not int, for sizes.
15871         (readname): If the size overflows, report an error instead of
15872         looping forever.
15873
15874 2003-09-09  Paul Eggert  <eggert@twinsun.com>
15875
15876         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
15877         libc.
15878
15879 2003-09-09  Paul Eggert  <eggert@twinsun.com>
15880
15881         * README: New section: portability guidelines.
15882
15883 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
15884
15885         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
15886         C89 spec.
15887
15888 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
15889
15890         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
15891
15892 2003-09-08  Paul Eggert  <eggert@twinsun.com>
15893
15894         Assume C89 or better; remove K&R cruft.
15895         A few of these changes were first proposed by Derek Robert Price
15896         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
15897
15898         * lib/addext.c: Include <string.h> unconditionally.
15899         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
15900         Don't declare getenv or malloc.
15901
15902         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
15903         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
15904         (NULL): Remove.
15905         (find_stack_direction, alloca): Use prototypes.
15906
15907         * lib/atexit.c (atexit): Define using a prototype.
15908
15909         * lib/basename.c, dirname.c, stripslash.c:
15910         Include <string.h> unconditionally.
15911
15912         * lib/bcopy.c: Include <stddef.h>.
15913         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
15914
15915         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
15916
15917         * lib/error.h (error, error_at_line, error_print_progname)
15918         [! (defined (__STDC__) && __STDC__)]: Remove decls.
15919         * lib/error.c: Include error.h first, to check interface.
15920         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
15921         (VA_START): Remove; all uses changeed to va_start.
15922         (exit, strerror): Remove decls.
15923         (error_print_progname): Prototype uncondionally.
15924         Don't include <errno.h>; no longer needed.
15925         (private_strerror): Remove.
15926         (error_tail): Always define.
15927         (error, error_at_line): Assume C89 or better; always use prototypes.
15928         * lib/fatal.c: Include "fatal.h" first, to test interface.
15929         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
15930         (VA_START): Remove; all uses changed to va_start.
15931         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
15932         this case.
15933         (exit): Remove decl.
15934         (fatal): Prototype unconditionally.  Assume va_start works.
15935         Abort at end, to pacify gcc.
15936
15937         * lib/euidaccess.c (main): Define with a prototype.
15938
15939         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
15940
15941         * lib/exitfail.c: Include <stdlib.h> unconditionally.
15942
15943         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
15944         prototypes.
15945         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
15946         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
15947         (getenv): Remove decl.
15948         (fnmatch): Define using a prototype.
15949         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
15950         (FCT): Define using a prototype.
15951
15952         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
15953
15954         * lib/gethostname.c: Include <stddef.h>.
15955         (gethostname): Define with prototype.  Length is size_t, not int.
15956
15957 2003-09-08  Paul Eggert  <eggert@twinsun.com>
15958
15959         Assume C89 or better; remove K&R cruft.
15960         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
15961         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
15962         string.h, getenv, malloc.
15963         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
15964         headers.
15965         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
15966         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
15967         do not check for strerror.
15968         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
15969         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
15970         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
15971         do not check for doprnt or vprintf.
15972         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
15973         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
15974
15975 2003-09-08  Paul Eggert  <eggert@twinsun.com>
15976
15977         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
15978         getversion.c should have been removed then, but was accidentally
15979         preserved.
15980
15981         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
15982         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
15983
15984 2003-09-08  Karl Berry  <karl@gnu.org>
15985
15986         * config/config.sub, config.guess, srclistvars.sh: update from savannah
15987                 config, forget about prep.
15988
15989         * config/depcomp, missing: update from automake.
15990
15991 2003-09-07  Paul Eggert  <eggert@twinsun.com>
15992
15993         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
15994         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
15995
15996 2003-09-07  Paul Eggert  <eggert@twinsun.com>
15997
15998         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
15999         copy_tm_result.  Bug reported by Simon Josefsson in
16000         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
16001
16002 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16003
16004         * m4/time_r.m4: New file.
16005         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
16006         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
16007         is. Check for timegm declaration.
16008         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
16009         Do not check for gmtime_r.
16010         Replace mktime if __mktime_internal does not exist and if mktime
16011         hasn't been replaced already.
16012
16013 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16014
16015         * lib/time_r.c, time_r.h: New files.
16016
16017         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
16018         __localtime_r.
16019         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
16020         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
16021
16022         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
16023         __gmtime_r.
16024         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
16025         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
16026         Include <time_r.h>.
16027
16028         * lib/timegm.c: Switch to glibc implementation, with the following
16029         changes:
16030         [defined HAVE_CONFIG_H]: Include <config.h>.
16031         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
16032         (__mktime_internal) [!defined _LIBC]: New decl.
16033         (__gmtime_r) [!defined _LIBC]: New macro and function.
16034         (timegm): Use a prototype, since gnulib assumes C89.
16035         Do not bother declaring tmp to be const, as it's not really usefu.
16036         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
16037         (timegm): Declare only if HAVE_DECL_TIMEGM.
16038
16039 2003-09-06  Paul Eggert  <eggert@twinsun.com>
16040
16041         * MODULES.html.sh (func_all_modules): Add time_r.
16042         * modules/time_r: New file.
16043         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
16044         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
16045
16046 2003-09-03  Paul Eggert  <eggert@twinsun.com>
16047
16048         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
16049         Bug reported by Lute Kamstra in
16050         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
16051
16052         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
16053         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
16054         course with correspondingly smaller numbers for tomorrow and
16055         yesterday.  From Tadayoshi Funaba.  Originally installed into
16056         sh-utils on 1999-08-07, but the patch got lost (I guess during the
16057         coreutils merge?).
16058
16059 2003-08-31  Simon Josefsson  <jas@extundo.com>
16060
16061         * modules/timegm: New file.
16062         * MODULES.html.sh (func_all_modules): Add timegm.
16063
16064 2003-08-31  Simon Josefsson  <jas@extundo.com>
16065
16066         * m4/timegm.m4: New file.
16067
16068 2003-08-31  Simon Josefsson  <jas@extundo.com>
16069
16070         * lib/timegm.h: New file.
16071         * lib/timegm.c: New file.  Based on
16072         wget-1.8.2/src/http.c:mktime_from_utc.
16073
16074 2003-08-31  Karl Berry  <karl@gnu.org>
16075
16076         * lib/argp.h: update from libc.
16077
16078 2003-08-28  Bruno Haible  <bruno@clisp.org>
16079
16080         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
16081         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
16082         followed by '#define fnmatch fnmatch_posix' gives an error.
16083
16084 2003-08-28  Bruno Haible  <bruno@clisp.org>
16085
16086         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
16087         warning on QNX, which defines O_BINARY to 000000.
16088
16089 2003-08-27  Jim Meyering  <jim@meyering.net>
16090
16091         * m4/mkstemp.m4: Require that the system mkstemp be able to create
16092         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
16093         would fail after 32.  Reported by Danny Levinson.  Details here:
16094         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
16095
16096 2003-08-24  Bruno Haible  <bruno@clisp.org>
16097
16098         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
16099         MSVC7 <stdio.h> is included later.
16100
16101 2003-08-22  Simon Josefsson  <jas@extundo.com>
16102
16103         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
16104
16105 2003-08-20  Karl Berry  <karl@gnu.org>
16106
16107         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
16108
16109 2003-08-20  Bruno Haible  <bruno@clisp.org>
16110
16111         * modules/progname: New file.
16112         * MODULES.html.sh (func_all_modules): Add progname.
16113
16114 2003-08-20  Bruno Haible  <bruno@clisp.org>
16115
16116         * lib/progname.h: New file, from GNU gettext.
16117         * lib/progname.c: New file, from GNU gettext.
16118         * lib/progreloc.c: New file, from GNU gettext.
16119
16120 2003-08-19  Jim Meyering  <jim@meyering.net>
16121
16122         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
16123         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
16124
16125 2003-08-19  Bruno Haible  <bruno@clisp.org>
16126
16127         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
16128         more.
16129
16130 2003-08-19  Bruno Haible  <bruno@clisp.org>
16131
16132         * lib/xstrdup.c: Assume <string.h> exists.
16133
16134 2003-08-18  Paul Eggert  <eggert@twinsun.com>
16135
16136         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
16137         in makefile rules.
16138
16139 2003-08-18  Jim Meyering  <jim@meyering.net>
16140
16141         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
16142         * m4/lib-ld.m4: Likewise.
16143
16144 2003-08-18  Jim Meyering  <jim@meyering.net>
16145
16146         * lib/setenv.h: Indent nested cpp directive.
16147         * lib/vasnprintf.c: Remove trailing blanks.
16148
16149 2003-08-17  Simon Josefsson  <jas@extundo.com>
16150
16151         * modules/xstrndup: New file.
16152         * MODULES.html.sh (func_all_modules): Add xstrndup.
16153
16154 2003-08-17  Simon Josefsson  <jas@extundo.com>
16155
16156         * modules/argp: Fix autoconf macro name. Add more dependencies.
16157
16158 2003-08-17  Simon Josefsson  <jas@extundo.com>
16159
16160         * m4/xstrndup.m4: New file.
16161
16162 2003-08-17  Simon Josefsson  <jas@extundo.com>
16163
16164         * m4/argp.m4: New file.
16165
16166 2003-08-17  Simon Josefsson  <jas@extundo.com>
16167             Bruno Haible  <bruno@clisp.org>
16168
16169         * lib/xstrndup.h: New file.
16170         * lib/xstrndup.c: New file.
16171
16172 2003-08-17  Bruno Haible  <bruno@clisp.org>
16173
16174         * modules/strndup (Files, Include): Add lib/strndup.h.
16175
16176 2003-08-17  Bruno Haible  <bruno@clisp.org>
16177
16178         * modules/euidaccess (Files): Add lib/euidaccess.h.
16179
16180 2003-08-17  Bruno Haible  <bruno@clisp.org>
16181
16182         * lib/strndup.h: New file.
16183
16184 2003-08-17  Bruno Haible  <bruno@clisp.org>
16185
16186         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
16187         like AC_GNU_SOURCE.
16188         * modules/extensions (configure.ac): Comment out the invocation of
16189         gl_USE_SYSTEM_EXTENSIONS.
16190
16191 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16192
16193         Merges from coreutils, etc.
16194         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
16195         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
16196         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
16197         fixing a typo.
16198         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
16199         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
16200
16201 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16202
16203         Document merge from coreutils.
16204         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
16205         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
16206         * modules/utime: Add m4/utimes-null.m4.
16207
16208 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16209
16210         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
16211         space, undoing this 2003-08-12 change:
16212         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
16213
16214 2003-08-16  Paul Eggert  <eggert@twinsun.com>
16215
16216         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
16217         strtoul.c from libc, undoing this 2003-08-12 change:
16218         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
16219
16220 2003-08-16  Jim Meyering  <jim@meyering.net>
16221
16222         Merges from coreutils.
16223         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
16224         prefix.  Adjust cache variables similarly.  Create 500 rather than
16225         just 300 files, to exercise bug on Darwin6.5, too.
16226         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
16227         $missing_dir.
16228         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
16229         AM_SYS_POSIX_TERMIOS.
16230         Reported by mkc@mathdogs.com.
16231         Also change use of $am_cv_sys_posix_termios
16232         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
16233         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
16234         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
16235         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
16236         in /proc/mounts until it finds one with matching device number.  This
16237         is unnecessary when the FILE argument *is* a mount point.  No stat call
16238         is necessary in that case.  So, disable the statvfs-testing code on
16239         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
16240         as RedHat bug# 84846.
16241         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
16242         to 1MB, so as not to render systems with no stack size limit (e.g.,
16243         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
16244         Include <unistd.h>.  On some systems,
16245         it is required for the definition of _SC_PAGESIZE.
16246
16247 2003-08-16  Jim Meyering  <jim@meyering.net>
16248
16249         Merge from coreutils.
16250         * lib/xstrtoimax.c: #else #if -> #elif.
16251         * lib/xstrtoumax.c: Likewise.
16252
16253 2003-08-16  Jim Meyering  <jim@meyering.net>
16254
16255         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
16256         * m4/utimes.m4: Removed.
16257         * m4/utimes-null.m4: Renamed from utimes.m4.
16258
16259         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
16260         to 1MB, so as not to render systems with no stack size limit (e.g.,
16261         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
16262         Include <unistd.h>.  On some systems,
16263         it is required for the definition of _SC_PAGESIZE.
16264
16265 2003-08-16  Jim Meyering  <jim@meyering.net>
16266         and Paul Eggert  <eggert@cs.ucla.edu>
16267
16268         Merges from coreutils, etc.
16269
16270         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
16271         using the latest version from cvs.  This avoids problems with #line
16272         directives using a vendor (Sun) compiler.
16273         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
16274         Don't set GETGROUPS_LIB here; now it's
16275         done via getgroups.m4's wrapper function.
16276         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
16277         rather than just in sh-util/configure.in, so that the
16278         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
16279         same.
16280         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
16281         AC_FUNC_GETLOADAVG where to find getloadavg.c.
16282         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
16283         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
16284         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
16285         Remove code that is now done by the newly-required macros.
16286         Append $(EXEEXT) to DF_PROG.
16287         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
16288         Do not invoke or require the following here,
16289         since prereq.m4 or some gnulib .m4 now does this for us:
16290         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
16291         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
16292         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
16293         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
16294         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
16295         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
16296         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
16297         AC_FUNC_OBSTACK.
16298         Do not replace the following functions, as this is now the job
16299         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
16300         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
16301         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
16302         atexit getpass, strdup, getpagesize.
16303         Replace 'raise'.
16304         Do not check for the following functions, as this is now the job
16305         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
16306         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
16307         setregid.
16308         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
16309         Check for sys/sysctl.h.
16310         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
16311         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
16312         of checking for ssize_t ourselves.
16313
16314         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
16315         Require every macro that gnulib/modules/* suggests for us.
16316         (jm_PREREQ_ADDEXT): New macro.
16317         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
16318         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
16319
16320         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
16321         (gl_PHYSMEM): Use it.
16322         Also check for `table' function.
16323         Check for new headers and functions.
16324         Add check for sys/sysmp.h.
16325         With suggestions from Kaveh Ghazi.
16326         Ignore headers that are present but cannot be compiled.  This
16327         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
16328         C 5.4.
16329
16330 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16331
16332         Document merge from coreutils.
16333         * modules/userspec: Depend on posixver.
16334         * modules/strftime: Depend on tzset.
16335
16336 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16337
16338         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
16339         rather than tab, after '#' in shell-script copyright notices.
16340         Suggested by Bruno Haible.
16341
16342 2003-08-15  Paul Eggert  <eggert@twinsun.com>
16343
16344         * config/srclist-update: Use three spaces, rather than tab, after '#'
16345         in shell-script copyright notices.  Suggested by Bruno Haible.
16346         Remove unnecessary parenthesization in regular expression.
16347
16348 2003-08-15  Jim Meyering  <jim@meyering.net>
16349
16350         Merge from coreutils.
16351         * lib/xgethostname.c: Include <stdlib.h>.
16352         (xghostname): Don't exit for anything other than memory-related
16353         failure; just return NULL.
16354         * lib/userspec.c: Include "posixver.h".
16355         (parse_user_spec): Accept `.' as a separator only
16356         in pre-POSIX-200112 mode.
16357         * lib/strtoimax.c: Use #elif rather than #else #if.
16358         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
16359         Remove function, now that we can rely on a working tzset function.
16360         [!_LIBC]: Ensure that the required autoconf test has been run.
16361         [!defined _NL_CURRENT && HAVE_STRFTIME]:
16362         Use underlying_strftime for %r.
16363         * lib/sha.c: Merge in some clean-up and optimization changes from
16364         glibc.
16365         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
16366         Ensure that it is a multiple of 64.
16367         Rearrange loop exit tests so as to avoid performing an
16368         additional fread after encountering an error or EOF.
16369         * lib/realloc.c: Update copyright date.
16370
16371 2003-08-15  Jim Meyering  <jim@meyering.net>
16372         and Paul Eggert  <eggert@twinsun.com>
16373
16374         Merge from coreutils.
16375         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
16376         member but strut utmpx does not.  Needed for AIX 4.3.3.
16377         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
16378
16379 2003-08-15  Jim Meyering  <jim@meyering.net>
16380         and Paul Eggert  <eggert@cs.ucla.edu>
16381
16382         Merges from coreutils, etc.
16383         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
16384         Require gl_FUNC_TZSET_CLOBBER.
16385         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
16386         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
16387         members.
16388
16389 2003-08-14  Paul Eggert  <eggert@twinsun.com>
16390
16391         Help the merge from coreutils.
16392         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
16393         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
16394         * m4/tzset.m4: Use it too.
16395
16396 2003-08-14  Paul Eggert  <eggert@twinsun.com>
16397
16398         * modules/tzset: New file.
16399
16400 2003-08-14  Jim Meyering  <jim@meyering.net>
16401
16402         Merges from coreutils.
16403         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
16404         variable names, rather than @FNMATCH_H@.
16405         * modules/alloca: Likewise for $(ALLOCA_H).
16406
16407         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
16408         the three copies of the literal target, `fnmatch.h'.
16409         * modules/alloca (alloca.h): Likewise.
16410
16411 2003-08-14  Jim Meyering  <jim@meyering.net>
16412
16413         Merge from coreutils.
16414         * m4/tzset.m4: New file.
16415         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
16416         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
16417         otherwise, AIX 5.1 systems would end up using the latter.
16418         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
16419         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
16420         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
16421         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
16422
16423 2003-08-14  Jim Meyering  <jim@meyering.net>
16424
16425         Merge from coreutils.
16426         * lib/obstack.h: Whitespace changes.
16427         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
16428         and xcalloc return values.
16429         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
16430         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
16431         hang on OSF/1 5.1 for DIR on both local and remote file systems.
16432         Reported by (and fix confirmed by) Nelson H. F. Beebe.
16433         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
16434         error from mntctl.
16435         Use mntctl's return value to drive the entry-processing loop, since
16436         we can't rely on the value of the vmt_length member in the last
16437         entry.  On some systems doing so could result in exhausting
16438         virtual memory.  Based in part on a patch from Mike Jetzer.
16439
16440 2003-08-14  Jim Meyering  <jim@meyering.net>
16441         and Paul Eggert  <eggert@twinsun.com>
16442
16443         Merges from coreutils, plus other fixes.
16444         * lib/physmem.c: Merge in portability changes from gcc/libiberty
16445         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
16446         for credits and details.  Thanks to Kaveh Ghazi for helping
16447         to keep these files in sync.
16448         (ARRAY_SIZE): Define it.
16449         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
16450         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
16451         (memcasecmp): Don't assume size_t fits in unsigned int.
16452         Remove casts and duplicate code.
16453         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
16454         (memcpy): Remove definition.
16455         Merge in some clean-up and optimization changes from glibc.
16456         [BLOCKSIZE]: Move definition to top of file.
16457         Ensure that it is a multiple of 64.
16458         Rearrange loop exit tests so as to avoid performing an
16459         additional fread after encountering an error or EOF.
16460         * lib/md5.h (md5_uintptr): Define.
16461         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
16462         return to the initial working directory.  Preserve errno
16463         for caller.
16464         * lib/idcache.c: Include "xalloc.h".
16465         (xmalloc, xrealloc): Remove decls.
16466         (getuser): Remove casts no longer required in C89.
16467         * lib/human.c: Include stdio.h, for sprintf.
16468         * lib/group-member.c: Include "xalloc.h".
16469         (xmalloc, xrealloc): Remove decls.
16470         (get_group_info): Remove casts no longer required in C89.
16471         * lib/getusershell.c (readname): Remove casts no longer required in
16472         C89.
16473         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
16474         * lib/getline.c: Whitespace fix, from coreutils.
16475
16476 2003-08-13  Paul Eggert  <eggert@twinsun.com>
16477
16478         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
16479         Check for isascii.
16480
16481         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
16482         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
16483         Undo previous (whitespace-only) change.
16484
16485 2003-08-13  Paul Eggert  <eggert@twinsun.com>
16486
16487         * lib/exclude.c: Include <ctype.h>
16488         (IN_CTYPE_DOMAIN): New macro.
16489         (is_space): New fn.
16490         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
16491         and empty lines.
16492
16493         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
16494         Undo previous (whitespace-only) change.
16495
16496 2003-08-13  Paul Eggert  <eggert@twinsun.com>
16497
16498         * config/srclist-update: Change update back to the old behavior,
16499         leaving whitespace alone.  Use one 'sed' command rather than a
16500         pipeline.
16501         (fixlicense): Now a variable, not a function.
16502         (remove_trailing_blanks): Remove.
16503         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
16504         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
16505         Undo previous (whitespace-only) change.
16506
16507 2003-08-12  Paul Eggert  <eggert@twinsun.com>
16508
16509         Merge from coreutils.
16510         * modules/euidaccess: Add lib_SOURCES, include for new
16511         file euidaccess.h
16512
16513 2003-08-12  Paul Eggert  <eggert@twinsun.com>
16514
16515         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
16516         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
16517         Normalize leading white space and remove trailing white space.
16518
16519         Merge from coreutils
16520         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
16521
16522         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
16523         0.12.1.  These files are now being upgraded automatically by
16524         ../config/srclist-update.
16525
16526 2003-08-12  Paul Eggert  <eggert@twinsun.com>
16527
16528         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
16529         Normalize leading white space and remove trailing white space.
16530         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
16531         notice, as per ../config/srclist-update.
16532
16533         Merge from coreutils.
16534         * lib/euidaccess.h: New file.
16535         * lib/euidaccess.c: Include it.
16536         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
16537         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
16538         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
16539
16540 2003-08-12  Paul Eggert  <eggert@twinsun.com>
16541
16542         * config/srclist-update: Add copyright notice.
16543         (remove_id_lines, remove_trailing_blanks): New constants.
16544         (fixfile): Use them to normalize spacing a bit in copied files.
16545         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
16546         Normalize leading white space and remove trailing white space.
16547
16548         * config/texinfo.tex: Sync with texinfo.
16549
16550         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
16551         strtoul.c from libc, to merge coreutils whitespace changes.
16552
16553         * config/srclist.txt: Get the following m4 files from gettext:
16554         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
16555         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
16556         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
16557         wint_t.m4.
16558
16559 2003-08-12  Karl Berry  <karl@gnu.org>
16560
16561         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
16562         been made.
16563
16564 2003-08-11  Paul Eggert  <eggert@twinsun.com>
16565
16566         * modules/gnu-source, m4/gnu-source.m4:
16567         Remove; we're assuming Autoconf 2.54 or later now.
16568         Suggested by Bruno Haible.
16569         * MODULES.html.sh (func_all_modules): Remove gnu-source.
16570
16571 2003-08-11  Bruno Haible  <bruno@clisp.org>
16572
16573         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
16574
16575 2003-08-11  Bruno Haible  <bruno@clisp.org>
16576
16577         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
16578         (vasnprintf): Use it instead of wcslen.
16579
16580 2003-08-11  Bruno Haible  <bruno@clisp.org>
16581
16582         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
16583         value to ensure that _Bool promotes to int. Use #define for _Bool when
16584         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
16585
16586 2003-08-10  Karl Berry  <karl@gnu.org>
16587
16588         * lib/regex.h: update from libc (whitespace fix).
16589
16590 2003-08-09  Paul Eggert  <eggert@twinsun.com>
16591
16592         Merge some files from coreutils.  These changes were
16593         originally made by Jim Meyering.
16594         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
16595         many older Unixes require this.
16596         * lib/alloca.c (alloca): Remove cast to argument of free;
16597         no longer needed in C89.
16598         * lib/alloca_.h, regex.h: Fix white space to match
16599         what GNU indent does.
16600
16601 2003-08-09  Paul Eggert  <eggert@twinsun.com>
16602
16603         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
16604         apparently Emacs's Unicode mode got confused before my 2003-08-05
16605         checkin.
16606
16607 2003-08-08  Paul Eggert  <eggert@twinsun.com>
16608
16609         * m4/extensions.m4: New file.
16610         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
16611         Require gl_USE_SYSTEM_EXTENSIONS.
16612         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
16613         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
16614
16615 2003-08-08  Paul Eggert  <eggert@twinsun.com>
16616
16617         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
16618         * modules/extensions, modules/gnu-source: New files.
16619         * modules/timespec, modules/unlocked-io: Depend on extensions.
16620
16621 2003-08-07 Paul Eggert  <eggert@twinsun.com>
16622
16623         * modules/restrict: New file.
16624         * MODULES.html.sh (func_all_modules): Add restrict.
16625         * modules/regex: Depend on restrict.
16626
16627 2003-08-07  Paul Eggert  <eggert@twinsun.com>
16628
16629         * m4/restrict.m4: New file.
16630         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
16631
16632 2003-08-07  Bruno Haible  <bruno@clisp.org>
16633
16634         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
16635         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
16636
16637 2003-08-07  Bruno Haible  <bruno@clisp.org>
16638
16639         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
16640         makes the module 'getndelim2' compatible with the module 'getline'.
16641
16642 2003-08-05  Paul Eggert  <eggert@twinsun.com>
16643
16644         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
16645         byte with "\201" to avoid glitches when editing that source file
16646         with multi-gnome-terminal.
16647
16648 2003-08-05  Paul Eggert  <eggert@twinsun.com>
16649
16650         * lib/bumpalloc.h: Remove.
16651
16652 2003-08-05  Paul Eggert  <eggert@twinsun.com>
16653
16654         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
16655         * modules/bumpalloc: Remove.
16656
16657 2003-08-04  Paul Eggert  <eggert@twinsun.com>
16658
16659         * lib/getloadavg.c: Change copyright notice and spacing to conform to
16660         GNU coding style.
16661
16662         Merge from coreutils.
16663         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
16664         1. From glibc.
16665         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
16666         from Karl Berry, implemented by Jim Meyering.
16667         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
16668         from Dmitry V. Levin.
16669         Remove anachronistic cast of xrealloc.
16670         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
16671         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
16672         type. Otherwise, it wouldn't compile with at least /bin/cc on
16673         ymp-cray-unicos9.0.2.X.
16674         Combine two mostly-identical uses of alloca into one.
16675         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
16676
16677 2003-08-04  Dave Love <d.love@dl.ac.uk>
16678
16679         [From Emacs.]
16680
16681         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
16682         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
16683         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
16684         obsolete NLIST_NAME_UNION.
16685         [__GNU__]: Undef BSD and FSCALE.
16686         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
16687
16688 2003-08-03  Paul Eggert  <eggert@twinsun.com>
16689
16690         * lib/stdbool_.h (_Bool): Make it signed char, instead of
16691         an enum type, so that it's guaranteed to promote to int.  See:
16692         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
16693
16694 2003-08-03  Karl Berry  <karl@gnu.org>
16695
16696         * config/depcomp: update from automake.
16697
16698 2003-07-31  Paul Eggert  <eggert@twinsun.com>
16699
16700         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
16701         (strerror): Don't assume that a printable int fits in 14 bytes.
16702
16703 2003-07-31  Bruno Haible  <bruno@clisp.org>
16704
16705         * modules/getpass-gnu: New file.
16706         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
16707
16708 2003-07-31  Bruno Haible  <bruno@clisp.org>
16709
16710         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
16711
16712 2003-07-24  Karl Berry  <karl@gnu.org>
16713
16714         * config/missing: update from automake.
16715
16716 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
16717             Bruno Haible  <bruno@clisp.org>
16718
16719         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
16720         * lib/getline.c (getline, getdelim): Likewise.
16721         Remove _GNU_SOURCE define; now it's defined in config.h through
16722         m4/getline.m4.
16723
16724 2003-07-23  Karl Berry  <karl@gnu.org>
16725
16726         * config/config.sub: update from prep.
16727
16728 2003-07-22  Paul Eggert  <eggert@twinsun.com>
16729
16730         * modules/xalloc (Depends-on): Add exitfail.
16731         * modules/xmemcoll: Likewise.
16732
16733 2003-07-22  Paul Eggert  <eggert@twinsun.com>
16734
16735         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
16736         over-parenthesization in macros.
16737
16738         Sync with coreutils.
16739
16740         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
16741         required by C99.
16742
16743         Use `exit_failure' for xalloc and xmemcoll instead of their own
16744         private exit-failure variables.
16745         * lib/xalloc.h (xalloc_exit_failure): Remove.
16746         * lib/xmalloc.c: Likewise.  Include exitfail.h.
16747         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
16748         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
16749         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
16750         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
16751
16752 2003-07-20  Jim Meyering  <jim@meyering.net>
16753
16754         * modules/closeout (Depends-on): Add exitfail.
16755         Suggestion from Bruno Haible.
16756
16757 2003-07-19  Karl Berry  <karl@gnu.org>
16758
16759         * config/config.sub: update from prep.
16760
16761 2003-07-18  Paul Eggert  <eggert@twinsun.com>
16762
16763         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
16764         Remove.
16765         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
16766         to test that it can stand by itself.  Include "exitfail.h".
16767         Clients should set exit_failure instead.
16768         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
16769
16770 2003-07-18  Bruno Haible  <bruno@clisp.org>
16771
16772         * modules/getndelim2: New file.
16773         * modules/getline: Share files with module getndelim2.
16774         * modules/getnline: Depend on getndelim2 instead of sharing files with
16775         it. Add getnline.c to lib_SOURCES.
16776         * MODULES.html.sh (func_all_modules): Add getndelim2.
16777
16778 2003-07-18  Bruno Haible  <bruno@clisp.org>
16779
16780         * m4/getndelim2.m4: New file.
16781         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
16782         invoke gl_PREREQ_GETNDELIM2.
16783         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
16784         gl_PREREQ_GETNDELIM2.
16785         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
16786         gl_GETNDELIM2.
16787
16788 2003-07-18  Bruno Haible  <bruno@clisp.org>
16789
16790         * lib/getndelim2.h: New file.
16791         * lib/getndelim2.c: Make into a module of its own. Include config.h,
16792         getndelim2.h.
16793         (getndelim2): Make non-static. Change return type to ssize_t.
16794         * lib/getline.h: Change argument names.
16795         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
16796         * lib/getnline.c: Include getndelim2.h.
16797
16798 2003-07-18  Andreas Schwab  <schwab@suse.de>
16799
16800         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
16801
16802 2003-07-17  Karl Berry  <karl@gnu.org>
16803
16804         * config/config.sub: update from prep.
16805
16806 2003-07-17  Bruno Haible  <bruno@clisp.org>
16807
16808         * modules/getnline: New file.
16809         * modules/getline: Add lib/getndelim2.c to source file list.
16810         * MODULES.html.sh (func_all_modules): Add getnline.
16811
16812 2003-07-17  Bruno Haible  <bruno@clisp.org>
16813
16814         * m4/getnline.m4: New file.
16815
16816 2003-07-17  Bruno Haible  <bruno@clisp.org>
16817
16818         * m4/Makefile.am.in: Remove file.
16819         * m4/Makefile.am: Remove file.
16820         * m4/Makefile.in: Remove file.
16821
16822 2003-07-17  Bruno Haible  <bruno@clisp.org>
16823
16824         * lib/getnline.h: New file.
16825         * lib/getnline.c: New file.
16826         * lib/getndelim2.c: New file, extracted from getline.c.
16827         (getndelim2): Renamed from getdelim2, with added nmax argument.
16828         * lib/getline.c: Include getndelim2.c.
16829         (getdelim2): Moved out to getndelim2.c.
16830         (getline, getdelim): Update.
16831
16832 2003-07-17  Bruno Haible  <bruno@clisp.org>
16833
16834         * lib/Makefile.am: Remove file.
16835         * lib/Makefile.in: Remove file.
16836
16837 2003-07-17  Bruno Haible  <bruno@clisp.org>
16838
16839         * configure.in: Remove file.
16840         * Makefile.in: Remove file.
16841
16842 2003-07-17  Bruno Haible  <bruno@clisp.org>
16843
16844         * MODULES.html.sh: Put the </BODY> right before </HTML>.
16845
16846 2003-07-16  Karl Berry  <karl@gnu.org>
16847
16848         * config/srclist-update: was running fixlicense twice, which caused
16849                 texinfo.tex to be nullified for some reason.  Simplify,
16850                 $gplsrc is no longer needed as far as I can see?
16851
16852 2003-07-16  Jim Meyering  <jim@meyering.net>
16853
16854         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
16855
16856 2003-07-15  Paul Eggert  <eggert@twinsun.com>
16857
16858         * config/srclist.txt: Get the following files from gettext-runtime/intl
16859         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
16860         ref-del.sin.  From Bruno Haible.
16861         * config/srclist-update (fixfile): Change grep pattern again, since the
16862         previous fix didn't work (there was another trailing $).  Use
16863         '[$]' to escape the $s.
16864
16865 2003-07-15  Karl Berry  <karl@gnu.org>
16866
16867         * lib/vasnprintf.c: update from gettext.
16868
16869 2003-07-15  Karl Berry  <karl@gnu.org>
16870
16871         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
16872         gets expanded when surrounded by '$'.
16873
16874 2003-07-15  Jim Meyering  <jim@meyering.net>
16875
16876         * modules/save-cwd: Don't depend on error.  From Derek Price.
16877
16878 2003-07-15  Jim Meyering  <jim@meyering.net>
16879
16880         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
16881
16882 2003-07-14  Simon Josefsson  <jas@extundo.com>
16883
16884         * modules/mempcpy: New file.
16885         * MODULES.html.sh (func_all_modules): Add mempcpy.
16886
16887 2003-07-14  Simon Josefsson  <jas@extundo.com>
16888
16889         * m4/mempcpy.m4: New file.
16890
16891 2003-07-14  Simon Josefsson  <jas@extundo.com>
16892
16893         * lib/mempcpy.h: New file.
16894         * lib/mempcpy.c: New file.
16895
16896 2003-07-14  Paul Eggert  <eggert@twinsun.com>
16897
16898         * modules/getdate, modules/posixtm: Depend on mktime.
16899
16900 2003-07-14  Paul Eggert  <eggert@twinsun.com>
16901
16902         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
16903         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
16904         unicodeio.c, unicodeio.h, unlocked-io.h:
16905         Switch from LGPL to GPL.
16906
16907 2003-07-14  Paul Eggert  <eggert@twinsun.com>
16908
16909         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
16910         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
16911         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
16912         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
16913         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
16914         updated automatically by ../config/srclist-update.  This changes
16915         their license from LPGL to GPL.
16916
16917 2003-07-14  Paul Eggert  <eggert@twinsun.com>
16918
16919         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
16920         assumed to refer to the root of the most recent stable gettext version.
16921         * config/srclistvars.sh: Add defaults for eggert.
16922         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
16923         Match "This program" as well as "The program".  This is needed
16924         for gettext.
16925
16926 2003-07-14  Jim Meyering  <jim@meyering.net>
16927
16928         Don't emit diagnostics.  Let callers do that.
16929         * lib/save-cwd.c: Don't include "error.h".
16930         (save_cwd): Don't call error.  Ensure that errno is valid
16931         when returning nonzero.
16932
16933         * lib/save-cwd.h (restore_cwd): Update prototype.
16934         * lib/save-cwd.c (restore_cwd): Remove two parameters.
16935         Simplify.  Don't call error upon failure.  Let callers do that.
16936         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
16937         when auditing is enabled.  But don't bother updating the #if.
16938
16939 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
16940
16941         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
16942         it breaks C++ compilation.
16943         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
16944
16945 2003-07-10  Simon Josefsson  <jas@extundo.com>
16946
16947         * modules/strchrnul (Makefile.am): Add strchrnul.h.
16948
16949 2003-07-10  Jim Meyering  <jim@meyering.net>
16950
16951         * m4/clock_time.m4: Remove trailing blank.
16952         * m4/intmax_t.m4: Likewise.
16953
16954 2003-07-10  Jim Meyering  <jim@meyering.net>
16955
16956         * lib/vasnprintf.c: Remove trailing blanks.
16957         Make cpp indentation consistent.
16958
16959 2003-07-09  Paul Eggert  <eggert@twinsun.com>
16960
16961         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
16962         posixver.c, strftime.c, strnlen.c, strverscmp.c:
16963         Switch from LGPL to GPL.
16964
16965 2003-07-09  Paul Eggert  <eggert@twinsun.com>
16966
16967         * config/srclist.txt: Sort sublists.  Add
16968         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
16969         that differ from gnulib for one reason or another; we'd like this list
16970         to be smaller but for now let's document what we have.
16971
16972 2003-07-08  Paul Eggert  <eggert@twinsun.com>
16973
16974         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
16975         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
16976         and sweeter "eval x=$x".
16977         * config/srclist.txt: Get lib/argp* from glibc.
16978
16979 2003-07-07  Paul Eggert  <eggert@twinsun.com>
16980
16981         * lib/mktime.c: Fix some boundary cases and remove need for floating
16982         point.
16983
16984         Issue a compile-time diagnostic if time_t is floating point, or if
16985         two's complement arithmetic is not in effect, or if arithmetic
16986         right shift does not propagate the sign.  These assumptions were
16987         all in the original code but they weren't checked.
16988
16989         (TIME_T_MIDPOINT, verify): New macros.
16990         (__isleap): Remove; it has integer overflow problems.
16991         (leapyear): New function, without those problems.
16992         (ydhms_tm_diff): Remove; splitting into two parts.
16993         (ydhms_diff): New function, containing the arithmetic part of
16994         the old ydhms_tm_diff function.  Issue a compile-time
16995         diagnostic if we are not using C99 integer division.
16996         Avoid casts when possible.
16997         (guess_time_tm): New function, containing the checking part of
16998         the old ydhms_tm_diff function.  Return the new value, rather than
16999         the difference between it and the old.  Accept a new argument T
17000         so that *T specifies the old value.  Check for overflow in the result.
17001
17002         (__mktime_internal): Use a time_t offset, not a long int offset.
17003         This undoes the 2003-06-04 change, which is no longer needed now
17004         that we have better overflow checking.
17005         (localtime_offset): Likewise.
17006
17007         (__mktime_internal): Avoid harmful overflow on hosts where time_t
17008         and long are 64-bit but int is only 32-bit.
17009         (ydhms_diff): Use long int to store year1 and yday1.
17010         Issue a compile-time diagnostic if long int is not wide enough.
17011
17012         (__mktime_internal): Use long int to store adjusted year and yday.
17013         Use plain C rather than preprocessor commands, if that doesn't
17014         affect efficiency.
17015         Check for overflow (and try to repair) after each probe
17016         rather than checking only at the very end.  This avoids some bugs
17017         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
17018         does not equal GMT offset at maximum time).
17019         Use integer to check for overflow rather than floating point; this
17020         is more portable to non-IEEE hosts, and is a tad faster.
17021         When we detect that we are oscillating between two values,
17022         don't check whether tm_isdst has the requested value, since
17023         we already know the answer.  When tm_isdst has the wrong value,
17024         use a different heuristic to find the right one, based on the
17025         extreme values actually observed in practice in tz2003a,
17026         rather than the (overly optimistic) "previous 3 calendar quarters".
17027
17028         (not_equal_tm, print_tm, check_result): Use "const T" rather than
17029         "T const" to accommodate glibc style.
17030         (check_result): Use less-confusing report format.  "long" -> "long int.
17031         (main): Likewise.
17032         Don't loop if the iteration overflows time_t.
17033         Allow a negative step in the iteration.
17034
17035 2003-07-06  Karl Berry  <karl@gnu.org>
17036
17037         * config/depcomp: update from automake.
17038         * config/config.sub: update from prep.
17039
17040 2003-07-03  Karl Berry  <karl@gnu.org>
17041
17042         * config/config.guess: update from prep.
17043
17044 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17045
17046         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
17047         xreadlink.c now includes it unconditionally.
17048
17049 2003-07-01  Paul Eggert  <eggert@twinsun.com>
17050
17051         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
17052         having it depend on HAVE_SYS_TYPES_H.
17053
17054 2003-07-01  Bruno Haible  <bruno@clisp.org>
17055
17056         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
17057         <sys/types.h> should be sufficient.
17058         Reported by Paul Eggert.
17059
17060 2003-06-26  Karl Berry  <karl@gnu.org>
17061
17062         * config/depcomp: update from automake.
17063
17064 2003-06-26  Bruno Haible  <bruno@clisp.org>
17065
17066         * modules/human: Depend on module stdbool.
17067
17068 2003-06-25  Bruno Haible  <bruno@clisp.org>
17069
17070         * modules/readlink: New file.
17071         * modules/xreadlink: Depend on it.
17072         * MODULES.html.sh (func_all_modules): Add readlink.
17073
17074 2003-06-25  Bruno Haible  <bruno@clisp.org>
17075
17076         * m4/readlink.m4: New file.
17077
17078 2003-06-25  Bruno Haible  <bruno@clisp.org>
17079
17080         * lib/readlink.c: New file.
17081
17082 2003-06-22  Karl Berry  <karl@gnu.org>
17083
17084         * config/srclist.txt: update mkinstalldirs from automake.
17085         * config/mkinstalldirs: update.
17086
17087 2003-06-22  Bruno Haible  <bruno@clisp.org>
17088
17089         Portability to mingw32.
17090         * m4/ssize_t.m4: New file, from GNU gettext.
17091         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
17092         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
17093
17094 2003-06-22  Bruno Haible  <bruno@clisp.org>
17095
17096         * modules/safe-read: Add m4/ssize_t.m4.
17097         * modules/xreadlink: Add m4/ssize_t.m4.
17098
17099 2003-06-20  Bruno Haible  <bruno@clisp.org>
17100
17101         Assume C89, so PARAMS isn't needed.
17102         * lib/unicodeio.h (PARAMS): Remove.
17103         * lib/unicodeio.c: Don't use PARAMS.
17104
17105 2003-06-18  Karl Berry  <karl@gnu.org>
17106
17107         * config/config.{guess,sub}: update from prep.
17108
17109 2003-06-18  Jim Meyering  <jim@meyering.net>
17110
17111         Merge changes from coreutils.
17112         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
17113         Remove explicit declarations of xmalloc and realloc.
17114         Include xalloc.h.
17115         (read_utmp): Remove anachronistic cast of xmalloc.
17116
17117 2003-06-17  Paul Eggert  <eggert@twinsun.com>
17118
17119         Assume C89, so PARAMS isn't needed.
17120         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
17121         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
17122         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
17123         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
17124         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
17125         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
17126         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
17127         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
17128         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
17129         lib/xstrtod.h, lib/xstrtol.h: Likewise.
17130         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
17131         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
17132         no longer needed. Anyway, config.h should always be included before any
17133         other file.
17134
17135 2003-06-11  Simon Josefsson  <jas@extundo.com>
17136
17137         * modules/sysexits: New file.
17138         * MODULES.html.sh (func_all_modules): Add sysexits.
17139
17140 2003-06-11  Simon Josefsson  <jas@extundo.com>
17141
17142         * lib/sysexit_.h: New file.
17143
17144 2003-06-11  Derek Price  <derek@ximbiot.com>
17145
17146         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
17147         necessary.
17148
17149 2003-06-11  Bruno Haible  <bruno@clisp.org>
17150
17151         * m4/sysexits.m4: New file.
17152
17153 2003-06-10  Simon Josefsson <jas@extundo.com>
17154
17155         * lib/argp.h: New file, from glibc.
17156         * lib/argp-ba.c: New file, from glibc.
17157         * lib/argp-eexst.c: New file, from glibc.
17158         * lib/argp-fmtstream.c: New file, from glibc.
17159         * lib/argp-fmtstream.h: New file, from glibc.
17160         * lib/argp-fs-xinl.c: New file, from glibc.
17161         * lib/argp-help.c: New file, from glibc.
17162         * lib/argp-namefrob.h: New file, from glibc.
17163         * lib/argp-parse.c: New file, from glibc.
17164         * lib/argp-pv.c: New file, from glibc.
17165         * lib/argp-pvh.c: New file, from glibc.
17166         * lib/argp-xinl.c: New file, from glibc.
17167
17168 2003-06-10  Simon Josefsson  <jas@extundo.com>
17169
17170         * modules/strchrnul: New file.
17171
17172 2003-06-10  Simon Josefsson  <jas@extundo.com>
17173
17174         * modules/argp: New file.
17175
17176 2003-06-10  Simon Josefsson  <jas@extundo.com>
17177
17178         * m4/strchrnul.m4: New file.
17179
17180 2003-06-10  Simon Josefsson  <jas@extundo.com>
17181
17182         * lib/strchrnul.h: New file.
17183         * lib/strchrnul.c: New file.
17184
17185 2003-06-10  Bruno Haible  <bruno@clisp.org>
17186
17187         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
17188
17189 2003-06-07  Karl Berry  <karl@gnu.org>
17190
17191         * config/config.{guess,sub}: update from prep.
17192
17193 2003-06-07  Jim Meyering  <jim@meyering.net>
17194
17195         * modules/strtod: Use $(...) notation, not @...@ for
17196         AC_REPLACE'd variables.
17197         * modules/localcharset: Likewise.
17198
17199 2003-06-07  Jim Meyering  <jim@meyering.net>
17200
17201         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
17202         in place of my name in the copyright comment.
17203         Remove definition and uses of __P.
17204
17205         From coreutils.
17206         * lib/stat.c: Don't declare xmalloc explicitly.
17207         Instead, include "xalloc.h".
17208         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
17209         xrealloc, and xcalloc return values.
17210         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
17211         Improve comment.
17212         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
17213
17214 2003-06-07  Bruno Haible  <bruno@clisp.org>
17215
17216         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
17217         avoid AC_CONFIG_LINKS.
17218         * modules/fnmatch (Makefile.am): Use explicit creation rule for
17219         fnmatch.h, to avoid AC_CONFIG_LINKS.
17220         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
17221
17222 2003-06-07  Bruno Haible  <bruno@clisp.org>
17223
17224         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
17225         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
17226         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
17227         directory.
17228         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
17229         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
17230         directory.
17231
17232 2003-06-06  Jim Meyering  <jim@meyering.net>
17233
17234         Merge from coreutils.
17235         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
17236         Consolidate declarations and initializations of *_base* locals.
17237
17238         Merge from coreutils.
17239         This avoids a core dump on systems without GNU putenv,
17240         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
17241         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
17242         (unsetenv): New static function, from GNU libc.
17243         (rpl_putenv): Use it.
17244
17245         * lib/modechange.c: Remove trailing blanks.
17246
17247         Merge from coreutils.
17248         * lib/fsusage.c: Remove declaration of statfs.
17249         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
17250
17251         * lib/posixtm.c: Include <stdbool.h> unconditionally.
17252
17253 2003-06-06  Jim Meyering  <jim@meyering.net>
17254
17255         * lib/stdbool_.h: Renamed from stdbool.h.in.
17256
17257 2003-06-06  Jim Meyering  <jim@meyering.net>
17258             Bruno Haible  <bruno@clisp.org>
17259
17260         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
17261         Adjust Makefile.am snippet not to redirect directly to target.
17262         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
17263
17264 2003-06-05  Paul Eggert  <eggert@twinsun.com>
17265
17266         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
17267         mismatch, look in future quarters as well as past.  This fixes a
17268         bug when processing fall-backwards gaps immediately after a long
17269         period of daylight-saving time.
17270
17271         * lib/mktime.c: Assume freestanding C89 or better.
17272         (HAVE_LIMITS_H): Remove.  Assume it's 1.
17273         (__P): Remove; not used.
17274         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
17275         (mktime, not_equal_tm, print_tm, check_result,
17276         main): Use prototypes.  Use const * where appropriate.
17277         (main): Fix typo in testing code that uncovered by above changes.
17278         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
17279
17280 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17281
17282         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
17283         locale.h, localeconv.  This merges changes from coreutils.
17284
17285         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
17286         It can be removed after the next Autoconf is released.
17287         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
17288         needed.
17289
17290 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17291
17292         * lib/mktime.c: Fix Debian bug 177940
17293         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
17294         (localtime_offset): Now long int, not time_t, because we want it
17295         to be guaranteed to be signed.  All uses changed.
17296         (__mktime_internal): If overflow would occur when adding offset,
17297         don't add it.
17298
17299         Merge 'human' changes from coreutils.  Rewrite to support
17300         locale-specific notations like thousands separators.
17301         * lib/human.c: Simplify authorship notice.
17302         Include human.h immediately after config.h.
17303         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
17304         <limits.h>: Do not include, since human.h does.
17305         (SIZE_MAX, UINTMAX_MAX): New macros.
17306         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
17307         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
17308         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
17309         (power_letter): Renamed from suffixes.
17310         (generate_suffix_backwards): Remove.
17311         (adjust_value): Now takes int style (because of human.h changes)
17312         and long double value (for greater precision on some platforms).
17313         (group_number): New function.
17314         (human_readable): Use it.  Use integer options, not enum.
17315         Put the options before the sizes in the arg list.
17316         Support all the new options.
17317         The old human_readable function has been removed;
17318         use inttostr.h instead.
17319         (human_readable, default_block_size, humblock):
17320         Use uintmax_t, not int, for block sizes.
17321         (human_readable_inexact, block_size_types): Remove.
17322         (block_size_opts): New constant.
17323         (human_options): Renamed from human_block_size, with new signature
17324         that allows block sizes up to UINTMAX_MAX.  All callers changed.
17325         * lib/human.h: Add copyright and authorship notice.
17326         Include <limits.h> and <stdbool.h> unconditionally.
17327         (PARAMS): Remove.  All uses removed.
17328         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
17329         (enum human_inexact_style): Remove tag; now a nameless enum.
17330         (human_floor, human_ceiling, human_round_to_even): Now have
17331         values 2, 0, 1 rather than -1, 1, 0.
17332         (human_group_digits, human_suppress_point_zero, human_autoscale,
17333         human_base_1024, human_SI, human_B): New constants.
17334         (human_readable_inexact, human_block_size): Remove.
17335         (human_readable): Size args are now uintmax_t, not int.
17336         (human_options): New decl.
17337
17338         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
17339         unnecessary now that we assume C89 or better.  This change
17340         imported from coreutils.
17341
17342         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
17343         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
17344         in the 2003-05-30 sync from glibc.
17345
17346         .h files should stand alone, but we shouldn't include <sys/types.h>
17347         if we can get away with just <stddef.h>.
17348
17349         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
17350         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
17351         rather than <sys/types.h>, as we merely need size_t.
17352         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
17353         to get size_t.
17354         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
17355         Include <stdio.h>, to get FILE.
17356         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
17357         memcasecmp.h has included <stddef.h> and all we need is size_t.
17358         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
17359         our interface, instead of including <sys/types.h>
17360
17361 2003-06-04  Paul Eggert  <eggert@twinsun.com>
17362
17363         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
17364         now, as glibc mktime is buggy on non-glibc systems.
17365
17366 2003-06-03  Karl Berry  <karl@gnu.org>
17367
17368         * config/config.sub: update from prep.
17369
17370 2003-06-02  Paul Eggert  <eggert@twinsun.com>
17371
17372         [from coreutils]
17373         Fix some minor time-related bugs with POSIX time arguments.
17374         Some valid time stamps were being rejected (notably -1, and
17375         time stamps before 1900 on 64-bit hosts).  And some invalid
17376         time stamps were being accepted, e.g. September 31.
17377
17378         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
17379         that we can return (time_t) -1 successfully.
17380         * lib/posixtm.c: Likewise.
17381         [HAVE_STDBOOL_H]: Include <stdbool.h>.
17382         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
17383         (t): Remove static var.
17384         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
17385         of static var.  All uses changed.
17386         (year): Do not reject years before 1900; they can occur with
17387         64-bit time_t.
17388         (posix_time_parse): Do not check for out-of-range components;
17389         that is now the caller's responsibility, since our checks were
17390         only approximations.
17391         (posixtime): Use mktime to check for out-of-range components,
17392         since it knows them exactly.
17393         If mktime returns (time_t) -1, check whether an error actually occurred
17394         by invoking localtime on -1.
17395         (main) [TEST_POSIXTIME]: Check for input data errors, and report
17396         posixtime failures better.
17397         Improve the test data (in comments only).
17398
17399 2003-06-02  Karl Berry  <karl@gnu.org>
17400
17401         * config/mkinstalldirs (version): new variable.
17402         (--version): new option.
17403         (usage): improve message.
17404
17405 2003-05-30  Karl Berry  <karl@gnu.org>
17406
17407         * lib/mktime.c: update from libc.
17408
17409 2003-05-30  Bruno Haible  <bruno@clisp.org>
17410
17411         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
17412         * config/config.rpath: Upgrade to gettext-0.12.1.
17413
17414 2003-05-30  Bruno Haible  <bruno@clisp.org>
17415
17416         * m4/gettext.m4: Upgrade to gettext-0.12.1.
17417         * m4/nls.m4: New file, from gettext-0.12.1.
17418         * m4/po.m4: New file, from gettext-0.12.1.
17419         * m4/progtest.m4: Upgrade to gettext-0.12.1.
17420
17421 2003-05-30  Bruno Haible  <bruno@clisp.org>
17422
17423         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
17424         * lib/localcharset.h: Likewise.
17425         * lib/localcharset.c: Likewise.
17426
17427 2003-05-29  Karl Berry  <karl@gnu.org>
17428
17429         * config/config.rpath: update from gettext.
17430
17431 2003-05-28  Paul Eggert  <eggert@twinsun.com>
17432
17433         Assume the headers required for C89 freestanding compilers.
17434         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
17435         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
17436         * m4/human.m4 (gl_HUMAN): Likewise.
17437         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
17438         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
17439         * m4/userspec.m4 (gl_USERSPEC): Likewise.
17440         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
17441         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
17442         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
17443
17444 2003-05-28  Paul Eggert  <eggert@twinsun.com>
17445
17446         Assume the headers required for C89 freestanding compilers.
17447         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
17448         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
17449         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
17450         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
17451         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
17452         define, since <limits.h> is guaranteed to do that.
17453         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
17454         * lib/exclude.c: Include <stdbool.h> unconditionally.
17455         * lib/tempname.c: Include <stddef.h> unconditionally.
17456         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
17457         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
17458         <stddef.h> does that.
17459         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
17460         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
17461         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
17462         needed.
17463         * lib/xstrtol.c: Likewise.
17464         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
17465         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
17466
17467         * lib/addext.c (addext): Use assignment rather than cast, to avoid
17468         warnings on some platforms.
17469
17470         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
17471         arbitrarily.
17472
17473 2003-05-26  Jim Meyering  <jim@meyering.net>
17474
17475         Merge in a change from coreutils:
17476         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
17477         that is guaranteed to be `no'.  Use `no_such_member' to indicate
17478         that condition, rather than `-1' which is slightly misleading.
17479         Change the name of the cache variable to have the gl_ prefix.
17480         Prompted by a patch from Richard Dawe for DJGPP.
17481
17482 2003-05-24  Karl Berry  <karl@gnu.org>
17483
17484         * config/config.guess: update from prep.
17485
17486 2003-05-22  Karl Berry  <karl@gnu.org>
17487
17488         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
17489
17490 2003-05-20  Karl Berry  <karl@gnu.org>
17491
17492         * config/config.guess: update from prep.
17493
17494 2003-05-18  Karl Berry  <karl@gnu.org>
17495
17496         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
17497         might actually be set by the user.
17498
17499         * config/depcomp, install-sh, mdate-sh: update from automake.
17500
17501 2003-05-17  Bruno Haible  <bruno@clisp.org>
17502
17503         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
17504         invalid expansion for AC_EGREP_CPP.
17505         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
17506         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
17507         Suggested by Akim Demaille <akim@epita.fr> in
17508         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
17509
17510 2003-05-12  Jim Meyering  <jim@meyering.net>
17511
17512         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
17513         the space-padded-by-default conversion specifiers, %e, %k, %l.
17514
17515 2003-05-12  Bruno Haible  <bruno@clisp.org>
17516
17517         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
17518         the string is longer than 4 KB.
17519
17520 2003-05-11  Karl Berry  <karl@gnu.org>
17521
17522         * config/config.{guess,sub}: update from prep.
17523
17524 2003-05-09  Bruno Haible  <bruno@clisp.org>
17525
17526         * modules/error: Add m4/strerror_r.m4 to file list.
17527
17528 2003-05-03  Bruno Haible  <bruno@clisp.org>
17529
17530         Upgrade to Unicode-4.0.
17531         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
17532         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
17533         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
17534         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
17535         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
17536         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
17537         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
17538         Change width of U+E0100..U+E01EF from 1 to 0.
17539
17540 2003-04-25  Jim Meyering  <jim@meyering.net>
17541
17542         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
17543         of type size_t, not int.
17544
17545 2003-04-25  Bruno Haible  <bruno@clisp.org>
17546
17547         * lib/copy-file.c: Include <stddef.h>, for size_t.
17548
17549 2003-04-21  Paul Eggert  <eggert@twinsun.com>
17550
17551         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
17552         code which expansion is under static control.  Patch imported from
17553         Akim Demaille's patch to Bison; see
17554         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
17555
17556 2003-04-14  Bruno Haible  <bruno@clisp.org>
17557
17558         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
17559
17560 2003-04-11  Jim Meyering  <jim@meyering.net>
17561
17562         Merge changes from Coreutils.
17563
17564         2003-03-22  Jim Meyering  <jim@meyering.net>
17565
17566         * lib/strftime.c (widen): Cast alloca return value to proper type.
17567
17568         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
17569
17570         From GNU libc.
17571         * lib/strftime.c (my_strftime): Handle very large width
17572         specifications for numeric values correctly.  Improve checks for
17573         overflow.
17574
17575         2003-01-19  Jim Meyering  <jim@meyering.net>
17576
17577         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
17578         definitions.
17579         (nl_get_alt_digit) [! defined my_strftime]: Define.
17580         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
17581         _nl_get_alt_digit and _nl_get_walt_digit.
17582
17583         * lib/strftime.c (my_strftime): Merge in locale-related changes from
17584         libc. These changes have no effect outside of _LIBC.
17585
17586 2003-04-10  Bruno Haible  <bruno@clisp.org>
17587
17588         * modules/findprog: New file.
17589         * MODULES.html.sh (func_all_modules): Add it.
17590
17591 2003-04-10  Bruno Haible  <bruno@clisp.org>
17592
17593         * m4/findprog.m4: New file.
17594         * m4/eaccess.m4: New file.
17595
17596 2003-04-10  Bruno Haible  <bruno@clisp.org>
17597
17598         * lib/findprog.h: New file, from GNU gettext.
17599         * lib/findprog.c: New file, from GNU gettext.
17600
17601 2003-04-05  Jim Meyering  <jim@meyering.net>
17602
17603         Merge changes from Coreutils.
17604
17605         * lib/exclude.h (PARAMS): Remove definition and uses.
17606         * lib/exclude.c: Remove uses of `PARAMS'.
17607
17608         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
17609         Add test-cases for DOS filenames. Declare program_name.
17610         (main): Set up program_name.  Patch by Rich Dawe.
17611
17612         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
17613         error from mntctl.
17614         Use mntctl's return value to drive the entry-processing loop, since
17615         we can't rely on the value of the vmt_length member in the last
17616         entry.  On some systems doing so could result in exhausting
17617         virtual memory.  Based in part on a patch from Mike Jetzer.
17618
17619 2003-04-04  Bruno Haible  <bruno@clisp.org>
17620
17621         * modules/linebreak: New file.
17622         * MODULES.html.sh (func_all_modules): Add it.
17623
17624 2003-04-04  Bruno Haible  <bruno@clisp.org>
17625
17626         * m4/linebreak.m4: New file.
17627
17628 2003-04-04  Bruno Haible  <bruno@clisp.org>
17629
17630         * lib/linebreak.h: New file, from GNU gettext.
17631         * lib/linebreak.c: New file, from GNU gettext with slight
17632         modifications.
17633         * lib/lbrkprop.h: New file, from GNU gettext.
17634
17635 2003-04-03  Bruno Haible  <bruno@clisp.org>
17636
17637         * modules/utf8-ucs4: New file.
17638         * modules/utf16-ucs4: New file.
17639         * modules/ucs4-utf8: New file.
17640         * modules/ucs4-utf16: New file.
17641         * MODULES.html.sh (func_all_modules): Add them.
17642
17643 2003-04-03  Bruno Haible  <bruno@clisp.org>
17644
17645         * m4/utf-ucs4.m4: New file.
17646         * m4/ucs4-utf.m4: New file.
17647
17648 2003-04-03  Bruno Haible  <bruno@clisp.org>
17649
17650         * lib/utf8-ucs4.h: New file, from GNU gettext.
17651         * lib/utf16-ucs4.h: New file, from GNU gettext.
17652         * lib/ucs4-utf8.h: New file, from GNU gettext.
17653         * lib/ucs4-utf16.h: New file, from GNU gettext.
17654
17655 2003-04-02  Bruno Haible  <bruno@clisp.org>
17656
17657         * modules/binary-io: New file.
17658         * MODULES.html.sh (func_all_modules): Add it.
17659
17660 2003-04-02  Bruno Haible  <bruno@clisp.org>
17661
17662         * lib/binary-io.h: New file, from GNU gettext.
17663
17664 2003-04-01  Bruno Haible  <bruno@clisp.org>
17665
17666         * modules/pathname: New file.
17667         * MODULES.html.sh (func_all_modules): Add it.
17668
17669 2003-04-01  Bruno Haible  <bruno@clisp.org>
17670
17671         * lib/pathname.h: New file, from GNU gettext.
17672         * lib/concatpath.c: New file, from GNU gettext.
17673
17674 2003-03-30  Bruno Haible  <bruno@clisp.org>
17675
17676         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
17677
17678 2003-03-30  Bruno Haible  <bruno@clisp.org>
17679
17680         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
17681         function chown() doesn't exist.
17682
17683 2003-03-28  Bruno Haible  <bruno@clisp.org>
17684
17685         * modules/copy-file: New file.
17686         * MODULES.html.sh (func_all_modules): Add it.
17687
17688 2003-03-28  Bruno Haible  <bruno@clisp.org>
17689
17690         * m4/copy-file.m4: New file.
17691
17692 2003-03-28  Bruno Haible  <bruno@clisp.org>
17693
17694         * lib/copy-file.h: New file, from GNU gettext.
17695         * lib/copy-file.c: New file, from GNU gettext.
17696
17697 2003-03-18  Jim Meyering  <jim@meyering.net>
17698
17699         * lib/quote.c (quote_n): Fix typo in comment.
17700
17701 2003-03-18  Bruno Haible  <bruno@clisp.org>
17702
17703         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
17704         checking.
17705         * m4/onceonly_2_57.m4: Likewise.
17706
17707 2003-03-17  Bruno Haible  <bruno@clisp.org>
17708
17709         * m4/onceonly.m4: Require autoconf 2.54 or newer.
17710         (m4_quote): Remove macro.
17711         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
17712
17713 2003-03-14  Jim Meyering  <jim@meyering.net>
17714
17715         Merge changes from Coreutils.
17716         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
17717         to be const, in order to avoid warnings.
17718         (obstack_room): Likewise.
17719         (obstack_empty_p): Likewise.
17720
17721 2003-03-14  Bruno Haible  <bruno@clisp.org>
17722
17723         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
17724         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
17725
17726 2003-03-13  Paul Eggert  <eggert@twinsun.com>
17727
17728         Merge changes from Bison.
17729         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
17730         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
17731         when compiling Bison 1.875's `bitset bset = obstack_alloc
17732         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
17733         * lib/hash.c: Include <stdbool.h> unconditionally.
17734
17735 2003-03-13  Paul Eggert  <eggert@twinsun.com>
17736
17737         * m4/onceonly.m4 (m4_quote): New macro.
17738         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
17739         Quote AC_FOREACH variable-expansions properly.
17740
17741 2003-03-13  Paul Eggert  <eggert@twinsun.com>
17742
17743         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
17744
17745 2003-03-09  Paul Eggert  <eggert@twinsun.com>
17746
17747         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
17748         Reported by Bruce Becker; see:
17749         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
17750
17751 2003-03-03  Paul Eggert  <eggert@twinsun.com>
17752             Bruno Haible  <bruno@clisp.org>
17753
17754         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
17755         Reported by John Hughes, see
17756         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
17757
17758 2003-02-20  Bruno Haible  <bruno@clisp.org>
17759
17760         * MODULES.html.sh (func_all_modules): Add poll.
17761
17762 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
17763
17764         * modules/poll: New file.
17765
17766 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
17767
17768         * lib/poll_.h: New file.
17769         * lib/poll.c: New file.
17770
17771 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
17772
17773         * m4/poll.m4: New file.
17774
17775 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
17776
17777         * modules/mathl: New file.
17778
17779 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
17780
17781         * lib/mathl.h: New file.
17782         * lib/acosl.c: New file.
17783         * lib/asinl.c: New file.
17784         * lib/atanl.c: New file.
17785         * lib/ceill.c: New file.
17786         * lib/cosl.c: New file.
17787         * lib/expl.c: New file.
17788         * lib/floorl.c: New file.
17789         * lib/frexpl.c: New file.
17790         * lib/ldexpl.c: New file.
17791         * lib/logl.c: New file.
17792         * lib/sincosl.c: New file.
17793         * lib/sinl.c: New file.
17794         * lib/sqrtl.c: New file.
17795         * lib/tanl.c: New file.
17796         * lib/trigl.c: New file.
17797         * lib/trigl.h: New file.
17798
17799 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
17800
17801         * m4/mathl.m4: New file.
17802
17803 2003-02-18  Bruno Haible  <bruno@clisp.org>
17804
17805         * MODULES.html.sh (func_all_modules): Add mathl.
17806
17807 2003-02-17  Bruno Haible  <bruno@clisp.org>
17808
17809         * modules/mkdtemp: New module.
17810         * MODULES.html.sh (func_all_modules): Add it.
17811
17812 2003-02-17  Bruno Haible  <bruno@clisp.org>
17813
17814         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
17815
17816 2003-02-17  Bruno Haible  <bruno@clisp.org>
17817
17818         * lib/mkdtemp.h: New file, from GNU gettext.
17819         * lib/mkdtemp.c: New file, from GNU gettext.
17820
17821 2003-02-02  Jim Meyering  <jim@meyering.net>
17822
17823         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
17824         e.g. glibc-2.2.93.
17825
17826 2003-01-31  Bruno Haible  <bruno@clisp.org>
17827
17828         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
17829         'rpl_rename'.
17830         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
17831         'rpl_strnlen'.
17832         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
17833         'rpl_strtod'.
17834         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
17835         'rpl_utime'.
17836
17837 2003-01-31  Bruno Haible  <bruno@clisp.org>
17838
17839         * lib/rename.c: #undef rename before defining rpl_rename.
17840         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
17841
17842 2003-01-30  Bruno Haible  <bruno@clisp.org>
17843
17844         * modules/vasnprintf, modules/vasprintf: New modules.
17845         * MODULES.html.sh (func_all_modules): Add them.
17846
17847 2003-01-30  Bruno Haible  <bruno@clisp.org>
17848
17849         * m4/signed.m4: New file, from GNU gettext.
17850         * m4/longdouble.m4: New file, from GNU gettext.
17851         * m4/wchar_t.m4: New file, from GNU gettext.
17852         * m4/wint_t.m4: New file, from GNU gettext.
17853         * m4/vasnprintf.m4: New file.
17854         * m4/vasprintf.m4: New file.
17855
17856 2003-01-30  Bruno Haible  <bruno@clisp.org>
17857
17858         * lib/printf-args.h: New file, from GNU gettext.
17859         * lib/printf-args.c: New file, from GNU gettext.
17860         * lib/printf-parse.h: New file, from GNU gettext.
17861         * lib/printf-parse.c: New file, from GNU gettext.
17862         * lib/vasnprintf.h: New file, from GNU gettext.
17863         * lib/vasnprintf.c: New file, from GNU gettext.
17864         * lib/asnprintf.c: New file, from GNU gettext.
17865         * lib/vasprintf.h: New file, from GNU gettext with modifications.
17866         * lib/vasprintf.c: New file, from GNU gettext.
17867         * lib/asprintf.c: New file, from GNU gettext.
17868
17869 2003-01-29  Bruno Haible  <bruno@clisp.org>
17870
17871         * modules/stpncpy: New module.
17872         * MODULES.html.sh (func_all_modules): Add it.
17873
17874 2003-01-29  Bruno Haible  <bruno@clisp.org>
17875
17876         * m4/stpncpy.m4: New file.
17877
17878 2003-01-29  Bruno Haible  <bruno@clisp.org>
17879
17880         * lib/stpncpy.h: New file, from GNU gettext with modifications.
17881         * lib/stpncpy.c: New file, from GNU gettext with modifications.
17882
17883 2003-01-28  Bruno Haible  <bruno@clisp.org>
17884
17885         * modules/c-ctype: New module.
17886         * MODULES.html.sh (func_all_modules): Add it.
17887
17888 2003-01-28  Bruno Haible  <bruno@clisp.org>
17889
17890         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
17891         Paul Eggert.
17892         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
17893         Paul Eggert.
17894
17895 2003-01-27  Bruno Haible  <bruno@clisp.org>
17896
17897         * modules/xsetenv: New module.
17898         * MODULES.html.sh (func_all_modules): Add it.
17899
17900 2003-01-27  Bruno Haible  <bruno@clisp.org>
17901
17902         * lib/xsetenv.h: New file, from GNU gettext.
17903         * lib/xsetenv.c: New file, from GNU gettext.
17904
17905 2003-01-23  Jim Meyering  <jim@meyering.net>
17906
17907         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
17908         from working on systems without dirfd (at least Irix and OSF1/Tru64).
17909
17910 2003-01-23  Bruno Haible  <bruno@clisp.org>
17911
17912         * modules/minmax: New module.
17913         * MODULES.html.sh (func_all_modules): Add it.
17914
17915 2003-01-23  Bruno Haible  <bruno@clisp.org>
17916
17917         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
17918         Eggert.
17919
17920 2003-01-22  Bruno Haible  <bruno@clisp.org>
17921
17922         * modules/exit: New module.
17923         * MODULES.html.sh (func_all_modules): Add it.
17924
17925 2003-01-22  Bruno Haible  <bruno@clisp.org>
17926
17927         * lib/exit.h: New file, from GNU gettext.
17928
17929 2003-01-19  Bruno Haible  <bruno@clisp.org>
17930
17931         * gnulib-tool: Recognize option --extract-maintainer.
17932         (func_get_maintainer): New function.
17933         * modules/*: Add Maintainer entry.
17934
17935 2003-01-16  Jim Meyering  <jim@meyering.net>
17936
17937         * m4/regex.m4: The `regex' struct is both input and output.
17938         Initialize it before each use.  Patch by Tim Waugh.
17939
17940 2003-01-16  Bruno Haible  <bruno@clisp.org>
17941
17942         * MODULES.html.sh: Add a table of contents. Add the module name as
17943         leftmost column. Add hyperlinks.
17944
17945 2003-01-15  Bruno Haible  <bruno@clisp.org>
17946
17947         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
17948
17949 2003-01-15  Bruno Haible  <bruno@clisp.org>
17950
17951         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
17952         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
17953         suffix.
17954
17955 2003-01-15  Bruno Haible  <bruno@clisp.org>
17956
17957         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
17958
17959 2003-01-15  Bruno Haible  <bruno@clisp.org>
17960
17961         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
17962         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
17963
17964 2003-01-14  Jim Meyering  <jim@meyering.net>
17965
17966         * lib/same.c (same_name): Tweak a comment.
17967
17968 2003-01-14  Bruno Haible  <bruno@clisp.org>
17969
17970         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
17971         when a string comparison is sufficient.
17972
17973 2003-01-14  Bruno Haible  <bruno@clisp.org>
17974
17975         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
17976         'unsigned int'.
17977
17978 2003-01-14  Bruno Haible  <bruno@clisp.org>
17979
17980         * lib/hash-pjw.c: Add comment about low quality of this function.
17981
17982 2003-01-13  Bruno Haible  <bruno@clisp.org>
17983
17984         * modules/stpcpy: Distribute lib/stpcpy.h.
17985         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
17986
17987 2003-01-13  Bruno Haible  <bruno@clisp.org>
17988
17989         * modules/*: Add a description.
17990         * modules/strpbrk: Fix Makefile.am snippet.
17991         * modules/strtoimax: Fix dependencies.
17992         * modules/strtoumax: Likewise.
17993
17994 2003-01-13  Bruno Haible  <bruno@clisp.org>
17995
17996         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
17997         * modules/alloca (Makefile.am): All object files depend on alloca.h.
17998         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
17999
18000 2003-01-13  Bruno Haible  <bruno@clisp.org>
18001
18002         * gnulib-tool (func_create_testdir): Store config/* files in the main
18003         directory.
18004         * config.rpath: Move to ...
18005         * config/config.rpath: ... here.
18006         * modules/gettext: Contains config/config.rpath, not config.rpath.
18007         * modules/iconv: Likewise.
18008
18009 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18010
18011         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18012         to avoid collisions with libcurses and libreadline.
18013
18014         * m4/getstr.m4: Remove.
18015         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
18016
18017 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18018
18019         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18020         to avoid collisions with libcurses and libreadline.
18021
18022         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
18023         * lib/getstr.h, getstr.c: Remove.
18024         * lib/getline.c: Include "getline.h", to check interface.
18025         Move body of old getstr.c here: this defines MIN_CHUNK and
18026         declares getdelim2, which is renamed from getstr.
18027         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
18028
18029         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
18030         All uses changed.
18031         * lib/linebuffer.h: Likewise.
18032         (readline): Remove backward-compatibility macro.
18033
18034 2003-01-12  Paul Eggert  <eggert@twinsun.com>
18035
18036         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
18037         to avoid collisions with libcurses and libreadline.
18038         * getstr: Remove.
18039         * MODULES.html.sh: Remove getstr.
18040         * modules/getline: Depend on unlocked-io, not getstr.
18041
18042 2003-01-12  Jim Meyering  <jim@meyering.net>
18043
18044         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
18045
18046 2003-01-10  Bruno Haible  <bruno@clisp.org>
18047
18048         * modules/alloca: Change Makefile.am requirements. Simplify Include
18049         requirements. Add lib/alloca_.h to file list.
18050
18051 2003-01-10  Bruno Haible  <bruno@clisp.org>
18052
18053         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
18054
18055 2003-01-10  Bruno Haible  <bruno@clisp.org>
18056
18057         * lib/alloca_.h: New file.
18058         * lib/getdate.y: Unconditionally include alloca.h.
18059         * lib/makepath.c: Likewise.
18060         * lib/setenv.c: Likewise.
18061         * lib/userspec.c: Likewise.
18062
18063 2003-01-09  Karl Berry  <karl@gnu.org>
18064
18065         * MODULES.html.sh: include `dirname $0` in PATH, to find
18066         gnulib-tool.
18067
18068 2003-01-09  Bruno Haible  <bruno@clisp.org>
18069
18070         * modules/stdbool: Change configure.ac, Makefile.am requirements.
18071         Simplify Include requirements. Add lib/stdbool.h.in to file list.
18072
18073 2003-01-09  Bruno Haible  <bruno@clisp.org>
18074
18075         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
18076
18077 2003-01-09  Bruno Haible  <bruno@clisp.org>
18078
18079         * lib/stdbool.h.in: New file.
18080
18081 2003-01-09  Bruno Haible  <bruno@clisp.org>
18082
18083         * gnulib-tool (func_all_modules): Ignore files ending in ~.
18084         * MODULES.html.sh: Likewise.
18085
18086 2003-01-08  Jim Meyering  <jim@meyering.net>
18087
18088         * lib/full-write.c: Undefine and define-away `const' after inclusion
18089         of errno.h, not before.  Suggestion from Bruno Haible.
18090
18091 2003-01-08  Bruno Haible  <bruno@clisp.org>
18092
18093         * modules/full-read: Depend on full-write.
18094
18095 2003-01-08  Bruno Haible  <bruno@clisp.org>
18096
18097         * lib/safe-read.c: Include specification header first, to ensure its
18098         selfcontainedness.
18099         * lib/full-write.c: Likewise.
18100
18101 2003-01-07  Jim Meyering  <jim@meyering.net>
18102
18103         * lib/full-write.c: Rework so that it may serve to define full_read,
18104         too.
18105         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
18106
18107 2003-01-07  Bruno Haible  <bruno@clisp.org>
18108
18109         * lib/strtoimax.c: Include <stdint.h> as an alternative to
18110         <inttypes.h>.
18111         * lib/xstrtol.h: Likewise.
18112         * lib/xstrtoimax.c: Likewise.
18113         * lib/xstrtoumax.c: Likewise.
18114         * lib/human.h: Likewise.
18115
18116         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
18117         on systems that have <inttypes.h> but not <stdint.h>.
18118
18119 2003-01-07  Bruno Haible  <bruno@clisp.org>
18120
18121         * MODULES.html.sh: Add copyright notice.
18122         (missed_files): Omit CVS directory entries.
18123         (func_module): Make it work with sed-3.02.
18124         * MODULES.txt: Remove file.
18125
18126 2003-01-06  Jim Meyering  <jim@meyering.net>
18127
18128         * lib/version-etc.c: Update year in translatable copyright string.
18129
18130 2003-01-03  Karl Berry  <karl@gnu.org>
18131
18132         * config/config.{guess,sub}: update from prep.
18133
18134 2003-01-02  Karl Berry  <karl@gnu.org>
18135
18136         * doc/COPYING.DOC: belatedly updated to 1.2.
18137
18138 2003-01-01  Karl Berry  <karl@gnu.org>
18139
18140         * gnulib-tool (func_verify_module): report module name $module in
18141         error message, not $1.
18142         * gnulib-tool (create-testdir): don't complain if destdir couldn't
18143         be created, only if it doesn't exist.
18144         * gnulib-tool (last_checkin_date): don't expand the $Date here.
18145
18146 2002-12-31  Paul Eggert  <eggert@twinsun.com>
18147
18148         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
18149
18150 2002-12-31  Paul Eggert  <eggert@twinsun.com>
18151
18152         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
18153         memcmp if strcoll doesn't work.
18154
18155 2002-12-31  Bruno Haible  <bruno@clisp.org>
18156
18157         * lib/utime.c (utime_null): No need to call ftruncate if the file was
18158         nonempty.
18159
18160 2002-12-31  Bruno Haible  <bruno@clisp.org>
18161
18162         * lib/memcoll.c (STRCOLL): New macro.
18163         (memcoll): Use it.
18164
18165 2002-12-31  Bruno Haible  <bruno@clisp.org>
18166
18167         * lib/localcharset.h: New file.
18168         * lib/localcharset.c: Include it.
18169         * lib/unicodeio.c: Likewise.
18170
18171 2002-12-31  Bruno Haible  <bruno@clisp.org>
18172
18173         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
18174         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
18175
18176 2002-12-31  Bruno Haible  <bruno@clisp.org>
18177
18178         * lib/getline.h: Include <stddef.h>, for size_t.
18179
18180         * lib/unicodeio.h: Include <stddef.h>, for size_t.
18181         * lib/unicodeio.c: Don't include <stddef.h>.
18182
18183 2002-12-31  Bruno Haible  <bruno@clisp.org>
18184
18185         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
18186         HAVE_TM_ZONE.
18187
18188 2002-12-24  Karl Berry  <karl@gnu.org>
18189
18190         * config/config.guess: update from prep.
18191
18192 2002-12-24  Bruno Haible  <bruno@clisp.org>
18193
18194         General infrasructure.
18195         * m4/README: Rewritten.
18196         * m4/onceonly.m4: New file.
18197         * m4/onceonly_2_57.m4: New file.
18198
18199         Module atexit.
18200         * m4/atexit.m4: New file.
18201
18202         Module strtod.
18203         * m4/strtod.m4: New file.
18204
18205         Module strtol.
18206         * m4/strtol.m4: New file.
18207
18208         Module strtoul.
18209         * m4/strtoul.m4: New file.
18210
18211         Module memchr.
18212         * m4/memchr.m4: New file.
18213
18214         Module memcmp.
18215         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
18216         (jm_FUNC_MEMCMP): Invoke it.
18217
18218         Module memcpy.
18219         * m4/memcpy.m4: New file.
18220
18221         Module memmove.
18222         * m4/memmove.m4: New file.
18223
18224         Module memset.
18225         * m4/memset.m4: New file.
18226
18227         Module strcspn.
18228         * m4/strcspn.m4: New file.
18229
18230         Module strpbrk.
18231         * m4/strpbrk.m4: New file.
18232
18233         Module strstr.
18234         * m4/strstr.m4: New file.
18235
18236         Module strerror.
18237         * m4/strerror.m4: New file.
18238
18239         Module mktime.
18240         * m4/mktime.m4: Renamed from jm-mktime.m4.
18241         (gl_PREREQ_MKTIME): New macro.
18242         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
18243
18244         Module malloc.
18245         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
18246         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
18247         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
18248
18249         Module realloc.
18250         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
18251         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
18252         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
18253
18254         Module strftime.
18255         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
18256         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
18257         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
18258         gl_TM_GMTOFF.
18259         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
18260
18261         Module xalloc.
18262         * m4/xalloc.m4: New file.
18263
18264         Module alloca.
18265         * m4/alloca.m4: New file.
18266
18267         Module putenv.
18268         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
18269         (jm_FUNC_PUTENV): Invoke it.
18270
18271         Module setenv.
18272         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
18273         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
18274         when invoked twice.
18275         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
18276         gt_FUNC_SETENV.
18277
18278         Module memrchr.
18279         * m4/memrchr.m4: New file.
18280
18281         Module stpcpy.
18282         * m4/stpcpy.m4: New file.
18283
18284         Module strcase.
18285         * m4/strcase.m4: New file.
18286
18287         Module strdup.
18288         * m4/strdup.m4: New file.
18289
18290         Module strnlen.
18291         * m4/strnlen.m4: New file.
18292
18293         Module strndup.
18294         * m4/strndup.m4: New file.
18295
18296         Module xstrtod.
18297         * m4/xstrtod.m4: New file.
18298
18299         Module xstrtol.
18300         * m4/xstrtol.m4: New file.
18301
18302         Module getdate.
18303         * m4/getdate.m4: New file.
18304
18305         Module unlocked-io.
18306         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
18307         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
18308         * m4/jm-glibc-io.m4n: Remove file.
18309
18310         Module long-options.
18311         * m4/long-options.m4: New file.
18312
18313         Module md5.
18314         * m4/md5.m4: New file.
18315
18316         Module sha.
18317         * m4/sha.m4: New file.
18318
18319         Module getstr.
18320         * m4/getstr.m4: New file.
18321
18322         Module getline.
18323         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
18324         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
18325         <sys/types.h>, for size_t. Use the function name gnu_getline, not
18326         simply getline. Infoke gl_PREREQ_GETLINE.
18327
18328         Module obstack.
18329         * m4/obstack.m4: New file.
18330
18331         Module hash.
18332         * m4/hash.m4: New file.
18333
18334         Module readtokens.
18335         * m4/readtokens.m4: New file.
18336
18337         Module strverscmp.
18338         * m4/strverscmp.m4: New file.
18339
18340         Module stdbool.
18341         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
18342         OSF/1.
18343
18344         Module strtoll.
18345         * m4/strtoll.m4: New file.
18346
18347         Module strtoull.
18348         * m4/strtoull.m4: New file.
18349
18350         Module strtoimax.
18351         * m4/strtoimax.m4: New file.
18352
18353         Module strtoumax.
18354         * m4/strtoumax.m4: New file.
18355
18356         Module xstrtoimax.
18357         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
18358         jm_AC_PREREQ_XSTRTOIMAX.
18359         Moved the strtol prerequisites to strtol.m4.
18360         Moved the strtoll prerequisites to strtoll.m4.
18361         Moved the strtoimax prerequisites to strtoimax.m4.
18362
18363         Module xstrtoumax.
18364         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
18365         jm_AC_PREREQ_XSTRTOUMAX.
18366         Moved the strtoul prerequisites to strtoul.m4.
18367         Moved the strtoull prerequisites to strtoull.m4.
18368         Moved the strtoumax prerequisites to strtoumax.m4.
18369
18370         Module chown.
18371         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
18372         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
18373
18374         Module dup2.
18375         * m4/dup2.m4: New file.
18376
18377         Module ftruncate.
18378         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
18379         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
18380
18381         Module getgroups.
18382         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
18383         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
18384
18385         Module gettimeofday.
18386         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
18387         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
18388         gl_PREREQ_GETTIMEOFDAY.
18389
18390         Module mkdir.
18391         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
18392         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
18393
18394         Module mkstemp.
18395         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
18396         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
18397         jm_AC_TYPE_UINTMAX_T.
18398         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
18399
18400         Module stat.
18401         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
18402         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
18403
18404         Module lstat.
18405         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
18406         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
18407
18408         Module timespec.
18409         * m4/timespec.m4 (gl_TIMESPEC): New macro.
18410         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
18411         * m4/st_mtim.m4: Indentation.
18412
18413         Module nanosleep.
18414         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
18415         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
18416         gl_PREREQ_NANOSLEEP.
18417
18418         Module regex.
18419         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
18420         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
18421         (gl_REGEX): New macro.
18422
18423         Module rename.
18424         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
18425         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
18426
18427         Module rmdir.
18428         * m4/rmdir.m4: New file.
18429
18430         Module utime.
18431         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
18432         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
18433         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
18434
18435         Module dirname.
18436         * m4/dirname.m4: New file.
18437
18438         Module getopt.
18439         * m4/getopt.m4: New file.
18440
18441         Module unistd-safer.
18442         * m4/unistd-safer.m4: New file.
18443
18444         Module fnmatch.
18445         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
18446         declaration.
18447         (gl_PREREQ_FNMATCH_EXTRA): New macro.
18448         (gl_FUNC_FNMATCH_POSIX): New macro.
18449         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
18450         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
18451         simply fnmatch.
18452
18453         Module exclude.
18454         * m4/exclude.m4: New file.
18455
18456         Module human.
18457         * m4/human.m4: New file.
18458
18459         Module acl.
18460         * m4/acl.m4: Nop.
18461
18462         Module backupfile.
18463         * m4/backupfile.m4: New file.
18464         * m4/d-ino.m4: Indentation.
18465
18466         Module fsusage.
18467         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
18468         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
18469         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
18470
18471         Module dirfd.
18472         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
18473         requirements.
18474
18475         Module euidaccess.
18476         * m4/euidaccess.m4: New file.
18477
18478         Module file-type.
18479         * m4/file-type.m4: New file.
18480
18481         Module fileblocks.
18482         * m4/fileblocks.m4: New file.
18483
18484         Module filemode.
18485         * m4/filemode.m4: New file.
18486
18487         Module isdir.
18488         * m4/isdir.m4: New file.
18489
18490         Module lchown.
18491         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
18492         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
18493
18494         Module makepath.
18495         * m4/makepath.m4: New file.
18496
18497         Module modechange.
18498         * m4/modechange.m4: New file.
18499
18500         Module mountlist.
18501         * m4/mountlist.m4: New file.
18502         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
18503         Indentation.
18504
18505         Module path-concat.
18506         * m4/path-concat.m4: New file.
18507
18508         Module pathmax.
18509         * m4/pathmax.m4: New file.
18510
18511         Module same.
18512         * m4/same.m4: New file.
18513
18514         Module save-cwd.
18515         * m4/save-cwd.m4: New file.
18516
18517         Module savedir.
18518         * m4/savedir.m4: New file.
18519
18520         Module xgetcwd.
18521         * m4/xgetcwd.m4: New file.
18522         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
18523
18524         Module xreadlink.
18525         * m4/xreadlink.m4: New file.
18526
18527         Module safe-read.
18528         * m4/safe-read.m4: New file.
18529
18530         Module safe-write.
18531         * m4/safe-write.m4: New file.
18532
18533         Module closeout.
18534         * m4/closeout.m4: New file.
18535
18536         Module stdio-safer.
18537         * m4/stdio-safer.m4: New file.
18538
18539         Module getpass.
18540         * m4/getpass.m4: New file.
18541
18542         Module getugroups.
18543         * m4/getugroups.m4: New file.
18544
18545         Module group-member.
18546         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
18547         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
18548
18549         Module idcache.
18550         * m4/idcache.m4: New file.
18551
18552         Module userspec.
18553         * m4/userspec.m4: New file.
18554
18555         Module gettime.
18556         * m4/clock_time.m4: New file.
18557         * m4/gettime.m4: New file.
18558
18559         Module settime.
18560         * m4/settime.m4: New file.
18561
18562         Module posixtm.
18563         * m4/posixtm.m4: New file.
18564
18565         Module gethostname.
18566         * m4/gethostname.m4: New file.
18567
18568         Module canon-host.
18569         * m4/canon-host.m4: New file.
18570
18571         Module gettext.
18572         * m4/codeset.m4: New file, from gettext-0.11.5.
18573         * m4/gettext.m4: New file, from gettext-0.11.5.
18574         * m4/glibc21.m4: New file, from gettext-0.11.5.
18575         * m4/iconv.m4: New file, from gettext-0.11.5.
18576         * m4/intdiv0.m4: New file, from gettext-0.11.5.
18577         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
18578         * m4/inttypes.m4: New file, from gettext-0.11.5.
18579         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
18580         * m4/isc-posix.m4: New file, from gettext-0.11.5.
18581         * m4/lcmessage.m4: New file, from gettext-0.11.5.
18582         * m4/lib-ld.m4: New file, from gettext-0.11.5.
18583         * m4/lib-link.m4: New file, from gettext-0.11.5.
18584         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
18585         * m4/progtest.m4: New file, from gettext-0.11.5.
18586         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
18587         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
18588         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
18589
18590         Module localcharset.
18591         * m4/localcharset.m4: New file.
18592
18593         Module hard-locale.
18594         * m4/hard-locale.m4: New file.
18595
18596         Module mbswidth.
18597         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
18598         onceonly macros.
18599         * m4/mbrtowc.m4: Add comment.
18600
18601         Module memcasecmp.
18602         * m4/memcasecmp.m4: New file.
18603
18604         Module memcoll.
18605         * m4/memcoll.m4: New file.
18606
18607         Module unicodeio.
18608         * m4/unicodeio.m4: New file.
18609
18610         Module rpmatch.
18611         * m4/rpmatch.m4: New file.
18612
18613         Module yesno.
18614         * m4/yesno.m4: New file.
18615
18616         Module exitfail.
18617         * m4/exitfail.m4: New file.
18618
18619         Module c-stack.
18620         * m4/c-stack.m4 (gl_C_STACK): New macro.
18621         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
18622
18623         Module error.
18624         * m4/error.m4 (gl_ERROR): New macro.
18625         (jm_PREREQ_ERROR): Use onceonly macros.
18626
18627         Module fatal.
18628         * m4/fatal.m4: New file.
18629
18630         Module getloadavg.
18631         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
18632         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
18633
18634         Module getpagesize.
18635         * m4/getpagesize.m4: New file.
18636
18637         Module getusershell.
18638         * m4/getusershell.m4: New file.
18639
18640         Module physmem.
18641         * m4/physmem.m4: New file.
18642
18643         Module posixver.
18644         * m4/posixver.m4: New file.
18645
18646         Module quotearg.
18647         * m4/quotearg.m4: New file.
18648
18649         Module quote.
18650         * m4/quote.m4: New file.
18651
18652         Module readutmp.
18653         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
18654
18655         Module sig2str.
18656         * m4/sig2str.m4: New file.
18657
18658         Other.
18659         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
18660         ulonglong.m4.
18661         * m4/intmax_t.m4: New file.
18662         * m4/d-type.m4: Indentation.
18663         * m4/jm-macros.m4: Update.
18664         * m4/prereq.m4 (jm_PREREQ): Update.
18665         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
18666         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
18667         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
18668         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
18669         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
18670         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
18671         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
18672         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
18673         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
18674         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
18675         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
18676         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
18677         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
18678         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
18679         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
18680         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
18681         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
18682         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
18683         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
18684
18685 2002-12-24  Bruno Haible  <bruno@clisp.org>
18686
18687         * MODULES.txt: Update according to m4/ changes.
18688
18689         Module gettext.
18690         * config.rpath: New file, from gettext-0.11.5.
18691
18692         * modules/*: New module descriptions.
18693         * gnulib-tool: New file.
18694         * MODULES.html.sh: New file.
18695
18696 2002-12-21  Karl Berry  <karl@gnu.org>
18697
18698         * doc/fdl.texi: update to version 1.2.
18699
18700 2002-12-19  Karl Berry  <karl@gnu.org>
18701
18702         * config/config.guess: update from prep.
18703
18704 2002-12-18  Bruno Haible  <bruno@clisp.org>
18705
18706         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
18707         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
18708
18709 2002-12-17  Bruno Haible  <bruno@clisp.org>
18710
18711         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
18712         stdlib.h, string.h.
18713
18714 2002-12-17  Bruno Haible  <bruno@clisp.org>
18715
18716         * lib/canon-host.c (strdup): Remove unused declaration.
18717
18718         * lib/fsusage.c: Include full_read.h.
18719         (get_fs_usage): Use full_read instead of safe_read.
18720
18721         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
18722
18723 2002-12-12  Karl Berry  <karl@gnu.org>
18724
18725         * config/config.guess: update from prep.
18726
18727 2002-12-11  Bruno Haible  <bruno@clisp.org>
18728
18729         * m4/setenv.m4: New file, from gettext-0.11.5.
18730
18731 2002-12-11  Bruno Haible  <bruno@clisp.org>
18732
18733         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
18734         not unsetenv().
18735         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
18736         modifications:
18737
18738         2002-12-11  Bruno Haible  <bruno@clisp.org>
18739
18740                 * setenv.c (alloca): Fall back to malloc.
18741                 (freea): New macro.
18742                 (setenv): Use freea() to free memory allocated with alloca().
18743
18744         2002-11-13  Bruno Haible  <bruno@clisp.org>
18745
18746                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
18747                 function declarations.
18748                 * unsetenv.c (unsetenv): Likewise.
18749
18750         2002-03-04  Bruno Haible  <bruno@clisp.org>
18751
18752                 Portability to AIX 4.3.3.
18753                 * unsetenv.c: New file, extracted from setenv.c.
18754                 * setenv.c: Move the unsetenv() function to unsetenv.c.
18755
18756         2001-12-20  Bruno Haible  <bruno@clisp.org>
18757
18758                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
18759                 use malloc instead. For SunOS 4.
18760
18761         2001-12-11  Bruno Haible  <bruno@clisp.org>
18762
18763                 * setenv.c: Declare alloca.
18764                 (compar_fn_t): New typedef.
18765                 (KNOWN_VALUE, STORE_VALUE): Use it.
18766
18767         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
18768         setenv.h.
18769
18770 2002-12-10  Paul Eggert  <eggert@twinsun.com>
18771
18772         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
18773         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
18774         Choose values that are less likely to collide with system fnmatch
18775         options.
18776         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
18777         defined (e.g., a pure POSIX system).
18778         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
18779         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
18780
18781 2002-12-06  Paul Eggert  <eggert@twinsun.com>
18782
18783         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
18784         a pain in practice to deal with generated m4 files.  This change
18785         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
18786
18787         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
18788         and jm-glibc-io.m4, as they are no longer a special case.
18789         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
18790         kludge and the auto-generation stuff.  Check only whether the
18791         functions are declared, not whether they exist, since older hosts
18792         that don't declare the functions can't use the optimization anyway.
18793
18794 2002-12-06  Jim Meyering  <jim@meyering.net>
18795
18796         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
18797
18798         Merge in changes from libc's misc/error.c, in preparation
18799         for the merge of gnulib's changes back into libc.
18800
18801         * lib/error.c (_): Define only if not already defined.
18802         Move definition to follow all #include directives.
18803         Include unlocked-io.h only if !_LIBC.
18804         [_LIBC]: Include <libio/libioP.h>.
18805         [USE_IN_LIBIO]: Include <libio/iolibio.h>
18806         (fflush): Tweak definition to use INTUSE.
18807         (putc): Define.
18808
18809 2002-12-05  Paul Eggert  <eggert@twinsun.com>
18810
18811         * lib/alloca.c [defined emacs]: Include "lisp.h".
18812         (xalloc_die) [defined emacs]: New macro.
18813         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
18814         [! defined emacs]: Include <xalloc.h>.
18815         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
18816         (pointer): Typedef to POINTER_TYPE *.
18817         (malloc): Remove decl; we now always use xmalloc.
18818         (alloca): Use old-style definition, since Emacs needs this.
18819         Check for arithmetic overflow when computing combined size.
18820
18821 2002-12-04  Paul Eggert  <eggert@twinsun.com>
18822
18823         Do not generate unlocked-io.h automatically, since it's easier to
18824         maintain it by hand.
18825
18826         * lib/unlocked-io.h: New file, from GNU diffutils,
18827         but with proper copyright notice and attribution.
18828         * lib/gen-uio: Remove.
18829         * lib/Makefile.am: Add copyright notice.
18830         (libfetish_a_SOURCES): Add unlocked-io.h.
18831         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
18832         (DISTCLEANFILES, io_functions): Remove macros.
18833         (EXTRA_DIST): Remove gen_uio.
18834         (unlocked-io.h): Remove rule.
18835
18836 2002-12-04  Jim Meyering  <jim@meyering.net>
18837
18838         Reflect the fact that stat.c and lstat.c are no longer generated.
18839         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
18840         (DISTCLEANFILES): Likewise.
18841         (EXTRA_DIST): Likewise.
18842         (all_local): Don't depend on stat.c or lstat.c.
18843         (stat.c, lstat.c): Remove rules.
18844         (EXTRA_DIST): Remove xstat.in.
18845
18846         * lib/xstat.in: Remove file.  Contents moved into stat.c.
18847         * lib/stat.c: New file.  Contents mostly from xstat.in.
18848         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
18849         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
18850
18851         * lib/safe-read.c: Rework so that it may serve to define safe_write,
18852         too.
18853         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
18854
18855 2002-12-03  Jim Meyering  <jim@meyering.net>
18856
18857         * lib/safe-read.c, safe-write.c: Change variable names and comments,
18858         but not semantics, to minimize the differences between these two files.
18859         (safe_read): Change comment to mention SAFE_READ_ERROR.
18860
18861         * lib/safe-read.c (IS_EINTR): Define.
18862         (safe_read): Use IS_EINTR in place of in-function cpp directives.
18863
18864 2002-12-02  Jim Meyering  <jim@meyering.net>
18865
18866         * lib/safe-read.c (EINTR): Define.
18867         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
18868         (INT_MAX): Provide fallback.
18869         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
18870
18871         * lib/safe-read.h (SAFE_READ_ERROR): Define.
18872
18873 2002-12-02  Bruno Haible  <bruno@clisp.org>
18874
18875         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
18876         Define, taken from safe-read.c.
18877         (INT_MAX): Provide fallback.
18878         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
18879         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
18880
18881         * lib/safe-read.c (EINTR): Remove definition.
18882         (safe_read): Don't use EINTR if it is absent.
18883
18884 2002-12-01  Jim Meyering  <jim@meyering.net>
18885
18886         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
18887         zero.
18888         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
18889
18890 2002-11-27  Paul Eggert  <eggert@twinsun.com>
18891
18892         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
18893         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
18894         with `if (! (value < limit)) abort ();', for readability.
18895
18896 2002-11-26  Karl Berry  <karl@gnu.org>
18897
18898         * lib/strdup.c: copy from libc again, with jim's ok.
18899         * lib/.cppi-disable: re-add strdup.c
18900
18901 2002-11-25  Karl Berry  <karl@gnu.org>
18902
18903         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
18904         instead of "strtol.c".
18905
18906 2002-11-25  Karl Berry  <karl@gnu.org>
18907
18908         * config/install-sh: update from automake for variable quoting, $0 in
18909         error msgs, etc.
18910
18911         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
18912         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
18913         entry.
18914
18915 2002-11-25  Jim Meyering  <jim@meyering.net>
18916
18917         * lib/mktime.c: Sync from libc, now that it has the latest fix.
18918
18919 2002-11-24  Karl Berry  <karl@gnu.org>
18920
18921         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
18922         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
18923
18924 2002-11-24  Jim Meyering  <jim@meyering.net>
18925
18926         Update from coreutils:
18927
18928         * lib/mktime.c: Merge in changes from libc.
18929
18930         Avoid a link-time failure on some Linux systems.
18931         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
18932         (otherwise).
18933         (__mon_yday): Declare with the STATIC attribute.
18934         (__mktime_internal): Likewise.
18935         Based on a report from Greg Schafer.
18936
18937 2002-11-23  Jim Meyering  <jim@meyering.net>
18938
18939         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
18940         Use `unsigned', not `int', as type of index.
18941
18942         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
18943
18944         * lib/fsusage.c: Remove unneeded parentheses around operands of
18945         `defined'.
18946
18947 2002-11-22  Paul Eggert  <eggert@twinsun.com>
18948
18949         * lib/quotearg.h: Allow multiple inclusion by surrounding with
18950         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
18951         so that we can be included first.
18952         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
18953         * lib/quotearg.c: Include quotearg.h immediately after config.h.
18954         No need to include stddef.h or sys/types.h any more.
18955         Surround local include files with "", not "<>".
18956         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
18957         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
18958         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
18959         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
18960         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
18961         (ISPRINT): Remove; no longer needed now that we assume C89.
18962
18963         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
18964         Preserve errno.
18965
18966         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
18967         quotearg_char): Use SIZE_MAX rather than
18968         (size_t) -1 when we are talking about "infinity".
18969
18970         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
18971
18972 2002-11-22  Paul Eggert  <eggert@twinsun.com>
18973
18974         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
18975         hint that one should use `if (! x) abort ();' rather than `assert
18976         (x);', and anyway it's one less thing to worry about configuring.
18977         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
18978         hash_rehash, hash_insert): Use abort rather than assert.
18979
18980 2002-11-22  Bruno Haible  <bruno@clisp.org>
18981
18982         * lib/safe-read.h: Assume C89. Add comments.
18983         (safe_read): Change return type to size_t.
18984         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
18985         byte counts > SSIZE_MAX correctly.
18986         * lib/safe-write.h: New file.
18987         * lib/safe-write.c: New file.
18988         * lib/full-read.h: New file.
18989         * lib/full-read.c: New file.
18990         * lib/full-write.h: Assume C89. Add comments.
18991         * lib/full-write.c: Include safe-write.h.
18992         (full_write): Rewritten to use safe_write.
18993         Suggested by Jim Meyering and Paul Eggert.
18994
18995 2002-11-21  Jim Meyering  <jim@meyering.net>
18996
18997         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
18998
18999         Merge in changes from the coreutils.
19000
19001         2002-09-25  Paul Eggert  <eggert@twinsun.com>
19002         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
19003         <stdint.h>.
19004         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
19005         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
19006         int.  Work more efficiently if X is the same width as uintmax_t.
19007         Do not compare X to -1, to avoid bogus compiler warning.
19008         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
19009         Don't assume that f_frsize and f_bsize are the same type.
19010
19011         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
19012         warning on FreeBSD.
19013
19014         * lib/makepath.c (make_path): Restore umask *before* creating the final
19015         component.
19016         (make_path): Minor reformatting.
19017
19018         * lib/xmalloc.c: Adjust to work with new autoconf macros,
19019         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
19020         HAVE_MALLOC/HAVE_REALLOC.
19021
19022         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
19023         dummy ones.  At least on GNU/Linux systems, `auto' means something
19024         else.
19025         From Michael Stone.
19026
19027 2002-11-21  Bruno Haible  <bruno@clisp.org>
19028
19029         Remove case insensitive option matching.
19030         * lib/argmatch.h (argcasematch): Remove declaration.
19031         (ARGCASEMATCH): Remove macro.
19032         (__xargmatch_internal): Remove case_sensitive argument.
19033         (XARGMATCH): Update.
19034         (XARGCASEMATCH): Remove macro.
19035         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
19036         case_sensitive argument.
19037         (argcasematch): Remove function.
19038         (__xargmatch_internal): Remove case_sensitive argument.
19039         (main): Use XARGMATCH instead of XARGCASEMATCH.
19040
19041         * lib/xmalloc.c: Change compile-time error message. Add comment about
19042         required autoconf version.
19043
19044 2002-11-20  Paul Eggert  <eggert@twinsun.com>
19045
19046         Merge argmatch cleanups from Bison.  Assume C89.
19047
19048         * lib/argmatch.c: Include config.h here, not in argmatch.h.
19049         Include stdlib.h, for EXIT_FAILURE.
19050         Always include <string.h>, since we assume C89.
19051         (EXIT_FAILURE): Remove pre-C89 bug workaround.
19052         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
19053         Include <stddef.h> instead, since it's all we need for size_t.
19054         (PARAMS): Remove.  All uses removed.
19055         (ARRAY_CARDINALITY): Do not bother to #undef.
19056         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
19057         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19058         Remove unnecessary parentheses.
19059         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
19060         Insert necessary parentheses.
19061         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
19062         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
19063
19064 2002-11-19  Bruno Haible  <bruno@clisp.org>
19065
19066         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
19067         * lib/mbswidth.h: Include <stddef.h>, for size_t.
19068
19069         * lib/mbswidth.h (PARAMS): Remove macro.
19070         (mbswidth, mbsnwidth): Use ANSI C function declarations.
19071         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
19072
19073         * lib/gcd.h (PARAMS): Remove macro.
19074         (gcd): Use ANSI C function declarations.
19075         * lib/gcd.c (gcd): Likewise.
19076
19077 2002-11-15  Bruno Haible  <bruno@clisp.org>
19078
19079         * lib/strcspn.c: Include <stddef.h>.
19080         (strcspn): Use ANSI C function declaration. Change return type to
19081         size_t. Use NULL.
19082         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
19083         (strpbrk): Use NULL.
19084         * lib/strpbrk.h (PARAMS): Remove macro.
19085         (strpbrk): Use ANSI C function declaration.
19086         * lib/strstr.c: Don't include <sys/types.h>.
19087         * lib/strstr.h (PARAMS): Remove macro.
19088         (strstr): Use ANSI C function declarations.
19089
19090 2002-11-14  Karl Berry  <karl@gnu.org>
19091
19092         * config/mkinstalldirs: `do' on separate line, instead of
19093         `for var; do'.
19094
19095 2002-11-06  Bruno Haible  <bruno@clisp.org>
19096
19097         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
19098         * lib/gcd.c (gcd): Likewise.
19099
19100 2002-11-05  Bruno Haible  <bruno@clisp.org>
19101
19102         * lib/gcd.h: New file, from gettext-0.11.5.
19103         * lib/gcd.c: New file, from gettext-0.11.5.
19104
19105 2002-11-05  Bruno Haible  <bruno@clisp.org>
19106
19107         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19108         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19109         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19110         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
19111
19112         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
19113         <libintl.h>.
19114         * lib/makepath.c: Include gettext.h instead of <locale.h> and
19115         <libintl.h>.
19116
19117         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
19118         * lib/human.c: Include gettext.h instead of <libintl.h>.
19119         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
19120         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
19121         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
19122         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
19123         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
19124         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
19125         (textdomain): Remove definition.
19126         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
19127
19128         * lib/long-options.c: Remove include of <libintl.h> and definition of
19129         _.
19130         * lib/same.c: Remove include of <libintl.h> and definition of _.
19131
19132 2002-11-04  Owen Taylor  <otaylor@redhat.com>
19133
19134         * lib/config.charset: A few additions for Solaris.
19135
19136 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
19137
19138         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
19139         * lib/localcharset.c (locale_charset): Declare as extern "C".
19140
19141 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
19142
19143         * lib/config.charset: msdos in uk_UA uses CP1125.
19144
19145 2002-11-04  Bruno Haible  <bruno@clisp.org>
19146
19147         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
19148         * lib/strcase.h: New file, from GNU gettext-0.11.5.
19149         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
19150         * lib/strstr.h: New file, from GNU gettext-0.11.5.
19151         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
19152
19153 2002-11-04  Bruno Haible  <bruno@clisp.org>
19154
19155         * lib/localcharset.c (locale_charset): Don't return an empty string.
19156
19157 2002-11-04  Bruno Haible  <bruno@clisp.org>
19158
19159         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
19160         aliases.
19161
19162 2002-11-04  Bruno Haible  <bruno@clisp.org>
19163
19164         * lib/config.charset: Update for newest glibc. Add canonical names
19165         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
19166
19167 2002-11-04  Bruno Haible  <bruno@clisp.org>
19168
19169         * lib/config.charset: Add support for NetBSD.
19170
19171 2002-11-04  Bruno Haible  <bruno@clisp.org>
19172
19173         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
19174
19175 2002-11-01  Bruno Haible  <bruno@clisp.org>
19176
19177         * configure.in: Add AC_CONFIG_AUX_DIR call.
19178         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
19179         test/Makefile.
19180         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
19181
19182 2002-09-28  Karl Berry  <karl@gnu.org>
19183
19184         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
19185         installed automake until the next release, since changes have been
19186         made.
19187
19188 2002-09-25  Karl Berry  <karl@gnu.org>
19189
19190         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
19191         * lib/getopt*: copy from libc/posix.
19192         * lib/gettext.h: copy from gettext.
19193         * lib/.cppi-disable: add strdup.c, gettext.h.
19194
19195 2002-09-25  Karl Berry  <karl@gnu.org>
19196
19197         * config/srclist.txt: enable gettext.h check.
19198         * config/config.{guess,sub}: update from prep.
19199         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
19200                 from automake 1.6.3.
19201         See srclist*.
19202
19203 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
19204
19205         * regex.c (PATFETCH): Remove the translating fetch.
19206         (PATFETCH_RAW): Rename to PATFETCH.
19207         (set_image_of_range): New fun.
19208         (SET_RANGE_TABLE_WORK_AREA): Use it.
19209         (regex_compile): Don't translate the pattern chars so eagerly.
19210         Only do it when inserting an `exactn' bytecode or when handling
19211         a char-range.
19212         (mutually_exclusive_p): Avoid empty statement.
19213
19214 2002-07-06  Jim Meyering  <meyering@lucent.com>
19215
19216         * m4/README: Don't mention Makefile.am.in.
19217         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
19218
19219 2002-07-01  Jim Meyering  <meyering@lucent.com>
19220
19221         * lib/c-stack.c: Include sys/time.h.
19222         From Volker Borchert.
19223
19224 2002-06-26  Paul Eggert  <eggert@twinsun.com>
19225
19226         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
19227
19228 2002-06-26  Paul Eggert  <eggert@twinsun.com>
19229
19230         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
19231         New macro.  Use it uniformly instead of
19232         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
19233         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
19234         reported by Vin Shelton.
19235
19236 2002-06-22  Paul Eggert  <eggert@twinsun.com>
19237
19238         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
19239         Do not assume SA_SIGINFO behavior.
19240         Bug reported by Jim Meyering on NetBSD 1.5.2.
19241
19242 2002-06-22  Jim Meyering  <meyering@lucent.com>
19243
19244         * m4/c-stack.m4: New file, from diffutils-2.8.2.
19245         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
19246
19247         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
19248         now that configure.ac uses AC_GNU_SOURCE.
19249         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
19250         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
19251
19252         Update to latest tools.  Suggestions from Paul Eggert.
19253         * m4/stdbool.m4: New file, from diffutils-2.8.2.
19254         * m4/gnu-source.m4: Update from diffutils-2.8.2.
19255         * m4/fnmatch.m4: Likewise.
19256         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
19257         to AC_HEADER_STDBOOL
19258
19259 2002-06-22  Jim Meyering  <meyering@lucent.com>
19260
19261         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
19262         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
19263
19264 2002-06-22  Jim Meyering  <meyering@lucent.com>
19265
19266         * lib/c-stack.c, c-stack.h: New files, from diffutils-2.8.2.
19267
19268         * lib/exitfail.c, exitfail.h: Likewise.
19269         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
19270
19271         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
19272         of fnmatch.h.
19273         (EXTRA_DIST): Add fnmatch_loop.c.
19274         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
19275
19276         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
19277         * lib/fnmatch.c: Update from diffutils-2.8.2.
19278         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
19279         * lib/fnmatch.h: Remove file.
19280
19281 2002-06-21  Jim Meyering  <meyering@lucent.com>
19282
19283         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
19284         * m4/mbrtowc.m4: Likewise.
19285
19286         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
19287         * m4/mbswidth.m4: Reflect name change:
19288         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
19289         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
19290
19291         * m4/lib-link.m4: Update from gettext-0.11.2.
19292         * m4/gettext.m4: Likewise.
19293
19294         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
19295         From Alfred M. Szmidt.
19296
19297 2002-06-18  Paul Eggert  <eggert@twinsun.com>
19298
19299         * lib/file-type.h: Report an error if neither S_ISREG nor
19300         S_IFREG is defined, instead of using a test specific to glibc
19301         2.2.  This should be safe, since POSIX requires S_ISREG and
19302         Unix Version 7 had S_IFREG.  We don't need to check for
19303         <sys/types.h> since we don't use any symbols that it defines.
19304
19305 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
19306
19307         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
19308         $@-t, so that each temporary file name is unique and valid in the first
19309         8 characters, for operation under DOS.
19310
19311 2002-06-15  Paul Eggert  <eggert@twinsun.com>
19312
19313         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
19314
19315 2002-06-15  Jim Meyering  <meyering@lucent.com>
19316
19317         Work even with DJGPP 2.03, which lacks support for symlinks.
19318         From Richard Dawe.
19319         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
19320         is defined.
19321         * lib/lchown.c (S_ISLNK): Likewise.
19322
19323 2002-06-15  Jim Meyering  <meyering@lucent.com>
19324
19325         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
19326         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
19327         have been included before this file.
19328
19329 2002-06-14  Jim Meyering  <meyering@lucent.com>
19330
19331         * lib/file-type.h: Use the version from diffutils-2.8.2.
19332         * lib/file-type.c: Likewise.
19333
19334 2002-06-07  Jim Meyering  <meyering@lucent.com>
19335
19336         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
19337         They're needed at least for NetBSD 1.5.2.
19338         ($statxfs_includes): Include those same headers.
19339         ($statxfs_includes): Include sys/vfs.h if available.
19340         ($statxfs_includes): Likewise for sys/statvfs.h.
19341         Check for the following members in both structs statfs and statvfs:
19342         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
19343
19344 2002-06-01  Jim Meyering  <meyering@lucent.com>
19345
19346         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
19347         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
19348
19349 2002-05-28  Jim Meyering  <meyering@lucent.com>
19350
19351         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
19352         Reported by Volker Borchert.
19353
19354 2002-05-27  Jim Meyering  <meyering@lucent.com>
19355
19356         Fix a problem seen only on nonconforming systems whereby ls.c's
19357         use of localtime, and then of gettimeofday would cause trouble:
19358         the localtime call used to initialize rpl_gettimeofday's save
19359         mechanism would clobber ls's current local time information so
19360         that in any long listing the first file would always be listed
19361         with date 1970-01-01.  Analysis by Volker Borchert.
19362
19363         * lib/gettimeofday.c (localtime): Undefine.
19364         (rpl_localtime): New function.
19365
19366 2002-05-27  Jim Meyering  <meyering@lucent.com>
19367
19368         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
19369         localtime.
19370
19371         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
19372         use the replacement function; it wouldn't resolve at link time.
19373         Reported by Volker Borchert.
19374
19375 2002-05-22  Jim Meyering  <meyering@lucent.com>
19376
19377         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
19378         file-type.h.
19379         * lib/file-type.h: New file.
19380         * lib/file-type.c (file_type): New file/function.  Extracted from
19381         diffutils.
19382
19383 2002-04-30  Jim Meyering  <meyering@lucent.com>
19384
19385         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
19386
19387 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19388
19389         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
19390
19391 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19392
19393         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
19394         Do not check for alloca.h (no longer used) or stdbool.h (was never
19395         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
19396
19397 2002-04-29  Paul Eggert  <eggert@twinsun.com>
19398
19399         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
19400
19401 2002-04-29  Jim Meyering  <meyering@lucent.com>
19402
19403         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
19404         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
19405         Use AC_FUNC_STRNLEN here instead.
19406
19407         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
19408         With autoconf-2.53a, it's part of AC_PROG_CC.
19409
19410 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19411
19412         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
19413         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
19414
19415 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19416
19417         * lib/sig2str.h, sig2str.c: New files.
19418         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
19419
19420 2002-04-28  Paul Eggert  <eggert@twinsun.com>
19421
19422         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
19423         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
19424         of 127, since 64 is the largest conceivable number for ancient
19425         nonstandard hosts.
19426         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
19427
19428 2002-04-28  Jim Meyering  <meyering@lucent.com>
19429
19430         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
19431
19432 2002-04-24  Jim Meyering  <meyering@lucent.com>
19433
19434         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
19435         (jm_PREREQ): Use it.
19436
19437         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
19438         mach/mach.h fcntl.h.
19439         Check for this function: setlocale.
19440
19441 2002-04-24  Jim Meyering  <meyering@lucent.com>
19442
19443         * lib/gettext.h: New file, from Gettext.
19444         * lib/Makefile.am (INCLUDES): Remove -I../intl.
19445         (libfetish_a_SOURCES): Add gettext.h.
19446
19447 2002-04-16  Jim Meyering  <meyering@lucent.com>
19448
19449         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
19450         ut_pid, ut_id, ut_exit.
19451
19452 2002-04-16  Jim Meyering  <meyering@lucent.com>
19453
19454         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
19455         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
19456         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
19457
19458 2002-04-12  Jim Meyering  <meyering@lucent.com>
19459
19460         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
19461         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
19462         existence of the getmntinfo function.  Needed for Darwin 5.3.
19463
19464         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
19465         This is necessary at least on Darwin 5.3.
19466
19467         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
19468         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
19469         strnlen.o in the library, and that makes some versions of ranlib
19470         object.
19471
19472 2002-04-12  Jim Meyering  <meyering@lucent.com>
19473
19474         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
19475
19476 2002-04-09  Jim Meyering  <meyering@lucent.com>
19477
19478         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
19479         to be more precise.  Rather than saying we're checking whether the
19480         function `works', say what we're testing.
19481         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
19482         Reported by Bruno Haible.
19483
19484 2002-03-10  Jim Meyering  <meyering@lucent.com>
19485
19486         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
19487         Suggestion from Santiago Vila.
19488
19489 2002-03-08  Jim Meyering  <meyering@lucent.com>
19490
19491         * lib/rename.c: Mention that this wrapper is needed also on
19492         mips-dec-ultrix4.4 systems.
19493
19494 2002-03-02  Jim Meyering  <meyering@lucent.com>
19495
19496         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
19497         not HAVE_CLOCK_SETTIME.
19498
19499 2002-02-27  Paul Eggert  <eggert@twinsun.com>
19500
19501         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
19502         Check for clock_settime.
19503
19504 2002-02-27  Paul Eggert  <eggert@twinsun.com>
19505
19506         * lib/nanosleep.h: Rename to....
19507         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
19508
19509         * lib/gettime.c: New file.
19510         * lib/settime.c: New file.
19511         * lib/stime.c: Remove.
19512
19513         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
19514         timespec.h.  Remove nanosleep.h.
19515
19516 2002-02-25  Paul Eggert  <eggert@twinsun.com>
19517
19518         * m4/acl.m4: New file.
19519         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
19520         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
19521
19522 2002-02-25  Paul Eggert  <eggert@twinsun.com>
19523
19524         * lib/acl.c, acl.h: New files.
19525         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
19526
19527 2002-02-24  Jim Meyering  <meyering@lucent.com>
19528
19529         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
19530         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
19531         cause trouble.  Reported by Nelson Beebe.
19532
19533 2002-02-23  Paul Eggert  <eggert@twinsun.com>
19534
19535         * lib/path-concat.c (xpath_concat): Reorder code to pacify
19536         compilers that don't know that xalloc_die never returns.
19537
19538 2002-02-20  Jim Meyering  <meyering@lucent.com>
19539
19540         * lib/getdate.c: Regenerate using bison-1.33.
19541
19542 2002-02-17  Jim Meyering  <meyering@lucent.com>
19543
19544         * config/config.guess (main): Don't use `head -1'; it's no longer
19545         portable. Use `sed 1q' instead.
19546
19547 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
19548
19549         * m4/codeset.m4: Upgrade to gettext-0.11.
19550         * m4/gettext.m4: Upgrade to gettext-0.11.
19551         * m4/glibc21.m4: Upgrade to gettext-0.11.
19552         * m4/iconv.m4: Upgrade to gettext-0.11.
19553         * m4/isc-posix.m4: Upgrade to gettext-0.11.
19554         * m4/lcmessage.m4: Upgrade to gettext-0.11.
19555         * m4/lib-ld.m4: New file, from gettext-0.11.
19556         * m4/lib-link.m4: New file, from gettext-0.11.
19557         * m4/lib-prefix.m4: New file, from gettext-0.11.
19558         * m4/progtest.m4: Upgrade to gettext-0.11.
19559
19560 2002-02-15  Paul Eggert  <eggert@twinsun.com>
19561
19562         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
19563         (jm_PREREQ): Use it.
19564
19565 2002-02-15  Paul Eggert  <eggert@twinsun.com>
19566
19567         * lib/posixver.c, posixver.h: New files.
19568         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
19569
19570 2002-02-02  Paul Eggert  <eggert@twinsun.com>
19571             Bruno Haible  <bruno@clisp.org>
19572
19573         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
19574         (fwrite_success_callback): New declaration.
19575         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
19576         print_unicode_char. Call failure callback instead of error.
19577         (fwrite_success_callback): New function.
19578         (exit_failure_callback): New function.
19579         (fallback_failure_callback): New function.
19580         (print_unicode_char): Call unicode_to_mb.
19581
19582 2002-01-26  Jim Meyering  <meyering@lucent.com>
19583
19584         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
19585         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
19586
19587 2002-01-26  Jim Meyering  <meyering@lucent.com>
19588
19589         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
19590
19591 2002-01-22  Paul Eggert  <eggert@twinsun.com>
19592
19593         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
19594
19595 2002-01-22  Jim Meyering  <meyering@lucent.com>
19596
19597         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
19598         Otherwise, some versions of automake would omit the rule that makes
19599         Makefile from Makefile.in.
19600
19601 2002-01-21  Paul Eggert  <eggert@twinsun.com>
19602
19603         * lib/xmemcoll.h, xmemcoll.c: New files.
19604         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
19605         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
19606         (memcoll): Set errno to zero if there is no error.
19607
19608         * lib/quotearg.c (quotearg_buffer_restyled):
19609         Fix bug with quoting buffers containing NUL when backslashing escapes.
19610         This bug was exposed by the other changes in this patch.
19611         (quotearg_n_options): New arg ARGSIZE.
19612         All callers changed.
19613         (quoting_options_from_style): New function.
19614         (quotearg_n_style): Use it.
19615         (quotearg_n_style_mem): New function.
19616
19617         * lib/quotearg.h (quotearg_n_style_mem): New function.
19618
19619 2002-01-19  Jim Meyering  <meyering@lucent.com>
19620
19621         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
19622         Remove useless quotes: DF_PROG="df".
19623         * m4/strnlen.m4: New file.
19624
19625 2002-01-16  Paul Eggert  <eggert@twinsun.com>
19626
19627         * lib/backupfile.c (ISDIGIT): Comment fix.
19628         * lib/getdate.y (ISDIGIT): Likewise.
19629         * lib/posixtm.c (ISDIGIT, year): Likewise.
19630         * lib/strverscmp.c (ISDIGIT): Likewise.
19631         * lib/userspec.c (ISDIGIT): Likewise.
19632
19633 2002-01-16  Jim Meyering  <meyering@lucent.com>
19634
19635         * lib/getdate.y: Add three semicolons, each just before a closing
19636         brace. Bison (as of version 1.31) no longer papers over that mistake.
19637
19638 2002-01-05  Jim Meyering  <meyering@lucent.com>
19639
19640         * lib/version-etc.c (version_etc_copyright): Update copyright year.
19641
19642 2001-12-19  Paul Eggert  <eggert@twinsun.com>
19643
19644         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
19645         not silently exit merely because the output buffer happens to
19646         have nothing pending.
19647
19648 2001-12-18  Paul Eggert  <eggert@twinsun.com>
19649
19650         See the big note in ../ChangeLog.
19651         * lib/human.c (suffixes): Prefer K to k for 1024.
19652         (generate_suffix_backwards): New function.
19653         (human_readable_inexact): Use it.
19654         * lib/xstrtol.c (__xstrtol): If there is no number but there
19655         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
19656         Accept 'K' as well as 'k'.
19657
19658 2001-12-15  Jim Meyering  <meyering@lucent.com>
19659
19660         * lib/regex.h (__restrict_arr): Update from libc.
19661
19662         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
19663         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
19664         (STREQ): Define.
19665
19666 2001-12-14  Jim Meyering  <meyering@lucent.com>
19667
19668         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
19669         Suggestion from Bruno Haible.
19670
19671 2001-12-10  Jim Meyering  <meyering@lucent.com>
19672
19673         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
19674         xrealloc, Instead, include "xalloc.h".
19675         (initbuffer): Don't cast xmalloc return value to char*.
19676         (readline): Reword comment.
19677         Don't cast xrealloc return value to char*
19678         Return NULL, not 0.
19679
19680 2001-12-09  Jim Meyering  <meyering@lucent.com>
19681
19682         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
19683         about `signed and unsigned type in conditional expression'.
19684         * lib/posixtm.c (posix_time_parse): Likewise.
19685
19686         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
19687
19688         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
19689         to avoid a pedantic warning.
19690
19691         * lib/getstr.c: Don't include assert.h.
19692         (getstr): Remove warning-evoking assertions.
19693         Return -1 if offset parameter is out of bounds.
19694         Change the type of a local from int to size_t.
19695
19696         * lib/strftime.c (my_strftime_localtime_r): Include this function
19697         definition in the `#if ! HAVE_TM_GMTOFF' block.
19698
19699         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
19700         Include xalloc.h instead.
19701
19702 2001-12-02  Jim Meyering  <meyering@lucent.com>
19703
19704         * lib/tempname.c: Don't declare getenv, thus reverting the change of
19705         2001-11-18.  It's no longer necessary, now that stdlib.h is always
19706         included.
19707
19708         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
19709         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
19710
19711 2001-11-30  Akim Demaille  <akim@epita.fr>
19712
19713         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
19714         before being defined.
19715
19716 2001-11-27  Paul Eggert  <eggert@twinsun.com>
19717
19718         * lib/quotearg.h (quotearg_n, quotearg_n_style):
19719         First arg is int, not unsigned.
19720         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
19721         (SIZE_MAX, UINT_MAX): New macros.
19722         (quotearg_n_options): Abort if N is negative.
19723         Avoid overflow check on hosts where size_t is 64 bits and int
19724         is 32 bits, as overflow is impossible there.
19725         Fix off-by-one typo that caused unnecessary reallocation.
19726
19727 2001-11-27  Jim Meyering  <meyering@lucent.com>
19728
19729         * lib/tempname.c: Merge with version from libc.
19730         * lib/regex.c: Likewise.
19731
19732         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
19733         systems for which STDC_HEADERS is 0, it was not included, resulting in
19734         a warning about an integer-to-pointer conversion problem with getenv.
19735         Reported by Volker Borchert.
19736
19737 2001-11-26  Jim Meyering  <meyering@lucent.com>
19738
19739         * lib/gtod.h: Remove file.
19740         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
19741         * lib/gettimeofday.c: Don't include gtod.h.
19742         (GTOD_init): Remove function.
19743         (rpl_gettimeofday): Do its job here instead, rather than aborting.
19744         Suggestion from Volker Borchert.
19745
19746 2001-11-23  Jim Meyering  <meyering@lucent.com>
19747
19748         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
19749         it.
19750         * lib/hash.c (struct hash_table): Define it here instead.
19751
19752 2001-11-22  Jim Meyering  <meyering@lucent.com>
19753
19754         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
19755
19756 2001-11-20  Jim Meyering  <meyering@lucent.com>
19757
19758         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
19759         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
19760
19761 2001-11-19  Jim Meyering  <meyering@lucent.com>
19762
19763         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
19764         directory.  Use "conftestXXXXXX" as the template.
19765         Suggestion from Paul Eggert.
19766
19767         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
19768         immediately, so the test doesn't mistakenly hit the max-open-files
19769         limit.
19770
19771 2001-11-18  Paul Eggert  <eggert@twinsun.com>
19772
19773         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
19774         (TEMPORARIES): New macro.
19775         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
19776         removes an artificial limitation (e.g. HP-UX 10.20, where
19777         TMP_MAX is 17576).
19778
19779 2001-11-18  Jim Meyering  <meyering@lucent.com>
19780
19781         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
19782
19783 2001-11-18  Jim Meyering  <meyering@lucent.com>
19784
19785         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
19786         on SunOS 4.
19787
19788         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
19789         files will be created before anything else.
19790
19791 2001-11-17 Paul Eggert  <eggert@twinsun.com>
19792
19793         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
19794         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
19795
19796 2001-11-17  Jim Meyering  <meyering@lucent.com>
19797
19798         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
19799         Prompted by a report from Bob Proulx.
19800
19801         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
19802         Instead, require UTILS_FUNC_MKSTEMP.
19803
19804 2001-11-17  Jim Meyering  <meyering@lucent.com>
19805
19806         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
19807         Now, that's done as part of AC_FUNC_STRTOD.
19808
19809 2001-11-17  Jim Meyering  <meyering@lucent.com>
19810
19811         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
19812         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
19813         rather than group writable.  Patch by Juan F. Codagnone.
19814
19815         * lib/readtokens.c: Remove explicit declarations of xmalloc and
19816         xrealloc, Instead, include "xalloc.h".
19817
19818         * lib/mountlist.c: Include unlocked-io.h after all system headers.
19819         Remove explicit declarations of xmalloc, xrealloc,
19820         and xstrdup.  Instead, include "xalloc.h".
19821
19822         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
19823         unlocked-io.h.
19824         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
19825         Likewise.
19826         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
19827
19828         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
19829         Reported by Padraig Brady.
19830
19831         * lib/mkstemp.c: #undef mkstemp.
19832         Include config.h.
19833         (rpl_mkstemp): Rename from mkstemp.
19834         Protoize.
19835
19836 2001-11-16  Jim Meyering  <meyering@lucent.com>
19837
19838         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
19839         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
19840         determine the amount of total physical memory, use pstat_getstatic.
19841         HPUX-11 doesn't define _SC_PHYS_PAGES.
19842         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
19843         If sysconf couldn't be used to determine the amount of available
19844         physical memory, use both pstat_getstatic and pstat_getdynamic.
19845         Based on a patch from Bob Proulx.
19846
19847 2001-11-10  Jim Meyering  <meyering@lucent.com>
19848
19849         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
19850         (jm_PREREQ): Use it.
19851
19852 2001-11-09  Jim Meyering  <meyering@lucent.com>
19853
19854         * m4/jm-macros.m4: Require autoconf-2.52f.
19855         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
19856         Use these AC_-prefixed names, not the AM_-prefixed ones.
19857
19858         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
19859
19860 2001-11-05  Jim Meyering  <meyering@lucent.com>
19861
19862         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
19863
19864 2001-11-04  Jim Meyering  <meyering@lucent.com>
19865
19866         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
19867         $DEFS.
19868
19869 2001-11-03  Jim Meyering  <meyering@lucent.com>
19870
19871         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
19872         of AC_DEFUN.
19873
19874         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
19875         know the name of the variable in the macro definition.
19876
19877 2001-11-03  Jim Meyering  <meyering@lucent.com>
19878
19879         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
19880         in argmatch_to_argument call.
19881
19882         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
19883         argument.
19884
19885         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
19886         e.g., a fault due to an attempt to free a NULL pointer.
19887
19888 2001-11-01  Jim Meyering  <meyering@lucent.com>
19889
19890         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
19891         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
19892
19893 2001-11-01  Jim Meyering  <meyering@lucent.com>
19894
19895         * lib/dirfd.c, dirfd.h: New files.
19896         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
19897
19898         * lib/hash.c (hash_print) [TESTING]: Clean up.
19899
19900 2001-10-22  Paul Eggert  <eggert@twinsun.com>
19901
19902         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
19903         to avoid a warning if -Wall.
19904
19905 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
19906
19907         * README: New file
19908         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
19909         (per RMS's instructions, this is now the canonical source)
19910         * lgpl/, gpl/: New directories.
19911
19912 2001-10-21  Paul Eggert  <eggert@twinsun.com>
19913
19914         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
19915
19916 2001-10-21  Jim Meyering  <meyering@lucent.com>
19917
19918         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
19919         this code would end up calling gettext even in packages built
19920         with --disable-nls.
19921         * lib/getopt.c (_): Likewise.
19922         * lib/regex.c (_): Likewise.
19923
19924 2001-10-20  Paul Eggert  <eggert@twinsun.com>
19925
19926         * m4/error.m4 (jm_PREREQ_ERROR):
19927         Do not invoke AC_CHECK_FUNCS with strerror_r, as
19928         AC_FUNC_STRERROR_R does that.
19929         Check for strerror declaration.
19930
19931         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
19932         are supposed to have them these days.
19933         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
19934         Merge changes from latest Autoconf CVS.
19935         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
19936         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
19937         POSIX decided to standardize on the int flavor of strerror_r.
19938
19939 2001-10-20  Paul Eggert  <eggert@twinsun.com>
19940
19941         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
19942         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
19943         Use strerror_r that is only a macro, even if it is not a function.
19944         (strerror): Check for HAVE_DECL_STRERROR before declaring.
19945         (private_strerror): Use prototypes, not old-style function definition.
19946         (print_errno_message): New function.
19947         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
19948         char*-flavored one.
19949         (error_tail, error, error_at_line): Use it.
19950
19951 2001-10-11  Jim Meyering  <meyering@lucent.com>
19952
19953         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
19954         and quote_n (1, ... to avoid clobbering a buffer.
19955
19956 2001-10-05  Jim Meyering  <meyering@lucent.com>
19957
19958         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
19959         hash-pjw.h.
19960         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
19961         * lib/hash-pjw.h: New file.
19962
19963 2001-09-30  Jim Meyering  <meyering@lucent.com>
19964
19965         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
19966         `struct fsstat' has the `f_fstypename' member.
19967         Use that to define FS_TYPE, which is now used to make
19968         the getfsstat link test tighter.
19969
19970 2001-09-30  Jim Meyering  <meyering@lucent.com>
19971
19972         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
19973         Include <sys/ucred.h>, for Apple Darwin.
19974         Include sys/mount.h and sys/fs_types.h only if available.
19975         (FS_TYPE): Define.
19976         (read_filesystem_list): Use FS_TYPE.
19977
19978 2001-09-29  Paul Eggert  <eggert@twinsun.com>
19979
19980         * lib/exclude.c (excluded_filename): 0 -> false, since it's
19981         a boolean context.
19982
19983 2001-09-29  Jim Meyering  <meyering@lucent.com>
19984
19985         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
19986         [one-argument getmntent function]): Include stdio.h before mntent.h.
19987         SunOS 4.1.x needs it for the declaration of `FILE'.
19988         Patch by Volker Borchert.
19989
19990         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
19991         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
19992         sys/fs_types.h, and make the link-test for getfsstat guard #include
19993         directives with appropriate #if HAVE_*_H tests so that we can
19994         detect getfsstat on Apple Darwin1.3.7 systems.
19995         Reported by Nelson Beebe.
19996         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
19997
19998 2001-09-28  Paul Eggert  <eggert@twinsun.com>
19999
20000         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20001         #defines strtoimax.  Also treat the other strto* functions
20002         like strtoimax.
20003
20004         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
20005         Check for strtoul and strtoumax,
20006         as those declarations are made even in the signed case.
20007         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
20008         Likewise, for strtol and strtoimax.
20009
20010 2001-09-28  Paul Eggert  <eggert@twinsun.com>
20011
20012         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
20013         #defines strtoimax.  Also treat the other strto* functions
20014         like strtoimax.
20015
20016         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
20017         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
20018         (strtoimax, strtoumax): Do not declare if already defined as a macro.
20019
20020 2001-09-26  Jim Meyering  <meyering@lucent.com>
20021
20022         Most macros in unlocked-io.h had the wrong number of arguments.
20023         * lib/gen-uio: New script.
20024         (USE_UNLOCKED_IO): Define to 1 if not already defined.
20025         * lib/unlocked-io.hin: Remove file.
20026         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
20027         rather than trying to embed it here.
20028         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
20029         Reported by Padraig Brady.
20030
20031 2001-09-25  Volker Borchert  <bt@teknon.de>
20032
20033         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
20034         `result'.
20035
20036 2001-09-24  Jim Meyering  <meyering@lucent.com>
20037
20038         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
20039
20040 2001-09-23  Jim Meyering  <meyering@lucent.com>
20041
20042         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
20043         instead of the mere test for existence of mntent.h.  The latter
20044         would get a false-positive on AIX 3.4 systems.
20045         In the outer getmntent if-block, don't die if neither of the getmntent
20046         tests succeeds.  Instead, just fall through and continue with the
20047         remaining tests.
20048
20049 2001-09-23  Jim Meyering  <meyering@lucent.com>
20050
20051         * lib/mountlist.c: Remove useless parentheses in #if directives.
20052         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
20053         the deprecated MOUNTED symbol is no longer defined in mntent.h.
20054
20055 2001-09-22  Jim Meyering  <meyering@lucent.com>
20056
20057         * m4/gettext.m4: New file.  From gettext.
20058         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
20059         * m4/progtest.m4: Likewise
20060         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
20061         * m4/glibc21.m4: Likewise.
20062
20063         * m4/libintl.m4: Remove.  No longer used.
20064
20065 2001-09-22  Jim Meyering  <meyering@lucent.com>
20066
20067         * lib/localcharset.c: Update from latest gettext.
20068         * lib/config.charset: Likewise.
20069
20070 2001-09-20  Jim Meyering  <meyering@lucent.com>
20071
20072         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
20073         strtoimax.
20074         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
20075         strtoumax.
20076
20077 2001-09-20  Jim Meyering  <meyering@lucent.com>
20078
20079         * lib/xstrtol.c (strtoimax): Guard declaration with
20080         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
20081         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
20082         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
20083         (strtoumax): Likewise, for completeness (it wasn't necessary).
20084
20085 2001-09-17  Paul Eggert  <eggert@twinsun.com>
20086
20087         * lib/strtoimax.c (HAVE_LONG_LONG):
20088         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
20089         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
20090         to work around bug in IBM C compiler.
20091
20092 2001-09-17  Jim Meyering  <meyering@lucent.com>
20093
20094         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
20095         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
20096         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
20097         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
20098         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
20099         whenever the right hand side need not be expanded by the shell.
20100
20101 2001-09-16  Paul Eggert  <eggert@twinsun.com>
20102
20103         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
20104         library.  It's not correct, as some older glibcs are buggy.
20105         fnmatch wasn't fixed until glibc 2.2.
20106
20107         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
20108         special shell magic here.
20109
20110 2001-09-16  Jim Meyering  <meyering@lucent.com>
20111
20112         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
20113         * m4/jm-macros.m4: Require it.
20114
20115 2001-09-16  Jim Meyering  <meyering@lucent.com>
20116
20117         * lib/mkdir.c: New file.
20118
20119 2001-09-15  Jim Meyering  <meyering@lucent.com>
20120
20121         * m4/jm-macros.m4: Check for help2man.
20122
20123 2001-09-11  Jim Meyering  <meyering@lucent.com>
20124
20125         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
20126         The body, by Paul Eggert, was moved here from configure.in.
20127         * m4/jm-macros.m4: Require UTILS_HOST_OS.
20128
20129 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20130
20131         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
20132         (jm_PREREQ): Use it.
20133
20134 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20135
20136         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
20137         Use ssize_t, not int, to store result of readlink.
20138         Check for ssize_t overflow as well as size_t overflow,
20139         as POSIX says the result of readlink is implementation-defined
20140         when ssize_t overflows.
20141         Remove unnecessary cast to char*.
20142         Use free+malloc instead of realloc, as the storage doesn't need
20143         to be preserved and it's clearer and can be more efficient that way.
20144         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
20145         * lib/xreadlink.h (xreadlink): Update prototype.
20146
20147 2001-09-04  Paul Eggert  <eggert@twinsun.com>
20148
20149         * lib/xgetcwd.c: Revert some of the previous change; intead,
20150         fix the HAVE_GETCWD_NULL code to behave more like the
20151         !HAVE_GETCWD_NULL code used to.
20152
20153         Include "xalloc.h".
20154         (xgetcwd): Do not return NULL when memory is exhausted; instead,
20155         invoke xalloc_die.
20156
20157 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20158
20159         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
20160         sys/param.h, as pathmax.h includes them.
20161
20162 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20163
20164         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
20165         (jm_PREREQ_XGETCWD): New macro.
20166
20167         * m4/getcwd.m4: New file.
20168
20169 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20170
20171         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
20172         like the HAVE_GETCWD_NULL code.
20173         Include pathmax.h if not HAVE_GETCWD.
20174         Do not include xalloc.h.
20175         (INITIAL_BUFFER_SIZE): New symbol.
20176         Do not use xmalloc / xrealloc, since the caller is responsible for
20177         handling errors.  Preserve errno around `free' during failure.
20178         Do not overrun buffer when using getwd.
20179
20180 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20181
20182         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
20183         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
20184         getcwd (NULL, 0).
20185
20186 2001-09-03  Paul Eggert  <eggert@twinsun.com>
20187
20188         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
20189         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
20190         spotted by Jim Meyering.
20191
20192 2001-09-03  Jim Meyering  <meyering@lucent.com>
20193
20194         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
20195         failure.
20196
20197 2001-09-02  Jim Meyering  <meyering@lucent.com>
20198
20199         * lib/error.c: Update from GNU libc.
20200
20201 2001-09-01  Jim Meyering  <meyering@lucent.com>
20202
20203         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
20204         Used by df.
20205
20206 2001-09-01  Jim Meyering  <meyering@lucent.com>
20207
20208         * lib/xreadlink.c: New file.
20209         * lib/xreadlink.h: New file.
20210         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
20211         xreadlink.h.
20212
20213         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
20214         doesn't conflict with sparc Solaris 7's definition in
20215         /usr/include/sys/int_types.h.
20216
20217         * lib/exclude.c: Use `""', not `<>' to #include non-system header
20218         files.
20219         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
20220         and strncasecmp as r-values.  Unixware didn't have declarations.
20221
20222 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20223
20224         * lib/xstrtol.h: Add copyright notice.
20225         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
20226         LONGINT_INVALID_SUFFIX_CHAR.
20227
20228 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20229
20230         * lib/xstrtol.c (strtoimax): New decl.
20231
20232 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20233
20234         * lib/xgetcwd.c: Don't include pathmax.h.
20235         Include stdlib.h and unistd.h if available.
20236         Include xalloc.h.
20237         (xmalloc, xstrdup, free): Remove decls.
20238         (xgetcwd): Don't assume sizes fit in unsigned.
20239         Check for overflow when computing sizes.
20240         Simplify reallocation code.
20241
20242 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20243
20244         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
20245         a directory's st_size can have an arbitrary value, so the old
20246         usage could waste an arbitrary amount of memory.  All uses
20247         changed.
20248         * lib/savedir.h: Update prototype.
20249
20250 2001-08-31  Paul Eggert  <eggert@twinsun.com>
20251
20252         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
20253
20254         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
20255         old strtoimax.c.
20256
20257         Also, make the following further changes to make this file's
20258         configuration more similar to that of strtol.c:
20259         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
20260         (strtoumax, uintmax_t, strtoull, strtol): Remove.
20261         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
20262         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
20263         changed to signed values.
20264
20265         And make the following changes as well:
20266         Fix copyright notice, as 1999 was missing.
20267         (verify): New macro.
20268         (strtoimax): Check sizes at compile-time, not run-time.
20269         Prefer strtol to strtoll if both work.
20270         (main): Remove; it was not that useful and was a pain to maintain.
20271
20272         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
20273
20274 2001-08-31  Jim Meyering  <meyering@lucent.com>
20275
20276         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
20277         Use an initial, malloc'd, buffer of length 128 rather than
20278         a statically allocated one of length 1024.
20279
20280 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20281
20282         Simplify code, partly by assuming autoconf 2.52 semantics.
20283
20284         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
20285
20286         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
20287         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
20288         All uses removed.
20289         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
20290         Move AC_REQUIRE to next-to-top level, to avoid confusion.
20291         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
20292         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
20293         jm_AC_HEADER_INTTYPES_H.
20294         * m4/jm-macros.m4 (jm_MACROS): Likewise.
20295
20296         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
20297
20298         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
20299         Quote first arg of AC_DEFUN.
20300         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
20301         since they are needed to parse the include file even if we need
20302         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
20303         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
20304         but with opposite signedness.
20305
20306 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20307
20308         Merge 'exclude' changes from tar 1.13.22.
20309         This fixes one or two unlikely storage allocation overflow bugs,
20310         but doesn't change user-visible behavior otherwise.
20311
20312 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20313
20314         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
20315         (jm_PREREQ_EXCLUDE): New macro.
20316
20317 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20318
20319         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
20320         tm to be declared.
20321
20322 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20323
20324         * lib/hash.c: Remove '2001' from copyright notice.
20325
20326 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20327
20328         * lib/full-write.h: New file.
20329         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
20330         * lib/full-write.c: Correct credits, as cccp.c no longer
20331         exists and anyway it was so heavily changed from the old cccp
20332         code as to be unrecognizable.  Include full-write.h.
20333         (full_write) Return size_t, with short writes meaning failure.
20334         All callers changed.  This fixes a bug with large buffers
20335         on 64-bit hosts.
20336         * lib/utime.c: Include full-write.h.
20337
20338 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20339
20340         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
20341         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
20342         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
20343         Include if available.
20344         (<xalloc.h>): Include
20345         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
20346         (verify): New macro.  Use it to verify that EXCLUDE macros do not
20347         collide with FNM macros.
20348         (struct patopts): New struct.
20349         (struct exclude): Use it, as exclude patterns now come with options.
20350         (new_exclude): Support above changes.
20351         (new_exclude, add_exclude_file):
20352         Initial size must now be a power of two to simplify overflow checking.
20353         (free_exclude, fnmatch_no_wildcards): New function.
20354         (excluded_filename): No longer requires options arg, as the options
20355         are determined by add_exclude.  Now returns bool, not int.
20356         (excluded_filename, add_exclude):
20357         Add support for the fancy new exclusion options.
20358         (add_exclude, add_exclude_file): Now takes int options arg.
20359         Check for arithmetic overflow when computing sizes.
20360         (add_exclude_file): xrealloc might modify errno, so don't
20361         realloc until after errno might be used.
20362
20363         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
20364         New macros.
20365         (free_exclude): New decl.
20366         (add_exclude, add_exclude_file): Now takes int options arg.
20367         (excluded_filename): No longer requires options arg, as the options
20368         are determined by add_exclude.  Now returns bool, not int.
20369
20370 2001-08-30  Paul Eggert  <eggert@twinsun.com>
20371
20372         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
20373
20374 2001-08-27  Jim Meyering  <meyering@lucent.com>
20375
20376         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
20377
20378         * lib/version-etc.c (N_): Remove definition.
20379         Revert most of last change.
20380         Instead, simply don't mark the `Copyright...' string for translation.
20381         Based on advice from Paul Eggert.
20382
20383         * lib/strtoxmax.c: Tweak comment.
20384
20385 2001-08-26  Jim Meyering  <meyering@lucent.com>
20386
20387         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
20388
20389         * m4/xstrtoimax.m4: New file.
20390         * m4/xstrtoumax.m4: Add comments explaining why we
20391         AC_REPLACE_FUNCS(strtol).
20392
20393 2001-08-26  Jim Meyering  <meyering@lucent.com>
20394
20395         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
20396         of copyright with `%s' so translators don't get an untranslated
20397         message in 2002.
20398         (COPYRIGHT_YEAR): Define.
20399         (version_etc): Use fprintf rather than fputs.
20400         Suggestion from Ulrich Drepper.
20401
20402         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
20403
20404         * lib/strtoll.c: New file, from GNU libc.
20405         * lib/xstrtoimax.c: New file.
20406
20407         * lib/xstrtol.h: Add xstrtoimax.
20408         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
20409         * lib/strtoimax.c: New file.  Likewise, but first define
20410         STRTOUXMAX_SIGNED.
20411
20412         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
20413         ...
20414         * lib/strtoxmax.c: ... then renamed to this.
20415
20416 2001-08-18  Paul Eggert  <eggert@twinsun.com>
20417
20418         * m4/inttypes.m4: Add AC_PREREQ(2.13).
20419         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
20420         (jm_AC_TYPE_INTMAX_T): New macro.
20421         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
20422
20423         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
20424
20425         * m4/longlong.m4: Renamed from ulonglong.m4.
20426         * m4/inttypes.m4: Renamed from inttypes_h.m4.
20427         * m4/uintmax_t.m4: Removed.
20428
20429 2001-08-13  Paul Eggert  <eggert@twinsun.com>
20430
20431         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
20432         Port to Solaris 8, where 'sed' requires a space after the 'r'
20433         command, and where sh dislikes "$/".  Clean up the spacing a bit.
20434         Redirect output to $tmp just once.
20435
20436 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
20437
20438         * lib/addext.c (<errno.h>): Include.
20439         (errno): Declare if not defined.
20440         (addext): Work correctly when pathconf returns -1 and leaves
20441         errno alone because there is no limit.  Also, work even if
20442         pathconf returns a value greater than SIZE_MAX.
20443
20444 2001-08-12  Jim Meyering  <meyering@lucent.com>
20445
20446         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
20447         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
20448         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
20449         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
20450         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
20451         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
20452         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
20453         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
20454         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
20455         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
20456         utime.m4, utimes.m4, xstrtoumax.m4:
20457         Quote the first argument in each use of AC_DEFUN.
20458
20459 2001-08-12  Jim Meyering  <meyering@lucent.com>
20460
20461         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
20462         Simply `return getcwd (NULL, 0);'.
20463         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
20464         Use 1300 as initial value for length, not PATH_MAX.
20465
20466         * lib/pathmax.h: Clean up cpp syntax.
20467
20468 2001-08-12  Jim Meyering  <meyering@lucent.com>
20469
20470         * lib/gettimeofday.c: New file.
20471         * lib/gtod.h: New file.
20472         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
20473
20474 2001-08-05  Jim Meyering  <meyering@lucent.com>
20475
20476         * m4/jm-macros.m4: Require autoconf-2.52.
20477
20478 2001-08-04  Jim Meyering  <meyering@lucent.com>
20479
20480         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
20481         stmt, to get in sync with glibc.
20482
20483 2001-08-03  Paul Eggert  <eggert@twinsun.com>
20484
20485         The following changes are from gettext 0.10.39 as maintained by
20486         Bruno Haible.
20487
20488         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
20489         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
20490         with inverted sense.  All uses changed.
20491
20492         * lib/mbswidth.c: Don't include <limits.h>.
20493         Include <stdlib.h> and <string.h> unconditionally.
20494         (iswcntrl, mbsinit, ISCNTRL): New macros.
20495         (mbsnwidth): Use K&R style function declarations.
20496         Don't bother checking for MB_LEN_MAX == 1, since the compiler
20497         can optimize it when MB_CUR_MAX == 1.
20498         The width of control characters is zero, not 1.
20499
20500 2001-08-03  Paul Eggert  <eggert@twinsun.com>
20501
20502         The following changes are from gettext 0.10.39 as maintained by
20503         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
20504
20505         * m4/codeset.m4: Upgrade to serial AM1.
20506         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
20507         all uses changed.  Quote first arg of AC_DEFUN.
20508         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
20509
20510         * m4/iconv.m4: Upgrade to serial AM2.
20511         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
20512         Add --with-libconv-prefix.
20513         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
20514         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
20515         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
20516         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
20517         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
20518
20519         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
20520         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
20521         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
20522         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
20523         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
20524         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
20525         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
20526         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
20527         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
20528
20529         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
20530         string.h any more.
20531
20532         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
20533         not the default value.
20534
20535         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
20536         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
20537         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
20538         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
20539         Also check for iswcntrl, used for wcwidth fallback.
20540         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
20541         to Autoconf 2.13.
20542
20543 2001-08-03  Jim Meyering  <meyering@lucent.com>
20544
20545         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
20546         as it was in the original.  Reported by Paul Eggert.
20547
20548 2001-07-16  Jim Meyering  <meyering@lucent.com>
20549
20550         * m4/gettimeofday.m4: New file.
20551         Prompted by a report from Bernhard Baehr.
20552
20553 2001-07-15  Jim Meyering  <meyering@lucent.com>
20554
20555         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
20556         stuff. Now it's in ../Makefile.cfg.
20557
20558 2001-07-15  Jim Meyering  <meyering@lucent.com>
20559
20560         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
20561         (BUILT_SOURCES): Add unlocked-io.h.
20562         (io_functions): Define.
20563         (unlocked-io.h): New rule.
20564         (DISTCLEANFILES): Add unlocked-io.h.
20565         (all-local): Depend on unlocked-io.h, to ensure it is created.
20566
20567         * lib/unlocked-io.hin: New file
20568
20569         * lib/regex.c: Update from glibc.
20570
20571 2001-07-05  Jim Meyering  <meyering@lucent.com>
20572
20573         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
20574         recommendation.
20575         (libfetish_a_SOURCES): Put all .h files here instead.
20576         Remove a thus-exposed (better checks in automake) duplicate and
20577         two unnecessary .h files.
20578
20579 2001-07-04  Jim Meyering  <meyering@lucent.com>
20580
20581         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
20582         that generates jm-glibc-io.m4 so that it doesn't trigger any make
20583         distcheck failure.
20584
20585 2001-07-02  Jim Meyering  <meyering@lucent.com>
20586
20587         The following changes were prompted by suggestions from Bruno Haible.
20588
20589         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
20590         is now generated.
20591         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
20592         definition of EXTRA_DIST.
20593         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
20594         ensure that the generated file is created/updated whenever the list
20595         of $(unlocked_functions) is changed.
20596         (jm-glibc-io.m4): New rule.
20597         (unlocked-io.h): New rule -- currently unused.
20598
20599 2001-06-24  Jim Meyering  <meyering@lucent.com>
20600
20601         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
20602         unmatched right bracket, rather than kludging it with an extra,
20603         falsely-matching quote in a comment.  Patch by Akim Demaille.
20604
20605 2001-06-11  Jim Meyering  <meyering@lucent.com>
20606
20607         * lib/regex.c: Update from GNU libc.
20608
20609 2001-05-27  Jim Meyering  <meyering@lucent.com>
20610
20611         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
20612         Check for ut_type in struct utmp.
20613
20614 2001-05-27  Jim Meyering  <meyering@lucent.com>
20615
20616         * lib/readutmp.h (UT_TYPE): Define.
20617
20618 2001-05-24  Jim Meyering  <meyering@lucent.com>
20619
20620         * lib/argmatch.c: Include "quote.h".
20621         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
20622         quote function.  Reported by Göran Uddeborg.
20623
20624 2001-05-22  Jim Meyering  <meyering@lucent.com>
20625
20626         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
20627         now that we use the package-supplied version unconditionally.
20628         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
20629
20630 2001-05-21  Jim Meyering  <meyering@lucent.com>
20631
20632         * m4/regex.m4: Change a couple backticks to single quotes to avoid
20633         shell syntax errors.
20634
20635 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
20636
20637         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
20638
20639 2001-05-20  Paul Eggert  <eggert@twinsun.com>
20640
20641         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
20642         Don't bother to check library strftime, since
20643         we'll be using our own my_strftime function anyway.
20644         Define my_strftime instead of strftime.
20645
20646 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
20647
20648         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
20649         which is not yet declared.
20650
20651 2001-05-15  Jim Meyering  <meyering@lucent.com>
20652
20653         * m4/regex.m4: Use proper quoting so brackets appear in the test
20654         program.
20655         Reported by, and with help from, Bruno Haible.
20656
20657 2001-05-13  Jim Meyering  <meyering@lucent.com>
20658
20659         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
20660         undefined.
20661
20662 2001-05-11  Paul Eggert  <eggert@twinsun.com>
20663
20664         dirname code cleanup.  base_name now behaves more compatibly
20665         with POSIX basename when given file names that have trailing
20666         slashes, and similarly for dir_name.  Add new primitives
20667         base_len and dir_len.  Put the directory-name-related decls
20668         into dirname.h.
20669
20670         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
20671         * lib/backupfile.c (base_name): Likewise.
20672         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
20673         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
20674         * lib/makepath.c (strip_trailing_slashes): Likewise.
20675         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
20676         ISSLASH): Likewise.
20677         * lib/rename.c (strip_trailing_slashes): Likewise.
20678         * lib/same.c (base_name): Likewise.
20679         * lib/stripslash.c (ISSLASH): Likewise.
20680
20681         * lib/addext.c: Include <dirname.h> after size_t is defined.
20682         * lib/backupfile.c: Likewise.
20683
20684         * lib/addext.c (addext): Use base_len to trim redundant
20685         trailing slashes instead of doing it ourselves.
20686         But do not trim the last slash if it is not redundant.
20687
20688         * lib/backupfile.c (find_backup_file_name,
20689         max_backup_version): Use base_len instead of rolling it ourselves.
20690         Handle the case of "" and (on DOS) "C:" correctly.
20691
20692         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
20693         needed. Include <string.h>, <dirname.h>.
20694         (base_name): Allow file names ending in slashes, other than names
20695         that are all slashes.  In this case, return the basename followed
20696         by the slashes.  This is more general, and can be used in places
20697         where the original base_name purposely had an assertion failure.
20698         (base_len): New function.
20699
20700         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
20701         Do not include <assert.h>; no longer needed.
20702         Include xalloc.h.
20703         (memrchr): Remove decl.
20704         (dir_name_r): Remove.
20705         (dir_len): Renamed from dirlen.  All callers changed.
20706         Rewrite in terms of base_name, for simplicity and consistency.
20707         (dir_name): Never return NULL.  All callers changed.
20708         Do not include <stdlib.h> in test program; no longer needed.
20709         return 0; is fine for test program.
20710
20711         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
20712         New macros.
20713         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
20714
20715         * lib/path-concat.c (path_concat): Use base_len to compute
20716         base length, not strlen; this means we cannot rely on memcpy
20717         to null-terminate.
20718
20719         * lib/same.c (STREQ): Remove.
20720         (same_name): Handle the case where the basename ends in trailing '/'.
20721
20722         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
20723         a slash was stripped.  Do not strip the last slash after a
20724         file system prefix.
20725
20726 2001-05-11  Paul Eggert  <eggert@twinsun.com>
20727
20728         * lib/Makefile.am (libfetish_a_SOURCES):
20729         Add strftime.c, since we now compile it on all hosts.
20730
20731         * lib/strftime.c (my_strftime):
20732         Define to nstrftime if emacs, but only if my_strftime is not defined.
20733         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
20734         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
20735         Add one more extra argument: a nanoseconds value.
20736         All uses changed.
20737         (ns): New macro.
20738         (my_strftime function): Add %N format.
20739         (emacs_strftimeu): Renamed from emacs_strftime,
20740         with extra ut argument.
20741
20742 2001-05-09  Paul Eggert  <eggert@twinsun.com>
20743
20744         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
20745
20746 2001-04-21  Jim Meyering  <meyering@lucent.com>
20747
20748         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
20749         doesn't interfere.
20750
20751 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
20752
20753         * m4/ftruncate.m4: Check for chsize.
20754         Link with ftruncate.o unconditionally if ftruncate is missing.
20755         This was required when cross-compiling to i586-mingw32msvc.
20756
20757 2001-04-08  Jim Meyering  <meyering@lucent.com>
20758
20759         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
20760         recomputed; that's necessary when the offset spans a DST transition.
20761         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
20762
20763 2001-04-02  Jim Meyering  <meyering@lucent.com>
20764
20765         * lib/regex.h, regex.c: Update from GNU libc.
20766
20767 2001-03-24  Jim Meyering  <meyering@lucent.com>
20768
20769         * m4/jm-macros.m4: Require autoconf-2.49d.
20770
20771 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
20772
20773         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
20774
20775 2001-03-19  Paul Eggert  <eggert@twinsun.com>
20776
20777         * lib/version-etc.c (version_etc_copyright): Update to 2001.
20778
20779 2001-03-17  Jim Meyering  <meyering@lucent.com>
20780
20781         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
20782         now that the version in autoconf is equivalent.
20783         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
20784
20785         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
20786         Suggestion from Akim Demaille.
20787
20788         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
20789         (jm_PREREQ_TEMPNAME): New function.
20790
20791 2001-03-16  Paul Eggert  <eggert@twinsun.com>
20792
20793         * lib/tempname.c (uint64_t): Define to uintmax_t if
20794         not defined, and if UINT64_MAX is not defined.
20795         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
20796         Reported by John David Anglin.
20797
20798 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
20799
20800         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
20801         resolve alias if codeset is empty.
20802         * lib/config.charset (BeOS): Use wildcard syntax.
20803
20804 2001-03-13  Jim Meyering  <meyering@lucent.com>
20805
20806         * lib/path-concat.c (path_concat)
20807         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
20808         concatenating e.g., `C:' and `foo'.
20809         From Bruno Haible.
20810
20811 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
20812
20813         * lib/localcharset.c (locale_charset): Don't use
20814         setlocale(LC_CTYPE,NULL). Don't return NULL.
20815         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
20816
20817 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
20818
20819         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
20820         support for DOS/DJGPP.
20821
20822 2001-03-01  Paul Eggert  <eggert@twinsun.com>
20823
20824         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
20825         lacks mkstemp.  Compile our own tempname.c if we compile our own
20826         mkstemp.c, as mkstemp relies on tempname.
20827
20828 2001-03-01  Jim Meyering  <meyering@lucent.com>
20829
20830         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
20831         AH_VERBATIM really does output its argument verbatim.
20832
20833 2001-02-28  Paul Eggert  <eggert@twinsun.com>
20834
20835         * lib/Makefile.am (libfetish_a_SOURCES):
20836         Add dup-safer.c, fopen-safer.c.
20837         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
20838
20839         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h,
20840         lib/unistd-safer.h: New files.
20841
20842 2001-02-25  Paul Eggert  <eggert@twinsun.com>
20843
20844         The mkstemp replacement is taken from glibc 2.2.2, with some
20845         portability fixes for use outside glibc, as follows:
20846
20847         * lib/tempname.c (struct_stat64): New macro.
20848         (direxists, __gen_tempname): Use it.
20849         This avoids a portability problem with Solaris 8.
20850
20851         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
20852         (<stddef.h>, <stdint.h>, <string.h>):
20853         Include only if STDC_HEADERS || _LIBC.
20854         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
20855         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
20856         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
20857         (__set_errno): Define this macro if <errno.h> doesn't.
20858         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
20859         Define these macros if <stdio.h> doesn't.
20860         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
20861         Define these macros if <sys/stat.h>
20862         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
20863         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
20864         __xstat64): Define if not _LIBC.
20865         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
20866         (__gen_tempname): Invoke gettimeofday only if
20867         HAVE_GETTIMEOFDAY || _LIBC;
20868         otherwise, fall back on plain "time".
20869         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
20870
20871         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
20872
20873         * lib/mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
20874
20875 2001-02-18  Paul Eggert  <eggert@twinsun.com>
20876
20877         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
20878
20879 2001-02-17  Paul Eggert  <eggert@twinsun.com>
20880
20881         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
20882         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
20883         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
20884         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
20885
20886 2001-02-17  Paul Eggert  <eggert@twinsun.com>
20887
20888         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
20889         Remove workaround macros for hosts that have mbrtowc but not
20890         mbstate_t, as we now insist on proper declarations for both
20891         before using mbrtowc.
20892
20893 2001-02-17  Jim Meyering  <meyering@lucent.com>
20894
20895         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
20896         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
20897         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
20898         UnixWare 7.1.1.
20899
20900         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
20901         rather than AC_CACHE_VAL.
20902
20903 2001-02-17  Jim Meyering  <meyering@lucent.com>
20904
20905         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
20906         around included file name.
20907
20908         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
20909
20910         * lib/strftime.c: Update from GNU libc (the only changes were to
20911         comments).
20912
20913 2001-02-17  Jim Meyering  <meyering@lucent.com>
20914
20915         * lib/regex.c: Update from libc.
20916
20917 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
20918
20919         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
20920         clash.
20921
20922 2001-02-16  Paul Eggert  <eggert@twinsun.com>
20923
20924         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
20925         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
20926         Reported by Mark Hounschell via Paul Eggert.
20927
20928 2001-02-07  Jim Meyering  <meyering@lucent.com>
20929
20930         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
20931
20932 2001-02-05  Jim Meyering  <meyering@lucent.com>
20933
20934         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
20935         it includes the patch required for `large file' support with at least
20936         HP-UX's 10.20 /bin/cc.
20937
20938 2001-02-03  Jim Meyering  <meyering@lucent.com>
20939
20940         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
20941         AS_IF, now that it works once again (mysteriously).
20942         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
20943
20944 2001-01-30  Jim Meyering  <meyering@lucent.com>
20945
20946         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
20947         * m4/chown.m4: Rename conftestchown to conftest.chown.
20948         * m4/rename.m4: s/conftestdir/conftest.d1/ and
20949         s/conftestdir2/conftest.d2/.
20950         * m4/utimes.m4: s/conftestdata/conftest.data/
20951         Inspired by Pavel Roskin's change in autoconf.
20952
20953 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
20954
20955         * lib/config.charset: Update for FreeBSD 4.2.
20956
20957 2001-01-27  Jim Meyering  <meyering@lucent.com>
20958
20959         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
20960         a use of AS_IF.
20961         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
20962
20963 2001-01-26  Jim Meyering  <meyering@lucent.com>
20964
20965         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
20966         quotearg.c includes it.
20967
20968 2001-01-26  Jim Meyering  <meyering@lucent.com>
20969
20970         * lib/quotearg.c: Include stddef.h.
20971         * lib/quote.c: Include stddef.h.
20972         Reported by Axel Kittenberger.
20973
20974         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
20975         line in double quotes so that it evokes a better diagnostic.
20976         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
20977         Reported by Axel Kittenberger.
20978
20979 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
20980
20981         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
20982         as if it was a `charset'.
20983
20984 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
20985
20986         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
20987         has const.
20988
20989 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
20990
20991         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
20992         to avoid a warning.  Add back 'const' to inptr.
20993
20994 2001-01-20  Jim Meyering  <meyering@lucent.com>
20995
20996         Be sure that headers are checked before used in code compiled
20997         for the type checks.
20998         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
20999         In place of that, invoke jm_CHECK_ALL_TYPES.
21000         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
21001         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
21002         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
21003         The check for ssize_t was mistakenly run before the test for unistd.h.
21004
21005         The configure-time check for stdbool.h was missing.
21006         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
21007         (jm_PREREQ_HASH): New function.
21008
21009 2001-01-17  Jim Meyering  <meyering@lucent.com>
21010
21011         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
21012         for autoconf-2.49c.
21013         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
21014
21015 2001-01-16  Jim Meyering  <meyering@lucent.com>
21016
21017         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
21018         From Bruno Haible.
21019
21020 2001-01-14  Jim Meyering  <meyering@lucent.com>
21021
21022         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
21023         foo and bar.  Create conftestdir/ in the script, not in the C code.
21024         Remove directories in the script, not in the C code.
21025         Remove conftestdir{,2} before trying to create the directory.
21026         Make the entire configure script fail if the mkdir fails.
21027
21028 2001-01-14  Jim Meyering  <meyering@lucent.com>
21029
21030         * lib/rename.c: New file.  From Volker Borchert.
21031         Include stdlib.h, string.h or strings.h, and xalloc.h.
21032         Use strip_trailing_slashes rather than open-coding it.
21033
21034 2001-01-03  Paul Eggert  <eggert@twinsun.com>
21035
21036         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
21037
21038 2001-01-03  Jim Meyering  <meyering@lucent.com>
21039
21040         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
21041         of local `inptr' to avoid warning with some system declarations of
21042         iconv.
21043
21044 2001-01-02  Volker Borchert  <bt@teknon.de>
21045
21046         * m4/rename.m4: New file.
21047         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
21048
21049 2001-01-01  Jim Meyering  <meyering@lucent.com>
21050
21051         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
21052         even on systems with utmpx.h.  It's necessary for the declaration of
21053         utmp's ut_user member.  Reported by Andreas Jaeger.
21054
21055         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
21056         available. They are required for the declarations of getgrgid and
21057         getpwuid resp.
21058         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
21059         Reported by Andreas Jaeger.
21060
21061 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
21062
21063         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
21064         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
21065         so `make install' also works in VPATH builds.
21066
21067 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
21068
21069         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
21070         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
21071         can be used in subdirectories.
21072
21073 2000-12-29  Paul Eggert  <eggert@twinsun.com>
21074
21075         * lib/modechange.c: Do not assume that mode_t uses the
21076         traditional octal encoding.  E.g. "chmod 1 FOO" should set
21077         the other-execute bit of FOO even if S_IXOTH != 1.
21078
21079         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
21080         WOTH, XOTH, ALLM): New macros.
21081         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
21082          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
21083         Use them.
21084         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
21085         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
21086         (mode_compile):
21087         No need to use uintmax_t; unsigned long is long enough.
21088         Don't bother to get suffix since we don't use it.
21089
21090 2000-12-26  Jim Meyering  <meyering@lucent.com>
21091
21092         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
21093         better with autoheader.
21094
21095 2000-12-24  Jim Meyering  <meyering@lucent.com>
21096
21097         * lib/hash.c (is_prime): Return explicit boolean values.
21098         (hash_get_first): Return NULL to appease Irix5.6's 89.
21099         Reported by Nelson Beebe.
21100
21101 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
21102
21103         * lib/localcharset.c (locale_charset): Add support for Win32.
21104
21105 2000-12-18  Paul Eggert  <eggert@twinsun.com>
21106
21107         * lib/physmem.h, physmem.c: New files.
21108
21109         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
21110         (noinst_HEADERS): Add physmem.h.
21111
21112         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
21113         't' for compatibility with Solaris 8 sort.
21114
21115 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
21116
21117         * lib/config.charset: Add support for BeOS.
21118
21119 2000-12-17  Jim Meyering  <meyering@lucent.com>
21120
21121         * m4/dos.m4 (jm_AC_DOS): New file and macro.
21122         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
21123
21124 2000-12-16  Jim Meyering  <meyering@lucent.com>
21125
21126         This bug had a serious impact on chown: `chown N:M FILE' (for integer
21127         N and M) would have treated it like `chown N:N FILE'.
21128
21129         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
21130
21131 2000-12-16  Jim Meyering  <meyering@lucent.com>
21132
21133         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
21134         SHELLS_FILE to a file name that's useful on djgpp systems.
21135         Include stdlib.h.
21136         (ADDITIONAL_DEFAULT_SHELLS): Define.
21137         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
21138         Based mostly on a patch from Prashant TR.
21139
21140 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
21141
21142         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
21143         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
21144         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
21145
21146 2000-12-08  Andreas Schwab  <schwab@suse.de>
21147
21148         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
21149         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
21150
21151 2000-12-07  Jim Meyering  <meyering@lucent.com>
21152
21153         * lib/stripslash.c (ISSLASH): Define.
21154         (strip_trailing_slashes): Use ISSLASH rather than comparing against
21155         `/'.
21156         From Prashant TR.
21157
21158         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
21159         (dir_name_r): Declare this function as static.
21160         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
21161         manifest itself on a name containing a mix of slashes and
21162         backslashes.
21163         Make this function work with names starting with a DOS-style
21164         drive letter and colon prefix.
21165         (dir_name): Append `.' if necessary.
21166         Based mostly on patches from Prashant TR and Eli Zaretskii.
21167
21168         * lib/dirname.h (dir_name_r): Remove prototype.
21169
21170 2000-12-06  Paul Eggert  <eggert@twinsun.com>
21171
21172         * m4/off_t-format.m4: Remove this file.
21173         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
21174
21175 2000-12-06  Jim Meyering  <meyering@lucent.com>
21176
21177         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
21178         replacement strtoull, we may well need the replacement strtoul, too.
21179         Check for declarations of strtoul and strtoull.
21180         Check for strtol.  Mainly as a cue to cause automake to include
21181         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
21182         Check for limits.h -- strtol.c needs it.
21183
21184 2000-12-05  Jim Meyering  <meyering@lucent.com>
21185
21186         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
21187
21188 2000-12-04  Jim Meyering  <meyering@lucent.com>
21189
21190         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
21191         Also include memory.h, stdlib.h, unistd.h if appropriate.
21192         Reported by Andreas Jaeger (conflicting declaration of malloc).
21193
21194 2000-12-02  Jim Meyering  <meyering@lucent.com>
21195
21196         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
21197         * m4/jm-macros.m4 (jm_MACROS): require it.
21198
21199 2000-12-02  Jim Meyering  <meyering@lucent.com>
21200
21201         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
21202
21203 2000-12-01  Paul Eggert  <eggert@twinsun.com>
21204
21205         * lib/memrchr.c: Include <config.h> before any system include file.
21206
21207 2000-11-30  Jim Meyering  <meyering@lucent.com>
21208
21209         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
21210
21211 2000-11-30  Jim Meyering  <meyering@lucent.com>
21212
21213         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
21214
21215 2000-11-29  Paul Eggert  <eggert@twinsun.com>
21216
21217         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
21218
21219 2000-11-26  Jim Meyering  <meyering@lucent.com>
21220
21221         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
21222
21223 2000-11-22  Paul Eggert  <eggert@twinsun.com>
21224
21225         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
21226         size of (size_t) -1; it's not portable.
21227
21228 2000-11-17  Jim Meyering  <meyering@lucent.com>
21229
21230         * lib/strstr.c: Update from GNU libc.
21231
21232 2000-11-17  Akim Demaille  <akim@epita.fr>
21233
21234         * lib/obstack.h: Formatting changes.
21235         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
21236         prevent type checking.
21237         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
21238         cast the value to (void *): assigning a `foo *' to a `void *'
21239         variable is valid.
21240         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
21241
21242 2000-11-16  Jim Meyering  <meyering@lucent.com>
21243
21244         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
21245
21246 2000-11-11  Jim Meyering  <meyering@lucent.com>
21247
21248         * lib/error.c: Add a couple #includes, merging from GNU libc version.
21249
21250 2000-11-10  Jim Meyering  <meyering@lucent.com>
21251
21252         * lib/obstack.h: Update from GNU libc.
21253         * lib/obstack.c: Likewise.
21254
21255 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
21256
21257         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
21258
21259 2000-11-06  Paul Eggert  <eggert@twinsun.com>
21260
21261         * lib/getusershell.c (setusershell): Use rewind rather than
21262         fseek/fseeko, to avoid configuration hassles with fseeko.
21263         Don't bother opening SHELLS_FILE if shellstream is NULL;
21264         it's not necessary.
21265
21266 2000-11-05  Jim Meyering  <meyering@lucent.com>
21267
21268         * lib/makepath.h (make_dir): Declare.
21269         * lib/makepath.c (make_dir): Remove `static' attribute.
21270         Tweak a comment.
21271
21272 2000-11-04  Jim Meyering  <meyering@lucent.com>
21273
21274         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
21275
21276 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
21277
21278         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
21279         last one in a bucket, advance to the next bucket.
21280
21281 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
21282
21283         * lib/fnmatch.c: Do not comment out all the code if we are using
21284         the GNU C library, because in some cases we are replacing buggy
21285         code in the GNU C library itself.
21286
21287 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
21288
21289         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
21290         (regex_compile): Catch bogus \(\1\).
21291
21292 2000-10-30  Paul Eggert  <eggert@twinsun.com>
21293
21294         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
21295         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
21296         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
21297
21298 2000-10-30  Paul Eggert  <eggert@twinsun.com>
21299
21300         * lib/error.h, getline.h, modechange.h:
21301         Remove "2000" from Copyright line, as the file hasn't been
21302         changed this year other than in the copyright notice.
21303
21304         * lib/xalloc.h: Add "2000" to Copyright line, as this file
21305         was changed this year.
21306
21307 2000-10-29  Jim Meyering  <meyering@lucent.com>
21308
21309         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
21310         renaming.
21311         * m4/ls-mntd-fs.m4: Likewise
21312
21313 2000-10-29  Jim Meyering  <meyering@lucent.com>
21314
21315         * lib/xstat.in: Fix grammar in comment.
21316
21317 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
21318
21319         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
21320         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
21321         doesn't define __restrict_arr.
21322
21323 2000-10-28  Jim Meyering  <meyering@lucent.com>
21324
21325         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
21326         (jm_PREREQ_MEMCHR): New function.
21327
21328 2000-10-28  Jim Meyering  <meyering@lucent.com>
21329
21330         * lib/memchr.c: Update from libc.
21331         Adjust for portability:
21332         [HAVE_STDLIB_H]: Include stdlib.h.
21333         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
21334         Undef __memchr, too.
21335         [!weak_alias]: Define __memchr to memchr.
21336
21337         * lib/regex.c: Update from libc.
21338         * lib/regex.h: Likewise.
21339         * lib/getopt1.c: Likewise.
21340         * lib/memcmp.c: Likewise.
21341
21342         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
21343         Avoid using fseek, when possible -- it's broken by design.
21344         Patch by Ulrich Drepper.
21345
21346 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
21347
21348         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
21349         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
21350         Giving in to popular pressure to shut up the compiler with casts.
21351
21352 2000-10-26  Jim Meyering  <meyering@lucent.com>
21353
21354         * lib/strftime.c: Update from libc.
21355
21356 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
21357
21358         * regex.c: More `unsigned char' -> `re_char' changes.
21359         Also change several `int' into `re_wchar_t'.
21360         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
21361         (PUSH_FAILURE_POINTER): Don't cast any more.
21362         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
21363         We want GCC to complain, since this piece of code makes
21364         re_match non-reentrant, which *should* be fixed.
21365         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
21366         (EXTEND_BUFFER): Use RETALLOC.
21367         (SET_LIST_BIT): Don't cast.
21368         (re_wchar_t): New type.
21369         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
21370         that those two functions will always properly return.
21371         (IMMEDIATE_QUIT_CHECK): Cast to void.
21372         (analyse_first): Use recursion rather than an explicit stack.
21373         (re_compile_fastmap): Can't fail anymore.
21374         (re_search_2): Don't check re_compile_fastmap for failure.
21375         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
21376         Now also sets the new value (passed in a new argument).
21377         (re_match_2_internal): Use it.
21378         Also, use a new var `reg' of type size_t when looping through regs
21379         rather than reuse the inappropriate `mcnt'.
21380
21381 2000-10-25  Jim Meyering  <meyering@lucent.com>
21382
21383         * lib/obstack.c: Update from libc.
21384
21385 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
21386
21387         * regex.c (regex_compile): Change the way of handling a range from
21388         a char less than 256 to a char not less than 256.
21389
21390 2000-10-24  Andrew Innes  <andrewi@gnu.org>
21391
21392         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
21393         NT-Emacs only.
21394         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
21395         so that re_search functions only quit when callers expect them to.
21396
21397 2000-10-23  Jim Meyering  <meyering@lucent.com>
21398
21399         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
21400         wrong.  That set_locale call must not have any side effects.
21401         From Paul Eggert.
21402
21403 2000-10-22  Jim Meyering  <meyering@lucent.com>
21404
21405         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
21406         [CYCLIC]: Remove now-unused definition.
21407
21408         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
21409         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
21410         Suggestion from Ulrich Drepper.
21411
21412 2000-10-21  Jim Meyering  <meyering@lucent.com>
21413
21414         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
21415         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
21416         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
21417
21418 2000-10-21  Jim Meyering  <meyering@lucent.com>
21419
21420         * lib/dirname.c (memrchr): Declare if necessary.
21421         (dir_name): Remove the restriction that there be no
21422         trailing slashes.  Now, this code skips past them, effectively
21423         ignoring them.
21424         [TEST_DIRNAME] (main): New unit tests.
21425
21426         * lib/memrchr.c: New file from GNU libc.
21427         Undef __memrchr, too.
21428         [!weak_alias]: Define __memrchr to memrchr.
21429         Guard weak_alias use with `#ifdef weak_alias'.
21430
21431 2000-10-21  Jim Meyering  <meyering@lucent.com>
21432
21433         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
21434         (dir_name): Use dir_name_r.
21435         * lib/dirname.h (dir_name_r): Declare it.
21436
21437 2000-10-17  Jim Meyering  <meyering@lucent.com>
21438
21439         * lib/quote.h (PARAMS): Define and use.
21440         Reported by Akim Demaille.
21441
21442         * lib/getopt.c: Update from libc.
21443
21444 2000-10-16  Jim Meyering  <meyering@lucent.com>
21445
21446         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
21447         setlocale.
21448         From Jan Fedak.
21449
21450 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
21451
21452         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
21453
21454 2000-09-25  Jim Meyering  <meyering@lucent.com>
21455
21456         * lib/md5.h (rol): Define (from GnuPG).
21457
21458         * lib/sha.c: Give credit (GnuPG) where due.
21459         (M): Use rol rather than open-coding it.
21460         Add a FIXME comment.
21461
21462 2000-09-21  Jim Meyering  <meyering@lucent.com>
21463
21464         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
21465         Reported by Michael Stone.
21466
21467 2000-09-20  Jim Meyering  <meyering@lucent.com>
21468
21469         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
21470         (noinst_HEADERS): Add sha.h.
21471         Based on code from Scott G. Miller and from GnuPG.
21472
21473 2000-09-18  Jim Meyering  <meyering@lucent.com>
21474
21475         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
21476         LIBS. Otherwise, everyone ends up linking with -lelf for some
21477         configurations.
21478         Reported by Mike Stone.
21479
21480 2000-09-15  Jim Meyering  <meyering@lucent.com>
21481
21482         * lib/regex.c: Update from libc.
21483
21484 2000-09-10  Jim Meyering  <meyering@lucent.com>
21485
21486         * lib/getopt.c (_getopt_internal): Update from glibc.
21487
21488 2000-09-09  Jim Meyering  <meyering@lucent.com>
21489
21490         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
21491         think it should be used as a general replacement for isascii.
21492         * lib/fnmatch.c: Likewise.
21493         * lib/mbswidth.c: Likewise
21494         * lib/regex.c: Likewise.
21495
21496         Don't use atoi.
21497         * lib/userspec.c: Include sys/param.h and limits.h.
21498         Include xstrtol.h.
21499         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
21500         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
21501         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
21502         UID, GID.  Check range.
21503
21504 2000-09-06  Jim Meyering  <meyering@lucent.com>
21505
21506         * lib/getopt.c (_getopt_internal): Update from glibc.
21507
21508 2000-08-30  Jim Meyering  <meyering@lucent.com>
21509
21510         * lib/strftime.c: Merge in changes from GNU libc.
21511
21512 2000-08-26  Jim Meyering  <meyering@lucent.com>
21513
21514         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
21515         * m4/fpending.m4: New file.
21516
21517 2000-08-26  Jim Meyering  <meyering@lucent.com>
21518
21519         * lib/closeout.c: Include "__fpending.h".
21520         (close_stdout_status): Return right away if there's nothing to flush.
21521
21522         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
21523         * lib/__fpending.c: New file.
21524         * lib/__fpending.h: New file.
21525
21526 2000-08-20  Jim Meyering  <meyering@lucent.com>
21527
21528         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
21529         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
21530         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
21531
21532 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
21533
21534         Improve fileutils installation on systems where running
21535         programs (like install) can't be unlinked.
21536         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
21537         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
21538
21539 2000-08-07  Paul Eggert  <eggert@twinsun.com>
21540
21541         Standardize on "memory exhausted" instead of "Memory exhausted"
21542         or "virtual memory exhausted".
21543         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
21544         "virtual memory exhausted".
21545         * lib/same.c (same_name): Invoke xalloc_die instead of printing
21546         our own message.
21547         * lib/userspec.c (parse_user_spec): Likewise.
21548         * lib/bumpalloc.h: comment fix
21549         * lib/same.c, userspec.c: Include xalloc.h.
21550
21551         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
21552         not char *const and pointing to a constant array.
21553         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
21554         (xrealloc): Comment fix.
21555
21556         * lib/userspec.c (parse_user_spec):
21557         Don't translate a message until just before returning,
21558         to avoid unnecessary translation.
21559
21560 2000-08-07  Jim Meyering  <meyering@lucent.com>
21561
21562         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
21563         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
21564         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
21565         getgroups.c, gethostname.c, getopt.h, group-member.c,
21566         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
21567         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
21568         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
21569         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
21570         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
21571         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
21572         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
21573         yesno.c: Back out Copyright date changes for each file with no change
21574         this year.  This eases coordination with other programs using the same
21575         source code modules.  From Paul Eggert.
21576
21577 2000-08-06  Paul Eggert  <eggert@twinsun.com>
21578
21579         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
21580         not char, for compatibility with glibc 2.1.3 strftime.c.
21581
21582 2000-08-03  Greg McGary  <greg@mcgary.org>
21583
21584         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
21585         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
21586         (EXTEND_BUFFER): Use them.
21587
21588 2000-08-01  Jim Meyering  <meyering@lucent.com>
21589
21590         * lib/dirname.c (ISSLASH): Define.
21591         (BACKSLASH_IS_PATH_SEPARATOR): Define.
21592         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
21593         both `\' and `/' may be use as path separators.
21594         Based on a patch from Prashant TR.
21595
21596 2000-07-31  Paul Eggert  <eggert@twinsun.com>
21597
21598         * lib/quotearg.c (quotearg_n_options): Don't make the initial
21599         slot vector a constant, since it might get modified.
21600
21601 2000-07-31  Jim Meyering  <meyering@lucent.com>
21602
21603         * lib/xmalloc.c: Use `virtual memory exhausted', not
21604         `Memory exhausted'.
21605         * lib/obstack.c (print_and_abort): Likewise.
21606
21607 2000-07-30  Paul Eggert  <eggert@twinsun.com>
21608
21609         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
21610         buffer, so that the caller can always quote one small
21611         component of a "memory exhausted" message in slot 0.
21612         From a suggestion by Jim Meyering.
21613
21614 2000-07-30  Jim Meyering  <meyering@lucent.com>
21615
21616         * lib/makepath.c (make_path): Quote the other instance, too.
21617
21618         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
21619         (STATIC_BUF_SIZE): Define.
21620         (quotearg_n_options): Use only statically allocated storage when
21621         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
21622         than STATIC_BUF_SIZE.
21623
21624 2000-07-29  Jim Meyering  <meyering@lucent.com>
21625
21626         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
21627         * lib/dirname.c (dir_name): Likewise.
21628
21629         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
21630         `/'.
21631
21632         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
21633         (dir_name): Assert that there are no trailing slashes.
21634
21635 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
21636
21637         * lib/mbswidth.h (mbswidth): Add a flags argument.
21638         (mbswidth): New declaration.
21639         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
21640         * lib/mbswidth.c (mbswidth): Add a flags argument.
21641         (mbsnwidth): New function.
21642
21643 2000-07-24  Jim Meyering  <meyering@lucent.com>
21644
21645         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
21646
21647 2000-07-23  Paul Eggert  <eggert@twinsun.com>
21648
21649         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
21650
21651 2000-07-23  Paul Eggert  <eggert@twinsun.com>
21652
21653         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
21654         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
21655         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
21656         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
21657         invoke multibyte primitives.
21658
21659 2000-07-23  Paul Eggert  <eggert@twinsun.com>
21660
21661         * lib/quotearg.c:
21662         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
21663         so that mbstate_t is always defined.
21664
21665         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
21666         be 1 in at least one GCC installation, and this configuration
21667         error is likely to be common.  Ignoring MB_LEN_MAX hurts
21668         performance on hosts that have mbrtowc but have only unibyte
21669         locales, but I assume these hosts are rare.
21670
21671 2000-07-23  Paul Eggert  <eggert@twinsun.com>
21672
21673         * lib/mbswidth.c (_XOPEN_SOURCE):
21674         Don't define; this causes problems on Solaris 7.
21675         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
21676
21677 2000-07-23  Jim Meyering  <meyering@lucent.com>
21678
21679         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
21680         too: getgrgid, getpwuid, getuid.
21681
21682 2000-07-23  Jim Meyering  <meyering@lucent.com>
21683
21684         * lib/basename.c (base_name): Add an assertion.
21685
21686 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
21687
21688         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
21689         shadow its mbsinit function.
21690
21691 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
21692
21693         * lib/mbswidth.h: New file.
21694         * lib/mbswidth.c: New file.
21695         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
21696         (noinst_HEADERS): Add mbswidth.h.
21697
21698 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
21699
21700         * lib/config.charset: Add support for FreeBSD. Improve support for
21701         HP-UX and IRIX 6.
21702
21703 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
21704
21705         * m4/mbswidth.m4: New file.
21706         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
21707
21708 2000-07-15  Jim Meyering  <meyering@lucent.com>
21709
21710         * lib/makepath.c: Include quote.h.
21711         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
21712         corresponding argument in a `quote (...)' call.
21713         Give better diagnostics.
21714
21715         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
21716         (noinst_HEADERS): Add quote.h.
21717
21718         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
21719         from tar's src/misc.c.
21720         * lib/quote.h: New file.  Prototypes for same.
21721
21722 2000-07-14  Paul Eggert  <eggert@twinsun.com>
21723
21724         From a suggestion by Bruno Haible.
21725         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
21726         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
21727         to decide whether to define the BeOS workaround macro;
21728         this adjusts to the change to AC_MBSTATE_T.
21729
21730 2000-07-14  Jim Meyering  <meyering@lucent.com>
21731
21732         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
21733         jm_AC_TYPE_UINTMAX_T.
21734
21735 2000-07-13  Paul Eggert  <eggert@twinsun.com>
21736
21737         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
21738
21739         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
21740         quotearg_buffer_restyled): Add support for
21741         clocale_quoting_style.  Undo previous change to
21742         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
21743         and "{RIGHT QUOTATION MARK}" msgids.
21744
21745 2000-07-10  Paul Eggert  <eggert@twinsun.com>
21746
21747         From a suggestion by Bruno Haible.
21748         * m4/mbstate_t.m4 (AC_MBSTATE_T):
21749         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
21750         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
21751         and mbstate_t, to a single-part test that simply defines mbstate_t.
21752         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
21753         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
21754
21755 2000-07-10  Jim Meyering  <meyering@lucent.com>
21756
21757         * m4/strerror_r.m4: Mirror the correction made in autoconf.
21758
21759         * m4/gnu-source.m4: Output to confdefs.h directly.
21760         Suggestion from Akim Demaille.
21761
21762 2000-07-09  Paul Eggert  <eggert@twinsun.com>
21763
21764         The old behavior of quoting `like this' doesn't look good with
21765         newer, ISO-style fonts.  See:
21766         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
21767
21768         Instead, quote "like this" by default.  Let the translator
21769         tailor the locale-specific quoting behavior by providing
21770         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
21771
21772         * lib/quotearg.c (N_): New macro.
21773         (gettext_default): New function.
21774         (quotearg_buffer_restyled): Use
21775         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
21776         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
21777
21778 2000-07-09  Jim Meyering  <meyering@lucent.com>
21779
21780         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
21781         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
21782
21783         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
21784         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
21785
21786 2000-07-09  Jim Meyering  <meyering@lucent.com>
21787
21788         * lib/Most files: Update copyright dates to include 2000.
21789
21790 2000-07-08  Jim Meyering  <meyering@lucent.com>
21791
21792         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
21793         if not defined.
21794         (xgethostname): Remove now-unnecessary #ifdef.
21795         Move declaration of `err' into loop where it's used.
21796
21797 2000-07-05  Paul Eggert  <eggert@twinsun.com>
21798         and Bruno Haible  <haible@clisp.cons.org>
21799
21800         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
21801         only if the test for an object-type mbstate_t fails.  This
21802         prevents us from mistakenly reporting that mbstate_t is a
21803         system object type after we "#define mbstate_t int" to work
21804         around its lack.
21805
21806 2000-07-05  Paul Eggert  <eggert@twinsun.com>
21807         and Bruno Haible  <haible@clisp.cons.org>
21808
21809         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
21810
21811 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
21812
21813         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
21814         to strerror_r.
21815         Include <ctype.h> for use of isalpha.
21816
21817 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
21818
21819         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
21820         by allocating a larger buffer. Test the gethostname return value for
21821         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
21822         returns an error and ENAMETOOLONG isn't defined.
21823
21824 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
21825
21826         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
21827         dimension.
21828
21829 2000-07-04  Jim Meyering  <meyering@lucent.com>
21830
21831         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
21832         of the deprecated AC_CHECKING.
21833
21834 2000-07-04  Jim Meyering  <meyering@lucent.com>
21835
21836         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
21837         Reported by Bruno Haible.
21838
21839 2000-07-04  Jim Meyering  <meyering@lucent.com>
21840
21841         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
21842         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
21843         lacks mbrtowc.
21844
21845 2000-07-03  Paul Eggert  <eggert@twinsun.com>
21846
21847         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
21848         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
21849
21850 2000-07-03  Paul Eggert  <eggert@twinsun.com>
21851         and Bruno Haible  <haible@clisp.cons.org>
21852
21853         * lib/quotearg.c (mbrtowc):
21854         Assign to *pwc, and return 1 only if result is nonzero.
21855         (iswprint): Use ISPRINT when substituting our own mbrtowc.
21856
21857 2000-07-03  Jim Meyering  <meyering@lucent.com>
21858
21859         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
21860
21861 2000-07-03  Jim Meyering  <meyering@lucent.com>
21862
21863         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
21864         This is necessary to get a definition of e.g., UTMP_FILE on
21865         HP-UX 10.20.
21866         From Bob Proulx.
21867
21868 2000-07-02  Jim Meyering  <meyering@lucent.com>
21869
21870         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
21871
21872         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
21873         AC_LIBOBJ(function_name).
21874         * m4/chown.m4: Likewise.
21875         * m4/fnmatch.m4: Likewise.
21876         * m4/ftruncate.m4: Likewise.
21877         * m4/getgroups.m4: Likewise.
21878         * m4/getline.m4: Likewise.
21879         * m4/group-member.m4: Likewise.
21880         * m4/jm-macros.m4: Likewise.
21881         * m4/lstat.m4: Likewise.
21882         * m4/malloc.m4: Likewise.
21883         * m4/memcmp.m4: Likewise.
21884         * m4/nanosleep.m4: Likewise.
21885         * m4/putenv.m4: Likewise.
21886         * m4/realloc.m4: Likewise.
21887         * m4/regex.m4: Likewise.
21888         * m4/stat.m4: Likewise.
21889         * m4/strftime.m4: Likewise.
21890
21891 2000-07-02  Jim Meyering  <meyering@lucent.com>
21892
21893         * lib/quotearg.c (mbstate_t): Don't define here.
21894
21895 2000-07-02  Jim Meyering  <meyering@lucent.com>
21896
21897         * lib/nanosleep.c (SIGCONT): Define if not already defined.
21898
21899 2000-07-01  Jim Meyering  <meyering@lucent.com>
21900
21901         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
21902
21903 2000-07-01  Jim Meyering  <meyering@lucent.com>
21904
21905         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
21906         problem.
21907
21908 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
21909
21910         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
21911         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
21912
21913 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
21914
21915         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
21916         per change in ../m4/ls-mntd-fs.m4.
21917         (read_filesystem_list): Ignore symbolic links.
21918
21919 2000-06-29  Jim Meyering  <meyering@lucent.com>
21920
21921         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
21922         for declaration of strcmp.
21923
21924         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
21925
21926         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
21927         Avoid warning by casting result to `char *' to remove `const'.
21928
21929 2000-06-28  Jim Meyering  <meyering@lucent.com>
21930
21931         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
21932         included by quotearg.c, for which we perform this test.  From
21933         Bruno Haible.
21934
21935 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
21936
21937         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
21938         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
21939         <utmpx.h> exists, put readutmp.o into LIBOBJS.
21940
21941 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
21942
21943         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
21944
21945 2000-06-26  Paul Eggert  <eggert@twinsun.com>
21946
21947         savedir now sets errno on failure and invokes xmalloc to get memory.
21948         Fix a couple of other minor bugs while we're at it.
21949
21950         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
21951         (NAMLEN): Remove macro.
21952         (malloc, realloc): Remove decls.
21953         (stpcpy): Likewise.
21954         ("xalloc.h"): Include.
21955         (NAME_SIZE_DEFAULT): New macro.
21956         (savedir): Use xmalloc / xrealloc to allocate memory.
21957         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
21958         Skip "" directory entries.
21959         Use strlen to calculate directory entry length, since the old method
21960         is rarely used these days and isn't worth supporting.
21961         Don't use a pointer after freeing it.
21962         Check for integer overflow when calculating allocation size.
21963         Use memcpy to copy entries, instead of stpcpy.
21964         Set errno properly when returning NULL.
21965         Check for readdir error.
21966
21967 2000-06-26  Jim Meyering  <meyering@lucent.com>
21968
21969         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
21970
21971 2000-06-25  Jim Meyering  <meyering@lucent.com>
21972
21973         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
21974         Linux header bug when _XOPEN_SOURCE is defined to 500.
21975
21976 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
21977
21978         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
21979         deficiency.
21980
21981 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
21982
21983         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
21984         Include xalloc.h.
21985         Don't include <stdlib.h>.  Don't declare malloc, realloc.
21986
21987 2000-06-24  Jim Meyering  <meyering@lucent.com>
21988
21989         * m4/strerror_r.m4: Revive this file -- to try out an experimental
21990         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
21991         for which strerror does return char*, but which lacks a conveniently
21992         accessible declaration of the function.  If the compile-test says
21993         strerror_r doesn't work, then resort to a `run'-test that works on
21994         BeOS and segfaults on DEC Unix.
21995
21996 2000-06-24  Jim Meyering  <meyering@lucent.com>
21997
21998         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
21999
22000 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22001
22002         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
22003         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
22004
22005 2000-06-23  Paul Eggert  <eggert@twinsun.com>
22006
22007         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
22008         (mbrtowc, mbstate_t): Define substitutes if
22009         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
22010         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
22011         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
22012
22013 2000-06-23  Jim Meyering  <meyering@lucent.com>
22014
22015         * m4/afs.m4: Add missing AC_MSG_RESULT.
22016         Reported by Bruno Haible.
22017
22018         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
22019         Suggestion from Bruno Haible.
22020
22021 2000-06-23  Jim Meyering  <meyering@lucent.com>
22022
22023         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
22024
22025 2000-06-21  Jim Meyering  <meyering@lucent.com>
22026
22027         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
22028
22029 2000-06-21  Jim Meyering  <meyering@lucent.com>
22030
22031         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
22032         (noinst_HEADERS): Add getstr.h.
22033
22034         * lib/getline.c (getstr): Move into a separate file.
22035         * lib/getstr.c (getstr): New file, extracted from getline.c, with
22036         the following changes: new parameter, delim2; both delim[12]
22037         parameters have type `int', not `char'.  The latter would lose
22038         with 8-bit delimiters.
22039         * lib/getstr.h: New file.
22040
22041 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22042
22043         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
22044         than 1024, return a memory chunk of least possible size, instead
22045         of size PATH_MAX + 2. In the loop, increment the size proportionally.
22046         Use free/xmalloc instead of xrealloc to avoid copying for very long
22047         paths.
22048
22049 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22050
22051         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
22052         the empty string.
22053
22054 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
22055
22056         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
22057         address, not strdup.  Include <stdlib.h> and don't declare free().
22058
22059 2000-06-19  Jim Meyering  <meyering@lucent.com>
22060
22061         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
22062
22063 2000-06-18  Jim Meyering  <meyering@lucent.com>
22064
22065         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
22066
22067         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
22068         `checking whether...' message to be consistent with that of the
22069         lstat test.
22070
22071 2000-06-18  Jim Meyering  <meyering@lucent.com>
22072
22073         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
22074         Besides, these days every porting target provides a mkdir function.
22075
22076         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
22077         needed. (this snippet comes from src/system.h).
22078
22079 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
22080
22081         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
22082
22083 2000-06-15  Paul Eggert  <eggert@twinsun.com>
22084
22085         * lib/human.c (adjust_value): New function.
22086         (human_readable_inexact): Apply rounding style even when
22087         printing approximate values.
22088
22089 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22090
22091         * lib/human.c (human_readable_inexact): Allow an input block
22092         size that is not a multiple of the output block size, and vice versa.
22093         Reported by Piergiorgio Sartor.
22094
22095 2000-06-14  Paul Eggert  <eggert@twinsun.com>
22096
22097         * lib/getdate.y (get_date): Apply relative times after time
22098         zone indicator, not before.  Reported by Todd A. Jacobs.
22099
22100 2000-06-13  Jim Meyering  <meyering@lucent.com>
22101
22102         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
22103
22104         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
22105
22106 2000-06-12  Paul Eggert  <eggert@twinsun.com>
22107
22108         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
22109
22110 2000-06-12  Jim Meyering  <meyering@lucent.com>
22111
22112         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
22113         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
22114         optional argument.
22115         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
22116         the optional argument, `lib'.
22117
22118 2000-06-08  Jim Meyering  <meyering@lucent.com>
22119
22120         * m4/largefile.m4: Remove file (now that it's part of autoconf).
22121
22122 2000-06-04  Paul Eggert  <eggert@twinsun.com>
22123
22124         Rewrite largefile configuration so that we don't need to run
22125         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
22126         AC_CANONICAL_HOST in configure.in -- jmm]
22127
22128         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
22129         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
22130         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
22131         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
22132         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
22133         All uses changed.
22134         Instead of inspecting the output of getconf, try to compile the
22135         test program without and with the macro definition.
22136         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
22137         for getconf.  Instead, check for the needed flags by compiling
22138         test programs.
22139
22140 2000-06-04  Paul Eggert  <eggert@twinsun.com>
22141
22142         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
22143
22144 2000-06-04  Jim Meyering  <meyering@lucent.com>
22145
22146         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
22147         SunOS 4.1.4 for which gid_t is an unsigned type.
22148
22149 2000-06-03  Jim Meyering  <meyering@lucent.com>
22150
22151         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
22152         now that autoconf requires that.
22153
22154         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
22155         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
22156         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
22157
22158 2000-06-03  Jim Meyering  <meyering@lucent.com>
22159
22160         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
22161
22162 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
22163
22164         * m4/glibc21.m4: New file.
22165         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
22166
22167 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
22168
22169         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
22170         newer, don't install charset.alias.
22171         * lib/config.charset: Change the Linux/glibc rules so they become empty
22172         on glibc-2.1 or newer.
22173
22174 2000-06-02  Jim Meyering  <meyering@lucent.com>
22175
22176         * lib/mountlist.c: Back out last change.  Instead, do this...
22177         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
22178         me_dummy member using the same `ignore'-testing code.
22179         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
22180         fs_type strings.
22181         From Mark D. Roth.
22182
22183 2000-05-29  Jim Meyering  <meyering@lucent.com>
22184
22185         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
22186         mounts with the `ignore' attribute.  Based on a patch from
22187         Mark D. Roth.
22188
22189 2000-05-28  Jim Meyering  <meyering@lucent.com>
22190
22191         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
22192         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22193         * m4/stat.m4: Likewise.
22194         * m4/lstat.m4: Likewise.
22195         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
22196
22197         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
22198         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
22199
22200 2000-05-26  Jim Meyering  <meyering@lucent.com>
22201
22202         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
22203
22204 2000-05-24  Jim Meyering  <meyering@lucent.com>
22205
22206         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
22207         autoconf requires that.
22208         * m4/lib-check.m4: Likewise.
22209         * m4/jm-macros.m4: Likewise.
22210         * m4/strftime.m4: Likewise.
22211
22212         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
22213         AC_CHECK_DECLS, now that autoconf requires that.
22214
22215 2000-05-22  Jim Meyering  <meyering@lucent.com>
22216
22217         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
22218         * m4/lstat.m4: Likewise.
22219
22220 2000-05-22  Jim Meyering  <meyering@lucent.com>
22221
22222         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
22223
22224 2000-05-20  Jim Meyering  <meyering@lucent.com>
22225
22226         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
22227         (jm_PREREQ): Use it.
22228
22229 2000-05-18  Jim Meyering  <meyering@lucent.com>
22230
22231         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
22232         back, too, since it may have been modified by allocate_entry.
22233         (hash_delete): Rewrite to use neither the assignment operator
22234         nor the comma operator in an if-expression.
22235
22236 2000-05-15  Paul Eggert  <eggert@twinsun.com>
22237
22238         * lib/closeout.c:
22239         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
22240         Remove; no longer needed.
22241         "quotearg.h": Add include.
22242         (file_name): Do not bother to explicitly initialize to NULL; it's less
22243         efficient on some hosts.
22244         (close_stdout_status): Remove test as to whether stdout was already
22245         closed; it breaks for the case "echo x | sort >&-".
22246         Quote file name colons.
22247         Do not assume that _("write error") lacks format strings.
22248
22249 2000-05-15  Jim Meyering  <meyering@lucent.com>
22250
22251         * lib/version-etc.c (version_etc_copyright): Update the copyright
22252         string used in all --version output.
22253
22254 2000-05-14  Jim Meyering  <meyering@lucent.com>
22255
22256         * lib/closeout.c (close_stdout_set_file_name): New function.
22257         (close_stdout_status): Use new file-scoped global.
22258         Return right away if fstat says the stdout file descriptor is invalid.
22259         * lib/closeout.h (close_stdout_set_file_name): Declare.
22260
22261 2000-05-10  Jim Meyering  <meyering@lucent.com>
22262
22263         * lib/closeout.c [default_exit_status]: New file-scoped variable.
22264         (close_stdout_set_status): New function.
22265         * lib/closeout.h (close_stdout_set_status): Declare.
22266
22267 2000-05-09  Jim Meyering  <meyering@lucent.com>
22268
22269         * m4/gettext.m4: Rename this...
22270         * m4/libintl.m4: ...to this.
22271
22272 2000-05-08  Jim Meyering  <meyering@lucent.com>
22273
22274         * lib/long-options.c: Don't include closeout.h.
22275         (parse_long_options): Don't call close_stdout for --version.
22276
22277 2000-05-06  Paul Eggert  <eggert@twinsun.com>
22278
22279         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
22280         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
22281         2.1.3 bug.  This avoids a clash when files like regex.c define
22282         _GNU_SOURCE.
22283
22284 2000-05-06  Jim Meyering  <meyering@lucent.com>
22285
22286         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
22287         (AC_REPLACE_FUNCS): Add strnlen.
22288
22289         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
22290         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
22291
22292         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
22293         AC_SEARCH_LIBS call for nanosleep.
22294         (LIB_NANOSLEEP): Set and AC_SUBST.
22295
22296 2000-05-06  Jim Meyering  <meyering@lucent.com>
22297
22298         * lib/strnlen.c: Undefine __strnlen and strnlen.
22299         [!weak_alias]: Define __strnlen to strnlen.
22300
22301         * lib/atexit.c: New file, from libiberty.
22302
22303 2000-05-06  Jim Meyering  <meyering@lucent.com>
22304
22305         * lib/closeout.c (close_stdout_status): Also check for errors on the
22306         stderr stream.
22307
22308 2000-05-05  Jim Meyering  <meyering@lucent.com>
22309
22310         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
22311         AC_SEARCH_LIBS call for clock_gettime.
22312         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
22313
22314         * m4/search-libs.m4: Update from autoconf.
22315
22316         su doesn't work on Solaris 2.6.
22317         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
22318         <shadow.h>.  Reported by Dragos Harabor.
22319
22320 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
22321
22322         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
22323         memcpy instead of xmalloc, xrealloc, path_concat.
22324         (locale_charset): Treat empty environment variables as absent.
22325         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
22326
22327 2000-05-04  Jim Meyering  <meyering@lucent.com>
22328
22329         * lib/getopt.c: Update from glibc.
22330         * lib/obstack.c: Likewise.
22331         * lib/obstack.h: Likewise.
22332         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
22333         file
22334
22335         * lib/regex.h: Likewise.
22336         * lib/strndup.c: Likewise.
22337         * lib/strnlen.c: New file, from glibc.
22338
22339 2000-05-03  Jim Meyering  <meyering@lucent.com>
22340
22341         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
22342
22343 2000-05-02  Paul Eggert  <eggert@twinsun.com>
22344
22345         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
22346         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
22347         compile-time test, rather than inspecting host and OS, to
22348         decide whether to define _LARGEFILE_SOURCE.
22349
22350 2000-05-01  Jim Meyering  <meyering@lucent.com>
22351
22352         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
22353
22354         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
22355         Based on a patch from Bruno Haible.
22356
22357 2000-05-01  Jim Meyering  <meyering@lucent.com>
22358
22359         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
22360
22361 2000-04-29  Jim Meyering  <meyering@lucent.com>
22362
22363         * lib/path-concat.c: Declare strdup only if it's not defined.
22364         * lib/canon-host.c: Likewise.
22365
22366 2000-04-28  Jim Meyering  <meyering@lucent.com>
22367
22368         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
22369         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
22370         is included first, then limits.h is included by locale.h by libintl.h.
22371         From John David Anglin.
22372
22373 2000-04-25  Jim Meyering  <meyering@lucent.com>
22374
22375         * lib/makepath.c (S_IRWXUGO): Define.
22376         (make_path): Always perform explicit chmod if MODE specifies any
22377         of the `special' permission bits.  Prompted by a bug report against
22378         install from Mate Wierdl and Joost van Baal.
22379
22380 2000-04-18  Jim Meyering  <meyering@lucent.com>
22381
22382         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
22383         (jm_PREREQ): Use it.
22384
22385 2000-04-18  Jim Meyering  <meyering@lucent.com>
22386
22387         * lib/README: New file.
22388
22389         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
22390         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
22391
22392 2000-04-17  Jim Meyering  <meyering@lucent.com>
22393
22394         Get it right :-)
22395         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
22396         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
22397         Suggestion from Akim Demaille.
22398
22399 2000-04-17  Jim Meyering  <meyering@lucent.com>
22400
22401         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
22402         the definition of it to rpl_strftime also defined-away the system's
22403         declaration.
22404
22405 2000-04-15  Jim Meyering  <meyering@lucent.com>
22406
22407         Use `C' to denote so-called `contiguous' files, the same way
22408         that tar does.
22409         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
22410         (ftypelet): Use S_ISCTG.
22411         From Michael Deutschmann.
22412
22413 2000-04-14  Jim Meyering  <meyering@lucent.com>
22414
22415         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
22416         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
22417         clobbered.
22418
22419 2000-04-14  Jim Meyering  <meyering@lucent.com>
22420
22421         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
22422
22423 2000-04-13  Jim Meyering  <meyering@lucent.com>
22424
22425         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
22426         AH_VERBATIM to insert required #ifndef into config.h.in.
22427         Suggestion from Akim Demaille.
22428
22429 2000-04-12  Jim Meyering  <meyering@lucent.com>
22430
22431         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
22432         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
22433         Christian Krackowizer.
22434
22435         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
22436         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
22437         (AC_SYS_LARGEFILE): Require.
22438         (AM_C_PROTOTYPES): Require.
22439
22440 2000-04-08  Jim Meyering  <meyering@lucent.com>
22441
22442         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
22443         names don't conflict.  Reported by Eli Zaretskii.
22444
22445 2000-04-07  Jim Meyering  <meyering@lucent.com>
22446
22447         * lib/putenv.c: Move inclusion of errno.h so it follows that of
22448         sys/types.h, to work around system header problems on AIX 3.2.5.
22449         From Bruno Haible.
22450
22451 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
22452
22453         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
22454         bug.  Deal with the different error behavior of Irix iconv.
22455
22456 2000-04-05  Paul Eggert  <eggert@twinsun.com>
22457
22458         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
22459         IRIX if the installer said otherwise.
22460
22461 2000-04-05  Jim Meyering  <meyering@lucent.com>
22462
22463         Portability tweaks required for ultrix4.3.
22464         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
22465         (jm_CHECK_DECLS): Add getutent to the list of functions.
22466         (_jm_DECL_HEADERS): Add utmpx.h.
22467         From John David Anglin.
22468
22469         * m4/strftime.m4: Back out the 2000-04-02 change.
22470         Instead of that change, simply undefine putenv in the test program.
22471
22472 2000-04-05  Jim Meyering  <meyering@lucent.com>
22473
22474         Portability tweaks required for ultrix4.3.
22475         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
22476         getutent.
22477         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
22478         * lib/canon-host.c: Declare strdup.
22479         * lib/path-concat.c: Likewise.
22480         From John David Anglin.
22481
22482 2000-04-04  Jim Meyering  <meyering@lucent.com>
22483
22484         Be more DOS 8.3-friendly.
22485         * lib/ref-add.sin: Renamed from ref-add.sed.in.
22486         * lib/ref-del.sin: Renamed from ref-del.sed.in.
22487         * lib/Makefile.am: Reflect renaming.
22488         Reported by Eli Zaretskii.
22489
22490         Use a temporary file name that won't clash with `charset.alias'
22491         in the DOS 8.3 name space.
22492         * lib/Makefile.am (charset_tmp): Define.
22493         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
22494         (uninstall-local): Likewise.
22495         Reported by Eli Zaretskii.
22496
22497 2000-04-03  Jim Meyering  <meyering@lucent.com>
22498
22499         * m4/gettext.m4: Fix typo in comment.
22500
22501         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
22502         textutils/configure.in).  Suggestion from Paul Eggert.
22503         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
22504
22505 2000-04-02  Paul Eggert  <eggert@twinsun.com>
22506
22507         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
22508         variable in the shell rather than using putenv, which isn't
22509         portable.  This avoids the configure-time inter-test dependency
22510         on the potentially-renamed putenv function.
22511
22512 2000-03-30  Paul Eggert  <eggert@twinsun.com>
22513
22514         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
22515         before checking struct stat.st_blksize, so that
22516         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
22517
22518 2000-03-29  Paul Eggert  <eggert@twinsun.com>
22519
22520         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
22521         since strftime.c uses HAVE_STRFTIME to decide whether to use
22522         the underlying strftime.
22523
22524 2000-03-29  Paul Eggert  <eggert@twinsun.com>
22525
22526         * lib/time/strftime.c (my_strftime): Make sure we call the system
22527         strftime, not ourselves, when invoking the underlying strftime.
22528
22529 2000-03-24  Jim Meyering  <meyering@lucent.com>
22530
22531         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
22532         (charset_alias): Define.
22533         (install-exec-local): Factor out common code.
22534         (uninstall-local): Split lines longer than 80.
22535         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
22536         (SUFFIXES): Define.
22537         (.sed.in.sed): New rule.  Don't redirect directly to $@.
22538         (CLEANFILES): Add ref-add.sed and ref-del.sed.
22539
22540 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
22541
22542         * lib/config.charset: Output a line containing "Packages using this
22543         file".
22544         * lib/ref-add.sed.in, ref-del.sed.in: New files.
22545         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
22546         ref-del.sed): New rules.
22547
22548 2000-03-17  Jim Meyering  <meyering@lucent.com>
22549
22550         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
22551         Otherwise, include <strings.h>
22552
22553 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
22554
22555         * lib/unicodeio.c (utf8_wctomb): New function.
22556         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
22557         format instead of in UCS-4 with platform dependent endianness.
22558
22559 2000-03-10  Jim Meyering  <meyering@lucent.com>
22560
22561         * m4/lib-check.m4: Look for getspnam in -lgen, too.
22562         From Marco Franzen.
22563
22564 2000-03-07  Paul Eggert  <eggert@twinsun.com>
22565
22566         * lib/savedir.c (savedir): Work even if directory size is
22567         negative; this can happen with some screwy NFS configurations.
22568
22569 2000-03-06  Jim Meyering  <meyering@lucent.com>
22570
22571         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
22572         if it's NULL (because we ran out of memory).  From Bruno Haible.
22573
22574 2000-03-05  Jim Meyering  <meyering@lucent.com>
22575
22576         * lib/localcharset.c ("path-concat.h"): Include.
22577         (get_charset_aliases): Use path_concat instead of ANSI string
22578         concatenation.
22579
22580         * lib/unicodeio.h (PARAMS): Define.
22581         Use it to guard prototype.
22582
22583 2000-03-04  Jim Meyering  <meyering@lucent.com>
22584
22585         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
22586         for lib/localcharset.c.
22587
22588 2000-03-04  Jim Meyering  <meyering@lucent.com>
22589
22590         * lib/Makefile.am (install-exec-local): Create $(libdir) before
22591         installing into it.
22592         (uninstall-local): Uncomment this rule so `make distcheck' works
22593         once again.
22594
22595         * lib/unicodeio.c (<errno.h>): Include it.
22596         (errno): Declare if not defined.
22597
22598         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
22599
22600         * lib/config.charset: New version, incorporating remarks from a linux
22601         i18n mailing list.  From Bruno Haible.
22602
22603 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
22604
22605         * m4/codeset.m4: New file.
22606         * m4/iconv.m4: New file.
22607         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
22608
22609 2000-03-03  Jim Meyering  <meyering@lucent.com>
22610
22611         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
22612
22613 2000-03-02  Jim Meyering  <meyering@lucent.com>
22614
22615         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
22616         the messages come out on separate lines.
22617
22618         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
22619         rather than jm_CHECK_DECLARATIONS.
22620         * m4/decl.m4: Remove now-unused file.
22621
22622         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
22623         geteuid.
22624
22625 2000-03-02  Jim Meyering  <meyering@lucent.com>
22626
22627         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
22628
22629 2000-03-01  Jim Meyering  <meyering@lucent.com>
22630
22631         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
22632         * lib/unicodeio.c: Likewise.
22633
22634 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
22635
22636         * lib/config.charset: New file.
22637         * lib/localcharset.c: New file.
22638         * lib/unicodeio.h, unicodeio.c: New files.
22639         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
22640         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
22641         (noinst_HEADERS): Add unicodeio.h.
22642         (all-local, install-exec-local, charset.alias): New targets.
22643
22644 2000-02-28  Paul Eggert  <eggert@twinsun.com>
22645
22646         * lib/quotearg.c (ALERT_CHAR): New macro.
22647         (quotearg_buffer_restyled): Use it.
22648
22649 2000-02-27  Jim Meyering  <meyering@lucent.com>
22650
22651         * m4/check-decl.m4: Add getenv to the list.
22652
22653 2000-02-27  Jim Meyering  <meyering@lucent.com>
22654
22655         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
22656         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
22657
22658         * lib/backupfile.c: Guard inclusion of stdlib.h with
22659         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
22660         Declare malloc if needed.
22661
22662         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
22663         `#ifndef HAVE_DECL..'
22664         now that autoconf always defines the HAVE_DECL_ symbols.
22665         * lib/human.c: Likewise.
22666         * lib/same.c: Likewise.
22667         * lib/strtoumax.c: Likewise.
22668
22669         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
22670         declaration check was not run.
22671         * lib/hash.c: Likewise.
22672         * lib/human.c: Likewise.
22673         * lib/same.c: Likewise.
22674         * lib/strtoumax.c: Likewise.
22675
22676         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
22677         `.', then first look up the entire `.'-containing string as a login
22678         name.
22679
22680 2000-02-23  Jim Meyering  <meyering@lucent.com>
22681
22682         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
22683         in place of my hack.
22684
22685 2000-02-18  Paul Eggert  <eggert@twinsun.com>
22686
22687         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
22688         (textint): New typedef.
22689         (parser_control): Member year changed from int to textint.
22690         All uses changed.
22691         (YYSTYPE): Removed; replaced by %union with int and textint members.
22692         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
22693         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
22694         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
22695         (tSNUMBER, tUNUMBER): Now of type <textintval>.
22696         (date, number, to_year): Use width of number in digits, not its value,
22697         to determine whether it's a 2-digit year, or a 2-digit time.
22698         (yylex): Store number of digits of numeric tokens.
22699         Reported by John Kendall.
22700
22701         (parser_control): Changed from struct parser_control to typedef (for
22702         consistency).  All uses changed.
22703
22704         (tID): Removed; not used.
22705         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
22706
22707 2000-02-14  Paul Eggert  <eggert@twinsun.com>
22708
22709         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
22710         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
22711
22712 2000-02-12  Jim Meyering  <meyering@lucent.com>
22713
22714         * lib/userspec.c (ISDIGIT): Define it.
22715         (isdigit): Remove definition.
22716         (is_number): Use ISDIGIT, not isdigit.
22717         <libintl.h>: Include.
22718         (_ and N_): Define.
22719         (parse_user_spec): Mark translatable strings.
22720
22721 2000-02-10  Jim Meyering  <meyering@lucent.com>
22722
22723         With these changes, nanosleep.[ch] are finally enough like the other
22724         lib/* replacement files to compile on a few more losing systems.
22725
22726         * lib/nanosleep.h: Don't include config.h.
22727         Remove prototype from declaration of nanosleep.
22728         (PARAMS): Remove now-unneeded definition.
22729         * lib/nanosleep.c: #undef nanosleep.
22730         (rpl_nanosleep): Rename from nanosleep.
22731
22732 2000-02-10  Jim Meyering  <meyering@lucent.com>
22733
22734         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
22735         gnu_nanosleep to rpl_nanosleep.
22736
22737 2000-02-09  Jim Meyering  <meyering@lucent.com>
22738
22739         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
22740         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
22741
22742 2000-02-08  Akim Demaille  <akim@epita.fr>
22743
22744         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
22745         `[' and `]' and remove uses of `changequote'.
22746         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
22747         (AC_SYS_LARGEFILE): Likewise.
22748         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
22749         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
22750         of changequote.
22751         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
22752         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
22753         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
22754         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
22755
22756 2000-02-05  Jim Meyering  <meyering@lucent.com>
22757
22758         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
22759         Remove explicit use of AC_HEADER_TIME.  It is required by
22760         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
22761         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
22762         in autoconf whereby the expansion of the latter ended up preceding
22763         the expansion of its prerequisite, AC_HEADER_TIME.
22764         Reported by Volker Borchert.
22765
22766 2000-02-03  Jim Meyering  <meyering@lucent.com>
22767
22768         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
22769
22770 2000-02-03  Jim Meyering  <meyering@lucent.com>
22771
22772         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
22773         rather than with `#if HAVE_UTMPNAME'.
22774
22775 2000-02-02  Jim Meyering  <meyering@lucent.com>
22776
22777         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
22778         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
22779         Reported by Eli Zaretskii.
22780
22781 2000-02-01  Jim Meyering  <meyering@lucent.com>
22782
22783         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
22784
22785 2000-01-31  Jim Meyering  <meyering@lucent.com>
22786
22787         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
22788         functions.  Add the time.h and sys/time.h headers along with the
22789         AC_REQUIRE'ment of AC_HEADER_TIME.
22790
22791 2000-01-31  Jim Meyering  <meyering@lucent.com>
22792
22793         * lib/nanosleep.h (nanosleep): Guard declaration with
22794         `#if ! HAVE_DECL_NANOSLEEP'.
22795         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
22796         the declaration in that vendor's sys/timers.h.
22797         Reported by Christian Krackowizer.
22798
22799         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
22800         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
22801         (ISPRINT): Likewise.
22802         Reported by Tom Tromey.
22803
22804 2000-01-30  Jim Meyering  <meyering@lucent.com>
22805
22806         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
22807
22808         * m4/prereq.m4 (utmp_includes): Define.
22809         Check for ut_user and ut_name members in both struct utmpx
22810         and struct utmp.
22811
22812 2000-01-30  Jim Meyering  <meyering@lucent.com>
22813
22814         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
22815         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
22816         header files where only utmpx.ut_user is declared.
22817
22818         * lib/readutmp.h (UT_USER): Define.
22819
22820 2000-01-29  Jim Meyering  <meyering@lucent.com>
22821
22822         * m4/lib-check.m4: New file containing library-related checks from
22823         fileutils and sh-utils (textutils had none).
22824
22825 2000-01-28  Jim Meyering  <meyering@lucent.com>
22826
22827         * m4/perl.m4: Change format of warning message to look more like that
22828         from the missing script.  Suggestion from François Pinard.
22829
22830 2000-01-25  Jim Meyering  <meyering@lucent.com>
22831
22832         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
22833         well as time.h in the compile check.
22834         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
22835         Fix typo in cross-compiling case: s/yes/no/.
22836
22837 2000-01-23  Jim Meyering  <meyering@lucent.com>
22838
22839         * m4/jm-macros.m4: Move df-related tests here from
22840         fileutils/configure.in
22841
22842         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
22843         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
22844
22845         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
22846         s/space/ac_fsusage_space/.
22847         (jm_FILE_SYSTEM_USAGE): Take two parameters.
22848
22849         * m4/ftruncate.m4: New file (derived from part of
22850         fileutils/configure.in).
22851         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
22852         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
22853
22854         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
22855         AC_SUBST these here, rather than just in sh-util/configure.in, so
22856         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
22857         all the same.
22858         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
22859         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
22860         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
22861         (AC_SUBST(POW_LIBM)): Likewise.
22862         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
22863
22864 2000-01-23  Jim Meyering  <meyering@lucent.com>
22865
22866         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
22867         obstack.c.
22868
22869 2000-01-22  Jim Meyering  <meyering@lucent.com>
22870
22871         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
22872
22873         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
22874
22875         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
22876         configure.in
22877         (AC_CHECK_HEADERS): Likewise for sh-utils.
22878         (AC_CHECK_HEADERS): Likewise for textutils.
22879         Merge the three lists of headers.
22880
22881         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
22882         from fileutils' configure.in.
22883
22884         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
22885         code. Moved tests into their own function (_jm_DECL_HEADERS) in
22886         check-decl.m4.
22887
22888         * m4/check-decl.m4: Use #if rather than #ifdef.
22889         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
22890         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
22891         (_jm_DECL_HEADERS): Define new function.
22892         (jm_CHECK_DECLARATIONS): Require it.
22893
22894 2000-01-22  Jim Meyering  <meyering@lucent.com>
22895
22896         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
22897         [! HAVE_DECL_STRTOULL]: Declare strtoull.
22898         Required for some AIX systems.  Reported by Christian Krackowizer.
22899         [TESTING] (main): New function.
22900
22901         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
22902         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
22903         letters.
22904
22905         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
22906         iswprint.
22907
22908         * lib/strverscmp.c (ISDIGIT): Define.
22909         (strverscmp): Use ISDIGIT, not isdigit.
22910
22911 2000-01-19  Jim Meyering  <meyering@lucent.com>
22912
22913         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
22914         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
22915         defines `struct timespec' in <sys/time.h>
22916
22917         * m4/c-bs-a.m4: Remove uses of changequote altogether.
22918         Thanks to Akim for explaining.
22919
22920 2000-01-17  Paul Eggert  <eggert@twinsun.com>
22921
22922         * lib/nanosleep.c (nanosleep):
22923         Don't use SA_INTERRUPT to decide whether to call sigaction, as
22924         POSIX.1 doesn't require SA_INTERRUPT and some systems
22925         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
22926         it's been part of POSIX.1 since day 1 (in 1988).
22927
22928 2000-01-17  Jim Meyering  <meyering@lucent.com>
22929
22930         * lib/interlock: Remove unused file.  Reported by François Pinard.
22931
22932 2000-01-16  Paul Eggert  <eggert@twinsun.com>
22933
22934         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
22935         alert, backslash, formfeed, and vertical tab unnecessarily in
22936         shell quoting style.
22937
22938 2000-01-16  Jim Meyering  <meyering@lucent.com>
22939
22940         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
22941         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
22942         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
22943         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
22944
22945 2000-01-16  Jim Meyering  <meyering@lucent.com>
22946
22947         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
22948         because the latter didn't work.
22949
22950 2000-01-15  Jim Meyering  <meyering@lucent.com>
22951
22952         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
22953         (AC_REPLACE_FUNCS): Add memcpy and memset.
22954         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
22955         Add strpbrk.
22956         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
22957
22958 2000-01-12  Jim Meyering  <meyering@lucent.com>
22959
22960         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
22961         (jm_PREREQ): Use it.
22962         (jm_PREREQ_READUTMP): New macro.
22963         (jm_PREREQ): Use it.
22964
22965 2000-01-11  Paul Eggert  <eggert@twinsun.com>
22966
22967         Quote multibyte characters correctly.
22968         * m4/c-bs-a.m4: New file.
22969         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
22970         (jm_PREREQ): Use it.
22971
22972 2000-01-11  Paul Eggert  <eggert@twinsun.com>
22973
22974         * m4/uintmax_t.m4: Port to autoconf 2.13.
22975
22976 2000-01-08  Jim Meyering  <meyering@ascend.com>
22977
22978         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
22979         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
22980
22981 2000-01-04  Jim Meyering  <meyering@ascend.com>
22982
22983         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
22984         jm_STRUCT_DIRENT_D_TYPE.
22985         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
22986         jm_STRUCT_DIRENT_D_INO.
22987         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
22988         jm_STRUCT_UTIMBUF.
22989         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
22990         renamings.
22991         * m4/utime.m4: Likewise.
22992
22993         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
22994         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
22995
22996 2000-01-03  Paul Eggert  <eggert@twinsun.com>
22997
22998         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
22999         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
23000
23001 2000-01-02  Jim Meyering  <meyering@ascend.com>
23002
23003         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
23004         remember if this is necessary.
23005
23006 1999-12-26  Jim Meyering  <meyering@ascend.com>
23007
23008         * m4/jm-macros.m4: Use it here.
23009         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
23010
23011 1999-12-23  Jim Meyering  <meyering@ascend.com>
23012
23013         * m4/jm-macros.m4: Check for clock_gettime (moved from
23014         fileutils/configure.in)
23015         Check for gettimeofday.
23016
23017 1999-12-20  Jim Meyering  <meyering@ascend.com>
23018
23019         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
23020         autoconf-2.14a-1999-12-20.
23021
23022 1999-12-19  Jim Meyering  <meyering@ascend.com>
23023
23024         * m4/lstat-slash.m4: New file.
23025         * m4/jm-macros.m4: Use the new macro:
23026         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
23027
23028 1999-12-07  Jim Meyering  <meyering@ascend.com>
23029
23030         * m4/perl.m4: Require that File::Compare be available, too.
23031         Too many systems seem to lack it.
23032
23033         * m4/strftime.m4: Add checks for most of the cpp macros tested in
23034         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
23035
23036 1999-11-18  Paul Eggert  <eggert@twinsun.com>
23037
23038         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
23039         problem with the QNX 4.25 shell, which doesn't propagate exit
23040         status of failed commands inside shell assignments.
23041
23042 1999-11-17  Jim Meyering  <meyering@ascend.com>
23043
23044         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
23045
23046 1999-11-07  Jim Meyering  <meyering@ascend.com>
23047
23048         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
23049
23050 1999-11-06  Jim Meyering  <meyering@ascend.com>
23051
23052         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
23053         * m4/jm-macros.m4 (jm_MACROS): Use it here.
23054
23055 1999-11-05  Jim Meyering  <meyering@ascend.com>
23056
23057         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
23058         configure.in of textutils, fileutils, and sh-utils into this one
23059         (shared between those packages) file.
23060         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
23061         AC_STRUCT_ST_BLKSIZE.
23062
23063 1999-11-03  Jim Meyering  <meyering@ascend.com>
23064
23065         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
23066         of AC_CHECK_TYPE checks includes unistd.h.
23067         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
23068         Suggestion from Akim Demaille.
23069
23070 1999-10-30  Jim Meyering  <meyering@ascend.com>
23071
23072         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
23073         m4-quoted string.
23074         * m4/ls-mntd-fs.m4: Likewise.
23075         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
23076         * m4/jm-winsz1.m4: Likewise.
23077
23078         * m4/const.m4: Remove file, since the fix made it into the experimental
23079         version of autoconf.
23080         * m4/mktime.m4: Likewise.
23081
23082         * m4/check-type.m4: Remove file, now that the latest version of
23083         AC_CHECK_TYPE takes a third arg to specify additional #includes.
23084
23085         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
23086         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
23087         AC_CHECK_TYPE.
23088
23089 1999-10-04  Jim Meyering  <meyering@ascend.com>
23090
23091         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
23092
23093 1999-09-22  Paul Eggert  <eggert@twinsun.com>
23094
23095         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
23096         2.95.1 bug with HP-UX 10.20.
23097
23098 1999-09-17  Jim Meyering  <meyering@ascend.com>
23099
23100         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
23101         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
23102         due to missing strdup (against sh-utils-2.0).
23103
23104 1999-08-29  Jim Meyering  <meyering@ascend.com>
23105
23106         * m4/jm-macros.m4: Require jm_BISON.
23107         * m4/bison.m4: New file.
23108
23109 1999-08-17  Paul Eggert  <eggert@twinsun.com>
23110
23111         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
23112         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
23113
23114 1999-08-05  Jim Meyering  <meyering@ascend.com>
23115
23116         * m4/getline.m4: Rename test file from conftestdata to conftest.data
23117         to avoid conflicts with `conftest' on 8+3 filesystems.
23118         Suggestion from Eli Zaretskii.
23119
23120 1999-08-04  Jim Meyering  <meyering@ascend.com>
23121
23122         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
23123         fileutils and sh-utils (textutils's getline test was inadequate).
23124         (AM_FUNC_GETLINE): Run this test.
23125         (AC_CHECK_FUNCS): Check for getdelim.
23126         Reported by Bob Proulx.
23127
23128 1999-08-02  Jim Meyering  <meyering@ascend.com>
23129
23130         * m4/jm-macros.m4: Add a comment.
23131
23132 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23133
23134         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
23135         <inttypes.h> defines strtoumax as a macro (and not as a
23136         function).
23137
23138 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23139
23140         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
23141         that we can shift, multiply and divide unsigned long long
23142         values; Ultrix cc can't do it.
23143
23144 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23145
23146         * m4/mktime.m4: New file, which is a preview of what should appear
23147         in the next public autoconf release.
23148
23149 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23150
23151         * m4/lfs.m4: Remove this file.
23152         * m4/largefile.m4: New file.  It contains the old contents of
23153         lfs.m4, except that all names with prefix AC_LFS have been
23154         changed to use the prefix AC_SYS_LARGEFILE instead, to be
23155         compatible with future autoconf versions.  Also, some minor m4
23156         quoting problems have been fixed.
23157
23158 1999-08-01  Paul Eggert  <eggert@twinsun.com>
23159
23160         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
23161         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
23162         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
23163         and simplify the shell code.
23164
23165 1999-08-01  Jim Meyering  <meyering@ascend.com>
23166
23167         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
23168         m4.
23169
23170 1999-07-20  Jim Meyering  <meyering@ascend.com>
23171
23172         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
23173
23174 1999-07-15  Jim Meyering  <meyering@ascend.com>
23175
23176         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
23177
23178 1999-05-22  Jim Meyering  <meyering@ascend.com>
23179
23180         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
23181
23182 1999-05-20  Jim Meyering  <meyering@ascend.com>
23183
23184         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
23185         Add a colon after each `then' in case $4 is empty.
23186
23187 1999-05-16  Jim Meyering  <meyering@ascend.com>
23188
23189         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
23190
23191 1999-05-10  Jim Meyering  <meyering@ascend.com>
23192
23193         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
23194
23195         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
23196         AC_FUNC_MKTIME.
23197
23198 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
23199
23200         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
23201
23202 1999-05-04  Paul Eggert  <eggert@twinsun.com>
23203
23204         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
23205         not CPPFLAGS, so that linking works correctly in IRIX.
23206
23207 1999-04-30  Paul Eggert  <eggert@twinsun.com>
23208
23209         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
23210
23211 1999-04-20  Paul Eggert  <eggert@twinsun.com>
23212
23213         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
23214         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
23215         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
23216         jm_AC_TYPE_UNSIGNED_LONG_LONG.
23217         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
23218
23219         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
23220
23221 1999-04-20  Jim Meyering  <meyering@ascend.com>
23222
23223         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
23224         AC_REPLACE xstroull if necessary.  From Paul Eggert.
23225         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
23226
23227 1999-04-18  Jim Meyering  <meyering@ascend.com>
23228
23229         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
23230         * m4/jm-macros.m4: Use it.
23231
23232 1999-04-06  Jim Meyering  <meyering@ascend.com>
23233
23234         * m4/strftime.m4: Remove test for %f.
23235
23236 1999-03-29  Jim Meyering  <meyering@ascend.com>
23237
23238         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
23239         superset of the AC_TYPE_* checks in the textutils, fileutils,
23240         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
23241         AC_TYPE_PID_T.
23242
23243 1999-03-28  Jim Meyering  <meyering@ascend.com>
23244
23245         * m4/jm-macros.m4: Define GNU_PACKAGE here.
23246         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
23247         replaced e.g., in the *.sh files of the sh-utils.
23248
23249 1999-03-20  Jim Meyering  <meyering@ascend.com>
23250
23251         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
23252         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
23253         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
23254
23255 1999-03-19  Jim Meyering  <meyering@ascend.com>
23256
23257         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
23258
23259 1999-03-12  Jim Meyering  <meyering@ascend.com>
23260
23261         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
23262
23263 1999-03-07  Jim Meyering  <meyering@ascend.com>
23264
23265         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
23266         declared.
23267
23268 1999-02-17  Jim Meyering  <meyering@ascend.com>
23269
23270         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
23271         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
23272
23273 1999-02-07  Jim Meyering  <meyering@ascend.com>
23274
23275         * m4/group-member.m4: New file -- extracted from sh-utils'
23276         configure.in.
23277
23278         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
23279         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
23280
23281 1999-02-06  Jim Meyering  <meyering@ascend.com>
23282
23283         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
23284         * m4/fnmatch.m4: Likewise.
23285         * m4/getgroups.m4: Likewise.
23286         * m4/lstat.m4: Likewise.
23287         * m4/malloc.m4: Likewise.
23288         * m4/putenv.m4: Likewise.
23289         * m4/realloc.m4: Likewise.
23290         * m4/regex.m4: Likewise.
23291         * m4/stat.m4: Likewise.
23292         * m4/strftime.m4: Likewise.
23293         Suggestion from Alain Magloire.
23294
23295         * m4/chown.m4: Use `.$ac_objext', not `.o'.
23296         * m4/fnmatch.m4: Likewise.
23297         * m4/getgroups.m4: Likewise.
23298         * m4/getline.m4: Likewise.
23299         * m4/lstat.m4: Likewise.
23300         * m4/malloc.m4: Likewise.
23301         * m4/memcmp.m4: Likewise.
23302         * m4/putenv.m4: Likewise.
23303         * m4/realloc.m4: Likewise.
23304         * m4/regex.m4: Likewise.
23305         * m4/stat.m4: Likewise.
23306         * m4/strftime.m4: Likewise.
23307         Suggestion from Alain Magloire.
23308
23309         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
23310         an argument.
23311
23312         * m4/regex.m4: Add a run-time Test for proper operation of
23313         re_compile_pattern.
23314
23315 1999-01-31  Jim Meyering  <meyering@ascend.com>
23316
23317         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
23318
23319 1999-01-30  Jim Meyering  <meyering@ascend.com>
23320
23321         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
23322
23323         * m4/jm-mktime.m4: Make this a wrapper around the official
23324         AM_FUNC_MKTIME rather than my private copy, now that the official one
23325         is up to date.
23326         * m4/mktime.m4: Remove file.
23327
23328         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
23329         * m4/uptime.m4: Likewise.
23330         * m4/uintmax_t.m4: Likewise.
23331
23332 1999-01-28  Jim Meyering  <meyering@ascend.com>
23333
23334         * m4/jm-macros.m4: Use jm_AFS.
23335         * m4/afs.m4: New file (from fileutils' configure.in).
23336
23337         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
23338         * m4/chown.m4: Likewise.
23339         * m4/d-ino.m4: Likewise.
23340         * m4/d-type.m4: Likewise.
23341         * m4/fnmatch.m4: Likewise.
23342         * m4/getgroups.m4: Likewise.
23343         * m4/gettext.m4: Likewise.
23344         * m4/jm-mktime.m4: Likewise.
23345         * m4/jm-winsz2.m4: Likewise.
23346         * m4/lcmessage.m4: Likewise.
23347         * m4/ls-mntd-fs.m4: Likewise.
23348         * m4/malloc.m4: Likewise.
23349         * m4/memcmp.m4: Likewise.
23350         * m4/putenv.m4: Likewise.
23351         * m4/realloc.m4: Likewise.
23352         * m4/st_mtim.m4: Likewise.
23353         * m4/strftime.m4: Likewise.
23354
23355 1999-01-16  Jim Meyering  <meyering@ascend.com>
23356
23357         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
23358         (ARGMATCH_DIE_DECL): Define.
23359
23360 1999-01-12  Jim Meyering  <meyering@ascend.com>
23361
23362         * m4/Makefile.am.in: Rewrite to avoid using fmt.
23363         Reported by Lars Hecking.
23364
23365 1999-01-10  Jim Meyering  <meyering@ascend.com>
23366
23367         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
23368         gross kludge.
23369         * m4/inttypes_h.m4: Likewise.
23370         * m4/lstat.m4: Likewise.
23371         * m4/malloc.m4: Likewise.
23372         * m4/readdir.m4: Likewise.
23373         * m4/realloc.m4: Likewise.
23374         * m4/st_dm_mode.m4: Likewise.
23375         * m4/stat.m4: Likewise.
23376         * m4/utimbuf.m4: Likewise.
23377         * m4/utimes.m4: Likewise.
23378
23379         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
23380         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
23381         comments in config.h.in are meaningful.
23382
23383         * m4/jm-macros.m4: Require autoconf-2.13 here.
23384
23385         * m4/regex.m4: By default, don't use the included regex.c on systems
23386         with glibc 2.  Suggestion from Uli Drepper.
23387
23388 1999-01-02  Jim Meyering  <meyering@ascend.com>
23389
23390         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
23391
23392 1998-12-18  Jim Meyering  <meyering@ascend.com>
23393
23394         * m4/Makefile.am.in (Makefile.am): Simplify rule.
23395         Based on a suggestion from Lars Hecking.
23396
23397 1998-11-16  Paul Eggert  <eggert@twinsun.com>
23398
23399         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
23400
23401 1998-11-16  Jim Meyering  <meyering@ascend.com>
23402
23403         * m4/lfs.m4: Double-quote the `uname...` expression.
23404
23405 1998-11-14  Jim Meyering  <meyering@ascend.com>
23406
23407         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
23408         * m4/stat.m4: Likewise.
23409
23410 1998-11-03  Jim Meyering  <meyering@ascend.com>
23411
23412         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
23413         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
23414
23415 1998-10-18  Jim Meyering  <meyering@ascend.com>
23416
23417         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
23418
23419 1998-10-17  Jim Meyering  <meyering@ascend.com>
23420
23421         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
23422         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
23423         calls for those previously hard-coded headers.  Instead, take a new
23424         parameter.
23425         (jm_CHECK_DECLARATIONS): Reflect interface change.
23426         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
23427         (jm_CHECK_DECL_LOCALTIME_R): New macro.
23428
23429         * m4/mktime.m4: Test for spring-forward gap before long-running test.
23430
23431 1998-10-14  Jim Meyering  <meyering@ascend.com>
23432
23433         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
23434         instead of "TZ=America/Vancouver".  From Paul Eggert.
23435
23436 1998-10-11  Jim Meyering  <meyering@ascend.com>
23437
23438         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
23439         This adds a test for a recently added compatibility fix for mktime.c.
23440         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
23441
23442 1998-09-27  Jim Meyering  <meyering@ascend.com>
23443
23444         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
23445
23446         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
23447         ../configure.in, including a change from Gordon Matzigkeit to allow
23448         cross-compiling for the Hurd.
23449
23450         * m4/glibc.m4: New file/macro to test for the GNU C Library
23451         versions 1 and 2.  From Gordon Matzigkeit.
23452         Indent.
23453
23454 1998-09-21  Jim Meyering  <meyering@ascend.com>
23455
23456         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
23457
23458 1998-08-18  Paul Eggert  <eggert@twinsun.com>
23459
23460         Port nanosecond-resolution times to UnixWare 2.1.2 and
23461         pedantic Solaris 2.6.
23462
23463         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
23464         AC_STRUCT_ST_MTIM.
23465         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
23466         Generate name of ns member, instead of just 1 or undef.
23467         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
23468
23469 1998-08-15  Jim Meyering  <meyering@ascend.com>
23470
23471         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
23472         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
23473         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
23474         instead of jm_TYPE_SSIZE_T.
23475
23476 1998-08-12  Jim Meyering  <meyering@ascend.com>
23477
23478         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
23479
23480 1998-08-02  Jim Meyering  <meyering@ascend.com>
23481
23482         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
23483         in acconfig.h manually.
23484
23485 1998-07-31  Paul Eggert  <eggert@twinsun.com>
23486
23487         * m4/st_mtim.m4: New file.
23488
23489 1998-07-28  Jim Meyering  <meyering@ascend.com>
23490
23491         * m4/utimes.m4: Undef stat.
23492
23493 1998-07-25  Jim Meyering  <meyering@ascend.com>
23494
23495         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
23496         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
23497
23498 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
23499
23500         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
23501         uid and gid actually remain unchanged.
23502
23503 1998-07-07  Jim Meyering  <meyering@ascend.com>
23504
23505         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
23506
23507 1998-07-04  Jim Meyering  <meyering@ascend.com>
23508
23509         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
23510         to prove that this macro can be used in packages without regex.c.
23511
23512 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
23513
23514         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
23515         is to be used.
23516
23517 1998-07-03  Jim Meyering  <meyering@ascend.com>
23518
23519         * m4/gettext.m4: Add -lintl if it's found to be necessary.
23520
23521         * m4/gettext.m4: New file -- from gettext-0.10.35.
23522         * m4/lcmessage.m4: Likewise.
23523         * m4/progtest.m4: Likewise.
23524
23525         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
23526         * m4/jm-macros.m4: Require the new macro.
23527
23528 1998-06-29  Jim Meyering  <meyering@ascend.com>
23529
23530         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
23531         for the definition of NGROUPS (used in a system header included
23532         by sys/mount.h).
23533
23534 1998-06-28  Jim Meyering  <meyering@ascend.com>
23535
23536         * m4/ls-mntd-fs.m4: New file.
23537         * m4/fstypename.m4: New file.
23538
23539         * m4/jm-macros.m4: Require the new macro.
23540         * m4/jm-glibc-io.m4: New file.
23541
23542 1998-05-19  Jim Meyering  <meyering@ascend.com>
23543
23544         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
23545         * m4/lchown.m4: New file.
23546
23547         * m4/Makefile.am.in: New file.
23548         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
23549
23550 1998-05-14  Jim Meyering  <meyering@ascend.com>
23551
23552         * m4/Makefile.am (EXTRA_DIST): Add them.
23553         * m4/jm-macros.m4: New file.
23554         * m4/utimbuf.m4: New file.
23555
23556 1998-05-12  Jim Meyering  <meyering@ascend.com>
23557
23558         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
23559
23560 1998-05-11  Jim Meyering  <meyering@ascend.com>
23561
23562         * m4/isc-posix.m4: New file.
23563
23564 1998-05-10  Jim Meyering  <meyering@ascend.com>
23565
23566         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
23567
23568 1998-05-09  Jim Meyering  <meyering@ascend.com>
23569
23570         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
23571         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
23572         with automake.
23573
23574         * m4/ssize_t.m4: New file.
23575         * m4/mktime.m4: Remove file -- the new automake has this now.
23576
23577 1998-04-26  Jim Meyering  <meyering@ascend.com>
23578
23579         * m4/assert.m4: New file.
23580         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
23581
23582 1998-04-05  Jim Meyering  <meyering@ascend.com>
23583
23584         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
23585         (jm_PREREQ): Use it here.
23586
23587 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
23588
23589         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
23590         in acconfig.h.
23591
23592 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
23593
23594         * m4/prereq.m4: New file.
23595         * m4/error.m4: New file.
23596         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
23597
23598 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
23599
23600         * m4/getline.m4: Don't set am_cv_func_working_getline before the
23601         cache-check for the same variable -- that defeated the purpose of
23602         the test; the test program was never run.  This was a problem only
23603         on systems with losing getline functions -- HP-UX 10.20 is one.
23604         Reported by Bjorn Helgaas.
23605
23606 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
23607
23608         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
23609
23610 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
23611
23612         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
23613
23614         * m4/const.m4: New file.  Use an initializer in this declaration
23615         typedef int charset[2]; const charset x;
23616         Reported by Bob Glickstein.
23617
23618 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
23619
23620         * m4/chown.m4: Fix reversed types on -1 args to chown.
23621         From Kaveh Ghazi.
23622
23623 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
23624
23625         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
23626         Add lseek and memchr.
23627
23628         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
23629         T.E.Dickey <dickey@clark.net> said that some older preprocessors
23630         have a 20-character limit on names.
23631
23632 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
23633
23634         * m4/inttypes_h.m4: New file.
23635         * m4/uintmax_t.m4: New file.
23636         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
23637
23638 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
23639   Free Software Foundation, Inc.
23640 Copying and distribution of this file, with or without modification,
23641 are permitted provided the copyright notice and this notice are preserved.