366381f67507ff8f61060a75e8fa64dfa284d969
[gnulib.git] / ChangeLog
1 2007-09-30  Bruno Haible  <bruno@clisp.org>
2
3         * lib/alloca.in.h: Renamed from lib/alloca_.h.
4         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
5         alloca_.h.
6         * lib/argz.in.h: Renamed from lib/argz_.h.
7         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
8         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
9         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
10         byteswap_.h.
11         * lib/dirent.in.h: Renamed from lib/dirent_.h.
12         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
13         dirent_.h.
14         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
15         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
16         fcntl_.h.
17         * lib/float.in.h: Renamed from lib/float_.h.
18         * modules/float (Files, Makefile.am): Use float.in.h instead of
19         float_.h.
20         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
21         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
22         fnmatch_.h.
23         * lib/getopt.in.h: Renamed from lib/getopt_.h.
24         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
25         getopt_.h.
26         * lib/glob.in.h: Renamed from lib/glob_.h.
27         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
28         * lib/iconv.in.h: Renamed from lib/iconv_.h.
29         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
30         iconv_.h.
31         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
32         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
33         inttypes_.h.
34         * lib/locale.in.h: Renamed from lib/locale_.h.
35         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
36         locale_.h.
37         * lib/math.in.h: Renamed from lib/math_.h.
38         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
39         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
40         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
41         of netinet_in_.h. Add dependency.
42         * lib/poll.in.h: Renamed from lib/poll_.h.
43         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
44         * lib/search.in.h: Renamed from lib/search_.h.
45         * modules/search (Files, Makefile.am): Use search.in.h instead of
46         search_.h.
47         * lib/signal.in.h: Renamed from lib/signal_.h.
48         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
49         _signal.h.
50         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
51         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
52         stdbool_.h.
53         * lib/stdint.in.h: Renamed from lib/stdint_.h.
54         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
55         stdint_.h.
56         * lib/stdio.in.h: Renamed from lib/stdio_.h.
57         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
58         stdio_.h.
59         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
60         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
61         stdlib_.h.
62         * lib/string.in.h: Renamed from lib/string_.h.
63         * modules/string (Files, Makefile.am): Use string.in.h instead of
64         string_.h.
65         * doc/gnulib-tool.texi (Initial import): Update.
66         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
67         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
68         of sys_select_.h. Add dependency.
69         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
70         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
71         of sys_socket_.h.
72         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
73         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
74         sys_stat_.h.
75         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
76         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
77         sys_time_.h.
78         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
79         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
80         sysexits_.h.
81         * lib/time.in.h: Renamed from lib/time_.h.
82         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
83         * lib/unistd.in.h: Renamed from lib/unistd_.h.
84         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
85         unistd_.h.
86         * lib/wchar.in.h: Renamed from lib/wchar_.h.
87         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
88         wchar_.h.
89         * lib/wctype.in.h: Renamed from lib/wctype_.h.
90         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
91         wctype_.h.
92         * build-aux/bootstrap (slurp): Update.
93         * lib/.cppi-disable: Update.
94
95 2007-09-30  Bruno Haible  <bruno@clisp.org>
96
97         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
98         Needed on BeOS.
99
100 2007-09-30  Bruno Haible  <bruno@clisp.org>
101
102         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
103
104 2007-09-29  Bruno Haible  <bruno@clisp.org>
105
106         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
107
108 2007-09-29  Bruno Haible  <bruno@clisp.org>
109
110         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
111         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
112         * build-aux/install-reloc: Compile also areadlink.c.
113         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
114
115 2007-09-29  Bruno Haible  <bruno@clisp.org>
116
117         * gnulib-tool (func_emit_initmacro_done): Indentation.
118
119 2007-09-29  Bruno Haible  <bruno@clisp.org>
120
121         * README: Add CVS checkout update instructions.
122         Info from Bob Proulx <bob@proulx.com>.
123
124 2007-09-28  Eric Blake  <ebb9@byu.net>
125
126         Provide move-if-change.
127         * build-aux/move-if-change: New file, based on best practice
128         rather than any canonical upstream location.
129
130 2007-09-28  Jim Meyering  <jim@meyering.net>
131
132         Fix canonicalize loop-detection corner case.
133         Do not attempt to stat the symlink values stored via seen_triple.
134         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
135         on linux-2.6.18, (but not 2.6.22).
136         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
137         triple_compare.  The former compares dev,ino,filename, while the latter
138         would actually stat dirname(filename) when dev and ino were equal.
139         * lib/hash-triple.c: Install <string.h>.
140         (STREQ): Define.
141         (triple_compare_ino_str): New function.
142         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
143
144 2007-09-28  Eric Blake  <ebb9@byu.net>
145
146         Enforce that AC_REPLACE_FUNCS files exist.
147         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
148         override check for typos.
149
150         Fix test-closein on Solaris 10.
151         * tests/test-closein.c (main): Don't assume stdin can be inherited
152         closed on all systems.
153         * tests/test-closein.sh: Likewise.
154         Reported by Piotr Tarnowski.
155
156 2007-09-28  Jim Meyering  <jim@meyering.net>
157
158         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
159
160 2007-09-27  Jim Meyering  <jim@meyering.net>
161
162         canonicalize: Avoid a false-positive cycle failure.
163         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
164         Sort.  Remove cycle-check.
165         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
166         not cycle-check.h.
167         (seen_triple): New function.
168         (canonicalize_filename_mode): Use it instead of cycle-check.
169         * tests/test-canonicalize.c: Add a test for this bug.
170         * tests/test-canonicalize.sh: Set up and run the test.
171
172         New module, file-set, from coreutils.
173         * modules/file-set: Define it.
174         * lib/file-set.c, lib/file-set.h: Implement.
175
176         New module, hash-triple, from coreutils.
177         * modules/hash-triple: Define it.
178         * lib/hash-triple.c, lib/hash-triple.h: Implement.
179
180 2007-09-25  Eric Blake  <ebb9@byu.net>
181
182         Fix strerror on Interix.
183         * lib/string_.h (strerror): Declare replacement.
184         * doc/functions/strerror.texi (strerror): Document the Interix
185         shortcoming.
186         * modules/string (Makefile.am): Support new hooks.
187         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
188         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
189         gl_FUNC_STRERROR_SEPARATE.
190         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
191         * lib/strerror.c (rpl_strerror): Provide replacement.
192         * modules/strerror (Depends-on): Add string.
193         (configure.ac): Detect use of module.
194         * tests/test-strerror.c: New file.
195         * modules/strerror-tests: New test module.
196         * modules/argp (Depends-on): Add strerror.
197         * modules/error (Depends-on): Likewise.
198         Reported by Martin Koeppe.
199
200 2007-09-24  Bruno Haible  <bruno@clisp.org>
201
202         * README: Update git instructions.
203
204 2007-09-24  Eric Blake  <ebb9@byu.net>
205
206         Revert fpending breakage from 2007-09-08.
207         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
208         __fpending.c.
209
210 2007-09-24  Jim Meyering  <jim@meyering.net>
211
212         filenamecat.c: Add a test.
213         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
214         showing how the function works when DIR is the empty string.
215
216 2007-09-21  Simon Josefsson  <simon@josefsson.org>
217
218         * tests/test-canonicalize.sh: Turn on executable bit.
219
220 2007-09-19  Eric Blake  <ebb9@byu.net>
221
222         * README: Update CVS instructions.
223
224 2007-09-18  Bruno Haible  <bruno@clisp.org>
225
226         * modules/areadlink: New file.
227         * lib/areadlink.h (areadlink): New declaration.
228         * lib/areadlink.c: New file, based on lib/xreadlink.c.
229
230 2007-09-17  Jim Meyering  <jim@meyering.net>
231
232         * lib/savewd.c (ESTALE) [!defined]: Define.
233         Reported to be required on Interix by Martin Koeppe.
234
235 2007-09-17  Bruno Haible  <bruno@clisp.org>
236
237         * gnulib-tool (func_version): Use $version.
238
239 2007-09-16  Bruno Haible  <bruno@clisp.org>
240
241         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
242         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
243         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
244         Reported by Greg Schafer <gschafer@zip.com.au>.
245
246 2007-09-15  Bruno Haible  <bruno@clisp.org>
247
248         * gnulib-tool (sed): Try a little harder to make bash understand the
249         alias.
250         Reported by Bruce Korb <bruce.korb@gmail.com>.
251
252 2007-09-13  Eric Blake  <ebb9@byu.net>
253
254         * ChangeLog: Remove conflict markers.
255
256 2007-09-13  Simon Josefsson  <simon@josefsson.org>
257
258         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
259         Reported by Bruno Haible <bruno@clisp.org>.
260
261 2007-09-12  Bruno Haible  <bruno@clisp.org>
262
263         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
264         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
265         is not defined.
266
267 2007-09-12  Eric Blake  <ebb9@byu.net>
268
269         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
270         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
271         Autoconf definition.
272         * modules/euidaccess (Depends-on): Add extensions, for
273         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
274         * modules/fnmatch (Depends-on): Likewise.
275         * modules/getaddrinfo (Depends-on): Likewise.
276         * modules/getdelim (Depends-on): Likewise.
277         * modules/getline (Depends-on): Likewise.
278         * modules/getsubopt (Depends-on): Likewise.
279         * modules/gettext (Depends-on): Likewise.
280         * modules/group-member (Depends-on): Likewise.
281         * modules/mbchar (Depends-on): Likewise.
282         * modules/memmem (Depends-on): Likewise.
283         * modules/mempcpy (Depends-on): Likewise.
284         * modules/memrchr (Depends-on): Likewise.
285         * modules/pagealign_alloc (Depends-on): Likewise.
286         * modules/readutmp (Depends-on): Likewise.
287         * modules/stpcpy (Depends-on): Likewise.
288         * modules/stpncpy (Depends-on): Likewise.
289         * modules/strchrnul (Depends-on): Likewise.
290         * modules/strndup (Depends-on): Likewise.
291         * modules/strsep (Depends-on): Likewise.
292         * modules/strverscmp (Depends-on): Likewise.
293         * modules/vasprintf (Depends-on): Likewise.
294         * modules/wcwidth (Depends-on): Likewise.
295         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
296         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
297         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
298         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
299         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
300         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
301         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
302         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
303         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
304         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
305         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
306         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
307         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
308         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
309         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
310         * m4/readutmp.m4 (gl_READUTMP): Likewise.
311         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
312         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
313         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
314         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
315         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
316         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
317         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
318         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
319         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
320         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
321         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
322         so that lock.m4 can be used in gettext without extensions module.
323
324 2007-09-11  Bruno Haible  <bruno@clisp.org>
325
326         * m4/isc-posix.m4: Remove file.
327         Suggested by Eric Blake.
328
329 2007-09-11  Eric Blake  <ebb9@byu.net>
330
331         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
332
333 2007-09-10  Bruno Haible  <bruno@clisp.org>
334
335         * posix-modules: Fix typo in error message.
336         Reported by Matt <mkraai@beckman.com>.
337
338 2007-09-09  Bruno Haible  <bruno@clisp.org>
339
340         * doc/functions/getdelim.texi: Update list of platforms lacking the
341         function.
342         * doc/functions/getline.texi: Likewise.
343
344 2007-09-09  Jim Meyering  <jim@meyering.net>
345
346         * lib/hash.c (hash_initialize): Detect calloc failure.
347         Reported by Bruno Haible.
348
349 2007-09-09  Bruno Haible  <bruno@clisp.org>
350
351         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
352         malloc or realloc fails.
353
354 2007-09-09  Bruno Haible  <bruno@clisp.org>
355
356         * modules/getcwd (Depends-on): Add malloc-posix.
357         * modules/glob (Depends-on): Likewise.
358         * modules/putenv (Depends-on): Likewise.
359         * modules/strdup (Depends-on): Likewise.
360         * modules/getdelim (Depends-on): Add realloc-posix.
361         * modules/read-file (Depends-on): Likewise.
362
363 2007-09-09  Bruno Haible  <bruno@clisp.org>
364
365         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
366         (gl_FUNC_MALLOC_POSIX): Require it.
367         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
368         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
369         * modules/realloc (Files): Add m4/malloc.m4.
370         * modules/calloc (Files): Likewise.
371
372 2007-09-09  Bruno Haible  <bruno@clisp.org>
373
374         * modules/malloc-posix: New file.
375         * modules/malloc (Depends-on): Add malloc-posix.
376         * lib/malloc.c: Include errno.h.
377         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
378         and a POSIX-compatible malloc into a single function. Set ENOMEM
379         when returning NULL.
380         * m4/malloc.m4: New file.
381         * doc/functions/malloc.texi: Mention the malloc-posix module.
382         * lib/stdlib_.h (malloc): New declaration.
383         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
384         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
385         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
386         and HAVE_MALLOC_POSIX.
387
388 2007-09-09  Bruno Haible  <bruno@clisp.org>
389
390         * modules/realloc-posix: New file.
391         * modules/realloc (Depends-on): Add realloc-posix.
392         * lib/realloc.c: Include errno.h.
393         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
394         and a POSIX-compatible realloc into a single function. Set ENOMEM
395         when returning NULL.
396         * m4/realloc.m4: New file.
397         * doc/functions/realloc.texi: Mention the realloc-posix module.
398         * lib/stdlib_.h (realloc): New declaration.
399         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
400         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
401         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
402         and HAVE_REALLOC_POSIX.
403
404 2007-09-09  Bruno Haible  <bruno@clisp.org>
405
406         * modules/calloc-posix: New file.
407         * modules/calloc (Depends-on): Add calloc-posix.
408         * lib/calloc.c: Include errno.h.
409         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
410         and a POSIX-compatible calloc into a single function. Set ENOMEM
411         when returning NULL.
412         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
413         * doc/functions/calloc.texi: Mention the calloc-posix module.
414         * lib/stdlib_.h (calloc): New declaration.
415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
416         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
417         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
418         and HAVE_CALLOC_POSIX.
419
420 2007-09-09  Bruno Haible  <bruno@clisp.org>
421
422         Allow for modules to show an arbitrary notice.
423         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
424         * gnulib-tool: New option --extract-notice.
425         (func_usage): Document it.
426         (sed_extract_prog): Update.
427         (func_get_notice): New function.
428         (func_modules_notice): New function.
429         (func_import, func_create_testdir): Invoke it.
430         Suggested by Jim Meyering.
431
432 2007-09-09  Bruno Haible  <bruno@clisp.org>
433
434         * gnulib-tool: New options --verbose, --quiet.
435         (func_usage): Document them.
436         (verbose): New variable.
437         (func_execute_command): New function.
438         (func_import): Don't show the module list and the file list if
439         $verbose < 0.
440         (func_create_testdir): Likewise. Use func_execute_command.
441         (func_create_megatestdir): Use func_execute_command.
442
443 2007-09-08  Bruno Haible  <bruno@clisp.org>
444
445         * gnulib-tool (func_import): Prefer rsync over wget when available,
446         for fetching the PO files.
447
448 2007-09-08  Bruno Haible  <bruno@clisp.org>
449
450         * posix-modules: New file. Portions copied from gnulib-tool.
451         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
452
453 2007-09-08  Jim Meyering  <jim@meyering.net>
454
455         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
456         * lib/fpending.h: Rename from __fpending.h.
457         * lib/fpending.c: Rename from __fpending.c.
458         Include "fpending.h", not "__fpending.h".
459         * lib/__fpending.h, lib/__fpending.c: Remove files.
460         * modules/fpending (Files): Reflect new file names.
461         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
462
463 2007-09-08  Bruno Haible  <bruno@clisp.org>
464
465         * m4/inttypes-h.m4: Remove stub file.
466
467 2007-09-07  Simon Josefsson  <simon@josefsson.org>
468
469         * doc/headers/stdint.texi: Discuss #include_next issue.
470
471 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
472
473         * build-aux/bootstrap: Remove obsolete comment about wget --help.
474
475 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
476
477         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
478         in variable name.
479
480 2007-09-03  Jim Meyering  <jim@meyering.net>
481
482         New module: git-version-gen.
483         * modules/git-version-gen: New file.
484
485         Import changes from coreutils for bootstrap script.
486
487         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
488
489         bootstrap: uses rsync to download the .po files
490         * build-aux/bootstrap (po_download_command_format): New global.
491         (download_po_files): Use rsync.
492         (update_po_files): Don't remove .po files after download,
493         so future rsync runs can take advantage of the copies.
494
495         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
496
497         Solve the unnecessary-.po-file-regeneration problem once and for all.
498         * build-aux/bootstrap (download_po_files): New function, renamed from
499         get_translations.  Now, downloads, but doesn't update LINGUAS.
500         (update_po_files): New function.
501
502         bootstrap: Ignore more.
503         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
504         uniwidth to e.g., lib/.gitignore.
505         (slurp): Handle the sys_stat_.h -> sys mapping, too.
506
507         * build-aux/bootstrap: New setting: vc_ignore.
508         (insert_sorted_if_absent): Create $file if absent.
509         Adapt to new, possibly empty, list: $vc_ignore.
510
511         bootstrap: generate more ignorable names
512         * build-aux/bootstrap (slurp): When generating ignorable names,
513         also map .sin to .sed, .gperf to .c, and .y to .c.
514
515 2007-09-03  Jim Meyering  <jim@meyering.net>
516
517         * build-aux/git-version-gen: New file, from coreutils.  For details, see
518         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
519
520 2007-09-02  Bruno Haible  <bruno@clisp.org>
521
522         Fix mis-recognition of 'mcs' on QNX 6.
523         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
524         output contains the string "Mono".
525         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
526         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
527
528 2007-09-01  Bruno Haible  <bruno@clisp.org>
529
530         Fix collision between uniwidth/* and linebreak modules.
531         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
532         u32_width): Remove declarations.
533         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
534         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
535         streq3, streq2, streq1, streq0): Remove functions.
536         (STREQ): Remove macro.
537         (is_cjk_encoding): Remove function.
538         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
539         (uc_width, u8_width, u16_width, u32_width): Remove functions.
540         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
541         * NEWS: Document the change.
542
543 2007-09-01  Bruno Haible  <bruno@clisp.org>
544
545         * lib/streq.h: Add double-inclusion guard.
546
547 2007-09-01  Karl Berry  <karl@gnu.org>
548
549         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
550
551 2007-08-28  Jim Meyering  <jim@meyering.net>
552
553         Rename mreadlink_with_size to areadlink_with_size.
554         * NEWS: Document the change.
555         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
556         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
557         * lib/mreadlink.h: Rename this to...
558         * lib/areadlink.h: ...this.
559         * modules/mreadlink-with-size: Rename this to...
560         * modules/areadlink-with-size: ...this.
561         * lib/canonicalize.c: Reflect the renaming.
562         * modules/canonicalize: Likewise.
563
564 2007-08-26  Bruno Haible  <bruno@clisp.org>
565
566         * gnulib-tool (func_import): When deciding which files to remove,
567         consider also dangling symbolic links.
568         Reported by Eric Blake.
569
570 2007-08-26  Bruno Haible  <bruno@clisp.org>
571
572         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
573
574 2007-08-23  Simon Josefsson  <simon@josefsson.org>
575
576         * lib/readline.c: Don't include getline.h, the prototype is now
577         found in stdio.h.
578
579 2007-08-23  Jim Meyering  <jim@meyering.net>
580
581         Getdelim touchup.
582         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
583         around the funlockfile call, since funlockfile never sets errno.
584         Don't set errno upon failed realloc.
585
586 2007-08-22  Eric Blake  <ebb9@byu.net>
587
588         Getline touchups.
589         * lib/getdelim.c (getdelim): Revert regression that required *n to
590         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
591         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
592         getdelim, rather than whether implementation is missing.
593         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
594         * lib/stdio_.h (getline): Also declare if replacement is
595         required.
596         * doc/functions/getdelim.texi: New file.
597         * doc/functions/getline.texi: Likewise.
598         * doc/gnulib.texi (Function Substitutes): Add new files.
599         Reported by Bruno Haible.
600
601 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
602
603         * users.txt: Add Guile.
604
605 2007-08-22  Eric Blake  <ebb9@byu.net>
606
607         * tests/test-getdelim.c (main): Use remove, not unlink.
608         * tests/test-getline.c (main): Likewise.
609
610         Move getline and getdelim into stdio.h, per POSIX 200x.
611         * modules/getline (Files): Remove getline.h.
612         (Depends-on): Add stdio.
613         (configure.ac): Add module indicator.
614         * modules/getdelim (Files): Remove getdelim.h.
615         (Depends-on): Add stdio.
616         (configure.ac): Add module indicator.
617         * modules/stdio (Makefile.am): Work with new indicators.
618         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
619         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
620         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
621         * lib/getdelim.h: Delete.
622         * lib/getline.h: Delete.
623         * lib/stdio_.h (getdelim, getline): Declare.
624         * modules/getdelim-tests: New module.
625         * modules/getline-tests: Likewise.
626         * tests/test-getdelim.c: New file.
627         * tests/test-getline.c: Likewise.
628         * NEWS: Document the change.
629         * lib/getline.c: Update choice of header.
630         * lib/csharpcomp.c: Likewise.
631         * lib/getpass.c: Likewise.
632         * lib/javacomp.c: Likewise.
633         * lib/javaversion.c: Likewise.
634         * lib/yesno.c: Likewise.
635         * lib/getdelim.c: Likewise.
636         (getdelim): Set errno on failure, and avoid memory leak.
637
638 2007-08-19  Bruno Haible  <bruno@clisp.org>
639
640         * modules/closein (Depends-on): Add freadahead.
641         * lib/closein.c: Include freadahead.h.
642         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
643         is zero.
644
645 2007-08-19  Bruno Haible  <bruno@clisp.org>
646
647         * modules/freadahead-tests: New file.
648         * tests/test-freadahead.sh: New file.
649         * tests/test-freadahead.c: New file.
650
651         * modules/freadahead: New file.
652         * lib/freadahead.h: New file.
653         * lib/freadahead.c: New file.
654         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
655         fbufmode, fpurge, freadable, fwritable.
656
657 2007-08-19  Eric Blake  <ebb9@byu.net>
658
659         Test yesno in combination with closein.
660         * lib/yesno.c (yesno): Document use of stdin.
661         * modules/yesno-tests (Files): New module.
662         * tests/test-yesno.c (main): New file.
663         * tests/test-yesno.sh: Likewise.
664
665 2007-08-19  Bruno Haible  <bruno@clisp.org>
666
667         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
668         * lib/fseeko.c (rpl_fseeko): Likewise.
669         * lib/fseterr.c (fseterr): Likewise.
670
671 2007-08-19  Bruno Haible  <bruno@clisp.org>
672
673         * tests/test-lseek.c (main): Disable a test for BeOS.
674         * doc/functions/lseek.texi: Document the BeOS bug.
675
676 2007-08-19  Bruno Haible  <bruno@clisp.org>
677             Eric Blake  <ebb9@byu.net>
678
679         * lib/lseek.c: Include <sys/stat.h>.
680         (rpl_lseek): Add workaround code also for Unix platforms.
681         Needed for BeOS.
682         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
683         * doc/functions/lseek.texi: Document BeOS definiency.
684
685 2007-08-18  Bruno Haible  <bruno@clisp.org>
686
687         * modules/fstrcmp-tests: New file.
688         * tests/test-fstrcmp.c: New file.
689
690 2007-08-18  Bruno Haible  <bruno@clisp.org>
691
692         * modules/fstrcmp: New file, from GNU gettext with modifications.
693         * lib/fstrcmp.h: New file, from GNU gettext.
694         * lib/fstrcmp.c: New file, from GNU gettext.
695         * MODULES.html.sh (String handling): Add fstrcmp.
696
697 2007-08-18  Bruno Haible  <bruno@clisp.org>
698
699         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
700         'bool'.
701         (diag, compareseq): Remove const from the ctxt argument.
702         (USE_HEURISTIC): Undefine at the end.
703
704 2007-08-18  Jim Meyering  <jim@meyering.net>
705
706         New file: lib/idcache.h
707         * NEWS: Mention the addition.
708         * modules/idcache (Files): Add lib/idcache.h
709         * lib/idcache.c: Include "idcache.h".
710         Don't include <sys/types.h>.
711         Add a FIXME comment.
712         Move file-scoped "static" declarations to the top.
713         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
714
715 2007-08-17  Bruno Haible  <bruno@clisp.org>
716         and Paul Eggert  <eggert@cs.ucla.edu>
717
718         * MODULES.html.sh: Add diffseq.
719         * modules/diffseq: New file.
720         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
721         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
722
723 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
724
725         Import changes from coreutils for bootstrap script.
726
727         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
728
729         * build-aux/bootstrap (slurp): Work even in environments where
730         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
731         current code does not slurp files whose names start with ".", and
732         this looks like it might be a troublesome area.
733
734         2007-07-11  Jim Meyering  <jim@meyering.net>
735
736         If there's a GPL vN copyright comment, require that N == 3.
737
738         2007-07-08  Jim Meyering  <jim@meyering.net>
739
740         Run the coreutils-specific code only if tests/Makefile.am.in exists.
741         * build-aux/bootstrap (mam_template): Move definition out of loop.
742
743         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
744
745         * build-aux/bootstrap (symlink_to_dir): Rename function from
746         symlink_to_gnulib.  Add a directory parameter.  Update all
747         callers.
748         (cp_mark_as_generated): Also check for -- and link to -- files in
749         gl/.
750
751         2007-07-08  Jim Meyering  <jim@meyering.net>
752
753         Adapt to deeper hierarchy in gnulib.
754         * build-aux/bootstrap (symlink_to_dir): If the destination
755         directory doesn't exist, create it. This is required at least for
756         "lib/uniwidth/cjk.h".
757
758         2007-05-15  Jim Meyering  <jim@meyering.net>
759
760         * build-aux/bootstrap: Now that generated Makefile.am files
761         are no longer under version control, they must be created at
762         bootstrap time.
763
764 2007-08-14  Ben Pfaff  <blp@gnu.org>
765
766         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
767
768 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
769
770         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
771         given the changes below.
772         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
773         even on hosts that have padding bits beyond the supported 64.
774
775 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
776
777         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
778         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
779         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
780         depends on it.
781         (xstrtol_error): Remove.
782         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
783         but with a different signature.
784         (ATTRIBUTE_NORETURN, __attribute__): New macros.
785         * lib/xstrtol-error.c: Include exitfail.h.
786         (xstrtol_fatal): New function, with a different signature from the
787         old xstrtol_error, so that the caller need not worry about passing
788         in an exit status, or about storage management of the option argument.
789         (xstrtol_error): Now a static function.  Redo signature to
790         implement xstrtol_fatal.  Output the correct number of hyphens in
791         front of the option so that the caller need not worry about
792         storage management.
793         (N_): New macro.
794         (_): Remove; not used now.
795         * modules/xstrtol: Depend on getopt.
796         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
797         of old STRTOL_FATAL_ERROR macro.
798         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
799         of test program.
800         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
801         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
802
803 2007-08-08  Eric Blake  <ebb9@byu.net>
804
805         * lib/xstrtol-error.c: Add missing include.
806
807         Move xstrtol messages into gnulib domain, when --pobase is used.
808         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
809         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
810         * modules/xstrtol (Files): Distribute new file.
811         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
812         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
813         * tests/test-xstrtol.c: ...into new file.
814         * tests/test-xstrtoul.c: Also test xstrtoul.
815         * tests/test-xstrtoimax.c: Also test xstrtoimax.
816         * tests/test-xstrtoumax.c: Also test xstrtoumax.
817         * tests/test-xstrtol.sh: Drive the tests.
818         * tests/test-xstrtoimax.sh: Likewise.
819         * tests/test-xstrtoumax.sh: Likewise.
820         * modules/xstrtol-tests: New module.
821         * modules/xstrtoimax-tests: Likewise.
822         * modules/xstrtoumax-tests: Likewise.
823
824 2007-08-08  Jim Meyering  <jim@meyering.net>
825
826         New function: mfile_name_concat.
827         * lib/filenamecat.c (mfile_name_concat): New function, just like
828         file_name_concat, but return NULL upon failure rather than exiting
829         with a diagnostic.
830         * lib/filenamecat.h: Declare it.
831
832 2007-08-07  Bruno Haible  <bruno@clisp.org>
833
834         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
835         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
836         warning from gcc.
837         Reported by Eric Blake.
838
839 2007-08-07  Simon Josefsson  <simon@josefsson.org>
840
841         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
842         * modules/crypto/arcfour (License): Likewise.
843         * modules/crypto/des-tests (License): Likewise.
844         * modules/crypto/gc-arctwo-tests (License): Likewise.
845         * modules/crypto/gc-des-tests (License): Likewise.
846         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
847         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
848         * modules/crypto/gc-md2-tests (License): Likewise.
849         * modules/crypto/gc-md4-tests (License): Likewise.
850         * modules/crypto/gc-md5-tests (License): Likewise.
851         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
852         * modules/crypto/gc-rijndael-tests (License): Likewise.
853         * modules/crypto/gc-sha1-tests (License): Likewise.
854         * modules/crypto/gc-tests (License): Likewise.
855         * modules/crypto/hmac-md5 (License): Likewise.
856         * modules/crypto/hmac-sha1 (License): Likewise.
857         * modules/crypto/md2-tests (License): Likewise.
858         * modules/crypto/md4-tests (License): Likewise.
859         * modules/crypto/md5 (License): Likewise.
860         * modules/crypto/rijndael (License): Likewise.
861         * modules/crypto/sha1 (License): Likewise.
862         * modules/memxor (License): Likewise.
863
864 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
865         and Bruno Haible  <bruno@clisp.org>
866
867         * NEWS: Describe interface changes to human, xstrtol.
868         * lib/human.h: Include <xstrtol.h>.
869         (human_options): Return enum strtol_error, not int.  Remove
870         bool arg; take int * instead.
871         * lib/human.c: Don't include "gettext.h".
872         (_): Remove; no longer used.
873         Don't include <xstrtol.h>, since human.h does it.
874         (human_options): Adjust to abovementioned interface changes.
875         Do not report error to stderr; that's now the caller's
876         responsibility.
877         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
878         interface change.
879         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
880         Str, Argument_type_string.  All uses changed.  Put " argument"
881         in diagnostics to make them clearer.  Change wording of suffix
882         message for clarity.
883         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
884         Argument_type_string.
885         (STRTOL_FATAL_WARN): Remove; no longer used.
886         * modules/human (Depends-on): Remove gettext-h.
887
888 2007-08-06  Simon Josefsson  <simon@josefsson.org>
889
890         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
891
892 2007-07-31  Bruno Haible  <bruno@clisp.org>
893
894         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
895         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
896         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
897
898 2007-07-31  Bruno Haible  <bruno@clisp.org>
899
900         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
901         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
902
903 2007-07-30  Bruno Haible  <bruno@clisp.org>
904
905         * modules/base64 (License): Use the synonymous term "LGPLv2+".
906         * modules/c-ctype (License): Likewise.
907         * modules/c-strcase (License): Likewise.
908         * modules/check-version (License): Likewise.
909         * modules/iconv (License): Likewise.
910         * modules/iconv_open (License): Likewise.
911         * modules/read-file (License): Likewise.
912         * modules/striconv (License): Likewise.
913         * modules/strverscmp (License): Likewise.
914         * modules/vasprintf (License): Likewise.
915         * modules/crypto/des (License): Likewise.
916         * modules/crypto/gc (License): Likewise.
917         * modules/crypto/gc-arcfour (License): Likewise.
918         * modules/crypto/gc-arctwo (License): Likewise.
919         * modules/crypto/gc-des (License): Likewise.
920         * modules/crypto/gc-hmac-md5 (License): Likewise.
921         * modules/crypto/gc-hmac-sha1 (License): Likewise.
922         * modules/crypto/gc-md2 (License): Likewise.
923         * modules/crypto/gc-md4 (License): Likewise.
924         * modules/crypto/gc-md5 (License): Likewise.
925         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
926         * modules/crypto/gc-random (License): Likewise.
927         * modules/crypto/gc-rijndael (License): Likewise.
928         * modules/crypto/gc-sha1 (License): Likewise.
929         * modules/crypto/md2 (License): Likewise.
930         * modules/crypto/md4 (License): Likewise.
931
932 2007-07-30  Jim Meyering  <jim@meyering.net>
933
934         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
935         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
936         it has valid stat data.  This bug would cause du not to count the
937         sizes of inaccessible directories.
938         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
939         in <http://bugzilla.redhat.com/250077>.
940
941 2007-07-25  Peter O'Gorman  <peter@pogma.com>
942             Bruno Haible  <bruno@clisp.org>
943
944         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
945         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
946         #include_next, gives a diagnostic about it, but reports no error in
947         the exit code.
948         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
949
950 2007-07-24  Ben Pfaff  <blp@gnu.org>
951
952         Improve name: "count-one-bits" is better than "popcount".
953         * MODULES.html.sh: Update name.
954         * lib/popcount.h: Renamed lib/count-one-bits.h.
955         (popcount): Renamed count_one_bits.
956         (popcountl): Renamed count_one_bits_l.
957         (popcountll): Renamed count_one_bits_ll.
958         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
959         * modules/popcount: Renamed module/count-one-bits.
960         * modules/popcount-tests: Renamed module/count-one-bits-tests.
961         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
962
963 2007-07-23  Ben Pfaff  <blp@gnu.org>
964
965         * lib/popcount.h (popcount32): Reduce size of constants, to allow
966         better code generation, and add U to large constants to avoid
967         warnings, in non-GCC case.
968         Suggested by Bruno Haible.
969
970 2007-07-23  Ben Pfaff  <blp@gnu.org>
971
972         * lib/popcount.h: Use verify_true instead of if...abort.
973         * modules/popcount: Depend on verify module.
974         Suggested by Jim Meyering.
975
976 2007-07-23  Bruno Haible  <bruno@clisp.org>
977
978         * gnulib-tool (func_import): Create a .cvsignore file also when the
979         directory is not yet in CVS but the toplevel directory is. When
980         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
981         Reported by Karl Berry.
982
983 2007-07-22  Ben Pfaff  <blp@gnu.org>
984
985         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
986         case.
987         Suggested by Eric Blake.
988
989 2007-07-22  Ben Pfaff  <blp@gnu.org>
990
991         New module: popcount.
992         * MODULES.html.sh: Add popcount.
993         * modules/popcount: New file.
994         * modules/popcount-tests: New file.
995         * tests/test-popcount.c: New file.
996         * lib/popcount.h: New file.
997         * m4/popcount.m4: New file.
998
999 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
1000
1001         * build-aux/announce-gen: Update to GPLv3.
1002
1003         * build-aux/config.guess: Update from config.
1004
1005 2007-07-21  Bruno Haible  <bruno@clisp.org>
1006
1007         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
1008         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
1009
1010 2007-07-20  Jim Meyering  <jim@meyering.net>
1011
1012         * check-module: Diagnose a self-dependency.
1013
1014 2007-07-19  Bruno Haible  <bruno@clisp.org>
1015
1016         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
1017         empty.
1018         Reported by Eric Blake.
1019
1020 2007-07-18  Bruno Haible  <bruno@clisp.org>
1021
1022         * gnulib-tool: New options --po-base, --po-domain.
1023         (func_usage): Document them.
1024         (pobase, po_domain): New variables.
1025         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
1026         DEFAULT_TEXT_DOMAIN.
1027         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
1028         (func_import): Consider pobase and po_domain. Create a po/ directory.
1029         (func_create_testdir): Set pobase and po_domain to empty.
1030         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
1031         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
1032
1033 2007-07-18  Bruno Haible  <bruno@clisp.org>
1034
1035         * gnulib-tool (func_get_automake_snippet): Synthesize also an
1036         EXTRA_DIST augmentation for files in build-aux/.
1037
1038 2007-07-16  Bruno Haible  <bruno@clisp.org>
1039
1040         * modules/lseek (License): Use the synonymous term "LGPLv2+".
1041         * modules/getdelim (License): Likewise.
1042
1043 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
1044
1045         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
1046         * modules/d-type (License): Likewise.
1047         * modules/extensions (License): Likewise.
1048         * modules/fnmatch (License): Likewise.
1049         * modules/fseeko (License): Likewise.
1050         * modules/getaddrinfo (License): Likewise.
1051         * modules/getline (License): Likewise.
1052         * modules/getlogin_r (License): Likewise.
1053         * modules/getpass (License): Likewise.
1054         * modules/gettimeofday (License): Likewise.
1055         * modules/glob (License): Likewise.
1056         * modules/inet_ntop (License): Likewise.
1057         * modules/malloc (License): Likewise.
1058         * modules/malloca (License): Likewise.
1059         * modules/memmem (License): Likewise.
1060         * modules/mempcpy (License): Likewise.
1061         * modules/memset (License): Likewise.
1062         * modules/minmax (License): Likewise.
1063         * modules/mktime (License): Likewise.
1064         * modules/netinet_in (License): Likewise.
1065         * modules/pathmax (License): Likewise.
1066         * modules/poll (License): Likewise.
1067         * modules/regex (License): Likewise.
1068         * modules/snprintf (License): Likewise.
1069         * modules/stdbool (License): Likewise.
1070         * modules/stdint (License): Likewise.
1071         * modules/stdio (License): Likewise.
1072         * modules/strcase (License): Likewise.
1073         * modules/strcasestr (License): Likewise.
1074         * modules/strdup (License): Likewise.
1075         * modules/string (License): Likewise.
1076         * modules/strndup (License): Likewise.
1077         * modules/strnlen (License): Likewise.
1078         * modules/strpbrk (License): Likewise.
1079         * modules/strptime (License): Likewise.
1080         * modules/strsep (License): Likewise.
1081         * modules/sys_select (License): Likewise.
1082         * modules/sys_socket (License): Likewise.
1083         * modules/sys_stat (License): Likewise.
1084         * modules/sys_time (License): Likewise.
1085         * modules/time (License): Likewise.
1086         * modules/time_r (License): Likewise.
1087         * modules/timegm (License): Likewise.
1088         * modules/unistd (License): Likewise.
1089         * modules/vsnprintf (License): Likewise.
1090         * modules/wctype (License): Likewise.
1091
1092 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1093
1094         * modules/argz (License): LGPLv2+.
1095
1096 2007-07-15  Karl Berry  <karl@gnu.org>
1097
1098         * doc/gnulib.texi: revise node structure per new fdl.texi.
1099
1100 2007-07-14  Bruno Haible  <bruno@clisp.org>
1101
1102         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
1103         the output file.
1104         * lib/uniname/uninames.h: Regenerated.
1105
1106 2007-07-14  Karl Berry  <karl@gnu.org>
1107
1108         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
1109         omitting sectioning and index commands.
1110
1111 2007-07-13  Bruno Haible  <bruno@clisp.org>
1112
1113         New gnulib-tool option --more-symlinks.
1114         * gnulib-tool (func_usage): Document --more-symlinks.
1115         (do_copyrights): New variable.
1116         Recognize option --more-symlinks.
1117         (func_import): Don't add a copyright notice transform to
1118         sed_transform_lib_file if do_copyrights is empty.
1119
1120 2007-07-13  Bruno Haible  <bruno@clisp.org>
1121
1122         * lib/vasnprintf.c (decimal_point_char): Define also if
1123         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
1124         && !NEED_PRINTF_DIRECTIVE_A.
1125         Reported by Clemens Koller <clemens.koller@anagramm.de> via
1126         Gary V. Vaughan <gary@gnu.org>.
1127
1128 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
1129
1130         * lib/inttypes_.h: Undo previous change, since it was fixed
1131         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
1132
1133 2007-07-13  Bruno Haible  <bruno@clisp.org>
1134
1135         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
1136         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
1137
1138 2007-07-13  Jim Meyering  <jim@meyering.net>
1139
1140         df: Don't fail for Tru64's "file-on-file mount".
1141         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
1142         so we fall through and use statfs instead.  Details here:
1143         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
1144         Reported by Albert Chin.
1145
1146 2007-07-13  Bruno Haible  <bruno@clisp.org>
1147
1148         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
1149         * modules/configmake (License): Likewise.
1150         * modules/gettext (License): Likewise.
1151         * modules/gettext-h (License): Likewise.
1152         * modules/include_next (License): Likewise.
1153         * modules/link-warning (License): Likewise.
1154         * modules/localcharset (License): Likewise.
1155         * modules/localename (License): Likewise.
1156         * modules/lock (License): Likewise.
1157         * modules/relocatable-lib-lgpl (License): Likewise.
1158         * modules/size_max (License): Likewise.
1159         * modules/vasnprintf (License): Likewise.
1160         * modules/wchar (License): Likewise.
1161         * modules/xsize (License): Likewise.
1162
1163 2007-07-13  Bruno Haible  <bruno@clisp.org>
1164
1165         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
1166         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
1167
1168 2007-07-12  Bruno Haible  <bruno@clisp.org>
1169
1170         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
1171         in the modules files.
1172
1173 2007-07-11  Karl Berry  <karl@gnu.org>
1174
1175         * MODULES.html.sh (func_module): use
1176          sed -e '\|^'"${includefile}"'$|d'
1177          instead of /.../d, to avoid errors on $includefile's containing /.
1178
1179 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
1180
1181         * gnulib-tool (func_import): Avoid duplication of --avoid
1182         statements
1183         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
1184         names to `_' in variable names.
1185
1186 2007-07-10  Eric Blake  <ebb9@byu.net>
1187
1188         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
1189         * NEWS: Document this change.
1190
1191 2007-07-08  Bruno Haible  <bruno@clisp.org>
1192
1193         Update to Unicode 5.0.
1194         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
1195         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
1196         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
1197         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
1198         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
1199         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
1200         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
1201         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
1202         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
1203         U+10A3F, U+1D242..U+1D244.
1204         (nonspacing_table_ind): Update.
1205         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
1206         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
1207
1208 2007-07-08  Bruno Haible  <bruno@clisp.org>
1209
1210         Update to Unicode 5.0.
1211         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
1212         code transform. Extend the name index field of unicode_name_to_code and
1213         unicode_code_to_name from 16 to 24 bits.
1214         * lib/uniname/uniname.c (unicode_character_name,
1215         unicode_name_character): Add the range 0x12xxx to the code transform.
1216         * lib/uniname/uninames.h: Regenerated.
1217         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
1218
1219 2007-07-07  Bruno Haible  <bruno@clisp.org>
1220
1221         * modules/wcwidth-tests: New file.
1222         * tests/test-wcwidth.c: New file.
1223
1224         Work around MacOS X wcwidth() bug.
1225         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
1226         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
1227         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
1228         original wcwidth in non-UTF-8 locales.
1229         * modules/wcwidth (Depends-on): Add localcharset, streq,
1230         uniwidth/width.
1231         * doc/functions/wcwidth.texi: Update.
1232
1233 2007-07-07  Bruno Haible  <bruno@clisp.org>
1234
1235         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
1236         (wcwidth): New declaration.
1237         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
1238         macros.
1239         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
1240         here. Prepare for creating <wchar.h> unconditionally.
1241         * modules/wchar (Depends-on): Add link-warning.
1242         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
1243         REPLACE_WCWIDTH, and GL_LINK_WARNING.
1244         * lib/wcwidth.h: Remove file.
1245         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
1246         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
1247         * modules/wcwidth (Files): Remove lib/wcwidth.h.
1248         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
1249         (Include): Replace wcwidth.h with <wchar.h>.
1250         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
1251         * lib/mbchar.h: Don't include wcwidth.h.
1252         * lib/mbswidth.c: Likewise.
1253         * NEWS: Mention the change.
1254
1255 2007-07-07  Bruno Haible  <bruno@clisp.org>
1256
1257         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
1258         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
1259         definition with an external declaration.
1260         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
1261         defined as a function. Remove AC_C_INLINE requirement.
1262         * modules/wcwidth (Files): Add lib/wcwidth.c.
1263         (Makefile.am): Remove redundant statement.
1264
1265 2007-07-07  Bruno Haible  <bruno@clisp.org>
1266
1267         * MODULES.html.sh (Unicode string functions): Add the new modules.
1268
1269         * tests/uniwidth/test-u32-strwidth.c: New file.
1270         * modules/uniwidth/u32-strwidth-tests: New file.
1271
1272         * lib/uniwidth/u32-strwidth.c: New file.
1273         * modules/uniwidth/u32-strwidth: New file.
1274
1275         * tests/uniwidth/test-u16-strwidth.c: New file.
1276         * modules/uniwidth/u16-strwidth-tests: New file.
1277
1278         * lib/uniwidth/u16-strwidth.c: New file.
1279         * modules/uniwidth/u16-strwidth: New file.
1280
1281         * tests/uniwidth/test-u8-strwidth.c: New file.
1282         * modules/uniwidth/u8-strwidth-tests: New file.
1283
1284         * lib/uniwidth/u8-strwidth.c: New file.
1285         * modules/uniwidth/u8-strwidth: New file.
1286
1287         * tests/uniwidth/test-u32-width.c: New file.
1288         * modules/uniwidth/u32-width-tests: New file.
1289
1290         * lib/uniwidth/u32-width.c: New file.
1291         * modules/uniwidth/u32-width: New file.
1292
1293         * tests/uniwidth/test-u16-width.c: New file.
1294         * modules/uniwidth/u16-width-tests: New file.
1295
1296         * lib/uniwidth/u16-width.c: New file.
1297         * modules/uniwidth/u16-width: New file.
1298
1299         * tests/uniwidth/test-u8-width.c: New file.
1300         * modules/uniwidth/u8-width-tests: New file.
1301
1302         * lib/uniwidth/u8-width.c: New file.
1303         * modules/uniwidth/u8-width: New file.
1304
1305         * tests/uniwidth/test-uc_width.c: New file.
1306         * modules/uniwidth/width-tests: New file.
1307
1308         * lib/uniwidth/width.c: New file, from GNU libiconv.
1309         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
1310         * modules/uniwidth/width: New file.
1311
1312         * lib/uniwidth.h: New file, from GNU libiconv.
1313         * modules/uniwidth/base: New file.
1314
1315 2007-07-07  Bruno Haible  <bruno@clisp.org>
1316
1317         * lib/uniname.h: New file, from GNU gettext.
1318         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
1319         * lib/uniname/uninames.h: New file, from GNU gettext.
1320         * lib/uniname/uniname.c: New file, from GNU gettext.
1321         * tests/uniname/test-uninames.sh: New file.
1322         * tests/uniname/test-uninames.c: New file, from GNU gettext.
1323         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
1324         * modules/uniname/base: New file.
1325         * modules/uniname/uniname: New file.
1326         * modules/uniname/uniname-tests: New file.
1327         * MODULES.html.sh (Unicode string functions): Add the new modules.
1328
1329 2007-07-06  Bruno Haible  <bruno@clisp.org>
1330
1331         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
1332
1333 2007-07-06  Bruno Haible  <bruno@clisp.org>
1334
1335         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
1336         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
1337         includes <cygwin/sys_time.h> which includes <sys/select.h> which
1338         include <sys/time.h>.
1339         Reported by Eric Blake.
1340
1341 2007-07-06  Eric Blake  <ebb9@byu.net>
1342
1343         Fix testing canonicalize on cygwin.
1344         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
1345         Revert patch from 2007-06-19.
1346         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
1347         canonicalize module is also in use.
1348         * tests/test-canonicalize.c: New file.
1349         * tests/test-canonicalize.sh: Likewise.
1350         * modules/canonicalize-tests: Likewise.
1351
1352 2007-07-06  Jim Meyering  <jim@meyering.net>
1353
1354         * lib/getugroups.c (getugroups): Detect getgrent failure.
1355         Adjust comment to reflect reality: this function may return -1.
1356
1357 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
1358
1359         * build-aux/bootstrap (TP_URL,get_translations): Update to use
1360         the new TP address.
1361         (usage): Fix typo
1362         (gnulib_mk): New variable.
1363
1364 2007-07-05  Jim Meyering  <jim@meyering.net>
1365
1366         Don't let endgrent clobber errno, no matter how improbable.
1367         * lib/getugroups.c (getugroups): Save and restore errno around
1368         endgrent call.
1369
1370         Close the group DB even when failing with 2^31 or more members.
1371         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
1372
1373 2007-07-04  Jim Meyering  <jim@meyering.net>
1374
1375         * lib/getugroups.h: New file.
1376         * lib/getugroups.c: Include "getugroups.h".
1377         Remove uses of "register" keyword.
1378         Move local variable, "cp", down into scope where used.
1379         Give "username" parameter the "const" attribute.
1380         * modules/getugroups (Files): Add lib/getugroups.h
1381
1382 2007-07-04  Karl Berry  <karl@gnu.org>
1383
1384         * MODULES.html.sh (func_all_modules): Complete rename of
1385         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
1386
1387 2007-07-02  Bruno Haible  <bruno@clisp.org>
1388
1389         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
1390         mode, when inttypes.h comes from gnulib.
1391         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
1392
1393 2007-07-02  Simon Josefsson  <simon@josefsson.org>
1394
1395         * NEWS: Mention lgpl module name change.
1396
1397         * modules/lgpl-2.1: Renamed from lgpl.
1398
1399         * NEWS: Mention gpl module name change.
1400
1401         * modules/gpl-3.0: New file, based on gpl-2.0.
1402
1403         * modules/gpl-2.0: Renamed from gpl.
1404
1405         * modules/gpl: Fix filename, doc/gpl.texi is now found at
1406         doc/gpl-2.0.texi.
1407
1408 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1409
1410         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
1411         #define __STDC_LIMIT_MACROS temporarily while including
1412         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
1413         Problem reported by Joel E. Denny in
1414         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
1415
1416 2007-07-01  Bruno Haible  <bruno@clisp.org>
1417
1418         * lib/unistdio.h: New file.
1419         * lib/unistdio/u-asnprintf.h: New file.
1420         * lib/unistdio/u-asprintf.h: New file.
1421         * lib/unistdio/u-printf-args.c: New file.
1422         * lib/unistdio/u-printf-args.h: New file.
1423         * lib/unistdio/u-printf-parse.h: New file.
1424         * lib/unistdio/u-snprintf.h: New file.
1425         * lib/unistdio/u-sprintf.h: New file.
1426         * lib/unistdio/u-vasprintf.h: New file.
1427         * lib/unistdio/u-vsnprintf.h: New file.
1428         * lib/unistdio/u-vsprintf.h: New file.
1429         * lib/unistdio/ulc-asnprintf.c: New file.
1430         * lib/unistdio/ulc-asprintf.c: New file.
1431         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
1432         * lib/unistdio/ulc-printf-parse.c: New file.
1433         * lib/unistdio/ulc-snprintf.c: New file.
1434         * lib/unistdio/ulc-sprintf.c: New file.
1435         * lib/unistdio/ulc-vasnprintf.c: New file.
1436         * lib/unistdio/ulc-vasprintf.c: New file.
1437         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
1438         * lib/unistdio/ulc-vsnprintf.c: New file.
1439         * lib/unistdio/ulc-vsprintf.c: New file.
1440         * lib/unistdio/u8-asnprintf.c: New file.
1441         * lib/unistdio/u8-asprintf.c: New file.
1442         * lib/unistdio/u8-printf-parse.c: New file.
1443         * lib/unistdio/u8-snprintf.c: New file.
1444         * lib/unistdio/u8-sprintf.c: New file.
1445         * lib/unistdio/u8-vasnprintf.c: New file.
1446         * lib/unistdio/u8-vasprintf.c: New file.
1447         * lib/unistdio/u8-vsnprintf.c: New file.
1448         * lib/unistdio/u8-vsprintf.c: New file.
1449         * lib/unistdio/u8-u8-asnprintf.c: New file.
1450         * lib/unistdio/u8-u8-asprintf.c: New file.
1451         * lib/unistdio/u8-u8-snprintf.c: New file.
1452         * lib/unistdio/u8-u8-sprintf.c: New file.
1453         * lib/unistdio/u8-u8-vasnprintf.c: New file.
1454         * lib/unistdio/u8-u8-vasprintf.c: New file.
1455         * lib/unistdio/u8-u8-vsnprintf.c: New file.
1456         * lib/unistdio/u8-u8-vsprintf.c: New file.
1457         * lib/unistdio/u16-asnprintf.c: New file.
1458         * lib/unistdio/u16-asprintf.c: New file.
1459         * lib/unistdio/u16-printf-parse.c: New file.
1460         * lib/unistdio/u16-snprintf.c: New file.
1461         * lib/unistdio/u16-sprintf.c: New file.
1462         * lib/unistdio/u16-vasnprintf.c: New file.
1463         * lib/unistdio/u16-vasprintf.c: New file.
1464         * lib/unistdio/u16-vsnprintf.c: New file.
1465         * lib/unistdio/u16-vsprintf.c: New file.
1466         * lib/unistdio/u16-u16-asnprintf.c: New file.
1467         * lib/unistdio/u16-u16-asprintf.c: New file.
1468         * lib/unistdio/u16-u16-snprintf.c: New file.
1469         * lib/unistdio/u16-u16-sprintf.c: New file.
1470         * lib/unistdio/u16-u16-vasnprintf.c: New file.
1471         * lib/unistdio/u16-u16-vasprintf.c: New file.
1472         * lib/unistdio/u16-u16-vsnprintf.c: New file.
1473         * lib/unistdio/u16-u16-vsprintf.c: New file.
1474         * lib/unistdio/u32-asnprintf.c: New file.
1475         * lib/unistdio/u32-asprintf.c: New file.
1476         * lib/unistdio/u32-printf-parse.c: New file.
1477         * lib/unistdio/u32-snprintf.c: New file.
1478         * lib/unistdio/u32-sprintf.c: New file.
1479         * lib/unistdio/u32-vasnprintf.c: New file.
1480         * lib/unistdio/u32-vasprintf.c: New file.
1481         * lib/unistdio/u32-vsnprintf.c: New file.
1482         * lib/unistdio/u32-vsprintf.c: New file.
1483         * lib/unistdio/u32-u32-asnprintf.c: New file.
1484         * lib/unistdio/u32-u32-asprintf.c: New file.
1485         * lib/unistdio/u32-u32-snprintf.c: New file.
1486         * lib/unistdio/u32-u32-sprintf.c: New file.
1487         * lib/unistdio/u32-u32-vasnprintf.c: New file.
1488         * lib/unistdio/u32-u32-vasprintf.c: New file.
1489         * lib/unistdio/u32-u32-vsnprintf.c: New file.
1490         * lib/unistdio/u32-u32-vsprintf.c: New file.
1491         * tests/unistdio/test-ulc-asnprintf1.c: New file.
1492         * tests/unistdio/test-ulc-asnprintf1.h: New file.
1493         * tests/unistdio/test-ulc-printf1.h: New file.
1494         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
1495         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
1496         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
1497         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
1498         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
1499         * tests/unistdio/test-ulc-vasprintf1.c: New file.
1500         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
1501         * tests/unistdio/test-ulc-vsprintf1.c: New file.
1502         * tests/unistdio/test-u8-asnprintf1.c: New file.
1503         * tests/unistdio/test-u8-asnprintf1.h: New file.
1504         * tests/unistdio/test-u8-printf1.h: New file.
1505         * tests/unistdio/test-u8-vasnprintf1.c: New file.
1506         * tests/unistdio/test-u8-vasnprintf2.c: New file.
1507         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
1508         * tests/unistdio/test-u8-vasnprintf3.c: New file.
1509         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
1510         * tests/unistdio/test-u8-vasprintf1.c: New file.
1511         * tests/unistdio/test-u8-vsnprintf1.c: New file.
1512         * tests/unistdio/test-u8-vsprintf1.c: New file.
1513         * tests/unistdio/test-u16-asnprintf1.c: New file.
1514         * tests/unistdio/test-u16-asnprintf1.h: New file.
1515         * tests/unistdio/test-u16-printf1.h: New file.
1516         * tests/unistdio/test-u16-vasnprintf1.c: New file.
1517         * tests/unistdio/test-u16-vasnprintf2.c: New file.
1518         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
1519         * tests/unistdio/test-u16-vasnprintf3.c: New file.
1520         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
1521         * tests/unistdio/test-u16-vasprintf1.c: New file.
1522         * tests/unistdio/test-u16-vsnprintf1.c: New file.
1523         * tests/unistdio/test-u16-vsprintf1.c: New file.
1524         * tests/unistdio/test-u32-asnprintf1.c: New file.
1525         * tests/unistdio/test-u32-asnprintf1.h: New file.
1526         * tests/unistdio/test-u32-printf1.h: New file.
1527         * tests/unistdio/test-u32-vasnprintf1.c: New file.
1528         * tests/unistdio/test-u32-vasnprintf2.c: New file.
1529         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
1530         * tests/unistdio/test-u32-vasnprintf3.c: New file.
1531         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
1532         * tests/unistdio/test-u32-vasprintf1.c: New file.
1533         * tests/unistdio/test-u32-vsnprintf1.c: New file.
1534         * tests/unistdio/test-u32-vsprintf1.c: New file.
1535         * modules/unistdio/base: New file.
1536         * modules/unistdio/u-printf-args: New file.
1537         * modules/unistdio/ulc-asnprintf: New file.
1538         * modules/unistdio/ulc-asprintf: New file.
1539         * modules/unistdio/ulc-fprintf: New file.
1540         * modules/unistdio/ulc-printf-parse: New file.
1541         * modules/unistdio/ulc-snprintf: New file.
1542         * modules/unistdio/ulc-sprintf: New file.
1543         * modules/unistdio/ulc-vasnprintf: New file.
1544         * modules/unistdio/ulc-vasprintf: New file.
1545         * modules/unistdio/ulc-vfprintf: New file.
1546         * modules/unistdio/ulc-vsnprintf: New file.
1547         * modules/unistdio/ulc-vsprintf: New file.
1548         * modules/unistdio/u8-asnprintf: New file.
1549         * modules/unistdio/u8-asprintf: New file.
1550         * modules/unistdio/u8-printf-parse: New file.
1551         * modules/unistdio/u8-snprintf: New file.
1552         * modules/unistdio/u8-sprintf: New file.
1553         * modules/unistdio/u8-vasnprintf: New file.
1554         * modules/unistdio/u8-vasprintf: New file.
1555         * modules/unistdio/u8-vsnprintf: New file.
1556         * modules/unistdio/u8-vsprintf: New file.
1557         * modules/unistdio/u8-u8-asnprintf: New file.
1558         * modules/unistdio/u8-u8-asprintf: New file.
1559         * modules/unistdio/u8-u8-snprintf: New file.
1560         * modules/unistdio/u8-u8-sprintf: New file.
1561         * modules/unistdio/u8-u8-vasnprintf: New file.
1562         * modules/unistdio/u8-u8-vasprintf: New file.
1563         * modules/unistdio/u8-u8-vsnprintf: New file.
1564         * modules/unistdio/u8-u8-vsprintf: New file.
1565         * modules/unistdio/u16-asnprintf: New file.
1566         * modules/unistdio/u16-asprintf: New file.
1567         * modules/unistdio/u16-printf-parse: New file.
1568         * modules/unistdio/u16-snprintf: New file.
1569         * modules/unistdio/u16-sprintf: New file.
1570         * modules/unistdio/u16-vasnprintf: New file.
1571         * modules/unistdio/u16-vasprintf: New file.
1572         * modules/unistdio/u16-vsnprintf: New file.
1573         * modules/unistdio/u16-vsprintf: New file.
1574         * modules/unistdio/u16-u16-asnprintf: New file.
1575         * modules/unistdio/u16-u16-asprintf: New file.
1576         * modules/unistdio/u16-u16-snprintf: New file.
1577         * modules/unistdio/u16-u16-sprintf: New file.
1578         * modules/unistdio/u16-u16-vasnprintf: New file.
1579         * modules/unistdio/u16-u16-vasprintf: New file.
1580         * modules/unistdio/u16-u16-vsnprintf: New file.
1581         * modules/unistdio/u16-u16-vsprintf: New file.
1582         * modules/unistdio/u32-asnprintf: New file.
1583         * modules/unistdio/u32-asprintf: New file.
1584         * modules/unistdio/u32-printf-parse: New file.
1585         * modules/unistdio/u32-snprintf: New file.
1586         * modules/unistdio/u32-sprintf: New file.
1587         * modules/unistdio/u32-vasnprintf: New file.
1588         * modules/unistdio/u32-vasprintf: New file.
1589         * modules/unistdio/u32-vsnprintf: New file.
1590         * modules/unistdio/u32-vsprintf: New file.
1591         * modules/unistdio/u32-u32-asnprintf: New file.
1592         * modules/unistdio/u32-u32-asprintf: New file.
1593         * modules/unistdio/u32-u32-snprintf: New file.
1594         * modules/unistdio/u32-u32-sprintf: New file.
1595         * modules/unistdio/u32-u32-vasnprintf: New file.
1596         * modules/unistdio/u32-u32-vasprintf: New file.
1597         * modules/unistdio/u32-u32-vsnprintf: New file.
1598         * modules/unistdio/u32-u32-vsprintf: New file.
1599         * modules/unistdio/ulc-asnprintf-tests: New file.
1600         * modules/unistdio/ulc-vasnprintf-tests: New file.
1601         * modules/unistdio/ulc-vasprintf-tests: New file.
1602         * modules/unistdio/ulc-vsnprintf-tests: New file.
1603         * modules/unistdio/ulc-vsprintf-tests: New file.
1604         * modules/unistdio/u8-asnprintf-tests: New file.
1605         * modules/unistdio/u8-vasnprintf-tests: New file.
1606         * modules/unistdio/u8-vasprintf-tests: New file.
1607         * modules/unistdio/u8-vsnprintf-tests: New file.
1608         * modules/unistdio/u8-vsprintf-tests: New file.
1609         * modules/unistdio/u16-asnprintf-tests: New file.
1610         * modules/unistdio/u16-vasnprintf-tests: New file.
1611         * modules/unistdio/u16-vasprintf-tests: New file.
1612         * modules/unistdio/u16-vsnprintf-tests: New file.
1613         * modules/unistdio/u16-vsprintf-tests: New file.
1614         * modules/unistdio/u32-asnprintf-tests: New file.
1615         * modules/unistdio/u32-vasnprintf-tests: New file.
1616         * modules/unistdio/u32-vasprintf-tests: New file.
1617         * modules/unistdio/u32-vsnprintf-tests: New file.
1618         * modules/unistdio/u32-vsprintf-tests: New file.
1619         * MODULES.html.sh (Unicode string functions): Add the new modules.
1620
1621 2007-07-01  Bruno Haible  <bruno@clisp.org>
1622
1623         * lib/sprintf.c (sprintf): Limit the available length estimation,
1624         to avoid address wraparound.
1625         * lib/vsprintf.c (vsprintf): Likewise.
1626         * modules/sprintf-posix (Dependencies): Add stdint.
1627         * modules/vsprintf-posix (Dependencies): Likewise.
1628
1629 2007-07-01  Bruno Haible  <bruno@clisp.org>
1630
1631         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
1632         Windows PATH as well. Conservative double-quoting. Comments.
1633
1634 2007-07-01  Bruno Haible  <bruno@clisp.org>
1635             Eric Blake  <ebb9@byu.net>
1636             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1637
1638         * gnulib-tool (self_abspathname): Fix algorithm to cope with
1639         empty components in $PATH, denoting '.'.
1640
1641 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1642
1643         * gnulib-tool: Fix indentation.
1644         (func_create_megatestdir): Likewise.
1645         Report by Bruno Haible.
1646
1647 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1648
1649         Sync from Automake.
1650         * build-aux/gnupload: Fix shell portability issues with for loops.
1651         Report by Karl Berry.
1652
1653 2007-06-29  Simon Josefsson  <simon@josefsson.org>
1654
1655         * build-aux/maint.mk (POURL): Use translationproject.org.
1656
1657 2007-06-27  Simon Josefsson  <simon@josefsson.org>
1658             Bruno Haible  <bruno@clisp.org>
1659
1660         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
1661         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
1662         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
1663         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
1664         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
1665
1666 2007-06-27  Bruno Haible  <bruno@clisp.org>
1667
1668         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
1669         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
1670
1671 2007-06-26  Karl Berry  <karl@gnu.org>
1672
1673         * MODULES.html.sh: remove xreadlink-with-size.
1674
1675 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1676
1677         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
1678         method that I hope also handles the double-include problem noted
1679         by Bruno Haible in
1680         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
1681
1682 2007-06-23  Bruno Haible  <bruno@clisp.org>
1683
1684         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
1685         Don't let the 'mostlyclean' target fail if the last subdirectory could
1686         not be removed.
1687         Reported by Karl Berry.
1688
1689 2007-06-23  Bruno Haible  <bruno@clisp.org>
1690
1691         * gnulib-tool (echo): Add a speedier workaround for ksh.
1692         * tests/test-echo.sh: Likewise.
1693
1694 2007-06-23  Bruno Haible  <bruno@clisp.org>
1695
1696         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
1697         * tests/test-echo.sh: Likewise.
1698
1699 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1700
1701         * gnulib-tool (IFS): Initialize early, so we don't set it to
1702         empty later.
1703         (self_abspathname): Rewrite algorithm to set it, reindent.
1704         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
1705         (func_create_megatestdir): Merge some sed scripts.
1706
1707 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1708
1709         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
1710         exposed by Sun Studio 11 cc on Solaris 8.
1711
1712 2007-06-22  Bruno Haible  <bruno@clisp.org>
1713
1714         * gnulib-tool (echo): Ensure the echo primitive does not interpret
1715         backslashes.
1716         * tests/test-echo.sh: New file.
1717
1718 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1719
1720         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
1721         simplify `sed_replace_build_aux' scripts, they are portable but
1722         echoing them with `echo' is not.
1723         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
1724
1725 2007-06-21  Karl Berry  <karl@gnu.org>
1726
1727         * config/srclist.txt: guess we can't handle the licenses via
1728         srclist at the moment.
1729
1730 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1731
1732         * MODULES.html.sh: Add include_next.
1733         * modules/include_next: New file.
1734
1735 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1736
1737         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
1738         INCLUDE_NEXT.
1739         (gl_CHECK_NEXT_HEADERS): New macro.
1740         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
1741         the obsolescent gl_ABSOLUTE_HEADER.
1742         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
1743         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
1744         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
1745         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
1746         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
1747         * m4/math_h.m4 (gl_MATH_H): Likewise.
1748         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
1749         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
1750         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
1751         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1752         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
1753         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
1754         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
1755         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
1756         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
1757         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
1758         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
1759         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
1760         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
1761         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1762         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
1763         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
1764         * m4/inttypes.m4 (gl_INTTYPES_H): Define
1765         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
1766         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
1767         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
1768         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
1769         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
1770         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
1771         * lib/float_.h: Likewise.
1772         * lib/inttypes_.h: Likewise.
1773         * lib/math_.h: Likewise.
1774         * lib/search_.h: Likewise.
1775         * lib/signal_.h: Likewise.
1776         * lib/stdint_.h: Likewise.
1777         * lib/stdio_.h: Likewise.
1778         * lib/stdlib_.h: Likewise.
1779         * lib/string_.h: Likewise.
1780         * lib/sys_stat_.h: Likewise.
1781         * lib/sys_time_.h: Likewise.
1782         * lib/time_.h: Likewise.
1783         * lib/unistd_.h: Likewise.
1784         * lib/wchar_.h: Likewise.
1785         * lib/wctype_.h: Likewise.
1786         * lib/dirent_.h: Likewise.
1787         * lib/iconv_.h: Likewise.
1788         * lib/locale_.h: Likewise.
1789         * lib/netinet_in_.h: Likewise.
1790         * lib/sys_select_.h: Likewise.
1791         * lib/sys_socket_.h: Likewise.
1792         * lib/sysexits_.h: Likewise.
1793         * modules/fcntl (Depends-on): Depend on include_next, not
1794         absolute_header.
1795         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
1796         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
1797         * modules/fchdir: Likewise.
1798         * modules/float: Likewise.
1799         * modules/iconv_open: Likewise.
1800         * modules/inttypes: Likewise.
1801         * modules/locale: Likewise.
1802         * modules/math: Likewise.
1803         * modules/netinet_in: Likewise.
1804         * modules/search: Likewise.
1805         * modules/signal: Likewise.
1806         * modules/stdint: Likewise.
1807         * modules/stdio: Likewise.
1808         * modules/stdlib: Likewise.
1809         * modules/string: Likewise.
1810         * modules/sys_select: Likewise.
1811         * modules/sys_socket: Likewise.
1812         * modules/sys_stat: Likewise.
1813         * modules/sys_time: Likewise.
1814         * modules/sysexits: Likewise.
1815         * modules/time: Likewise.
1816         * modules/unistd: Likewise.
1817         * modules/wchar: Likewise.
1818         * modules/wctype: Likewise.
1819         * modules/sys_stat: Change maintainer to "all".
1820         * modules/unistd: Likewise.
1821
1822 2007-06-20  Karl Berry  <karl@gnu.org>
1823
1824         * config/srclist.txt: track www changes in license files.
1825
1826 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
1827
1828         * build-aux/bootstrap: Remove stray dot.
1829         Make sure build_aux settings are honored when linking
1830         gnulib_extra_files.
1831
1832 2007-06-19  Eric Blake  <ebb9@byu.net>
1833
1834         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
1835         Allow compilation on cygwin.
1836
1837 2007-06-19  Jim Meyering  <jim@meyering.net>
1838
1839         xreadlink-with-size: Remove module.  No longer used.
1840         Ex-callers now use xreadlink or mreadlink-with-size.
1841         * modules/xreadlink-with-size: Remove module.
1842         * lib/xreadlink-with-size.c: Remove file.
1843         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
1844         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
1845         just before the function definition *is* accurate.
1846
1847         Eliminate one way canonicalize_filename_mode could exit.
1848         * lib/canonicalize.c (canonicalize_filename_mode):
1849         Use mreadlink_with_size, not xreadlink_with_size.
1850
1851 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
1852
1853         Detect porting problems to FreeBSD/arm, which has time_t wider than
1854         long int.  Original problem reported for GNU diff by Xin Li in
1855         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
1856         * modules/getdate (Depends-on): Add intprops, verify.
1857         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
1858         is an integer type no wider than long int.
1859
1860 2007-06-18  Jim Meyering  <jim@meyering.net>
1861
1862         New module: mreadlink-with-size.
1863         * MODULES.html.sh: Add mreadlink-with-size.
1864         * modules/mreadlink-with-size: New module
1865         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
1866         not xreadlink-with-size.
1867         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
1868
1869 2007-06-16  Bruno Haible  <bruno@clisp.org>
1870
1871         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
1872         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
1873         Reported by Gary V. Vaughan <gary@gnu.org>.
1874
1875 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1876
1877         Revamp lchown so that it lives in unistd.h where it belongs.
1878         * lib/lchown.h: Remove.
1879         * lib/dirchownmod.c: Don't include lib/lchown.h.
1880         * lib/fchownat.c: Likewise.
1881         * lib/openat.c: Likewise.
1882         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
1883         does not follow symlinks.
1884         (EOPNOTSUPP): Define if not defined.
1885         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
1886         is defined to 0.
1887         (lchown): New decl.
1888         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
1889         Do not check for lchown decl.
1890         Set REPLACE_LCHOWN.
1891         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
1892         REPLACE_LCHOWN.
1893         * modules/chown: Make it clear it follows symlinks.
1894         * modules/lchown: Make it clear it doesn't follow symlinks.
1895         (Files): Remove lib/lchown.h
1896         (Depends-on): Add unistd.
1897         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
1898         (Include): Include <unistd.h>, not "lchown.h".
1899         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
1900         REPLACE_LCHOWN.
1901
1902 2007-06-15  Jim Meyering  <jim@meyering.net>
1903
1904         Change license (GPL to LGPL) of fsusage and dependents.
1905         * modules/fsusage (License): Change to LGPL.
1906         * modules/full-read (License): Likewise.
1907         * modules/full-write (License): Likewise.
1908         * modules/safe-read (License): Likewise.
1909         * modules/safe-write (License): Likewise.
1910
1911 2007-06-14  Ben Pfaff  <blp@gnu.org>
1912
1913         Missing part of allocsa -> malloca transition.
1914         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
1915         gl_MALLOCA.
1916
1917 2007-06-12  Bruno Haible  <bruno@clisp.org>
1918
1919         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
1920         to ia64, x86_64, i386.
1921         Reported by Eric Blake.
1922
1923 2007-06-12  Bruno Haible  <bruno@clisp.org>
1924
1925         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
1926         cross-compiling to x86_64.
1927
1928 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1929
1930         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
1931         glitch reported by Ralf Wildenhues in
1932         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
1933
1934         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
1935         Vin Shelton.
1936
1937 2007-06-11  Bruno Haible  <bruno@clisp.org>
1938
1939         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
1940         replacement string.
1941         Reported by Eric Blake.
1942
1943 2007-06-10  Bruno Haible  <bruno@clisp.org>
1944
1945         Prepare vasnprintf code for use with Unicode strings.
1946         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
1947         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
1948         TYPE_U32_STRING.
1949         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
1950         a_u32_string variants.
1951         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
1952         * lib/printf-args.c: Don't include config.h and the specification
1953         header if PRINTF_FETCHARGS is already defined.
1954         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
1955         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
1956         TYPE_U16_STRING, TYPE_U32_STRING.
1957         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
1958         u16_directive, u16_directives, u32_directive, u32_directives): New
1959         types.
1960         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
1961         New declarations.
1962         * lib/printf-parse.c: Don't include config.h and the specification
1963         header if PRINTF_PARSE is already defined. Eliminate the set of
1964         parameters for WIDE_CHAR_VERSION; the user of this file must provide
1965         them now. Include c-ctype.h.
1966         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
1967         directive and CHAR_T_ONLY_ASCII.
1968         * lib/vasnprintf.c: Don't include config.h and the specification header
1969         if VASNPRINTF is already defined.
1970         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
1971         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
1972         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
1973         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
1974         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
1975         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
1976         code accordingly.
1977         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
1978         pad_ourselves also in this case, with the 'c' and 's' directives, and
1979         with a different notion of "width".
1980         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
1981
1982 2007-06-10  Bruno Haible  <bruno@clisp.org>
1983
1984         * modules/unistr/u32-mbsnlen: New file.
1985         * lib/unistr/u32-mbsnlen.c: New file.
1986
1987         * modules/unistr/u16-mbsnlen: New file.
1988         * lib/unistr/u16-mbsnlen.c: New file.
1989
1990         * modules/unistr/u8-mbsnlen: New file.
1991         * lib/unistr/u8-mbsnlen.c: New file.
1992
1993         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
1994         declarations.
1995
1996 2007-06-10  Bruno Haible  <bruno@clisp.org>
1997
1998         * lib/string_.h (mbsnlen): New declaration.
1999         * lib/mbsnlen.c: New file.
2000         * m4/mbsnlen.m4: New file.
2001         * modules/mbsnlen: New file.
2002         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
2003         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
2004         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
2005
2006 2007-06-10  Bruno Haible  <bruno@clisp.org>
2007
2008         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
2009
2010 2007-06-10  Bruno Haible  <bruno@clisp.org>
2011
2012         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
2013         * lib/mbuiter.h: Likewise.
2014
2015 2007-06-10  Bruno Haible  <bruno@clisp.org>
2016
2017         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
2018         declaration.
2019
2020 2007-06-10  Karl Berry  <karl@gnu.org>
2021
2022         * config/srclist.txt: remove gettext entries, Bruno prefers
2023         to update individually.
2024
2025 2007-06-10  Bruno Haible  <bruno@clisp.org>
2026
2027         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
2028         'maxlen'. Ensure only length + width bytes are allocated, not
2029         length + 1 + width.
2030
2031 2007-06-09  Bruno Haible  <bruno@clisp.org>
2032
2033         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
2034         (CHAR_T): Remove macro.
2035         (VASNPRINTF): Update.
2036
2037 2007-06-09  Bruno Haible  <bruno@clisp.org>
2038
2039         * MODULES.html.sh (Unicode string functions): Add the new modules.
2040
2041         * modules/uniconv/u32-conv-to-enc: New file.
2042         * lib/uniconv/u32-conv-to-enc.c: New file.
2043         * modules/uniconv/u32-conv-to-enc-tests: New file.
2044         * tests/uniconv/test-u32-conv-to-enc.c: New file.
2045
2046         * modules/uniconv/u16-conv-to-enc: New file.
2047         * lib/uniconv/u16-conv-to-enc.c: New file.
2048         * lib/uniconv/u-conv-to-enc.h: New file.
2049         * modules/uniconv/u16-conv-to-enc-tests: New file.
2050         * tests/uniconv/test-u16-conv-to-enc.c: New file.
2051
2052         * modules/uniconv/u8-conv-to-enc: New file.
2053         * lib/uniconv/u8-conv-to-enc.c: New file.
2054         * modules/uniconv/u8-conv-to-enc-tests: New file.
2055         * tests/uniconv/test-u8-conv-to-enc.c: New file.
2056
2057         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
2058         u32_conv_to_encoding): New declarations.
2059
2060 2007-06-09  Bruno Haible  <bruno@clisp.org>
2061
2062         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
2063
2064 2007-06-09  Bruno Haible  <bruno@clisp.org>
2065
2066         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
2067         * modules/malloca: Renamed from modules/allocsa, updated.
2068         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
2069         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
2070         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
2071         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
2072         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
2073         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
2074         * modules/xmalloca: Renamed from modules/xallocsa, updated.
2075         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
2076         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
2077         * modules/c-strcasestr (Depends-on): Update.
2078         * lib/c-strcasestr.c: Update.
2079         * modules/c-strstr (Depends-on): Update.
2080         * lib/c-strstr.c: Update.
2081         * modules/canonicalize-lgpl (Depends-on): Update.
2082         * lib/canonicalize-lgpl.c: Update.
2083         * modules/clean-temp (Depends-on): Update.
2084         * lib/clean-temp.c: Update.
2085         * modules/csharpcomp (Depends-on): Update.
2086         * lib/csharpcomp.c: Update.
2087         * modules/csharpexec (Depends-on): Update.
2088         * lib/csharpexec.c: Update.
2089         * modules/javacomp (Depends-on): Update.
2090         * lib/javacomp.c: Update.
2091         * modules/javaexec (Depends-on): Update.
2092         * lib/javaexec.c: Update.
2093         * modules/mbscasestr (Depends-on): Update.
2094         * lib/mbscasestr.c: Update.
2095         * modules/mbsstr (Depends-on): Update.
2096         * lib/mbsstr.c: Update.
2097         * modules/setenv (Depends-on): Update.
2098         * lib/setenv.c: Update.
2099         * modules/strcasestr (Depends-on): Update.
2100         * lib/strcasestr.c: Update.
2101         * modules/striconveha (Depends-on): Update.
2102         * lib/striconveha.c: Update.
2103         * modules/relocatable-prog-wrapper (Files): Update.
2104         * lib/relocwrapper.c: Update.
2105         * build-aux/install-reloc: Update.
2106         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
2107
2108 2007-06-08  Bruno Haible  <bruno@clisp.org>
2109
2110         Port to uClibc.
2111         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
2112         * lib/fpurge.c (fpurge): Likewise.
2113         * lib/freading.c (freading): Likewise.
2114         * lib/fseeko.c (rpl_fseeko): Likewise.
2115         * lib/fseterr.c (fseterr): Likewise.
2116         * lib/fwriting.c (fwriting): Likewise.
2117         * tests/test-fflush.c (main): Avoid a failure on uClibc.
2118
2119 2007-06-08  Bruno Haible  <bruno@clisp.org>
2120
2121         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
2122         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
2123         * modules/gettext (Files): Add m4/intlmacosx.m4.
2124
2125 2007-06-07  Bruno Haible  <bruno@clisp.org>
2126
2127         * modules/localename-tests: New file.
2128         * tests/test-localename.c: New file.
2129
2130         New module 'localename'.
2131         * lib/localename.h: New file.
2132         * lib/localename.c: New file, from GNU gettext.
2133         * m4/localename.m4: New file.
2134         * modules/localename: New file.
2135
2136 2007-06-07  Bruno Haible  <bruno@clisp.org>
2137
2138         Work around the lack of <wchar.h> on some builds of uClibc.
2139         * doc/headers/wchar.texi: Update.
2140         * lib/wchar_.h: Include <wchar.h> only if it exists.
2141         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
2142         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
2143         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
2144         doesn't exist.
2145         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
2146         * modules/mbfile (Depends-on): Add wchar.
2147         * modules/mbiter (Depends-on): Likewise.
2148         * modules/mbuiter (Depends-on): Likewise.
2149         Reported by Simon Josefsson.
2150
2151 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
2152
2153         Work around problem reported by Steven M. Schweda in
2154         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
2155         Tru64 5.1B with the Compaq compiler environment installed declares
2156         an 'isblank' function but does not define it in the C library.
2157         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
2158         * lib/regex_internal.h (isblank): Likewise.
2159         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
2160         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
2161
2162 2007-06-05  Bruno Haible  <bruno@clisp.org>
2163
2164         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
2165         ia64.
2166         * modules/printf-safe: New file.
2167         * modules/fprintf-posix (Depends-on): Add printf-safe.
2168         * modules/printf-posix (Depends-on): Likewise.
2169         * modules/snprintf-posix (Depends-on): Likewise.
2170         * modules/sprintf-posix (Depends-on): Likewise.
2171         * modules/vasnprintf-posix (Depends-on): Likewise.
2172         * modules/vasprintf-posix (Depends-on): Likewise.
2173         * modules/vfprintf-posix (Depends-on): Likewise.
2174         * modules/vprintf-posix (Depends-on): Likewise.
2175         * modules/vsnprintf-posix (Depends-on): Likewise.
2176         * modules/vsprintf-posix (Depends-on): Likewise.
2177         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
2178         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
2179         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
2180         "no" on i386, x86_64, ia64.
2181         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
2182         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
2183         on i386, x86_64, ia64.
2184         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
2185         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
2186         on i386, x86_64, ia64.
2187         * tests/test-vasnprintf-posix.c: Include float.h.
2188         (LDBL80_WORDS): New macro.
2189         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
2190         on i386, x86_64, ia64.
2191         * tests/test-vasprintf-posix.c: Include float.h.
2192         (LDBL80_WORDS): New macro.
2193         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
2194         on i386, x86_64, ia64.
2195         * tests/test-snprintf-posix.c: Include float.h.
2196         * tests/test-sprintf-posix.c: Likewise.
2197         * tests/test-vsnprintf-posix.c: Likewise.
2198         * tests/test-vsprintf-posix.c: Likewise.
2199
2200 2007-06-05  Bruno Haible  <bruno@clisp.org>
2201
2202         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
2203         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
2204         non-IEEE numbers on i386, x86_64, ia64.
2205         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
2206         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
2207         * tests/test-isnanl.h: Include float.h.
2208         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
2209
2210 2007-06-05  Bruno Haible  <bruno@clisp.org>
2211
2212         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
2213         also the %a / %A. Handle the %a / %A code before this extra handling.
2214
2215 2007-06-05  Bruno Haible  <bruno@clisp.org>
2216
2217         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
2218         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
2219
2220 2007-06-05  Bruno Haible  <bruno@clisp.org>
2221
2222         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
2223         typo in variable name.
2224
2225 2007-06-05  Eric Blake  <ebb9@byu.net>
2226
2227         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
2228         Reported by Simon Josefsson.
2229
2230 2007-06-04  Bruno Haible  <bruno@clisp.org>
2231
2232         Avoid test failures on some PowerPC platforms.
2233         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
2234         Define differently for PowerPC.
2235         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
2236         Reported by Gary V. Vaughan <gary@gnu.org>.
2237
2238 2007-06-02  Bruno Haible  <bruno@clisp.org>
2239
2240         Fix test-stdint failure on FreeBSD/ia64.
2241         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
2242         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
2243         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
2244         * doc/headers/stdint.texi: Update.
2245
2246 2007-06-01  Bruno Haible  <bruno@clisp.org>
2247
2248         * tests/test-binary-io.c (main): Pass a third argument to open().
2249         Reported by Gary V. Vaughan <gary@gnu.org>.
2250
2251 2007-06-01  Bruno Haible  <bruno@clisp.org>
2252
2253         * doc/functions/frexpl.texi: Update for mingw.
2254
2255 2007-06-01  Bruno Haible  <bruno@clisp.org>
2256
2257         * tests/test-lseek.c (main): Disable test of errno for invalid third
2258         argument.
2259         * doc/functions/lseek.texi: Update.
2260         Reported by Gary V. Vaughan <gary@gnu.org>.
2261
2262 2007-05-28  Bruno Haible  <bruno@clisp.org>
2263
2264         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
2265
2266 2007-05-31  Eric Blake  <ebb9@byu.net>
2267
2268         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
2269         cross compiling.
2270
2271 2007-05-30  Eric Blake  <ebb9@byu.net>
2272         and Bruno Haible  <bruno@clisp.org>
2273
2274         Work around mingw test failures exposed by m4-1.4.9b.
2275         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
2276         * tests/test-unistd.c: Disable uid_t and git_t tests for the
2277         moment.
2278
2279 2007-05-30  Bruno Haible  <bruno@clisp.org>
2280
2281         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
2282         assuming that they are closed. Needed on HP-UX 11.
2283
2284 2007-05-29  Bruno Haible  <bruno@clisp.org>
2285
2286         Fix a problem with #include_next.
2287         * lib/dirent_.h: Split the double-inclusion guard.
2288         * lib/fcntl_.h: Likewise.
2289         * lib/float_.h: Likewise.
2290         * lib/iconv_.h: Likewise.
2291         * lib/inttypes_.h: Likewise.
2292         * lib/locale_.h: Likewise.
2293         * lib/math_.h: Likewise.
2294         * lib/netinet_in_.h: Likewise.
2295         * lib/search_.h: Likewise.
2296         * lib/signal_.h: Likewise.
2297         * lib/stdint_.h: Likewise.
2298         * lib/stdio_.h: Likewise.
2299         * lib/stdlib_.h: Likewise.
2300         * lib/string_.h: Likewise.
2301         * lib/sys_select_.h: Likewise.
2302         * lib/sys_socket_.h: Likewise.
2303         * lib/sys_stat_.h: Likewise.
2304         * lib/sys_time_.h: Likewise.
2305         * lib/sysexits_.h: Likewise.
2306         * lib/time_.h: Likewise.
2307         * lib/unistd_.h: Likewise.
2308         * lib/wchar_.h: Likewise.
2309         * lib/wctype_.h: Likewise.
2310
2311 2007-05-29  Bruno Haible  <bruno@clisp.org>
2312
2313         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
2314         for the moment.
2315
2316 2007-05-29  Bruno Haible  <bruno@clisp.org>
2317
2318         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
2319         invocation.
2320         Reported by Eric Blake.
2321
2322 2007-05-29  Bruno Haible  <bruno@clisp.org>
2323
2324         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
2325         compiling case.
2326
2327 2007-05-29  Eric Blake  <ebb9@byu.net>
2328             Bruno Haible  <bruno@clisp.org>
2329
2330         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
2331         cross compiles.
2332
2333 2007-05-28  Eric Blake  <ebb9@byu.net>
2334
2335         * modules/closein-tests (test_closein_LDADD): Support test on
2336         cygwin with libtool.
2337
2338 2007-05-28  Bruno Haible  <bruno@clisp.org>
2339
2340         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
2341         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
2342         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
2343         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
2344         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
2345         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
2346         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
2347         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
2348         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
2349
2350 2007-05-28  Eric Blake  <ebb9@byu.net>
2351
2352         Unconditionally include <config.h> in unit tests.
2353         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
2354         * tests/test-allocsa.c, tests/test-arcfour.c,
2355         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
2356         tests/test-array_list.c, tests/test-array_oset.c,
2357         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
2358         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
2359         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
2360         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
2361         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
2362         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
2363         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
2364         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
2365         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
2366         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
2367         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
2368         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
2369         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
2370         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
2371         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
2372         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
2373         test-md5.c, test-memmem.c, test-printf-posix.c,
2374         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
2375         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
2376         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
2377         test-strcasestr.c, test-striconv.c, test-striconveh.c,
2378         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
2379         test-vasnprintf-posix2.c, test-vasnprintf.c,
2380         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
2381         test-vfprintf-posix.c, test-vprintf-posix.c,
2382         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
2383         test-xvasprintf.c: Likewise.
2384
2385 2007-05-28  Bruno Haible  <bruno@clisp.org>
2386
2387         * gnulib-tool (func_import): Remember the --with-tests command-line
2388         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
2389         Reported by Eric Blake.
2390
2391 2007-05-28  Bruno Haible  <bruno@clisp.org>
2392
2393         * modules/ftell-tests: New file.
2394         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
2395         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
2396
2397         * lib/ftell.c: New file.
2398         * modules/ftell: New file.
2399         * m4/ftell.m4: New file.
2400         * doc/functions/ftell.texi: Update.
2401         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
2402         REPLACE_FTELL.
2403         * lib/stdio_.h (rpl_ftell): New declaration.
2404         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
2405         REPLACE_FTELL.
2406
2407 2007-05-28  Eric Blake  <ebb9@byu.net>
2408
2409         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
2410
2411 2007-05-28  Bruno Haible  <bruno@clisp.org>
2412
2413         * modules/fseek-tests: New file.
2414         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
2415         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
2416
2417         * lib/fseek.c: New file.
2418         * modules/fseek: New file.
2419         * m4/fseek.m4: New file.
2420         * doc/functions/fseek.texi: Update.
2421         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
2422         REPLACE_FSEEK.
2423         * lib/stdio_.h (rpl_fseek): New declaration.
2424         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
2425         REPLACE_FSEEK.
2426
2427 2007-05-28  Bruno Haible  <bruno@clisp.org>
2428
2429         * lib/stdio_.h (fflush): More comments.
2430
2431 2007-05-28  Bruno Haible  <bruno@clisp.org>
2432
2433         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
2434         runtime test.
2435
2436 2007-05-28  Eric Blake  <ebb9@byu.net>
2437
2438         Improve lseek module.
2439         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
2440         * lib/unistd_.h (lseek): Scale back link warning message.
2441         * tests/test-lseek.c: Beef up test.
2442         * tests/test-lseek.sh: Exercise more facets of lseek.
2443         Reported by Bruno Haible.
2444
2445 2007-05-28  Bruno Haible  <bruno@clisp.org>
2446
2447         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
2448         to define.
2449
2450 2007-05-27  Bruno Haible  <bruno@clisp.org>
2451
2452         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
2453
2454 2007-05-27  Bruno Haible  <bruno@clisp.org>
2455
2456         * modules/openmp: New file.
2457         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
2458         Noah Misch.
2459
2460 2007-05-26  Bruno Haible  <bruno@clisp.org>
2461
2462         * modules/chdir-long (Depends-on): Add fchdir.
2463         * modules/chdir-safer (Depends-on): Likewise.
2464         * modules/fts (Depends-on): Likewise.
2465         * modules/fts-lgpl (Depends-on): Likewise.
2466         * modules/openat (Depends-on): Likewise.
2467         * modules/savewd (Depends-on): Likewise.
2468
2469 2007-05-24  Eric Blake  <ebb9@byu.net>
2470
2471         Fix lseek on mingw.
2472         * modules/lseek: New module.
2473         * m4/lseek.m4: New file.
2474         * lib/lseek.c: New file.
2475         * modules/lseek-tests: New file.
2476         * tests/test-lseek.c: New file.
2477         * tests/test-lseek.sh: New file.
2478         * MODULES.html.sh: Document lseek module.
2479         * modules/fflush (Depends-on): Add lseek, fseeko.
2480         * modules/fseeko (Depends-on): Likewise.
2481         * modules/ftello (Depends-on): Likewise.
2482         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
2483         broken.
2484         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
2485         broken.
2486         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
2487         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
2488         * lib/ftello.c (rpl_ftello): Likewise.
2489         * tests/test-fseeko.c (main): Test this.
2490         * tests/test-fseeko.sh: Likewise.
2491         * tests/test-ftello.c (main): Likewise.
2492         * tests/test-ftello.sh: Likewise.
2493         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
2494         implies replacing fseek.
2495         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
2496         HAVE_FTELLO.
2497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
2498         * modules/unistd (Makefile.am): Likewise.
2499         * lib/unistd_.h (lseek): Declare a replacement.
2500         * doc/functions/lseek.texi (lseek): Document this fix.
2501         * doc/functions/fseek.texi (fseek): Likewise.
2502         * doc/functions/ftell.texi (ftell): Likewise.
2503
2504 2007-05-24  Bruno Haible  <bruno@clisp.org>
2505
2506         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
2507         in the printed representation of a NaN.
2508         * tests/test-vasprintf-posix.c (test_function): Likewise.
2509         * tests/test-snprintf-posix.h (test_function): Likewise.
2510         * tests/test-sprintf-posix.h (test_function): Likewise.
2511         Reported by Eric Blake.
2512
2513 2007-05-23  Eric Blake  <ebb9@byu.net>
2514
2515         Fix fseeko/ftello on cygwin 1.5.24.
2516         * doc/functions/fseeko.texi (fseeko): Document the fix.
2517         * doc/functions/ftello.texi (ftello): Document the fix.
2518         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
2519         * doc/functions/stdout.text (stdout): New file.
2520         * doc/functions/stderr.text (stderr): New file.
2521         * doc/gnulib.texi (Function Substitutes): Use new files.
2522         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
2523         prior to 1.7.0.
2524         * tests/test-ftello.c (main): Likewise for ftello.
2525         * tests/test-fseeko.sh: New file.
2526         * tests/test-ftello.sh: New file.
2527         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
2528         with seekable stdin.
2529         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
2530         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
2531         (gl_REPLACE_FSEEKO): New macro.
2532         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
2533         * modules/fseeko (Files): Distribute fseeko.c.
2534         * modules/ftello (Files): Distribute ftello.c.
2535         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
2536         mode.
2537         * lib/ftello.c (rpl_ftello): New file.
2538         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
2539         fseeko, ftello.
2540         (gl_STDIN_LARGE_OFFSET): New macro.
2541         * modules/stdio (Makefile.am): Perform the replacement.
2542         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
2543
2544 2007-05-23  Bruno Haible  <bruno@clisp.org>
2545
2546         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
2547         GNULIB_POSIXCHECK is defined.
2548
2549 2007-05-21  Bruno Haible  <bruno@clisp.org>
2550
2551         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
2552         Check also the output for NaN arguments. When cross-compiling, guess
2553         no on IRIX.
2554         * lib/vasnprintf.c: Update comments.
2555         * tests/test-vasnprintf-posix.c (strisnan): New function.
2556         (test_function): Use it.
2557         * tests/test-vasprintf-posix.c (strisnan): New function.
2558         (test_function): Use it.
2559         * tests/test-snprintf-posix.h (strisnan): New function.
2560         (test_function): Use it.
2561         * tests/test-sprintf-posix.h (strisnan): New function.
2562         (test_function): Use it.
2563         Reported by Eric Blake.
2564
2565 2007-05-20  Bruno Haible  <bruno@clisp.org>
2566
2567         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
2568         numbers that fails on BeOS.
2569         * doc/functions/frexpl.texi: Update.
2570
2571 2007-05-20  Jim Meyering  <jim@meyering.net>
2572
2573         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
2574         forced upon us by glibc-2.6.
2575
2576 2007-05-20  Bruno Haible  <bruno@clisp.org>
2577
2578         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
2579         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
2580         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
2581         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
2582         NEED_PRINTF_INFINITE.
2583         (is_infinitel): New function.
2584         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
2585         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
2586         gl_PREREQ_VASNPRINTF_INFINITE.
2587         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
2588         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2589         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
2590         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
2591         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
2592         gl_PREREQ_VASNPRINTF_INFINITE.
2593         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
2594         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2595         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2596         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2597         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2598         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2599         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2600         * doc/functions/fprintf.texi: Update.
2601         * doc/functions/printf.texi: Update.
2602         * doc/functions/snprintf.texi: Update.
2603         * doc/functions/sprintf.texi: Update.
2604         * doc/functions/vfprintf.texi: Update.
2605         * doc/functions/vprintf.texi: Update.
2606         * doc/functions/vsnprintf.texi: Update.
2607         * doc/functions/vsprintf.texi: Update.
2608
2609 2007-05-20  Bruno Haible  <bruno@clisp.org>
2610
2611         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
2612         was not found in libc.
2613         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
2614
2615 2007-05-20  Bruno Haible  <bruno@clisp.org>
2616
2617         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
2618         printed as "-nan" instead of "nan".
2619         * tests/test-vasprintf-posix.c (test_function): Likewise.
2620         * tests/test-snprintf-posix.h (test_function): Likewise.
2621         * tests/test-sprintf-posix.h (test_function): Likewise.
2622         Needed for HP-UX 11.
2623
2624 2007-05-20  Jim Meyering  <jim@meyering.net>
2625
2626         Fix buggy test for the fchownat-deref bug.
2627         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
2628         symlink required for the run-test.  Without it, this test would
2629         always declare that fchownat doesn't work, and client code would
2630         unnecessarily use the replacement function with fixed libc.
2631         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
2632         Reported by Greg Schafer.
2633
2634 2007-05-19  Bruno Haible  <bruno@clisp.org>
2635
2636         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
2637         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
2638         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
2639         Needed for IRIX 6.5 and Solaris 2.5.1.
2640
2641 2007-05-19  Bruno Haible  <bruno@clisp.org>
2642
2643         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
2644         (test_function): Skip tests involving -0.0 on platforms where
2645         -0.0 = 0.0.
2646         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
2647         (test_function): Skip tests involving -0.0 on platforms where
2648         -0.0 = 0.0.
2649         * tests/test-snprintf-posix.h (have_minus_zero): New function.
2650         (test_function): Skip tests involving -0.0 on platforms where
2651         -0.0 = 0.0.
2652         * tests/test-sprintf-posix.h (have_minus_zero): New function.
2653         (test_function): Skip tests involving -0.0 on platforms where
2654         -0.0 = 0.0.
2655         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
2656         tests.
2657         * tests/test-printf-posix.h (test_function): Likewise.
2658         * tests/test-printf-posix.output: Remove all -0.0 related results.
2659         Needed for IRIX 6.5.
2660
2661 2007-05-19  Bruno Haible  <bruno@clisp.org>
2662
2663         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
2664         printed as "nan0x7fffffff" instead of "nan".
2665         * tests/test-vasprintf-posix.c (test_function): Likewise.
2666         * tests/test-snprintf-posix.h (test_function): Likewise.
2667         * tests/test-sprintf-posix.h (test_function): Likewise.
2668         * tests/test-fprintf-posix.h (NaN): Remove macro.
2669         (test_function): Remove all NaN related tests.
2670         * tests/test-printf-posix.h (NaN): Remove macro.
2671         (test_function): Remove all NaN related tests.
2672         * tests/test-printf-posix.output: Remove all NaN related results.
2673         Needed for IRIX 6.5.
2674
2675 2007-05-19  Bruno Haible  <bruno@clisp.org>
2676
2677         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
2678         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
2679
2680 2007-05-19  Bruno Haible  <bruno@clisp.org>
2681
2682         * lib/float_.h: New file.
2683         * m4/float_h.m4: New file.
2684         * modules/float: New file.
2685         * modules/isnanl (Dependencies): Add float.
2686         * modules/isnanl-nolibm (Dependencies): Likewise.
2687         * modules/mathl (Dependencies): Likewise.
2688         * modules/printf-frexpl (Dependencies): Likewise.
2689         * modules/signbit (Dependencies): Likewise.
2690         * modules/vasnprintf (Dependencies): Likewise.
2691         * doc/headers/float.texi: Update.
2692
2693 2007-05-19  Jim Meyering  <jim@meyering.net>
2694
2695         * lib/utimens.c (gl_futimens): Rename from futimens,
2696         now that glibc-2.6 declares futimens.
2697         * lib/utimens.h: Likewise.
2698
2699 2007-05-19  Bruno Haible  <bruno@clisp.org>
2700
2701         Avoid test failures on mingw.
2702         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
2703         * tests/test-printf-posix.sh: Likewise.
2704         * tests/test-vfprintf-posix.sh: Likewise.
2705         * tests/test-vprintf-posix.sh: Likewise.
2706
2707 2007-05-19  Bruno Haible  <bruno@clisp.org>
2708
2709         Fix *printf result for NaN, Inf, -0.0 on mingw.
2710         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
2711         * lib/vasnprintf.c: Include math.h and isnan.h.
2712         (is_infinite_or_zero): New function.
2713         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
2714         values in the %f, %F, %e, %E, %g, %G directives.
2715         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
2716         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2717         gl_PRINTF_INFINITE and test its result. Invoke
2718         gl_PREREQ_VASNPRINTF_INFINITE.
2719         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
2720         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2721         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2722         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2723         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2724         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2725         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2726         * doc/functions/fprintf.texi: Update.
2727         * doc/functions/printf.texi: Update.
2728         * doc/functions/snprintf.texi: Update.
2729         * doc/functions/sprintf.texi: Update.
2730         * doc/functions/vfprintf.texi: Update.
2731         * doc/functions/vprintf.texi: Update.
2732         * doc/functions/vsnprintf.texi: Update.
2733         * doc/functions/vsprintf.texi: Update.
2734
2735 2007-05-19  Bruno Haible  <bruno@clisp.org>
2736
2737         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
2738         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
2739         Instead of multiplying with 10^k, set extra_zeroes to k.
2740         (scale10_round_long_double): Remove function.
2741
2742 2007-05-18  Bruno Haible  <bruno@clisp.org>
2743
2744         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
2745         introduced on 2007-05-06.
2746
2747 2007-05-18  Bruno Haible  <bruno@clisp.org>
2748
2749         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
2750         %g directives.
2751         * tests/test-vasprintf-posix.c (test_function): Likewise.
2752         * tests/test-snprintf-posix.h (test_function): Likewise.
2753         * tests/test-sprintf-posix.h (test_function): Likewise.
2754
2755 2007-05-18  Bruno Haible  <bruno@clisp.org>
2756
2757         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
2758         (strmatch): New function.
2759         (test_function): Test the %f directive on numbers of various exponents.
2760         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
2761         (strmatch): New function.
2762         (test_function): Test the %f directive on numbers of various exponents.
2763         * tests/test-snprintf-posix.h (strmatch): New function.
2764         (test_function): Test the %f directive on numbers of various exponents.
2765         * tests/test-sprintf-posix.h (strmatch): New function.
2766         (test_function): Test the %f directive on numbers of various exponents.
2767         * tests/test-snprintf-posix.c (SIZEOF): New macro.
2768         * tests/test-sprintf-posix.c (SIZEOF): New macro.
2769         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
2770         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
2771
2772 2007-05-18  Bruno Haible  <bruno@clisp.org>
2773
2774         Add support for 'long double' number output.
2775         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
2776         * lib/vasnprintf.c: Include math.h and float+.h.
2777         (mp_limb_t): New type.
2778         (GMP_LIMB_BITS): New macro.
2779         (mp_twolimb_t): New type.
2780         (GMP_TWOLIMB_BITS): New macro.
2781         (mpn_t): New type.
2782         (multiply, divide, convert_to_decimal, decode_long_double,
2783         scale10_round_long_double, scale10_round_decimal_long_double,
2784         floorlog10l): New functions.
2785         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
2786         for the %f, %F, %e, %E, %g, %G directives.
2787         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
2788         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
2789         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
2790         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
2791         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
2792         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2793         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2794         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2795         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2796         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2797         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2798         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
2799         * modules/snprintf-posix (Depends-on): Likewise.
2800         * modules/sprintf-posix (Depends-on): Likewise.
2801         * modules/vasnprintf-posix (Depends-on): Likewise.
2802         * modules/vasprintf-posix (Depends-on): Likewise.
2803         * modules/vfprintf-posix (Depends-on): Likewise.
2804         * modules/vsnprintf-posix (Depends-on): Likewise.
2805         * modules/vsprintf-posix (Depends-on): Likewise.
2806         * modules/vasnprintf (Files): Add lib/float+.h.
2807         * doc/functions/fprintf.texi: Update.
2808         * doc/functions/printf.texi: Update.
2809         * doc/functions/snprintf.texi: Update.
2810         * doc/functions/sprintf.texi: Update.
2811         * doc/functions/vfprintf.texi: Update.
2812         * doc/functions/vprintf.texi: Update.
2813         * doc/functions/vsnprintf.texi: Update.
2814         * doc/functions/vsprintf.texi: Update.
2815
2816 2007-05-18  Bruno Haible  <bruno@clisp.org>
2817
2818         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
2819
2820 2007-05-18  Bruno Haible  <bruno@clisp.org>
2821
2822         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
2823         for printing 64-bit integers. Needed for mingw.
2824
2825 2007-05-18  Bruno Haible  <bruno@clisp.org>
2826
2827         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
2828         gl_FUNC_FREXPL_WORKS.
2829         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
2830
2831 2007-05-18  Bruno Haible  <bruno@clisp.org>
2832
2833         * modules/frexpl-nolibm-tests: New file.
2834
2835         * modules/frexpl-nolibm: New file.
2836         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
2837
2838 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
2839
2840         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
2841         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
2842         GCC 4.2, which otherwise issues a lot of warnings.
2843         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
2844         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
2845         Likewise.
2846         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
2847         * modules/iconv_open (iconv.h): Likewise.
2848         * modules/locale (locale.h): Likewise.
2849         * modules/netinet_in (netinet/in.h): Likewise.
2850         * modules/sys_select (sys_select.h): Likewise.
2851         * modules/sys_socket (sys/socket.h): Likewise.
2852         * modules/sys_stat (sys/stat.h): Likewise.
2853         * modules/sysexits (sysexits.h): Likewise.
2854         * modules/unistd (unistd.h): Likewise.
2855
2856 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2857
2858         * modules/closein-tests (Makefile.am): Distribute
2859         `test-closein.sh'.
2860
2861 2007-05-17  Bruno Haible  <bruno@clisp.org>
2862
2863         * tests/test-printf-posix.output: Renamed from
2864         tests/test-fprintf-posix.out.
2865         * modules/fprintf-posix-tests: Update.
2866         * modules/printf-posix-tests: Update.
2867         * modules/vfprintf-posix-tests: Update.
2868         * modules/vprintf-posix-tests: Update.
2869         * tests/test-fprintf-posix.sh: Update.
2870         * tests/test-printf-posix.sh: Update.
2871         * tests/test-vfprintf-posix.sh: Update.
2872         * tests/test-vprintf-posix.sh: Update.
2873         Reported by Ralf Wildenhues.
2874
2875 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
2876
2877         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
2878         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
2879         GCC 4.2, which otherwise issues a lot of warnings.
2880         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
2881         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
2882         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
2883         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
2884         it should no longer be needed.
2885         * lib/string_.h: Likewise.
2886         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
2887         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
2888         * modules/inttypes (inttypes.h): Likewise.
2889         * modules/math (math.h): Likewise.
2890         * modules/search (search.h): Likewise.
2891         * modules/signal (signal.h): Likewise.
2892         * modules/stdint (stdint.h): Likewise.
2893         * modules/stdio (stdio.h): Likewise.
2894         * modules/stdlib (stdlib.h): Likewise.
2895         * modules/string (string.h): Likewise.
2896         * modules/sys_time (sys/time.h): Likewise.
2897         * modules/time (time.h): Likewise.
2898         * modules/wchar (wchar.h): Likewise.
2899         * modules/wctype (wtype.h): Likewise.
2900
2901 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
2902
2903         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
2904
2905 2007-05-13  Bruno Haible  <bruno@clisp.org>
2906
2907         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
2908         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
2909         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
2910         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
2911         (gl_PREREQ_STRTOK_R): Don't require it here.
2912
2913 2007-05-13  Bruno Haible  <bruno@clisp.org>
2914
2915         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
2916         when used in C++ mode.
2917
2918 2007-05-12  Bruno Haible  <bruno@clisp.org>
2919
2920         * lib/linebuffer.h: Tweak doc.
2921         * lib/linebuffer.c: Likewise.
2922
2923 2007-05-12  James Youngman  <jay@gnu.org>
2924
2925         * lib/linebuffer.c (readlinebuffer_delim): New function,
2926         like readlinebuffer, but use a caller-specified delimiter.
2927         (readlinebuffer): Just call readlinebuffer_delim with '\n'
2928         as the delimiter.
2929         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
2930
2931 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
2932
2933         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
2934         * modules/openat (Files): Remove openat-die.c.
2935         (Depends-on): Add openat-die.
2936         * modules/openat-die: New module.
2937
2938 2007-05-06  Bruno Haible  <bruno@clisp.org>
2939
2940         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
2941         Update with info about Cygwin.
2942         * doc/functions/fprintf.texi: Update.
2943         * doc/functions/printf.texi: Update.
2944         * doc/functions/snprintf.texi: Update.
2945         * doc/functions/sprintf.texi: Update.
2946         * doc/functions/vfprintf.texi: Update.
2947         * doc/functions/vprintf.texi: Update.
2948         * doc/functions/vsnprintf.texi: Update.
2949         * doc/functions/vsprintf.texi: Update.
2950         Reported by Eric Blake.
2951
2952 2007-05-06  Bruno Haible  <bruno@clisp.org>
2953
2954         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
2955         padding ourselves for the floating-point directives.
2956         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
2957         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
2958         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
2959         gl_PRINTF_FLAG_ZERO and test its result. Invoke
2960         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
2961         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2962         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
2963         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2964         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2965         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2966         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2967         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2968         * tests/test-snprintf-posix.h (test_function): Also check the width
2969         and some flags in the %f directive.
2970         * tests/test-sprintf-posix.h (test_function): Likewise.
2971         * tests/test-vasnprintf-posix.c (test_function): Likewise.
2972         * tests/test-vasprintf-posix.c (test_function): Likewise.
2973         * doc/functions/fprintf.texi: Update.
2974         * doc/functions/printf.texi: Update.
2975         * doc/functions/snprintf.texi: Update.
2976         * doc/functions/sprintf.texi: Update.
2977         * doc/functions/vfprintf.texi: Update.
2978         * doc/functions/vprintf.texi: Update.
2979         * doc/functions/vsnprintf.texi: Update.
2980         * doc/functions/vsprintf.texi: Update.
2981
2982 2007-05-06  Bruno Haible  <bruno@clisp.org>
2983
2984         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
2985         pass the ' flag character to sprintf or snprintf.
2986         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
2987         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
2988         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
2989         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
2990         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
2991         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
2992         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
2993         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
2994         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
2995         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
2996         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
2997         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
2998         * tests/test-snprintf-posix.h (test_function): Also check the grouping
2999         flag.
3000         * tests/test-sprintf-posix.h (test_function): Likewise.
3001         * tests/test-vasnprintf-posix.c (test_function): Likewise.
3002         * tests/test-vasprintf-posix.c (test_function): Likewise.
3003         * doc/functions/fprintf.texi: Update.
3004         * doc/functions/printf.texi: Update.
3005         * doc/functions/snprintf.texi: Update.
3006         * doc/functions/sprintf.texi: Update.
3007         * doc/functions/vfprintf.texi: Update.
3008         * doc/functions/vprintf.texi: Update.
3009         * doc/functions/vsnprintf.texi: Update.
3010         * doc/functions/vsprintf.texi: Update.
3011
3012 2007-05-01  Bruno Haible  <bruno@clisp.org>
3013
3014         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
3015
3016 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
3017
3018         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
3019         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
3020
3021 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
3022
3023         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
3024         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
3025         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
3026
3027 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
3028
3029         * lib/argp-help.c (struct hol_entry): New member `ord'.
3030         (HOL_ENTRY_PTRCMP): Use ord for comparison
3031         (hol_sort): Initialize ord.
3032
3033 2007-05-01  Bruno Haible  <bruno@clisp.org>
3034
3035         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
3036         Reported by Eric Blake.
3037         * doc/gnulib.texi (Function Substitutes): Update.
3038
3039 2007-05-01  Bruno Haible  <bruno@clisp.org>
3040
3041         * doc/functions.texi: Remove file, now redundant through
3042         doc/functions/*.texi.
3043
3044 2007-05-01  Bruno Haible  <bruno@clisp.org>
3045
3046         * modules/argp (Depends-on): Add sleep.
3047
3048 2007-05-01  Bruno Haible  <bruno@clisp.org>
3049
3050         * modules/sleep-tests: New file.
3051         * tests/test-sleep.c: New file.
3052
3053         * modules/sleep: New file.
3054         * lib/sleep.c: New file.
3055         * m4/sleep.m4: New file.
3056         * lib/unistd_.h (sleep): New declaration.
3057         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
3058         HAVE_SLEEP.
3059         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
3060         * doc/functions/sleep.texi: Document the sleep module.
3061
3062 2007-05-01  Bruno Haible  <bruno@clisp.org>
3063
3064         * lib/sigprocmask.h: Remove file.
3065         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
3066         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
3067         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
3068         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
3069         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
3070         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
3071         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
3072         HAVE_SIGSET_T as a shell variable.
3073         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
3074         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
3075         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
3076         (Depends-on): Add signal. Remove verify.
3077         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
3078         (Include): Mention <signal.h> instead of sigprocmask.h.
3079         * NEWS: Mention the change.
3080         * lib/fatal-signal.c: Don't include sigprocmask.h.
3081
3082 2007-05-01  Bruno Haible  <bruno@clisp.org>
3083
3084         * modules/signal: New file.
3085         * lib/signal_.h: New file.
3086         * m4/signal_h.m4: New file.
3087
3088 2007-05-01  Bruno Haible  <bruno@clisp.org>
3089
3090         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
3091         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
3092         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
3093         HAVE_WCTYPE_CTMP_BUG into wctype.h.
3094
3095 2007-05-01  Bruno Haible  <bruno@clisp.org>
3096
3097         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
3098         configure time.
3099         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
3100         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
3101         * modules/sys_stat (Makefile.am): Substitute their values into
3102         sys/stat.h.
3103
3104 2007-05-01  Bruno Haible  <bruno@clisp.org>
3105
3106         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
3107         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
3108         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
3109
3110 2007-05-01  Bruno Haible  <bruno@clisp.org>
3111
3112         * doc/header/assert.texi: Undo last change: don't mention the gnulib
3113         'assert' module here.
3114
3115 2007-05-01  Bruno Haible  <bruno@clisp.org>
3116
3117         * doc/functions/*.texi: New files.
3118         * doc/functions/google-ranking.txt: New file.
3119         * doc/gnulib.texi (Function Substitutes): New chapter.
3120         (ctime, inet_ntoa): Remove sections.
3121         * doc/ctime.texi: Remove file.
3122         * doc/inet_ntoa.texi: Remove file.
3123         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
3124         dependencies.
3125         (%.info): New rule, specifying a --reference-limit.
3126
3127 2007-05-01  Bruno Haible  <bruno@clisp.org>
3128
3129         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
3130
3131 2007-05-01  Bruno Haible  <bruno@clisp.org>
3132
3133         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
3134         the portability of 'mkdir' to mingw systems.
3135
3136 2007-05-01  Bruno Haible  <bruno@clisp.org>
3137
3138         * doc/headers/google-ranking.txt: New file.
3139
3140 2007-04-30  Eric Blake  <ebb9@byu.net>
3141
3142         Prefer fseeko to fseek.
3143         * modules/getpass (Depends-on): Add fseeko.
3144         * lib/getpass.c (getpass): Use fseeko, not fseek.
3145
3146 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
3147
3148         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
3149         assumes the sorting is stable, while most qsort implementations
3150         are not.  Use argument addresses to ensure they never compare as
3151         equal.
3152
3153         * tests/test-argp-2.sh (usage-indent test): Fix output
3154         (func_compare): Restore diff options
3155         * tests/test-argp.c: Restore #include "progname.h"
3156
3157 2007-04-29  Bruno Haible  <bruno@clisp.org>
3158
3159         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
3160         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
3161         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
3162         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
3163         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
3164         (configure.ac): Define CHECK_SNPRINTF_POSIX.
3165         (TESTS, check_PROGRAMS): Add test-snprintf.
3166         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
3167         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
3168         (TESTS, check_PROGRAMS): Add test-vsnprintf.
3169         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
3170         assertions that fail on HP-UX, OSF/1, or IRIX.
3171         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
3172
3173 2007-04-29  Bruno Haible  <bruno@clisp.org>
3174
3175         * MODULES.html.sh (posix_functions): Remove 'contents'.
3176
3177 2007-04-29  Karl Berry  <karl@gnu.org>
3178
3179         * config/srclist.txt (gendocs_template_min): new entry.
3180
3181 2007-04-29  Bruno Haible  <bruno@clisp.org>
3182
3183         Work around fpurge bug on BSD systems.
3184         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
3185         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
3186         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
3187         fpurge to rpl_fpurge if the system already has this function.
3188         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
3189         the case where the system already has this function. Correct invariants
3190         on BSD systems.
3191         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
3192         BSD systems.
3193
3194 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
3195
3196         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
3197         proposed by Sven Verdoolaege.
3198
3199         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
3200         options.
3201         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
3202         (usage and help tests): Update
3203
3204 2007-04-29  Bruno Haible  <bruno@clisp.org>
3205
3206         * tests/test-fflush.c (main): Use a file of size 17, not 10.
3207         Print more information in case of failure. Disable a test on BeOS.
3208
3209 2007-04-29  Bruno Haible  <bruno@clisp.org>
3210
3211         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
3212         This helps debugging on systems on which no gdb is available.
3213
3214 2007-04-29  Bruno Haible  <bruno@clisp.org>
3215
3216         * lib/freading.h: Improve comments.
3217         * lib/fwriting.h: Likewise.
3218         * tests/test-freading.c (main): Don't check freading immediately after
3219         repositioning. Needed for glibc.
3220
3221 2007-04-29  Bruno Haible  <bruno@clisp.org>
3222
3223         * lib/freading.c (freading): Trivial simplification.
3224
3225 2007-04-28  Bruno Haible  <bruno@clisp.org>
3226
3227         * tests/test-fwriting.c (main): Also test the interaction between
3228         fflush and fwriting.
3229         * modules/fwriting-tests (Depends-on): Add fflush.
3230
3231         * tests/test-freading.c (main): Also test the interaction between
3232         fflush and freading.
3233         * modules/freading-tests (Depends-on): Add fflush.
3234
3235 2007-04-28  Bruno Haible  <bruno@clisp.org>
3236
3237         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
3238         fseeko and ftello.
3239         Suggested by Eric Blake.
3240
3241 2007-04-28  Jim Meyering  <jim@meyering.net>
3242
3243         Avoid false-negative in gl_STDINT_H's C99 conformance test.
3244         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
3245         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
3246
3247 2007-04-27  Eric Blake  <ebb9@byu.net>
3248
3249         * doc/headers/assert.texi (assert.h): Document assert module use.
3250
3251 2007-04-27  Bruno Haible  <bruno@clisp.org>
3252
3253         * doc/headers/*.texi: New files.
3254         * doc/gnulib.texi (Header File Substitutes): New chapter.
3255         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
3256         dependencies.
3257         (standards.info ,standards.html, standards.dvi): Update dependencies.
3258         (mostlyclean, clean): New targets.
3259
3260 2007-04-27  Bruno Haible  <bruno@clisp.org>
3261
3262         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
3263         * modules/sysexits (Files, Makefile.am): Update.
3264
3265         * lib/sys_socket_.h: Renamed from lib/socket_.h.
3266         * modules/sys_socket (Files, Makefile.am): Update.
3267
3268         * lib/sys_stat_.h: Renamed from lib/stat_.h.
3269         * modules/sys_stat (Files, Makefile.am): Update.
3270
3271 2007-04-27  Eric Blake  <ebb9@byu.net>
3272
3273         * lib/freading.h: Improve comments.
3274         * lib/fwriting.h: Likewise.
3275         * lib/fflush.c: Likewise.
3276
3277         Fix closein for mingw.
3278         * modules/closein-tests: Add tests for closein.
3279         * tests/test-closein.c: New file.
3280         * tests/test-closein.sh: Likewise.
3281         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
3282         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
3283
3284 2007-04-27  Bruno Haible  <bruno@clisp.org>
3285
3286         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
3287         version is < 6.
3288         * lib/math_.h [__DECC]: Likewise.
3289         * lib/stdio_.h [__DECC]: Likewise.
3290         * lib/stdlib_.h [__DECC]: Likewise.
3291         * lib/string_.h [__DECC]: Likewise.
3292         * lib/time_.h [__DECC]: Likewise.
3293         * lib/wchar_.h [__DECC]: Likewise.
3294         * lib/wctype_.h [__DECC]: Likewise.
3295
3296 2007-04-27  Bruno Haible  <bruno@clisp.org>
3297
3298         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
3299
3300 2007-04-27  Bruno Haible  <bruno@clisp.org>
3301
3302         * lib/fflush.c: Add comments.
3303         * modules/fpurge-tests (Depends-on): Add fflush.
3304         * modules/freadable-tests (Depends-on): Likewise.
3305         * modules/fwritable-tests (Depends-on): Likewise.
3306
3307 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
3308
3309         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
3310         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
3311         Report by Bruno Haible <bruno@clisp.org>.
3312
3313 2007-04-26  Eric Blake  <ebb9@byu.net>
3314
3315         Fix fflush on mingw.
3316         * modules/fflush (Depends-on): Add freading.
3317         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
3318         but unread data.
3319
3320 2007-04-26  Eric Blake  <ebb9@byu.net>
3321         and Bruno Haible  <bruno@clisp.org>
3322
3323         Implement freading and fwriting.
3324         * lib/freading.c: New file.
3325         * lib/freading.h: Likewise.
3326         * m4/freading.m4: Likewise.
3327         * modules/freading: Likewise.
3328         * modules/freading-tests: Likewise.
3329         * tests/test-freading.c: Likewise.
3330         * lib/fwriting.c: New file.
3331         * lib/fwriting.h: Likewise.
3332         * m4/fwriting.m4: Likewise.
3333         * modules/fwriting: Likewise.
3334         * modules/fwriting-tests: Likewise.
3335         * tests/test-fwriting.c: Likewise.
3336         * MODULES.html.sh (File stream based Input/Output): Mention them.
3337
3338 2007-04-26  Bruno Haible  <bruno@clisp.org>
3339
3340         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
3341         'long' when we assume it.
3342         Suggested by Eric Blake.
3343
3344 2007-04-26  Bruno Haible  <bruno@clisp.org>
3345
3346         Ensure fseeko, ftello are declared on glibc systems.
3347         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
3348         * modules/fseeko (configure.ac-early): Likewise.
3349         * modules/ftello (configure.ac-early): Likewise.
3350         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
3351         AC_FUNC_FSEEKO for this.
3352         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
3353         (gl_CHECK_FSEEKO): Remove macro.
3354
3355 2007-04-26  Bruno Haible  <bruno@clisp.org>
3356
3357         * tests/test-fflush.c (main): Also check the ftell result after
3358         fflush and fseek/fseeko.
3359         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
3360         file descriptor position cache in the stream.
3361         * lib/fseeko.c (rpl_fseeko): Likewise.
3362
3363 2007-04-26  Bruno Haible  <bruno@clisp.org>
3364
3365         * modules/fflush-tests (Depends-on): Add fseeko.
3366
3367 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
3368             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3369
3370         * lib/argz_.h: ensure error_t definition is obtained in same
3371         mechanism system argz.h would have.
3372         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
3373         argz facilities are known bad.  Err on the side of caution if
3374         cross-compiling.
3375
3376 2007-04-25  Eric Blake  <ebb9@byu.net>
3377
3378         * lib/fpurge.c (includes): Use stdlib.h for free.
3379         * tests/test-fflush.c (main): Also test fflush-fseeko.
3380
3381 2007-04-25  Bruno Haible  <bruno@clisp.org>
3382
3383         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
3384         * lib/fseeko.c: New file.
3385         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
3386         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
3387         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
3388         gl_FUNC_FSEEKO.
3389         (gl_FUNC_FSEEKO): Invoke it.
3390         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
3391         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
3392         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
3393
3394 2007-04-25  Bruno Haible  <bruno@clisp.org>
3395
3396         * modules/fflush (Depends-on): Add ftello.
3397
3398 2007-04-25  Bruno Haible  <bruno@clisp.org>
3399
3400         * modules/ftello-tests: New file.
3401         * tests/test-ftello.c: New file.
3402
3403         * modules/ftello: New file.
3404         * m4/ftello.m4: New file.
3405         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
3406         HAVE_FTELLO.
3407         * lib/stdio_.h (ftello): New declaration.
3408         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
3409         HAVE_FTELLO.
3410
3411 2007-04-25  Bruno Haible  <bruno@clisp.org>
3412
3413         * modules/fseeko-tests: New file.
3414         * tests/test-fseeko.c: New file.
3415
3416         * modules/fseeko: New file.
3417         * m4/fseeko.m4: New file.
3418         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
3419         HAVE_FSEEKO.
3420         * lib/stdio_.h (fseeko): New declaration.
3421         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
3422         HAVE_FSEEKO.
3423
3424 2007-04-25  Bruno Haible  <bruno@clisp.org>
3425
3426         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
3427
3428 2007-04-25  Bruno Haible  <bruno@clisp.org>
3429
3430         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
3431         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
3432         * tests/test-unistd.c: Likewise.
3433         * tests/test-fcntl.c: Likewise.
3434
3435 2007-04-23  Eric Blake  <ebb9@byu.net>
3436
3437         * lib/fflush.c: Fix missing include.
3438         Reported by Bruno Haible.
3439
3440 2007-04-23  Bruno Haible  <bruno@clisp.org>
3441
3442         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
3443         Reported by Eric Blake.
3444
3445 2007-04-23  Bruno Haible  <bruno@clisp.org>
3446
3447         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
3448
3449 2007-04-23  Bruno Haible  <bruno@clisp.org>
3450
3451         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
3452
3453 2007-04-23  Bruno Haible  <bruno@clisp.org>
3454
3455         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
3456         Needed on HP-UX 11.
3457
3458 2007-04-16  Eric Blake  <ebb9@byu.net>
3459
3460         Make fflush rely on fpurge.
3461         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
3462         open coding all variants.
3463         * modules/fflush (Depends-on): Add fpurge and unistd.
3464         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
3465         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
3466
3467         Fix --with-tests compilation on cygwin.
3468         * modules/argmatch-tests (Makefile.am): List gnulib library first
3469         in LDADD.
3470         * modules/argp-tests (Makefile.am): Likewise.
3471         * modules/array-list-tests (Makefile.am): Likewise.
3472         * modules/array-oset-tests (Makefile.am): Likewise.
3473         * modules/avltree-list-tests (Makefile.am): Likewise.
3474         * modules/avltree-oset-tests (Makefile.am): Likewise.
3475         * modules/avltreehash-list-tests (Makefile.am): Likewise.
3476         * modules/carray-list-tests (Makefile.am): Likewise.
3477         * modules/dirname-tests (Makefile.am): Likewise.
3478         * modules/frexp-tests (Makefile.am): Likewise.
3479         * modules/isnanl-tests (Makefile.am): Likewise.
3480         * modules/linked-list-tests (Makefile.am): Likewise.
3481         * modules/linkedhash-list-tests (Makefile.am): Likewise.
3482         * modules/lock-tests (Makefile.am): Likewise.
3483         * modules/rbtree-list-tests (Makefile.am): Likewise.
3484         * modules/rbtree-oset-tests (Makefile.am): Likewise.
3485         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
3486         * modules/tls-tests (Makefile.am): Likewise.
3487         * modules/tsearch-tests (Makefile.am): Likewise.
3488         * modules/xvasprintf-tests (Makefile.am): Likewise.
3489
3490         Fix fpurge for cygwin.
3491         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
3492         value.
3493         * modules/fpurge-tests (Depends-on): Clean up trash.
3494
3495 2007-04-16  Simon Josefsson  <simon@josefsson.org>
3496
3497         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
3498
3499         * m4/autobuild.m4: Re-indent.
3500
3501 2007-04-13  Bruno Haible  <bruno@clisp.org>
3502
3503         * modules/fpurge-tests: New file.
3504         * tests/test-fpurge.c: New file.
3505
3506         * modules/fpurge: New file.
3507         * lib/fpurge.h: New file.
3508         * lib/fpurge.c: New file.
3509         * m4/fpurge.m4: New file.
3510
3511 2007-04-13  Bruno Haible  <bruno@clisp.org>
3512
3513         * modules/fbufmode-tests: New file.
3514         * tests/test-fbufmode.c: New file.
3515
3516         * modules/fbufmode: New file.
3517         * lib/fbufmode.h: New file.
3518         * lib/fbufmode.c: New file.
3519         * m4/fbufmode.m4: New file.
3520
3521 2007-04-13  Bruno Haible  <bruno@clisp.org>
3522
3523         * modules/fwritable-tests: New file.
3524         * tests/test-fwritable.c: New file.
3525
3526         * modules/fwritable: New file.
3527         * lib/fwritable.h: New file.
3528         * lib/fwritable.c: New file.
3529         * m4/fwritable.m4: New file.
3530
3531 2007-04-13  Bruno Haible  <bruno@clisp.org>
3532
3533         * modules/freadable-tests: New file.
3534         * tests/test-freadable.c: New file.
3535
3536         * modules/freadable: New file.
3537         * lib/freadable.h: New file.
3538         * lib/freadable.c: New file.
3539         * m4/freadable.m4: New file.
3540
3541 2007-04-13  Bruno Haible  <bruno@clisp.org>
3542
3543         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
3544         MOSTLYCLEANFILES.
3545
3546 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
3547
3548         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
3549         gzip bootstrap.conf to avoid dragging in i18n machinery.
3550         (gnulib_tool_option): Use it.
3551
3552 2007-04-13  Bruno Haible  <bruno@clisp.org>
3553
3554         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
3555         %F directives.
3556         * tests/test-vasprintf-posix.c (test_function): Likewise.
3557         * tests/test-snprintf-posix.h (test_function): Likewise.
3558         * tests/test-sprintf-posix.h (test_function): Likewise.
3559         * tests/test-fprintf-posix.h (test_function): Likewise.
3560         * tests/test-printf-posix.h (test_function): Likewise.
3561         * tests/test-fprintf-posix.out: Likewise.
3562
3563 2007-04-13  Bruno Haible  <bruno@clisp.org>
3564
3565         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
3566         * modules/tls-tests (configure.ac): Likewise.
3567         Reported by Arto C. Nirkko <anirkko@insel.ch>.
3568
3569 2007-04-13  Bruno Haible  <bruno@clisp.org>
3570
3571         * lib/tls.c (glthread_tls_get): Fix return type.
3572         Patch by Arto C. Nirkko <anirkko@insel.ch>.
3573
3574 2007-04-12  Eric Blake  <ebb9@byu.net>
3575
3576         * modules/gettime (Depends-on): Remove gettime.
3577         Reported by Dmitry V. Levin.
3578
3579 2007-04-12  Bruno Haible  <bruno@clisp.org>
3580
3581         * modules/fflush (Include): Mention <stdio.h>.
3582         * modules/strtoimax (Include): Mention <inttypes.h>.
3583         * modules/strtoumax (Include): Likewise.
3584
3585 2007-04-12  Eric Blake  <ebb9@byu.net>
3586
3587         * .cvsignore: New file.
3588         * .gitignore: Likewise.
3589
3590 2007-04-12  Bruno Haible  <bruno@clisp.org>
3591
3592         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
3593         not before, since $(LDADD) often contains libgnu.a.
3594         * modules/striconv-tests (test_striconv_LDADD): Likewise.
3595         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
3596         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
3597         Needed on Cygwin.
3598
3599 2007-04-12  Eric Blake  <ebb9@byu.net>
3600
3601         Work around glibc's failure to flush stdin on fclose.
3602         * lib/closein.c (close_stdin): Flush stdin before closing.
3603
3604         Work around glibc's failure to reset seekable stdin on exit.
3605         * modules/closein: New module.
3606         * lib/closein.c: New file.
3607         * lib/closein.h: Likewise.
3608         * m4/closein.m4: Likewise.
3609         * MODULES.html.sh (File stream based Input/Output): Document it.
3610
3611 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3612
3613         * gnulib-tool: Rename generated 'autobuild' script to
3614         'do-autobuild' in --create-megatestdir output.
3615
3616         * doc/gnulib.texi (Build robot for gnulib): Fix.
3617
3618 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3619
3620         * modules/sysexits (Depends-on): Add absolute-header.
3621
3622 2007-04-12  Eric Blake  <ebb9@byu.net>
3623
3624         No need to preserve errno on success.
3625         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
3626         Reported by Bruno Haible.
3627
3628 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3629
3630         * MODULES.html.sh (Support for maintaining and releasing
3631         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
3632
3633 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3634
3635         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
3636
3637 2007-04-12  Simon Josefsson  <simon@josefsson.org>
3638
3639         * modules/autobuild: New module.
3640
3641         * m4/autobuild.m4: New file.
3642
3643 2007-04-11  Bruno Haible  <bruno@clisp.org>
3644
3645         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
3646         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
3647         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
3648         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
3649         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
3650         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3651         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3652         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
3653         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3654         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3655         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
3656         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3657         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3658         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
3659         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3660         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3661         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
3662         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3663         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3664         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
3665         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3666         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3667         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
3668         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3669         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3670         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
3671         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
3672         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
3673         Reported by Eric Blake.
3674
3675 2007-04-11  Bruno Haible  <bruno@clisp.org>
3676
3677         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
3678
3679 2007-04-10  Bruno Haible  <bruno@clisp.org>
3680
3681         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
3682         for NaN and Infinity. Needed on FreeBSD 6.1.
3683         * tests/test-vasnprintf-posix.c (test_function): Undo last change
3684         regarding results for "%010a" of Infinity and NaN.
3685         * tests/test-vasprintf-posix.c (test_function): Likewise.
3686         * tests/test-snprintf-posix.h (test_function): Likewise.
3687         * tests/test-sprintf-posix.h (test_function): Likewise.
3688         * tests/test-fprintf-posix.h (test_function): Likewise.
3689         * tests/test-printf-posix.h (test_function): Likewise.
3690         * tests/test-fprintf-posix.out: Likewise.
3691
3692 2007-04-10  Bruno Haible  <bruno@clisp.org>
3693
3694         * modules/locale-tests: New file.
3695         * tests/test-locale.c: New file.
3696
3697         * modules/locale: New file.
3698         * lib/locale_.h: New file.
3699         * m4/locale_h.m4: New file.
3700
3701 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
3702             Bruno Haible  <bruno@clisp.org>
3703
3704         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
3705         be determined, test for availability of the copysignf, copysign,
3706         copysignl functions.
3707         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
3708         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
3709         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
3710
3711 2007-04-09  Eric Blake  <ebb9@byu.net>
3712
3713         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
3714         * modules/stdio (Makefile.am): Support fflush.
3715         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
3716         * modules/fflush: New file.
3717         * lib/fflush.c: Likewise.
3718         * m4/fflush.m4: Likewise.
3719         * modules/fflush-tests: New test.
3720         * tests/test-fflush.c: Likewise.
3721         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
3722
3723 2007-04-06  Bruno Haible  <bruno@clisp.org>
3724
3725         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
3726         (VASNPRINTF): Use signbit for faster determination whether to print a
3727         minus sign.
3728         * modules/vasnprintf (Files): Remove lib/float+.h.
3729         * modules/fprintf-posix (Depends-on): Add signbit.
3730         * modules/snprintf-posix (Depends-on): Likewise.
3731         * modules/sprintf-posix (Depends-on): Likewise.
3732         * modules/vasnprintf-posix (Depends-on): Likewise.
3733         * modules/vasprintf-posix (Depends-on): Likewise.
3734         * modules/vfprintf-posix (Depends-on): Likewise.
3735         * modules/vsnprintf-posix (Depends-on): Likewise.
3736         * modules/vsprintf-posix (Depends-on): Likewise.
3737
3738 2007-04-06  Bruno Haible  <bruno@clisp.org>
3739
3740         * tests/test-frexp.c (main): Test also the sign bit of zero results.
3741         * tests/test-frexpl.c (main): Likewise.
3742         * tests/test-ldexpl.c (main): Likewise.
3743         * modules/frexp-tests (Depends-on): Add signbit.
3744         * modules/frexpl-tests (Depdends-on): Likewise.
3745         * modules/ldexpl-tests (Depdends-on): Likewise.
3746
3747 2007-04-06  Bruno Haible  <bruno@clisp.org>
3748
3749         * modules/signbit-tests: New file.
3750         * tests/test-signbit.c: New file.
3751
3752         * modules/signbit: New file.
3753         * lib/signbitf.c: New file.
3754         * lib/signbitd.c: New file.
3755         * lib/signbitl.c: New file.
3756         * m4/signbit.m4: New file.
3757         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
3758         (signbit): New macro.
3759         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
3760         REPLACE_SIGNBIT.
3761         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
3762         REPLACE_FREXPL into math.h.
3763
3764 2007-04-06  Bruno Haible  <bruno@clisp.org>
3765
3766         * modules/isnanf-nolibm-tests: New file.
3767         * tests/test-isnanf.c: New file.
3768
3769         * modules/isnanf-nolibm: New file.
3770         * lib/isnanf.h: New file.
3771         * lib/isnanf.c: New file.
3772         * lib/isnan.c: Consider the USE_FLOAT macro.
3773         * m4/isnanf.m4: New file.
3774
3775 2007-04-06  Bruno Haible  <bruno@clisp.org>
3776
3777         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
3778         (Link): New section.
3779
3780         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
3781
3782 2007-04-06  Bruno Haible  <bruno@clisp.org>
3783
3784         Assume the 'long double' type.
3785         * m4/longdouble.m4: Remove file.
3786         * config/srclist.txt: Don't mention longdouble.m4.
3787         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
3788         * lib/float+.h: Likewise.
3789         * lib/frexp.c: Likewise.
3790         * lib/printf-args.h: Likewise.
3791         * lib/printf-args.c: Likewise.
3792         * lib/printf-frexp.c: Likewise.
3793         * lib/printf-parse.c: Likewise.
3794         * lib/vasnprintf.c: Likewise.
3795         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
3796         * m4/intl.m4: Likewise.
3797         * m4/isnanl.m4: Likewise.
3798         * m4/printf.m4: Likewise.
3799         * m4/printf-frexpl.m4: Likewise.
3800         * m4/vasnprintf.m4: Likewise.
3801         * modules/allocsa (Files): Remove m4/longdouble.m4.
3802         * modules/gettext (Files): Likewise.
3803         * modules/relocatable-prog-wrapper (Files): Likewise.
3804         * modules/vasnprintf (Files): Likewise.
3805         * modules/isnanl (Files): Likewise.
3806         (Include): Simplify.
3807         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
3808         (Include): Simplify.
3809         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
3810         (Include): Simplify.
3811         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
3812         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3813         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
3814         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3815         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
3816         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3817         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
3818         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3819         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
3820         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3821         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
3822         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
3823         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
3824         * tests/test-isnanl.c: Likewise.
3825         * tests/test-snprintf-posix.h: Likewise.
3826         * tests/test-sprintf-posix.h: Likewise.
3827         * tests/test-vasnprintf-posix.c: Likewise.
3828         * tests/test-vasnprintf-posix2.c: Likewise.
3829         * tests/test-vasprintf-posix.c: Likewise.
3830
3831 2007-04-06  Bruno Haible  <bruno@clisp.org>
3832
3833         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
3834         * lib/math_.h [__DECC]: Include the overridden include file through
3835         #include_next, outside the double-inclusion guard.
3836         * lib/stdio_.h [__DECC]: Likewise.
3837         * lib/stdlib_.h [__DECC]: Likewise.
3838         * lib/string_.h [__DECC]: Likewise.
3839         * lib/time_.h [__DECC]: Likewise.
3840         * lib/wchar_.h [__DECC]: Likewise.
3841         * lib/wctype_.h [__DECC]: Likewise.
3842         * lib/inttypes_.h [__DECC]: Likewise.
3843         Reported by Albert Chin <china@thewrittenword.com> in
3844         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
3845
3846 2007-04-04  Eric Blake  <ebb9@byu.net>
3847
3848         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
3849         1.5.x.
3850
3851 2007-04-04  Bruno Haible  <bruno@clisp.org>
3852
3853         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
3854         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
3855
3856 2007-04-04  Bruno Haible  <bruno@clisp.org>
3857
3858         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
3859         results for "%010a" of Infinity and NaN.
3860         * tests/test-vasprintf-posix.c (test_function): Likewise.
3861         * tests/test-snprintf-posix.h (test_function): Likewise.
3862         * tests/test-sprintf-posix.h (test_function): Likewise.
3863         * tests/test-fprintf-posix.h (test_function): Remove these tests.
3864         * tests/test-printf-posix.h (test_function): Likewise.
3865         * tests/test-fprintf-posix.out: Update.
3866         Needed for FreeBSD 6.1.
3867
3868 2007-04-04  Bruno Haible  <bruno@clisp.org>
3869
3870         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
3871         directly used by the gnulib modules nor by gnulib-tool.
3872
3873 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
3874
3875         * DEPENDENCIES: Give overall description of version dependency
3876         desirability.  Use more-typical names for apps.
3877         Add shell, coreutils, diffutils, grep, tar, gzip.
3878
3879 2007-04-04  Simon Josefsson  <simon@josefsson.org>
3880
3881         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
3882
3883 2007-04-04  Karl Berry  <karl@gnu.org>
3884
3885         * MODULES.html.sh (func_module): missing '.
3886
3887 2007-04-03  Bruno Haible  <bruno@clisp.org>
3888
3889         * modules/argmatch-tests (Makefile.am): New variable
3890         test_argmatch_LDADD.
3891         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
3892         * modules/array-list-tests (Makefile.am): New variable
3893         test_array_list_LDADD.
3894         * modules/array-oset-tests (Makefile.am): New variable
3895         test_array_oset_LDADD.
3896         * modules/avltree-list-tests (Makefile.am): New variable
3897         test_avltree_list_LDADD.
3898         * modules/avltree-oset-tests (Makefile.am): New variable
3899         test_avltree_oset_LDADD.
3900         * modules/avltreehash-list-tests (Makefile.am): New variable
3901         test_avltreehash_list_LDADD.
3902         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
3903         test_canonicalize_lgpl_LDADD.
3904         * modules/carray-list-tests (Makefile.am): New variable
3905         test_carray_list_LDADD.
3906         * modules/dirname-tests (Makefile.am): New variable
3907         test_dirname_LDADD.
3908         * modules/linked-list-tests (Makefile.am): New variable
3909         test_linked_list_LDADD.
3910         * modules/linkedhash-list-tests (Makefile.am): New variable
3911         test_linkedhash_list_LDADD.
3912         * modules/rbtree-list-tests (Makefile.am): New variable
3913         test_rbtree_list_LDADD.
3914         * modules/rbtree-oset-tests (Makefile.am): New variable
3915         test_rbtree_oset_LDADD.
3916         * modules/rbtreehash-list-tests (Makefile.am): New variable
3917         test_rbtreehash_list_LDADD.
3918         * modules/xvasprintf-tests (Makefile.am): New variable
3919         test_xvasprintf_LDADD.
3920         Reported by Eric Blake.
3921
3922 2007-04-03  Eric Blake  <ebb9@byu.net>
3923
3924         * DEPENDENCIES: Weaken m4 requirements.
3925
3926 2007-04-03  Bruno Haible  <bruno@clisp.org>
3927
3928         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
3929         * modules/isnanl-tests (configure.ac): Likewise.
3930
3931 2007-04-03  Ben Pfaff  <blp@gnu.org>
3932
3933         * modules/iconv_open: Add $(srcdir)/ to source directory
3934         references in Makefile fragments that call gperf, to fix VPATH
3935         builds.
3936
3937 2007-04-03  Bruno Haible  <bruno@clisp.org>
3938
3939         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
3940         * lib/ldexpl.c: Undo last change.
3941
3942 2007-04-03  Bruno Haible  <bruno@clisp.org>
3943
3944         * modules/printf-frexpl (Depends-on): Undo last change.
3945         (Files): Add m4/ldexpl.m4.
3946
3947 2007-04-03  Bruno Haible  <bruno@clisp.org>
3948
3949         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
3950         * modules/isnanl (Link): New section.
3951
3952         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
3953         * modules/frexp (Link): New section.
3954
3955         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
3956         * modules/frexpl (Link): New section.
3957
3958         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
3959         * modules/ldexpl (Link): New section.
3960
3961 2007-04-03  Bruno Haible  <bruno@clisp.org>
3962
3963         * modules/TEMPLATE-EXTENDED: New file.
3964         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
3965
3966 2007-04-03  Bruno Haible  <bruno@clisp.org>
3967
3968         * DEPENDENCIES: New file.
3969         Suggested by Simon Josefsson.
3970
3971 2007-04-03  Bruno Haible  <bruno@clisp.org>
3972
3973         * doc/gnulib.texi: Escape @.
3974
3975 2007-04-03  James Youngman  <jay@gnu.org>
3976         and Paul Eggert  <eggert@cs.ucla.edu>
3977
3978         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
3979         birthtime on all systems that have birthtime, not just those which
3980         use st_birthtimensec rather than st_birthtim.  Putting zero in
3981         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
3982         that the birth time is not available for files on an NFS mount.
3983
3984 2007-04-03  Simon Josefsson  <simon@josefsson.org>
3985
3986         * modules/memxor: Move back from crypto/, suggested by Bruno.
3987         * modules/crypto/hmac-sha1: Fix memxor dependency.
3988
3989         * modules/crypto/gc: Moved from ../.
3990
3991 2007-04-02  Eric Blake  <ebb9@byu.net>
3992
3993         * lib/ldexpl.c (includes): Avoid libm.
3994
3995         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
3996
3997 2007-04-02  Bruno Haible  <bruno@clisp.org>
3998
3999         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
4000         on IRIX.
4001
4002 2007-04-02  Bruno Haible  <bruno@clisp.org>
4003
4004         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
4005         x86 or x86_64 platforms running MacOS X.
4006         Reported by Ryan Schmidt <@ryandesign.com>.
4007
4008 2007-04-02  Bruno Haible  <bruno@clisp.org>
4009
4010         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
4011         i386.
4012
4013 2007-04-01  Simon Josefsson  <simon@josefsson.org>
4014
4015         * modules/crypto/arcfour: Moved from ../.
4016         * modules/crypto/arcfour-tests: Moved from ../.
4017         * modules/crypto/arctwo: Moved from ../.
4018         * modules/crypto/arctwo-tests: Moved from ../.
4019         * modules/crypto/des: Moved from ../.
4020         * modules/crypto/des-tests: Moved from ../.
4021         * modules/crypto/gc-arcfour: Moved from ../.
4022         * modules/crypto/gc-arcfour-tests: Moved from ../.
4023         * modules/crypto/gc-arctwo: Moved from ../.
4024         * modules/crypto/gc-arctwo-tests: Moved from ../.
4025         * modules/crypto/gc-des: Moved from ../.
4026         * modules/crypto/gc-des-tests: Moved from ../.
4027         * modules/crypto/gc-hmac-md5: Moved from ../.
4028         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
4029         * modules/crypto/gc-hmac-sha1: Moved from ../.
4030         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
4031         * modules/crypto/gc-md2: Moved from ../.
4032         * modules/crypto/gc-md2-tests: Moved from ../.
4033         * modules/crypto/gc-md4: Moved from ../.
4034         * modules/crypto/gc-md4-tests: Moved from ../.
4035         * modules/crypto/gc-md5: Moved from ../.
4036         * modules/crypto/gc-md5-tests: Moved from ../.
4037         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
4038         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
4039         * modules/crypto/gc-random: Moved from ../.
4040         * modules/crypto/gc-rijndael: Moved from ../.
4041         * modules/crypto/gc-rijndael-tests: Moved from ../.
4042         * modules/crypto/gc-sha1: Moved from ../.
4043         * modules/crypto/gc-sha1-tests: Moved from ../.
4044         * modules/crypto/gc-tests: Moved from ../.
4045         * modules/crypto/hmac-md5: Moved from ../.
4046         * modules/crypto/hmac-md5-tests: Moved from ../.
4047         * modules/crypto/hmac-sha1: Moved from ../.
4048         * modules/crypto/hmac-sha1-tests: Moved from ../.
4049         * modules/crypto/md2: Moved from ../.
4050         * modules/crypto/md2-tests: Moved from ../.
4051         * modules/crypto/md4: Moved from ../.
4052         * modules/crypto/md4-tests: Moved from ../.
4053         * modules/crypto/md5: Moved from ../.
4054         * modules/crypto/md5-tests: Moved from ../.
4055         * modules/crypto/memxor: Moved from ../.
4056         * modules/crypto/rijndael: Moved from ../.
4057         * modules/crypto/rijndael-tests: Moved from ../.
4058         * modules/crypto/sha1: Moved from ../.
4059
4060 2007-03-30  James Youngman  <jay@gnu.org>
4061
4062         * tests/test-stat-time.c (prepare_test): use chmod() rather than
4063         rename() to change the ctime of a file (because ctime is unaffected
4064         by rename on jfs2 on AIX 5.1).
4065         (main): Start by doing cleanup, in case a previous run failed leaving
4066         test files behind.
4067
4068 2007-03-31  Bruno Haible  <bruno@clisp.org>
4069
4070         Support old proprietary implementations of iconv.
4071         * modules/iconv_open: New file.
4072         * lib/iconv_.h: New file.
4073         * m4/iconv_h.m4: New file.
4074         * lib/iconv_open.c: New file.
4075         * lib/iconv_open-aix.gperf: New file.
4076         * lib/iconv_open-hpux.gperf: New file.
4077         * lib/iconv_open-irix.gperf: New file.
4078         * lib/iconv_open-osf.gperf: New file.
4079         * m4/iconv_open.m4: New file.
4080         * modules/linebreak (Depends-on): Add iconv_open.
4081         * modules/striconv (Depends-on): Likewise.
4082         * modules/striconveh (Depends-on): Likewise.
4083         * modules/unicodeio (Depends-on): Likewise.
4084         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
4085         (iconv_t)(-1).
4086         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
4087         conversion if cd is (iconv_t)(-1).
4088         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
4089         is not possible.
4090
4091 2007-03-31  Bruno Haible  <bruno@clisp.org>
4092
4093         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
4094         work on Solaris either. Protect also second use of "autodetect_jp".
4095
4096 2007-03-31  Bruno Haible  <bruno@clisp.org>
4097
4098         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
4099         the function is not present.
4100
4101 2007-03-31  Bruno Haible  <bruno@clisp.org>
4102
4103         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
4104         the function is not present.
4105
4106 2007-03-31  Bruno Haible  <bruno@clisp.org>
4107
4108         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
4109         a bug in HP-UX iconv_open().
4110
4111 2007-03-31  Bruno Haible  <bruno@clisp.org>
4112
4113         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
4114         (Mathematics <math.h>): New section, add fpieee.
4115         (Input/output <stdio.h>): Add fseterr.
4116         (Mathematics <math.h>): New section, add printf-frexp.
4117         (Container data structures): Add sublist.
4118         (Core language properties): Add fpucw, inline.
4119         (Functions for greatest-width integer types <inttypes.h>): Add
4120         imaxabs, imaxdiv, inttypes.
4121         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
4122         isnanl-nolibm, ldexp.
4123         (Mathematics <math.h>): New section, add printf-frexpl.
4124         (Support for systems lacking POSIX:2001): Add fprintf-posix,
4125         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
4126         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
4127         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
4128         (Unicode string functions): Add unistr/u*-mbtoucr.
4129         (Java): Add javacomp-script, javaexec-script.
4130         (C#): Add csharpcomp-script, csharpexec-script.
4131         (Support for building libraries and executables): Add havelib,
4132         relocatable-*.
4133         (Support for maintaining and releasing projects): Renamed from
4134         'Support for maintaining and release projects'. Add announce-gen.
4135
4136 2007-03-31  Bruno Haible  <bruno@clisp.org>
4137
4138         * README: Talk primarily about git.
4139         (git and CVS): Renamed from CVS.
4140         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
4141         gnulib is available through git.
4142         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
4143
4144 2007-03-30  Bruno Haible  <bruno@clisp.org>
4145
4146         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
4147         * lib/poll_.h: Likewise.
4148         * lib/stat_.h: Likewise.
4149         * lib/sys_time_.h: Likewise.
4150         * lib/sysexit_.h: Likewise.
4151         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
4152         * lib/stdbool_.h: Likewise.
4153         * lib/byteswap_.h: Add double-inclusion guard.
4154
4155 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
4156
4157         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
4158
4159 2007-03-30  Karl Berry  <karl@gnu.org>
4160
4161         * config/srclist-update: double space after USA in the license
4162         substitution, since that's how it's usually (?) written.
4163
4164 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
4165
4166         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
4167         reported by Bruno Haible.
4168
4169 2007-03-29  Bruno Haible  <bruno@clisp.org>
4170
4171         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
4172         a bug in AIX iconv().
4173
4174 2007-03-29  Bruno Haible  <bruno@clisp.org>
4175
4176         * modules/ldexpl-tests: New file.
4177         * tests/test-ldexpl.c: New file.
4178
4179 2007-03-29  Bruno Haible  <bruno@clisp.org>
4180
4181         * lib/ldexpl.c: Include fpucw.h.
4182         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
4183         multiplication.
4184         * modules/ldexpl (Depends-on): Add fpucw.
4185
4186 2007-03-29  Bruno Haible  <bruno@clisp.org>
4187
4188         * modules/ldexpl: New file.
4189         * m4/ldexpl.m4: New file.
4190         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
4191         set.
4192         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
4193         REPLACE_LDEXPL.
4194         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
4195         REPLACE_LDEXPL.
4196         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
4197         gl_FUNC_LDEXPL_WORKS.
4198         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
4199         * modules/mathl (Files): Remove lib/ldexpl.c.
4200         (Depends-on): Add ldexpl.
4201
4202 2007-03-29  Bruno Haible  <bruno@clisp.org>
4203
4204         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
4205
4206 2007-03-29  Bruno Haible  <bruno@clisp.org>
4207
4208         * tests/test-striconveh.c (main): Don't assume that a direct conversion
4209         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
4210         and possibly also HP-UX.
4211         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
4212         work on AIX, IRIX, HP-UX, OSF/1.
4213         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
4214         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
4215         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
4216         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
4217         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
4218         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
4219
4220 2007-03-29  Bruno Haible  <bruno@clisp.org>
4221
4222         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
4223
4224 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
4225
4226         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
4227         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
4228
4229 2007-03-29  Eric Blake  <ebb9@byu.net>
4230
4231         * lib/acl-internal.h: Remove redundant include.
4232         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
4233         Cygwin when a file is locked.
4234
4235 2007-03-29  Bruno Haible  <bruno@clisp.org>
4236
4237         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
4238         file.
4239         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
4240
4241 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
4242
4243         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
4244         try to remove a parent directory if the child couldn't be removed
4245         (except for the first rmdir, which could fail because the child
4246         doesn't exist).  Problem reported by Jeff Blaine in
4247         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
4248
4249 2007-03-28  Bruno Haible  <bruno@clisp.org>
4250
4251         * lib/striconveh.c (utf8conv_carefully): New function.
4252         (mem_cd_iconveh_internal): Invoke it.
4253
4254 2007-03-28  Bruno Haible  <bruno@clisp.org>
4255
4256         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
4257         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
4258         input.
4259         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
4260         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
4261         unistr/u8-uctomb.
4262
4263 2007-03-28  Bruno Haible  <bruno@clisp.org>
4264
4265         * modules/unistr/u8-mbtoucr: New file.
4266         * lib/unistr/u8-mbtoucr.c: New file.
4267         * modules/unistr/u16-mbtoucr: New file.
4268         * lib/unistr/u16-mbtoucr.c: New file.
4269         * modules/unistr/u16-mbtoucr: New file.
4270         * lib/unistr/u16-mbtoucr.c: New file.
4271         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
4272
4273 2007-03-27  Simon Josefsson  <simon@josefsson.org>
4274             Bruno Haible  <bruno@clisp.org>
4275
4276         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
4277         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
4278         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
4279
4280         * m4/stdio_h.m4: Add stubs for vasprintf too.
4281
4282         * modules/stdio: Support vasprintf in sed command.
4283
4284         * modules/vasprintf: Depend on stdio for prototypes.  Remove
4285         vasprintf.h.  Add stdio module indicator.
4286
4287         * lib/stdio_.h: Declare asprintf and vasprintf, based on
4288         vasprintf.h.
4289
4290         * lib/vasprintf.h: File removed.
4291
4292         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
4293         * lib/vasprintf.c: Ditto.
4294         * lib/xvasprintf.c: Ditto.
4295         * tests/test-vasprintf-posix.c: Ditto.
4296         * tests/test-vasprintf.c: Ditto.
4297
4298 2007-03-27  Bruno Haible  <bruno@clisp.org>
4299
4300         Make vasnprintf multithread-safe.
4301         * lib/vasnprintf.c (decimal_point_char): New function.
4302         (VASNPRINTF): Use it.
4303         Suggested by Simon Josefsson.
4304
4305 2007-03-27  Eric Blake  <ebb9@byu.net>
4306
4307         Support sub-second birthtime on cygwin.
4308         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
4309         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
4310         (get_stat_birthtime): Also work with st_birthtim.
4311
4312 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
4313
4314         * lib/stat-time.h (USE_BIRTHTIME): Remove.
4315         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
4316         (get_stat_birthtime_ns): Do not try to use "spare" fields.
4317         (get_stat_birthtime_ns): Simplify compile-time tests.
4318         (get_stat_birthtime): Change the API to look like
4319         get_stat_mtime etc., except return a negative tv_nsec on error.
4320         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
4321         Don't check for "spare" fields.
4322         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
4323         or for struct stat.st_birthtime, as these tests aren't used.
4324         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
4325
4326 2007-03-27  Bruno Haible  <bruno@clisp.org>
4327
4328         * lib/stat-time.h: Include <sys/stat.h>.
4329
4330 2007-03-27  James Youngman  <jay@gnu.org>
4331
4332         * lib/stat-time.h (get_stat_birthtime): New function for
4333           retrieving st_birthtime as provided by UFS2 (hence *BSD).
4334         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
4335           and its variants.
4336         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
4337         * modules/stat-time-test: New file.
4338         * tests/test-stat-time.c: New test, devised by Bruno Haible.
4339
4340 2007-03-26  Bruno Haible  <bruno@clisp.org>
4341
4342         Better support of signalling NaNs.
4343         * lib/atanl.c: Include isnanl.h.
4344         (atanl): Perform test for NaN at the beginning of the function and
4345         through a call to isnanl.
4346         * lib/cosl.c: Include isnanl.h.
4347         (cosl): Perform test for NaN at the beginning of the function and
4348         through a call to isnanl.
4349         * lib/ldexpl.c: Include isnanl.h.
4350         (ldexpl): Perform test for NaN through a call to isnanl.
4351         * lib/logl.c: Include isnanl.h.
4352         (logl): Perform test for NaN at the beginning of the function and
4353         through a call to isnanl.
4354         * lib/sinl.c: Include isnanl.h.
4355         (sinl): Perform test for NaN at the beginning of the function and
4356         through a call to isnanl.
4357         * lib/sqrtl.c: Include isnanl.h.
4358         (sqrtl): Perform test for NaN at the beginning of the function and
4359         through a call to isnanl.
4360         * lib/tanl.c: Include isnanl.h.
4361         (tanl): Perform test for NaN at the beginning of the function and
4362         through a call to isnanl.
4363         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
4364         * modules/mathl (Depends-on): Add isnanl.
4365
4366 2007-03-26  Eric Blake  <ebb9@byu.net>
4367
4368         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
4369         regression in logic sense of previous patch.
4370
4371 2007-03-26  Bruno Haible  <bruno@clisp.org>
4372
4373         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
4374         unportable shell command "if ! ...".
4375         Reported by Ralf Wildenhues.
4376
4377 2007-03-25  Bruno Haible  <bruno@clisp.org>
4378
4379         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
4380         <sysexits.h> file, and only add EX_CONFIG.
4381         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
4382         absolute file name and whether it is sufficient. Substitute also
4383         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
4384         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
4385         ABSOLUTE_SYSEXITS_H into sysexits.h.
4386
4387 2007-03-25  Bruno Haible  <bruno@clisp.org>
4388
4389         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
4390         hints is NULL.
4391
4392 2007-03-25  Bruno Haible  <bruno@clisp.org>
4393
4394         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
4395         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
4396
4397 2007-03-25  Bruno Haible  <bruno@clisp.org>
4398
4399         * lib/vasnprintf.c: Include langinfo.h.
4400         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
4401         multithread-safe.
4402         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
4403         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
4404         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
4405         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
4406         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
4407         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
4408         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
4409         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
4410         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
4411         Reported by Simon Josefsson.
4412
4413 2007-03-25  Bruno Haible  <bruno@clisp.org>
4414
4415         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
4416         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
4417         * modules/vasnprintf (Depends-on): Add stdint.
4418
4419 2007-03-25  Bruno Haible  <bruno@clisp.org>
4420
4421         * modules/fpieee: New file.
4422         * m4/fpieee.m4: New file.
4423         * modules/isnan-nolibm (Depends-on): Add fpieee.
4424         * modules/isnanl-nolibm (Depends-on): Add fpieee.
4425         * modules/isnanl (Depends-on): Add fpieee.
4426
4427 2007-03-25  Bruno Haible  <bruno@clisp.org>
4428
4429         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
4430
4431 2007-03-25  Bruno Haible  <bruno@clisp.org>
4432
4433         Avoid test failures on IRIX 6.5.
4434         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
4435         (main): Use it.
4436         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
4437         macros.
4438         (main): Use them.
4439
4440 2007-03-25  Bruno Haible  <bruno@clisp.org>
4441
4442         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
4443         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
4444         exists but doesn't work.
4445         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
4446         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
4447         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
4448         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
4449
4450 2007-03-25  Bruno Haible  <bruno@clisp.org>
4451
4452         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
4453         returns inf. Needed on IRIX 6.5.
4454
4455 2007-03-25  Bruno Haible  <bruno@clisp.org>
4456
4457         * tests/test-frexpl.c: Include isnanl-nolibm.h.
4458         (main): Use isnanl instead of x != x idiom.
4459         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
4460
4461         * tests/test-frexp.c: Include isnan.h.
4462         (main): Use isnan instead of x != x idiom.
4463         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
4464
4465 2007-03-25  Bruno Haible  <bruno@clisp.org>
4466
4467         * tests/test-frexp.c (NaN): New function/macro.
4468         (main): Use it instead of 0.0 / 0.0.
4469         * tests/test-isnan.c (NaN): New function/macro.
4470         (main): Use it instead of 0.0 / 0.0.
4471         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
4472         (test_function): Use it instead of 0.0 / 0.0.
4473         * tests/test-vasprintf-posix.c (NaN): New function/macro.
4474         (test_function): Use it instead of 0.0 / 0.0.
4475         * tests/test-snprintf-posix.h (NaN): New function/macro.
4476         (test_function): Use it instead of 0.0 / 0.0.
4477         * tests/test-sprintf-posix.h (NaN): New function/macro.
4478         (test_function): Use it instead of 0.0 / 0.0.
4479         * tests/test-fprintf-posix.h (NaN): New function/macro.
4480         (test_function): Use it instead of 0.0 / 0.0.
4481         * tests/test-printf-posix.h (NaN): New function/macro.
4482         (test_function): Use it instead of 0.0 / 0.0.
4483
4484         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
4485
4486 2007-03-25  Bruno Haible  <bruno@clisp.org>
4487
4488         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
4489
4490 2007-03-25  Bruno Haible  <bruno@clisp.org>
4491
4492         * lib/regexec.c (merge_state_with_log): Make static.
4493
4494 2007-03-25  Bruno Haible  <bruno@clisp.org>
4495
4496         * lib/trigl.c (kernel_rem_pio2): Make static.
4497
4498 2007-03-25  Bruno Haible  <bruno@clisp.org>
4499
4500         * lib/sincosl.c (sincosl_table): Make static.
4501
4502 2007-03-25  Bruno Haible  <bruno@clisp.org>
4503
4504         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
4505         if the compiler does not support C99.
4506
4507 2007-03-25  Bruno Haible  <bruno@clisp.org>
4508
4509         * modules/time (Makefile.am): Ensure all rule action lines start with a
4510         tab.
4511
4512 2007-03-24  Bruno Haible  <bruno@clisp.org>
4513
4514         * modules/tsearch-tests: New file.
4515         * tests/test-tsearch.sh: New file.
4516         * tests/test-tsearch.c: New file, mostly copied from glibc.
4517
4518         * modules/search-tests: New file.
4519         * tests/test-search.c: New file.
4520
4521         * modules/search: New file.
4522         * lib/search_.h: New file, incorporating lib/tsearch.h.
4523         * m4/search_h.m4: New file.
4524         * lib/tsearch.h: Remove file.
4525         * lib/tsearch.c: Include search.h instead of tsearch.h.
4526         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
4527         HAVE_TSEARCH.
4528         * modules/tsearch (Files): Remove lib/tsearch.h.
4529         (Depends-on): Add search.
4530         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
4531         (Include): Change tsearch.h into search.h.
4532
4533 2007-03-24  Bruno Haible  <bruno@clisp.org>
4534
4535         * modules/fpucw: New file.
4536         * lib/fpucw.h: New file.
4537         * lib/frexp.c: Include fpucw.h.
4538         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
4539         (FUNC): Use them.
4540         * lib/printf-frexp.c: Include fpucw.h.
4541         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
4542         (FUNC): Use them.
4543         * lib/vasnprintf.c: Include fpucw.h.
4544         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
4545         'long double' calculations.
4546         * tests/test-frexpl.c: Include fpucw.h.
4547         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
4548         * tests/test-printf-frexpl.c: Include fpucw.h.
4549         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
4550         * modules/frexpl (Depends-on): Add fpucw.
4551         * modules/printf-frexpl (Depends-on): Likewise.
4552         * modules/fprintf-posix (Depends-on): Likewise.
4553         * modules/snprintf-posix (Depends-on): Likewise.
4554         * modules/sprintf-posix (Depends-on): Likewise.
4555         * modules/vasnprintf-posix (Depends-on): Likewise.
4556         * modules/vasprintf-posix (Depends-on): Likewise.
4557         * modules/vfprintf-posix (Depends-on): Likewise.
4558         * modules/vsnprintf-posix (Depends-on): Likewise.
4559         * modules/vsprintf-posix (Depends-on): Likewise.
4560         * modules/frexpl-tests (Depends-on): Likewise.
4561         * modules/printf-frexpl-tests (Depends-on): Likewise.
4562
4563 2007-03-24  Bruno Haible  <bruno@clisp.org>
4564
4565         * lib/float+.h: New file.
4566         * lib/isnan.c: Include float+.h.
4567         (SIZE): New macro.
4568         (FUNC): Compare only SIZE bytes of the value.
4569         * lib/vasnprintf.c: Include float+.h.
4570         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
4571         SIZEOF_LDBL or SIZEOF_DBL bytes.
4572         * modules/isnan-nolibm (Files): Add lib/float+.h.
4573         * modules/isnanl-nolibm (Files): Add lib/float+.h.
4574         * modules/isnanl (Files): Add lib/float+.h.
4575         * modules/vasnprintf (Files): Add lib/float+.h.
4576
4577 2007-03-24  Bruno Haible  <bruno@clisp.org>
4578
4579         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
4580         include isnanl-nolibm.h.
4581
4582 2007-03-24  Bruno Haible  <bruno@clisp.org>
4583
4584         * tests/test-read-file.c (main): Don't produce spurious output for
4585         expected situations. Make the test fail if it encountered unexpected
4586         results.
4587
4588 2007-03-24  Bruno Haible  <bruno@clisp.org>
4589
4590         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
4591         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
4592
4593 2007-03-24  Bruno Haible  <bruno@clisp.org>
4594
4595         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
4596
4597 2007-03-24  Bruno Haible  <bruno@clisp.org>
4598
4599         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
4600         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
4601
4602         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
4603         * modules/utf8-ucs4: Turn into a symbolic link to module
4604         unistr/u8-mbtouc.
4605
4606         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
4607         utf8-ucs4-unsafe.
4608         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
4609         unistr/u8-mbtouc-unsafe.
4610
4611         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
4612         * modules/utf16-ucs4: Turn into a symbolic link to module
4613         unistr/u16-mbtouc.
4614
4615         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
4616         utf16-ucs4-unsafe.
4617         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
4618         unistr/u16-mbtouc-unsafe.
4619
4620         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
4621         * modules/ucs4-utf8: Turn into a symbolic link to module
4622         unistr/u8-ubtomb.
4623
4624         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
4625         * modules/ucs4-utf16: Turn into a symbolic link to module
4626         unistr/u16-ubtomb.
4627
4628 2007-03-24  Bruno Haible  <bruno@clisp.org>
4629
4630         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
4631         Enable the function only if HAVE_INLINE.
4632         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
4633         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
4634         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
4635         Enable the function only if HAVE_INLINE.
4636         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
4637         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
4638         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
4639         Enable the function only if HAVE_INLINE.
4640         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
4641         Enable the function only if HAVE_INLINE.
4642         * modules/utf8-ucs4: Update.
4643         * modules/utf8-ucs4-unsafe: Update.
4644         * modules/utf16-ucs4: Update.
4645         * modules/utf16-ucs4-unsafe: Update.
4646         * modules/ucs4-utf8: Update.
4647         * modules/ucs4-utf16: Update.
4648
4649 2007-03-24  Bruno Haible  <bruno@clisp.org>
4650
4651         * lib/utf8-ucs4.h: Remove file.
4652         * lib/utf8-ucs4-unsafe.h: Remove file.
4653         * lib/utf16-ucs4.h: Remove file.
4654         * lib/utf16-ucs4-unsafe.h: Remove file.
4655         * lib/ucs4-utf8.h: Remove file.
4656         * lib/ucs4-utf16.h: Remove file.
4657         * lib/unistr.h: Include their previous contents.
4658         * m4/utf-ucs4.m4: Remove file.
4659         * m4/ucs4-utf.m4: Remove file.
4660         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
4661         (Depends-on): Add unistr/base.
4662         (configure.ac): Remove gl_UTF_UCS4.
4663         (Makefile.am): Update.
4664         (Include): Change to unistr.h.
4665         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
4666         (Depends-on): Add unistr/base.
4667         (configure.ac): Remove gl_UTF_UCS4.
4668         (Makefile.am): Update.
4669         (Include): Change to unistr.h.
4670         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
4671         (Depends-on): Add unistr/base.
4672         (configure.ac): Remove gl_UTF_UCS4.
4673         (Makefile.am): Update.
4674         (Include): Change to unistr.h.
4675         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
4676         (Depends-on): Add unistr/base.
4677         (configure.ac): Remove gl_UTF_UCS4.
4678         (Makefile.am): Update.
4679         (Include): Change to unistr.h.
4680         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
4681         (Depends-on): Add unistr/base.
4682         (configure.ac): Remove gl_UCS4_UTF.
4683         (Makefile.am): Update.
4684         (Include): Change to unistr.h.
4685         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
4686         (Depends-on): Add unistr/base.
4687         (configure.ac): Remove gl_UCS4_UTF.
4688         (Makefile.am): Update.
4689         (Include): Change to unistr.h.
4690         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
4691         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
4692         utf8-ucs4-unsafe.h.
4693         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
4694         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
4695         utf16-ucs4-unsafe.h.
4696         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
4697         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
4698         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
4699         * lib/unistr/u8-strchr.c: Likewise.
4700         * lib/unistr/u8-strrchr.c: Likewise.
4701         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
4702         * lib/unistr/u16-strchr.c: Likewise.
4703         * lib/unistr/u16-strrchr.c: Likewise.
4704         * lib/striconveh.c: Update.
4705         * lib/linebreak.c: Update.
4706
4707 2007-03-24  Bruno Haible  <bruno@clisp.org>
4708
4709         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
4710         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
4711
4712 2007-03-22  Bruno Haible  <bruno@clisp.org>
4713
4714         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
4715
4716 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
4717
4718         * MODULES.html.sh (File system functions): New module write-any-file.
4719         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
4720         * m4/write-any-file.m4: New files.
4721
4722 2007-03-23  Eric Blake  <ebb9@byu.net>
4723
4724         * gnulib-tool: Rearrange space-tab sequences, since some editors
4725         like to eat them.
4726
4727 2007-03-23  Eric Blake  <ebb9@byu.net>
4728
4729         * lib/version-etc.c (version_etc_va): Update license wording to
4730         be more concise.  Recommended by Richard Stallman.
4731
4732 2007-03-22  Bruno Haible  <bruno@clisp.org>
4733
4734         * lib/poll.c (MSG_PEEK): New fallback definition.
4735
4736 2007-03-22  Bruno Haible  <bruno@clisp.org>
4737
4738         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
4739         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
4740         (main): Update.
4741         Fixes a compilation error on BeOS.
4742
4743 2007-03-22  Bruno Haible  <bruno@clisp.org>
4744
4745         * modules/frexpl-tests: New file.
4746         * tests/test-frexpl.c: New file.
4747
4748         * modules/frexpl: New file.
4749         * m4/frexpl.m4: New file.
4750         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
4751         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
4752         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
4753         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
4754         (Depends-on): Add frexpl. Remove isnanl-nolibm.
4755         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
4756
4757 2007-03-22  Bruno Haible  <bruno@clisp.org>
4758
4759         * lib/frexpl.c: Share code with lib/frexp.c.
4760         * modules/mathl (Files): Add lib/frexp.c.
4761         (Depends-on): Add isnanl-nolibm.
4762
4763 2007-03-22  Bruno Haible  <bruno@clisp.org>
4764
4765         * modules/printf-frexp (Files): Add m4/frexp.m4.
4766         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
4767         only if the found frexp function actually works.
4768
4769 2007-03-22  Bruno Haible  <bruno@clisp.org>
4770
4771         * lib/frexp.c: Remove older implementation that uses divisions.
4772
4773 2007-03-21  Bruno Haible  <bruno@clisp.org>
4774
4775         * modules/frexp-tests: New file.
4776         * tests/test-frexp.c: New file.
4777
4778         * modules/frexp: New file.
4779         * lib/frexp.c: New file.
4780         * m4/frexp.m4: New file.
4781         * lib/math_.h (frexp): New declaration.
4782         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
4783         REPLACE_FREXP.
4784         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
4785
4786 2007-03-21  Bruno Haible  <bruno@clisp.org>
4787
4788         * modules/isnanl-tests: New file.
4789         * tests/test-isnanl.c: New file.
4790
4791         * modules/isnanl: New file.
4792         * lib/isnanl.h: New file.
4793         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
4794         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
4795         gl_FUNC_ISNANL_WORKS.
4796         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
4797         New macros.
4798
4799 2007-03-21  Bruno Haible  <bruno@clisp.org>
4800
4801         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
4802         lib/isnanl.h.
4803         (Include): Update.
4804         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
4805         * lib/vasnprintf.c: Update.
4806         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
4807         tests/test-isnanl.h, remove tests/test-isnanl.c.
4808         (Makefile.am): Update.
4809         * tests/test-isnanl-nolibm.c: New file.
4810         * tests/test-isnanl.h: New file.
4811         * tests/test-isnanl.c: Remove file.
4812
4813 2007-03-21  Jim Meyering  <jim@meyering.net>
4814
4815         When trying to open ".", treat ESTALE like EACCES.
4816         * lib/savewd.c (savewd_save): Resort to forking not just upon
4817         failure with EACCES, but also when errno is ESTALE.
4818
4819 2007-03-20  Bruno Haible  <bruno@clisp.org>
4820
4821         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
4822         Needed on AIX 5.1. Reported by Matthew Woehlke.
4823
4824 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4825
4826         Suggestions by Bruno Haible:
4827         * lib/acl-internal.h: Include "gettext.h" rather than rolling
4828         our own.
4829         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
4830         * modules/acl (Depends-on): Add gettext.
4831
4832 2007-03-19  Bruno Haible  <bruno@clisp.org>
4833
4834         * modules/iconvme: Remove file.
4835         * lib/iconvme.h: Remove file.
4836         * lib/iconvme.c: Remove file.
4837         * m4/iconvme.m4: Remove file.
4838
4839 2007-03-19  Bruno Haible  <bruno@clisp.org>
4840
4841         * doc/relocatable-maint.texi: Break long shell script line.
4842         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
4843
4844 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4845
4846         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
4847         handle file_has_acl.
4848         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
4849         * lib/acl.c: Move header inclusions and related macro defns into
4850         lib/acl-internal.h.
4851         (S_ISLNK): Remove defn, since that's now done for us.
4852         (file_has_acl): Move to lib/file-has-acl.c.
4853         Call acl_trivial if available.  This is the crucial part of the fix.
4854         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
4855         shared within the library.  Rewrite a bit, partly to make it compatible
4856         with the GNU coding style.
4857         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
4858         Remove unnecessary double-quotes.
4859         Don't test for acl_to_text; the build will catch that.
4860         Replace acl_entries if it doesn't exist and it is needed.
4861         Check for -lsec and acl_trivial (as used on Solaris 10).
4862         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
4863         lib/file-has-acl.c.
4864         (Depends-on): Add sys_stat, for S_ISLNK.
4865
4866 2007-03-19  Ben Pfaff  <blp@gnu.org>
4867
4868         * doc/gnulib.texi: Fix typos.
4869         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
4870
4871 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
4872
4873         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
4874         If size is zero here, buf must be zero.
4875
4876 2007-03-19  Simon Josefsson  <simon@josefsson.org>
4877
4878         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
4879         <bruno@clisp.org>.
4880
4881 2007-03-18  Bruno Haible  <bruno@clisp.org>
4882
4883         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
4884         Suggested by Eric Blake.
4885
4886 2007-03-18  Ben Pfaff  <blp@gnu.org>
4887
4888         * doc/relocatable.texi: Recommend using as prefix a directory
4889         that does not exist and will never be created.  Based on
4890         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
4891         and others.
4892
4893 2007-03-17  Bruno Haible  <bruno@clisp.org>
4894
4895         * lib/fchownat.c: Include lchown.h.
4896
4897 2007-03-17  Bruno Haible  <bruno@clisp.org>
4898
4899         Fix endless loop when the given allocated size was > INT_MAX.
4900         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
4901         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
4902         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
4903         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
4904         * lib/sprintf.c (sprintf): Likewise.
4905
4906 2007-03-17  Bruno Haible  <bruno@clisp.org>
4907
4908         * tests/test-argp-2.sh (func_compare): Output a context diff.
4909
4910 2007-03-17  Bruno Haible  <bruno@clisp.org>
4911
4912         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
4913         locale's decimal-point character.
4914
4915 2007-03-17  Bruno Haible  <bruno@clisp.org>
4916
4917         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
4918         before comparing it. Needed because on some platforms (e.g. x86) a
4919         'long double' occupies less bytes than sizeof (long double).
4920
4921 2007-03-17  Bruno Haible  <bruno@clisp.org>
4922
4923         * tests/test-crc.c (main): Make printf statements 64-bit clean.
4924         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
4925         * tests/test-getaddrinfo.c (simple): Likewise.
4926         * tests/test-read-file.c (main): Likewise.
4927
4928 2007-03-17  Bruno Haible  <bruno@clisp.org>
4929
4930         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
4931
4932 2007-03-17  Bruno Haible  <bruno@clisp.org>
4933
4934         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
4935         unused variable.
4936
4937 2007-03-17  Bruno Haible  <bruno@clisp.org>
4938
4939         * tests/test-c-strcasecmp.c: Include c-strcase.h.
4940         * tests/test-c-strncasecmp.c: Likewise.
4941
4942 2007-03-17  Bruno Haible  <bruno@clisp.org>
4943
4944         * modules/stdlib (Depends-on): Add unistd.
4945         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
4946         Needed for MacOS X 10.3.
4947
4948 2007-03-17  Bruno Haible  <bruno@clisp.org>
4949
4950         * lib/unistr/u-strdup.h: Include <stdlib.h>.
4951
4952 2007-03-17  Bruno Haible  <bruno@clisp.org>
4953
4954         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
4955
4956 2007-03-17  Bruno Haible  <bruno@clisp.org>
4957
4958         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
4959         to reflect files copied from gnulib (with or without modifications).
4960         Suggested by Jim Meyering.
4961
4962 2007-03-17  Eric Blake  <ebb9@byu.net>
4963
4964         * NEWS: Document stdlib change from 2007-02-18.
4965
4966 2007-03-17  Jim Meyering  <jim@meyering.net>
4967
4968         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
4969         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
4970         someone uses a name containing shell meta-characters.
4971         Reported by Alfred M. Szmidt.
4972
4973         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
4974
4975 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
4976
4977         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
4978         and copy gettext configuration files only if configure.ac contains
4979         a use of AM_GNU_GETTEXT_VERSION.
4980
4981 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
4982
4983         * build-aux/bootstrap (gnulib_name): New variable.
4984         (gnulib_tool_options): Use it.
4985
4986 2007-03-13  Simon Josefsson  <simon@josefsson.org>
4987
4988         * tests/test-des.c: Use new namespace.
4989
4990 2007-03-15  Bruno Haible  <bruno@clisp.org>
4991
4992         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
4993         Reported by James Youngman <jay@gnu.org>.
4994
4995 2007-03-15  Bruno Haible  <bruno@clisp.org>
4996
4997         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
4998         declared prototype. Needed with cc on OSF/1 5.1.
4999
5000 2007-03-15  Bruno Haible  <bruno@clisp.org>
5001
5002         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
5003         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
5004         (struct gl_list_implementation): Add dispose_fn argument to the
5005         'create_empty', 'create' methods.
5006         (struct gl_list_impl_base): Add field 'dispose_fn'.
5007         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
5008         argument.
5009         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
5010         dispose_fn argument.
5011         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
5012         dispose_fn on the dropped values.
5013         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
5014         dispose_fn argument.
5015         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
5016         dropped values.
5017         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
5018         (gl_tree_remove_node): Call dispose_fn on the dropped value.
5019         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
5020         (gl_tree_remove_node): Call dispose_fn on the dropped value.
5021         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
5022         argument.
5023         (gl_tree_list_free): Call dispose_fn on the dropped values.
5024         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
5025         the dropped values.
5026         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
5027         Add dispose_fn argument.
5028         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
5029         Call dispose_fn on the dropped values.
5030         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
5031         Add dispose_fn argument.
5032         (gl_sublist_create): Initialize the 'dispose_fn' field.
5033         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
5034         * tests/test-array_list.c (main): Update.
5035         * tests/test-carray_list.c (main): Update.
5036         * tests/test-avltree_list.c (main): Update.
5037         * tests/test-rbtree_list.c (main): Update.
5038         * tests/test-avltreehash_list.c (main): Update.
5039         * tests/test-rbtreehash_list.c (main): Update.
5040         * tests/test-linked_list.c (main): Update.
5041         * tests/test-linkedhash_list.c (main): Update.
5042         * tests/test-array_oset.c (main): Update.
5043
5044 2007-03-15  Bruno Haible  <bruno@clisp.org>
5045
5046         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
5047         (gl_oset_create_empty): Add dispose_fn argument.
5048         (struct gl_oset_implementation): Add dispose_fn argument to
5049         'create_empty' method.
5050         (struct gl_oset_impl_base): Add dispose_fn field.
5051         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
5052         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
5053         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
5054         values.
5055         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
5056         (gl_tree_oset_free): Call dispose_fn on the dropped values.
5057         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
5058         dropped value.
5059         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
5060         dropped value.
5061         * tests/test-array_oset.c (main): Update.
5062         * tests/test-avltree_oset.c (main): Update.
5063         * tests/test-rbtree_oset.c (main): Update.
5064         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
5065
5066 2007-03-13  Bruno Haible  <bruno@clisp.org>
5067
5068         * tests/test-stdbool.c (i): Update after last patch.
5069
5070 2007-03-12  Bruno Haible  <bruno@clisp.org>
5071
5072         * lib/quotearg.c: Include <wctype.h> early, before the definition of
5073         the iswprint macro. Needed on Solaris 2.5.1.
5074
5075 2007-03-12  Bruno Haible  <bruno@clisp.org>
5076
5077         * tests/test-printf-frexp.c (main): Declare x as volatile.
5078
5079 2007-03-12  Simon Josefsson  <simon@josefsson.org>
5080
5081         * doc/gnulib.texi (Build robot for gnulib): New section.
5082
5083 2007-03-12  Jim Meyering  <jim@meyering.net>
5084
5085         * build-aux/bootstrap: New file.
5086         * build-aux/bootstrap.conf: New file, from coreutils.
5087
5088 2007-03-11  Bruno Haible  <bruno@clisp.org>
5089
5090         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
5091
5092 2007-03-12  Simon Josefsson  <simon@josefsson.org>
5093
5094         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
5095         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
5096         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
5097
5098 2007-03-11  Bruno Haible  <bruno@clisp.org>
5099
5100         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
5101         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
5102
5103 2007-03-11  Bruno Haible  <bruno@clisp.org>
5104
5105         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
5106         formula. Needed for SunPRO C 5.0.
5107
5108 2007-03-11  Bruno Haible  <bruno@clisp.org>
5109
5110         * modules/long-options (Depends-on): Add getopt.
5111
5112 2007-03-11  Bruno Haible  <bruno@clisp.org>
5113
5114         * modules/modechange (Depends-on): Add stdbool.
5115
5116 2007-03-11  Bruno Haible  <bruno@clisp.org>
5117
5118         * modules/i-ring (Depends-on): Add stdbool.
5119
5120 2007-03-11  Bruno Haible  <bruno@clisp.org>
5121
5122         * modules/gc-des (Depends-on): Add stdbool.
5123
5124 2007-03-11  Bruno Haible  <bruno@clisp.org>
5125
5126         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
5127
5128 2007-03-11  Bruno Haible  <bruno@clisp.org>
5129
5130         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
5131
5132 2007-03-11  Bruno Haible  <bruno@clisp.org>
5133
5134         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
5135
5136 2007-03-11  Bruno Haible  <bruno@clisp.org>
5137
5138         * lib/vasnprintf.c (sprintf): Undefine.
5139
5140 2007-03-11  Bruno Haible  <bruno@clisp.org>
5141
5142         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
5143         initializers in SunPRO C and Compaq C compilers.
5144
5145 2007-03-11  Bruno Haible  <bruno@clisp.org>
5146
5147         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
5148         decrementing code ANSI C compliant.
5149
5150 2007-03-11  Bruno Haible  <bruno@clisp.org>
5151
5152         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
5153         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
5154
5155 2007-03-11  Bruno Haible  <bruno@clisp.org>
5156
5157         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
5158         <stdbool.h> substitute doesn't pass.
5159
5160 2007-03-11  Bruno Haible  <bruno@clisp.org>
5161
5162         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
5163
5164 2007-03-11  Bruno Haible  <bruno@clisp.org>
5165
5166         * gnulib-tool (func_create_megatestdir): Create also an autobuild
5167         script, for submission to autobuild.josefsson.org.
5168
5169 2007-03-10  Bruno Haible  <bruno@clisp.org>
5170
5171         * modules/canonicalize-lgpl-tests: New file.
5172         * tests/test-canonicalize-lgpl.sh: New file.
5173         * tests/test-canonicalize-lgpl.c: New file.
5174
5175         * modules/c-strcase-tests: New file.
5176         * tests/test-c-strcase.sh: New file.
5177         * tests/test-c-strcasecmp.c: New file.
5178         * tests/test-c-strncasecmp.c: New file.
5179
5180         * modules/atexit-tests: New file.
5181         * tests/test-atexit.sh: New file.
5182         * tests/test-atexit.c: New file.
5183
5184 2007-03-10  Bruno Haible  <bruno@clisp.org>
5185
5186         * tests/test-binary-io.sh: Use temporary filenames that are not so
5187         likely to clash with those of other tests (in a parallel make).
5188         * tests/test-binary-io.c: Likewise.
5189
5190 2007-03-10  Bruno Haible  <bruno@clisp.org>
5191
5192         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
5193         fallback; use #error instead.
5194         Suggested by Simon Josefsson.
5195
5196 2007-03-10  Bruno Haible  <bruno@clisp.org>
5197
5198         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
5199         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
5200         first and the last.
5201
5202 2007-03-10  Bruno Haible  <bruno@clisp.org>
5203
5204         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
5205
5206 2007-03-10  Bruno Haible  <bruno@clisp.org>
5207
5208         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
5209         "make distcheck".
5210         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
5211         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
5212         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
5213
5214 2007-03-10  Bruno Haible  <bruno@clisp.org>
5215
5216         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
5217         variable.
5218         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
5219         variable.
5220
5221 2007-03-09  Eric Blake  <ebb9@byu.net>
5222         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
5223
5224         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
5225         types are not being provided by gnulib.
5226         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
5227         types are supported.
5228
5229 2007-03-10  Bruno Haible  <bruno@clisp.org>
5230
5231         * lib/stdio_.h (__attribute__): New macro.
5232         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
5233         vsprintf): Specify __attribute__ __format__ for GCC.
5234         Suggested by Eric Blake.
5235
5236 2007-03-09  Bruno Haible  <bruno@clisp.org>
5237
5238         * modules/printf-posix-tests: New file.
5239         * tests/test-printf-posix.sh: New file.
5240         * tests/test-printf-posix.c: New file.
5241
5242         * modules/printf-posix: New file.
5243         * lib/printf.c: New file.
5244         * m4/printf-posix-rpl.m4: New file.
5245         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
5246         REPLACE_PRINTF.
5247         * lib/stdio_.h (printf): New declaration.
5248         (format, __format__, ____printf____, ____scanf____, ____strftime____,
5249         ____strfmon____): New macros.
5250         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
5251         REPLACE_PRINTF.
5252
5253 2007-03-09  Bruno Haible  <bruno@clisp.org>
5254
5255         * tests/test-vasnprintf-posix2.sh: New file.
5256         * tests/test-vasnprintf-posix2.c: New file.
5257         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
5258         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
5259         (Makefile.am): Activate test-vasnprintf-posix2.sh.
5260
5261         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
5262         a locale dependent decimal point, rather than always '.'.
5263
5264 2007-03-09  Eric Blake  <ebb9@byu.net>
5265
5266         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
5267         spite of platforms like Tandem/NSK that define it to -1.
5268
5269 2007-03-08  Bruno Haible  <bruno@clisp.org>
5270
5271         * modules/vprintf-posix-tests: New file.
5272         * tests/test-vprintf-posix.sh: New file.
5273         * tests/test-vprintf-posix.c: New file.
5274         * tests/test-printf-posix.h: New file.
5275
5276         * modules/vprintf-posix: New file.
5277         * lib/vprintf.c: New file.
5278         * m4/vprintf-posix.m4: New file.
5279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
5280         REPLACE_VPRINTF.
5281         * lib/stdio_.h (vprintf): New declaration.
5282         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
5283         REPLACE_VPRINTF.
5284
5285 2007-03-08  Bruno Haible  <bruno@clisp.org>
5286
5287         * modules/fprintf-posix-tests: New file.
5288         * tests/test-fprintf-posix.sh: New file.
5289         * tests/test-fprintf-posix.c: New file.
5290
5291         * modules/fprintf-posix: New file.
5292         * lib/fprintf.c: New file.
5293         * m4/fprintf-posix.m4: New file.
5294         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
5295         REPLACE_FPRINTF.
5296         * lib/stdio_.h (fprintf): New declaration.
5297         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
5298         REPLACE_FPRINTF.
5299
5300 2007-03-08  Bruno Haible  <bruno@clisp.org>
5301
5302         * modules/vfprintf-posix-tests: New file.
5303         * tests/test-vfprintf-posix.sh: New file.
5304         * tests/test-vfprintf-posix.c: New file.
5305         * tests/test-fprintf-posix.h: New file.
5306         * tests/test-fprintf-posix.out: New file.
5307
5308         * modules/vfprintf-posix: New file.
5309         * lib/vfprintf.c: New file.
5310         * m4/vfprintf-posix.m4: New file.
5311         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
5312         REPLACE_VFPRINTF.
5313         * lib/stdio_.h (vfprintf): New declaration.
5314         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
5315         REPLACE_VFPRINTF.
5316
5317 2007-03-08  Bruno Haible  <bruno@clisp.org>
5318
5319         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
5320
5321 2007-03-08  Bruno Haible  <bruno@clisp.org>
5322
5323         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
5324         instead of 'expr' invocations.
5325         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
5326         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
5327         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
5328         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
5329         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
5330         Suggested by Paul Eggert.
5331
5332 2007-03-08  Bruno Haible  <bruno@clisp.org>
5333
5334         * modules/fseterr-tests: New file.
5335         * tests/test-fseterr.c: New file.
5336
5337         * modules/fseterr: New file.
5338         * lib/fseterr.h: New file.
5339         * lib/fseterr.c: New file.
5340
5341 2007-03-08  Bruno Haible  <bruno@clisp.org>
5342
5343         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
5344         * lib/getopt_.h: Likewise.
5345         * lib/mbswidth.h: Likewise.
5346         * lib/setenv.h: Likewise.
5347         * lib/vasnprintf.h: Likewise.
5348         * lib/vasprintf.h: Likewise.
5349         * lib/verror.h: Likewise.
5350         * lib/xsetenv.h: Likewise.
5351         * lib/xvasprintf.h: Likewise.
5352
5353 2007-03-08  Jim Meyering  <jim@meyering.net>
5354
5355         * users.txt: Add parted.
5356
5357         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
5358
5359 2007-03-07  Bruno Haible  <bruno@clisp.org>
5360
5361         * m4/printf.m4: Make the shell script snippets copy&pastable.
5362
5363 2007-03-02  Bruno Haible  <bruno@clisp.org>
5364
5365         * lib/netinet_in_.h: New file.
5366         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
5367         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
5368         * modules/netinet_in (Files): Add lib/netinet_in_.h.
5369         (Depends-on): Add absolute-header.
5370         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
5371         into netinet/in.h.
5372
5373 2007-03-03  Bruno Haible  <bruno@clisp.org>
5374
5375         * lib/sys_select_.h: New file.
5376         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
5377         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
5378         * modules/sys_select (Files): Add lib/sys_select_.h.
5379         (Depends-on): Add absolute-header.
5380         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
5381         into sys/select.h.
5382
5383 2007-03-02  Bruno Haible  <bruno@clisp.org>
5384
5385         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
5386         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
5387         values.
5388         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
5389         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
5390         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
5391         * modules/sys_socket (Depends-on): Add absolute-header.
5392         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
5393         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
5394         (Include): Remove requirement of inclusion of <sys/types.h>.
5395
5396 2007-03-02  Bruno Haible  <bruno@clisp.org>
5397
5398         * lib/byteswap_.h (bswap_32): Fix formula.
5399
5400 2007-03-06  Bruno Haible  <bruno@clisp.org>
5401
5402         * modules/sprintf-posix-tests: New file.
5403         * tests/test-sprintf-posix.c: New file.
5404
5405         * modules/sprintf-posix: New file.
5406         * lib/sprintf.c: New file.
5407         * m4/sprintf-posix.m4: New file.
5408         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
5409         REPLACE_SPRINTF.
5410         * lib/stdio_.h (sprintf): New declaration.
5411         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
5412         REPLACE_SPRINTF.
5413
5414 2007-03-06  Bruno Haible  <bruno@clisp.org>
5415
5416         * modules/vsprintf-posix-tests: New file.
5417         * tests/test-vsprintf-posix.c: New file.
5418         * tests/test-sprintf-posix.h: New file.
5419
5420         * modules/vsprintf-posix: New file.
5421         * lib/vsprintf.c: New file.
5422         * m4/vsprintf-posix.m4: New file.
5423         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
5424         REPLACE_VSPRINTF.
5425         * lib/stdio_.h (vsprintf): New declaration.
5426         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
5427         REPLACE_VSPRINTF.
5428
5429 2007-03-06  Bruno Haible  <bruno@clisp.org>
5430
5431         * modules/vsnprintf (Depend-on): Remove minmax.
5432
5433 2007-03-06  Bruno Haible  <bruno@clisp.org>
5434
5435         * modules/snprintf-posix-tests: New file.
5436         * tests/test-snprintf-posix.c: New file.
5437
5438         * modules/snprintf-posix: New file.
5439         * m4/snprintf-posix.m4: New file.
5440         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
5441         gl_FUNC_SNPRINTF.
5442         (gl_FUNC_SNPRINTF): Invoke it.
5443         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
5444         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
5445         is set.
5446         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
5447
5448 2007-03-06  Bruno Haible  <bruno@clisp.org>
5449
5450         * modules/vsnprintf-posix-tests: New file.
5451         * tests/test-vsnprintf-posix.c: New file.
5452         * tests/test-snprintf-posix.h: New file.
5453
5454         * modules/vsnprintf-posix: New file.
5455         * m4/vsnprintf-posix.m4: New file.
5456         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
5457         gl_FUNC_VSNPRINTF.
5458         (gl_FUNC_VSNPRINTF): Invoke it.
5459         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
5460         * lib/stdio_.h (vsnprintf): Define as a replacement if
5461         REPLACE_VSNPRINTF is set.
5462         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
5463
5464 2007-03-06  Bruno Haible  <bruno@clisp.org>
5465
5466         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
5467         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
5468
5469 2007-03-06  Bruno Haible  <bruno@clisp.org>
5470
5471         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
5472         (asinl): Declare also if HAVE_DECL_ASINL is set.
5473         (atanl): Declare also if HAVE_DECL_ATANL is set.
5474         (ceill): Declare also if HAVE_DECL_CEILL is set.
5475         (cosl): Declare also if HAVE_DECL_COSL is set.
5476         (expl): Declare also if HAVE_DECL_EXPL is set.
5477         (floorl): Declare also if HAVE_DECL_FLOORL is set.
5478         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
5479         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
5480         (logl): Declare also if HAVE_DECL_LOGL is set.
5481         (sinl): Declare also if HAVE_DECL_SINL is set.
5482         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
5483         (tanl): Declare also if HAVE_DECL_TANL is set.
5484         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
5485         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
5486         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
5487         declaration of frexpl, ldexpl.
5488         * modules/printf-frexpl (Depends-on): Add math.
5489         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
5490
5491 2007-03-05  Bruno Haible  <bruno@clisp.org>
5492
5493         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
5494         frexpl and ldexpl are declared.
5495         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
5496
5497 2007-03-05  Bruno Haible  <bruno@clisp.org>
5498
5499         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
5500         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
5501
5502 2007-03-05  Bruno Haible  <bruno@clisp.org>
5503
5504         * lib/stdio_.h: Include <stddef.h>.
5505
5506 2007-03-05  Bruno Haible  <bruno@clisp.org>
5507
5508         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
5509
5510 2007-03-05  Bruno Haible  <bruno@clisp.org>
5511
5512         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
5513         NetBSD 4, from Ralf Wildenhues.
5514
5515 2007-03-04  Bruno Haible  <bruno@clisp.org>
5516
5517         * lib/vasprintf.h: Update #if logic for the case when the functions
5518         exist but are overridden.
5519
5520 2007-03-04  Bruno Haible  <bruno@clisp.org>
5521
5522         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
5523         implementations: glibc-2.4 and MacOS X 10.3.
5524         * tests/test-vasnprintf-posix.c (test_function): Test also the case
5525         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
5526         * tests/test-vasprintf-posix.c (test_function): Likewise.
5527
5528 2007-03-04  Bruno Haible  <bruno@clisp.org>
5529
5530         * modules/vasprintf-posix-tests: New file.
5531         * tests/test-vasprintf-posix.c: New file.
5532
5533         * modules/vasprintf-posix: New file.
5534         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
5535         defined.
5536         * m4/vasprintf-posix.m4: New file.
5537         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
5538         gl_FUNC_VASPRINTF.
5539         (gl_FUNC_VASPRINTF): Invoke it.
5540         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
5541         here.
5542         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
5543
5544 2007-03-04  Bruno Haible  <bruno@clisp.org>
5545
5546         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
5547         REPLACE_GETTIMEOFDAY.
5548         * modules/sys_time (Makefile.am): Likewise.
5549         * m4/sys_time_h.m4: Likewise.
5550         * m4/gettimeofday.m4: Likewise.
5551
5552 2007-03-04  Bruno Haible  <bruno@clisp.org>
5553
5554         * modules/vasnprintf-posix-tests: New file.
5555         * tests/test-vasnprintf-posix.c: New file.
5556
5557         * modules/vasnprintf-posix: New file.
5558         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
5559         printf-frexpl.h.
5560         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
5561         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
5562         REPLACE_VASNPRINTF is defined.
5563         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
5564         gl_FUNC_VASNPRINTF.
5565         (gl_FUNC_VASNPRINTF): Invoke it.
5566         * m4/vasnprintf-posix.m4: New file.
5567         * m4/printf.m4: New file.
5568
5569 2007-03-04  Bruno Haible  <bruno@clisp.org>
5570
5571         Compile progreloc.c only if --enable-relocatable is specified.
5572         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
5573         if --enable-relocatable was specified.
5574         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
5575         lib_SOURCES.
5576
5577 2007-03-04  Jim Meyering  <jim@meyering.net>
5578
5579         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
5580         Use it consistently, rather than enumerating errno constants.
5581
5582 2007-03-04  Bruno Haible  <bruno@clisp.org>
5583
5584         * modules/xvasprintf-tests: New file.
5585         * tests/test-xvasprintf.c: New file.
5586
5587         * modules/vasprintf-tests: New file.
5588         * tests/test-vasprintf.c: New file.
5589
5590         * modules/vasnprintf-tests: New file.
5591         * tests/test-vasnprintf.c: New file.
5592
5593         * modules/vsnprintf-tests: New file.
5594         * tests/test-vsnprintf.c: New file.
5595
5596         * modules/snprintf-tests: New file.
5597         * tests/test-snprintf.c: New file.
5598
5599 2007-03-04  Bruno Haible  <bruno@clisp.org>
5600
5601         Compile relocatable.c only if --enable-relocatable is specified.
5602         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
5603         gl_RELOCATABLE_LIBRARY.
5604         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
5605         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
5606         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
5607         gl_RELOCATABLE_LIBRARY.
5608         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
5609         (Makefile.am): Remove lib_SOURCES.
5610         * modules/relocatable-lib-lgpl (configure.ac): Invoke
5611         gl_RELOCATABLE_LIBRARY.
5612         (Makefile.am): Remove lib_SOURCES.
5613         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
5614         always.
5615         * modules/relocatable-prog-wrapper (configure.ac): Invoke
5616         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
5617
5618 2007-03-04  Bruno Haible  <bruno@clisp.org>
5619
5620         * modules/argmatch-tests: New file.
5621         * tests/test-argmatch.c: New file.
5622
5623         * tests/test-allocsa.c (main): Halve the number of loop runs.
5624
5625         * modules/alloca-opt-tests: New file.
5626         * tests/test-alloca-opt.c: New file.
5627
5628 2007-03-04  Jim Meyering  <jim@meyering.net>
5629
5630         Work around difference between Linux ACLs and Solaris 10 ZFS.
5631         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
5632         for EINVAL.
5633
5634 2007-03-03  Bruno Haible  <bruno@clisp.org>
5635
5636         * modules/relocatable-prog (Depends-on): Add back progreloc's
5637         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
5638
5639 2007-03-03  Bruno Haible  <bruno@clisp.org>
5640
5641         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
5642         * modules/relocatable-lib: New file.
5643
5644 2007-03-03  Bruno Haible  <bruno@clisp.org>
5645
5646         * modules/relocatable-prog: Renamed from modules/relocatable.
5647         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
5648
5649 2007-03-03  Bruno Haible  <bruno@clisp.org>
5650
5651         * modules/relocatable-script (Files): Add doc/relocatable.texi,
5652         m4/relocatable-lib.m4.
5653         (Depends-on): Remove 'relocatable'.
5654         (configure.ac): Add gl_RELOCATABLE_NOP.
5655
5656 2007-03-03  Bruno Haible  <bruno@clisp.org>
5657
5658         * modules/relocatable-prog-wrapper: New file.
5659         * modules/relocatable (Depends-on): Add it. Remove all other
5660         dependencies except progname.
5661         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
5662
5663         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
5664         (gl_FUNC_STRERROR): Nop.
5665         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
5666
5667         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
5668         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
5669
5670         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
5671         (gl_FUNC_READLINK): Update.
5672
5673         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
5674
5675 2007-03-03  Bruno Haible  <bruno@clisp.org>
5676
5677         * lib/xreadlink.c: Include <unistd.h> unconditionally.
5678         * modules/xreadlink (Depends-on): Add unistd.
5679         * modules/xreadlink-with-size (Depends-on): Likewise.
5680
5681 2007-03-03  Bruno Haible  <bruno@clisp.org>
5682
5683         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
5684         extracted from gt_FUNC_SETENV.
5685         (gt_FUNC_SETENV): Remove macro.
5686         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
5687         remove gt_FUNC_SETENV.
5688
5689 2007-03-03  Bruno Haible  <bruno@clisp.org>
5690
5691         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
5692         ENABLE_RELOCATABLE here.
5693         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
5694
5695 2007-03-03  Bruno Haible  <bruno@clisp.org>
5696
5697         * modules/rbtreehash-list-tests (Depends-on): Add progname.
5698         * tests/test-rbtreehash_list.c: Include progname.h.
5699         (main): Call set_program_name.
5700
5701         * modules/rbtree-oset-tests (Depends-on): Add progname.
5702         * tests/test-rbtree_oset.c: Include progname.h.
5703         (main): Call set_program_name.
5704
5705         * modules/rbtree-list-tests (Depends-on): Add progname.
5706         * tests/test-rbtree_list.c: Include progname.h.
5707         (main): Call set_program_name.
5708
5709         * modules/linked-list-tests (Depends-on): Add progname.
5710         * tests/test-linked_list.c: Include progname.h.
5711         (main): Call set_program_name.
5712
5713 2007-03-03  Bruno Haible  <bruno@clisp.org>
5714
5715         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
5716         All uses of __restrict changed to _Restrict_.
5717         * lib/glob_.h (__restrict): Remove macro.
5718
5719 2007-03-02  Bruno Haible  <bruno@clisp.org>
5720
5721         * modules/gettext (configure.ac): Require gettext infrastructure
5722         from version 0.16.1.
5723
5724 2007-03-02  Bruno Haible  <bruno@clisp.org>
5725
5726         * modules/linkedhash-list-tests (Depends-on): Add progname.
5727         * tests/test-linkedhash_list.c: Include progname.h.
5728         (main): Call set_program_name.
5729
5730         * modules/carray-list-tests (Depends-on): Add progname.
5731         * tests/test-carray_list.c: Include progname.h.
5732         (main): Call set_program_name.
5733
5734         * modules/avltreehash-list-tests (Depends-on): Add progname.
5735         * tests/test-avltreehash_list.c: Include progname.h.
5736         (main): Call set_program_name.
5737
5738         * modules/avltree-oset-tests (Depends-on): Add progname.
5739         * tests/test-avltree_oset.c: Include progname.h.
5740         (main): Call set_program_name.
5741
5742         * modules/avltree-list-tests (Depends-on): Add progname.
5743         * tests/test-avltree_list.c: Include progname.h.
5744         (main): Call set_program_name.
5745
5746         * modules/array-oset-tests (Depends-on): Add progname.
5747         * tests/test-array_oset.c: Include progname.h.
5748         (main): Call set_program_name.
5749
5750         * modules/array-list-tests (Depends-on): Add progname.
5751         * tests/test-array_list.c: Include progname.h.
5752         (main): Call set_program_name.
5753
5754         * modules/argp-tests (Depends-on): Add progname.
5755         * tests/test-argp.c: Include argp.h first. Include progname.h.
5756         (main): Call set_program_name.
5757
5758 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
5759
5760         * doc/gnulib-tool.texi (Initial import): Reword description of
5761         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
5762         limited effect even if defined after the first system include.
5763
5764 2007-03-01  Bruno Haible  <bruno@clisp.org>
5765
5766         * build-aux/config.libpath: Update to libtool-1.5.22.
5767         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
5768
5769 2007-03-01  Bruno Haible  <bruno@clisp.org>
5770
5771         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
5772         foo_CFLAGS.
5773         Reported by Ralf Wildenhues.
5774
5775 2007-03-01  Bruno Haible  <bruno@clisp.org>
5776
5777         * build-aux/install-reloc: Remove object files left over by some
5778         compilers.
5779         Reported by Ralf Wildenhues.
5780
5781 2007-03-01  Bruno Haible  <bruno@clisp.org>
5782
5783         * build-aux/install-reloc: Break long lines.
5784
5785 2007-03-01  Bruno Haible  <bruno@clisp.org>
5786
5787         * doc/relocatable.texi: Document that it may not work on OpenBSD.
5788         Reported by Ralf Wildenhues.
5789
5790 2007-03-01  Bruno Haible  <bruno@clisp.org>
5791
5792         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
5793         include ordering constraints.
5794
5795 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
5796
5797         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
5798         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
5799         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
5800         as another example.
5801         * lib/time_.h: Fix misspelling.
5802         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
5803         Require gl_HEADER_TIME_H_DEFAULTS.
5804         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
5805         * m4/time_r.m4 (gl_TIME_R): Likewise.
5806         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
5807
5808 2007-03-01  Bruno Haible  <bruno@clisp.org>
5809
5810         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
5811         * m4/utimens.m4 (gl_UTIMENS): Likewise.
5812
5813 2007-03-01  Jim Meyering  <jim@meyering.net>
5814
5815         * modules/xreadlink (Maintainer): Add my name.
5816         * modules/xreadlink-with-size (Depends-on): Alphabetize.
5817
5818 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
5819             Bruno Haible  <bruno@clisp.org>
5820
5821         * build-aux/install-reloc: Compile also c-ctype.c.
5822         * build-aux/relocatable.sh.in: New file.
5823         * doc/relocatable.texi: New file.
5824         * doc/relocatable-maint.texi: New file.
5825         * doc/gnulib.texi: Include relocatable-maint.texi.
5826         * lib/progreloc.c: Include unistd.h unconditionally.
5827         * lib/relocwrapper.c: Include unistd.h unconditionally.
5828         Include c-ctype.h.
5829         (add_dotbin): Use c_tolower.
5830         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
5831         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
5832         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
5833         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
5834         to m4/relocatable-lib.m4.
5835         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
5836         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
5837         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
5838         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
5839         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
5840         * modules/relocatable: New file.
5841         * modules/relocatable-lib: New file.
5842         * modules/relocatable-script: New file.
5843
5844 2007-02-28  Bruno Haible  <bruno@clisp.org>
5845
5846         Import --enable-relocatable infrastructure.
5847         * build-aux/config.libpath: New file, from GNU gettext.
5848         * build-aux/install-reloc: New file, from GNU gettext.
5849         * build-aux/reloc-ldflags: New file, from GNU gettext.
5850         * lib/relocatable.h: New file, from GNU gettext.
5851         * lib/relocatable.c: New file, from GNU gettext.
5852         * lib/relocwrapper.c: New file, from GNU gettext.
5853         * m4/relocatable.m4: New file, from GNU gettext.
5854
5855 2007-02-28  Bruno Haible  <bruno@clisp.org>
5856
5857         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
5858
5859         * modules/xreadlink: New file, from GNU gettext with modifications.
5860         * lib/xreadlink.c: New file, from GNU gettext.
5861         * lib/xreadlink.h: Add comments.
5862         (xreadlink): New declaration.
5863
5864         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
5865         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
5866         lib/xreadlink-with-size.c.
5867         (configure.ac): Remove gl_XREADLINK invocation.
5868         (Makefile.am): Augment lib_SOURCES.
5869         * m4/xreadlink.m4: Remove file.
5870         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
5871         (xreadlink_with_size): Renamed from xreadink.
5872         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
5873         * modules/canonicalize (Depends-on): Replace xreadlink with
5874         xreadlink-with-size.
5875         * lib/canonicalize.c (canonicalize_filename_mode): Update.
5876
5877 2007-02-25  Jim Meyering  <jim@meyering.net>
5878
5879         * build-aux/announce-gen: When complaining about excess arguments,
5880         list them.
5881
5882 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
5883
5884         * README: Document signed integer overflow situation more
5885         accurately.
5886
5887 2007-02-25  Bruno Haible  <bruno@clisp.org>
5888
5889         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
5890         'a' or 'A' conversion.
5891
5892 2007-02-25  Bruno Haible  <bruno@clisp.org>
5893
5894         * modules/filename: Renamed from modules/pathname.
5895         (Files): Replace lib/pathname.h with lib/filename.h. Replace
5896         lib/concatpath.c with lib/concat-filename.c.
5897         (Makefile.am): Update.
5898         (Include): Replace pathname.h with filename.h.
5899         * lib/filename.h: Renamed from lib/pathname.h.
5900         (concatenated_filename): Renamed from concatenated_pathname.
5901         * lib/concat-filename.c: Renamed from lib/concatpath.c.
5902         (concatenated_filename): Renamed from concatenated_pathname.
5903         * lib/findprog.c: Include filename.h instead of pathname.h.
5904         (find_in_path): Update.
5905         * lib/javacomp.c: Include filename.h instead of pathname.h.
5906         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
5907         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
5908         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
5909         is_oldgcj_14_13_usable, is_javac_usable): Update.
5910         * lib/javaexec.c: Include filename.h instead of pathname.h.
5911         (execute_java_class): Update.
5912         * modules/findprog: Update.
5913         * modules/javacomp: Update.
5914         * modules/javaexec: Update.
5915         * MODULES.html.sh (File system functions): Add 'filename', remove
5916         'pathname'.
5917
5918 2007-02-25  Bruno Haible  <bruno@clisp.org>
5919
5920         * modules/printf-frexpl-tests: New file.
5921         * tests/test-printf-frexpl.c: New file.
5922
5923         * modules/printf-frexpl: New file.
5924         * lib/printf-frexpl.h: New file.
5925         * lib/printf-frexpl.c: New file.
5926         * m4/printf-frexpl.m4: New file.
5927
5928 2007-02-25  Bruno Haible  <bruno@clisp.org>
5929
5930         * modules/printf-frexp-tests: New file.
5931         * tests/test-printf-frexp.c: New file.
5932
5933         * modules/printf-frexp: New file.
5934         * lib/printf-frexp.h: New file.
5935         * lib/printf-frexp.c: New file.
5936         * m4/printf-frexp.m4: New file.
5937
5938 2007-02-25  Bruno Haible  <bruno@clisp.org>
5939
5940         Assume automake >= 1.10 for the tests.
5941         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
5942         * modules/arctwo-tests: Likewise.
5943         * modules/argp-tests: Likewise.
5944         * modules/avltree-list-tests: Likewise.
5945         * modules/avltree-oset-tests: Likewise.
5946         * modules/avltreehash-list-tests: Likewise.
5947         * modules/carray-list-tests: Likewise.
5948         * modules/crc-tests: Likewise.
5949         * modules/des-tests: Likewise.
5950         * modules/gc-arcfour-tests: Likewise.
5951         * modules/gc-arctwo-tests: Likewise.
5952         * modules/gc-des-tests: Likewise.
5953         * modules/gc-hmac-md5-tests: Likewise.
5954         * modules/gc-hmac-sha1-tests: Likewise.
5955         * modules/gc-md2-tests: Likewise.
5956         * modules/gc-md4-tests: Likewise.
5957         * modules/gc-md5-tests: Likewise.
5958         * modules/gc-pbkdf2-sha1-tests: Likewise.
5959         * modules/gc-rijndael-tests: Likewise.
5960         * modules/gc-sha1-tests: Likewise.
5961         * modules/gc-tests: Likewise.
5962         * modules/getaddrinfo-tests: Likewise.
5963         * modules/hmac-md5-tests: Likewise.
5964         * modules/hmac-sha1-tests: Likewise.
5965         * modules/linked-list-tests: Likewise.
5966         * modules/linkedhash-list-tests: Likewise.
5967         * modules/lock-tests: Likewise.
5968         * modules/md2-tests: Likewise.
5969         * modules/md4-tests: Likewise.
5970         * modules/md5-tests: Likewise.
5971         * modules/rbtree-list-tests: Likewise.
5972         * modules/rbtree-oset-tests: Likewise.
5973         * modules/rbtreehash-list-tests: Likewise.
5974         * modules/read-file-tests: Likewise.
5975         * modules/rijndael-tests: Likewise.
5976         * modules/stdint-tests: Likewise.
5977         * modules/tls-tests: Likewise.
5978
5979 2007-02-24  Bruno Haible  <bruno@clisp.org>
5980
5981         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
5982         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
5983         function; instead check whether isnan with a double argument links.
5984         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
5985         function; instead check whether isnan with a 'long double' argument
5986         links.
5987         Reported by Eric Blake <ebb9@byu.net>.
5988
5989 2007-02-24  Bruno Haible  <bruno@clisp.org>
5990
5991         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
5992         defined.
5993         * lib/isnanl.c: Remove all code. Just include isnan.c.
5994         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
5995
5996 2007-02-25  Jim Meyering  <jim@meyering.net>
5997
5998         Avoid conflicting types for 'unsetenv' on FreeBSD.
5999         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
6000         conflicting with FreeBSD's (5.0 and 6.1) function declaration
6001         in stdlib.h.
6002
6003 2007-02-24  Bruno Haible  <bruno@clisp.org>
6004
6005         * modules/isnanl-nolibm-tests: New file.
6006         * tests/test-isnanl.c: New file.
6007
6008         * modules/isnanl-nolibm: New file.
6009         * lib/isnanl.h: New file.
6010         * lib/isnanl.c: New file.
6011         * m4/isnanl.m4: New file.
6012
6013 2007-02-24  Bruno Haible  <bruno@clisp.org>
6014
6015         * modules/isnan-nolibm-tests: New file.
6016         * tests/test-isnan.c: New file.
6017
6018         * modules/isnan-nolibm: New file.
6019         * lib/isnan.h: New file.
6020         * lib/isnan.c: New file.
6021         * m4/isnan.m4: New file.
6022
6023 2007-02-24  Bruno Haible  <bruno@clisp.org>
6024
6025         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
6026         assume that an exponent fits in 20 bits.
6027
6028 2007-02-24  Jim Meyering  <jim@meyering.net>
6029
6030         * m4/regex.m4: Update the description of the configure-time option,
6031         --without-included-regex, to state accurately what the defaults are,
6032         and perhaps to give people an idea why using this option is risky.
6033
6034 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6035
6036         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
6037         loops on small arguments.  This attempts to avoid the problem
6038         Bruno Haible reported for AIX 4.3.2 in
6039         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
6040
6041 2007-02-23  Bruno Haible  <bruno@clisp.org>
6042
6043         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
6044         Needed for help2man.
6045
6046 2007-02-23  Karl Berry  <karl@gnu.org>
6047
6048         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
6049         exists, foo.h should be cvs-ignored, not committed.
6050
6051 2007-02-23  Eric Blake  <ebb9@byu.net>
6052
6053         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
6054         * lib/stat-time.h (includes): Likewise.
6055         * lib/utimecmp.c (includes): Likewise.
6056         * lib/utimens.h (includes): Likewise.
6057         * lib/getdate.y (includes): Also include "timespec.h" for use
6058         internal to the module.
6059         * modules/utimens (Depends-on): Revert yesterday's patch.
6060         * modules/nanosleep (Depends-on): Add missing dependency.
6061
6062 2007-02-22  Bruno Haible  <bruno@clisp.org>
6063
6064         * lib/glob.c: Don't include getlogin_r.h.
6065
6066 2007-02-22  Jim Meyering  <jim@meyering.net>
6067
6068         * modules/utimens (Depends-on): Add timespec, required for
6069         utimens.h's inclusion of timespec.h.
6070
6071 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
6072
6073         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
6074         long unreadable paths in GNU/Linux.  Problem reported by Andreas
6075         Schwab in
6076         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
6077         I'll try to think of a better way to fix the Solaris problem.
6078
6079         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
6080         like glibc; on Solaris 10, it fails with errno == EINVAL.
6081         POSIX says the behavior is unspecified if the first argument is NULL,
6082         so play it safe and never pass NULL to the system getcwd.
6083
6084 2007-02-21  Jim Meyering  <jim@meyering.net>
6085
6086         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
6087         of gettimeofday.  It would conflict with the one now always
6088         provided via sys_time_.h.  Reported by Matthew Woehlke, as
6089         an IRIX 6.5 build failure.
6090
6091 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
6092
6093         Minor fixups to port to Solaris 10 with Sun C 5.8.
6094         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
6095         * modules/getcwd (Depends-on): Add dirfd.
6096         * lib/putenv.c (putenv): #undef it.
6097         (rpl_putenv): New decl.
6098         (malloc, free): Include <stdlib.h> rather than prototyping separately.
6099
6100 2007-02-20  Bruno Haible  <bruno@clisp.org>
6101
6102         * modules/stdio-tests: New file.
6103         * tests/test-stdio.c: New file.
6104
6105         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
6106         (Depends-on): Add stdio.
6107         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
6108         (Include): Use <stdio.h> instead of vsnprintf.h.
6109         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
6110         HAVE_DECL_VSNPRINTF.
6111         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
6112
6113         * modules/snprintf (Files): Remove lib/snprintf.h.
6114         (Depends-on): Add stdio.
6115         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
6116         (Include): Use <stdio.h> instead of snprintf.h.
6117         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
6118         HAVE_DECL_SNPRINTF.
6119         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
6120         * lib/getaddrinfo.c: Likewise.
6121
6122         * modules/stdio: New file.
6123         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
6124         * lib/snprintf.h: Remove file.
6125         * lib/vsnprintf.h: Remove file.
6126         * lib/.cppi-disable: Remove snprintf.h.
6127         * m4/stdio_h.m4: New file.
6128         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
6129
6130 2007-02-20  Jim Meyering  <jim@meyering.net>
6131
6132         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
6133         used by e.g., mingw.  From Bruno Haible.
6134
6135 2007-02-19  Bruno Haible  <bruno@clisp.org>
6136
6137         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
6138         warnings.
6139         Reported by Ben Pfaff <blp@cs.stanford.edu>.
6140
6141 2007-02-19  Bruno Haible  <bruno@clisp.org>
6142
6143         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
6144         from mingw users.
6145
6146 2007-02-19  Bruno Haible  <bruno@clisp.org>
6147
6148         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
6149         warnings.
6150         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
6151
6152 2007-02-19  Jim Meyering  <jim@meyering.net>
6153
6154         Don't use FD after a successful "fdopendir (fd)".
6155         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
6156         Reset it by calling dirfd on the just-obtained DIR*.
6157
6158         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
6159         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
6160
6161 2007-02-18  Bruno Haible  <bruno@clisp.org>
6162
6163         * lib/readlink.c: Include <unistd.h>.
6164         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
6165         HAVE_READLINK.
6166         * modules/readlink (Depends-on): Add unistd.
6167         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6168         (Include): Add <unistd.h>.
6169
6170         * lib/getlogin_r.h: Remove file.
6171         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
6172         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
6173         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
6174         HAVE_DECL_GETLOGIN_R.
6175         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
6176         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6177         (Include): Use <unistd.h> instead of getlogin_r.h.
6178
6179         * lib/getcwd.h: Remove file.
6180         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
6181         * lib/xgetcwd.c: Likewise.
6182         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
6183         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
6184         * modules/getcwd (Files): Remove lib/getcwd.h.
6185         (Depends-on): Add unistd.
6186         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6187         (Include): Use <unistd.h> instad of getcwd.h.
6188
6189         * lib/ftruncate.c: Include <unistd.h> first.
6190         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
6191         Set HAVE_FTRUNCATE.
6192         * modules/ftruncate (Depends-on): Add unistd.
6193         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6194
6195         * lib/fchdir.c: Include <unistd.h> first.
6196         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
6197         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
6198         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
6199         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6200         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
6201
6202         * lib/dup2.c: Include <unistd.h> first.
6203         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
6204         HAVE_DUP2.
6205         * modules/dup2 (Depends-on): Add unistd.
6206         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6207
6208         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
6209         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
6210         REPLACE_CHOWN. Don't define chown as a macro here.
6211         * modules/chown (Depends-on): Add unistd.
6212         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
6213
6214         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
6215         Add definition for GL_LINK_WARNING.
6216         (chown, dup2): New declarations.
6217         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
6218         link warning.
6219         (ftruncate): New declaration.
6220         (getcwd): New declaration, taken from old getcwd.h.
6221         (getlogin_r): New declaration, taken from old getlogin_r.h.
6222         (readlink): New declaration.
6223         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
6224         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
6225         (gl_PREREQ_UNISTD): Remove macro.
6226         (gl_UNISTD_MODULE_INDICATOR): New macro.
6227         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
6228         many new variables. Don't set UNISTD_H.
6229         * modules/unistd (Description): Change.
6230         (Depends-on): Add link-warning.
6231         (configure.ac): Update.
6232         (Makefile.am): Create unistd.h always. Substitute many new variables
6233         into it.
6234
6235 2007-02-18  Bruno Haible  <bruno@clisp.org>
6236
6237         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
6238         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
6239         HAVE_GETSUBOPT.
6240         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
6241         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
6242         * lib/getsubopt.h: Remove file.
6243         * modules/getsubopt (Files): Remove lib/getsubopt.h.
6244         (Depends-on): Add stdlib.
6245         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
6246         (Includes): Use <stdlib.h> instead of getsubopt.h.
6247         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
6248         Set HAVE_GETSUBOPT.
6249         * lib/getsubopt.c: Don't include getsubopt.h.
6250
6251 2007-02-18  Bruno Haible  <bruno@clisp.org>
6252
6253         * modules/fchdir (Depends-on): Add dup2.
6254
6255 2007-02-18  Bruno Haible  <bruno@clisp.org>
6256
6257         * lib/stdlib_.h: Handle glibc's special invocation convention
6258         specially.
6259
6260 2007-02-18  Bruno Haible  <bruno@clisp.org>
6261
6262         * modules/stdlib-tests: New file.
6263         * tests/test-stdlib.c: New file.
6264
6265         * modules/mkstemp (Files): Remove lib/mkstemp.h.
6266         (Depends-on): Add stdlib.
6267         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
6268         (Includes): Use <stdlib.h> instead of mkstemp.h.
6269         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
6270         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
6271         * lib/mkstemp.c: Don't include mkstemp.h.
6272         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
6273         * lib/stdlib--.h: Don't include mkstemp.h.
6274
6275         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
6276         (Depends-on): Add stdlib.
6277         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
6278         (Includes): Use <stdlib.h> instead of mkdtemp.h.
6279         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
6280         HAVE_MKDTEMP.
6281         * lib/mkdtemp.c: Don't include mkdtemp.h.
6282         * lib/clean-temp.c: Don't include mkdtemp.h.
6283
6284         * modules/exit (Files): Remove lib/exit.h.
6285         (Depends-on): Add stdlib.
6286         (Makefile.am): Remove lib_SOURCES.
6287         (Include): Use <stdlib.h> instead of exit.h.
6288         * lib/argmatch.c: Don't include exit.h.
6289         * lib/execute.c: Likewise.
6290         * lib/pagealign_alloc.c: Likewise.
6291         * lib/pipe.c: Likewise.
6292         * lib/wait-process.c: Likewise.
6293         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
6294         * lib/exitfail.c: Likewise.
6295         * lib/savewd.c: Likewise.
6296         * lib/xsetenv.c: Likewise.
6297
6298         * modules/stdlib: New file.
6299         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
6300         and extra comments about mkstemp().
6301         * lib/exit.h: Remove file.
6302         * lib/mkdtemp.h: Remove file.
6303         * lib/mkstemp.h: Remove file.
6304         * m4/stdlib_h.m4: New file.
6305         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
6306
6307 2007-02-18  Bruno Haible  <bruno@clisp.org>
6308
6309         * modules/math-tests: New file.
6310         * tests/test-math.c: New file.
6311
6312         * modules/math: New file.
6313         * modules/mathl (Files): Remove lib/mathl.h.
6314         (Depends-on): Add math.
6315         (Makefile.am): Don't mention mathl.h.
6316         (Include): Use <math.h> instead of mathl.h.
6317         * lib/math_.h: New file.
6318         * lib/mathl.h: Remove file.
6319         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
6320         mathl.h.
6321         * lib/asinl.c: Likewise.
6322         * lib/atanl.c: Likewise.
6323         * lib/ceill.c: Likewise.
6324         * lib/cosl.c: Likewise.
6325         * lib/expl.c: Likewise.
6326         * lib/floorl.c: Likewise.
6327         * lib/frexpl.c: Likewise.
6328         * lib/ldexpl.c: Likewise.
6329         * lib/logl.c: Likewise.
6330         * lib/sincosl.c: Likewise.
6331         * lib/sinl.c: Likewise.
6332         * lib/sqrtl.c: Likewise.
6333         * lib/tanl.c: Likewise.
6334         * lib/trigl.c: Likewise.
6335         * m4/math_h.m4: New file.
6336         * MODULES.html.sh (Mathematics): Add math.
6337
6338 2007-02-17  Bruno Haible  <bruno@clisp.org>
6339
6340         * modules/wctype-tests: New file.
6341         * tests/test-wctype.c: New file.
6342
6343         * modules/wchar-tests: New file.
6344         * tests/test-wchar.c: New file.
6345
6346         * modules/unistd-tests: New file.
6347         * tests/test-unistd.c: New file.
6348
6349         * modules/time-tests: New file.
6350         * tests/test-time.c: New file.
6351
6352         * modules/sysexits-tests: New file.
6353         * tests/test-sysexits.c: New file.
6354
6355         * modules/sys_time-tests: New file.
6356         * tests/test-sys_time.c: New file.
6357
6358         * modules/sys_stat-tests: New file.
6359         * tests/test-sys_stat.c: New file.
6360
6361         * modules/sys_socket-tests: New file.
6362         * tests/test-sys_socket.c: New file.
6363
6364         * modules/sys_select-tests: New file.
6365         * tests/test-sys_select.c: New file.
6366
6367         * modules/string-tests: New file.
6368         * tests/test-string.c: New file.
6369
6370         * modules/stdbool-tests: New file.
6371         * tests/test-stdbool.c: New file.
6372
6373         * modules/netinet_in-tests: New file.
6374         * tests/test-netinet_in.c: New file.
6375
6376         * modules/inttypes-tests: New file.
6377         * tests/test-inttypes.c: New file.
6378
6379         * modules/fcntl-tests: New file.
6380         * tests/test-fcntl.c: New file.
6381
6382         * modules/byteswap-tests: New file.
6383         * tests/test-byteswap.c: New file.
6384
6385         * modules/arpa_inet-tests: New file.
6386         * tests/test-arpa_inet.c: New file.
6387
6388 2007-02-17  Bruno Haible  <bruno@clisp.org>
6389
6390         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
6391         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
6392         if the corresponding module is not enabled. Emit link warnings if
6393         the function is used nevertheless.
6394         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
6395         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
6396         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
6397         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
6398         * modules/inttypes (Depends-on): Add link-warning.
6399         (Makefile.am): Copy the contents of build-aux/link-warning.h into
6400         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
6401         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
6402         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
6403         * modules/imaxdiv (configure.ac): Likewise.
6404         * modules/strtoimax (configure.ac): Likewise.
6405         * modules/strtoumax (configure.ac): Likewise.
6406
6407 2007-02-17  Bruno Haible  <bruno@clisp.org>
6408
6409         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
6410         gl_STRING_MODULE_INDICATOR_DEFAULTS.
6411         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
6412         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
6413
6414 2007-02-17  Bruno Haible  <bruno@clisp.org>
6415
6416         * modules/link-warning: New file.
6417         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
6418         * lib/string_.h (GL_LINK_WARNING): Remove definition.
6419         * modules/string (Depends-on): Add link-warning.
6420         (Makefile.am): Copy the contents of build-aux/link-warning.h into
6421         string.h.
6422         * MODULES.html.sh (Support for building libraries and executables): Add
6423         link-warning.
6424
6425 2007-02-17  Bruno Haible  <bruno@clisp.org>
6426
6427         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
6428         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
6429         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
6430         long lines.
6431
6432 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
6433             Bruno Haible  <bruno@clisp.org>
6434
6435         * modules/tmpfile: New file.
6436         * lib/tmpfile.c: New file.
6437         * m4/tmpfile.m4: New file.
6438         * MODULES.html.sh (func_all_modules): New section "Input/output".
6439
6440 2007-02-15  Bruno Haible  <bruno@clisp.org>
6441
6442         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
6443         (supports_delete_on_close): New function.
6444         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
6445
6446 2007-02-14  Bruno Haible  <bruno@clisp.org>
6447
6448         * modules/mbspcasecmp-tests: New file.
6449         * tests/test-mbspcasecmp.sh: New file.
6450         * tests/test-mbspcasecmp.c: New file.
6451
6452         New module mbspcasecmp.
6453         * modules/mbspcasecmp: New file.
6454         * lib/mbspcasecmp.c: New file.
6455         * lib/string_.h (strncasecmp): Change warning message.
6456         (mbspcasecmp): New declaration.
6457         * m4/mbspcasecmp.m4: New file.
6458         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6459         GNULIB_MBSPCASECMP.
6460         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
6461         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
6462
6463 2007-02-14  Bruno Haible  <bruno@clisp.org>
6464
6465         * modules/mbsncasecmp-tests: New file.
6466         * tests/test-mbsncasecmp.sh: New file.
6467         * tests/test-mbsncasecmp.c: New file.
6468
6469         New module mbsncasecmp.
6470         * modules/mbsncasecmp: New file.
6471         * lib/mbsncasecmp.c: New file.
6472         * lib/string_.h (mbsncasecmp): New declaration.
6473         * m4/mbsncasecmp.m4: New file.
6474         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6475         GNULIB_MBSNCASECMP.
6476         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
6477         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
6478
6479 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
6480
6481         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
6482         Verify that it doesn't overlap with our flags.
6483         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
6484         do not have the desired effect in multibyte locales; instead, use
6485         mbscasecmp.
6486         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
6487         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
6488         we don't require GNU fnmatch ourselves (if our users require it, they
6489         should do so explicitly).
6490
6491         Fix regex code so it doesn't rely on strcasecmp.
6492         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
6493         Otherwise, include gnulib's langinfo.h.
6494         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
6495         undesirable behavior in non-C locales.  Instead, rely on localecharset.
6496         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
6497         * modules/regex (FILES): Remove m4/codeset.m4.
6498         (Depends-on): Add localcharset.  Remove strcase.
6499
6500 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6501
6502         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
6503         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
6504
6505 2007-02-13  Bruno Haible  <bruno@clisp.org>
6506
6507         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
6508         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6509
6510 2007-02-12  Bruno Haible  <bruno@clisp.org>
6511
6512         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
6513         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
6514         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
6515         time warning rather than a link error.
6516
6517 2007-02-12  Bruno Haible  <bruno@clisp.org>
6518
6519         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
6520         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
6521         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
6522
6523 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
6524
6525         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
6526         args, not 2.
6527
6528 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
6529
6530         New module 'time', so that apps can include <time.h> as per
6531         POSIX and GNU instead of separate include files like time_r.h
6532         and timegm.h.  This implementation tries out a simpler approach
6533         for replacing decls in standard include files (as compared to
6534         the string module), somewhat as an experiment.
6535
6536         * config/srclist.txt: Comment out mktime.c for now.
6537         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
6538         since it doesn't apply any more.  Use generic wording instead.
6539         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
6540         'time'.
6541         * lib/time_.h, m4/time_h.m4, modules/time: New files.
6542         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
6543         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
6544         Don't include <sys/types.h>; no longer needed since we assume C89.
6545         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
6546         * lib/strftime.c: Likewise.
6547         * lib/time_r.c: Likewise.
6548         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
6549         * lib/nanosleep.c: Include <time.h> first, to check interface.
6550         * lib/strptime.c: Likewise.
6551         * lib/time_r.c: Likewise.
6552         * lib/timegm.c: Likewise.
6553         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
6554         needed.
6555         * lib/timegm.c: Don't include timegm.h; no longer needed.
6556         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
6557         time.h now handles any problems in that area.
6558         (struct timespec, nanosleep): Remove; time.h now arranges for these.
6559         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
6560         that time.h defines struct timespec.
6561         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
6562         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
6563         handles that.
6564         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
6565         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
6566         needed.  Set REPLACE_LOCALTIME.
6567         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
6568         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
6569         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
6570         nanosleep; time_h.m4 now does that.  Don't require
6571         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
6572         module handles this now.
6573         * modules/getdate (Depends-on): Remove timespec.  Add time.
6574         * modules/nanosleep (Depends-on): Likewise.
6575         * modules/stat-time (Depends-on): Likewise.
6576         * modules/nanosleep (Include): Include time.h, not timespec.h.
6577         * modules/strptime (Files): Remove lib/strptime.h.
6578         (Depends-on): Add extensions, time.
6579         (Include): Include time.h, not strptime.h.
6580         * modules/time_r (Files): Remove lib/time_r.h.
6581         (Depends-on): Add time.
6582         (Include): Include time.h, not time_r.h.
6583         * modules/timegm: Likewise.
6584         * modules/timespec (Description): Now does timespec-related decls
6585         of our own, instead of struct timespec itself.
6586         (Depends-on): Add time; remove extensions.
6587         (Maintainer): Add self.
6588         * modules/utimecmp (Depends-on): Add time; remove timespec.
6589         * modules/utimens (Depends-on): Likewise.
6590         * modules/xnanosleep (Depends-on): Likewise.
6591
6592 2007-02-11  Bruno Haible  <bruno@clisp.org>
6593
6594         * lib/c-strstr.c: Include allocsa.h.
6595         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
6596         * lib/c-strcasestr.c: Include allocsa.h.
6597         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
6598         * lib/strcasestr.c: Include allocsa.h.
6599         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
6600         * lib/mbsstr.c: Include allocsa.h.
6601         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
6602         allocsa/freesa instead of malloc/free.
6603         * lib/mbscasestr.c: Include allocsa.h.
6604         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
6605         allocsa/freesa instead of malloc/free.
6606         * modules/c-strstr (Depends-on): Add allocsa.
6607         * modules/c-strcasestr (Depends-on): Likewise.
6608         * modules/strcasestr (Depends-on): Likewise.
6609         * modules/mbsstr (Depends-on): Likewise.
6610         * modules/mbscasestr (Depends-on): Likewise.
6611
6612 2007-02-11  Bruno Haible  <bruno@clisp.org>
6613
6614         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
6615
6616         * modules/mbsspn-tests: New file.
6617         * tests/test-mbsspn.sh: New file.
6618         * tests/test-mbsspn.c: New file.
6619
6620 2007-02-11  Bruno Haible  <bruno@clisp.org>
6621
6622         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
6623
6624         * modules/mbspbrk-tests: New file.
6625         * tests/test-mbspbrk.sh: New file.
6626         * tests/test-mbspbrk.c: New file.
6627
6628 2007-02-11  Bruno Haible  <bruno@clisp.org>
6629
6630         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
6631         unneeded cast.
6632
6633         * modules/mbscspn-tests: New file.
6634         * tests/test-mbscspn.sh: New file.
6635         * tests/test-mbscspn.c: New file.
6636
6637 2007-02-11  Bruno Haible  <bruno@clisp.org>
6638
6639         * modules/mbscasecmp-tests: New file.
6640         * tests/test-mbscasecmp.sh: New file.
6641         * tests/test-mbscasecmp.c: New file.
6642
6643 2007-02-11  Bruno Haible  <bruno@clisp.org>
6644
6645         Ensure O(n) worst-case complexity of mbscasestr.
6646         * lib/mbscasestr.c: Include stdbool.h.
6647         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
6648         functions.
6649         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
6650         the bookkeeping indicates that it's worth it.
6651         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
6652
6653         * modules/mbscasestr-tests: New file.
6654         * tests/test-mbscasestr1.c: New file.
6655         * tests/test-mbscasestr2.sh: New file.
6656         * tests/test-mbscasestr2.c: New file.
6657         * tests/test-mbscasestr3.sh: New file.
6658         * tests/test-mbscasestr3.c: New file.
6659         * tests/test-mbscasestr4.sh: New file.
6660         * tests/test-mbscasestr4.c: New file.
6661         * m4/locale-tr.m4: New file.
6662
6663 2007-02-11  Bruno Haible  <bruno@clisp.org>
6664
6665         Ensure O(n) worst-case complexity of mbsstr.
6666         * lib/mbsstr.c: Include stdbool.h.
6667         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
6668         functions.
6669         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
6670         bookkeeping indicates that it's worth it.
6671         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
6672
6673         * modules/mbsstr-tests: New file.
6674         * tests/test-mbsstr1.c: New file.
6675         * tests/test-mbsstr2.sh: New file.
6676         * tests/test-mbsstr2.c: New file.
6677         * tests/test-mbsstr3.sh: New file.
6678         * tests/test-mbsstr3.c: New file.
6679         * m4/locale-fr.m4: New file.
6680
6681 2007-02-11  Bruno Haible  <bruno@clisp.org>
6682
6683         * lib/mbsrchr.c (mbsrchr): Fix bug.
6684
6685         * modules/mbsrchr-tests: New file.
6686         * tests/test-mbsrchr.sh: New file.
6687         * tests/test-mbsrchr.c: New file.
6688
6689 2007-02-11  Bruno Haible  <bruno@clisp.org>
6690
6691         * lib/mbschr.c (mbschr): Fix bug.
6692
6693         * modules/mbschr-tests: New file.
6694         * tests/test-mbschr.sh: New file.
6695         * tests/test-mbschr.c: New file.
6696         * m4/locale-zh.m4: New file.
6697
6698 2007-02-11  Bruno Haible  <bruno@clisp.org>
6699
6700         Support for copying multibyte string iterators.
6701         * lib/mbiter.h: Include <string.h>.
6702         (mbiter_multi_copy): New function.
6703         (mbi_copy): New macro.
6704         * lib/mbuiter.h: Include <string.h>.
6705         (mbuiter_multi_copy): New function.
6706         (mbui_copy): New macro.
6707
6708 2007-02-11  Bruno Haible  <bruno@clisp.org>
6709
6710         New module mbslen.
6711         * modules/mbslen: New file.
6712         * lib/mbslen.c: New file.
6713         * lib/string_.h (mbslen): New declaration.
6714         * m4/mbslen.m4: New file.
6715         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6716         GNULIB_MBSLEN.
6717         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
6718         * MODULES.html.sh (Internationalization functions): Add mbslen.
6719
6720 2007-02-11  Bruno Haible  <bruno@clisp.org>
6721
6722         Ensure O(n) worst-case complexity of strcasestr substitute.
6723         * lib/strcasestr.c: Include stdbool.h.
6724         (knuth_morris_pratt): New function.
6725         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
6726         bookkeeping indicates that it's worth it.
6727         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
6728
6729         * modules/strcasestr-tests: New file.
6730         * tests/test-strcasestr.c: New file.
6731
6732 2007-02-11  Bruno Haible  <bruno@clisp.org>
6733
6734         Ensure O(n) worst-case complexity of c_strcasestr.
6735         * lib/c-strcasestr.c: Include stdbool.h, string.h.
6736         (knuth_morris_pratt): New function.
6737         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
6738         the bookkeeping indicates that it's worth it.
6739         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
6740
6741         * modules/c-strcasestr-tests: New file.
6742         * tests/test-c-strcasestr.c: New file.
6743
6744 2007-02-11  Bruno Haible  <bruno@clisp.org>
6745
6746         Ensure O(n) worst-case complexity of c_strstr.
6747         * lib/c-strstr.c: Include stdbool.h, string.h.
6748         (knuth_morris_pratt): New function.
6749         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
6750         bookkeeping indicates that it's worth it.
6751         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
6752
6753         * lib/c-strstr.c: Complete rewrite for maintainability.
6754
6755         * modules/c-strstr-tests: New file.
6756         * tests/test-c-strstr.c: New file.
6757
6758 2007-02-11  Bruno Haible  <bruno@clisp.org>
6759
6760         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
6761         5.2.1 and earlier, whereby \055 was treated just like the range
6762         delimiter '-'.
6763         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
6764
6765 2007-02-08  Bruno Haible  <bruno@clisp.org>
6766
6767         * modules/regex (Depends-on): Add stdbool.
6768         Reported by Dalibor Topic <robilad@kaffe.org>.
6769
6770 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
6771
6772         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
6773         Prefer returning from main to exiting from it.
6774         Remove unnecessary parens after sizeof.
6775
6776 2007-02-05  Bruno Haible  <bruno@clisp.org>
6777
6778         New module mbssep.
6779         * modules/mbssep: New file.
6780         * lib/mbssep.c: New file.
6781         * lib/string_.h (strsep): Add a conditional link warning.
6782         (mbssep): New declaration.
6783         * m4/mbssep.m4: New file.
6784         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6785         GNULIB_MBSSEP.
6786         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
6787         * MODULES.html.sh (Internationalization functions): Add mbssep.
6788
6789 2007-02-05  Bruno Haible  <bruno@clisp.org>
6790
6791         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
6792         Optimize search in case of 1 delimiter.
6793
6794 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
6795
6796         * lib/acl.h: Include sys/types.h before sys/acl.h.
6797
6798 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
6799
6800         Merge upstream fix for glibc bugzilla #3957:
6801
6802         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
6803
6804         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
6805         bit for RE_HAT_LISTS_NOT_NEWLINE.
6806         (build_charclass_op): Remove bogus comment.
6807
6808 2007-02-05  Simon Josefsson  <simon@josefsson.org>
6809
6810         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
6811
6812 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
6813
6814         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
6815         * lib/memmem.c [!defined _LIBC]: Include config.h.
6816
6817 2007-02-04  Bruno Haible  <bruno@clisp.org>
6818
6819         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
6820         warning message.
6821
6822 2007-02-04  Bruno Haible  <bruno@clisp.org>
6823
6824         New module mbstok_r.
6825         * modules/mbstok_r: New file.
6826         * lib/mbstok_r.c: New file.
6827         * lib/string_.h (strtok_r): Change argument names to match the
6828         comments. Add a conditional link warning.
6829         (mbstok_r): New declaration.
6830         * m4/mbstok_r.m4: New file.
6831         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6832         GNULIB_MBSTOK_R.
6833         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
6834         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
6835
6836 2007-02-04  Bruno Haible  <bruno@clisp.org>
6837
6838         New module mbsspn.
6839         * modules/mbsspn: New file.
6840         * lib/mbsspn.c: New file.
6841         * lib/string_.h (strspn): Add a conditional link warning.
6842         (mbsspn): New declaration.
6843         * m4/mbsspn.m4: New file.
6844         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6845         GNULIB_MBSSPN.
6846         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
6847         * MODULES.html.sh (Internationalization functions): Add mbsspn.
6848
6849 2007-02-04  Bruno Haible  <bruno@clisp.org>
6850
6851         New module mbspbrk.
6852         * modules/mbspbrk: New file.
6853         * lib/mbspbrk.c: New file.
6854         * lib/string_.h (strpbrk): Add a conditional link warning.
6855         (mbspbrk): New declaration.
6856         * m4/mbspbrk.m4: New file.
6857         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6858         GNULIB_MBSPBRK.
6859         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
6860         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
6861
6862 2007-02-04  Bruno Haible  <bruno@clisp.org>
6863
6864         New module mbscspn.
6865         * modules/mbscspn: New file.
6866         * lib/mbscspn.c: New file.
6867         * lib/string_.h (strcspn): Add a conditional link warning.
6868         (mbscspn): New declaration.
6869         * m4/mbscspn.m4: New file.
6870         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6871         GNULIB_MBSCSPN.
6872         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
6873         * MODULES.html.sh (Internationalization functions): Add mbscspn.
6874
6875 2007-02-04  Bruno Haible  <bruno@clisp.org>
6876
6877         New module mbscasestr, reduced goal of strcasestr.
6878         * modules/mbscasestr: New file.
6879         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
6880         (mbscasestr): Renamed from strcasestr.
6881         * lib/strcasestr.c: Don't include mbuiter.h.
6882         (strcasestr): Remove support for multibyte locales.
6883         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
6884         Change the conditional link warning.
6885         (mbscasestr): New declaration.
6886         * m4/mbscasestr.m4: New file.
6887         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
6888         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
6889         REPLACE_STRCASESTR.
6890         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
6891         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
6892         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
6893         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
6894         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
6895         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
6896         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
6897         (Depends-on): Remove mbuiter.
6898         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
6899
6900 2007-02-04  Bruno Haible  <bruno@clisp.org>
6901
6902         Simplify handling of strncasecmp.
6903         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
6904         the conditional link warning.
6905         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
6906         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
6907         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
6908         * modules/strcase (configure.ac): Don't invoke
6909         gl_STRING_MODULE_INDICATOR.
6910         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
6911
6912 2007-02-04  Bruno Haible  <bruno@clisp.org>
6913
6914         New module mbscasecmp, reduced goal of strcasecmp.
6915         * modules/mbscasecmp: New file.
6916         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
6917         (mbscasecmp): Renamed from strcasecmp.
6918         * lib/strcasecmp.c: Don't include mbuiter.h.
6919         (strcasecmp): Remove support for multibyte locales.
6920         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
6921         Change the conditional link warning.
6922         (mbscasecmp): New declaration.
6923         * m4/mbscasecmp.m4: New file.
6924         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
6925         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
6926         REPLACE_STRCASECMP.
6927         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
6928         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6929         GNULIB_MBSCASECMP.
6930         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
6931         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
6932         * modules/strcase (Files): Remove m4/mbrtowc.m4.
6933         (Depends-on): Remove mbuiter.
6934         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
6935
6936 2007-02-04  Bruno Haible  <bruno@clisp.org>
6937
6938         New module mbsstr. Remove module strstr.
6939         * modules/mbsstr: New file.
6940         * modules/strstr: Remove file.
6941         * lib/mbsstr.c: Renamed from lib/strstr.c.
6942         (mbsstr): Renamed from strstr.
6943         * lib/string_.h (strstr): Remove declaration. Change the conditional
6944         link warning.
6945         (mbsstr): New declaration.
6946         * m4/mbsstr.m4: New file.
6947         * m4/strstr.m4: Remove file.
6948         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
6949         REPLACE_STRSTR.
6950         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
6951         Don't initialize GNULIB_STRSTR.
6952         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
6953         substitute GNULIB_STRSTR and REPLACE_STRSTR.
6954         * MODULES.html.sh (Internationalization functions): Add mbsstr.
6955         (Support for systems lacking ANSI C 89): Remove strstr.
6956
6957 2007-02-04  Bruno Haible  <bruno@clisp.org>
6958
6959         New module mbsrchr.
6960         * modules/mbsrchr: New file.
6961         * lib/mbsrchr.c: New file.
6962         * lib/string_.h (strrchr): Add a conditional link warning.
6963         (mbsrchr): New declaration.
6964         * m4/mbsrchr.m4: New file.
6965         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6966         GNULIB_MBSRCHR.
6967         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
6968         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
6969
6970 2007-02-04  Bruno Haible  <bruno@clisp.org>
6971
6972         New module mbschr.
6973         * modules/mbschr: New file.
6974         * lib/mbschr.c: New file.
6975         * lib/string_.h (strchr): Add a conditional link warning.
6976         (mbschr): New declaration.
6977         * m4/mbschr.m4: New file.
6978         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
6979         GNULIB_MBSCHR.
6980         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
6981         * MODULES.html.sh (Internationalization functions): Add mbschr.
6982
6983 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
6984
6985         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
6986
6987         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
6988
6989 2007-02-04  Bruno Haible  <bruno@clisp.org>
6990
6991         New module description section 'configure.ac-early'.
6992         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
6993         (func_get_autoconf_early_snippet): New function.
6994         (func_import, func_create_testdir): Use it. Remove special cases for
6995         modules 'extensions' and 'lock'.
6996         * modules/extensions (configure.ac-early): Require
6997         gl_USE_SYSTEM_EXTENSIONS.
6998         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
6999
7000 2007-02-04  Bruno Haible  <bruno@clisp.org>
7001
7002         Make use of gcj-4.3's -fsource and -ftarget option.
7003         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
7004         and if so try the options -fsource and -ftarget.
7005         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
7006         source_version, ftarget_option, target_version arguments.
7007         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
7008         (is_envjavac_oldgcj_14_14_usable): Renamed from
7009         is_envjavac_gcj_14_14_usable.
7010         (is_envjavac_oldgcj_14_13_usable): Renamed from
7011         is_envjavac_gcj_14_13_usable.
7012         (is_gcj_present): Update.
7013         (is_gcj_43, is_gcj43_usable): New functions.
7014         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
7015         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
7016         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
7017         try the options -fsource and -ftarget.
7018
7019 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
7020
7021         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
7022         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
7023         larger value.
7024
7025 2007-02-03  Jim Meyering  <jim@meyering.net>
7026
7027         Give tools a better chance to allocate space for very large buffers.
7028         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
7029
7030         Make pwd and readlink work also when run with an unreadable parent dir
7031         on systems with openat support.
7032         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
7033         provided getcwd function, even when we have openat support.
7034         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
7035
7036 2007-02-02  Bruno Haible  <bruno@clisp.org>
7037
7038         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
7039         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
7040         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
7041         portability problems if one of these functions is only used on specific
7042         platforms.
7043         Reported by Paul Eggert.
7044
7045 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
7046
7047         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
7048         is causing more trouble than it's curing.
7049         * lib/regex_internal.h (__mempcpy): Remove.
7050         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
7051         (and make the code a tad smaller to boot).
7052         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
7053
7054 2007-02-02  Jim Meyering  <jim@meyering.net>
7055
7056         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
7057         section, not in the Makefile.am: one.
7058
7059 2007-02-02  Eric Blake  <ebb9@byu.net>
7060
7061         * lib/strchrnul.c: Always include config.h first.
7062
7063         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
7064         gnulib strstr is not necessary here.
7065
7066 2007-02-02  Simon Josefsson  <simon@josefsson.org>
7067
7068         * m4/socklen.m4: Fix typo.
7069
7070 2007-02-02  Eric Blake  <ebb9@byu.net>
7071
7072         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
7073         * modules/netinet_in (Makefile.am): Likewise.
7074
7075 2007-02-01  Bruno Haible  <bruno@clisp.org>
7076
7077         * lib/string_.h (GL_LINK_WARNING): New macro.
7078         (strcasecmp, strstr, strcasestr): If provided by the system,
7079         conditionally define as a macro that leads to a warning instead of to
7080         an error.
7081         (strncasecmp): Conditionally define as a macro that leads to a warning.
7082
7083 2007-02-01  Karl Berry  <karl@gnu.org>
7084
7085         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
7086
7087 2007-02-01  Bruno Haible  <bruno@clisp.org>
7088
7089         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
7090         renamings.
7091
7092 2007-02-01  Eric Blake  <ebb9@byu.net>
7093
7094         * modules/regex (Depends-on): Revert dependence on mempcpy.
7095         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
7096         module's definition of mempcpy.
7097         Reported by Paul Eggert.
7098
7099 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
7100
7101         * lib/string_.h: If the gnulib module XYZ is not present, undefine
7102         the symbol XYZ before redefining it.  This fixes a problem with
7103         programs that don't use XYZ, when compiled on systems that define
7104         XYZ to something else.
7105
7106 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
7107
7108         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
7109         occurs when "mkdir -m foo" creates a setgid directory that is (1)
7110         writeable to group or other and (2) is intended to have a special
7111         mode bit that is set or cleared.  In such a case, the directory
7112         should be neither group- nor other-writeable until the special
7113         mode bits are right.
7114
7115 2007-01-31  Eric Blake  <ebb9@byu.net>
7116
7117         * modules/mountlist (Depends-on): Add strstr.
7118
7119         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
7120         bug.
7121         * modules/string (Makefile.am): Remove redundant replacement.
7122         * modules/regex (Depends-on): Add mempcpy.
7123
7124 2007-01-31  Bruno Haible  <bruno@clisp.org>
7125
7126         New module description field 'Link'.
7127         * gnulib-tool (func_usage): Document --extract-link-directive.
7128         (sed_extract_prog): Recognize 'Link' directive.
7129         (func_get_link_directive): New function.
7130         (func_import): Show summary of link directives.
7131         Handle --extract-link-directive option.
7132         * modules/acl (Link): New section.
7133         * modules/clock-time (Link): New section.
7134         * modules/euidaccess (Link): New section.
7135         * modules/gettext (Link): New section.
7136         * modules/iconv (Link): New section.
7137         * modules/lock (Link): New section.
7138         * modules/nanosleep (Link): New section.
7139         * modules/readline (Link): New section.
7140
7141 2007-01-27  Bruno Haible  <bruno@clisp.org>
7142
7143         Enforce the use of gnulib modules for unportable <string.h> functions.
7144         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
7145         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
7146         (gl_HEADER_STRING_H_BODY): Require it.
7147         * lib/string_.h: If the gnulib module XYZ is not present, redefine
7148         the symbol XYZ to one that gives a link error.
7149         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
7150         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
7151         * modules/mempcpy (configure.ac): Likewise.
7152         * modules/memrchr (configure.ac): Likewise.
7153         * modules/stpcpy (configure.ac): Likewise.
7154         * modules/stpncpy (configure.ac): Likewise.
7155         * modules/strcase (configure.ac): Likewise.
7156         * modules/strcasestr (configure.ac): Likewise.
7157         * modules/strchrnul (configure.ac): Likewise.
7158         * modules/strdup (configure.ac): Likewise.
7159         * modules/strndup (configure.ac): Likewise.
7160         * modules/strnlen (configure.ac): Likewise.
7161         * modules/strpbrk (configure.ac): Likewise.
7162         * modules/strsep (configure.ac): Likewise.
7163         * modules/strstr (configure.ac): Likewise.
7164         * modules/strtok_r (configure.ac): Likewise.
7165
7166 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
7167
7168         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
7169
7170 2007-01-30  Jim Meyering  <jim@meyering.net>
7171
7172         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
7173
7174 2007-01-29  Bruno Haible  <bruno@clisp.org>
7175
7176         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
7177         * lib/execute.c: Likewise.
7178         * lib/pipe.c: Likewise.
7179         * lib/printf-args.h: Likewise.
7180         * lib/printf-args.c: Likewise.
7181         * lib/printf-parse.c: Likewise.
7182         * lib/vasnprintf.c: Likewise.
7183
7184 2007-01-29  Eric Blake  <ebb9@byu.net>
7185
7186         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
7187         declaration.
7188
7189 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
7190
7191         * lib/strptime.h (strptime): Use 'restrict' for args where
7192         POSIX requires this.
7193         * lib/strptime.c (strptime): Likewise.
7194         Change license notice from LGPL to GPL, since gnulib-tool will
7195         change this as needed.
7196         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
7197         defined.
7198         Include "strptime.h" first, to check interface.
7199         Do not #undef _LIBC and _NL_CURRENT.
7200         Do not include <stdlib.h>; no longer needed.
7201         Include "time_r.h" and declare ptime_locale_status
7202         only if _LIBC is not defined.
7203         (__P): Remove unused macro.
7204         (match_string): Bring back glibc version, but use it only if _LIBC
7205         is defined.
7206         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
7207         Remove unnecessary assertion and abort() call.
7208         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
7209         * m4/strptime.m4: Fix serial number comment.
7210         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
7211         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
7212         (Depends-on): Add time_r.
7213
7214 2007-01-29  Bruno Haible  <bruno@clisp.org>
7215
7216         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
7217         strptime.
7218         * modules/strptime (Depends-on): Add stdbool.
7219         * lib/strptime.h: Include <time.h> always. Add comments.
7220
7221 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
7222
7223         * modules/strptime: New file.
7224         * lib/strptime.h: New file.
7225         * lib/strptime.c: New file.
7226         * m4/strptime.m4: New file.
7227
7228 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
7229
7230         * MODULES.html.sh: New module mpsort.
7231         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
7232
7233         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
7234         a circularity problem with HP-UX ia64 reported by Bob Proulx in
7235         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
7236         All uses changed.
7237         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
7238         All uses changed.
7239         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
7240         to _Restrict_.
7241         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
7242         the parameter matches the prototype.
7243
7244 2007-01-28  Jim Meyering  <jim@meyering.net>
7245
7246         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
7247         sys/time.h here, reverting that part of the previous patch:
7248         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
7249
7250 2007-01-28  Bruno Haible  <bruno@clisp.org>
7251
7252         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
7253         value of $(SYS_TIME_H).
7254         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
7255         remove it conditionally, too. [added by Jim Meyering]
7256         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
7257         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
7258         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
7259         GETTIMEOFDAY_REPLACEMENT to 1.
7260
7261 2007-01-28  Bruno Haible  <bruno@clisp.org>
7262
7263         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
7264         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
7265         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
7266         Set UNISTD_H instead of UNISTD_H2.
7267         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
7268
7269 2007-01-28  Bruno Haible  <bruno@clisp.org>
7270
7271         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
7272         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
7273
7274 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7275
7276         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
7277         (func_create_testdir): Ensure C locale for `grep' and `tr'
7278         character ranges.
7279         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
7280         ACLOCAL_AMFLAGS parsing state machine.
7281
7282 2007-01-27  Bruno Haible  <bruno@clisp.org>
7283
7284         * modules/unistr/base: Update.
7285
7286 2007-01-27  Bruno Haible  <bruno@clisp.org>
7287
7288         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
7289         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
7290         * modules/unistr/u32-mbtouc-unsafe: Renamed from
7291         modules/unistr/u32-mbtouc.
7292         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
7293         * lib/unistr.h: Update.
7294         * lib/linebreak.c: Update.
7295         * modules/unistr/u32-mbtouc: Renamed from
7296         modules/unistr/u32-mbtouc-safe.
7297         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
7298         * lib/unistr.h: Update.
7299         * lib/unistr/u32-to-u8.c: Update.
7300         * lib/unistr/u32-to-u16.c: Update.
7301
7302 2007-01-27  Bruno Haible  <bruno@clisp.org>
7303
7304         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
7305         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
7306         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
7307         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
7308         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
7309         * modules/unistr/u16-mbtouc-unsafe: Renamed from
7310         modules/unistr/u16-mbtouc.
7311         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
7312         * lib/unistr.h: Update.
7313         * lib/linebreak.c: Update.
7314         * modules/linebreak: Update.
7315         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
7316         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
7317         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
7318         * modules/unistr/u16-mbtouc: Renamed from
7319         modules/unistr/u16-mbtouc-safe.
7320         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
7321         * lib/unistr.h: Update.
7322         * lib/unistr/u16-to-u8.c: Update.
7323         * modules/unistr/u16-to-u8: Update.
7324         * lib/unistr/u16-to-u32.c: Update.
7325         * modules/unistr/u16-to-u32: Update.
7326
7327 2007-01-27  Bruno Haible  <bruno@clisp.org>
7328
7329         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
7330         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
7331         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
7332         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
7333         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
7334         * modules/unistr/u8-mbtouc-unsafe: Renamed from
7335         modules/unistr/u8-mbtouc.
7336         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
7337         * lib/unistr.h: Update.
7338         * lib/striconveh.c: Update.
7339         * modules/striconveh: Update.
7340         * lib/linebreak.c: Update.
7341         * modules/linebreak: Update.
7342         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
7343         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
7344         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
7345         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
7346         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
7347         * lib/unistr.h: Update.
7348         * lib/striconveh.c: Update.
7349         * modules/striconveh: Update.
7350         * lib/unistr/u8-to-u16.c: Update.
7351         * modules/unistr/u8-to-u16: Update.
7352         * lib/unistr/u8-to-u32.c: Update.
7353         * modules/unistr/u8-to-u32: Update.
7354
7355 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7356
7357         Sync from Libtool.
7358         * lib/argz.c: Do not include strings.h nor memory.h, include
7359         string.h unconditionally.  Patch by Simon Josefsson.
7360
7361 2007-01-27  Bruno Haible  <bruno@clisp.org>
7362
7363         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
7364         from gl_HEADER_STRING_H_BODY.
7365         (gl_HEADER_STRING_H_BODY): Require it.
7366         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
7367         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
7368         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
7369         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
7370         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
7371         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
7372         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
7373         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
7374         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
7375         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
7376         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
7377         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
7378         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
7379         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
7380         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
7381
7382 2007-01-27  Bruno Haible  <bruno@clisp.org>
7383
7384         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
7385         check_PROGRAMS into noinst_PROGRAMS.
7386         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
7387         check_PROGRAMS in this case.
7388         (func_import): Set for_test to false.
7389         (func_create_testdir): Set for_test to true.
7390
7391 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
7392             Bruno Haible  <bruno@clisp.org>
7393
7394         * modules/strcasestr (Files): Remove lib/strcasestr.h.
7395         (Depends-on): Add string.
7396         (Includes): Use <string.h> instead of strcasestr.h.
7397         * modules/string (Makefile.am): Also substitute the value of
7398         REPLACE_STRCASESTR.
7399         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
7400         assume strcasestr is declared in <string.h> not <strings.h>. Also
7401         set REPLACE_STRCASESTR.
7402         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
7403         REPLACE_STRCASESTR.
7404         * lib/strcasestr.h: Remove file.
7405         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
7406         * lib/string_.h (strcasestr): New declaration.
7407
7408 2007-01-27  Bruno Haible  <bruno@clisp.org>
7409
7410         * lib/string_.h: Use 'extern'.
7411
7412 2007-01-27  Jim Meyering  <jim@meyering.net>
7413
7414         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
7415         of set-but-not-used local, "q".
7416
7417         * lib/mempcpy.c: Include <config.h> before <string.h>.
7418         This fixes a compilation error on HP-UX, due to the system's
7419         "restrict"-using mempcpy prototype.
7420
7421 2007-01-26  Bruno Haible  <bruno@clisp.org>
7422
7423         Small optimization.
7424         * lib/javacomp.c: Include c-strstr.h.
7425          (is_envjavac_gcj): Use c_strstr instead of strstr.
7426         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
7427
7428 2007-01-26  Bruno Haible  <bruno@clisp.org>
7429
7430         * MODULES.html.sh (Unicode string functions): Add the new modules.
7431
7432         * modules/uniconv/u32-strconv-to-locale: New file.
7433         * lib/uniconv/u32-strconv-to-locale.c: New file.
7434
7435         * modules/uniconv/u16-strconv-to-locale: New file.
7436         * lib/uniconv/u16-strconv-to-locale.c: New file.
7437
7438         * modules/uniconv/u8-strconv-to-locale: New file.
7439         * lib/uniconv/u8-strconv-to-locale.c: New file.
7440
7441         * modules/uniconv/u32-strconv-from-locale: New file.
7442         * lib/uniconv/u32-strconv-from-locale.c: New file.
7443
7444         * modules/uniconv/u16-strconv-from-locale: New file.
7445         * lib/uniconv/u16-strconv-from-locale.c: New file.
7446
7447         * modules/uniconv/u8-strconv-from-locale: New file.
7448         * lib/uniconv/u8-strconv-from-locale.c: New file.
7449
7450         * modules/uniconv/u32-strconv-to-enc: New file.
7451         * lib/uniconv/u32-strconv-to-enc.c: New file.
7452         * modules/uniconv/u32-strconv-to-enc-tests: New file.
7453         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
7454
7455         * modules/uniconv/u16-strconv-to-enc: New file.
7456         * lib/uniconv/u16-strconv-to-enc.c: New file.
7457         * lib/uniconv/u-strconv-to-enc.h: New file.
7458         * modules/uniconv/u16-strconv-to-enc-tests: New file.
7459         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
7460
7461         * modules/uniconv/u8-strconv-to-enc: New file.
7462         * lib/uniconv/u8-strconv-to-enc.c: New file.
7463         * modules/uniconv/u8-strconv-to-enc-tests: New file.
7464         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
7465
7466         * modules/uniconv/u32-strconv-from-enc: New file.
7467         * lib/uniconv/u32-strconv-from-enc.c: New file.
7468         * modules/uniconv/u32-strconv-from-enc-tests: New file.
7469         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
7470
7471         * modules/uniconv/u16-strconv-from-enc: New file.
7472         * lib/uniconv/u16-strconv-from-enc.c: New file.
7473         * modules/uniconv/u16-strconv-from-enc-tests: New file.
7474         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
7475
7476         * modules/uniconv/u8-strconv-from-enc: New file.
7477         * lib/uniconv/u8-strconv-from-enc.c: New file.
7478         * lib/uniconv/u-strconv-from-enc.h: New file.
7479         * modules/uniconv/u8-strconv-from-enc-tests: New file.
7480         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
7481
7482         * modules/uniconv/u32-conv-from-enc: New file.
7483         * lib/uniconv/u32-conv-from-enc.c: New file.
7484         * modules/uniconv/u32-conv-from-enc-tests: New file.
7485         * tests/uniconv/test-u32-conv-from-enc.c: New file.
7486
7487         * modules/uniconv/u16-conv-from-enc: New file.
7488         * lib/uniconv/u16-conv-from-enc.c: New file.
7489         * lib/uniconv/u-conv-from-enc.h: New file.
7490         * modules/uniconv/u16-conv-from-enc-tests: New file.
7491         * tests/uniconv/test-u16-conv-from-enc.c: New file.
7492
7493         * modules/uniconv/u8-conv-from-enc: New file.
7494         * lib/uniconv/u8-conv-from-enc.c: New file.
7495         * modules/uniconv/u8-conv-from-enc-tests: New file.
7496         * tests/uniconv/test-u8-conv-from-enc.c: New file.
7497
7498         * modules/uniconv/base: New file.
7499         * lib/uniconv.h: New file.
7500
7501 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
7502
7503         * doc/gnulib-tool.texi (Initial import): Update to match current
7504         behavior with strdup module.
7505         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
7506         * lib/memmem.h: Remove; all uses removed.  This is now done
7507         by <string.h>.
7508         * lib/mempcpy.h: Likewise.
7509         * lib/memrchr.h: Likewise.
7510         * lib/stpcpy.h: Likewise.
7511         * lib/stpncpy.h: Likewise.
7512         * lib/strcase.h: Likewise.
7513         * lib/strchrnul.h: Likewise.
7514         * lib/strdup.h: Likewise.
7515         * lib/strndup.h: Likewise.
7516         * lib/strnlen.h: Likewise.
7517         * lib/strpbrk.h: Likewise.
7518         * lib/strsep.h: Likewise.
7519         * lib/strstr.h: Likewise.
7520         * lib/strtok_r.h: Likewise.
7521         * lib/string_.h: New file.
7522         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
7523         Rely on <string.h> instead.
7524         * lib/canon-host.c: Likewise.
7525         * lib/chdir-long.c: Likewise.
7526         * lib/concatpath.c: Likewise.
7527         * lib/exclude.c: Likewise.
7528         * lib/fchdir.c: Likewise.
7529         * lib/getaddrinfo.c: Likewise.
7530         * lib/getcwd.c: Likewise.
7531         * lib/getsubopt.c: Likewise.
7532         * lib/glob.c: Likewise.
7533         * lib/hard-locale.c: Likewise.
7534         * lib/iconvme.c: Likewise.
7535         * lib/javacomp.c: Likewise.
7536         * lib/mempcpy.c: Likewise.
7537         * lib/memrchr.c: Likewise.
7538         * lib/regex_internal.h: Likewise.
7539         * lib/stpncpy.c: Likewise.
7540         * lib/strcasecmp.c: Likewise.
7541         * lib/strchrnul.c: Likewise.
7542         * lib/strdup.c: Likewise.
7543         * lib/striconv.c: Likewise.
7544         * lib/striconveh.c: Likewise.
7545         * lib/striconveha.c: Likewise.
7546         * lib/strncasecmp.c: Likewise.
7547         * lib/strndup.c: Likewise.
7548         * lib/strnlen.c: Likewise.
7549         * lib/strsep.c: Likewise.
7550         * lib/strstr.c: Likewise.
7551         * lib/strtok_r.c: Likewise.
7552         * lib/userspec.c: Likewise.
7553         * lib/w32spawn.h: Likewise.
7554         * lib/xstrndup.c: Likewise.
7555         * lib/mountlist.c (strstr): Remove decl.
7556         * m4/string_h.m4: New file.
7557         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
7558         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
7559         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
7560         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
7561         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
7562         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
7563         Set REPLACE_STRCASECMP if necessary.
7564         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
7565         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
7566         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
7567         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
7568         HAVE_DECL_STRDUP if necessary.
7569         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
7570         since gl_FUNC_STRNDUP does that now.
7571         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
7572         Check for decl here...
7573         (gl_PREREQ_STRNLEN): ... not here.
7574         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
7575         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
7576         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
7577         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
7578         necessary.
7579         * modules/string: New file.
7580         * modules/memmem (Files): Remove special-purpose include file.
7581         (Depends-on): Add string.
7582         (Include): Include <string.h>, not the removed file.
7583         * modules/mempcpy: Likewise.
7584         * modules/memrchr: Likewise.
7585         * modules/stpcpy: Likewise.
7586         * modules/stpncpy: Likewise.
7587         * modules/strcase: Likewise.
7588         * modules/strchrnul: Likewise.
7589         * modules/strdup: Likewise.
7590         * modules/strndup: Likewise.
7591         * modules/strnlen: Likewise.
7592         * modules/strpbrk: Likewise.
7593         * modules/strsep: Likewise.
7594         * modules/strstr: Likewise.
7595         * modules/strtok_r: Likewise.
7596         * tests/test-dirname.c: Don't include "strdup.h", since
7597         <string.h> now suffices.
7598         * tests/test-memmem.c: Don't include "memmem.h", since
7599         <string.h> now suffices.
7600
7601 2007-01-25  Bruno Haible  <bruno@clisp.org>
7602
7603         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
7604         *resultp is 0.
7605
7606         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
7607         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
7608         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
7609         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
7610
7611         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
7612         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
7613         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
7614         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
7615         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
7616         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
7617
7618 2007-01-24  Bruno Haible  <bruno@clisp.org>
7619
7620         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
7621         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
7622         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
7623         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
7624         gl_FUNC_FTS_CORE.
7625         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
7626         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
7627         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
7628         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
7629         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
7630         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
7631         gl_FUNC_FCHOWNAT.
7632         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
7633         gl_FUNC_STRFTIME.
7634         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
7635         Reported by Ralf Wildenhues.
7636
7637 2007-01-24  Bruno Haible  <bruno@clisp.org>
7638
7639         Drop AC_REQUIRE calls that are redundant with the module dependencies.
7640         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
7641         gl_GETADDRINFO.
7642         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
7643         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
7644         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
7645
7646 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
7647
7648         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
7649         Don't use 'exit'; just return from 'main'.
7650         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
7651
7652         * lib/fnmatch_.h: Readjust white space and comments to match
7653         glibc, to avoid spurious diffs.
7654
7655 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7656
7657         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
7658         2004-12-01 change by Jakub Jelinek, since this code won't compile
7659         if !LIBC.  Problem reported by Bob Proulx.
7660
7661 2007-01-23  Bruno Haible  <bruno@clisp.org>
7662
7663         * lib/striconveh.c: Include c-strcaseeq.h.
7664         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
7665         * modules/striconveh (Depends-on): Add c-strcaseeq.
7666
7667 2007-01-23  Bruno Haible  <bruno@clisp.org>
7668
7669         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
7670
7671         * modules/c-strcaseeq: New file.
7672         * lib/c-strcaseeq.h: New file.
7673
7674         * modules/streq: New file.
7675         * lib/streq.h: New file.
7676
7677 2007-01-23  Bruno Haible  <bruno@clisp.org>
7678
7679         * modules/striconveha-tests: New file.
7680         * tests/test-striconveha.c: New file.
7681
7682         * lib/striconveha.h: Include <stdbool.h>.
7683         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
7684         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
7685         (mem_iconveha_notranslit): Renamed from mem_iconveha.
7686         (mem_iconveha): New function.
7687         (str_iconveha_notranslit): Renamed from str_iconveha.
7688         (str_iconveha): New function.
7689         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
7690         c-strcase.
7691
7692 2007-01-23  Bruno Haible  <bruno@clisp.org>
7693
7694         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
7695         encodings without forgiving before trying any encoding with handler.
7696         (str_iconveha): Try all encodings without forgiving before trying any
7697         encoding with handler.
7698
7699 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7700
7701         Import the following changes from libc.
7702
7703         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
7704
7705         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
7706
7707         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
7708
7709         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
7710         normal_bracket label.
7711
7712         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
7713
7714         [BZ #361]
7715         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
7716         to normal_bracket after fetching the next character.
7717
7718 2007-01-22  Bruno Haible  <bruno@clisp.org>
7719
7720         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
7721         argument.
7722         * lib/striconveh.c (iconv_carefully_1): New function.
7723         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
7724         argument.
7725         (str_cd_iconveh): Update.
7726         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
7727         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
7728         * tests/test-striconveh.c (MAGIC): New macro.
7729         (new_offsets): New function.
7730         (main): Test call with and without offsets.
7731
7732 2007-01-22  Bruno Haible  <bruno@clisp.org>
7733
7734         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
7735         * modules/sys_select (Makefile.am): Likewise.
7736         * modules/sys_socket (Makefile.am): Likewise.
7737         * modules/sys_time (Makefile.am): Likewise.
7738
7739 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
7740
7741         * modules/gettimeofday (License): Change from GPL to LGPL, since
7742         gettimeofday is a library function.
7743
7744 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
7745
7746         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
7747
7748 2007-01-21  Bruno Haible  <bruno@clisp.org>
7749
7750         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
7751
7752 2007-01-21  Bruno Haible  <bruno@clisp.org>
7753
7754         * modules/striconveha: New file.
7755         * lib/striconveha.h: New file.
7756         * lib/striconveha.c: New file.
7757         * MODULES.html.sh (Internationalization functions): Add striconveha.
7758         * lib/striconv.c (str_iconv): Optimize the case of an empty input
7759         string.
7760         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
7761
7762 2007-01-21  Bruno Haible  <bruno@clisp.org>
7763
7764         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
7765         * lib/striconveh.c (str_iconveh): Likewise.
7766
7767 2007-01-21  Bruno Haible  <bruno@clisp.org>
7768
7769         * lib/striconveh.h (mem_iconveh): New declaration.
7770         * lib/striconveh.c (mem_iconveh): New function.
7771         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
7772
7773 2007-01-21  Bruno Haible  <bruno@clisp.org>
7774
7775         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
7776
7777         * lib/striconveh.h (mem_cd_iconveh): Change specification.
7778         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
7779         original result buffer.
7780         (str_cd_iconveh): Update.
7781         * tests/test-striconveh.c (main): Update.
7782
7783         * lib/striconv.h (mem_cd_iconv): Change specification.
7784         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
7785         result buffer.
7786         (str_cd_iconv): Update.
7787         * tests/test-striconv.c (main): Update.
7788
7789 2007-01-21  Bruno Haible  <bruno@clisp.org>
7790
7791         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
7792
7793 2007-01-20  Jim Meyering  <jim@meyering.net>
7794
7795         * lib/userspec.c (parse_with_separator): If a user or group string
7796         starts with "+", skip the corresponding name-to-ID look-up, since
7797         such a look-up must fail: user and group names may not include "+".
7798
7799 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
7800
7801         * lib/poll.c: Include sys/time.h and time.h unconditionally,
7802         since we now assume the sys_time module.
7803         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
7804         check for sys/time.h; no longer needed.
7805         * modules/poll (Depends-on): Depend on sys_time.
7806
7807 2007-01-18  Bruno Haible  <bruno@clisp.org>
7808
7809         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
7810         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
7811
7812         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
7813         gettimeofday.
7814
7815         * tests/test-gettimeofday.c: Include <time.h>.
7816         (dummy): Remove variable.
7817
7818         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
7819         gl_HEADER_SYS_TIME_H.
7820         (gl_HEADER_SYS_TIME_H): New macro.
7821
7822         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
7823         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7824         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
7825         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
7826         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7827         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
7828         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
7829         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7830         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
7831         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
7832         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7833
7834         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
7835         last change; it caused a compilation error when cross-compiling to
7836         Cygwin.
7837
7838 2007-01-18  Jim Meyering  <jim@meyering.net>
7839
7840         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
7841         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
7842         than the race-prone "test -d sys || mkdir sys".
7843         (configure.ac): Use AC_PROG_MKDIR_P.
7844         * modules/sys_select: Likewise.
7845         * modules/sys_socket: Likewise.
7846         * modules/sys_time: Likewise.
7847
7848 2007-01-18  Eric Blake  <ebb9@byu.net>
7849
7850         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
7851         replace gettimeofday.
7852         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
7853         name, to avoid infinite recursion.
7854
7855 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
7856
7857         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
7858         module sys_time.
7859         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
7860         assume timespec.h defines struct timeval.
7861         * lib/settime.c: Likewise.
7862         * lib/utimens.c: Likewise.
7863         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
7864         since we now assume the gettimeofday module.
7865         * lib/tempname.c (__gen_tempname): Likewise.
7866         * lib/gettimeofday.h: Remove.
7867         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
7868         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
7869         Include <time.h>, for 'time()'.
7870         (localtime_buffer_addr): Also use this workaround if
7871         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
7872         to simplify the uses.  All uses changed.
7873         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
7874         that #undef is inside {}, and 'const' follows type name consistently.
7875         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
7876         (gettimeofday): Do not use the maximum possible value for
7877         tv->tv_usec, since that might break usages other than ls.c.
7878         Instead, we'll leave ls.c alone.  This undoes today's patch
7879         by Bruno.  Add a compile-time warning for 1s-clock resolution;
7880         we've never observed the problem but might as well keep the
7881         canary.
7882         * lib/nanosleep.c: Include timespec.h first, for interface check.
7883         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
7884         now assume the sys_time module.
7885         * lib/tempname.c: Likewise.
7886         * lib/timespec.h: Likewise.
7887         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
7888         needed.
7889         * lib/strftime.c: Likewise.
7890         * lib/timespec.h: Likewise.
7891         * lib/posixtm.c: Include posixtm.h first, for interface check.
7892         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
7893         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
7894         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
7895         * lib/sys_time_.h: New file.
7896         * lib/timespec.h (struct timespec): Use long int, not long.
7897         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
7898         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
7899         Remove obsolescent call to AC_HEADER_TIME.
7900         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7901         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7902         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
7903         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
7904         Likewise.
7905         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
7906         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
7907         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
7908         into the sys_time module.  Check for gettimeofday just once.
7909         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
7910         for gettimeofday signature to just check the signature.  Merely
7911         compile it, since linking doesn't test signature.  Improve test for
7912         whether gettimeofday.o is actually needed.
7913         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
7914         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
7915         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
7916         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7917         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
7918         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
7919         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
7920         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
7921         than worrying about sys/time.h.
7922         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
7923         Don't bother worrying about TIME_WITH_SYS_TIME.
7924         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
7925         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
7926         * m4/sys_time_h.m4: New file.
7927         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
7928         Don't include sys/time.h.  Return from main rather than exiting.
7929         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
7930         all uses changed.
7931         * modules/gethrxtime (Depends-on): Add sys_time.
7932         * modules/gettime (Depends-on): Likewise.
7933         * modules/gettimeofday (Depends-on): Likewise.
7934         * modules/nanosleep (Depends-on): Likewise.
7935         * modules/settime (Depends-on): Likewise.
7936         * modules/tempname (Depends-on): Likewise.
7937         * modules/utimens (Depends-on): Likewise.
7938         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
7939         (Include:) Change back to <sys/time.h>.
7940         (Maintainer:) Add self.
7941         * modules/sys_time: New file.
7942         * modules/tempname (Depends-on): Add gettimeofday.
7943         * tests/test-gettimeofday.c: Include <sys/time.h>
7944         rather than gettimeofday.h.
7945
7946 2007-01-17  Bruno Haible  <bruno@clisp.org>
7947
7948         * gnulib-tool (func_get_license): Revert last patch. Instead, let
7949         the license default to GPL.
7950         (func_create_testdir): Don't complain if a module is LGPL and its
7951         tests module depends on GPLed modules.
7952
7953 2007-01-17  Bruno Haible  <bruno@clisp.org>
7954
7955         * lib/gettimeofday.c (gettimeofday): Add code for the case
7956         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
7957         maximum possible value for tv->tv_usec, rather than the minimum one.
7958
7959 2005-10-08  Martin Lambers  <marlam@marlam.de>
7960 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
7961 2007-01-16  Bruno Haible  <bruno@clisp.org>
7962
7963         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
7964         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
7965         gl_FUNC_GETTIMEOFDAY.
7966         (Include): Add gettimeofday.h.
7967         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
7968         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
7969         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
7970         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
7971         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
7972         * lib/gettimeofday.h: New file.
7973         * lib/gettimeofday.c: Include <sys/timeb.h>.
7974         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
7975         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
7976         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
7977         fall back on time().
7978
7979         * tests/test-gettimeofday.c: New file.
7980         * modules/gettimeofday-tests: New file.
7981
7982 2007-01-16  Eric Blake  <ebb9@byu.net>
7983
7984         * modules/fnmatch (Depends-on): Depend on wchar.
7985         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
7986         * m4/fnmatch.m4: Likewise.
7987         * modules/mbchar (Makefile.am): Assume <wchar.h>.
7988         * m4/mbchar.m4: Likewise.
7989         * modules/mbswidth (Depends-on): Depend on wchar.
7990         * lib/mbswidth.c: Assume <wchar.h>.
7991         * m4/mbswidth.m4: Likewise.
7992         * modules/quotearg (Depends-on): Depend on wchar.
7993         * lib/quotearg.c: Assume <wchar.h>.
7994         * m4/quotearg.m4: Likewise.
7995         * modules/regex (Depends-on): Depend on wchar.
7996         * lib/regex_internal.h: Assume <wchar.h>.
7997         * m4/regex.m4: Likewise.
7998         * modules/stdint (Depends-on): Depend on wchar.
7999         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
8000         * m4/stdint.m4: Likewise.
8001         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
8002         * modules/strftime (Depends-on): Depend on wchar.
8003         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
8004         * modules/strtol (Depends-on): Depend on wchar.
8005         * lib/strtol.c: Assume <wchar.h>.
8006         * modules/wcwidth (Depends-on): Depend on wchar.
8007         * lib/wcwidth.h: Assume <wchar.h>.
8008         * m4/wcwidth.m4: Likewise.
8009
8010 2007-01-16  Bruno Haible  <bruno@clisp.org>
8011
8012         * modules/csharpexec-script: New, created from...
8013         * modules/csharpexec: ... this.
8014
8015 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
8016
8017         * modules/javaexec-script: New, created from...
8018         * modules/javaexec: ... this.
8019
8020 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
8021
8022         * modules/poll (Dependencies): Add sys_select.
8023
8024 2007-01-15  Jim Meyering  <jim@meyering.net>
8025
8026         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
8027         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
8028         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
8029         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
8030
8031 2007-01-15  Bruno Haible  <bruno@clisp.org>
8032
8033         * modules/striconveh: New file.
8034         * lib/striconveh.h: New file.
8035         * lib/striconveh.c: New file.
8036         * MODULES.html.sh (Internationalization functions): Add striconveh.
8037
8038         * modules/striconveh-tests: New file.
8039         * tests/test-striconveh.c: New file.
8040
8041 2007-01-15  Bruno Haible  <bruno@clisp.org>
8042
8043         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
8044         not from GNU libiconv or GNU libc.
8045
8046 2007-01-15  Bruno Haible  <bruno@clisp.org>
8047
8048         * doc/gnulib-intro.texi (Copyright): Explain the different license
8049         terms for module descriptions, autoconf macros, tests, documentation.
8050
8051 2007-01-14  Bruno Haible  <bruno@clisp.org>
8052
8053         * modules/striconv-tests: New file.
8054         * tests/test-striconv.c: New file.
8055
8056 2007-01-14  Bruno Haible  <bruno@clisp.org>
8057
8058         * modules/iconv-tests: New file.
8059         * tests/test-iconv.c: New file.
8060
8061 2007-01-14  Bruno Haible  <bruno@clisp.org>
8062
8063         * gnulib-tool (func_get_license): For test modules, use the license of
8064         the main module.
8065
8066 2007-01-14  Bruno Haible  <bruno@clisp.org>
8067
8068         * modules/iconv (Include): Clarify that <iconv.h> can only be included
8069         if iconv is found to exist.
8070
8071 2007-01-14  Bruno Haible  <bruno@clisp.org>
8072
8073         * modules/c-ctype-tests: New file.
8074         * tests/test-c-ctype.c: New file.
8075
8076 2007-01-14  Bruno Haible  <bruno@clisp.org>
8077
8078         * modules/binary-io-tests: New file.
8079         * tests/test-binary-io.sh: New file.
8080         * tests/test-binary-io.c: New file.
8081
8082 2007-01-14  Bruno Haible  <bruno@clisp.org>
8083
8084         * modules/array-oset-tests: New file.
8085         * tests/test-array_oset.c: New file.
8086
8087 2007-01-14  Bruno Haible  <bruno@clisp.org>
8088
8089         * modules/array-list-tests: New file.
8090         * tests/test-array_list.c: New file.
8091
8092 2007-01-14  Bruno Haible  <bruno@clisp.org>
8093
8094         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
8095         and make.
8096         Reported by Simon Josefsson in
8097         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
8098
8099 2007-01-14  Bruno Haible  <bruno@clisp.org>
8100
8101         * modules/allocsa-tests: New file.
8102         * tests/test-allocsa.c: New file.
8103
8104 2007-01-14  Bruno Haible  <bruno@clisp.org>
8105
8106         * modules/fchdir (Depends-on): Add absolute-header.
8107         * modules/unistd (Depends-on): Likewise.
8108
8109 2006-12-30  Bruno Haible  <bruno@clisp.org>
8110
8111         * modules/fchdir: New file.
8112         * modules/unistd (Files): Add lib/unistd_.h.
8113         (Makefile.am): Generate unistd.h from unistd_.h.
8114         * lib/fchdir.c: New file.
8115         * lib/dirent_.h: New file.
8116         * lib/unistd_.h: New file.
8117         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
8118         * m4/fchdir.m4: New file.
8119         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
8120         (gl_HEADER_UNISTD): Invoke it.
8121         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
8122         function.
8123         * lib/backupfile.c (opendir, closedir): Undefine.
8124         * lib/chown.c (open, close): Undefine.
8125         * lib/clean-temp.c (open, close): Undefine.
8126         * lib/copy-file.c (open, close): Undefine.
8127         * lib/execute.c (open, close): Undefine.
8128         * lib/fsusage.c (open, close): Undefine.
8129         * lib/gc-gnulib.c (open, close): Undefine.
8130         * lib/getcwd.c (opendir, closedir): Undefine.
8131         * lib/glob.c (opendir, closedir): Undefine.
8132         * lib/javacomp.c (open, close): Undefine.
8133         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
8134         * lib/openat-proc.c (open, close): Undefine.
8135         * lib/pagealign_alloc.c (open, close): Undefine.
8136         * lib/pipe.c (open, close): Undefine.
8137         * lib/progreloc.c (open, close): Undefine.
8138         * lib/savedir.c (opendir, closedir): Undefine.
8139         * lib/utime.c (open, close): Undefine.
8140         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
8141
8142 2007-01-10  Bruno Haible  <bruno@clisp.org>
8143
8144         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
8145
8146 2007-01-12  Eric Blake  <ebb9@byu.net>
8147
8148         Provide a robust <wchar.h>.  Further simplifications are now
8149         possible in other modules, but not included here.
8150         * modules/wchar: New module.
8151         * m4/wchar.m4: New file.
8152         * lib/wchar_.h: Likewise.
8153         * modules/mbchar (Depends-on): Depend on wchar, as the first use
8154         of the new module.
8155         * MODULES.html.sh (Extended multibyte and wide character utilities):
8156         New section.
8157
8158 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
8159
8160         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
8161         to a reasonable default for memory allocation.
8162         (xreadlink): Don't allocate a huge buffer, to work around a buggy
8163         file system that reports garbage st_size values for symlinks.
8164         Problem reported by Liyang Hu.
8165
8166 2007-01-11  Simon Josefsson  <simon@josefsson.org>
8167
8168         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
8169         Emacs .#* auto-save files).
8170
8171 2007-01-11  Bruno Haible  <bruno@clisp.org>
8172
8173         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
8174         directory.
8175
8176 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
8177
8178         Use @...@ consistently in lib/wctype_.h.
8179         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
8180         on it being set to 1 or 0.
8181         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
8182         go back to AC_SUBSTing it.
8183         * modules/wctype (Makefile.am): Undo previous change.
8184
8185 2007-01-10  Eric Blake  <ebb9@byu.net>
8186
8187         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
8188         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
8189         * modules/wctype (Makefile.am): Likewise.
8190         Reported by Chris McGuire.
8191
8192 2007-01-10  Jim Meyering  <jim@meyering.net>
8193
8194         fts.c: a small readability/maintainability improvement
8195         * lib/fts.c (fts_read): Make this code slightly more readable and
8196         maintainable by hoisting the "sp->fts_cur = p" assignments to
8197         immediately follow the statements that set P.  Derived from
8198         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
8199
8200 2007-01-10  Eric Blake  <ebb9@byu.net>
8201
8202         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
8203         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
8204         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8205         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
8206         Reported by Chris McGuire.
8207
8208 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8209
8210         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
8211         in sed script.
8212
8213 2007-01-09  Bruno Haible  <bruno@clisp.org>
8214
8215         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
8216         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
8217         variables.
8218         (func_module): Use them.
8219
8220 2007-01-09  Bruno Haible  <bruno@clisp.org>
8221
8222         * modules/unistr/base: New file.
8223         * lib/unistr.h: New file.
8224
8225         * modules/unistr/u8-to-u16: New file.
8226         * lib/unistr/u8-to-u16.c: New file.
8227
8228         * modules/unistr/u8-to-u32: New file.
8229         * lib/unistr/u8-to-u32.c: New file.
8230
8231         * modules/unistr/u16-to-u8: New file.
8232         * lib/unistr/u16-to-u8.c: New file.
8233
8234         * modules/unistr/u16-to-u32: New file.
8235         * lib/unistr/u16-to-u32.c: New file.
8236
8237         * modules/unistr/u32-to-u8: New file.
8238         * lib/unistr/u32-to-u8.c: New file.
8239
8240         * modules/unistr/u32-to-u16: New file.
8241         * lib/unistr/u32-to-u16.c: New file.
8242
8243         * modules/unistr/u8-check: New file.
8244         * modules/unistr/u16-check: New file.
8245         * modules/unistr/u32-check: New file.
8246         * lib/unistr/u8-check.c: New file.
8247         * lib/unistr/u16-check.c: New file.
8248         * lib/unistr/u32-check.c: New file.
8249
8250         * modules/unistr/u8-chr: New file.
8251         * modules/unistr/u16-chr: New file.
8252         * modules/unistr/u32-chr: New file.
8253         * lib/unistr/u8-chr.c: New file.
8254         * lib/unistr/u16-chr.c: New file.
8255         * lib/unistr/u32-chr.c: New file.
8256
8257         * modules/unistr/u8-cmp: New file.
8258         * modules/unistr/u16-cmp: New file.
8259         * modules/unistr/u32-cmp: New file.
8260         * lib/unistr/u8-cmp.c: New file.
8261         * lib/unistr/u16-cmp.c: New file.
8262         * lib/unistr/u32-cmp.c: New file.
8263
8264         * modules/unistr/u8-cpy: New file.
8265         * modules/unistr/u16-cpy: New file.
8266         * modules/unistr/u32-cpy: New file.
8267         * lib/unistr/u8-cpy.c: New file.
8268         * lib/unistr/u16-cpy.c: New file.
8269         * lib/unistr/u32-cpy.c: New file.
8270         * lib/unistr/u-cpy.h: New file.
8271
8272         * modules/unistr/u8-cpy-alloc: New file.
8273         * modules/unistr/u16-cpy-alloc: New file.
8274         * modules/unistr/u32-cpy-alloc: New file.
8275         * lib/unistr/u8-cpy-alloc.c: New file.
8276         * lib/unistr/u16-cpy-alloc.c: New file.
8277         * lib/unistr/u32-cpy-alloc.c: New file.
8278         * lib/unistr/u-cpy-alloc.h: New file.
8279
8280         * modules/unistr/u8-endswith: New file.
8281         * modules/unistr/u16-endswith: New file.
8282         * modules/unistr/u32-endswith: New file.
8283         * lib/unistr/u8-endswith.c: New file.
8284         * lib/unistr/u16-endswith.c: New file.
8285         * lib/unistr/u32-endswith.c: New file.
8286         * lib/unistr/u-endswith.h: New file.
8287
8288         * modules/unistr/u8-mblen: New file.
8289         * modules/unistr/u16-mblen: New file.
8290         * modules/unistr/u32-mblen: New file.
8291         * lib/unistr/u8-mblen.c: New file.
8292         * lib/unistr/u16-mblen.c: New file.
8293         * lib/unistr/u32-mblen.c: New file.
8294
8295         * modules/unistr/u8-mbtouc: New file.
8296         * modules/unistr/u16-mbtouc: New file.
8297         * modules/unistr/u32-mbtouc: New file.
8298         * lib/unistr/u8-mbtouc.c: New file.
8299         * lib/unistr/u16-mbtouc.c: New file.
8300         * lib/unistr/u32-mbtouc.c: New file.
8301
8302         * modules/unistr/u8-mbtouc-safe: New file.
8303         * modules/unistr/u16-mbtouc-safe: New file.
8304         * modules/unistr/u32-mbtouc-safe: New file.
8305         * lib/unistr/u8-mbtouc-safe.c: New file.
8306         * lib/unistr/u16-mbtouc-safe.c: New file.
8307         * lib/unistr/u32-mbtouc-safe.c: New file.
8308
8309         * modules/unistr/u8-move: New file.
8310         * modules/unistr/u16-move: New file.
8311         * modules/unistr/u32-move: New file.
8312         * lib/unistr/u8-move.c: New file.
8313         * lib/unistr/u16-move.c: New file.
8314         * lib/unistr/u32-move.c: New file.
8315         * lib/unistr/u-move.h: New file.
8316
8317         * modules/unistr/u8-next: New file.
8318         * modules/unistr/u16-next: New file.
8319         * modules/unistr/u32-next: New file.
8320         * lib/unistr/u8-next.c: New file.
8321         * lib/unistr/u16-next.c: New file.
8322         * lib/unistr/u32-next.c: New file.
8323
8324         * modules/unistr/u8-prev: New file.
8325         * modules/unistr/u16-prev: New file.
8326         * modules/unistr/u32-prev: New file.
8327         * lib/unistr/u8-prev.c: New file.
8328         * lib/unistr/u16-prev.c: New file.
8329         * lib/unistr/u32-prev.c: New file.
8330
8331         * modules/unistr/u8-set: New file.
8332         * modules/unistr/u16-set: New file.
8333         * modules/unistr/u32-set: New file.
8334         * lib/unistr/u8-set.c: New file.
8335         * lib/unistr/u16-set.c: New file.
8336         * lib/unistr/u32-set.c: New file.
8337         * lib/unistr/u-set.h: New file.
8338
8339         * modules/unistr/u8-startswith: New file.
8340         * modules/unistr/u16-startswith: New file.
8341         * modules/unistr/u32-startswith: New file.
8342         * lib/unistr/u8-startswith.c: New file.
8343         * lib/unistr/u16-startswith.c: New file.
8344         * lib/unistr/u32-startswith.c: New file.
8345         * lib/unistr/u-startswith.h: New file.
8346
8347         * modules/unistr/u8-stpcpy: New file.
8348         * modules/unistr/u16-stpcpy: New file.
8349         * modules/unistr/u32-stpcpy: New file.
8350         * lib/unistr/u8-stpcpy.c: New file.
8351         * lib/unistr/u16-stpcpy.c: New file.
8352         * lib/unistr/u32-stpcpy.c: New file.
8353         * lib/unistr/u-stpcpy.h: New file.
8354
8355         * modules/unistr/u8-stpncpy: New file.
8356         * modules/unistr/u16-stpncpy: New file.
8357         * modules/unistr/u32-stpncpy: New file.
8358         * lib/unistr/u8-stpncpy.c: New file.
8359         * lib/unistr/u16-stpncpy.c: New file.
8360         * lib/unistr/u32-stpncpy.c: New file.
8361         * lib/unistr/u-stpncpy.h: New file.
8362
8363         * modules/unistr/u8-strcat: New file.
8364         * modules/unistr/u16-strcat: New file.
8365         * modules/unistr/u32-strcat: New file.
8366         * lib/unistr/u8-strcat.c: New file.
8367         * lib/unistr/u16-strcat.c: New file.
8368         * lib/unistr/u32-strcat.c: New file.
8369         * lib/unistr/u-strcat.h: New file.
8370
8371         * modules/unistr/u8-strchr: New file.
8372         * modules/unistr/u16-strchr: New file.
8373         * modules/unistr/u32-strchr: New file.
8374         * lib/unistr/u8-strchr.c: New file.
8375         * lib/unistr/u16-strchr.c: New file.
8376         * lib/unistr/u32-strchr.c: New file.
8377
8378         * modules/unistr/u8-strcmp: New file.
8379         * modules/unistr/u16-strcmp: New file.
8380         * modules/unistr/u32-strcmp: New file.
8381         * lib/unistr/u8-strcmp.c: New file.
8382         * lib/unistr/u16-strcmp.c: New file.
8383         * lib/unistr/u32-strcmp.c: New file.
8384
8385         * modules/unistr/u8-strcpy: New file.
8386         * modules/unistr/u16-strcpy: New file.
8387         * modules/unistr/u32-strcpy: New file.
8388         * lib/unistr/u8-strcpy.c: New file.
8389         * lib/unistr/u16-strcpy.c: New file.
8390         * lib/unistr/u32-strcpy.c: New file.
8391         * lib/unistr/u-strcpy.h: New file.
8392
8393         * modules/unistr/u8-strcspn: New file.
8394         * modules/unistr/u16-strcspn: New file.
8395         * modules/unistr/u32-strcspn: New file.
8396         * lib/unistr/u8-strcspn.c: New file.
8397         * lib/unistr/u16-strcspn.c: New file.
8398         * lib/unistr/u32-strcspn.c: New file.
8399         * lib/unistr/u-strcspn.h: New file.
8400
8401         * modules/unistr/u8-strdup: New file.
8402         * modules/unistr/u16-strdup: New file.
8403         * modules/unistr/u32-strdup: New file.
8404         * lib/unistr/u8-strdup.c: New file.
8405         * lib/unistr/u16-strdup.c: New file.
8406         * lib/unistr/u32-strdup.c: New file.
8407         * lib/unistr/u-strdup.h: New file.
8408
8409         * modules/unistr/u8-strlen: New file.
8410         * modules/unistr/u16-strlen: New file.
8411         * modules/unistr/u32-strlen: New file.
8412         * lib/unistr/u8-strlen.c: New file.
8413         * lib/unistr/u16-strlen.c: New file.
8414         * lib/unistr/u32-strlen.c: New file.
8415         * lib/unistr/u-strlen.h: New file.
8416
8417         * modules/unistr/u8-strmblen: New file.
8418         * modules/unistr/u16-strmblen: New file.
8419         * modules/unistr/u32-strmblen: New file.
8420         * lib/unistr/u8-strmblen.c: New file.
8421         * lib/unistr/u16-strmblen.c: New file.
8422         * lib/unistr/u32-strmblen.c: New file.
8423
8424         * modules/unistr/u8-strmbtouc: New file.
8425         * modules/unistr/u16-strmbtouc: New file.
8426         * modules/unistr/u32-strmbtouc: New file.
8427         * lib/unistr/u8-strmbtouc.c: New file.
8428         * lib/unistr/u16-strmbtouc.c: New file.
8429         * lib/unistr/u32-strmbtouc.c: New file.
8430
8431         * modules/unistr/u8-strncat: New file.
8432         * modules/unistr/u16-strncat: New file.
8433         * modules/unistr/u32-strncat: New file.
8434         * lib/unistr/u8-strncat.c: New file.
8435         * lib/unistr/u16-strncat.c: New file.
8436         * lib/unistr/u32-strncat.c: New file.
8437         * lib/unistr/u-strncat.h: New file.
8438
8439         * modules/unistr/u8-strncmp: New file.
8440         * modules/unistr/u16-strncmp: New file.
8441         * modules/unistr/u32-strncmp: New file.
8442         * lib/unistr/u8-strncmp.c: New file.
8443         * lib/unistr/u16-strncmp.c: New file.
8444         * lib/unistr/u32-strncmp.c: New file.
8445
8446         * modules/unistr/u8-strncpy: New file.
8447         * modules/unistr/u16-strncpy: New file.
8448         * modules/unistr/u32-strncpy: New file.
8449         * lib/unistr/u8-strncpy.c: New file.
8450         * lib/unistr/u16-strncpy.c: New file.
8451         * lib/unistr/u32-strncpy.c: New file.
8452         * lib/unistr/u-strncpy.h: New file.
8453
8454         * modules/unistr/u8-strnlen: New file.
8455         * modules/unistr/u16-strnlen: New file.
8456         * modules/unistr/u32-strnlen: New file.
8457         * lib/unistr/u8-strnlen.c: New file.
8458         * lib/unistr/u16-strnlen.c: New file.
8459         * lib/unistr/u32-strnlen.c: New file.
8460         * lib/unistr/u-strnlen.h: New file.
8461
8462         * modules/unistr/u8-strpbrk: New file.
8463         * modules/unistr/u16-strpbrk: New file.
8464         * modules/unistr/u32-strpbrk: New file.
8465         * lib/unistr/u8-strpbrk.c: New file.
8466         * lib/unistr/u16-strpbrk.c: New file.
8467         * lib/unistr/u32-strpbrk.c: New file.
8468         * lib/unistr/u-strpbrk.h: New file.
8469
8470         * modules/unistr/u8-strrchr: New file.
8471         * modules/unistr/u16-strrchr: New file.
8472         * modules/unistr/u32-strrchr: New file.
8473         * lib/unistr/u8-strrchr.c: New file.
8474         * lib/unistr/u16-strrchr.c: New file.
8475         * lib/unistr/u32-strrchr.c: New file.
8476
8477         * modules/unistr/u8-strspn: New file.
8478         * modules/unistr/u16-strspn: New file.
8479         * modules/unistr/u32-strspn: New file.
8480         * lib/unistr/u8-strspn.c: New file.
8481         * lib/unistr/u16-strspn.c: New file.
8482         * lib/unistr/u32-strspn.c: New file.
8483         * lib/unistr/u-strspn.h: New file.
8484
8485         * modules/unistr/u8-strstr: New file.
8486         * modules/unistr/u16-strstr: New file.
8487         * modules/unistr/u32-strstr: New file.
8488         * lib/unistr/u8-strstr.c: New file.
8489         * lib/unistr/u16-strstr.c: New file.
8490         * lib/unistr/u32-strstr.c: New file.
8491         * lib/unistr/u-strstr.h: New file.
8492
8493         * modules/unistr/u8-strtok: New file.
8494         * modules/unistr/u16-strtok: New file.
8495         * modules/unistr/u32-strtok: New file.
8496         * lib/unistr/u8-strtok.c: New file.
8497         * lib/unistr/u16-strtok.c: New file.
8498         * lib/unistr/u32-strtok.c: New file.
8499         * lib/unistr/u-strtok.h: New file.
8500
8501         * modules/unistr/u8-uctomb: New file.
8502         * modules/unistr/u16-uctomb: New file.
8503         * modules/unistr/u32-uctomb: New file.
8504         * lib/unistr/u8-uctomb.c: New file.
8505         * lib/unistr/u16-uctomb.c: New file.
8506         * lib/unistr/u32-uctomb.c: New file.
8507
8508         * MODULES.html.sh (Unicode string functions): Add the new modules.
8509
8510 2007-01-08  Bruno Haible  <bruno@clisp.org>
8511
8512         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
8513         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
8514         subdirectories.
8515
8516 2007-01-08  Karl Berry  <karl@gnu.org>
8517
8518         * doc/error.texi: mention that main() fns must set program_name
8519         when progname is used.
8520
8521 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
8522
8523         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
8524         WCTYPE_H is empty, for the benefit of builds from non-distclean
8525         directories.  Problem reported by Eric Blake in
8526         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
8527
8528 2007-01-08  Bruno Haible  <bruno@clisp.org>
8529
8530         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
8531         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
8532         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
8533         PROVIDE_CANONICALIZE_FILENAME_MODE.
8534         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
8535
8536 2007-01-08  Bruno Haible  <bruno@clisp.org>
8537
8538         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
8539         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
8540         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
8541         * lib/fts.c: Likewise.
8542         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
8543
8544 2006-12-25  Bruno Haible  <bruno@clisp.org>
8545
8546         * modules/utf8-ucs4-safe: New file.
8547         * lib/utf8-ucs4-safe.h: New file.
8548         * lib/unistr/utf8-ucs4-safe.c: New file.
8549
8550         * modules/utf16-ucs4-safe: New file.
8551         * lib/utf16-ucs4-safe.h: New file.
8552         * lib/unistr/utf16-ucs4-safe.c: New file.
8553
8554         * MODULES.html.sh (Unicode string functions): Add the new modules.
8555
8556 2007-01-08  Bruno Haible  <bruno@clisp.org>
8557
8558         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
8559         (Depends-on): Add unitypes.
8560         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
8561         (u8_mbtouc_aux): Move out to separate file.
8562         (u8_mbtouc): Use ucs4_t, uint8_t types.
8563         * lib/unistr/utf8-ucs4.c: New file.
8564
8565         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
8566         (Depends-on): Add unitypes.
8567         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
8568         (u16_mbtouc_aux): Move out to separate file.
8569         (u16_mbtouc): Use ucs4_t, uint16_t types.
8570         * lib/unistr/utf16-ucs4.c: New file.
8571
8572         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
8573         (Depends-on): Add unitypes.
8574         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
8575         (u8_uctomb_aux): Move out to separate file.
8576         (u8_uctomb): Use ucs4_t, uint8_t types.
8577         * lib/unistr/ucs4-utf8.c: New file.
8578
8579         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
8580         (Depends-on): Add unitypes.
8581         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
8582         (u16_uctomb_aux): Move out to separate file.
8583         (u16_uctomb): Use ucs4_t, uint16_t types.
8584         * lib/unistr/ucs4-utf16.c: New file.
8585
8586 2006-12-25  Bruno Haible  <bruno@clisp.org>
8587
8588         * modules/unitypes: New file.
8589         * lib/unitypes.h: New file.
8590         * MODULES.html.sh (func_all_modules): New section "Unicode string
8591         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
8592         this section. Add unitypes.
8593
8594 2007-01-08  Bruno Haible  <bruno@clisp.org>
8595
8596         Avoid variable names that conflict with those from libtool.
8597         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
8598         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
8599         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
8600         library_names_spec to acl_library_names_spec, hardcode_* to
8601         acl_hardcode_*.
8602         Reported by Ralf Wildenhues.
8603
8604 2007-01-08  Bruno Haible  <bruno@clisp.org>
8605
8606         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
8607         definition.
8608         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
8609         definition.
8610         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
8611         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
8612         definition.
8613         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
8614         definition.
8615         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
8616         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
8617         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
8618         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
8619         definition.
8620         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
8621         definition.
8622         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
8623         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
8624         GC_USE_<algorithm>.
8625         * lib/gc-libgcrypt.c: Likewise.
8626         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
8627         * modules/gc-arctwo (configure.ac): Likewise.
8628         * modules/gc-des (configure.ac): Likewise.
8629         * modules/gc-hmac-md5 (configure.ac): Likewise.
8630         * modules/gc-hmac-sha1 (configure.ac): Likewise.
8631         * modules/gc-md2 (configure.ac): Likewise.
8632         * modules/gc-md4 (configure.ac): Likewise.
8633         * modules/gc-md5 (configure.ac): Likewise.
8634         * modules/gc-random (configure.ac): Likewise.
8635         * modules/gc-rijndael (configure.ac): Likewise.
8636         * modules/gc-sha1 (configure.ac): Likewise.
8637
8638 2007-01-08  Bruno Haible  <bruno@clisp.org>
8639
8640         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
8641         macro definition.
8642         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
8643         definition.
8644         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
8645         definition.
8646         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
8647         * modules/fcntl-safer (configure.ac): Likewise.
8648         * modules/fopen-safer (configure.ac): Likewise.
8649         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
8650         GNULIB_FWRITEERROR macro definition.
8651
8652 2007-01-08  Bruno Haible  <bruno@clisp.org>
8653
8654         * m4/gnulib-common.m4: New file.
8655         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
8656         (func_get_filelist): Add m4/gnulib-common.m4.
8657
8658 2007-01-08  Bruno Haible  <bruno@clisp.org>
8659
8660         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
8661         command.
8662
8663 2007-01-08  Jim Meyering  <jim@meyering.net>
8664
8665         Use a more robust test for a "can't happen" condition.
8666         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
8667         narrowed the st_size value.  Presuming the "can't happen" condition
8668         is true, that narrowing could conceivably convert an invalid st_size
8669         value into a valid one.  Instead, use a change based on Matthew
8670         Woehlke's original patch.
8671
8672         Slight readability improvement: use an assert-like macro
8673         in place of literal "abort ()" uses.
8674         * lib/fts.c (fts_assert): Define.
8675         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
8676         Use this macro instead of a bare 'abort'.
8677
8678 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8679
8680         Don't worry about using IRIX 5.3's wctype.h broken definitions;
8681         simply work around them.
8682         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
8683         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
8684         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
8685         declaring.
8686         Don't bother to define as macros, since the standard doesn't require it.
8687         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
8688         longer worry about IRIX 5.3.
8689         (HAVE_WCTYPE_CTMP_BUG): Remove.
8690
8691 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8692
8693         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
8694         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
8695         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
8696         Problems reported by Georg Schwarz for IRIX 5.3.
8697
8698         * gnulib-tool (autoconf_minversion): Take the maximum version number
8699         found, not the minimum.  Problem reported by James Youngman.
8700
8701 2007-01-03  Karl Berry  <karl@gnu.org>
8702
8703         * doc/error.texi: new file, explaining interaction with progname.
8704         * doc/gnulib.texi: include it.  Update copyright.
8705
8706 2007-01-03  Simon Josefsson  <simon@josefsson.org>
8707
8708         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
8709         AC_CANONICAL_HOST, to improve autobuild outputs.
8710
8711 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
8712             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
8713
8714         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
8715         sockets, server sockets, and other file descriptors.  Count errors
8716         to compute the return value.  Reorder the code a bit to be easier
8717         to follow.  Don't set event bits that were not requested (except
8718         POLLERR and POLLHUP).
8719
8720 2007-01-01  Bruno Haible  <bruno@clisp.org>
8721
8722         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
8723
8724 2007-01-03  Jim Meyering  <jim@meyering.net>
8725
8726         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
8727
8728 2007-01-02  Bruno Haible  <bruno@clisp.org>
8729
8730         * modules/settime (Include): Require timespec.h.
8731         * modules/nanosleep (Include): Likewise.
8732
8733 2007-01-01  Bruno Haible  <bruno@clisp.org>
8734
8735         * gnulib-tool (func_emit_copyright_notice): Bump year.
8736         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
8737
8738 2007-01-01  Bruno Haible  <bruno@clisp.org>
8739
8740         Improve support for OpenBSD.
8741         * build-aux/config.rpath (libname_spec): Export.
8742         (library_names_spec): New variable. Export.
8743         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
8744         library_names_spec from the config.rpath output. Locate shared library
8745         through the name pattern in library_names_spec.
8746
8747 2007-01-01  Eric Blake  <ebb9@byu.net>
8748
8749         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
8750
8751 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
8752
8753         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
8754         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
8755         assume the C locale, and avoid an "eval" that could cause trouble.
8756         Problem with SORT reported by Bob Proulx.
8757
8758         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
8759         Define.  Trivial patch from Henning Nielsen Lund, originally
8760         sent to bug-grep@gnu.org today.
8761
8762 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
8763
8764         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
8765         struct stat.  Problem reported by Henning Nielsen Lund.
8766         * lib/acl.c: Include acl.h first, to check interface.  Don't
8767         bother to include sys/types.h and sys/stat.h again.
8768
8769 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
8770
8771         Import the following change from libc; problem reported by
8772         Sven Verdoolaege.
8773
8774         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
8775
8776         [BZ #1373]
8777         * lib/argp.h: Remove __NTH for __argp_usage inline function.
8778
8779 2006-12-28  Jim Meyering  <jim@meyering.net>
8780
8781         * build-aux/announce-gen: Do not assume that the package
8782         builds any of tar.gz, tar.bz2, and .xdelta files.
8783         Suggestion from Simon Josefsson.
8784
8785 2006-12-28  Simon Josefsson  <simon@josefsson.org>
8786
8787         * modules/announce-gen: New file.
8788
8789 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
8790
8791         * lib/mbchar.h: Just include <wctype.h>; the wctype module
8792         handles its gotchas now.
8793         * lib/mbswidth.c: Likewise.
8794         * lib/wcwidth.h: Likewise.
8795         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
8796         and iswcntrl; the wctype module does this stuff now.
8797         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
8798         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8799         * modules/mbchar (Depends-on): Add wctype.
8800         * modules/mbswidth (Depends-on): Likewise.
8801         * modules/wcwidth (Depends-on): Likewise.
8802
8803 2006-12-27  Eric Blake  <ebb9@byu.net>
8804
8805         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
8806         module uses more than what <wctype.h> is required to provide.
8807
8808 2006-12-26  Eric Blake  <ebb9@byu.net>
8809
8810         * gnulib-tool (sed_extract_prog): Avoid space-tab.
8811
8812 2006-12-26  Eric Blake  <ebb9@byu.net>
8813
8814         * modules/absolute-header: New module.
8815         * modules/fcntl (Depends-on): Depend on it.
8816         * modules/inttypes (Depends-on): Likewise.
8817         * modules/stdint (Depends-on): Likewise.
8818         * modules/sys_stat (Depends-on): Likewise.
8819         * modules/wctype (Depends-on): Likewise.
8820         * MODULES.html.sh (Support for building libraries and
8821         executables): Document it.
8822
8823 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
8824
8825         * gnulib-tool (SED): Remove, undoing previous change.
8826         The problem was that it broke coreutils on Solaris, because
8827         "sed --posix" leaked into a makefile.
8828         (sed): New alias, if 'alias' and GNU sed.
8829
8830 2006-12-24  Jim Meyering  <jim@meyering.net>
8831
8832         Work around an fchownat bug in glibc-2.4:
8833         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
8834         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
8835         in spite of the -P option.
8836         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
8837         New macros.
8838         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
8839         * modules/openat (Files): Add lib/fchownat.c.
8840         * lib/openat.c (fchownat): Don't define here.  Move to...
8841         * lib/fchownat.c: ...this new file.
8842
8843 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
8844
8845         Fix bug reported by Bruno Haible in
8846         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
8847         where quotearg.c didn't compile on Mac OS X 10.2 because it
8848         lacks <wchar.h> and wint_t.
8849         * lib/wctype_.h (__wctype_wint_t): New type.
8850         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
8851         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
8852         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
8853         Arg is now of type __wctype_wint_t, not wint_t.
8854         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
8855         substitute HAVE_WINT_T.
8856         * modules/wctype (Files): Add m4/wint_t.m4.
8857         (wctype.h): Substitute HAVE_WINT_T.
8858
8859 2006-12-23  Bruno Haible  <bruno@clisp.org>
8860
8861         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
8862
8863 2006-12-23  Bruno Haible  <bruno@clisp.org>
8864
8865         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
8866         S_ISLNK.
8867         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
8868         mingw.
8869
8870 2006-12-22  Bruno Haible  <bruno@clisp.org>
8871
8872         * lib/copy-file.c: Include acl.h.
8873         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
8874         Close the file descriptors only after being done with copy_acl.
8875         * modules/copy-file (Depends-on): Add acl.
8876
8877 2006-12-22  Bruno Haible  <bruno@clisp.org>
8878
8879         * gnulib-tool (SED): New variable.
8880         Use $SED instead of sed everywhere.
8881
8882 2006-12-22  Bruno Haible  <bruno@clisp.org>
8883
8884         * modules/no-c++: New file.
8885         * m4/no-c++.m4: New file.
8886         * MODULES.html.sh (Support for building libraries and executables):
8887         Add no-c++.
8888
8889 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
8890
8891         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
8892         Include <limits.h>, and use its INT_MAX to rewrite the
8893         j loop so that it does not overflow 'int'.  Problem reported by
8894         Ralf Wildenhues in
8895         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
8896         Play it safe by shifting left by 1 rather than multiplying by 2,
8897         as GCC is less likely to optimize this away when the value
8898         is signed (when it assumes overflow leads to undefined behavior).
8899         Also, don't assume time_t uses two's complement.
8900
8901 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
8902
8903         * MODULES.html.sh: New module wctype.
8904         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
8905         * lib/fnmatch.c: Don't bother to include <wchar.h> before
8906         <wctype.h>, since the new wctype module should fix this.
8907         * lib/quotearg.c: Include <wctype.h> unconditionally, since
8908         the wctype module should arrange for it.
8909         * lib/regex_internal.h: Likewise.
8910         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
8911         since the wctype module should handle this now.
8912         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
8913         * modules/fnmatch (Depends-on): Add wctype.
8914         * modules/quotearg (Depends-on): Likewise.
8915         * modules/regex (Depends-on): Likewise.
8916
8917 2006-12-19  Bruno Haible  <bruno@clisp.org>
8918
8919         * lib/strdup.h [C++]: Wrap definitions in extern "C".
8920         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
8921
8922 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8923
8924         * modules/savewd (Depends-on): Fix dependency on fcntl.
8925
8926 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8927
8928         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
8929         conforms to C99, rather than relying on the user's environment
8930         setting of STDINT_H.
8931
8932 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8933         and Eric Blake  <ebb9@byu.net>
8934
8935         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
8936         This is more consistent with the other defines here.
8937         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
8938         Port to z/OS.  Problem reported by Paul Gilmartin.
8939         Change local vars to use gl_ prefix rather than ac_.
8940         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
8941         with other defines.
8942         * modules/double-slash-root: New module.
8943         * modules/dirname (Files): Remove m4/double-slash-root.m4.
8944         (Depends-on): Add double-slash-root.
8945         * MODULES.html.sh (File system functions): Mention new module.
8946
8947 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
8948
8949         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
8950         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
8951         This is for the benefit of gzip, which doesn't do i18n.
8952
8953 2006-12-12  Jim Meyering  <jim@meyering.net>
8954
8955         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
8956         Reported by Andreas Schwab <schwab@suse.de>.
8957
8958 2006-12-12  Bruno Haible  <bruno@clisp.org>
8959
8960         Merge these changes.
8961         2006-09-05  Bruno Haible  <bruno@clisp.org>
8962         * lib/iconvme.c (iconv_string): No need to save and restore errno when
8963         iconv_alloc succeeded.
8964         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
8965         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
8966         test for " && dest " at the end - dest is always != NULL there. Call
8967         iconv with 4xNULL arguments initially, to reset the state. Call iconv
8968         with 2xNULL arguments, also to flush the state storage. Handle the
8969         IRIX iconv behaviour. Realloc the final result, to throw away unused
8970         memory.
8971
8972 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
8973
8974         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
8975         and fchmodat unconditionally, since glibc 2.4 has them.
8976         Problem reported by Arkadiusz Miskiewicz.
8977
8978 2006-12-10  Bruno Haible  <bruno@clisp.org>
8979
8980         * gnulib-tool (func_import): Show the include files only for those
8981         modules that are copied and specified.
8982         Reported by Karl Berry.
8983
8984 2006-12-08  Jim Meyering  <jim@meyering.net>
8985
8986         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
8987         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
8988
8989         * build-aux/announce-gen: Add two new options, both optional:
8990         --bootstrap-tools=TOOL_LIST
8991               a comma-separated list of tools, e.g.,
8992               autoconf,automake,bison,gnulib
8993         --gnulib-snapshot-date=DATE
8994               if gnulib is in the bootstrap tool list,
8995               then report this as the snapshot date.
8996               If not specified, use the current date/time.
8997               If you specify a date here, be sure it's UTC.
8998
8999 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9000
9001         * tests/test-argp-2.sh: Fix test to match actual output.
9002         (func_compare): Fix sed script to be portable.
9003
9004 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
9005
9006         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
9007         workaround for this case.  It is not autoconfigured now; offhand
9008         it's hard to see how to autoconfigure it.
9009
9010 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
9011
9012         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
9013         a directory that is about to be chowned.  Such a directory's
9014         initial file permissions should permit the owner only and this
9015         should not be changed until after the chown, since the group and
9016         other bits would be incorrect if they granted permission before
9017         the chown.
9018
9019         Fix porting problem for iswctype reported by Georg Schwarz in:
9020         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
9021         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
9022         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
9023         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
9024         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
9025
9026 2006-12-03  Jim Meyering  <jim@meyering.net>
9027
9028         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
9029         p->fts_statp may not yet be defined.
9030         (fts_read): Instead, set it in the caller, once p->fts_statp is
9031         sure to be defined, and corresponds to a top-level directory.
9032         This bug made du -x fail.  Here's the coreutils test case:
9033         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
9034         Reported by Mike Frysinger.
9035
9036 2006-12-01  Jim Meyering  <jim@meyering.net>
9037
9038         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
9039         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
9040         Reported by Simon Josefsson.
9041
9042 2006-11-30  Jim Meyering  <jim@meyering.net>
9043
9044         * m4/warning.m4: Use the all-permissive copyright notice
9045         recommended by RMS (rather than LGPL).
9046         * m4/vararrays.m4: Likewise.
9047         * m4/flexmember.m4: Likewise.
9048
9049 2006-11-29  Bruno Haible  <bruno@clisp.org>
9050
9051         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
9052         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
9053         using +=.
9054         Reported by Simon Josefsson <simon@josefsson.org>.
9055
9056 2006-11-28  James Youngman <jay@gnu.org>
9057
9058         * README: Advise users that they might find the bug-gnulib@gnu.org
9059         and autotools-announce@gnu.org mailing lists useful.
9060
9061 2006-11-28  Bruno Haible  <bruno@clisp.org>
9062
9063         * m4/ptrdiff_max.m4: Remove file.
9064
9065 2006-11-21  Bruno Haible  <bruno@clisp.org>
9066
9067         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
9068         _AC_COMPUTE_INT.
9069         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
9070         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
9071         _AC_COMPUTE_INT.
9072         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
9073         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
9074         _AC_COMPUTE_INT.
9075         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
9076
9077 2006-11-28  Jim Meyering  <jim@meyering.net>
9078
9079         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
9080         warning from "gcc -Wshadow" about shadowing the builtin.
9081
9082 2006-11-27  Bruno Haible  <bruno@clisp.org>
9083
9084         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
9085         _AC_COMPUTE_INT.
9086         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
9087
9088 2006-11-27  Bruno Haible  <bruno@clisp.org>
9089             Paul Eggert  <eggert@cs.ucla.edu>
9090
9091         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
9092
9093 2006-11-26  Bruno Haible  <bruno@clisp.org>
9094
9095         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
9096         noinst_LTLIBRARIES.
9097
9098 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
9099             Bruno Haible  <bruno@clisp.org>
9100
9101         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
9102         if compiling with "gcc -ansi".
9103
9104 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
9105
9106         Fix some incompatibilities with gcc -ansi -pedantic.
9107         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
9108         if compiling pedantically with GCC, unless it's C99 or later.
9109         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
9110         it mishandles gcc -ansi -pedantic as well.
9111         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
9112         if gcc -pedantic.
9113         * lib/regexec.c (check_node_accept_bytes): Don't use auto
9114         initializers for struct if -pedantic, unless it's C99 or later.
9115
9116 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
9117
9118         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
9119         Don't close an fd more than once. Identical atimes indicate
9120         success, not failure.
9121
9122 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
9123
9124         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
9125
9126 2006-11-23  Jim Meyering  <jim@meyering.net>
9127
9128         * build-aux/announce-gen: New file.  From coreutils.
9129
9130 2006-11-22  Jim Meyering  <jim@meyering.net>
9131
9132         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
9133         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
9134         (fts_read): Use a temporary to narrow the overused st_size member
9135         before using it in a switch statement.  Reported by Matthew Woehlke.
9136
9137         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
9138         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
9139
9140 2006-11-20  Bruno Haible  <bruno@clisp.org>
9141
9142         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
9143         changequote instead of pairs of brackets.
9144         Reported by Andreas Schwab <schwab@suse.de>.
9145
9146 2006-11-21  Jim Meyering  <jim@meyering.net>
9147
9148         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
9149         so as to remain compatible with older compilers.
9150         Patch from Michael Deutschmann.
9151
9152 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
9153
9154         * MODULES.html.sh (File system functions): Add openat.
9155
9156         * lib/openat.h (rpl_fstatat): New macro, if
9157         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
9158         (fstatat): Define to rpl_fstatat under the same conditions,
9159         unless COMPILING_FSTATAT.
9160         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
9161         seems to have the bug.
9162         * lib/fstatat.c: New file.
9163         * modules/openat (Files): Add it.
9164
9165 2006-11-20  Bruno Haible  <bruno@clisp.org>
9166
9167         * Makefile: New file.
9168
9169 2006-11-20  Jim Meyering  <jim@meyering.net>
9170
9171         The beginnings of syntax-related checks for gnulib.
9172         * lib/Makefile: New file.
9173         * lib/t-idcache: New script.  Ensure that the two halves of
9174         idcache.c stay in sync.
9175
9176         * lib/idcache.c: Adjust comments in user- and group- portions to
9177         be more accurate, and to be consistent with one another.
9178
9179 2006-11-20  Jim Meyering  <jim@meyering.net>
9180
9181         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
9182         continue using the flexible array member (thus, this module performs
9183         half as many malloc calls), with the addition that...
9184         (getgroup, getuser): Consistently record a non-match via an empty
9185         "name" string, and map an empty string match to a NULL return value.
9186         * modules/idcache (Depends-on): Re-add flexmember.
9187
9188         * lib/idcache.c (getuser): Remove all uses of the register keyword.
9189         (getuidbyname, getgroup, getgidbyname): Likewise.
9190
9191         Use cleaner syntax: NULL rather than 0.
9192         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
9193
9194 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
9195
9196         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
9197         It mishandled the case where the group was missing.
9198         Problem reported by Greg Schafer.
9199         * modules/idcache: Likewise.
9200
9201 2006-11-18  Jim Meyering  <jim@meyering.net>
9202
9203         * check-module (%exempt_header): Add exception for some
9204         conditionally-included headers.
9205
9206         * modules/i-ring (Depends-on): Add verify.
9207         (License): Change to LGPL.
9208
9209 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
9210
9211         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
9212         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
9213         and inttostr.h.  Use snprintf rather than uinttostr, so that
9214         LGPLed code doesn't depend on GPLed.
9215
9216 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9217
9218         * modules/inline (License): Change from GPL to LGPL.
9219
9220 2006-11-17  Jim Meyering  <jim@meyering.net>
9221
9222         * modules/d-type (License): Switch to LGPL.
9223
9224 2006-11-15  Bruno Haible  <bruno@clisp.org>
9225
9226         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
9227
9228 2006-11-15  Eric Blake  <ebb9@byu.net>
9229
9230         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
9231         the module dependency.
9232
9233 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
9234             Bruno Haible  <bruno@clisp.org>
9235
9236         * gnulib-tool (func_create_testdir): Add license consistency check.
9237
9238 2006-11-15  Eric Blake  <ebb9@byu.net>
9239
9240         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
9241         random "(cached)" in configure output.
9242
9243 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9244
9245         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
9246         test for conforming inttypes.h is both announced and cached.
9247
9248         * MODULES.html.sh (seen_modules, seen_files): New variables.
9249         (func_module): Rewrite to use a few less gnulib-tool and sed
9250         invocations.  Avoid a couple of quadratic algorithms for ...
9251         (missed_modules, missed_files): ... these, with ...
9252         (func_append, func_tmpdir): ... these new functions, from
9253         gnulib-tool.  Analogously, install traps for cleanup.
9254
9255         * tests/test-gc.c (main): Remove unused variables.
9256         * tests/test-read-file.c: Include stdlib.h, for 'free'.
9257
9258 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
9259
9260         * modules/inttostr (License): Change to LGPL.
9261
9262 2006-11-14  Eric Blake  <ebb9@byu.net>
9263
9264         * modules/tempname (License): Change to LGPL.
9265
9266 2006-11-14  Eric Blake  <ebb9@byu.net>
9267
9268         * doc/functions.texi (Function Portability): *printf functions on
9269         Cygwin now understand all POSIX size specifiers.
9270
9271 2006-11-14  Bruno Haible  <bruno@clisp.org>
9272
9273         * modules/c-ctype (License): Change to LGPL.
9274
9275 2006-11-12  Bruno Haible  <bruno@clisp.org>
9276
9277         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
9278         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
9279         for GNOME libraries, for which the include files are installed in
9280         subdirectories of $prefix/include.
9281
9282 2006-11-12  Bruno Haible  <bruno@clisp.org>
9283
9284         * m4/lib-link.m4: Require at least autoconf-2.54.
9285         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
9286         name to underscores for the --with option.
9287
9288 2006-11-13  Bruno Haible  <bruno@clisp.org>
9289
9290         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
9291         the tests directory.
9292         Reported by Ralf Wildenhues.
9293
9294 2006-11-13  Bruno Haible  <bruno@clisp.org>
9295
9296         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
9297         (func_emit_initmacro_end): Undo the override here.
9298         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
9299         Works around the famous automake error in coreutils.
9300
9301 2006-11-13  Eric Blake  <ebb9@byu.net>
9302
9303         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
9304         element, not its node.
9305
9306 2006-11-12  Bruno Haible  <bruno@clisp.org>
9307
9308         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
9309         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
9310
9311 2006-11-12  Bruno Haible  <bruno@clisp.org>
9312
9313         * gnulib-tool: New option --local-symlink.
9314         (func_usage): Document it.
9315         (lsymbolic): New variable.
9316         (func_import, func_create_testdir): If --symlink was not specified,
9317         test whether --local-symlink was specified and the file comes from
9318         the local_gnulib_dir.
9319
9320 2006-11-12  Bruno Haible  <bruno@clisp.org>
9321
9322         * gnulib-tool (func_ln): New function.
9323         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
9324
9325 2006-11-12  Bruno Haible  <bruno@clisp.org>
9326
9327         Finish support for source files in subdirectories.
9328         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
9329         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
9330         AUTOMAKE_OPTIONS.
9331         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
9332
9333 2006-11-12  Bruno Haible  <bruno@clisp.org>
9334
9335         * gnulib-tool (func_get_automake_snippet): Synthesize also an
9336         EXTRA_lib_SOURCES augmentation.
9337         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
9338
9339 2006-11-12  Jim Meyering  <jim@meyering.net>
9340
9341         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
9342         file descriptors.  This also averts a failure on systems with
9343         native openat support when a traversed directory lacks "x" access.
9344         * lib/fts_.h: Include "i-ring.h"
9345         (struct FTS) [fts_fd_ring]: New member.
9346         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
9347         (FCHDIR): Add parentheses.
9348         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
9349         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
9350         When descending, rather than simply closing the previous
9351         fts_cwd_fd value, push that file descriptor onto the ring.
9352         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
9353         (fts_open): Initialize the new fd_ring member.
9354         (fts_close): Clear the ring.
9355         (fts_safe_changedir): When possible, use our new fd_ring to skip
9356         the diropen and fstat and dev/ino comparison that would normally
9357         accompany a virtual `chdir ("..")'.
9358
9359         * modules/fts (Depends-on): Add i-ring.
9360         * modules/i-ring: New module.
9361         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
9362         * m4/i-ring.m4: New file.
9363
9364 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9365
9366         * gnulib-tool (func_create_testdir): Fix replacement of
9367         `build-aux' in configure.ac.  Run autotools in gltests
9368         subdirectory.
9369         (func_create_testdir, func_create_megatestdir, test): There is
9370         no need for '--force' in most autotool invocations in a new
9371         tree.  Actually fail the whole test if any of the tools, or the
9372         configure or make stages fail.
9373
9374         Sync from Automake.
9375         * build-aux/gnupload: Revert last change.  Add pointer to upload
9376         instructions of the GNU Maintenance Instructions.
9377         Suggestion by Karl Berry.
9378
9379 2006-11-10  Jim Meyering  <jim@meyering.net>
9380
9381         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
9382
9383 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9384
9385         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
9386         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
9387         (bind_textdomain_codeset) [! ENABLE_NLS]:
9388         Evaluate all the arguments.  That way, callers get compatible behavior
9389         if the arguments have side effects.  Also, it avoids some GCC
9390         diagnostics in some cases; Joel E. Denny reported problems when Bison
9391         was configured with --enable-gcc-warnigs.
9392
9393 2006-11-10  Jim Meyering  <jim@meyering.net>
9394
9395         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
9396         relevant options in CFLAGS (like -O, -fno-inline) are taken into
9397         account.
9398
9399 2006-11-10  Jim Meyering  <jim@meyering.net>
9400
9401         * modules/inline: New file/module.
9402         * modules/xalloc (Files): Remove m4/inline.m4.
9403         (Depends-on): Add inline, instead.
9404         * modules/oset: Likewise.
9405         * modules/list: Likewise.
9406
9407 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9408
9409         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
9410         Problem reported by Matthew Woehlke.
9411
9412 2006-11-09  Bruno Haible  <bruno@clisp.org>
9413
9414         * lib/tempname.c (gen_tempname): Remove variant that invokes
9415         __gen_tempname.
9416         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
9417         __gen_tempname.
9418
9419 2006-11-08  Bruno Haible  <bruno@clisp.org>
9420
9421         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
9422         to 'yes' instead of 'cross-compiling'.
9423
9424 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
9425
9426         * lib/quotearg.h (quotearg_free): New decl.
9427         * lib/quotearg.c (quotearg_free): New function.
9428         (slot0, nslots, slotvec0, slotvec):
9429         Now file-scope so that quotearg_free can get at them.
9430
9431 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9432
9433         Sync from Automake.
9434         * build-aux/gnupload: Add missing 'gnu' to example URL.
9435         Report by Karl Berry.
9436
9437 2006-11-08  Bruno Haible  <bruno@clisp.org>
9438
9439         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
9440         Suggested by Paul Eggert.
9441
9442 2006-11-08  Jim Meyering  <jim@meyering.net>
9443
9444         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
9445         It's already included if !_LIBC.
9446         (fts_safe_changedir): Add a comment.
9447
9448 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
9449
9450         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
9451         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
9452         Matthew Woehlke.
9453
9454         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
9455         definitions up, to avoid colliding with change below.
9456         (static_inline) [HAVE_INLINE]: New macro.
9457         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
9458         Provide extern decls when !HAVE_INLINE.  Do not define unless
9459         static_inline is defined, either by us or by xmalloc.c.  Use
9460         static_inline rather than static inline.
9461         (XCALLOC): Optimize sizeof(T) = 1 case.
9462         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
9463
9464 2006-11-07  Bruno Haible  <bruno@clisp.org>
9465
9466         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
9467         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
9468         AC_C_INLINE.
9469         * modules/xalloc (Files): Add m4/inline.m4.
9470
9471 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9472
9473         * README: Fix typo.
9474         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
9475         (Miscellanous Notes): ...from this.
9476
9477 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
9478
9479         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9480         Mention that offsetof should be used instead of sizeof.
9481         From Bruno Haible.
9482
9483 2006-11-07  Bruno Haible  <bruno@clisp.org>
9484
9485         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
9486
9487 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
9488
9489         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
9490         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
9491         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
9492         (gl_tree_add_before, gl_tree_add_after):
9493         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
9494         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
9495         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
9496         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
9497         (gl_linked_add_after, gl_linked_add_at): Likewise.
9498         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
9499         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
9500         (gl_tree_add_before, gl_tree_add_after): Likewise.
9501         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
9502         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
9503         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
9504
9505 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9506
9507         * lib/gl_oset.h: Use C comment style, not C++ comment style.
9508
9509 2006-11-06  Bruno Haible  <bruno@clisp.org>
9510
9511         * m4/inline.m4: New file.
9512         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
9513         * modules/list (Files): Add m4/inline.m4.
9514         * modules/oset (Files): Likewise.
9515
9516 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
9517
9518         * lib/idcache.c: Include <stddef.h>, for offsetof.
9519         (struct userid.name): Change from char * to a flexible array member.
9520         All uses changed.
9521         * modules/idcache (Depends-on): Add flexmember.
9522
9523         * MODULES.html.sh (Core language properties): New module flexmember.
9524         * modules/flexmember, m4/flexmember.m4: New files.
9525
9526         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
9527         inline functions that are identical with the old xnmalloc_inline,
9528         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
9529         that we can avoid some unnecessary integer multiplications and
9530         divisions in the common case where the element size is known at
9531         compile time.
9532         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
9533         needed.
9534         (xnboundedmalloc): Remove.
9535         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
9536         arguments, for consistency with rest of this header.
9537         (xcharalloc): Rewrite using XNMALLOC.
9538         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
9539         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
9540         versions have been moved to lib/xalloc.h and renamed to be the
9541         non-*_inline versions.
9542         (xmalloc, xrealloc): Implement without reference to the xnmalloc
9543         and xnrealloc functions, since those functions are now inline and
9544         now call us.
9545         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
9546         renaming described above.
9547         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
9548         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
9549         captures the dependency in AC_C_INLINE.
9550
9551         New module canonicalize-lgpl, proposed by Charles Wilson in
9552         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
9553         with a few small changes afterwards.
9554         * MODULES.html.sh (File system functions): New module
9555         canonicalize-lgpl.
9556         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
9557         and canonicalize_file_name.
9558         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
9559         * modules/canonicalize-lgpl: New files.
9560
9561 2006-11-05  Bruno Haible  <bruno@clisp.org>
9562
9563         * gnulib-tool (func_import, func_create_testdir): Create directories
9564         also for files in subdirectories of lib/.
9565
9566 2006-11-05  Bruno Haible  <bruno@clisp.org>
9567
9568         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
9569         ANSI C compliant.
9570
9571 2006-11-03  Bruno Haible  <bruno@clisp.org>
9572
9573         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
9574         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
9575         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
9576         (xnboundedmalloc): New inline function.
9577         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
9578         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
9579         xmalloc.
9580         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
9581         xmalloc.
9582         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
9583         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
9584         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
9585         xmalloc.
9586         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
9587         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
9588         xmalloc.
9589         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
9590         gl_tree_add_after): Use XMALLOC instead of xmalloc.
9591         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
9592         xmalloc.
9593         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
9594         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
9595         gl_tree_add_after): Use XMALLOC instead of xmalloc.
9596         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
9597         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
9598         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
9599         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
9600
9601 2006-11-03  Bruno Haible  <bruno@clisp.org>
9602
9603         * lib/c-ctype.h [C++]: Define functions without name mangling.
9604         * lib/fwriteerror.h [C++]: Likewise.
9605         * lib/gcd.h [C++]: Likewise.
9606         * lib/linebreak.h [C++]: Likewise.
9607
9608 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
9609
9610         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
9611         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
9612         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
9613         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
9614         Check for functions and headers just once.
9615         Check for declaration of canonicalize_file_name.
9616         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
9617
9618 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
9619
9620         * gnulib-tool (func_import): Fix typo in actioncmd.
9621
9622 2006-11-02  Bruno Haible  <bruno@clisp.org>
9623
9624         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
9625         newline sequence in the Makefile.am snippet as a space, like "make"
9626         does.
9627         Reported by Roger Persson <perrog@gmail.com>.
9628
9629 2006-11-01  Bruno Haible  <bruno@clisp.org>
9630
9631         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
9632         already declared in <string.h>.
9633         * lib/strcase.h (strncasecmp): Don't declare it if yes.
9634
9635 2006-11-01  Bruno Haible  <bruno@clisp.org>
9636
9637         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
9638         * lib/strcase.h: Include <string.h>.
9639         (strcasecmp): Define to rpl_strcasecmp here.
9640
9641 2006-11-01  Bruno Haible  <bruno@clisp.org>
9642
9643         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
9644
9645 2006-11-01  Eric Blake  <ebb9@byu.net>
9646
9647         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
9648
9649         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
9650
9651 2006-10-29  Bruno Haible  <bruno@clisp.org>
9652
9653         Make it compile in C++ mode.
9654         * lib/full-write.c (full_rw): Add a cast.
9655
9656 2006-11-01  Bruno Haible  <bruno@clisp.org>
9657
9658         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
9659         be POSIX compliant.
9660         Reported by Roger Persson <perrog@gmail.com>.
9661
9662 2006-11-01  Eric Blake  <ebb9@byu.net>
9663
9664         * lib/getopt_.h: Fix comments.
9665
9666 2006-10-31  Eric Blake  <ebb9@byu.net>
9667
9668         * modules/tmpdir (Depends-on): Add sys_stat.
9669         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
9670         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
9671         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
9672         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
9673         tempname.
9674
9675 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
9676
9677         Avoid some C++ diagnostics reported by Bruno Haible.
9678         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
9679         xmalloc.
9680         (quotearg_alloc): Use xcharalloc rather than xmalloc.
9681         (struct slotvec): Move to top level.
9682         (quotearg_n_options): Rewrite to avoid xmalloc.
9683         * lib/xalloc.h (xcharalloc): New function.
9684         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
9685         [defined __cplusplus]: Add function template that provides result
9686         type propagation.  This part of the change is from Bruno Haible.
9687
9688 2006-10-29  Bruno Haible  <bruno@clisp.org>
9689
9690         Make it compile in C++ mode.
9691         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
9692         * lib/strnlen1.c (strnlen1): Cast memchr result.
9693         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
9694         * lib/clean-temp.c (string_equals, string_hash): Add casts.
9695         (create_temp_dir): Rename local variable 'template'.
9696         (compile_csharp_using_sscli): Add cast.
9697         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
9698         * lib/findprog.c (find_in_path): Likewise.
9699         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
9700         * lib/wait-process.c (register_slave_subprocess): Likewise.
9701
9702 2006-10-22  Bruno Haible  <bruno@clisp.org>
9703
9704         * modules/tsearch: New file.
9705         * lib/tsearch.h: New file.
9706         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
9707         * m4/tsearch.m4: New file.
9708         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
9709
9710 2006-10-29  Eric Blake  <ebb9@byu.net>
9711
9712         * lib/arcfour.c: Assume config.h.
9713         * lib/arctwo.c: Likewise.
9714         * lib/base64.c: Likewise.
9715         * lib/check-version.c: Likewise.
9716         * lib/crc.c: Likewise.
9717         * lib/des.c: Likewise.
9718         * lib/gc-gnulib.c: Likewise.
9719         * lib/gc-libgcrypt.c: Likewise.
9720         * lib/gc-pbkdf2-sha1.c: Likewise.
9721         * lib/getaddrinfo.c: Likewise.
9722         * lib/getdelim.c: Likewise.
9723         * lib/getline.c: Likewise.
9724         * lib/hmac-md5.c: Likewise.
9725         * lib/hmac-sha1.c: Likewise.
9726         * lib/iconvme.c: Likewise.
9727         * lib/md2.c: Likewise.
9728         * lib/md4.c: Likewise.
9729         * lib/memxor.c: Likewise.
9730         * lib/read-file.c: Likewise.
9731         * lib/readline.c: Likewise.
9732         * lib/rijndael-alg-fst.c: Likewise.
9733         * lib/rijndael-api-fst.c: Likewise.
9734         * lib/xgetdomainname.c: Likewise.
9735
9736 2006-10-28  Eric Blake  <ebb9@byu.net>
9737
9738         * lib/xstrndup.c: Assume config.h.
9739
9740 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
9741
9742         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
9743         stat-macros.h is now for our own macros, whereas stat_h is for
9744         macros in the <sys/stat.h> name space.
9745         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
9746         (STAT_MACROS_H): Remove.
9747         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
9748         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
9749         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
9750         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
9751         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
9752         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
9753         Move these macros to ...
9754         * lib/stat_.h: here.  Don't include stat-macros.h.
9755         * lib/canonicalize.c: Don't include stat-macros.h.
9756         * lib/chown.c: Likewise.
9757         * lib/euidaccess.c: Likewise.
9758         * lib/file-type.c: Likewise.
9759         * lib/filemode.c: Likewise.
9760         * lib/glob.c: Likewise.
9761         * lib/isapipe.c: Likewise.
9762         * lib/lchown.c: Likewise.
9763         * lib/lstat.c: Likewise.
9764         * lib/mkdir-p.c: Likewise.
9765         * lib/rmdir.c: Likewise.
9766         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
9767         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
9768         unless mkdir isn't declared, to speed up 'configure'.
9769         Always create sys/stat.h, since it's unlikely any real sys/stat.h
9770         would define all the S_* symbols.
9771         * modules/canonicalize (Depends-on):
9772         Depend on sys_stat, not stat-macros.
9773         * modules/chown: Likewise.
9774         * modules/euidaccess: Likewise.
9775         * modules/filemode: Likewise.
9776         * modules/file-type: Likewise.
9777         * modules/glob: Likewise.
9778         * modules/isapipe: Likewise.
9779         * modules/lchown: Likewise.
9780         * modules/lstat: Likewise.
9781         * modules/mkancesdirs: Likewise.
9782         * modules/rmdir: Likewise.
9783         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
9784         * modules/modechange: Likewise.
9785         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
9786         (configure.ac): Remove gl_STAT_MACROS.
9787         * modules/sys_stat (Depends-on): Remove stat-macros.
9788
9789 2006-10-27  Bruno Haible  <bruno@clisp.org>
9790
9791         * m4/signed.m4: Remove file.
9792         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
9793         invocation.
9794         * modules/vasnprintf (Files): Remove m4/signed.m4.
9795
9796 2006-10-27  Bruno Haible  <bruno@clisp.org>
9797
9798         Update to GNU gettext 0.16.
9799         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
9800         m4/inttypes-h.m4, m4/signed.m4.
9801         * m4/gettext.m4: Update to GNU gettext 0.16.
9802         * m4/intl.m4: New file, from GNU gettext.
9803         * m4/intldir.m4: New file, from GNU gettext.
9804         * config/srclist.txt: Update
9805
9806 2006-10-27  Eric Blake  <ebb9@byu.net>
9807
9808         * MODULES.html.sh: Document tempname.
9809         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
9810         dependencies.
9811         (Files): Move lib/tempname.c...
9812         * modules/tempname: ...to this new module.
9813         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
9814         (gl_PREREQ_TEMPNAME): Move...
9815         * m4/tempname.m4: ...to this new file.
9816         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
9817         * modules/sys_stat (Depends-on): Add stat-macros.
9818         * lib/stat_.h (includes): Pick up stat macros.
9819         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
9820         if stat macros are broken.
9821         * lib/tempname.c (includes): No need to include "stat-macros.h".
9822         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
9823         (direxists, __path_search) [!_LIBC]: Don't compile these in
9824         gnulib; the tmpdir module covers that.
9825         * lib/tempname.h: New file.
9826
9827 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9828
9829         * COPYING: Explain how gnulib-tool converts licence headers.
9830         Almost all wording by Eric Blake.
9831
9832 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
9833
9834         * lib/mbchar.h (is_basic_table): Make read-only.
9835         * lib/mbchar.c (is_basic_table): Likewise.
9836         Reported by John Darrington.
9837
9838 2006-10-25  Bruno Haible  <bruno@clisp.org>
9839
9840         * lib/progname.h (set_program_name): Undefine before defining.
9841
9842 2006-10-25  Bruno Haible  <bruno@clisp.org>
9843
9844         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
9845         false for non-gcc C++ compilers.
9846         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
9847
9848 2006-10-24  Bruno Haible  <bruno@clisp.org>
9849
9850         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
9851         iconv implementations like Irix iconv.
9852
9853 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
9854
9855         * modules/vararrays: New file.
9856         * m4/vararrays.m4: New file, taken from diffutils.
9857         * MODULES.html.sh: New module vararrays.
9858
9859 2006-10-24  Karl Berry  <karl@gnu.org>
9860
9861         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
9862         Don't call GNU Unix.
9863
9864 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9865
9866         * users.txt: Add Libtool.
9867
9868         Sync from Libtool:
9869
9870         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
9871
9872         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
9873         to gnulib's policy of including config.h unconditionally.
9874
9875 2006-10-24  Bruno Haible  <bruno@clisp.org>
9876
9877         * modules/wcwidth (Files): Add m4/wint_t.m4.
9878         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
9879         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
9880
9881 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
9882
9883         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
9884         to pacify GCC with some -W flags enabled.  Problem reported by
9885         Bruno Haible.
9886
9887 2006-10-24  Jim Meyering  <jim@meyering.net>
9888
9889         * MODULES.html.sh: Remove uinttostr.  It's not a module.
9890         Reported by Karl Berry.
9891
9892 2006-10-23  Bruno Haible  <bruno@clisp.org>
9893
9894         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
9895
9896 2006-10-24  Bruno Haible  <bruno@clisp.org>
9897
9898         * lib/gl_list.h: Use C comment style, not C++ comment style.
9899
9900 2006-10-23  Eric Blake  <ebb9@byu.net>
9901
9902         * lib/getaddrinfo.c (includes): Add missing include.
9903
9904 2006-10-23  Bruno Haible  <bruno@clisp.org>
9905             Paul Eggert  <eggert@cs.ucla.edu>
9906
9907         Ability to rename obstack_free.
9908         * lib/obstack.h (__obstack_free): New macro. Declare instead of
9909         obstack_free.
9910         (obstack_free): Invoke the __obstack_free macro.
9911         * lib/obstack.c (obstack_free): Use __obstack_free macro.
9912
9913 2006-10-23  Bruno Haible  <bruno@clisp.org>
9914             Paul Eggert  <eggert@cs.ucla.edu>
9915
9916         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
9917         __argc, __argv from the declaration. (They are defined as macros on
9918         mingw.)
9919
9920 2006-10-22  Bruno Haible  <bruno@clisp.org>
9921
9922         * doc/gnulib-intro.texi: New file.
9923         * doc/gnulib.texi: Include it.
9924
9925 2006-10-21  Bruno Haible  <bruno@clisp.org>
9926
9927         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
9928         "Introduction", "Miscellanous Notes", "Particular Modules".
9929
9930 2006-10-21  Bruno Haible  <bruno@clisp.org>
9931
9932         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
9933         Change mostlyclean-local rule to avoid sh syntax error from bash
9934         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
9935
9936 2006-10-23  Jim Meyering  <jim@meyering.net>
9937
9938         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
9939         in place of snprintf.
9940
9941         * modules/inttostr (Files): Add lib/uinttostr.c.
9942         * lib/uinttostr.c (inttostr): New file/function.
9943         * lib/inttostr.h (uinttostr): Declare.
9944         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
9945         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
9946         Add uinttostr.
9947         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
9948
9949 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9950
9951         * lib/canonicalize.c (ELOOP): Define if not already defined.
9952         Problem reported by Bruno Haible in
9953         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
9954
9955 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
9956
9957         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
9958         Problem reported by Perry Smith and Ville Laurikari.
9959
9960         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
9961         uses.
9962
9963 2006-10-19  Bruno Haible  <bruno@clisp.org>
9964
9965         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
9966         for mingw.
9967
9968 2006-10-19  Bruno Haible  <bruno@clisp.org>
9969
9970         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
9971         Needed for mingw.
9972
9973 2006-10-19  Bruno Haible  <bruno@clisp.org>
9974
9975         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
9976
9977 2006-10-19  Bruno Haible  <bruno@clisp.org>
9978
9979         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
9980         it.
9981
9982 2006-10-19  Bruno Haible  <bruno@clisp.org>
9983
9984         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
9985         invocation.
9986
9987 2006-10-19  Bruno Haible  <bruno@clisp.org>
9988
9989         * gnulib-tool (func_create_testdir): Don't include ftruncate and
9990         mountlist by default.
9991
9992 2006-10-16  Bruno Haible  <bruno@clisp.org>
9993
9994         * lib/c-strstr.c: Include c-strstr.h.
9995
9996 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
9997
9998         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
9999         in a slash.
10000
10001 2006-10-18  Bruno Haible  <bruno@clisp.org>
10002
10003         * lib/lock.h [C++]: Wrap definitions in extern "C".
10004
10005 2006-10-18  Bruno Haible  <bruno@clisp.org>
10006
10007         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
10008         gl_LIBOBJS list.
10009
10010 2006-10-18  Bruno Haible  <bruno@clisp.org>
10011
10012         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
10013
10014 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
10015
10016         * lib/xstrtol.h: Include gettext.h.
10017         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
10018         Problem reported by Eric Blake.
10019         * modules/xstrtol (Depends-on): Add gettext-h.
10020
10021 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
10022
10023         * lib/strftime.c (advance): New macro.
10024         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
10025         incomplete type, so you can't add 0 to it.  Problem and patch
10026         reported by Eelco Dolstra for dietlibc.
10027
10028 2006-10-18  Jim Meyering  <jim@meyering.net>
10029
10030         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
10031         type for a local, and rename it: s/up/user_proc/.
10032
10033 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
10034
10035         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
10036         READ_UTMP_USER_PROCESS.
10037         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
10038
10039 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
10040
10041         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
10042         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
10043
10044 2006-10-17  Eric Blake  <ebb9@byu.net>
10045
10046         * lib/sigprocmask.c (sigprocmask): Fix typo.
10047
10048         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
10049
10050         * modules/clean-temp (Makefile.am): Don't add to make output...
10051         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
10052         config.h.
10053
10054 2006-10-17  Bruno Haible  <bruno@clisp.org>
10055
10056         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
10057         differently if DEFAULT_TEXT_DOMAIN is set.
10058
10059 2006-10-16  Bruno Haible  <bruno@clisp.org>
10060
10061         * lib/clean-temp.c: Include fwriteerror.h.
10062
10063 2006-10-16  Bruno Haible  <bruno@clisp.org>
10064
10065         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
10066
10067 2006-10-16  Bruno Haible  <bruno@clisp.org>
10068
10069         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
10070         * lib/sigprocmask.h: Include <sys/types.h>.
10071         (sigset_t): Use the system's definition if present.
10072
10073 2006-10-17  Eric Blake  <ebb9@byu.net>
10074
10075         * lib/xvasprintf.c (includes): Assume config.h.
10076         * lib/xasprintf.c (includes): Likewise.
10077
10078 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
10079
10080         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
10081         at least as wide as intmax_t.
10082
10083 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
10084
10085         (Imported from Automake.)
10086         * build-aux/gnupload: Update to version 1.1 of directive file.
10087
10088 2006-10-16  Eric Blake  <ebb9@byu.net>
10089
10090         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
10091         match Automake 1.10a.
10092
10093 2006-10-14  Bruno Haible  <bruno@clisp.org>
10094
10095         * modules/sigprocmask: New file.
10096         * lib/sigprocmask.h: New file.
10097         * lib/sigprocmask.c: New file.
10098         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
10099         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
10100         request sigprocmask.o.
10101         (gl_PREREQ_SIGPROCMASK): New macro.
10102         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
10103         (Depends-on): Add sigprocmask.
10104         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
10105         gt_SIGNALBLOCKING. Test for 'raise' only once.
10106         * lib/fatal-signal.c: Include sigprocmask.h.
10107         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
10108         unblock_fatal_signals): Define always.
10109         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
10110         sigprocmask.
10111
10112 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
10113
10114         Sync from Automake.
10115         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
10116         which incorrectly sets the mode of an existing destination
10117         directory.  In some cases the unpatched install-sh could do the
10118         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
10119         system.  We hope this is rare in practice, but it's clearly worth
10120         fixing.  Problem reported by Alex Unleashed in
10121         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
10122         Also, don't bother to check for -m bugs unless we're using -m;
10123         suggested by Stepan Kasal.
10124
10125 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10126
10127         Sync from Automake.
10128         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
10129         `-c' flag, so they appear at the same position as in %FASTDEP%
10130         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
10131         which ignores unknown options only after the first non-option.
10132         Bug report against M4 by Nelson H. F. Beebe.
10133
10134 2006-10-13  Jim Meyering  <jim@meyering.net>
10135
10136         Fix a bug in yesterday's change.
10137         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
10138         p->fts_statp->st_dev would be used uninitialized.
10139         Ensures that we always call fts_stat on the very first entry.
10140         Miklos Szeredi reported that find -xdev stopped working.
10141
10142 2006-10-12  Bruno Haible  <bruno@clisp.org>
10143
10144         * gnulib-tool (func_get_automake_snippet): Append an automatically
10145         computed EXTRA_DIST augmentation.
10146         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
10147         * modules/alloca-opt (Makefile.am): Likewise.
10148         * modules/allocsa (Makefile.am): Likewise.
10149         * modules/arcfour (Makefile.am): Likewise.
10150         * modules/arctwo (Makefile.am): Likewise.
10151         * modules/argmatch (Makefile.am): Likewise.
10152         * modules/argz (Makefile.am): Likewise.
10153         * modules/atexit (Makefile.am): Likewise.
10154         * modules/backupfile (Makefile.am): Likewise.
10155         * modules/byteswap (Makefile.am): Likewise.
10156         * modules/c-strtod (Makefile.am): Likewise.
10157         * modules/c-strtold (Makefile.am): Likewise.
10158         * modules/calloc (Makefile.am): Likewise.
10159         * modules/canon-host (Makefile.am): Likewise.
10160         * modules/canonicalize (Makefile.am): Likewise.
10161         * modules/chdir-long (Makefile.am): Likewise.
10162         * modules/chdir-safer (Makefile.am): Likewise.
10163         * modules/check-version (Makefile.am): Likewise.
10164         * modules/chown (Makefile.am): Likewise.
10165         * modules/cloexec (Makefile.am): Likewise.
10166         * modules/close-stream (Makefile.am): Likewise.
10167         * modules/closeout (Makefile.am): Likewise.
10168         * modules/crc (Makefile.am): Likewise.
10169         * modules/csharpexec (Makefile.am): Likewise.
10170         * modules/cycle-check (Makefile.am): Likewise.
10171         * modules/des (Makefile.am): Likewise.
10172         * modules/dev-ino (Makefile.am): Likewise.
10173         * modules/dirfd (Makefile.am): Likewise.
10174         * modules/dirname (Makefile.am): Likewise.
10175         * modules/dup2 (Makefile.am): Likewise.
10176         * modules/eealloc (Makefile.am): Likewise.
10177         * modules/error (Makefile.am): Likewise.
10178         * modules/euidaccess (Makefile.am): Likewise.
10179         * modules/exclude (Makefile.am): Likewise.
10180         * modules/exitfail (Makefile.am): Likewise.
10181         * modules/fcntl-safer (Makefile.am): Likewise.
10182         * modules/fcntl (Makefile.am): Likewise.
10183         * modules/file-type (Makefile.am): Likewise.
10184         * modules/fileblocks (Makefile.am): Likewise.
10185         * modules/filemode (Makefile.am): Likewise.
10186         * modules/filenamecat (Makefile.am): Likewise.
10187         * modules/fnmatch (Makefile.am): Likewise.
10188         * modules/fopen-safer (Makefile.am): Likewise.
10189         * modules/fpending (Makefile.am): Likewise.
10190         * modules/fprintftime (Makefile.am): Likewise.
10191         * modules/free (Makefile.am): Likewise.
10192         * modules/fsusage (Makefile.am): Likewise.
10193         * modules/ftruncate (Makefile.am): Likewise.
10194         * modules/fts (Makefile.am): Likewise.
10195         * modules/gc-arcfour (Makefile.am): Likewise.
10196         * modules/gc-des (Makefile.am): Likewise.
10197         * modules/gc-hmac-md5 (Makefile.am): Likewise.
10198         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
10199         * modules/gc-md4 (Makefile.am): Likewise.
10200         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
10201         * modules/gc-sha1 (Makefile.am): Likewise.
10202         * modules/gc (Makefile.am): Likewise.
10203         * modules/getaddrinfo (Makefile.am): Likewise.
10204         * modules/getcwd (Makefile.am): Likewise.
10205         * modules/getdelim (Makefile.am): Likewise.
10206         * modules/getdomainname (Makefile.am): Likewise.
10207         * modules/getgroups (Makefile.am): Likewise.
10208         * modules/gethostname (Makefile.am): Likewise.
10209         * modules/gethrxtime (Makefile.am): Likewise.
10210         * modules/getline (Makefile.am): Likewise.
10211         * modules/getloadavg (Makefile.am): Likewise.
10212         * modules/getlogin_r (Makefile.am): Likewise.
10213         * modules/getndelim2 (Makefile.am): Likewise.
10214         * modules/getopt (Makefile.am): Likewise.
10215         * modules/getpagesize (Makefile.am): Likewise.
10216         * modules/getpass-gnu (Makefile.am): Likewise.
10217         * modules/getpass (Makefile.am): Likewise.
10218         * modules/getsubopt (Makefile.am): Likewise.
10219         * modules/gettime (Makefile.am): Likewise.
10220         * modules/gettimeofday (Makefile.am): Likewise.
10221         * modules/getugroups (Makefile.am): Likewise.
10222         * modules/getusershell (Makefile.am): Likewise.
10223         * modules/glob (Makefile.am): Likewise.
10224         * modules/group-member (Makefile.am): Likewise.
10225         * modules/hard-locale (Makefile.am): Likewise.
10226         * modules/hash (Makefile.am): Likewise.
10227         * modules/hmac-md5 (Makefile.am): Likewise.
10228         * modules/hmac-sha1 (Makefile.am): Likewise.
10229         * modules/human (Makefile.am): Likewise.
10230         * modules/idcache (Makefile.am): Likewise.
10231         * modules/imaxabs (Makefile.am): Likewise.
10232         * modules/imaxdiv (Makefile.am): Likewise.
10233         * modules/inet_ntop (Makefile.am): Likewise.
10234         * modules/inet_pton (Makefile.am): Likewise.
10235         * modules/intprops (Makefile.am): Likewise.
10236         * modules/inttostr (Makefile.am): Likewise.
10237         * modules/inttypes (Makefile.am): Likewise.
10238         * modules/isapipe (Makefile.am): Likewise.
10239         * modules/javaversion (Makefile.am): Likewise.
10240         * modules/lchmod (Makefile.am): Likewise.
10241         * modules/lchown (Makefile.am): Likewise.
10242         * modules/localcharset (Makefile.am): Likewise.
10243         * modules/long-options (Makefile.am): Likewise.
10244         * modules/lstat (Makefile.am): Likewise.
10245         * modules/malloc (Makefile.am): Likewise.
10246         * modules/mathl (Makefile.am): Likewise.
10247         * modules/mbchar (Makefile.am): Likewise.
10248         * modules/md2 (Makefile.am): Likewise.
10249         * modules/md4 (Makefile.am): Likewise.
10250         * modules/md5 (Makefile.am): Likewise.
10251         * modules/memcasecmp (Makefile.am): Likewise.
10252         * modules/memchr (Makefile.am): Likewise.
10253         * modules/memcmp (Makefile.am): Likewise.
10254         * modules/memcoll (Makefile.am): Likewise.
10255         * modules/memcpy (Makefile.am): Likewise.
10256         * modules/memmem (Makefile.am): Likewise.
10257         * modules/memmove (Makefile.am): Likewise.
10258         * modules/mempcpy (Makefile.am): Likewise.
10259         * modules/memrchr (Makefile.am): Likewise.
10260         * modules/memset (Makefile.am): Likewise.
10261         * modules/memxor (Makefile.am): Likewise.
10262         * modules/mkancesdirs (Makefile.am): Likewise.
10263         * modules/mkdir-p (Makefile.am): Likewise.
10264         * modules/mkdir (Makefile.am): Likewise.
10265         * modules/mkdtemp (Makefile.am): Likewise.
10266         * modules/mkstemp (Makefile.am): Likewise.
10267         * modules/mktime (Makefile.am): Likewise.
10268         * modules/modechange (Makefile.am): Likewise.
10269         * modules/mountlist (Makefile.am): Likewise.
10270         * modules/nanosleep (Makefile.am): Likewise.
10271         * modules/obstack (Makefile.am): Likewise.
10272         * modules/openat (Makefile.am): Likewise.
10273         * modules/pagealign_alloc (Makefile.am): Likewise.
10274         * modules/pathmax (Makefile.am): Likewise.
10275         * modules/physmem (Makefile.am): Likewise.
10276         * modules/poll (Makefile.am): Likewise.
10277         * modules/posixtm (Makefile.am): Likewise.
10278         * modules/posixver (Makefile.am): Likewise.
10279         * modules/putenv (Makefile.am): Likewise.
10280         * modules/quote (Makefile.am): Likewise.
10281         * modules/quotearg (Makefile.am): Likewise.
10282         * modules/raise (Makefile.am): Likewise.
10283         * modules/read-file (Makefile.am): Likewise.
10284         * modules/readline (Makefile.am): Likewise.
10285         * modules/readlink (Makefile.am): Likewise.
10286         * modules/readtokens (Makefile.am): Likewise.
10287         * modules/readutmp (Makefile.am): Likewise.
10288         * modules/realloc (Makefile.am): Likewise.
10289         * modules/regex (Makefile.am): Likewise.
10290         * modules/rename-dest-slash (Makefile.am): Likewise.
10291         * modules/rename (Makefile.am): Likewise.
10292         * modules/rijndael (Makefile.am): Likewise.
10293         * modules/rmdir (Makefile.am): Likewise.
10294         * modules/rpmatch (Makefile.am): Likewise.
10295         * modules/safe-read (Makefile.am): Likewise.
10296         * modules/safe-write (Makefile.am): Likewise.
10297         * modules/same-inode (Makefile.am): Likewise.
10298         * modules/same (Makefile.am): Likewise.
10299         * modules/save-cwd (Makefile.am): Likewise.
10300         * modules/savedir (Makefile.am): Likewise.
10301         * modules/setenv (Makefile.am): Likewise.
10302         * modules/settime (Makefile.am): Likewise.
10303         * modules/sha1 (Makefile.am): Likewise.
10304         * modules/sig2str (Makefile.am): Likewise.
10305         * modules/snprintf (Makefile.am): Likewise.
10306         * modules/stat-macros (Makefile.am): Likewise.
10307         * modules/stat-time (Makefile.am): Likewise.
10308         * modules/stdbool (Makefile.am): Likewise.
10309         * modules/stdint (Makefile.am): Likewise.
10310         * modules/stdlib-safer (Makefile.am): Likewise.
10311         * modules/stpcpy (Makefile.am): Likewise.
10312         * modules/stpncpy (Makefile.am): Likewise.
10313         * modules/strcase (Makefile.am): Likewise.
10314         * modules/strcasestr (Makefile.am): Likewise.
10315         * modules/strchrnul (Makefile.am): Likewise.
10316         * modules/strcspn (Makefile.am): Likewise.
10317         * modules/strdup (Makefile.am): Likewise.
10318         * modules/strerror (Makefile.am): Likewise.
10319         * modules/strftime (Makefile.am): Likewise.
10320         * modules/strndup (Makefile.am): Likewise.
10321         * modules/strnlen (Makefile.am): Likewise.
10322         * modules/strpbrk (Makefile.am): Likewise.
10323         * modules/strsep (Makefile.am): Likewise.
10324         * modules/strstr (Makefile.am): Likewise.
10325         * modules/strtod (Makefile.am): Likewise.
10326         * modules/strtoimax (Makefile.am): Likewise.
10327         * modules/strtok_r (Makefile.am): Likewise.
10328         * modules/strtol (Makefile.am): Likewise.
10329         * modules/strtoll (Makefile.am): Likewise.
10330         * modules/strtoul (Makefile.am): Likewise.
10331         * modules/strtoull (Makefile.am): Likewise.
10332         * modules/strtoumax (Makefile.am): Likewise.
10333         * modules/strverscmp (Makefile.am): Likewise.
10334         * modules/sys_socket (Makefile.am): Likewise.
10335         * modules/sys_stat (Makefile.am): Likewise.
10336         * modules/sysexits (Makefile.am): Likewise.
10337         * modules/time_r (Makefile.am): Likewise.
10338         * modules/timegm (Makefile.am): Likewise.
10339         * modules/timespec (Makefile.am): Likewise.
10340         * modules/tmpfile-safer (Makefile.am): Likewise.
10341         * modules/trim (Makefile.am): Likewise.
10342         * modules/unistd-safer (Makefile.am): Likewise.
10343         * modules/unlinkdir (Makefile.am): Likewise.
10344         * modules/unlocked-io (Makefile.am): Likewise.
10345         * modules/userspec (Makefile.am): Likewise.
10346         * modules/utime (Makefile.am): Likewise.
10347         * modules/utimecmp (Makefile.am): Likewise.
10348         * modules/utimens (Makefile.am): Likewise.
10349         * modules/vasnprintf (Makefile.am): Likewise.
10350         * modules/vasprintf (Makefile.am): Likewise.
10351         * modules/vsnprintf (Makefile.am): Likewise.
10352         * modules/xalloc (Makefile.am): Likewise.
10353         * modules/xgetcwd (Makefile.am): Likewise.
10354         * modules/xnanosleep (Makefile.am): Likewise.
10355         * modules/xreadlink (Makefile.am): Likewise.
10356         * modules/xstrtod (Makefile.am): Likewise.
10357         * modules/xstrtol (Makefile.am): Likewise.
10358         * modules/xstrtold (Makefile.am): Likewise.
10359         * modules/yesno (Makefile.am): Likewise.
10360         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
10361
10362 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
10363
10364         * modules/error (Makefile.am): Distribute files through
10365         EXTRA_DIST, not lib_SOURCES.
10366
10367 2006-10-12  Eric Blake  <ebb9@byu.net>
10368
10369         * modules/error (Makefile.am): Distribute files in /lib.
10370         * modules/obstack (Makefile.am): Likewise.
10371
10372 2006-10-12  Bruno Haible  <bruno@clisp.org>
10373
10374         * modules/acl (Makefile.am): Distribute all files in lib/ through
10375         EXTRA_DIST.
10376         * modules/arcfour (Makefile.am): Likewise.
10377         * modules/arctwo (Makefile.am): Likewise.
10378         * modules/argmatch (Makefile.am): Likewise.
10379         * modules/argz (Makefile.am): Likewise.
10380         * modules/atexit (Makefile.am): Likewise.
10381         * modules/backupfile (Makefile.am): Likewise.
10382         * modules/c-strtod (Makefile.am): Likewise.
10383         * modules/c-strtold (Makefile.am): Likewise.
10384         * modules/calloc (Makefile.am): Likewise.
10385         * modules/canon-host (Makefile.am): Likewise.
10386         * modules/canonicalize (Makefile.am): Likewise.
10387         * modules/chdir-long (Makefile.am): Likewise.
10388         * modules/chdir-safer (Makefile.am): Likewise.
10389         * modules/check-version (Makefile.am): Likewise.
10390         * modules/chown (Makefile.am): Likewise.
10391         * modules/cloexec (Makefile.am): Likewise.
10392         * modules/close-stream (Makefile.am): Likewise.
10393         * modules/closeout (Makefile.am): Likewise.
10394         * modules/crc (Makefile.am): Likewise.
10395         * modules/cycle-check (Makefile.am): Likewise.
10396         * modules/des (Makefile.am): Likewise.
10397         * modules/dirfd (Makefile.am): Likewise.
10398         * modules/dirname (Makefile.am): Likewise.
10399         * modules/dup2 (Makefile.am): Likewise.
10400         * modules/euidaccess (Makefile.am): Likewise.
10401         * modules/exclude (Makefile.am): Likewise.
10402         * modules/exitfail (Makefile.am): Likewise.
10403         * modules/fcntl-safer (Makefile.am): Likewise.
10404         * modules/file-type (Makefile.am): Likewise.
10405         * modules/fileblocks (Makefile.am): Likewise.
10406         * modules/filemode (Makefile.am): Likewise.
10407         * modules/filenamecat (Makefile.am): Likewise.
10408         * modules/fnmatch (Makefile.am): Likewise.
10409         * modules/fopen-safer (Makefile.am): Likewise.
10410         * modules/fpending (Makefile.am): Likewise.
10411         * modules/fprintftime (Makefile.am): Likewise.
10412         * modules/free (Makefile.am): Likewise.
10413         * modules/fsusage (Makefile.am): Likewise.
10414         * modules/ftruncate (Makefile.am): Likewise.
10415         * modules/fts (Makefile.am): Likewise.
10416         * modules/gc (Makefile.am): Likewise.
10417         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
10418         * modules/getaddrinfo (Makefile.am): Likewise.
10419         * modules/getcwd (Makefile.am): Likewise.
10420         * modules/getdelim (Makefile.am): Likewise.
10421         * modules/getdomainname (Makefile.am): Likewise.
10422         * modules/getgroups (Makefile.am): Likewise.
10423         * modules/gethostname (Makefile.am): Likewise.
10424         * modules/gethrxtime (Makefile.am): Likewise.
10425         * modules/getline (Makefile.am): Likewise.
10426         * modules/getloadavg (Makefile.am): Likewise.
10427         * modules/getlogin_r (Makefile.am): Likewise.
10428         * modules/getopt (Makefile.am): Likewise.
10429         * modules/getpass (Makefile.am): Likewise.
10430         * modules/getpass-gnu (Makefile.am): Likewise.
10431         * modules/getsubopt (Makefile.am): Likewise.
10432         * modules/gettime (Makefile.am): Likewise.
10433         * modules/gettimeofday (Makefile.am): Likewise.
10434         * modules/getugroups (Makefile.am): Likewise.
10435         * modules/getusershell (Makefile.am): Likewise.
10436         * modules/glob (Makefile.am): Likewise.
10437         * modules/group-member (Makefile.am): Likewise.
10438         * modules/hard-locale (Makefile.am): Likewise.
10439         * modules/hash (Makefile.am): Likewise.
10440         * modules/hmac-md5 (Makefile.am): Likewise.
10441         * modules/hmac-sha1 (Makefile.am): Likewise.
10442         * modules/human (Makefile.am): Likewise.
10443         * modules/idcache (Makefile.am): Likewise.
10444         * modules/imaxabs (Makefile.am): Likewise.
10445         * modules/imaxdiv (Makefile.am): Likewise.
10446         * modules/inet_ntop (Makefile.am): Likewise.
10447         * modules/inet_pton (Makefile.am): Likewise.
10448         * modules/inttostr (Makefile.am): Likewise.
10449         * modules/isapipe (Makefile.am): Likewise.
10450         * modules/lchown (Makefile.am): Likewise.
10451         * modules/long-options (Makefile.am): Likewise.
10452         * modules/lstat (Makefile.am): Likewise.
10453         * modules/malloc (Makefile.am): Likewise.
10454         * modules/mathl (Makefile.am): Likewise.
10455         * modules/mbchar (Makefile.am): Likewise.
10456         * modules/md2 (Makefile.am): Likewise.
10457         * modules/md4 (Makefile.am): Likewise.
10458         * modules/md5 (Makefile.am): Likewise.
10459         * modules/memcasecmp (Makefile.am): Likewise.
10460         * modules/memchr (Makefile.am): Likewise.
10461         * modules/memcmp (Makefile.am): Likewise.
10462         * modules/memcoll (Makefile.am): Likewise.
10463         * modules/memcpy (Makefile.am): Likewise.
10464         * modules/memmem (Makefile.am): Likewise.
10465         * modules/memmove (Makefile.am): Likewise.
10466         * modules/mempcpy (Makefile.am): Likewise.
10467         * modules/memrchr (Makefile.am): Likewise.
10468         * modules/memset (Makefile.am): Likewise.
10469         * modules/memxor (Makefile.am): Likewise.
10470         * modules/mkancesdirs (Makefile.am): Likewise.
10471         * modules/mkdir (Makefile.am): Likewise.
10472         * modules/mkdir-p (Makefile.am): Likewise.
10473         * modules/mkdtemp (Makefile.am): Likewise.
10474         * modules/mkstemp (Makefile.am): Likewise.
10475         * modules/mktime (Makefile.am): Likewise.
10476         * modules/modechange (Makefile.am): Likewise.
10477         * modules/mountlist (Makefile.am): Likewise.
10478         * modules/nanosleep (Makefile.am): Likewise.
10479         * modules/openat (Makefile.am): Likewise.
10480         * modules/pagealign_alloc (Makefile.am): Likewise.
10481         * modules/physmem (Makefile.am): Likewise.
10482         * modules/poll (Makefile.am): Likewise.
10483         * modules/posixtm (Makefile.am): Likewise.
10484         * modules/posixver (Makefile.am): Likewise.
10485         * modules/putenv (Makefile.am): Likewise.
10486         * modules/quote (Makefile.am): Likewise.
10487         * modules/quotearg (Makefile.am): Likewise.
10488         * modules/raise (Makefile.am): Likewise.
10489         * modules/read-file (Makefile.am): Likewise.
10490         * modules/readline (Makefile.am): Likewise.
10491         * modules/readlink (Makefile.am): Likewise.
10492         * modules/readtokens (Makefile.am): Likewise.
10493         * modules/readutmp (Makefile.am): Likewise.
10494         * modules/realloc (Makefile.am): Likewise.
10495         * modules/regex (Makefile.am): Likewise.
10496         * modules/rename (Makefile.am): Likewise.
10497         * modules/rename-dest-slash (Makefile.am): Likewise.
10498         * modules/rijndael (Makefile.am): Likewise.
10499         * modules/rmdir (Makefile.am): Likewise.
10500         * modules/rpmatch (Makefile.am): Likewise.
10501         * modules/safe-read (Makefile.am): Likewise.
10502         * modules/safe-write (Makefile.am): Likewise.
10503         * modules/same (Makefile.am): Likewise.
10504         * modules/save-cwd (Makefile.am): Likewise.
10505         * modules/savedir (Makefile.am): Likewise.
10506         * modules/setenv (Makefile.am): Likewise.
10507         * modules/settime (Makefile.am): Likewise.
10508         * modules/sha1 (Makefile.am): Likewise.
10509         * modules/sig2str (Makefile.am): Likewise.
10510         * modules/snprintf (Makefile.am): Likewise.
10511         * modules/stdlib-safer (Makefile.am): Likewise.
10512         * modules/stpcpy (Makefile.am): Likewise.
10513         * modules/stpncpy (Makefile.am): Likewise.
10514         * modules/strcase (Makefile.am): Likewise.
10515         * modules/strcasestr (Makefile.am): Likewise.
10516         * modules/strchrnul (Makefile.am): Likewise.
10517         * modules/strcspn (Makefile.am): Likewise.
10518         * modules/strdup (Makefile.am): Likewise.
10519         * modules/strerror (Makefile.am): Likewise.
10520         * modules/strftime (Makefile.am): Likewise.
10521         * modules/strndup (Makefile.am): Likewise.
10522         * modules/strnlen (Makefile.am): Likewise.
10523         * modules/strpbrk (Makefile.am): Likewise.
10524         * modules/strsep (Makefile.am): Likewise.
10525         * modules/strstr (Makefile.am): Likewise.
10526         * modules/strtod (Makefile.am): Likewise.
10527         * modules/strtoimax (Makefile.am): Likewise.
10528         * modules/strtok_r (Makefile.am): Likewise.
10529         * modules/strtol (Makefile.am): Likewise.
10530         * modules/strtoll (Makefile.am): Likewise.
10531         * modules/strtoul (Makefile.am): Likewise.
10532         * modules/strtoull (Makefile.am): Likewise.
10533         * modules/strtoumax (Makefile.am): Likewise.
10534         * modules/strverscmp (Makefile.am): Likewise.
10535         * modules/time_r (Makefile.am): Likewise.
10536         * modules/timegm (Makefile.am): Likewise.
10537         * modules/tmpfile-safer (Makefile.am): Likewise.
10538         * modules/unistd-safer (Makefile.am): Likewise.
10539         * modules/unlinkdir (Makefile.am): Likewise.
10540         * modules/userspec (Makefile.am): Likewise.
10541         * modules/utime (Makefile.am): Likewise.
10542         * modules/utimecmp (Makefile.am): Likewise.
10543         * modules/utimens (Makefile.am): Likewise.
10544         * modules/vasnprintf (Makefile.am): Likewise.
10545         * modules/vasprintf (Makefile.am): Likewise.
10546         * modules/vsnprintf (Makefile.am): Likewise.
10547         * modules/xalloc (Makefile.am): Likewise.
10548         * modules/xgetcwd (Makefile.am): Likewise.
10549         * modules/xnanosleep (Makefile.am): Likewise.
10550         * modules/xreadlink (Makefile.am): Likewise.
10551         * modules/xstrtod (Makefile.am): Likewise.
10552         * modules/xstrtol (Makefile.am): Likewise.
10553         * modules/xstrtold (Makefile.am): Likewise.
10554         * modules/yesno (Makefile.am): Likewise.
10555
10556 2006-10-12  Jim Meyering  <jim@meyering.net>
10557
10558         * m4/getloadavg.m4: Revert the change below.
10559
10560         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
10561         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
10562         fail with a symlink, which is what coreutils' ./bootstrap now
10563         creates by default.
10564
10565 2006-10-12  Bruno Haible  <bruno@clisp.org>
10566
10567         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
10568         mingw.
10569         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
10570         MSVC and mingw explicitly.
10571
10572 2006-10-11  Simon Josefsson  <jas@extundo.com>
10573             Bruno Haible  <bruno@clisp.org>
10574
10575         Add support for multiple gnulib-tool invocations in the scope of a
10576         single configure.ac file.
10577         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
10578         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
10579         with the same contents as the _LIBADD variable.
10580         (func_emit_initmacro_start, func_emit_initmacro_end,
10581         func_emit_initmacro_done): New functions.
10582         (func_import, func_create_testdir): Invoke them. Allow the identifiers
10583         gl_LIBOBJS and gl_LTLIBOBJS.
10584
10585 2006-10-11  Bruno Haible  <bruno@clisp.org>
10586
10587         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
10588         (func_create_testdir): Don't create po/Makefile.am, don't invoke
10589         autoreconf. Instead, invoke autopoint explicitly but move back the
10590         *.m4 files from gnulib.
10591
10592 2006-10-11  Bruno Haible  <bruno@clisp.org>
10593
10594         * gnulib-tool (func_usage): Make module names after --create-testdir
10595         optional.
10596         (func_create_testdir): If no module was specified, use nearly all
10597         modules.
10598
10599 2006-10-12  Jim Meyering  <jim@meyering.net>
10600
10601         Big performance improvement for fts-based tools that use FTS_NOSTAT.
10602         Avoid spurious inode-mismatch problems on non-POSIX file systems.
10603         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
10604         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
10605         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
10606         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
10607         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
10608         (fts_set_stat_required): New function.
10609         (fts_open): Defer the calls to fts_stat, if possible or requested.
10610         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
10611         into fts_stat itself.
10612         (fts_read): Perform any required (deferred) fts_stat call.
10613         (fts_build): Likewise, for the directory we're about to open and read.
10614         In the readdir loop, carefully decide whether each entry will require
10615         an eventual call to fts_stat, using dirent.d_type info if available.
10616         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
10617         a command line argument into this function.  Update all callers.
10618         Map a return value of FTS_DOT to FTS_D for a command line argument.
10619         * modules/fts (Depends-on): Add d-type.  Alphabetize.
10620         Thanks to Miklos Szeredi for his tenacity and for the initial
10621         bug report about "find" failing on a FUSE-based file system.
10622
10623         * lib/fts.c (fts_open): Use consistent indentation.
10624
10625 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
10626
10627         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
10628         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
10629         reported by Jim Meyering.  All uses of cache variables renamed
10630         to match Autoconf's.
10631         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
10632         the other one.
10633
10634         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
10635         Fix misspelling in diagnostic.
10636
10637 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
10638
10639         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
10640         defined.  Problem reported by Matthew Woehlke.
10641
10642         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
10643         Add support for Tandem NonStop R series.
10644         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
10645         Use new macro.
10646
10647         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
10648         (has_trailing_slash): Omit size arg; all callers changed.
10649         Omit 'inline', since it doesn't help performance and we'd
10650         need to configure it.
10651         Don't count //, ///, etc. as having a trailing slash.
10652         As a side effect, this removes a C99ism reported by Matthew Woehlke.
10653         (rpl_rename_dest_slash): On failure, use rename's errno rather
10654         than (in some cases) an incorrect or junk errno.
10655         Simplify code by removing need to compute length; this does
10656         cause it to make two passes instead of one over the file name,
10657         but it's worth it.
10658
10659         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
10660         change, since Autoconf's version may no longer be appropriate now
10661         that we are using CVS Autoconf's version.  Add support for Tandem.
10662
10663 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
10664             Bruno Haible  <bruno@clisp.org>
10665
10666         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
10667         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
10668         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
10669         gl_AC_TYPE_LONG_LONG.
10670
10671         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
10672         instead of HAVE_LONG_LONG.
10673         * lib/printf-args.c (printf_fetchargs): Likewise.
10674         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
10675         * lib/vasnprintf.c (VASNPRINTF): Likewise.
10676         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
10677         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
10678         gl_AC_TYPE_LONG_LONG.
10679
10680 2006-10-11  Bruno Haible  <bruno@clisp.org>
10681
10682         * m4/longlong.m4: Add comments.
10683         * m4/ulonglong.m4: Likewise.
10684
10685 2006-10-10  Bruno Haible  <bruno@clisp.org>
10686
10687         Make it possible to #define stpcpy, strdup to aliases.
10688         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
10689         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
10690
10691 2006-10-10  Bruno Haible  <bruno@clisp.org>
10692
10693         Make it possible to #define gcd to an alias.
10694         * lib/gcd.c: Include config.h.
10695
10696 2006-10-10  Bruno Haible  <bruno@clisp.org>
10697
10698         Make it possible to #define c_isascii to an alias.
10699         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
10700         defined. Undefine the macros before defining them, to avoid gcc
10701         warnings.
10702         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
10703         define NO_C_CTYPE_MACROS early.
10704
10705 2006-10-10  Bruno Haible  <bruno@clisp.org>
10706
10707         Make it possible to #define set_program_name to an alias.
10708         * lib/progname.c: Don't undefine set_program_name; instead, undefine
10709         ENABLE_RELOCATABLE early.
10710
10711 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
10712
10713         Port to Tandem NSK OSS, which has 64-bit signed int but at most
10714         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
10715         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
10716         More generally, don't assume that 64-bit signed int is available
10717         if unsigned int is, and vice versa.
10718         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
10719         unsigned symbols, not on their signed counterparts.
10720         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
10721         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
10722         (UINT64_C, UINTMAX_C):
10723         Likewise.
10724         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
10725         unsigned counterparts.
10726         (Have_long_long, Unsigned): New macros.
10727         (Int): Renamed from INT.
10728         (strtoimax): Use the new macros.
10729         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
10730         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
10731         * modules/inttypes (inttypes.h): Substitute
10732         HAVE_UNSIGNED_LONG_LONG_INT.
10733         * modules/stdint (stdint.h): Likewise.
10734         (Files): Add m4/ulonglong.m4.
10735
10736 2006-10-10  Bruno Haible  <bruno@clisp.org>
10737
10738         Fix a gcc -Wshadow warning.
10739         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
10740         to 'bucket'.
10741         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
10742         gl_linked_indexof_from_to): Likewise.
10743         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
10744         Likewise.
10745         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
10746         Likewise.
10747         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
10748         Reported by Eric Blake.
10749
10750 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
10751
10752         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
10753         for NetBSD.  Problem reported by Bruno Haible.
10754
10755 2006-10-09  Jim Meyering  <jim@meyering.net>
10756
10757         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
10758         Patch from Bruno Haible.
10759
10760 2006-10-09  Jim Meyering  <jim@meyering.net>
10761
10762         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
10763         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
10764         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
10765
10766 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
10767
10768         Don't include <config.h> twice; this doesn't work in some cases,
10769         e.g., when config.h has "#define intmax_t long long int" and
10770         we include <config.h>, <inttypes.h>, <config.h> in that order.
10771         Problem reported by Matthew Woehlke in:
10772         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
10773         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
10774         * lib/fts-cycle.c: Don't include config.h.
10775         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
10776         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
10777         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
10778         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
10779         inttypes.h.
10780         * lib/xstrtoumax.c: Likewise.
10781         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
10782         __strtol and the like, so that this module is more like its siblings.
10783         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
10784         Remove; no longer needed now that we assume gnulib inttypes.h.
10785
10786 2006-10-08  Bruno Haible  <bruno@clisp.org>
10787
10788         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
10789         option.
10790
10791 2006-10-07  Jim Meyering  <jim@meyering.net>
10792
10793         * modules/inttypes (inttypes.h): Revert what seems to have been
10794         an inadvertent part of today's change: use "|", not "/" in the
10795         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
10796
10797 2006-10-07  Bruno Haible  <bruno@clisp.org>
10798
10799         * modules/sublist: New file.
10800
10801 2006-10-07  Bruno Haible  <bruno@clisp.org>
10802
10803         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
10804         * modules/argz (argz.h): Likewise.
10805         * modules/arpa_inet (arpa/inet.h): Likewise.
10806         * modules/byteswap (byteswap.h): Likewise.
10807         * modules/configmake (configmake.h): Likewise.
10808         * modules/fcntl (fcntl.h): Likewise.
10809         * modules/fnmatch (fnmatch.h): Likewise.
10810         * modules/getopt (getopt.h): Likewise.
10811         * modules/glob (glob.h): Likewise.
10812         * modules/inttypes (inttypes.h): Likewise.
10813         * modules/netinet_in (netinet/in.h): Likewise.
10814         * modules/poll (poll.h): Likewise.
10815         * modules/stdbool (stdbool.h): Likewise.
10816         * modules/stdint (stdint.h): Likewise.
10817         * modules/sys_select (sys/select.h): Likewise.
10818         * modules/sys_socket (sys/socket.h): Likewise.
10819         * modules/sys_stat (sys/stat.h): Likewise.
10820         * modules/sysexits (sysexits.h): Likewise.
10821         * modules/unistd (unistd.h): Likewise.
10822         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10823         Add a "DO NOT EDIT" comment to the generated file.
10824         (func_import): Likewise for gnulib-comp.m4.
10825
10826 2006-10-07  Bruno Haible  <bruno@clisp.org>
10827
10828         * lib/gl_sublist.h: New file.
10829         * lib/gl_sublist.c: New file.
10830
10831 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
10832
10833         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
10834         name (relative to the original working directory) and the file
10835         name component (relative to the temporary working directory).  All
10836         callers changed.
10837         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
10838         * lib/mkdir-p.c (make_dir_parents): Likewise.
10839         * lib/mkdir-p.h (make_dir_parents): Likewise.
10840
10841 2006-10-06  Eric Blake  <ebb9@byu.net>
10842
10843         Define several macros for use by the clean-temp module.
10844         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
10845         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
10846         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
10847
10848         * lib/clean-temp.h (close_stream_temp): New declaration.
10849         * lib/clean-temp.c (includes): Pull in headers according to what
10850         other modules are in use.
10851         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
10852
10853 2006-10-06  Bruno Haible  <bruno@clisp.org>
10854
10855         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
10856         instead of fopen, fwriteerror.
10857
10858 2006-10-06  Bruno Haible  <bruno@clisp.org>
10859
10860         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
10861         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
10862         int.
10863         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
10864         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
10865         Return an error indicator.
10866         Suggested by Eric Blake.
10867
10868 2006-10-06  Bruno Haible  <bruno@clisp.org>
10869
10870         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
10871         Reported by Eric Blake.
10872
10873 2006-10-06  Bruno Haible  <bruno@clisp.org>
10874
10875         * modules/closeout (Description): Mention stderr too.
10876
10877 2006-10-06  Bruno Haible  <bruno@clisp.org>
10878         and Paul Eggert  <eggert@cs.ucla.edu>
10879
10880         * lib/closeout.c (close_stdout): Also close stderr.
10881         * lib/closeout.h: Update comment.
10882
10883 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
10884
10885         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
10886         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
10887         * lib/dirchownmod.c: Include lchown.h.
10888         * lib/lchown.c: Don't include files that lchown.h now includes.
10889         Don't declare chown, since lchown.h now does that.
10890         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
10891         (lchown): Define to rpl_chown if lchown is declared but
10892         does not exist.  Declare using a prototype if lchown is not
10893         declared.  Add a copyright notice.
10894         * lib/mkstemp.h: Include <unistd.h>.
10895         * lib/openat.c: Include lchown.h.
10896
10897         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
10898         we now test for that separately.
10899         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
10900         rather than O_NOFOLLOW, when testing whether it's possible to
10901         avoid a race condition reliably.
10902         * lib/savewd.c (savewd_chdir): Likewise.
10903
10904         Remove macros that are no longer needed now that stdint.h is
10905         reliable.
10906         * lib/fsusage.c (UINTMAX_MAX): Remove.
10907         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
10908         * lib/utimecmp.c (SIZE_MAX): Remove.
10909
10910         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
10911
10912         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
10913         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
10914         O_NOATIME works.
10915
10916 2006-10-05  Bruno Haible  <bruno@clisp.org>
10917
10918         * lib/gl_list.h (gl_sortedlist_search_from_to,
10919         gl_sortedlist_indexof_from_to): New declarations.
10920         (gl_list_implementation): New fields sortedlist_search_from_to,
10921         sortedlist_indexof_from_to.
10922         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
10923         inline functions.
10924         * lib/gl_list.c (gl_sortedlist_search_from_to,
10925         gl_sortedlist_indexof_from_to): New functions.
10926         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
10927         function.
10928         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
10929         (gl_array_sortedlist_search_from_to): New function.
10930         (gl_array_list_implementation): Update.
10931         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
10932         function.
10933         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
10934         (gl_carray_sortedlist_search_from_to): New function.
10935         (gl_carray_list_implementation): Update.
10936         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
10937         gl_linked_sortedlist_indexof_from_to): New functions.
10938         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
10939         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
10940         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
10941         gl_tree_sortedlist_indexof_from_to): New functions.
10942         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
10943         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
10944         Update.
10945         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
10946         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
10947         Update.
10948
10949 2006-10-05  Bruno Haible  <bruno@clisp.org>
10950
10951         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
10952         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
10953         (struct gl_list_implementation): Add fields search_from_to,
10954         indexof_from_to. Remove fields search, indexof.
10955         (gl_list_search): Use the search_from_to method.
10956         (gl_list_search_from, gl_list_search_from_to): New functions.
10957         (gl_list_indexof): Use the indexof_from_to method.
10958         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
10959         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
10960         (gl_list_search_from, gl_list_search_from_to): New functions.
10961         (gl_list_indexof): Use the indexof_from_to method.
10962         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
10963         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
10964         gl_array_indexof. Add start_index, end_index arguments.
10965         (gl_array_search_from_to): Renamed from gl_array_search. Add
10966         start_index, end_index arguments.
10967         (gl_array_remove, gl_array_list_implementation): Update.
10968         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
10969         gl_carray_indexof. Add start_index, end_index arguments.
10970         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
10971         start_index, end_index arguments.
10972         (gl_carray_remove, gl_carray_list_implementation): Update.
10973         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
10974         gl_linked_search. Add start_index, end_index arguments.
10975         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
10976         start_index, end_index arguments.
10977         (gl_linked_remove): Update.
10978         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
10979         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
10980         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
10981         field to 'size_t'.
10982         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
10983         gl_tree_search. Add start_index, end_index arguments.
10984         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
10985         start_index, end_index arguments.
10986         (gl_tree_remove): Update.
10987         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
10988         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
10989         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
10990         function.
10991         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
10992         gl_tree_search. Add start_index, end_index arguments.
10993         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
10994         start_index, end_index arguments.
10995         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
10996         Update.
10997         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
10998
10999 2006-10-05  Bruno Haible  <bruno@clisp.org>
11000
11001         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
11002
11003         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
11004         fwriteerror_temp): New declarations.
11005         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
11006         (descriptors): New variable.
11007         (cleanup): First, close the descriptors.
11008         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
11009         fclose_temp, fwriteerror_temp): New functions.
11010
11011 2006-10-04  Jim Meyering  <jim@meyering.net>
11012
11013         * lib/fts.c (fts_open): Tiny comment change.
11014
11015 2006-10-04  Bruno Haible  <bruno@clisp.org>
11016
11017         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
11018         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
11019         gl_LOCK_BODY.
11020         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
11021         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
11022         gl_LOCK_EARLY_BODY.
11023         (gl_LOCK): Require gl_LOCK_BODY.
11024
11025 2006-10-04  Bruno Haible  <bruno@clisp.org>
11026
11027         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
11028         (gl_oset_search_atleast): New declaration.
11029         (struct gl_oset_implementation): Add field 'search_atleast'.
11030         (gl_oset_search_atleast): New inline function.
11031         * lib/gl_oset.c (gl_oset_search_atleast): New function.
11032         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
11033         (gl_array_oset_implementation): Update.
11034         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
11035         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
11036         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
11037
11038 2006-10-04  Bruno Haible  <bruno@clisp.org>
11039
11040         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
11041
11042 2006-10-03  Bruno Haible  <bruno@clisp.org>
11043
11044         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
11045         from gl_avltreehash_list_implementation.
11046
11047 2006-10-03  Bruno Haible  <bruno@clisp.org>
11048
11049         * lib/gl_oset.c (gl_oset_add): Fix return type.
11050
11051 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
11052
11053         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
11054
11055 2006-10-02  Eric Blake  <ebb9@byu.net>
11056
11057         * modules/strnlen (Depends-on): Add extensions.
11058
11059 2006-10-02  Eric Blake  <ebb9@byu.net>
11060
11061         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
11062         definition in 2.60+.
11063
11064 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
11065
11066         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
11067         checks.
11068
11069 2006-10-02  Bruno Haible  <bruno@clisp.org>
11070
11071         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
11072         to the AUTOMAKE_OPTIONS.
11073         Reported by Jim Meyering.
11074
11075 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
11076
11077         Work around bug in Solaris 10 /proc file system:
11078         /proc/self/fd/NNN/.. isn't the parent directory of
11079         the directory whose file descriptor is NNN.  This needs to
11080         be worked around at run time, not compile time, since a
11081         program might be built on Solaris 8, where things work, and
11082         run on Solaris 10.
11083         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
11084         to use the following interface instead:
11085         (OPENAT_BUFFER_SIZE): New macro.
11086         (openat_proc_name): New function.
11087         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
11088         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
11089         Likewise.
11090         * lib/openat-proc.c: New file.
11091         * modules/openat (Files): Add lib/openat-proc.c.
11092         (Depends-on): Add same-inode, stdbool.
11093         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
11094
11095 2006-09-29  Bruno Haible  <bruno@clisp.org>
11096
11097         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
11098         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
11099         argument. Set stdout_closed before testing for ferror, not after.
11100         (fwriteerror, fwriteerror_no_ebadf): New functions.
11101
11102 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11103
11104         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
11105
11106 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
11107
11108         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
11109         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
11110
11111 2006-09-28  Jim Meyering  <jim@meyering.net>
11112
11113         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
11114         Include <unistd.h>.
11115
11116 2006-09-28  Bruno Haible  <bruno@clisp.org>
11117
11118         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
11119         * modules/linkedhash-list (Depends-on): Likewise.
11120         * modules/rbtreehash-list (Depends-on): Likewise.
11121
11122 2006-09-28  Bruno Haible  <bruno@clisp.org>
11123
11124         * lib/strndup.h: Simplify the redefinition of strndup.
11125         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
11126         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
11127
11128 2006-09-28  Bruno Haible  <bruno@clisp.org>
11129
11130         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
11131         * lib/gl_linkedhash_list.c: Likewise.
11132         * lib/gl_rbtreehash_list.c: Likewise.
11133
11134 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
11135
11136         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
11137         getaddrinfo.
11138
11139         * lib/__fpending.h: Don't include <stdio_ext.h> unless
11140         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
11141         it causes <stdio_ext.h> to cause a compile-time error.
11142         Problem reported by Nelson H. F. Beebe.
11143         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
11144         of HAVE_DECL___PENDING.
11145
11146         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
11147         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
11148         declaration.
11149
11150 2006-09-27  Jim Meyering  <jim@meyering.net>
11151
11152         This file could end up with a definition for a function
11153         named __strndup, rather than rpl_strndup on a system with
11154         incomplete weak_alias support.
11155         * lib/strndup.c (strndup): Rename from __strndup.
11156         Remove #defines that used to map __strndup to strndup.
11157         Don't use K&R prototypes.
11158         Remove LIBC-related code, since this file is not sync'd with glibc.
11159         * lib/strndup.h: Revamp, accordingly.
11160         * m4/strndup.m4: Modernize.
11161
11162 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11163
11164         * modules/savewd (Depends-on): Add 'raise'.
11165         * lib/savewd.c: Include <signal.h>, for 'raise'.
11166
11167 2006-09-26  Jim Meyering  <jim@meyering.net>
11168
11169         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
11170         when we detect Darwin 8.7.0's acl_get_file bug.
11171         Rearrange to perform the new (below) run-test while $LIBS
11172         contains any acl-related library.  Set USE_ACL at the end.
11173         (gl_ACL_GET_FILE): New function.
11174
11175 2006-09-26  Eric Blake  <ebb9@byu.net>
11176
11177         * lib/verror.c: Include <config.h> unconditionally.
11178
11179 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
11180
11181         * modules/clock-time (Maintainer): Add self.
11182         * modules/getlogin_r (Depends-on): Add extensions.
11183
11184 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11185
11186         * modules/clock-time: New module.
11187         * modules/nanosleep (Depends-on): Add clock-time.
11188         * modules/gethrxtime (Depends-on): Likewise.
11189         * modules/gettime (Depends-on): Likewise.
11190         * modules/settime (Depends-on): Likewise.
11191
11192         * modules/fts-lgpl: Depend on openat.
11193         * modules/mkancesdirs: Depend on savewd.
11194         * modules/mkdir-p: Likewise.
11195
11196 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11197
11198         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
11199
11200         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
11201         `gl_have_arbitrary_file_name_length_limit' to
11202         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
11203         actually works between configure runs.
11204
11205 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11206             Bruno Haible  <bruno@clisp.org>
11207
11208         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
11209
11210 2006-09-25  Jim Meyering  <jim@meyering.net>
11211
11212         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
11213         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
11214
11215 2006-09-25  Eric Blake  <ebb9@byu.net>
11216
11217         * gnulib-tool (func_import, func_create_testdir): Fix typos in
11218         exec's in 2006-09-18 patch when shuffling fds.
11219
11220 2006-09-25  Bruno Haible  <bruno@clisp.org>
11221
11222         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
11223         Reported by Jim Meyering.
11224
11225 2006-09-24  Jim Meyering  <jim@meyering.net>
11226
11227         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
11228         compare a pointer against a literal "0".  That caused failures with
11229         at least HP-UX's hpcc.
11230
11231 2006-09-22  Simon Josefsson  <jas@extundo.com>
11232
11233         * modules/gc-sha1:
11234         * modules/gc-md4:
11235         * modules/gc-hmac-sha1:
11236         * modules/gc-hmac-md5:
11237         * modules/gc-des:
11238         * modules/gc-arcfour: Distribute more files.
11239
11240 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11241
11242         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
11243         (gl_linked_iterator_from_to): Initialize struct completely.
11244         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
11245         (gl_tree_iterator_from_to): Likewise
11246         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
11247         * lib/gl_array_list.c [lint] (gl_array_iterator)
11248         (gl_array_iterator_from_to): Likewise.
11249         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
11250         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
11251         (gl_carray_iterator_from_to): Likewise.
11252
11253         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
11254         * lib/md4.c (md4_process_block): Remove unused variable.
11255         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
11256         parentheses for clarity.
11257
11258 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11259
11260         * modules/bison-i18n (Depends-on): Add gettext.
11261
11262 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11263
11264         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
11265         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
11266         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
11267         also add missing comma that caused broken test.
11268         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
11269         stdlib.h, for `abort'.
11270         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
11271         variables.
11272         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
11273         include unistd.h if present, for `rmdir'.
11274         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
11275         variables.
11276         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
11277         in the process include standard headers for prototypes.
11278         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
11279         gets declared on GNU/Linux.
11280         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
11281         unistd.h, for `rmdir'.
11282         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
11283
11284         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
11285         always true.
11286         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
11287
11288         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
11289
11290 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11291
11292         * gnulib-tool (func_version): Create output all at once.  This
11293         may help avoid triggering unnecessary SIGPIPEs, and at any
11294         rate it doesn't hurt.
11295
11296 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11297             Bruno Haible  <bruno@clisp.org>
11298
11299         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
11300         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
11301         * m4/signed.m4 (bh_C_SIGNED): Likewise.
11302
11303         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
11304         (gl_FUNC_VASPRINTF): Invoke it.
11305
11306 2006-09-22  Bruno Haible  <bruno@clisp.org>
11307
11308         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
11309         getloadavg.c as first argument.
11310
11311 2006-09-22  Bruno Haible  <bruno@clisp.org>
11312
11313         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
11314         at the beginning of the gl_INIT macro.
11315         * modules/getloadavg (configure.ac): Pass $gl_source_base to
11316         gl_GETLOADAVG.
11317
11318 2006-09-22  Bruno Haible  <bruno@clisp.org>
11319
11320         * gnulib-tool (func_create_megatestdir): Don't include the config-h
11321         module.
11322         Suggested by Ralf Wildenhues.
11323
11324 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
11325
11326         Import this patch from libc:
11327
11328         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
11329
11330         * lib/regex_internal.c (re_string_reconstruct): Handle
11331         offset < pstr->valid_raw_len && pstr->offsets_needed case.
11332         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
11333         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
11334         re_string_context_at.
11335
11336         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
11337         now requires it.
11338         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
11339         gl_REGEX now does it for us.
11340         (gl_REGEX): Add test taken from
11341         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
11342
11343         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
11344         Check that large offsets work.  Modernize Autoconf usages.
11345         Prefer "yes" to mean a good thing rather than a bad.
11346         Don't put "#define mkstemp" in config.h, as this might interfere
11347         with standard system headers that "#define mkstemp mkstemp64".
11348
11349         * modules/mkstemp (Depends-on): Add extensions, so that
11350         mkstemp is visible on some platforms.
11351         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
11352         (Include): Change to "mkstemp.h" from <stdlib.h>.
11353         (Files): Add mkstemp.h.
11354
11355         * lib/mkstemp.h: New file, since some standard headers
11356         #define mkstemp.
11357         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
11358         Include "mkstemp.h".
11359         Make the _LIBC code resemble glibc original more,
11360         e.g., use K&R style.
11361         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
11362         (mkstemp): Remove, since mkstemp.h does this for us.
11363         * lib/stdlib--.h: Include mkstemp.h.
11364
11365         Import this patch from libc:
11366
11367         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
11368
11369         * lib/tempname.c (__gen_tempname): Change attempts_min
11370         into a macro.  Use preprocessor to decide how to initialize
11371         attempts [Coverity CID 67].
11372
11373 2006-09-20  Bruno Haible  <bruno@clisp.org>
11374
11375         * lib/mkdtemp.c: Import from libc.
11376         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
11377                 * sysdeps/posix/tempname.c (__gen_tempname): Change
11378                 attempts_min into a macro.  Use preprocessor to decide how to
11379                 initialize attempts [Coverity CID 67].
11380         2001-11-27  Paul Eggert  <eggert@twinsun.com>
11381                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
11382                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
11383
11384 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11385
11386         * gnulib-tool (func_exit): New function, to allow to pass the
11387         exit status portably through the trap.  Use everywhere.
11388         (--help, --version): Signal a write error.
11389         (trap): catch SIGPIPE, for write errors.
11390         Exit at the end of the trap, with the correct exit status.
11391
11392 2006-09-19  Karl Berry  <karl@gnu.org>
11393
11394         * doc/gnulib.texi: note about the license texinfo files.
11395
11396 2006-09-19  Eric Blake  <ebb9@byu.net>
11397
11398         * gnulib-tool: Avoid space-tab.
11399
11400 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11401
11402         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
11403         that prevented coreutils 6.1 from building.  Problem reported
11404         by Petter Reinholdtsen.
11405
11406 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11407
11408         * gnulib-tool (avoidlist): Fix typo that broke options like
11409         --avoid=lock that are used by coreutils bootstrap.
11410
11411 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
11412
11413         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
11414         more systematically.
11415
11416 2006-09-18  Jim Meyering  <jim@meyering.net>
11417
11418         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
11419
11420 2006-09-18  Bruno Haible  <bruno@clisp.org>
11421
11422         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
11423
11424 2006-09-18  Bruno Haible  <bruno@clisp.org>
11425
11426         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
11427         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
11428         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
11429         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
11430         * m4/gettext.m4: Require autoconf >= 2.52.
11431         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
11432         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
11433         of gl_cv_header_inttypes_h.
11434
11435 2006-09-18  Bruno Haible  <bruno@clisp.org>
11436
11437         * lib/javaversion.c: Include configmake.h.
11438
11439 2006-09-18  Bruno Haible  <bruno@clisp.org>
11440
11441         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
11442         avoid that the while loops be executed in a subshell.
11443
11444 2006-09-18  Bruno Haible  <bruno@clisp.org>
11445
11446         * MODULES.html.sh (func_module): Break long lines.
11447         Suggested by Bruce Korb <bkorb@gnu.org>.
11448
11449 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11450
11451         Speed up by a factor of 1.12.
11452         * gnulib-tool (nl): New variable.
11453         (func_import): Rewrite include directive extraction to only read each
11454         directive once.
11455
11456 2006-09-17  Bruno Haible  <bruno@clisp.org>
11457
11458         * modules/javaversion (Makefile.am): Remove DEFS setting.
11459         (Depends-on): Add configmake, for PKGDATADIR definition.
11460
11461 2006-09-17  Bruno Haible  <bruno@clisp.org>
11462
11463         * gnulib-tool (func_create_testdir): Rewrite all files at once.
11464
11465 2006-09-17  Bruno Haible  <bruno@clisp.org>
11466
11467         * gnulib-tool (func_append): New function, stolen from libtool.m4.
11468         (func_modules_transitive_closure, func_modules_add_dummy,
11469         func_modules_to_filelist, func_import, func_create_testdir,
11470         func_create_megatestdir, ...): Use it wherever possible.
11471         Suggested by Ralf Wildenhues.
11472
11473 2006-09-16  Karl Berry  <karl@gnu.org>
11474
11475         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
11476         to avoid sectioning errors.
11477         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
11478         [ifinfo]: blank line after @center-ed titles.
11479         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
11480         Spell FSF address consistently with others.
11481         (These changes approved by rms.)
11482
11483 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11484
11485         Speed up by a factor of 1.61.
11486         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
11487         already checked module names again.
11488
11489 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11490
11491         Speed up by a factor of 1.13.
11492         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
11493         for new_files, and the input to func_add_or_update.
11494
11495 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11496
11497         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
11498         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
11499
11500 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11501
11502         * modules/mkancesdirs (Depends-on): Add fcntl.
11503         * modules/savewd: New file.
11504         * MODULES.html.sh (File system functions): Add savewd.
11505
11506         * modules/configmake (Makefile.am): Add support for the
11507         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
11508
11509 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11510
11511         * m4/savewd.m4: New file.
11512
11513 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
11514
11515         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
11516         (dirchownmod): New arg FD.  All callers changed.
11517         Use FD rather than opening the directory ourself, as opening is
11518         now the caller's responsibility.
11519         * lib/dirchownmod.h: Likewise.
11520         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
11521         hosts that require <sys/types.h> before <sys/stat.h>.  Include
11522         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
11523         (test_dir): Remove.
11524         (mkancesdirs): Return length of prefix of FILE that has already
11525         been made, or -2 if there is a child doing the work.  Redo
11526         algorithm so that it is O(N) rather than O(N**2).  Optimize away
11527         ".", and treat ".." specially since it might stray back into
11528         already-created areas.  Use a subprocess if necessary.  New arg
11529         WD; all users changed.  MAKE_DIR function should now return 1
11530         if it creates a directory that is not readable.  Return -2 if
11531         a child process is spun off.
11532         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
11533         Adjust signature to match code.
11534         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
11535         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
11536         all users changed.
11537         * lib/savewd.c, lib/savewd.h: New files.
11538
11539 2006-09-15  Jim Meyering  <jim@meyering.net>
11540
11541         * modules/rename-dest-slash: New module.
11542         * MODULES.html.sh (posix_compat): Add it here.
11543
11544         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
11545
11546 2006-09-15  Jim Meyering  <jim@meyering.net>
11547
11548         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
11549         file.
11550
11551         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
11552
11553 2006-09-15  Jim Meyering  <jim@meyering.net>
11554
11555         * lib/rename-dest-slash.c (has_trailing_slash): Use
11556         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
11557         (rpl_rename_dest_slash): Perform the cheaper trailing slash
11558         test before testing whether SRC is a directory.
11559         Suggestions from Bruno Haible.
11560
11561         Avoid a warning about an unused variable.
11562         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
11563         into the #ifdef block where it's used.
11564
11565         * lib/rename-dest-slash.c: New file.
11566
11567 2006-09-14  Bruno Haible  <bruno@clisp.org>
11568
11569         * lib/allocsa.c: Include <config.h> unconditionally.
11570         * lib/asnprintf.c: Likewise.
11571         * lib/asprintf.c: Likewise.
11572         * lib/c-strcasecmp.c: Likewise.
11573         * lib/c-strcasestr.c: Likewise.
11574         * lib/c-strncasecmp.c: Likewise.
11575         * lib/c-strstr.c: Likewise.
11576         * lib/classpath.c: Likewise.
11577         * lib/clean-temp.c: Likewise.
11578         * lib/concatpath.c: Likewise.
11579         * lib/copy-file.c: Likewise.
11580         * lib/csharpcomp.c: Likewise.
11581         * lib/csharpexec.c: Likewise.
11582         * lib/execute.c: Likewise.
11583         * lib/fatal-signal.c: Likewise.
11584         * lib/findprog.c: Likewise.
11585         * lib/fwriteerror.c: Likewise.
11586         * lib/gl_array_list.c: Likewise.
11587         * lib/gl_array_oset.c: Likewise.
11588         * lib/gl_avltree_list.c: Likewise.
11589         * lib/gl_avltree_oset.c: Likewise.
11590         * lib/gl_avltreehash_list.c: Likewise.
11591         * lib/gl_carray_list.c: Likewise.
11592         * lib/gl_linked_list.c: Likewise.
11593         * lib/gl_linkedhash_list.c: Likewise.
11594         * lib/gl_list.c: Likewise.
11595         * lib/gl_oset.c: Likewise.
11596         * lib/gl_rbtree_list.c: Likewise.
11597         * lib/gl_rbtree_oset.c: Likewise.
11598         * lib/gl_rbtreehash_list.c: Likewise.
11599         * lib/imaxabs.c: Likewise.
11600         * lib/imaxdiv.c: Likewise.
11601         * lib/javacomp.c: Likewise.
11602         * lib/javaexec.c: Likewise.
11603         * lib/javaversion.c: Likewise.
11604         * lib/linebreak.c: Likewise.
11605         * lib/localcharset.c: Likewise.
11606         * lib/lock.c: Likewise.
11607         * lib/mbchar.c: Likewise.
11608         * lib/mbswidth.c: Likewise.
11609         * lib/mkdtemp.c: Likewise.
11610         * lib/pipe.c: Likewise.
11611         * lib/printf-args.c: Likewise.
11612         * lib/printf-parse.c: Likewise.
11613         * lib/progname.c: Likewise.
11614         * lib/progreloc.c: Likewise.
11615         * lib/readlink.c: Likewise.
11616         * lib/sh-quote.c: Likewise.
11617         * lib/stpcpy.c: Likewise.
11618         * lib/stpncpy.c: Likewise.
11619         * lib/strcasecmp.c: Likewise.
11620         * lib/strcasestr.c: Likewise.
11621         * lib/strcspn.c: Likewise.
11622         * lib/striconv.c: Likewise.
11623         * lib/strncasecmp.c: Likewise.
11624         * lib/strnlen1.c: Likewise.
11625         * lib/strstr.c: Likewise.
11626         * lib/strtok_r.c: Likewise.
11627         * lib/tls.c: Likewise.
11628         * lib/tmpdir.c: Likewise.
11629         * lib/unicodeio.c: Likewise.
11630         * lib/unsetenv.c: Likewise.
11631         * lib/vasnprintf.c: Likewise.
11632         * lib/vasprintf.c: Likewise.
11633         * lib/wait-process.c: Likewise.
11634         * lib/xallocsa.c: Likewise.
11635         * lib/xsetenv.c: Likewise.
11636         * lib/xstriconv.c: Likewise.
11637
11638 2006-09-13  Simon Josefsson  <jas@extundo.com>
11639
11640         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
11641         that internally, suggested by Ralf Wildenhues
11642         <Ralf.Wildenhues@gmx.de>.
11643
11644 2006-09-13  Simon Josefsson  <jas@extundo.com>
11645
11646         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
11647         @LIBOBJS@.
11648         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11649
11650 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
11651
11652         * lib/_fpending.c: Include <config.h> unconditionally, since we no
11653         longer worry about uses that don't define HAVE_CONFIG_H.
11654         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
11655         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
11656         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
11657         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
11658         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
11659         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
11660         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
11661         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
11662         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
11663         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
11664         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
11665         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
11666         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
11667         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
11668         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
11669         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
11670         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
11671         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
11672         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
11673         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
11674         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
11675         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
11676         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
11677         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
11678         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
11679         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
11680         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
11681         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
11682         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
11683         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
11684         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
11685         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
11686         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
11687         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
11688         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
11689         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
11690         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
11691         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
11692         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
11693         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
11694         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
11695         Likewise.
11696
11697 2006-09-13  Eric Blake  <ebb9@byu.net>
11698
11699         * lib/getopt.c: Fix typo in last commit.
11700
11701 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
11702
11703         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
11704         dgettext.
11705
11706 2006-09-12  Jim Meyering  <jim@meyering.net>
11707
11708         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
11709         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
11710         Reported by Nelson H. F. Beebe.
11711
11712 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
11713
11714         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
11715         program_invocation_name and program_invocation_short_name are
11716         initialized.
11717         * lib/argp-namefrob.h: Move declarations of program_invocation_name
11718         and program_invocation_short_name to argp.h, so they are visible
11719         to user programs.
11720         * lib/argp.h: Likewise
11721
11722 2006-09-10  Bruno Haible  <bruno@clisp.org>
11723
11724         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
11725         m4/inttypes_h.m4, m4/uintmax_t.m4.
11726
11727 2006-09-10  Bruno Haible  <bruno@clisp.org>
11728
11729         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
11730         gl_AC_TYPE_UINTMAX_T.
11731
11732 2006-09-10  Bruno Haible  <bruno@clisp.org>
11733
11734         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
11735
11736 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
11737
11738         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
11739         convention.  Text proposed by Bruno Haible.
11740         (struct argp_option): Document the use of N_() wrappers.
11741
11742         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
11743         '\v', and translate the two parts separately, instead of feeding
11744         the whole string to gettext.  This allows to exclude
11745         '\v' from the strings visible to the translator by writing doc
11746         strings as N_("..") "\v" N_("..").
11747
11748 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
11749
11750         * config/srclist.txt: Undo latest change; the bug was fixed.
11751
11752 2006-09-09  Bruno Haible  <bruno@clisp.org>
11753
11754         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
11755         assignments if building a library without libtool.
11756         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
11757         in func_emit_lib_Makefile_am.
11758         (func_import): When building a static library libfoo.a, arrange to
11759         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
11760         (func_create_testdir): Likewise.
11761         * modules/gc (configure.ac, Makefile.am): If building statically,
11762         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
11763         * modules/iconvme (configure.ac, Makefile.am): Likewise.
11764         * modules/striconv (configure.ac, Makefile.am): Likewise.
11765         Based on a suggestion by Ralf Wildenhues.
11766
11767 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11768
11769         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
11770         Check for unistd.h too, since Autoconf doesn't assume POSIX.
11771         Also:
11772
11773         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11774         Add year_2050_test to catch glibc bug 2821
11775         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
11776
11777         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
11778         Prefer #ifdef to #if.
11779
11780         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
11781         Return from 'main' instead of calling 'exit'.
11782
11783 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11784
11785         * lib/mktime.c (guess_time_tm): Fix bug where mktime
11786         returned the maximum time_t value rather than (time_t) -1.
11787         Problem originally reported by William Bardwell
11788         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
11789
11790         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
11791         Moved to here ...
11792         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
11793         ... from here.
11794
11795 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
11796
11797         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
11798         2821 is fixed.
11799
11800 2006-09-08  Jim Meyering  <jim@meyering.net>
11801
11802         Don't make generated files read-only.  That would bother too many
11803         people.  However, do retain the ability to work when targets are
11804         read-only: remove the destination and temporary files before writing
11805         them (when generated via sed or echo), or by using the -f option for
11806         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
11807         * modules/alloca-opt, modules/argz, modules/arpa_inet:
11808         * modules/byteswap, modules/configmake, modules/fcntl:
11809         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
11810         * modules/localcharset, modules/netinet_in, modules/poll:
11811         * modules/stdbool, modules/stdint, modules/sys_select:
11812         * modules/sys_socket, modules/sys_stat, modules/sysexits:
11813
11814 2006-09-08  Jim Meyering  <jim@meyering.net>
11815
11816         Avoid new build failure on FreeBSD 6.0.
11817         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
11818         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
11819         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
11820
11821 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11822
11823         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
11824
11825 2006-09-07  Jim Meyering  <jim@meyering.net>
11826
11827         Fix global typo in last change: use chmod u-w, not chmod u-x.
11828         Spotted by Paul Eggert and Bruce Korb.
11829         * modules/alloca-opt, modules/argz, modules/arpa_inet:
11830         * modules/byteswap, modules/configmake, modules/fcntl:
11831         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
11832         * modules/localcharset, modules/netinet_in, modules/poll:
11833         * modules/stdbool, modules/stdint, modules/sys_select:
11834         * modules/sys_socket, modules/sys_stat, modules/sysexits:
11835
11836 2006-09-06  Jim Meyering  <jim@meyering.net>
11837
11838         Make generated files be read-only.
11839         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
11840         Ensure that each generated file is now read-only.
11841         * modules/argz: Likewise.
11842         * modules/arpa_inet: Likewise.
11843         * modules/byteswap: Likewise.
11844         * modules/configmake: Likewise.
11845         * modules/fcntl: Likewise.
11846         * modules/fnmatch: Likewise.
11847         * modules/getopt: Likewise.
11848         * modules/glob: Likewise.
11849         * modules/inttypes: Likewise.
11850         * modules/netinet_in: Likewise.
11851         * modules/poll: Likewise.
11852         * modules/stdbool: Likewise.
11853         * modules/stdint: Likewise.
11854         * modules/sys_select: Likewise.
11855         * modules/sys_socket: Likewise.
11856         * modules/sys_stat: Likewise.
11857         * modules/sysexits: Likewise.
11858         * modules/localcharset: Same as above, but continue using temporary
11859         file named "t-$@" (why different?) rather than the "$@-t" used
11860         everywhere else.
11861
11862         * modules/sysexits (Makefile.am): Replace literal occurrences
11863         of "sysexit.h" more readable, and more consistent, "$@".
11864
11865 2006-09-06  Bruno Haible  <bruno@clisp.org>
11866
11867         * modules/striconv: New file.
11868         * modules/xstriconv: New file.
11869         * MODULES.html.sh (Internationalization functions): Add striconv,
11870         xstriconv.
11871
11872 2006-09-06  Bruno Haible  <bruno@clisp.org>
11873
11874         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
11875         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
11876         not using libtool correctly.
11877
11878 2006-09-06  Bruno Haible  <bruno@clisp.org>
11879
11880         * lib/striconv.h: New file.
11881         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
11882         iconvstring.c.
11883         * lib/xstriconv.h: New file.
11884         * lib/xstriconv.c: New file.
11885
11886 2006-09-06  Bruno Haible  <bruno@clisp.org>
11887
11888         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
11889         lib_..._LDFLAGS.
11890
11891 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11892
11893         * lib/argz_.h: Sync from Libtool.
11894
11895         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
11896                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11897
11898         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
11899
11900 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
11901
11902         * modules/trim: New file.
11903
11904 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
11905
11906         * lib/trim.h: New file.
11907         * lib/trim.c: New file.
11908
11909 2006-09-05  Bruno Haible  <bruno@clisp.org>
11910
11911         * MODULES.html.sh (String handling): Add trim.
11912
11913 2006-09-04  Karl Berry  <karl@gnu.org>
11914
11915         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
11916         until next release.
11917
11918 2006-09-03  Bruno Haible  <bruno@clisp.org>
11919
11920         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
11921         correctly.
11922
11923 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11924
11925         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
11926         not gl_GETLOADAVG.  Omit unneeded semicolons.
11927         Problems reported by Ralf Wildenhues in
11928         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
11929         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
11930         at the end, which is the usual gnulib style.
11931
11932         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
11933         of doing all the work ourselves.
11934         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
11935         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
11936
11937 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11938
11939         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
11940         Problem reported by Ralf Wildenhues in
11941         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
11942
11943         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
11944         HAVE_STRUCT_STATFS_F_FSTYPENAME.
11945
11946 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
11947
11948         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
11949         yesterday's patch by changing test -n to test -z.
11950
11951 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11952
11953         * modules/getloadavg (Files): Add m4/getloadavg.m4.
11954         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
11955         the former is now obsolescent.
11956
11957         * modules/chdir-long (Depends-on): Add fcntl.
11958
11959 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11960
11961         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
11962         obsolescent, and programs should use gnulib instead.
11963         * m4/getloadavg.m4: New file, with contents taken from Autoconf
11964         but with prefixes changed.
11965
11966 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
11967
11968         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
11969         or stdbool.h, because they might not exist while configuring.
11970
11971         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
11972         Don't include unistd.h or limits.h; not needed, since chdir-long.h
11973         does that for us.
11974         (O_DIRECTORY): Remove.
11975
11976 2006-08-31  Eric Blake  <ebb9@byu.net>
11977
11978         * gnulib-tool: Don't let emacs change spaces to TAB.
11979
11980 2006-08-31  Bruno Haible  <bruno@clisp.org>
11981
11982         * gnulib-tool: When calling func_import more than once, do it in a
11983         subshell.
11984         Reported by Eric Blake <ebb9@byu.net>.
11985
11986 2006-08-31  Bruno Haible  <bruno@clisp.org>
11987
11988         * gnulib-tool (nl): Remove variable.
11989         (sed_transform_lib_file): Use more robust test for config-h module.
11990         (func_import): Fix typo in 2006-08-25 patch.
11991
11992 2006-08-31  Bruno Haible  <bruno@clisp.org>
11993
11994         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
11995         specified, augment Makefile.am variables instead of assigning them.
11996
11997 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
11998
11999         Work around a bug in both the Linux and SunOS 64-bit kernels:
12000         nanosleep mishandles sleeps for longer than 2**31 seconds.
12001         Problem reported by Frank v Waveren in
12002         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
12003         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
12004         Check for nanosleep bug.
12005         (LIB_NANOSLEEP): Append clock_gettime library if needed.
12006
12007 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12008
12009         Work around a bug in both the Linux and SunOS 64-bit kernels:
12010         nanosleep mishandles sleeps for longer than 2**31 seconds.
12011         Problem reported by Frank v Waveren in
12012         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
12013         * lib/nanosleep.c (BILLION): New constant.
12014         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
12015         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
12016         implementation.
12017
12018 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12019
12020         * modules/nanosleep (Depends-on): Add gettime.
12021
12022 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12023         and Simon Josefsson  <jas@extundo.com>
12024         and Oskar Liljeblad  <oskar@osk.mine.nu>
12025
12026         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
12027         * gnulib-tool (func_import): New license type 'unmodifiable license
12028         text'.
12029         * modules/fdl: Use it.  Longer description.
12030         * module/gpl, module/lgpl: New files.
12031
12032 2006-08-30  Jim Meyering  <jim@meyering.net>
12033
12034         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
12035         shadowing the parameter.
12036
12037 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12038
12039         Sync from Libtool:
12040
12041         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12042
12043         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
12044         sharing with gnulib.  Report by Eric Blake.
12045
12046 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12047
12048         * modules/isapipe: New file.
12049         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
12050
12051 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12052
12053         * modules/configmake (Makefile.am): Add a comment, and omit
12054         the CONFIGMAKE_ prefix from generated macro names.  Suggested
12055         by Bruno Haible.
12056
12057 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12058
12059         * m4/isapipe.m4: New file.
12060
12061 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
12062
12063         * lib/isapipe.c, lib/isapipe.h: New files.
12064
12065 2006-08-29  Jim Meyering  <jim@meyering.net>
12066
12067         * modules/configmake (Makefile.am): Make configmake.h depend on
12068         Makefile.  Otherwise, a stale configmake.h could hang around.
12069
12070 2006-08-29  Eric Blake  <ebb9@byu.net>
12071
12072         * lib/error.c (error_at_line, print_errno_message): Match libc, after
12073         resolution of upstream bug 3044.
12074
12075 2006-08-29  Bruno Haible  <bruno@clisp.org>
12076
12077         * modules/localcharset (Depends-on): Add configmake.
12078         (Makefile.am): Remove setting of LIBDIR through DEFS.
12079
12080 2006-08-29  Bruno Haible  <bruno@clisp.org>
12081
12082         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
12083         defined.
12084
12085 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
12086
12087         * modules/fcntl: New file.
12088         * modules/chdir-safer (Depends-on): Add fcntl.
12089         * modules/fts: Likewise.
12090         * modules/mkdir-p: Likewise.
12091
12092         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
12093         This undoes the most recent change, since we're now addressing the
12094         problem in a different way.
12095
12096         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
12097         into output, since the output might be called Makefile.am even
12098         if $makefile_name is something different.
12099         (func_import): Use $makefile_am rather than
12100         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
12101         empty.
12102
12103         * modules/inttypes (Files): Add m4/inttypes-h.m4.
12104
12105 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
12106
12107         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
12108         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
12109         recent change to stdint.m4, since we're now addressing the problem in a
12110         different way.
12111
12112 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
12113
12114         * m4/fcntl_h.m4: New file.
12115
12116 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
12117
12118         * lib/fcntl_.h: New file.
12119         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
12120         the fcntl module.
12121         * lib/dirchownmod.c: Likewise.
12122         * lib/fts.c: Likewise.
12123
12124         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
12125         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
12126         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
12127         just before including <inttypes.h>, to avoid circular inclusion.
12128
12129 2006-08-28  Jim Meyering  <jim@meyering.net>
12130
12131         * doc/visibility.texi: Actually read and correct the grammar of the
12132         sentence affected by yesterday's change.
12133
12134 2006-08-28  Eric Blake  <ebb9@byu.net>
12135
12136         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
12137         needs wrapper.
12138
12139 2006-08-28  Eric Blake  <ebb9@byu.net>
12140
12141         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
12142
12143 2006-08-28  Eric Blake  <ebb9@byu.net>
12144
12145         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
12146
12147 2006-08-28  Bruno Haible  <bruno@clisp.org>
12148
12149         * modules/c-strstr: New file, from GNU gettext.
12150         * MODULES.html.sh (String handling): Add c-strstr.
12151
12152 2006-08-28  Bruno Haible  <bruno@clisp.org>
12153
12154         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
12155         macros.
12156         Reported by Eric Blake.
12157
12158 2006-08-28  Bruno Haible  <bruno@clisp.org>
12159
12160         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
12161         (VASNPRINTF): Return a string of length > INT_MAX without failing.
12162         * lib/vasprintf.c: Include errno.h, limits.h.
12163         (EOVERFLOW): New fallback definition.
12164         (vasprintf): Test here whether the string length is > INT_MAX.
12165         * lib/vsnprintf.c: Include errno.h, limits.h.
12166         (EOVERFLOW): New fallback definition.
12167         (vsnprintf): Fix bug when generated string was too long for the buffer.
12168         Test here whether the string length is > INT_MAX.
12169
12170 2006-08-28  Bruno Haible  <bruno@clisp.org>
12171
12172         * lib/inttypes_.h (SCNX*): Remove definitions.
12173         Reported by Eric Blake.
12174
12175 2006-08-28  Bruno Haible  <bruno@clisp.org>
12176
12177         * lib/c-strstr.h: New file, from GNU gettext.
12178         * lib/c-strstr.c: New file, from GNU gettext.
12179
12180 2006-08-28  Bruno Haible  <bruno@clisp.org>
12181
12182         * gnulib-tool: Reorder some statements.
12183
12184 2006-08-28  Bruno Haible  <bruno@clisp.org>
12185
12186         * gnulib-tool: New option --makefile-name.
12187         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
12188         $makefile_name.
12189         (func_import): Write $makefile_name to the cache file, and read it from
12190         there unless explicitly specified. Use $makefile_name as file name
12191         instead of Makefile.am. Adjust the recommendations accordingly.
12192
12193 2006-08-28  Bruno Haible  <bruno@clisp.org>
12194
12195         * gnulib-tool (func_verify_module): Check against misapplying patch.
12196
12197 2006-08-28  Bruno Haible  <bruno@clisp.org>
12198
12199         * gnulib-tool (func_relativize, func_relconcat): New functions.
12200         Give an error if --local-dir is given with --update.
12201         Remove trailing slashes from $local_gnulib_dir.
12202         (func_import): Store the relativized $local_gnulib_dir in
12203         gnulib-cache.m4, and read it from there if not specified explicitly.
12204
12205 2006-08-28  Bruno Haible  <bruno@clisp.org>
12206
12207         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
12208         is the current directory. Respect also $local_gnulib_dir.
12209
12210 2006-08-28  Bruno Haible  <bruno@clisp.org>
12211             Simon Josefsson  <jas@extundo.com>
12212
12213         BeOS portability.
12214         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
12215
12216 2006-08-27  Jim Meyering  <jim@meyering.net>
12217
12218         * doc/visibility.texi: Remove duplicate word: "pointer".
12219
12220 2006-08-26  Bruno Haible  <bruno@clisp.org>
12221
12222         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
12223         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
12224         (Makefile.am): Create inttypes.h from inttypes_.h.
12225         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
12226
12227         * modules/imaxabs: New file.
12228
12229         * modules/imaxdiv: New file.
12230
12231 2006-08-26  Bruno Haible  <bruno@clisp.org>
12232
12233         * m4/inttypes.m4: New file.
12234         * m4/_inttypes_h.m4: Remove file.
12235         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
12236         PRI_MACROS_BROKEN.
12237         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
12238
12239         * m4/imaxabs.m4: New file.
12240
12241         * m4/imaxdiv.m4: New file.
12242
12243 2006-08-26  Bruno Haible  <bruno@clisp.org>
12244
12245         * lib/inttypes_.h: New file.
12246         * lib/inttypes.h: Remove file.
12247         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
12248
12249         * lib/imaxabs.c: New file.
12250
12251         * lib/imaxdiv.c: New file.
12252
12253 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12254
12255         New config-h module, so that "make" output needn't be cluttered
12256         by -DHAVE_CONFIG_H.
12257         * MODULES.html.sh (Support for building libraries and executables):
12258         Add config-h.
12259         * modules/config-h: New file.
12260         * gnulib-tool (nl, sed_transform_lib_file): New vars.
12261         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
12262         the config-h module is used.
12263
12264         New configmake module, so that "make" output needn't be cluttered
12265         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
12266         * MODULES.html.sh (Support for building libraries and executables):
12267         Add configmake.
12268         * modules/configmake: New file.
12269
12270 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12271
12272         * m4/config-h.m4: New file.
12273
12274 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12275
12276         * config/srclist.txt: Add elisp-comp.
12277
12278 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12279
12280         * MODULES.html.sh (Support for building libraries and executables):
12281         Add elisp-comp.
12282         * build-aux/elisp-comp: New file.
12283         * modules/elisp-comp: New file.
12284
12285 2006-08-24  Bruno Haible  <bruno@clisp.org>
12286
12287         * gnulib-tool (func_create_testdir): Use non-default values of
12288         sourcebase and m4base.
12289
12290 2006-08-24  Bruno Haible  <bruno@clisp.org>
12291
12292         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
12293         HTML structure.
12294
12295 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
12296
12297         * modules/openat (Depends-on): Add lchown.
12298
12299 2006-08-23  Bruno Haible  <bruno@clisp.org>
12300
12301         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
12302         of gl_LOCK_EARLY instead of gl_LOCK.
12303
12304 2006-08-23  Bruno Haible  <bruno@clisp.org>
12305
12306         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
12307         on OSF/1 to no.
12308         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
12309
12310 2006-08-23  Bruno Haible  <bruno@clisp.org>
12311
12312         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
12313         as unusable.
12314
12315         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
12316         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
12317         (gl_LOCK): New macro.
12318
12319 2006-08-22  Simon Josefsson  <jas@extundo.com>
12320
12321         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
12322         to md5 module.
12323
12324 2006-08-22  Simon Josefsson  <jas@extundo.com>
12325
12326         * MODULES.html.sh: Add "Support for maintaining and release
12327         projects".
12328
12329         * build-aux/gnupload: New file, from coreutils.
12330
12331 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
12332
12333         Avoid the need for AC_LIBSOURCES in m4 macros.
12334         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
12335         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
12336         * modules/check-version (EXTRA_DIST): Add check-version.h.
12337         * modules/crc (EXTRA_DIST): Add crc.h.
12338         * modules/des (EXTRA_DIST): Add des.h.
12339         * modules/gc (EXTRA_DIST): Add gc.h.
12340         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
12341         * modules/getline (EXTRA_DIST): Add getline.h.
12342         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
12343         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
12344         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
12345         * modules/md2 (EXTRA_DIST): Add md2.h.
12346         * modules/md4 (EXTRA_DIST): Add md4.h.
12347         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
12348         * modules/read-file (EXTRA_DIST): Add read-file.h.
12349         * modules/readline (EXTRA_DIST): Add readline.h.
12350         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
12351         rijndael-api-fst.h.
12352
12353 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
12354
12355         * m4/rijndael.m4 (gl_ARCFOUR):
12356         * m4/arctwo.m4 (gl_ARCTWO):
12357         * m4/check-version.m4 (gl_CHECK_VERSION):
12358         * m4/crc.m4 (gl_CRC):
12359         * m4/des.m4 (gl_DES):
12360         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
12361         * m4/gc.m4 (gl_GC):
12362         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
12363         * m4/getline.m4 (gl_FUNC_GETLINE):
12364         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
12365         * m4/hmac-md5.m4 (gl_HMAC_MD5):
12366         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
12367         * m4/md2.m4 (gl_MD2):
12368         * m4/md4.m4 (gl_MD4):
12369         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
12370         * m4/read-file.m4 (gl_FUNC_READ_FILE):
12371         * m4/readline.m4 (gl_FUNC_READLINE):
12372         * m4/rijndael.m4 (gl_RIJNDAEL):
12373         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
12374         to get the necessary .h files and whatnot.
12375
12376 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
12377
12378         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
12379         gnulib rather than the other way around.
12380         * config/srclistvars.sh (COREUTILS): Remove.
12381
12382 2006-08-22  Jim Meyering  <jim@meyering.net>
12383
12384         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
12385
12386         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
12387
12388 2006-08-22  Eric Blake  <ebb9@byu.net>
12389
12390         * modules/regexprops-generic: New file.
12391         * MODULES.html.sh (Support for building documentation): List it.
12392
12393 2006-08-22  Eric Blake  <ebb9@byu.net>
12394
12395         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
12396         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
12397         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
12398         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
12399
12400 2006-08-22  Bruno Haible  <bruno@clisp.org>
12401
12402         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
12403         and lib_LTLIBRARIES like the other lib_* variables.
12404
12405 2006-08-22  Bruno Haible  <bruno@clisp.org>
12406
12407         * build-aux/x-to-1.in: New file, from GNU gettext.
12408
12409 2006-08-22  Bruno Haible  <bruno@clisp.org>
12410
12411         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
12412         <utmpx.h> exists.
12413
12414 2006-08-22  Bruno Haible  <bruno@clisp.org>
12415
12416         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
12417         <utmpx.h> exists.
12418
12419 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
12420
12421         BeOS portability.
12422         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
12423         exist.
12424         Problem reported by Bruno Haible.
12425
12426 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
12427
12428         Avoid the need for AC_LIBSOURCES in m4 macros.
12429         * modules/acl (EXTRA_DIST): Add acl.h.
12430         * modules/argmatch (Files): Add m4/argmatch.m4.
12431         (configure.ac): Add gl_ARGMATCH.
12432         (EXTRA_DIST): Renamed from lib_SOURCES, for
12433         consistency with the other modules.  Remove argmatch.c.
12434         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
12435         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
12436         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
12437         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
12438         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
12439         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
12440         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
12441         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
12442         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
12443         * modules/closeout (EXTRA_DIST): Add closeout.h.
12444         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
12445         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
12446         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
12447         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
12448         dirname.h; remove basename.c and stripslash.c.
12449         * modules/exclude (EXTRA_DIST): Add exclude.h.
12450         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
12451         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
12452         * modules/file-type (EXTRA_DIST): Add file-type.h.
12453         * modules/filemode (EXTRA_DIST): Add filemode.h.
12454         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
12455         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
12456         * modules/fpending (EXTRA_DIST): Add __fpending.h.
12457         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
12458         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
12459         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
12460         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
12461         * modules/getdate (EXTRA_DIST): Add getdate.c.
12462         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
12463         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
12464         * modules/getpass (EXTRA_DIST): Add getpass.h.
12465         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
12466         * modules/group-member (EXTRA_DIST): Add group-member.h.
12467         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
12468         * modules/hash (EXTRA_DIST): Add hash.h.
12469         * modules/human (EXTRA_DIST): Add human.h.
12470         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
12471         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
12472         * modules/lchown (EXTRA_DIST): Add lchown.h.
12473         * modules/long-options (EXTRA_DIST): Add long-options.h.
12474         * modules/lstat (EXTRA_DIST): Add lstat.h.
12475         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
12476         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
12477         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
12478         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
12479         * modules/memxor (EXTRA_DIST): Add memxor.h.
12480         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
12481         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
12482         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
12483         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
12484         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
12485         * modules/physmem (EXTRA_DIST): Add physmem.h.
12486         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
12487         * modules/posixver (EXTRA_DIST): Add posixver.h.
12488         * modules/quote (EXTRA_DIST): Add quote.h.
12489         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
12490         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
12491         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
12492         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
12493         regex_internal.h regexec.c.
12494         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
12495         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
12496         * modules/same (EXTRA_DIST): Add same.h.
12497         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
12498         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
12499         * modules/savedir (EXTRA_DIST): Add savedir.h.
12500         * modules/sha1 (EXTRA_DIST): Add sha1.h.
12501         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
12502         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
12503         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
12504         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
12505         * modules/strdup (EXTRA_DIST): Add strdup.h.
12506         * modules/strftime (EXTRA_DIST): Add strftime.h.
12507         * modules/strndup (EXTRA_DIST): Add strndup.h.
12508         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
12509         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
12510         * modules/time_r (EXTRA_DIST): Add time_r.h.
12511         * modules/timespec (EXTRA_DIST): Add timespec.h.
12512         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
12513         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
12514         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
12515         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
12516         * modules/userspec (EXTRA_DIST): Add userspec.h.
12517         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
12518         * modules/utimens (EXTRA_DIST): Add utimens.h.
12519         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
12520         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
12521         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
12522         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
12523         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
12524         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
12525         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
12526         * modules/yesno (EXTRA_DIST): Add yesno.h.
12527
12528 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
12529
12530         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
12531
12532         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
12533         * m4/dev-ino.m4, same-inode.m4: Remove.
12534
12535         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
12536         * m4/acl.m4 (AC_FUNC_ACL):
12537         * m4/backupfile.m4 (gl_BACKUPFILE):
12538         * m4/c-strtod.m4 (gl_C99_STRTOLD):
12539         * m4/canon-host.m4 (gl_CANON_HOST):
12540         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
12541         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
12542         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
12543         * m4/cloexec.m4 (gl_CLOEXEC):
12544         * m4/close-stream.m4 (gl_CLOSE_STREAM):
12545         * m4/closeout.m4 (gl_CLOSEOUT):
12546         * m4/dirfd.m4 (gl_FUNC_DIRFD):
12547         * m4/dirname.m4 (gl_DIRNAME):
12548         * m4/exclude.m4 (gl_EXCLUDE):
12549         * m4/exitfail.m4 (gl_EXITFAIL):
12550         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
12551         * m4/file-type.m4 (gl_FILE_TYPE):
12552         * m4/filemode.m4 (gl_FILEMODE):
12553         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
12554         * m4/fpending.m4 (gl_FUNC_FPENDING):
12555         * m4/fprintftime.m4 (gl_FPRINTFTIME):
12556         * m4/fts.m4 (gl_FUNC_FTS):
12557         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
12558         * m4/getdate.m4 (gl_GETDATE):
12559         * m4/gethrxtime.m4 (gl_GETHRXTIME):
12560         * m4/getpagesize.m4 (gl_GETPAGESIZE):
12561         * m4/getpass.m4 (gl_FUNC_GETPASS):
12562         * m4/gettime.m4 (gl_GETTIME):
12563         * m4/getugroups.m4 (gl_GETUGROUPS):
12564         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
12565         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
12566         * m4/hard-locale.m4 (gl_HARD_LOCALE):
12567         * m4/hash.m4 (gl_HASH):
12568         * m4/idcache.m4 (gl_IDCACHE):
12569         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
12570         * m4/lchown.m4 (gl_FUNC_LCHOWN):
12571         * m4/long-options.m4 (gl_LONG_OPTIONS):
12572         * m4/lstat.m4 (gl_FUNC_LSTAT):
12573         * m4/md5.m4 (gl_MD5):
12574         * m4/memcasecmp.m4 (gl_MEMCASECMP):
12575         * m4/memcoll.m4 (gl_MEMCOLL):
12576         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
12577         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
12578         * m4/memxor.m4 (gl_MEMXOR):
12579         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
12580         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
12581         * m4/modechange.m4 (gl_MODECHANGE):
12582         * m4/mountlist.m4 (gl_MOUNTLIST):
12583         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
12584         * m4/openat.m4 (gl_FUNC_OPENAT):
12585         * m4/pathmax.m4 (gl_PATHMAX):
12586         * m4/physmem.m4 (gl_PHYSMEM):
12587         * m4/posixtm.m4 (gl_POSIXTM):
12588         * m4/posixver.m4 (gl_POSIXVER):
12589         * m4/quote.m4 (gl_QUOTE):
12590         * m4/quotearg.m4 (gl_QUOTEARG):
12591         * m4/readtokens.m4 (gl_READTOKENS):
12592         * m4/readutmp.m4 (gl_READUTMP):
12593         * m4/regex.m4 (gl_REGEX):
12594         * m4/safe-read.m4 (gl_SAFE_READ):
12595         * m4/safe-write.m4 (gl_SAFE_WRITE):
12596         * m4/same.m4 (gl_SAME):
12597         * m4/save-cwd.m4 (gl_SAVE_CWD):
12598         * m4/savedir.m4 (gl_SAVEDIR):
12599         * m4/settime.m4 (gl_SETTIME):
12600         * m4/sha1.m4 (gl_SHA1):
12601         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
12602         * m4/stat-macros.m4 (gl_STAT_MACROS):
12603         * m4/stat-time.m4 (gl_STAT_TIME):
12604         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
12605         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
12606         * m4/strdup.m4 (gl_FUNC_STRDUP):
12607         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
12608         * m4/strndup.m4 (gl_FUNC_STRNDUP):
12609         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
12610         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
12611         * m4/time_r.m4 (gl_TIME_R):
12612         * m4/timespec.m4 (gl_TIMESPEC):
12613         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
12614         * m4/unlinkdir.m4 (gl_UNLINKDIR):
12615         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
12616         * m4/userspec.m4 (gl_USERSPEC):
12617         * m4/utimecmp.m4 (gl_UTIMECMP):
12618         * m4/utimens.m4 (gl_UTIMENS):
12619         * m4/xalloc.m4 (gl_XALLOC):
12620         * m4/xgetcwd.m4 (gl_XGETCWD):
12621         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
12622         * m4/xreadlink.m4 (gl_XREADLINK):
12623         * m4/xstrtod.m4 (gl_XSTRTOD):
12624         * m4/yesno.m4 (gl_YESNO):
12625         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
12626         to get the necessary .h files and whatnot.
12627
12628 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
12629             Bruno Haible  <bruno@clisp.org>
12630
12631         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
12632         /bin/sh understanding of '!' conditional negation.
12633
12634 2006-08-21  Jim Meyering  <jim@meyering.net>
12635
12636         * modules/openat (Depends-on): Really alphabetize.
12637
12638         * modules/acl (Depends-on): Add error and quote.
12639
12640         * check-module (find_included_lib_files): Add at-func.c to the
12641         ok-to-include-more-than-once white list.
12642
12643         * modules/openat (Depends-on): Add lstat.  Alphabetize.
12644
12645 2006-08-21  Bruno Haible  <bruno@clisp.org>
12646
12647         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
12648         Emit a pkgdata_DATA variable only if some snippets add contents to it.
12649         Reported by Martin Lambers <marlam@marlam.de>.
12650
12651 2006-08-21  Bruno Haible  <bruno@clisp.org>
12652
12653         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
12654         specify an installation location, don't emit a noinst_LIBRARIES or
12655         noinst_LTLIBRARIES assignment.
12656
12657 2006-08-21  Bruno Haible  <bruno@clisp.org>
12658
12659         BeOS portability.
12660         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
12661         BeOS has mbrtowc() but no <wctype.h>.
12662
12663 2006-08-21  Bruno Haible  <bruno@clisp.org>
12664
12665         BeOS portability.
12666         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
12667         exist.
12668
12669 2006-08-21  Bruno Haible  <bruno@clisp.org>
12670
12671         BeOS portability.
12672         * lib/mbchar.h: Include <wctype.h> only if it exists.
12673
12674 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12675
12676         Remove files that are no longer needed by their respective modules.
12677         * m4/obstack.m4: Remove.
12678         * m4/strerror_r.m4: Remove.
12679         * m4/uint32_t.m4: Remove.
12680         * m4/uintptr_t.m4: Remove.
12681         * m4/ullong_max.m4: Remove.
12682         * m4/xstrtoimax.m4: Remove.
12683         * m4/xstrtoumax.m4: Remove.
12684
12685         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
12686         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
12687         dependencies now capture this.
12688
12689         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
12690         Do not use AC_LIBSOURCES, since gnulib modules now do this.
12691         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
12692         * m4/human.m4 (gl_HUMAN): Likewise.
12693         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
12694         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
12695
12696         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
12697
12698         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
12699         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
12700         stdint.
12701         * m4/human.m4 (gl_HUMAN): Likewise.
12702         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
12703         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
12704         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
12705         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
12706         * m4/xstrtol (gl_XSTRTOL): Likewise.
12707
12708         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
12709         AC_TYPE_LONG_LONG_INT.
12710         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
12711         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
12712         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
12713         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
12714
12715         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
12716         on stdbool.
12717
12718         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
12719         (gl_PREREQ_XSTRTOUL): Remove.
12720
12721         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
12722
12723         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
12724         mode.
12725
12726 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12727
12728         Add and change modules to make it easier for coreutils to use
12729         gnulib-tool.
12730         * modules/backupfile (Files): Remove m4/d-ino.m4.
12731         (Depends-on): Add d-ino.
12732         * modules/cycle-check (Depends-on): Add stdint.
12733         (lib_SOURCES): Add cycle-check.h.
12734         * modules/d-ino: New module.
12735         * modules/d-type: New module.
12736         * modules/error (Files): Remove m4/strerror_r.m4.
12737         * modules/filemode (Files): Add m4/st_dm_mode.m4.
12738         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
12739         m4/inttypes_h.m4, m4/uintmax_t.m4.
12740         (Depends-on): Add stdint.
12741         (lib_SOURCES): Add fsusage.h.
12742         * modules/getcwd (Files): Remove d-ino.m4.
12743         (Depends-on): Add d-ino.
12744         * modules/getndelim2 (Depends-on): Add stdint.
12745         * modules/glob (Files): Remove m4/d-type.m4.
12746         (Depends-on): Add d-type.
12747         * modules/host-os: New module.
12748         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
12749         m4/inttypes_h.m4, m4/uintmax_t.m4.
12750         * Depends-on: Add stdint.
12751         (lib_SOURCES): Add human.h.
12752         * modules/inttostr (Files): Remove m4/intmax_t.m4,
12753         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
12754         m4/uintmax_t.m4, m4/ulonglong.m4.
12755         (Depends-on): Add stdint.
12756         (EXTRA_DIST): Add inttostr.h.
12757         * modules/lchmod: New module.
12758         * modules/link-follow: New module.
12759         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
12760         (Depends-on): Add lchmod.
12761         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
12762         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
12763         (Depends-on): Add stdint.
12764         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
12765         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
12766         (Depends-on): Add stdint.
12767         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
12768         * modules/perl: New module.
12769         * modules/regex (Depends-on): Add stdint.
12770         * modules/rmdir-errno: New module.
12771         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
12772         m4/intmax_t.m4.
12773         (Depends-on): Add stdint.
12774         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
12775         m4/uintmax_t.m4.
12776         (Depends-on): Add stdint.
12777         * modules/unlink-busy: New module.
12778         * modules/utimecmp (Depends-on): Add stdint.
12779         * modules/uptime: New module.
12780         * modules/winsz-ioctl: New module.
12781         * modules/winsz-termios: New module.
12782         * modules/xnanosleep (Depends-on): Add nanosleep.
12783         * modules/ullong_max: Remove.
12784         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
12785         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
12786         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
12787         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
12788         (Depends-on): Add inttypes.
12789         (lib_SOURCES): Add xstrtol.h.
12790         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
12791         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
12792         * MODULES.html.sh: Move 'assert' into the assert section.
12793         Move 'dummy' into the linking section.
12794         Remove ullong_max.
12795         Add section for compatibility checks for POSIX:2001 functions,
12796         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
12797         winsz-ioctl, and winsz-termios into it.
12798         Add lchmod.
12799         Add top-level Misc section and put host-os, perl, and uptime
12800         into it.
12801
12802 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
12803
12804         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
12805         now assume the stdint module.  Do not include inttypes.h.
12806         * lib/fsusage.h: Likewise.
12807         * lib/getndelim2.c: Likewise.
12808         * lib/human.h: Likewise.
12809         * lib/inttostr.h: Likewise.
12810         * lib/obstack.c: Likewise.
12811         * lib/regex_internal.h: Likewise.
12812         * lib/tempname.c: Likewise.
12813         * lib/utimecmp.c: Likewise.
12814         * lib/xstrtol.h: Likewise.
12815
12816         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
12817
12818         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
12819         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
12820         * lib/xtime.h: Likewise.
12821
12822 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12823
12824         * modules/openat (Files): Add lib/fchmodat.c.
12825         Fixes problem reported by Jay Youngman.
12826
12827 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
12828
12829         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
12830         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
12831
12832 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
12833             Bruno Haible  <bruno@clisp.org>
12834
12835         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
12836         and is a script that invokes bison. Tighten the code. Add comments.
12837
12838 2006-08-18  Jim Meyering  <jim@meyering.net>
12839
12840         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
12841         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
12842         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
12843         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
12844
12845 2006-08-18  Bruno Haible  <bruno@clisp.org>
12846
12847         * modules/bison-i18n: New file.
12848         * MODULES.html.sh (Internationalization functions): Add it.
12849
12850 2006-08-18  Bruno Haible  <bruno@clisp.org>
12851
12852         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
12853         sys/statvfs.h. When getmntinfo was found, check its declaration and
12854         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
12855
12856 2006-08-18  Bruno Haible  <bruno@clisp.org>
12857
12858         * m4/bison-i18n.m4: New file, from bison.
12859
12860 2006-08-18  Bruno Haible  <bruno@clisp.org>
12861
12862         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
12863         (ME_DUMMY): Treat "kernfs" as a dummy.
12864         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
12865
12866 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12867
12868         Update from coreutils.
12869
12870         2006-08-15  Jim Meyering  <jim@meyering.net>
12871
12872         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
12873
12874         2006-01-17  Jim Meyering  <jim@meyering.net>
12875
12876         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
12877
12878         2006-01-11  Jim Meyering  <jim@meyering.net>
12879
12880         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
12881         Check for the lchmod function.
12882
12883 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12884
12885         Update from coreutils.
12886
12887         * lib/__fpending.h: Add copyright notice.
12888         * lib/fprintftime.h: Likewise.
12889         * lib/savedir.c: Use (C) in copyright notice.
12890         * lib/savedir.h: Likewise.
12891
12892         2006-08-15  Jim Meyering  <jim@meyering.net>
12893
12894         * lib/at-func.c: New file, with the logic of all emulated at-functions.
12895         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
12896         in support of the EXPECTED_ERRNO macro.
12897         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
12898         definitions.  Instead, define the appropriate symbols and include
12899         "at-func.c".
12900         * lib/mkdirat.c (mkdirat): Likewise.
12901         * lib/fchmodat.c (fchmodat): Likewise.
12902         (ENOSYS): Remove definition.
12903         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
12904         it.  Don't include "unistd--.h" -- it wasn't ever used.
12905
12906         2006-01-17  Jim Meyering  <jim@meyering.net>
12907
12908         Rewrite fts.c not to change the current working directory,
12909         by using openat, fstatat, fdopendir, etc..
12910
12911         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
12912         (HAVE_OPENAT_SUPPORT): Define.
12913         [_LIBC] (fchdir): Don't undef or define; no longer used.
12914         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
12915         Now, this `function' always succeeds, and consumes its file descriptor
12916         parameter -- so callers must not close such FDs.  Update callers.
12917         (diropen_fd, opendirat, cwd_advance_fd): New functions.
12918         (diropen): Add parameter, SP.  Adjust all callers.
12919         Implement using diropen_fd, rather than open.
12920         (fts_open): Initialize new member, fts_cwd_fd.
12921         Remove fts_rft-setting code.
12922         (fts_close): Close fts_cwd_fd, if necessary.
12923         (__opendir2): Define in terms of opendir or opendirat,
12924         depending on whether the FST_NOCHDIR flag is set.
12925         (fts_build): Since fts_safe_changedir consumes its FD, and since
12926         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
12927         and close the dup'd file descriptor upon failure.
12928         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
12929         (fts_safe_changedir): Tweak semantics to reflect that this function
12930         now calls cwd_advance_fd and hence consumes its FD argument.
12931         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
12932         [struct FTS] (fts_rft): Remove now-unused member.
12933         [struct FTS] (fts_cycle.state): Improve comment.
12934
12935         * lib/openat.c (openat_needs_fchdir): New function.
12936         * lib/openat.h (openat_needs_fchdir): Declare it.
12937
12938 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
12939
12940         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
12941         Problem and fix reported by Pádraig Brady in
12942         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
12943
12944 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12945
12946         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
12947
12948 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12949
12950         * lib/memcoll.c (memcoll): Optimize for the common case where the
12951         arguments are bytewise equal.
12952
12953 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
12954
12955         * doc/regexprops-generic.texi: Add a copyright notice.
12956
12957 2006-08-15  Bruno Haible  <bruno@clisp.org>
12958
12959         * modules/tmpdir (License): Change to LGPL.
12960
12961 2006-08-15  Bruno Haible  <bruno@clisp.org>
12962
12963         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
12964         module.
12965
12966 2006-08-14  Simon Josefsson  <jas@extundo.com>
12967
12968         * config/srclist.txt: Add gnupload.
12969
12970 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12971
12972         Change copyright notice from LGPL 2 to GPL 2, since that's the
12973         standard form used in the gnulib repository.
12974         * tests/test-lock.c: Likewise.
12975         * tests/test-stdint.c: Likewise.
12976         * tests/test-tls.c: Likewise.
12977
12978         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
12979         prelude-manager.  User shorter URLs for GNU projects, without '?'.
12980         Add copyright notice.
12981
12982         * check-module: Add copyright notice.  Output a copyright
12983         notice if "--version" is specified.
12984         * modules/COPYING: New file.
12985         * tests/test-getaddrinfo.c: Add copyright notice.
12986         * tests/test-verify.c: Likewise.
12987
12988 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12989
12990         Change copyright notice from LGPL 2 to GPL 2, since that's the
12991         standard form used in the gnulib repository.
12992         * lib/lock.c: LGPL -> GPL.
12993         * lib/lock.h: Likewise.
12994         * lib/strnlen1.c: Likewise.
12995         * lib/strnlen1.h: Likewise.
12996         * lib/tls.c: Likewise.
12997         * lib/tls.h: Likewise.
12998         * lib/tmpdir.c: Likewise.
12999
13000         * lib/TODO: Remove; this belongs only in coreutils.
13001
13002 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
13003
13004         Add copyright notices to long-enough files that lack them, since
13005         otherwise the files aren't clearly free.  Use the same notice that
13006         getdate.texi already uses.
13007         * doc/alloca-opt.texi: Add copyright notice.
13008         * doc/alloca.texi: Likewise.
13009         * doc/ctime.texi: Likewise.
13010         * doc/functions.texi: Likewise.
13011         * doc/gcd.texi: Likewise.
13012         * doc/gnulib-tool.texi: Likewise.
13013         * doc/inet_ntoa.texi: Likewise.
13014         * doc/visibility.texi: Likewise.
13015
13016         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
13017         * doc/quote.texi: Add copyright notice.
13018
13019         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
13020         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
13021         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
13022         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
13023         is now obsolete, and give a pointer to the Sun list.
13024         Add copyright notice.
13025
13026 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
13027
13028         * config/srclistvars.sh: Add copyright notice.
13029
13030 2006-08-14  Eric Blake  <ebb9@byu.net>
13031
13032         Import the following change from libc:
13033
13034         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
13035
13036         Upstream bug 2997.
13037         * lib/misc/error.c: Add space between program name and message if file
13038         name is missing.
13039
13040 2006-08-12  Karl Berry  <karl@gnu.org>
13041
13042         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
13043         remove, these originate in gnulib now.
13044
13045 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13046
13047         * doc/Makefile (standards.info standards.html standards.dvi):
13048         Also depend on make-stds.texi.
13049
13050 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13051
13052         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
13053         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
13054
13055         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
13056         in wchar_t.  Problem reported by Eric Blake.
13057
13058         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
13059         LEN is smaller than SIZE.  Suggested by Bruno Haible.
13060         Also, help the compiler to keep LEN in a register.
13061
13062 2006-08-11  Eric Blake  <ebb9@byu.net>
13063
13064         * users.txt: Sort.  Add tar.
13065
13066 2006-08-11  Bruno Haible  <bruno@clisp.org>
13067
13068         * users.txt: New file.
13069
13070 2006-08-11  Bruno Haible  <bruno@clisp.org>
13071
13072         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
13073         before <wchar.h>. Needed for OSF/1 and BSD/OS.
13074
13075 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
13076
13077         * modules/snprintf (Depends-on): Remove minmax.
13078         (Maintainer): Add self and Bruno.
13079
13080 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
13081
13082         * lib/.cppi-disable: Add snprintf.h, socket_.h.
13083         * lib/snprintf.c: Include <errno.h> and <limits.h>.
13084         (EOVERFLOW): Define if the system does not.
13085         Do not include "minmax.h"; it wasn't used.
13086         (snprintf): Don't assume size_t promotes to an unsigned type.
13087         Fix bug when generated string was too long for the buffer: the
13088         buffer's contents are supposed to be the initial prefix of the
13089         output.  Don't assume vasnprintf returns EOVERFLOW if the size
13090         exceeds INT_MAX; do the check ourselves.
13091
13092         Import the following changes from libc:
13093
13094         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
13095
13096         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
13097         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
13098         set wc to the byte which couldn't be converted.
13099         (re_string_reconstruct): Don't clear valid_raw_len before calling
13100         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
13101         tip_context using re_string_context_at.
13102
13103         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
13104
13105         * lib/posix/regex.h: g++ still cannot handled [restrict].
13106
13107         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
13108
13109         * lib/posix/regex.h: Remove special handling for VMS.
13110
13111 2006-08-10  Jim Meyering  <jim@meyering.net>
13112
13113         * modules/same-inode: New module.
13114         * modules/dev-ino: New module.
13115         * modules/cycle-check: Depend on these modules, rather than simply
13116         including their .h files.
13117         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
13118         required via m4/cycle-check.m4.
13119         * modules/same: Depend on new same-inode module, rather than
13120         including same-inode.h.
13121         * modules/chdir-safer: New file.
13122
13123         * modules/chown (Depends-on): Add stat-macros.
13124
13125 2006-08-10  Jim Meyering  <jim@meyering.net>
13126
13127         * m4/cycle-check.m4: New file.
13128         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
13129         * m4/dev-ino.m4, m4/same-inode.m4: New files.
13130
13131 2006-08-10  Eric Blake  <ebb9@byu.net>
13132
13133         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
13134         in from original proposal.
13135
13136 2006-08-10  Eric Blake  <ebb9@byu.net>
13137         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
13138
13139         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
13140         namespace.
13141
13142 2006-08-10  Bruno Haible  <bruno@clisp.org>
13143
13144         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
13145         as well.
13146
13147 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13148
13149         Sync from coreutils.
13150
13151         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
13152
13153         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
13154         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
13155
13156 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13157
13158         * modules/restrict: Remove; no longer needed now that we assume
13159         Autoconf 2.59 or later.
13160         * MODULES.html.sh: Remove 'restrict'.
13161         * modules/argp (Depends-on): Remove 'restrict'.
13162         * modules/base64 (Depends-on): Likewise.
13163         * modules/gc (Depends-on): Likewise.
13164         * modules/getaddrinfo (Depends-on): Likewise.
13165         * modules/glob (Depends-on): Likewise.
13166         * modules/inet_ntop (Depends-on): Likewise.
13167         * modules/inet_pton (Depends-on): Likewise.
13168         * modules/memxor (Depends-on): Likewise.
13169         * modules/regex (Depends-on): Likewise.
13170         * modules/strtok_r (Depends-on): Likewise.
13171         * modules/time_r (Depends-on): Likewise.
13172
13173 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
13174
13175         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
13176         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
13177         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
13178         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
13179         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
13180         * m4/memxor.m4 (gl_MEMXOR): Likewise.
13181         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
13182         gl_C_RESTRICT replaced by AC_C_RESTRICT.
13183
13184         Merge from coreutils.
13185         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
13186         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
13187         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
13188         * m4/time_r.m4 (gl_TIME_R): Likewise.
13189
13190 2006-08-09  Karl Berry  <karl@gnu.org>
13191
13192         * config/srclist.txt: no more gettext-tools, per Bruno.
13193
13194 2006-08-08  Eric Blake  <ebb9@byu.net>
13195
13196         * modules/verror: New module.
13197         * MODULES.html.sh: Document it.
13198
13199 2006-08-08  Eric Blake  <ebb9@byu.net>
13200
13201         * lib/verror.h, lib/verror.c: New files.
13202
13203 2006-08-08  Eric Blake  <ebb9@byu.net>
13204
13205         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
13206         verror_at_line output complies with GNU Coding Standards even when
13207         file is NULL.
13208
13209 2006-08-07  Bruno Haible  <bruno@clisp.org>
13210
13211         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
13212         versions of AIX.
13213         Reported by Ralf Wildenhues.
13214
13215 2006-08-07  Bruno Haible  <bruno@clisp.org>
13216
13217         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
13218         in an AC_DEFUN. Needed so that the autoconf snippets can use
13219         AC_REQUIRE.
13220
13221 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13222
13223         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13224         Initialize pkgdata_DATA.
13225         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
13226         overriding it.
13227
13228 2006-08-06  Eric Blake  <ebb9@byu.net>
13229
13230         * lib/error.h: Fold in some upstream changes from glibc.
13231         * lib/error.c: Likewise.
13232
13233 2006-08-04  Bruno Haible  <bruno@clisp.org>
13234
13235         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13236         Make the mostlyclean-local rule depend on mostlyclean-generic.
13237         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
13238
13239 2006-07-31  Bruno Haible  <bruno@clisp.org>
13240
13241         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
13242         <stdlib.h>, <string.h>.
13243
13244 2006-07-30  Bruno Haible  <bruno@clisp.org>
13245
13246         * modules/readlink (License): Change to LGPL.
13247
13248 2006-07-30  Bruno Haible  <bruno@clisp.org>
13249
13250         * modules/javaversion (Makefile.am): Distribute javaversion.java and
13251         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
13252         set PKGDATADIR to point to it.
13253
13254 2006-07-30  Bruno Haible  <bruno@clisp.org>
13255
13256         * modules/csharpexec (configure.ac): Comment out macro invocation.
13257         * modules/javaexec (configure.ac): Likewise.
13258         * modules/javacomp-script (configure.ac): Likewise.
13259
13260         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
13261
13262 2006-07-30  Bruno Haible  <bruno@clisp.org>
13263
13264         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
13265         linked-list.
13266
13267 2006-07-30  Bruno Haible  <bruno@clisp.org>
13268
13269         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
13270
13271 2006-07-30  Bruno Haible  <bruno@clisp.org>
13272
13273         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13274         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
13275         get removed.
13276
13277 2006-07-29  Bruno Haible  <bruno@clisp.org>
13278
13279         Make it possible for gnulib-tool to work with locally modified or
13280         augmented gnulib repositories.
13281         * gnulib-tool (func_usage): Document --local-dir option.
13282         (local_gnulib_dir): New variable.
13283         Handle --local-dir option.
13284         (func_lookup_file): New function.
13285         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
13286         (func_get_description, func_get_filelist, func_get_description,
13287         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
13288         func_get_automake_snippet, func_get_include_directive,
13289         func_get_license, func_get_maintainer): Use func_lookup_file.
13290         (func_import, func_create_testdir): Use func_lookup_file.
13291
13292 2006-07-29  Bruno Haible  <bruno@clisp.org>
13293
13294         * modules/setenv (Depends-on): Add unistd.
13295
13296 2006-07-29  Bruno Haible  <bruno@clisp.org>
13297
13298         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
13299
13300 2006-07-29  Bruno Haible  <bruno@clisp.org>
13301
13302         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
13303
13304 2006-07-29  Bruno Haible  <bruno@clisp.org>
13305
13306         * gnulib-tool (import, update): If there is no Makefile.am, look at
13307         aclocal.m4, instead of bailing out.
13308
13309 2006-07-29  Bruno Haible  <bruno@clisp.org>
13310
13311         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
13312         Categorize the options by when they are useful.
13313
13314 2006-07-29  Bruno Haible  <bruno@clisp.org>
13315
13316         * gnulib-tool (func_usage): Document option --no-libtool.
13317         Handle option --no-libtool.
13318         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
13319         for changed semantics of $libtool variable.
13320         (func_import): Likewise. If libtool is not used, show this through
13321         an option --no-libtool.
13322         (func_create_testdir): Update.
13323
13324 2006-07-29  Bruno Haible  <bruno@clisp.org>
13325
13326         * gnulib-tool (func_import): Extend error message about missing
13327         --doc-base.
13328
13329 2006-07-29  Bruno Haible  <bruno@clisp.org>
13330
13331         * gnulib-tool (func_import): Don't create the $docbase directory if
13332         there is no file to store there.
13333
13334 2006-07-29  Bruno Haible  <bruno@clisp.org>
13335
13336         * gnulib-tool (autoconf_minversion): If a --dir option is given and
13337         relevant, look for configure.ac there, not in the current directory.
13338         Also use a simple search for AC_PREREQ, not "autoconf --trace".
13339
13340 2006-07-29  Bruno Haible  <bruno@clisp.org>
13341
13342         * gnulib-tool (SORT): New variable.
13343         (func_usage): Undocument --assume-autoconf option.
13344         Remove --assume-autoconf option handling.
13345         (autoconf_minversion): Determine from the contents of configure.ac.
13346         (func_import): Remove autoconf_minversion handling.
13347         Suggested by Eric Blake.
13348
13349 2006-07-29  Bruno Haible  <bruno@clisp.org>
13350
13351         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
13352
13353 2006-07-29  Bruno Haible  <bruno@clisp.org>
13354
13355         * config/srclist.txt (*setenv.[ch]): Remove rules.
13356
13357 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13358
13359         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
13360
13361 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13362
13363         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
13364         arpa/inet.h.
13365
13366 2006-07-28  Simon Josefsson  <jas@extundo.com>
13367
13368         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
13369         * modules/inet_pton (Depends-on): Likewise.
13370
13371 2006-07-28  Simon Josefsson  <jas@extundo.com>
13372
13373         * m4/netinet_in_h.m4: New file.
13374
13375 2006-07-28  Simon Josefsson  <jas@extundo.com>
13376
13377         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
13378         #include's.
13379
13380 2006-07-28  Simon Josefsson  <jas@extundo.com>
13381
13382         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
13383         #include's.
13384
13385 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
13386
13387         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
13388         setgid on directories only if they set these bits.
13389         * lib/modechange.h: Remove obsolete comment about masks.
13390
13391 2006-07-28  Eric Blake  <ebb9@byu.net>
13392
13393         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
13394         macro expansion.
13395
13396 2006-07-28  Bruno Haible  <bruno@clisp.org>
13397
13398         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
13399
13400 2006-07-28  Bruno Haible  <bruno@clisp.org>
13401
13402         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
13403
13404 2006-07-28  Bruno Haible  <bruno@clisp.org>
13405
13406         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
13407         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
13408         Define fallbacks.
13409         Avoids link error on FreeBSD 4.x.
13410         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13411
13412         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
13413         encoding.
13414         * lib/mbswidth.c (iswcntrl): Likewise.
13415
13416 2006-07-27  Bruno Haible  <bruno@clisp.org>
13417
13418         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
13419         test.
13420
13421 2006-07-27  Bruno Haible  <bruno@clisp.org>
13422
13423         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
13424         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
13425         defined.
13426
13427 2006-07-26  Eric Blake  <ebb9@byu.net>
13428
13429         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
13430
13431 2006-07-26  Eric Blake  <ebb9@byu.net>
13432
13433         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
13434         like mingw that lack mkstemp.
13435         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
13436         avoid compilation warning on mingw.
13437
13438 2006-07-26  Bruno Haible  <bruno@clisp.org>
13439
13440         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
13441         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
13442         INT_FAST*_MIN, INTPTR_MIN.
13443
13444 2006-07-25  Bruno Haible  <bruno@clisp.org>
13445
13446         * modules/version-etc (Depends-on): Add stdarg.
13447
13448 2006-07-25  Bruno Haible  <bruno@clisp.org>
13449
13450         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
13451         complex commands.
13452
13453 2006-07-25  Bruno Haible  <bruno@clisp.org>
13454
13455         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
13456         defined in <stdarg.h> or config.h.
13457
13458 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
13459
13460         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
13461         (gl_STDIO_SAFER): Remove.
13462
13463 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
13464
13465         * MODULES.html.sh (File stream based Input/Output):
13466         Add fopen-safer, tmpfile-safer; remove stdio-safer.
13467         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
13468         * modules/fopen-safer, modules/tmpfile-safer: New files.
13469         * modules/stdio-safer: Remove.
13470
13471 2006-07-24  Bruno Haible  <bruno@clisp.org>
13472
13473         * modules/tmpdir: New file.
13474         * MODULES.html.sh (File system functions): Add it.
13475
13476 2006-07-24  Bruno Haible  <bruno@clisp.org>
13477
13478         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
13479         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
13480
13481 2006-07-24  Bruno Haible  <bruno@clisp.org>
13482
13483         * modules/clean-temp: New file.
13484
13485 2006-07-24  Bruno Haible  <bruno@clisp.org>
13486
13487         * m4/tmpdir.m4: New file, from GNU gettext.
13488
13489 2006-07-24  Bruno Haible  <bruno@clisp.org>
13490
13491         * lib/tmpdir.h: New file, from GNU gettext.
13492         * lib/tmpdir.c: New file, from GNU gettext.
13493
13494 2006-07-24  Bruno Haible  <bruno@clisp.org>
13495
13496         * lib/clean-temp.h: New file, from GNU gettext.
13497         * lib/clean-temp.c: New file, from GNU gettext.
13498
13499 2006-07-23  Eric Blake  <ebb9@byu.net>
13500
13501         * modules/stdio-safer (Files): Add tmpfile-safer.c.
13502         (Depends-on): Add binary-io.
13503
13504 2006-07-23  Eric Blake  <ebb9@byu.net>
13505
13506         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
13507
13508 2006-07-23  Eric Blake  <ebb9@byu.net>
13509
13510         * lib/tmpfile-safer.c: New file.
13511         * lib/stdio-safer.h (fopen_safer): Add prototype.
13512         * lib/stdio--.h (tmpfile): Make safer.
13513
13514 2006-07-23  Bruno Haible  <bruno@clisp.org>
13515
13516         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
13517         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
13518         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
13519         gl_linked_remove_at): Use it.
13520
13521 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13522         and Simon Josefsson <jas@extundo.com>
13523
13524         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
13525
13526         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
13527
13528 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
13529
13530         * modules/close-stream: New file.
13531         * modules/closeout (Description): Make it clear that it exits
13532         with a diagnostic on error.
13533         (Depends-on): Add close-stream.  Remove fpending, stdbool.
13534         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
13535
13536 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
13537
13538         * m4/close-stream.m4: New file.
13539
13540 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
13541
13542         * lib/close-stream.c, lib/close-stream.h: New files.
13543
13544 2006-07-22  Bruno Haible  <bruno@clisp.org>
13545
13546         Merge from GNU gettext 0.15.
13547
13548         2006-05-01  Bruno Haible  <bruno@clisp.org>
13549
13550                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
13551
13552         2006-07-22  Bruno Haible  <bruno@clisp.org>
13553
13554                 * modules/javaversion: New file.
13555                 * MODULES.html.sh (Java): Add javaversion.
13556
13557         2006-03-12  Bruno Haible  <bruno@clisp.org>
13558
13559                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
13560
13561         2005-12-04  Bruno Haible  <bruno@clisp.org>
13562
13563                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
13564                 (untested).
13565
13566         2006-06-21  Bruno Haible  <bruno@clisp.org>
13567
13568                 Avoid warnings from recent versions of mcs.
13569                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
13570                 -o, -L, -r any more. Use options documented since mcs-1.0
13571                 instead. Similarly for -g.
13572
13573         2005-12-04  Bruno Haible  <bruno@clisp.org>
13574
13575                 * build-aux/csharpcomp.sh.in: Suffix for resources is
13576                 .resources, not .resource.
13577
13578         2005-07-09  Bruno Haible  <bruno@clisp.org>
13579
13580                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
13581                 add a .dll suffix.
13582                 Reported by Mark Junker <mjscod@gmx.de>.
13583
13584         2006-07-22  Bruno Haible  <bruno@clisp.org>
13585
13586                 * modules/gettext: Upgrade to gettext-0.15.
13587                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
13588                 m4/visibility.m4.
13589                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
13590
13591 2006-07-22  Bruno Haible  <bruno@clisp.org>
13592
13593         Merge from GNU gettext 0.15.
13594
13595         2006-03-25  Bruno Haible  <bruno@clisp.org>
13596
13597                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
13598
13599         2006-07-21  Bruno Haible  <bruno@clisp.org>
13600
13601                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
13602                 "1.1".
13603
13604         2006-05-09  Bruno Haible  <bruno@clisp.org>
13605
13606                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
13607                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
13608                 for the conftestver execution.
13609
13610         2006-05-01  Bruno Haible  <bruno@clisp.org>
13611
13612                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
13613                 optional target-version argument. Verify that the compiler
13614                 groks source of the specified source-version, or add -source
13615                 option as necessary. Verify that the compiler produces
13616                 bytecode in the specified target-version, or add -target and
13617                 -source options as necessary. Make the result of the test
13618                 available as variable CONF_JAVAC. Also log error output in
13619                 config.log.
13620
13621         2006-03-11  Bruno Haible  <bruno@clisp.org>
13622
13623                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
13624
13625         2006-05-09  Bruno Haible  <bruno@clisp.org>
13626
13627                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
13628                 CLASSPATH_SEPARATOR to a semicolon.
13629
13630         2006-03-12  Bruno Haible  <bruno@clisp.org>
13631
13632                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
13633                 available as variable CONF_JAVA, for subsequent autoconf
13634                 tests. Also log error output in config.log.
13635
13636         2006-07-19  Bruno Haible  <bruno@clisp.org>
13637
13638                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
13639                 that getline works on glibc2 systems. Needed to avoid trouble
13640                 in relocatable.c.
13641                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
13642
13643         2005-12-04  Bruno Haible  <bruno@clisp.org>
13644
13645                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
13646                 launcher (untested).
13647
13648         2005-12-04  Bruno Haible  <bruno@clisp.org>
13649
13650                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
13651
13652         2006-07-22  Bruno Haible  <bruno@clisp.org>
13653
13654                 * gettext.m4: Update from GNU gettext-0.15.
13655                 * nls.m4: Likewise.
13656                 * po.m4: Likewise.
13657                 * inttypes-pri.m4: Likewise.
13658                 * inttypes-h.m4: Renamed from inttypes.m4.
13659                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
13660
13661 2006-07-22  Bruno Haible  <bruno@clisp.org>
13662
13663         Merge from GNU gettext 0.15.
13664
13665         2005-07-05  Bruno Haible  <bruno@clisp.org>
13666
13667                 * printf-args.c (printf_fetchargs): Work around broken
13668                 definition of wint_t on mingw.
13669
13670         2005-02-12  Bruno Haible  <bruno@clisp.org>
13671
13672                 * xallocsa.h: Add extern "C" for C++.
13673
13674         2006-05-17  Bruno Haible  <bruno@clisp.org>
13675
13676                 Cygwin portability.
13677                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
13678
13679         2006-04-30  Bruno Haible  <bruno@clisp.org>
13680
13681                 * progreloc.c: Include <mach-o/dyld.h> if available.
13682                 (find_executable): Use _NSGetExecutablePath when possible.
13683
13684         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
13685
13686                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
13687                 function.
13688
13689         2005-12-29  Bruno Haible  <bruno@clisp.org>
13690
13691                 * progreloc.c (set_program_name_and_installdir): Fix
13692                 compilation error.
13693
13694         2005-12-04  Bruno Haible  <bruno@clisp.org>
13695
13696                 Cygwin portability.
13697                 * progreloc.c: Include <windows.h> also on Cygwin.
13698                 (find_executable): Add support for Cygwin.
13699                 (set_program_name_and_installdir): Handle also platforms with
13700                 nonempty EXEEXT.
13701
13702         2006-07-11  Bruno Haible  <bruno@clisp.org>
13703
13704                 * javacomp.c: Fix a comment.
13705                 Reported by Jim Meyering.
13706
13707         2006-04-30  Bruno Haible  <bruno@clisp.org>
13708
13709                 * javacomp.h (compile_java_class): Add source_version,
13710                 target_version arguments.
13711                 * javacomp.c: Rewritten to choose only a compiler that
13712                 respects the specified source_version and target_version.
13713
13714         2006-06-27  Bruno Haible  <bruno@clisp.org>
13715
13716                 Assume correct S_ISDIR macro.
13717                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
13718
13719         2006-07-22  Bruno Haible  <bruno@clisp.org>
13720
13721                 * javaversion.h: New file, from GNU gettext.
13722                 * javaversion.c: New file, from GNU gettext.
13723                 * javaversion.java: New file, from GNU gettext.
13724                 * javaversion.class: New file, from GNU gettext.
13725
13726         2006-05-17  Bruno Haible  <bruno@clisp.org>
13727
13728                 Cygwin portability.
13729                 * javaexec.c (execute_java_class): Test for jview program
13730                 also on Cygwin.
13731
13732         2006-04-09  Bruno Haible  <bruno@clisp.org>
13733
13734                 * fatal-signal.c: Don't include string.h.
13735                 (at_fatal_signal): Use a copying loop instead of memcpy.
13736
13737         2005-12-04  Bruno Haible  <bruno@clisp.org>
13738
13739                 * csharpexec.c: Add support for 'clix' launcher (untested).
13740                 (execute_csharp_using_sscli): New function.
13741                 (execute_csharp_program): Call it.
13742
13743         2006-06-21  Bruno Haible  <bruno@clisp.org>
13744
13745                 Avoid warnings from recent versions of mcs.
13746                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
13747                 -o, -L, -r any more. Use options documented since mcs-1.0
13748                 instead. Similarly for -g.
13749
13750         2005-07-09  Bruno Haible  <bruno@clisp.org>
13751
13752                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
13753                 add a .dll suffix.
13754                 Reported by Mark Junker <mjscod@gmx.de>.
13755
13756         2006-06-17  Bruno Haible  <bruno@clisp.org>
13757
13758                 * config.charset: Update for NetBSD 3.0.
13759
13760         2006-05-17  Bruno Haible  <bruno@clisp.org>
13761
13762                 Cygwin portability.
13763                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
13764
13765         2006-05-16  Bruno Haible  <bruno@clisp.org>
13766
13767                 * localcharset.c [CYGWIN]: Include <windows.h>.
13768                 (get_charset_aliases): For Cygwin, return the same CPxxx
13769                 aliases list as under WIN32.
13770                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
13771                 the environment variables. Fall back to GetACP().
13772
13773         2006-04-05  Bruno Haible  <bruno@clisp.org>
13774
13775                 * config.charset: Update Juan Manuel Guerrero's address.
13776
13777         2005-02-12  Bruno Haible  <bruno@clisp.org>
13778
13779                 * allocsa.h: Add extern "C" for C++.
13780
13781         2005-02-10  Bruno Haible  <bruno@clisp.org>
13782
13783                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
13784                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
13785
13786         2006-07-22  Bruno Haible  <bruno@clisp.org>
13787
13788                 * gettext.h: Update to GNU gettext-0.15.
13789
13790 2006-07-22  Bruno Haible  <bruno@clisp.org>
13791
13792         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
13793         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
13794         lib-prefix.m4, longdouble.m4, ssize_t.m4.
13795
13796 2006-07-21  Eric Blake  <ebb9@byu.net>
13797
13798         * modules/stdlib-safer: New file.
13799         * MODULES.html.sh (File stream based Input/Output): Add
13800         stdlib-safer.
13801
13802 2006-07-21  Eric Blake  <ebb9@byu.net>
13803
13804         * lib/stdlib-safer.h: New file from coreutils, required by
13805         stdlib--.h.
13806
13807 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
13808
13809         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
13810
13811 2006-07-20  Bruno Haible  <bruno@clisp.org>
13812
13813         * gnulib-tool: Recognize new option --assume-autoconf.
13814         (autoconf_minversion): New variable.
13815         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
13816
13817 2006-07-20  Bruno Haible  <bruno@clisp.org>
13818
13819         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
13820
13821 2006-07-19  Derek R. Price  <derek@ximbiot.com>
13822
13823         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
13824         Reindent and repaginate.
13825
13826 2006-07-19  Derek Price  <derek@ximbiot.com>
13827
13828         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
13829         Correct grammar.
13830
13831 2006-07-17  Bruno Haible  <bruno@clisp.org>
13832
13833         * modules/list: New file.
13834         * modules/array-list: New file.
13835         * modules/carray-list, modules/carray-list-tests: New files.
13836         * modules/linked-list, modules/linked-list-tests: New files.
13837         * modules/avltree-list, modules/avltree-list-tests: New files.
13838         * modules/rbtree-list, modules/rbtree-list-tests: New files.
13839         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
13840         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
13841         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
13842         * modules/oset: New file.
13843         * modules/array-oset: New file.
13844         * modules/avltree-oset, modules/avltree-oset-tests: New files.
13845         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
13846         * tests/test-carray_list.c: New file.
13847         * tests/test-linked_list.c: New file.
13848         * tests/test-avltree_list.c: New file.
13849         * tests/test-rbtree_list.c: New file.
13850         * tests/test-linkedhash_list.c: New file.
13851         * tests/test-avltreehash_list.c: New file.
13852         * tests/test-rbtreehash_list.c: New file.
13853         * tests/test-avltree_oset.c: New file.
13854         * tests/test-rbtree_oset.c: New file.
13855         * MODULES.html.sh (Container data structures): New section.
13856
13857 2006-07-17  Bruno Haible  <bruno@clisp.org>
13858
13859         * m4/gl_list.m4: New file.
13860
13861 2006-07-17  Bruno Haible  <bruno@clisp.org>
13862
13863         * lib/gl_list.h: New file.
13864         * lib/gl_list.c: New file.
13865         * lib/gl_array_list.h: New file.
13866         * lib/gl_array_list.c: New file.
13867         * lib/gl_carray_list.h: New file.
13868         * lib/gl_carray_list.c: New file.
13869         * lib/gl_linked_list.h: New file.
13870         * lib/gl_linked_list.c: New file.
13871         * lib/gl_anylinked_list1.h: New file.
13872         * lib/gl_anylinked_list2.h: New file.
13873         * lib/gl_avltree_list.h: New file.
13874         * lib/gl_avltree_list.c: New file.
13875         * lib/gl_anyavltree_list1.h: New file.
13876         * lib/gl_anyavltree_list2.h: New file.
13877         * lib/gl_rbtree_list.h: New file.
13878         * lib/gl_rbtree_list.c: New file.
13879         * lib/gl_anyrbtree_list1.h: New file.
13880         * lib/gl_anyrbtree_list2.h: New file.
13881         * lib/gl_anytree_list1.h: New file.
13882         * lib/gl_anytree_list2.h: New file.
13883         * lib/gl_linkedhash_list.h: New file.
13884         * lib/gl_linkedhash_list.c: New file.
13885         * lib/gl_anyhash_list1.h: New file.
13886         * lib/gl_anyhash_list2.h: New file.
13887         * lib/gl_avltreehash_list.h: New file.
13888         * lib/gl_avltreehash_list.c: New file.
13889         * lib/gl_rbtreehash_list.h: New file.
13890         * lib/gl_rbtreehash_list.c: New file.
13891         * lib/gl_anytreehash_list1.h: New file.
13892         * lib/gl_anytreehash_list2.h: New file.
13893
13894         * lib/gl_oset.h: New file.
13895         * lib/gl_oset.c: New file.
13896         * lib/gl_array_oset.h: New file.
13897         * lib/gl_array_oset.c: New file.
13898         * lib/gl_avltree_oset.h: New file.
13899         * lib/gl_avltree_oset.c: New file.
13900         * lib/gl_rbtree_oset.h: New file.
13901         * lib/gl_rbtree_oset.c: New file.
13902         * lib/gl_anytree_oset.h: New file.
13903
13904 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13905
13906         * m4/mkancesdirs.m4: New file.
13907         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
13908         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
13909         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
13910         it.
13911
13912 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13913
13914         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
13915         * lib/mkancesdirs.h: New files.
13916         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
13917         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
13918         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
13919         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
13920         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
13921         callers changed.  Revamp internals significantly, by not
13922         attempting to create directories that are temporarily more
13923         permissive than the final results.  Do not attempt to use
13924         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
13925         This removes some race conditions, fixes some bugs, and simplifies
13926         things.  Use new dirchownmod function to do owner and mode changes.
13927         * lib/mkdir-p.h: Likewise.
13928         * lib/modechange.c (octal_to_mode): New function.
13929         (struct mode_change): New member mentioned.
13930         (make_node_op_equals): New arg mentioned.  All callers changed.
13931         (mode_compile): Keep track of which mode bits the user has explicitly
13932         mentioned.
13933         (mode_adjust): New arg DIR, so that we implement the X op correctly.
13934         New arg PMODE_BITS, to keep track of which mode bits the user
13935         mentioned; it treats S_ISUID and S_ISGID speciall.
13936         All callers changed.
13937         * lib/modechange.h: Likewise.
13938
13939 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13940
13941         * MODULES.html.sh: Add mkancestors.
13942         * modules/mkancesdirs: New module.
13943         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
13944         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
13945         The chdir-safer and afs files are now orphans; I'll remove them
13946         unless someone speaks up.
13947         Add lib/dirchownmod.c, lib/dirchownmod.h.
13948         (Depends-on): Remove alloca, chown, save-cwd, dirname.
13949         Add lchown, mkancesdirs.
13950         (Maintainer): Add self.
13951
13952 2006-07-15  Karl Berry  <karl@gnu.org>
13953
13954         * gnulib-tool: help message wording/arrangement.
13955
13956 2006-07-14  Simon Josefsson  <jas@extundo.com>
13957
13958         * doc/gnulib.texi (Libtool and Windows): New section.
13959
13960 2006-07-12  Simon Josefsson  <jas@extundo.com>
13961
13962         * modules/gendocs (License): Fix license, approved by Karl.
13963
13964 2006-07-12  Eric Blake  <ebb9@byu.net>
13965
13966         * MODULES.html.sh: Add gendocs.
13967
13968 2006-07-11  Eric Blake  <ebb9@byu.net>
13969
13970         * modules/fdl: New module, to install doc/fdl.texi.
13971         * MODULES.html.sh: Add new section for documentation modules.
13972         * gnulib-tool: Avoid space-tab.
13973         (--doc-base): New option, to manage files from doc.
13974
13975 2006-07-11  Eric Blake  <ebb9@byu.net>
13976
13977         * m4/absolute-header.m4: Fix comments to match recent change.
13978
13979 2006-07-11  Eric Blake  <ebb9@byu.net>
13980
13981         * gnulib-tool: List --doc-base before --tests-base.
13982
13983 2006-07-11  Derek R. Price  <derek@ximbiot.com>
13984
13985         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
13986
13987 2006-07-11  Bruno Haible  <bruno@clisp.org>
13988
13989         * README: Mention where to put documentation.
13990
13991 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
13992
13993         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
13994
13995 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
13996
13997         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
13998         to stdint.m4.
13999
14000 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
14001
14002         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
14003         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
14004         "no/such/file/stdint.h" when there is no such file, so that
14005         the resulting C code can be parsed by dodgy compilers.
14006         Problems reported by Bob Proulx.
14007
14008 2006-07-10  Derek R. Price  <derek@ximbiot.com>
14009
14010         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
14011         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
14012         macros into the GNU _D_EXACT_NAMLEN.
14013         * lib/savedir.c:  Likewise.
14014         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
14015
14016 2006-07-10  Derek R. Price  <derek@ximbiot.com>
14017         and Paul Eggert  <eggert@cs.ucla.edu>
14018
14019         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
14020         * m4/savedir.m4:
14021         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
14022         macros into the GNU _D_EXACT_NAMLEN.
14023
14024 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14025
14026         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
14027         around the absolute name, to work around a problem with the HP-UX
14028         11.23 native C compiler, reported by Bob Proulx.
14029
14030 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14031
14032         * doc/maintain.texi, make-stds.texi: Sync from
14033         <http://savannah.gnu.org/projects/gnustandards>.
14034
14035 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14036
14037         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
14038
14039 2006-07-09  Jim Meyering  <jim@meyering.net>
14040
14041         * m4/glob.m4: Remove a doubled word in a comment.
14042
14043 2006-07-09  Jim Meyering  <jim@meyering.net>
14044
14045         * lib/argp-pv.c: Remove a doubled word in a comment.
14046         * lib/check-version.c (check_version): Likewise.
14047         * lib/javacomp.c (compile_java_class): Likewise.
14048
14049 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14050
14051         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
14052         for the benefit of people using Autoconf 2.60.  If you want to
14053         support older Autoconf versions you can copy m4/onceonly_2_57.m4
14054         (or m4/onceonly.m4, if pre-2.57) manually.
14055
14056 2006-07-08  Jim Meyering  <jim@meyering.net>
14057
14058         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
14059         comment.
14060         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
14061         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
14062         comment.
14063
14064 2006-07-08  Jim Meyering  <jim@meyering.net>
14065
14066         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
14067
14068 2006-07-07  Simon Josefsson  <jas@extundo.com>
14069
14070         * tests/test-crc.c: Change expected crc value, the test vector
14071         were probably computed using the old broken crc.c?
14072
14073 2006-07-06  Simon Josefsson  <jas@extundo.com>
14074
14075         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
14076         now the canonical place for the M4 file).
14077
14078         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
14079         from the sys_socket dependency now.
14080
14081         * modules/inet_pton (Files): Ditto.
14082
14083         * modules/inet_ntop (Files): Ditto.
14084
14085 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
14086
14087         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
14088         not gl_PREREQ_GETUSERSHELL.
14089
14090 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14091
14092         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
14093         with only one argument, for Autoconf 2.60.
14094         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
14095         expand to nothing, so add a shell command to avoid syntax error.
14096         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14097
14098 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14099
14100         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
14101
14102 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14103
14104         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
14105         no longer needed.  Check for isblank decl.
14106         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
14107         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
14108         of existence.
14109
14110 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14111
14112         * lib/getloadavg.c: Use __VMS, not VMS.
14113         * lib/getopt.c: Likewise.
14114         * lib/getpagesize.h: Likewise.
14115         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
14116         and probably does not work.
14117
14118 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14119
14120         * lib/.cppi-disable: Add wcwidth.
14121         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
14122         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
14123         (ISGRAPH): Remove.  All uses changed to isgraph.
14124         (FOLD) [!defined _LIBC]: Remove special case.
14125         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
14126         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
14127         HAVE_ISBLANK.
14128         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
14129         case.
14130
14131 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
14132
14133         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
14134         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
14135         brackets.  Other minor changes to suppress some compiler
14136         warnings.
14137
14138 2006-07-06  Derek R. Price  <derek@ximbiot.com>
14139         and Paul Eggert  <eggert@cs.ucla.edu>
14140
14141         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
14142         of invoking obsolescent AC_HEADER_DIRENT macro.
14143         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
14144         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
14145         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14146         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
14147         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
14148         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
14149         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
14150         * m4/readdir.m4: Remove; no longer needed.
14151
14152 2006-07-06  Derek R. Price  <derek@ximbiot.com>
14153         and Paul Eggert  <eggert@cs.ucla.edu>
14154
14155         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
14156         Don't worry about this obsolete case any more.
14157         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
14158         directories.
14159         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
14160         worry about this obsolete case any more.
14161         * lib/fts.c: Likewise.
14162         * lib/getcwd.c: Likewise.
14163         * lib/glob.h: Likewise.
14164         * lib/savedir.c: Likewise.
14165
14166 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14167
14168         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
14169         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
14170         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
14171         needed.
14172         All uses removed.
14173         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
14174         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
14175         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
14176         needed.
14177         * m4/getdate.m4 (gl_GETDATE): Likewise.
14178         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
14179         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
14180         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14181         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
14182         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
14183         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
14184         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
14185         needed.
14186
14187 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14188
14189         * lib/memcasecmp.c: Include <limits.h>.
14190         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
14191         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
14192         Don't assume isdigit succeeds only on '0' through '9'.
14193
14194 2006-07-05  Eric Blake  <ebb9@byu.net>
14195
14196         * modules/getaddrinfo (Depends-on): Add snprintf.
14197
14198 2006-07-05  Eric Blake  <ebb9@byu.net>
14199
14200         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
14201         to avoid 'header present but could not be compiled' on cygwin.
14202
14203 2006-07-05  Eric Blake  <ebb9@byu.net>
14204
14205         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
14206         missing from netdb.h.
14207         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
14208
14209 2006-07-05  Derek R. Price  <derek@ximbiot.com>
14210
14211         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
14212         no longer needed.
14213         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
14214         * m4/getdate.m4 (gl_GETDATE): Likewise.
14215         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
14216         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
14217         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14218         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
14219         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
14220
14221 2006-07-05  Derek R. Price  <derek@ximbiot.com>
14222
14223         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
14224         All uses of is_space replaced by isspace.
14225         * lib/exit.h: Don't talk about STDC_HEADERS.
14226         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
14227         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
14228         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
14229         replaced by isprint etc.
14230         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
14231         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
14232         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
14233         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
14234         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
14235         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
14236
14237 2006-07-05  Bruno Haible  <bruno@clisp.org>
14238
14239         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
14240         the function exists, before testing against AIX.
14241         Reported by Martin Lambers <marlam@marlam.de>.
14242
14243 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
14244
14245         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
14246         From Mark D. Baushke.
14247
14248 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
14249
14250         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
14251         to the absolute name, not just one, to bypass Sun C 5.8's
14252         "warning: #include of /usr/include/... may be non-portable".
14253
14254 2006-07-04  Eric Blake  <ebb9@byu.net>
14255
14256         * modules/dirname-tests: New test module.
14257         * tests/test-dirname.c: New file, replacing dirname.c
14258         TEST_DIRNAME section that was recently deleted.
14259
14260 2006-07-04  Bruno Haible  <bruno@clisp.org>
14261
14262         Assume ANSI C header files and <ctype.h> functions.
14263         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
14264         (mbsnwidth): Use isprint, iscntrl instead.
14265
14266 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14267
14268         Merge from coreutils.
14269         * MODULES.html.sh: Add xstrtold.
14270         * modules/xstrtold: New file.
14271         * modules/cycle-check (Files): Add lib/same-inode.h.
14272         * modules/dirname (Files): Add m4/double-slash-root.m4.
14273         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
14274         * modules/mkdir-p (Files): Add lib/same-inode.h.
14275         * modules/same (Files): Add lib/same-inode.h.
14276
14277 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14278
14279         * m4/absolute-header.m4: Renamed from full-header-path.m4.
14280         This is to keep the terminology clean; POSIX talks about
14281         "absolute pathnames", not "full pathnames", but the GNU
14282         Coding Standards say to use "path" for something else;
14283         so use "absolute" to keep both sides happy.
14284         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
14285         Set gl_absolute_header, not gl_full_header_path.
14286         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
14287         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
14288         All uses changed.
14289
14290         Merge from coreutils.
14291
14292         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
14293
14294         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
14295         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
14296         want to require the building of c-strtod.o.
14297         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
14298         needs -lm directly.
14299         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
14300
14301         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
14302
14303         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
14304         --as-needed option if available.  Problem reported by Albert Chin in
14305         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
14306         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
14307         cc merely issues a bunch of annoying warnings for --as-needed
14308         (this problem was reported by Bob Proulx).  Also, try linking with
14309         -lm to detect a bug in binutils 2.16 (this problem was reported
14310         by Ralf Wildenhues).
14311
14312         2006-06-18  Jim Meyering  <jim@meyering.net>
14313
14314         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
14315         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
14316         macro.
14317         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
14318         also check for glibc-2.4's abort-inducing bug.
14319
14320         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
14321         Low-probability clean-up should be to use rmdir to get rid of
14322         the just-created directory, not unlink.
14323
14324         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
14325         configure fail, and request a bug report to inform us about it.
14326         Add a comment that, barring reports to the contrary, in 2007 we'll
14327         assume ftruncate is universally available.
14328
14329         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
14330
14331         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
14332
14333         2006-03-12  Jim Meyering  <jim@meyering.net>
14334
14335         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
14336         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
14337         * m4/same.m4 (gl_SAME): Likewise.
14338         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
14339
14340         2006-03-11  Eric Blake  <ebb9@byu.net>
14341
14342         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
14343         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
14344         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
14345         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
14346
14347 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
14348
14349         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
14350         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
14351         reported by Mark D. Baushke, one in
14352         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
14353
14354         Merge from coreutils.
14355
14356         * lib/.cppi-disable: Add stdint_.h.
14357         * lib/.cvsignore: Add stdint.h.
14358
14359         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
14360
14361         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
14362         both double and long double versions.
14363         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
14364         * lib/xstrtold.c: New file.
14365         * lib/xstrtod.h (xstrtold): New decl.
14366
14367         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14368
14369         * lib/filemode.c (setst): Remove.
14370         (strmode): Rewrite to avoid setst.  This makes the code shorter,
14371         (arguably) clearer, and the generated code is a bit smaller on my
14372         Debian GNU/Linux stable x86 host.
14373
14374         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
14375
14376         * lib/filemode.c: Include "filemode.h" first, to test the interface.
14377         Assume that filemode.h includes sys/types.h and sys/stat.h.
14378         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
14379         (ftypelet): Reorder to put common cases first, for efficiency.
14380         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
14381         to do 'M'.
14382         (strmode): Renamed from mode_string, and now stores 12 bytes instead
14383         of 10, for compatibility with FreeBSD.  All callers changed.
14384         (filemodestring): Now stores 12 bytes instead of 10, and sets file
14385         types that can't be deduced solely from st_mode.  First arg is now a
14386         const pointer.
14387         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
14388         (strmode): Renamed from mode_string.
14389         (filemodestring): New decl.
14390         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
14391         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
14392         needed.
14393         (S_ISPORT, S_ISWHT): New macros, if not already defined.
14394
14395         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
14396
14397         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
14398         fsusage.h now does that.  Include fsusage.h first, to test interface.
14399         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
14400         at most one method (the old code could have generated decls that
14401         didn't conform to C89, not that this was ever exercised).
14402         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
14403
14404         2006-03-19  Jim Meyering  <jim@meyering.net>
14405
14406         Work even in a chroot where d_ino values for entries in "/"
14407         don't match the stat.st_ino values for the same names.
14408         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
14409         number, iterate through all entries again, using lstat instead.
14410         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
14411         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
14412
14413         * lib/getcwd.c (__getcwd): Clarify a comment.
14414         Use memcpy in place of a call to strcpy.
14415
14416         2006-03-12  Jim Meyering  <jim@meyering.net>
14417
14418         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
14419         matches that of the current directory (which we're about to chdir ".."
14420         out of), then save the dev-ino of the parent, instead.
14421
14422         * lib/same-inode.h (SAME_INODE): New file/macro.
14423         * lib/chdir-safer.c (SAME_INODE): Remove definition.
14424         Include "same-inode.h", instead.
14425         * lib/same.c: Likewise.
14426         * lib/cycle-check.h: Include "same-inode.h".
14427         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
14428         * lib/cycle-check.c (SAME_INODE): Remove definition.
14429         * lib/root-dev-ino.h: Include "same-inode.h".
14430
14431         2006-03-11  Eric Blake  <ebb9@byu.net>
14432
14433         * lib/same.c (same_name): s/base_name/last_component/
14434         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
14435         * lib/filenamecat.c (file_name_concat): Likewise.
14436
14437         2006-03-11  Eric Blake  <ebb9@byu.net>,
14438                     Paul Eggert  <eggert@cs.ucla.edu>
14439
14440         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
14441         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
14442         drive prefix.
14443         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
14444         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
14445         (last_component): New method.
14446         * lib/dirname.c (dir_len): Determine when drive letters need a
14447         subsequent slash.  Preserve // when it is special.
14448         (dir_name): Don't append dot when drive letter is absolute.
14449         [TEST_DIRNAME]: Move into a full-blown gnulib test.
14450         * lib/basename.c (base_name): New semantics - malloc the result.
14451         Preserve // when it is special.  Preserve relative files that look
14452         like drive letters.
14453         (base_len): Preserve // when it is special.
14454         (last_component): New method, similar to old base_name semantics.
14455         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
14456         base_name.  Strip redundant slashes from ///.
14457
14458 2006-07-03  Jim Meyering  <jim@meyering.net>
14459
14460         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
14461         macro is used before the first cycle_check call.
14462
14463 2006-07-03  Eric Blake  <ebb9@byu.net>
14464
14465         * modules/dirname (Depends-on): Add xstrndup.
14466
14467 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
14468
14469         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
14470         test cases, so that config.log is a bit easier to follow.
14471
14472 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
14473
14474         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
14475         both are 64 bits, since this seems to be the tradition, and this
14476         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
14477         we ever run into a host that prefers long long to long in this
14478         case, we'll need another configure-time test.  Problem reported by
14479         Jim Meyering.
14480
14481 2006-07-02  Eric Blake  <ebb9@byu.net>
14482
14483         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
14484
14485 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14486
14487         * modules/inttypes (Depends-on): No longer depends on stdint.
14488         * modules/stdint (Description): Say more about assumptions.
14489         Say that the fast types might differ.  Say macros are used.
14490         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
14491         (Makefile.am): Revise list of substituted symbols to match
14492         new stdint.m4.
14493         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
14494         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
14495         * tests/test-stdint.c (verify_same_types)
14496         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
14497         the code conforms to C99/C89.
14498         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
14499         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
14500
14501 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14502
14503         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
14504         but fix a bug, by requiring at least 64 bits.
14505         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
14506         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
14507         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
14508         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
14509
14510         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
14511         changes.  Make 2.59 a prerequisite.  Check and substitute for
14512         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
14513         inttypes.h.  Do not use special include files; just use the
14514         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
14515         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
14516         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
14517         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
14518         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
14519         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
14520         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
14521         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
14522         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
14523         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
14524         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
14525         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
14526         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
14527         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
14528         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
14529         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
14530         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
14531         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
14532         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
14533         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
14534         WINT_MAX.  Check for C99 conformance more strictly, by detecting
14535         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
14536         not check for things that C99 does not require, e.g., int8_t.  If
14537         a test isn't needed unless <stdint.h> isn't working, and is
14538         unlikely to be needed for any other reason, then don't do it
14539         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
14540         size_t, since we assume C89 freestanding at least.  Do not check
14541         for sig_atomic_t, wchar_t, or wint_t, since the code now does
14542         the right thing even if the types are not defined.  Instead use:
14543         (gl_STDINT_TYPE_PROPERTIES): New macro.
14544         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
14545         testing whether <sys/types.h> clashes, as Autoconf does this for
14546         us now.  All uses removed.
14547         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
14548         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
14549         (gl_CHECK_TYPE_SAME):
14550         Remove; no longer needed.
14551         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
14552         exists, since we'll return 0 anyway in that case.
14553         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
14554
14555 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
14556
14557         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
14558         possible collision with system files.
14559         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
14560         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
14561         WCHAR_MIN and WCHAR_MAX in this case.
14562         (<stddef.h>): Do not include; no longer needed.
14563         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
14564         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
14565         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
14566         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
14567         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
14568         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
14569         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
14570         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
14571         !defined(__c99))]: Include in this case too, since it's harmless
14572         now.
14573         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
14574         dangerous to do so.
14575         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
14576         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
14577         (_STDINT_MIN, _STDINT_MAX): New macros.
14578         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
14579         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
14580         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
14581         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
14582         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
14583         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
14584         macros, not typedefs; this simplifies things quite a bit.
14585         Use long int for all types narrower than int64_t.
14586         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
14587         Define in terms of long long int or int64_t or long int,
14588         not int64_t or int32_t.  This saves some compile-time testing.
14589         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
14590         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
14591         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
14592         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
14593         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
14594         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
14595         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
14596         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
14597         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
14598         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
14599         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
14600         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
14601         undef any previous version and define our own version, for
14602         simplicity and consistency with the new macros for types.
14603         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
14604         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
14605         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
14606         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
14607         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
14608         @WINT_T_SUFFIX@ to keep things simple here.
14609         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
14610         Simplify by assuming typical 8/16/32/64 host, since we're
14611         already doing that elsewhere anyway.
14612         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
14613         and assume long long int is 64 bits if available.  This
14614         speeds up 'configure'.
14615
14616 2006-07-01  Eric Blake  <ebb9@byu.net>
14617
14618         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
14619         Reported by Andreas Buening.
14620
14621 2006-07-01  Eric Blake  <ebb9@byu.net>
14622
14623         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
14624
14625 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
14626
14627         * lib/getaddrinfo.c: fixed typo
14628
14629 2006-06-29  Jim Meyering  <jim@meyering.net>
14630
14631         * modules/strftime (Maintainer): Add my name, since with the
14632         FPRINTFTIME changes strftime.c has forked from glibc.
14633
14634 2006-06-29  Eric Blake  <ebb9@byu.net>
14635
14636         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
14637
14638 2006-06-29  Eric Blake  <ebb9@byu.net>
14639
14640         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
14641
14642 2006-06-29  Eric Blake  <ebb9@byu.net>
14643
14644         * lib/stat_.h: New file.
14645
14646 2006-06-29  Eric Blake  <ebb9@byu.net>
14647
14648         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
14649         unused static function.
14650
14651 2006-06-29  Eric Blake  <ebb9@byu.net>
14652
14653         * doc/functions.texi (Function Portability): Document missing lstat
14654         on mingw.
14655
14656 2006-06-29  Eric Blake  <ebb9@byu.net>
14657
14658         * MODULES.html.sh: Add sys_stat.
14659         * modules/sys_stat: New module.
14660         * modules/mkstemp (Depends-on): Add sys_stat.
14661
14662 2006-06-29  Derek R. Price  <derek@ximbiot.com>
14663
14664         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
14665
14666 2006-06-29  Derek R. Price  <derek@ximbiot.com>
14667
14668         * m4/c-bs-a.m4: Removed.
14669
14670 2006-06-29  Derek R. Price  <derek@ximbiot.com>
14671
14672         * lib/strftime.c: Assume strftime() exists.
14673
14674 2006-06-29  Derek Price  <derek@ximbiot.com>
14675
14676         * modules/c-bs-a: Removed - \a is C89.
14677         * MODULES.html.sh: Remove c-bs-a.
14678
14679 2006-06-29  Bruno Haible  <bruno@clisp.org>
14680
14681         * modules/wcwidth (License): Change to LGPL.
14682
14683 2006-06-28  Simon Josefsson  <jas@extundo.com>
14684
14685         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
14686         on _WIN32.
14687
14688         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
14689         getnameinfo.
14690
14691 2006-06-28  Simon Josefsson  <jas@extundo.com>
14692
14693         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
14694
14695 2006-06-28  Simon Josefsson  <jas@extundo.com>
14696
14697         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
14698         functions there.  It will succeed on Windows XP, but on Windows
14699         2000 and (presumably) earlier, it will fail, and use the internal
14700         re-implementation.
14701         (use_win32_p): New function.
14702         (getaddrinfo): Use strtoul on servname, to support numeric ports.
14703         Support AI_NUMERICSERV to disable getservbyname.
14704         (getnameinfo): New function, only supports
14705         NI_NUMERICHOST|NI_NUMERICSERV for now.
14706
14707         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
14708         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
14709         getnameinfo.
14710
14711 2006-06-28  Eric Blake  <ebb9@byu.net>
14712
14713         * modules/wcwidth: New file.
14714         * modules/mbchar (Depends-on): Add wcwidth.
14715         * modules/mbswidth (Depends-on): Add wcwidth.
14716         * MODULES.html.sh: Add wcwidth.
14717
14718 2006-06-28  Eric Blake  <ebb9@byu.net>
14719
14720         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
14721         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
14722
14723 2006-06-28  Eric Blake  <ebb9@byu.net>
14724
14725         * lib/xvasprintf.h: Fix comments.
14726
14727 2006-06-28  Eric Blake  <ebb9@byu.net>
14728
14729         * lib/mbchar.h (wcwidth): Include wcwidth.h.
14730         * lib/mbswidth.c (wcwidth): Move from here...
14731         * lib/wcwidth.h: ...to this new file.
14732
14733 2006-06-28  Derek R. Price  <derek@ximbiot.com>
14734
14735         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
14736
14737         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
14738         it's obsolete.
14739         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
14740
14741 2006-06-28  Derek R. Price  <derek@ximbiot.com>
14742
14743         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
14744         Autoconf 2.60 says this stuff was obsolete.
14745
14746 2006-06-28  Bruno Haible  <bruno@clisp.org>
14747
14748         * modules/wcwidth (Files): Add m4/wchar_t.m4.
14749
14750 2006-06-28  Bruno Haible  <bruno@clisp.org>
14751
14752         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
14753         gt_TYPE_WCHAR_T.
14754
14755 2006-06-28  Bruno Haible  <bruno@clisp.org>
14756
14757         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
14758         declaration for wcwidth.
14759         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
14760
14761 2006-06-28  Bruno Haible  <bruno@clisp.org>
14762
14763         * lib/mkdtemp.c [MINGW]: Include <io.h>.
14764         (mkdir): Define using _mkdir.
14765
14766 2006-06-28  Bruno Haible  <bruno@clisp.org>
14767
14768         * lib/getaddrinfo.h: Fix POSIX URL.
14769         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
14770         _WIN32.
14771         (use_win32_p): Make static.
14772         (getaddrinfo): Reject service name if it is empty or does not consist
14773         solely of decimal digits, or if its value is > 65535.
14774         (getnameinfo): Remove useless casts.
14775
14776 2006-06-27  Simon Josefsson  <jas@extundo.com>
14777
14778         * modules/sys_select: New file, suggested by Bruno Haible, Paul
14779         Eggert and Martin Lambers.
14780
14781 2006-06-27  Simon Josefsson  <jas@extundo.com>
14782
14783         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
14784         Eggert and Martin Lambers.
14785
14786 2006-06-27  Bruno Haible  <bruno@clisp.org>
14787
14788         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
14789         result to 0, not to empty.
14790         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
14791
14792 2006-06-27  Bruno Haible  <bruno@clisp.org>
14793
14794         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
14795
14796 2006-06-26  Simon Josefsson  <jas@extundo.com>
14797
14798         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
14799         present.
14800
14801 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
14802
14803         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
14804         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
14805         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
14806
14807 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
14808
14809         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
14810
14811 2006-06-26  Bruno Haible  <bruno@clisp.org>
14812
14813         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
14814
14815 2006-06-26  Bruno Haible  <bruno@clisp.org>
14816
14817         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
14818
14819 2006-06-26  Bruno Haible  <bruno@clisp.org>
14820
14821         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
14822         SGI C compiler in pre-C99 mode.
14823         Suggested by Mark D. Baushke and Larry Jones.
14824
14825 2006-06-26  Bruno Haible  <bruno@clisp.org>
14826
14827         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
14828         WCHAR_MAX.
14829         Reported by Mark D. Baushke and Larry Jones.
14830
14831 2006-06-26  Bruno Haible  <bruno@clisp.org>
14832
14833         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
14834         in pre-C99 mode.
14835         Suggested by Mark D. Baushke and Larry Jones.
14836
14837 2006-06-23  Simon Josefsson  <jas@extundo.com>
14838             Bruno Haible  <bruno@clisp.org>
14839
14840         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
14841         Emit mostlyclean-local rule.
14842         (func_emit_tests_Makefile_am): Likewise.
14843         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
14844
14845 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
14846
14847         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
14848
14849 2006-06-23  Bruno Haible  <bruno@clisp.org>
14850
14851         * tests/test-stdint.c: Update to match ISO C 99 Technical
14852         Corrigendum 1.
14853
14854 2006-06-23  Bruno Haible  <bruno@clisp.org>
14855
14856         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
14857
14858 2006-06-23  Bruno Haible  <bruno@clisp.org>
14859
14860         * lib/stdint_.h: Treat IRIX like OpenBSD.
14861
14862 2006-06-23  Bruno Haible  <bruno@clisp.org>
14863
14864         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
14865         ISO C 99 Technical Corrigendum 1.
14866
14867 2006-06-22  Simon Josefsson  <jas@extundo.com>
14868
14869         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
14870         MinGW.
14871
14872 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
14873
14874         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
14875         needed.  Some compiler complained about some of them.  Problem reported
14876         by Larry Jones in
14877         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
14878
14879 2006-06-21  Simon Josefsson  <jas@extundo.com>
14880
14881         * tests/test-getaddrinfo.c: New file.
14882
14883         * modules/getaddrinfo-tests: New file.
14884
14885         * MODULES.html.sh: Add inet_pton.
14886
14887         * modules/inet_pton: New file.
14888
14889 2006-06-21  Simon Josefsson  <jas@extundo.com>
14890
14891         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
14892         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
14893         of using the (limited) gnulib implementation on Windows XP.
14894
14895         * m4/inet_pton.m4: New file.
14896
14897 2006-06-21  Simon Josefsson  <jas@extundo.com>
14898
14899         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
14900         variable.
14901
14902         * lib/socket_.h: Don't define WINVER.
14903
14904         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
14905         slightly modified to work in gnulib.
14906
14907 2006-06-21  Simon Josefsson  <jas@extundo.com>
14908
14909         * doc/gnulib.texi (Windows sockets): Add.
14910
14911 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
14912
14913         * lib/read-file.c (fread_file): Start with buffer allocation of
14914         0 bytes rather than 1 byte; this simplifies the code.
14915         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
14916         code to free buffer and save/restore errno.
14917         (internal_read_file): Remove unused local.
14918
14919 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
14920
14921         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
14922         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
14923         Problem reported by Denis Excoffier in
14924         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
14925
14926 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14927
14928         * modules/sys_socket, modules/socklen: Include sys/types since
14929         FreeBSD 4.x's sys/socket.h needs it.
14930
14931 2006-06-19  Simon Josefsson  <jas@extundo.com>
14932
14933         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
14934
14935 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
14936
14937         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
14938
14939 2006-06-19  Bruno Haible  <bruno@clisp.org>
14940
14941         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
14942         and FULL_PATH_INTTYPES_H in angle brackets.
14943         Reported by Mark D. Baushke <mdb@gnu.org>.
14944
14945 2006-06-17  Eric Blake  <ebb9@byu.net>
14946
14947         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
14948         errno.
14949
14950 2006-06-17  Bruno Haible  <bruno@clisp.org>
14951
14952         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
14953         <sys/inttypes.h>.
14954
14955 2006-06-17  Bruno Haible  <bruno@clisp.org>
14956
14957         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
14958         whether errno is declared. Assume <errno.h> declares errno.
14959
14960 2006-06-17  Bruno Haible  <bruno@clisp.org>
14961
14962         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
14963
14964 2006-06-17  Bruno Haible  <bruno@clisp.org>
14965
14966         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
14967         problem on Solaris 2.5.1.
14968
14969 2006-06-16  Eric Blake  <ebb9@byu.net>
14970
14971         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
14972         * lib/unicodeio.c [!defined errno]: Likewise.
14973         * lib/strtol.c [!defined errno]: Likewise.
14974         * lib/strtod.c [!defined errno]: Likewise.
14975
14976 2006-06-15  Eric Blake  <ebb9@byu.net>
14977
14978         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
14979
14980 2006-06-15  Eric Blake  <ebb9@byu.net>
14981
14982         * config/srclist.txt (ssize_t.m4): Lose sync.
14983
14984 2006-06-15  Bruno Haible  <bruno@clisp.org>
14985
14986         * modules/stdint (Files): Include m4/full-header-path.m4,
14987         m4/size_max.m4, m4/wchar_t.m4.
14988         (Makefile.am): Many more substitutions.
14989         * modules/stdint-tests: New file.
14990         * tests/test-stdint.c: New file.
14991
14992 2006-06-15  Bruno Haible  <bruno@clisp.org>
14993
14994         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
14995         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
14996         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
14997         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
14998         gl_CHECK_TYPE_SAME): New macros.
14999
15000 2006-06-15  Bruno Haible  <bruno@clisp.org>
15001
15002         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
15003
15004 2006-06-15  Bruno Haible  <bruno@clisp.org>
15005
15006         * lib/stdint_.h: Rewritten to be fully auto-configured.
15007         Fixes bug on HP-UX/IA64.
15008
15009 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
15010
15011         * lib/getdate.y (__attribute__): Don't define if already defined.
15012         Problem reported by Larry Jones.
15013         * lib/utimens.c (__attribute__): Likewise.
15014
15015 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
15016
15017         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
15018         reported by Andreas Schwab.
15019
15020 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15021             Bruno Haible  <bruno@clisp.org>
15022
15023         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
15024         check for the declaration of strnlen and a run test that exposes the
15025         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
15026         rpl_strndup.
15027
15028 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15029             Bruno Haible  <bruno@clisp.org>
15030
15031         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
15032
15033 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15034
15035         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
15036         compile test, for Tru64 4.0D.
15037
15038 2006-05-28  Karl Berry  <karl@gnu.org>
15039
15040         * config/srclist.txt (printf-args.c): lose sync.
15041
15042 2006-05-26  Martin Lambers  <marlam@marlam.de>
15043
15044         * lib/getpass.c: Updates the test for the native W32 API, and adds
15045         missing includes, thus fixing compilation warnings.
15046
15047 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
15048
15049         * lib/exclude.c (exclude_fnmatch): New function.
15050         (excluded_file_name): Call exclude_fnmatch.
15051         * lib/exclude.h (excluded_file_name): New prototype
15052
15053 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
15054
15055         * lib/tempname.c (small_open, large_open): New macros.
15056         (__open, __open64) [!_LIBC]: Remove.
15057         (__gen_tempname): Use small_open and large_open instead of __open
15058         and __open64.  This fixes a portability bug on HP-UX 11.11i
15059         reported by Simon Wing-Tang in
15060         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
15061
15062 2006-05-24  Bruno Haible  <bruno@clisp.org>
15063
15064         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
15065         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
15066         Reported by Thorsten Maerz <torte@netztorte.de> via
15067         Aaron Stone <aaron@serendipity.cx>.
15068
15069 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
15070
15071         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
15072         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
15073         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
15074         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
15075         not really conditional on the cache.
15076         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
15077
15078 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
15079
15080         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
15081         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
15082         (my_usleep): Don't mishandle maximum value.
15083
15084 2006-05-19  Jim Meyering  <jim@meyering.net>
15085
15086         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
15087
15088 2006-05-17  Bruno Haible  <bruno@clisp.org>
15089
15090         Cygwin portability.
15091         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
15092
15093 2006-05-17  Bruno Haible  <bruno@clisp.org>
15094
15095         * lib/stdint_.h: Fix recognition of Cygwin.
15096
15097 2006-05-15  Bruno Haible  <bruno@clisp.org>
15098
15099         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
15100         on libtool patch by Ralf Wildenhues.
15101
15102 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
15103
15104         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
15105         test for C99 conformance; (bool) 0.5 is an integer constant
15106         expression, but (bool) -0.5 is not.  Problem reported by Fedor
15107         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
15108
15109 2006-05-11  Simon Josefsson  <jas@extundo.com>
15110
15111         * m4/xvasprintf.m4: Fix obvious typo.
15112
15113 2006-05-11  Jim Meyering  <jim@meyering.net>
15114
15115         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
15116         James Lemley.
15117
15118 2006-05-10  Simon Josefsson  <jas@extundo.com>
15119
15120         * lib/md4.c: Typo fix, update copyright years.
15121         (K1, K2): Don't use L because it turn computations into 64-bit on
15122         64-bit platforms.
15123
15124 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
15125
15126         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
15127         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
15128         unwanted sign propagation, e.g., on hosts with 64-bit int.
15129         There still are some problems with reeelly weird theoretical hosts
15130         (e.g., 33-bit int) but it's not worth worrying about now.
15131         * lib/sha1.c (rol): Likewise.
15132         (K1, K2, K3, K4): Remove unnecessary L suffix.
15133
15134 2006-05-10  Bruno Haible  <bruno@clisp.org>
15135
15136         * lib/des.c: Cast to avoid warnings.
15137
15138 2006-05-09  Bruno Haible  <bruno@clisp.org>
15139
15140         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
15141         (Depends-on): Depend also on xsize, stdarg.
15142         (configure.ac): Add gl_XVASPRINTF.
15143
15144 2006-05-09  Bruno Haible  <bruno@clisp.org>
15145
15146         * m4/xvasprintf.m4: New file.
15147
15148 2006-05-09  Bruno Haible  <bruno@clisp.org>
15149
15150         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
15151         (EOVERFLOW): Define fallback value.
15152         (xstrcat): New function.
15153         (xvasprintf): Recognize the special case of a string concatenation.
15154
15155 2006-05-08  Eric Blake  <ebb9@byu.net>
15156
15157         * gnulib-tool (func_version): Base copyright year on CVS date.
15158         (func_emit_copyright_notice): New function.
15159         (func_emit_lib_Makefile_am): Use it.
15160         (func_emit_tests_Makefile_am): Likewise.
15161         (func_import): Likewise.
15162
15163 2006-05-08  Bruno Haible  <bruno@clisp.org>
15164
15165         * modules/stdarg: New file.
15166         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
15167
15168 2006-05-08  Bruno Haible  <bruno@clisp.org>
15169
15170         * m4/stdarg.m4: New file, from GNU gettext.
15171
15172 2006-05-08  Bruno Haible  <bruno@clisp.org>
15173
15174         * config/srclist.txt (build-aux/config.rpath): different from latest
15175         release.
15176
15177 2006-05-08  Bruno Haible  <bruno@clisp.org>
15178
15179         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
15180
15181 2006-05-05  Jim Meyering  <jim@meyering.net>
15182
15183         * m4/warning.m4: New file, derived from bison's file by the same name.
15184
15185 2006-05-03  Bruno Haible  <bruno@clisp.org>
15186
15187         * lib/stdint_.h: Shorter URL.
15188         * lib/inttypes.h: Likewise.
15189
15190 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
15191
15192         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
15193
15194 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
15195
15196         * lib/verify.h: Document the internals better.  Most of this change
15197         was written by Bruno Haible.
15198
15199 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
15200
15201         * doc/verify.texi: New file, partly based on a proposal by
15202         Bruno Haible.
15203
15204 2006-05-02  Bruno Haible  <bruno@clisp.org>
15205
15206         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
15207         test from here...
15208         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
15209
15210 2006-04-29  Bruno Haible  <bruno@clisp.org>
15211
15212         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
15213         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
15214
15215 2006-04-29  Bruno Haible  <bruno@clisp.org>
15216
15217         * gnulib-tool: Make --update option actually work.
15218
15219 2006-04-29  Bruno Haible  <bruno@clisp.org>
15220
15221         * doc/gcd.texi: New file.
15222         * doc/gnulib.texi: Include it.
15223
15224 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
15225
15226         * lib/getdate.y (get_date): When adding relative date, start with the
15227         initial time, not with the result of the first mktime call.
15228
15229 2006-04-25  Bruno Haible  <bruno@clisp.org>
15230
15231         * gnulib-tool (func_import): Output the include directives in three
15232         blocks, sorted separately.
15233         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15234
15235 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15236
15237         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
15238         to define main with arguments, for C++.  Reported by Eric Blake.
15239         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
15240         Prefer 'int main ()' to 'int main (void)', for C++.
15241         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
15242         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
15243         for 'main', for C99 and C++.
15244
15245 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15246
15247         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
15248         Don't assume that exit status -1 is valid.
15249         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15250         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
15251         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
15252         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
15253         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
15254         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
15255         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
15256         functions can be used without declaring them, or that you can
15257         exit with status -1.
15258         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
15259
15260 2006-04-24  Karl Berry  <karl@gnu.org>
15261
15262         * config/srclist.txt (longdouble.m4): sync lost.
15263
15264 2006-04-24  Eric Blake  <ebb9@byu.net>
15265
15266         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
15267
15268 2006-04-24  Bruno Haible  <bruno@clisp.org>
15269
15270         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
15271         poll() implementation in AIX.
15272         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15273
15274 2006-04-24  Bruno Haible  <bruno@clisp.org>
15275
15276         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
15277         assigned exactly once.
15278
15279 2006-04-23  Claudio Fontana  <claudio@gnu.org>
15280             Bruno Haible  <bruno@clisp.org>
15281
15282         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
15283         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
15284         for AM_CPPFLAGS.
15285
15286 2006-04-23  Bruno Haible  <bruno@clisp.org>
15287
15288         * modules/copy-file: Depend on unistd.
15289         * modules/execute: Likewise.
15290         * modules/fatal-signal: Likewise.
15291         * modules/findprog: Likewise.
15292         * modules/mkdtemp : Likewise.
15293         * modules/pipe: Likewise.
15294         * modules/wait-process: Likewise.
15295
15296 2006-04-23  Bruno Haible  <bruno@clisp.org>
15297
15298         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
15299         condition was already detected.
15300         Reported by Ben Pfaff <blp@cs.stanford.edu>.
15301
15302 2006-04-23  Bruno Haible  <bruno@clisp.org>
15303
15304         * lib/copy-file.c: Include <unistd.h> unconditionally.
15305         * lib/execute.c: Likewise.
15306         * lib/fatal-signal.c: Likewise.
15307         * lib/findprog.c: Likewise.
15308         * lib/mkdtemp.c: Likewise.
15309         * lib/pipe.h: Likewise.
15310         * lib/pipe.c: Likewise.
15311         * lib/wait-process.h: Likewise.
15312
15313 2006-04-23  Bruno Haible  <bruno@clisp.org>
15314
15315         * gnulib-tool (func_usage): Fix --import description. Document
15316         --update.
15317         (func_import): Create temporary file in a temporary directory, if
15318         --dry-run is specified. Silence errors from 'grep' when there are no
15319         m4 files in $m4dir.
15320         (func_create_testdir): Silence errors from 'grep' when there are no
15321         m4 files in $m4dir.
15322         Reported by Karl Berry <karl@freefriends.org>.
15323
15324 2006-04-20  Bruno Haible  <bruno@clisp.org>
15325
15326         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
15327         one argument, so that the code will be portable to Autoconf 2.60.
15328         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
15329         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
15330         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
15331
15332 2006-04-19  Derek Price  <derek@ximbiot.com>
15333             Eric Blake  <ebb9@byu.net>
15334
15335         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
15336         rather than "/full/path.h".  Update comment to match.  Shorten &
15337         generalize m4_translit call via AS_TR_CPP.
15338
15339 2006-04-19  Derek Price  <derek@ximbiot.com>
15340             Eric Blake  <ebb9@byu.net>
15341
15342         * lib/inttypes.h: Correct grammar in comment.
15343
15344 2006-04-18  Derek Price  <derek@ximbiot.com>
15345             Paul Eggert  <eggert@cs.ucla.edu>
15346
15347         * modules/inttypes: New file.
15348         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
15349
15350 2006-04-18  Derek Price  <derek@ximbiot.com>
15351             Paul Eggert  <eggert@cs.ucla.edu>
15352
15353         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
15354         New files.
15355
15356 2006-04-18  Derek Price  <derek@ximbiot.com>
15357             Paul Eggert  <eggert@cs.ucla.edu>
15358
15359         * lib/inttypes.h: New file.
15360         * lib/strtoimax.c: Assume <inttypes.h>.
15361
15362 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
15363
15364         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
15365         isn't mounted.  Problem reported by Kir Kolyshkin.
15366
15367 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
15368
15369         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
15370         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
15371         Derek R. Price.
15372         * lib/regex.h (RE_DUP_MAX): Update comment to match current
15373         implementation.
15374
15375 2006-04-12  Eric Blake  <ebb9@byu.net>
15376
15377         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
15378         is now done automatically by the corresponding Autoconf macro.
15379
15380 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
15381
15382         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
15383         time_r.h.
15384
15385 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15386
15387         Merge regex changes from libc, removing some of our
15388         POSIX-conformance changes that were rejected and redoing them in a
15389         less-intrusive way.
15390
15391         * lib/regcomp.c (re_compile_internal, init_dfa):
15392         Length arg is now size_t, not Idx.  All uses changed.
15393         (peek_token): Forward decl now says internal_function.
15394         (__re_error_msgid, __re_error_msgid_idx):
15395         Now static rather than extern with attribute_hidden.
15396         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
15397         For some reason libc prefers K&R style defns for external functions.
15398         (regerror) [!defined _LIBC]: Likewise.
15399         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
15400         (seek_collating_symbol_entry, lookup_collation_sequence_value):
15401         (build_range_exp, build_collating_symbol):
15402         Use K&R-style defn.
15403         (re_compile_fastmap): Use '\0' to memset, not 0.
15404         (utf8_sb_map): Make the calculations more obvious.
15405         (init_dfa, parse_bracket_exp, build_charclass_op):
15406         Call calloc and cast result, as glibc does.
15407         (init_word_char, fetch_token, peek_token, peek_token_bracket):
15408         (build_range_exp, build_collating_symbol):
15409         Now internal functions.
15410
15411         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
15412
15413         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
15414         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
15415         Don't depend on VMS; depend on __VMS instead, for POSIX
15416         namespace cleanness.
15417         (regoff_t): Define to ssize_t, not long int.
15418
15419         Remove the REG_ macros named below.  Instead, make the old names
15420         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
15421         __USE_GNU_REGEX.
15422         (REG_BACKSLASH_ESCAPE_IN_LISTS):
15423         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
15424         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
15425         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
15426         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
15427         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
15428         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
15429         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
15430         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
15431         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
15432         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
15433         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
15434         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
15435         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
15436         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
15437         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
15438         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
15439         (REG_NREGS):
15440         Remove.  All uses replaced by the old RE_* names.
15441         (RE_BACKSLASH_ESCAPE_IN_LISTS):
15442         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
15443         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
15444         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
15445         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
15446         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
15447         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
15448         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
15449         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
15450         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
15451         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
15452         Don't bother having these macros be independent of each others'
15453         values, since they no longer exist in the POSIX name space.
15454
15455         Rename the following member names back to their old names,
15456         unless !__USE_GNU_REGEX.  All uses changed back.
15457         (buffer): Renamed from re_buffer.
15458         (allocated): Renamed from re_allocated.
15459         (used): Renamed from re_used.
15460         (syntax): Renamed from re_syntax.
15461         (fastmap): Renamed from re_fastmap.
15462         (translate): Renamed from re_translate.
15463         (can_be_null): Renamed from re_can_be_null.
15464         (regs_allocated): Renamed from re_regs_allocated.
15465         (fastmap_accurate): Renamed from re_fastmap_accurate.
15466         (no_sub): Renamed from re_no_sub.
15467         (not_bol): Renamed from re_not_bol.
15468         (not_eol): Renamed from re_not_eol.
15469         (newline_anchor): Renamed from re_newline_anchor.
15470         (num_regs): Renamed from rm_num_regs.
15471         (start): Renamed from rm_start.
15472         (end): Renamed from rm_end.
15473
15474         (free_state): Move up a bit.
15475
15476         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
15477         #define to be empty.
15478         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
15479         when that is what is intended.
15480         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
15481         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
15482         (MAX): New macro.
15483         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
15484         All uses changed back to re_malloc, etc.  It's now the caller's
15485         responsibility to check for overflow; all callers changed.
15486         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
15487         (re_x2nrealloc): Remove.
15488         (free_state): Remove decl.
15489
15490         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
15491         (re_set_registers, re_exec):
15492         Use K&R-style defn.
15493
15494         2006-01-31  Roland McGrath  <roland@redhat.com>
15495
15496         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
15497         Reported by Mike Frysinger <vapier@gentoo.org>.
15498
15499         2006-01-15  Andreas Jaeger  <aj@suse.de>
15500
15501         [BZ #1950]
15502         * lib/regex_internal.c (re_string_reconstruct): Adjust for
15503         build_wcs_upper_buffer change.
15504         (build_wcs_upper_buffer): Change return type.
15505
15506         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
15507
15508         * lib/regex_internal.h: Include <stdint.h> if available.
15509
15510         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
15511
15512         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
15513
15514         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
15515
15516         * lib/regcomp.c: Adjust for changed secondary hash function.
15517
15518         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
15519
15520         * lib/regex.h: Pretty printing.
15521         Clean up namespace a bit.
15522
15523         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
15524
15525         * lib/regexec.c (update_cur_sifted_state, check_arrival,
15526         check_arrival_add_next_nodes): Avoid using uninitialized variable.
15527
15528         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
15529                     Ulrich Drepper  <drepper@redhat.com>
15530
15531         [BZ #1302]
15532         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
15533         changed.
15534         (bitset_word_t): Renamed from bitset_word.  All uses changed.
15535
15536         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
15537
15538         [BZ #281]
15539         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
15540         * lib/regcomp.c: Remove unnecessary uses of
15541         unsigned RE_TRANSLATE_TYPE.
15542         * lib/regex_internal.h: Likewise.
15543         * lib/regex_internal.c: Likewise.
15544         * lib/regexec.c: Likewise.
15545         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
15546
15547         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
15548
15549         * lib/regexec.c (find_recover_state): Remove unnecessary
15550         initialization.
15551         (transit_state_bkref): Make DFA a const pointer.
15552         (get_subexp): Likewise.
15553         (check_arrival): Likewise.
15554         (update_cur_sifted_state): Likewise.
15555         (re_search_internal): Likewise.
15556         (prune_impossible_nodes): Likewise.
15557         (acquire_init_state_context): Likewise.
15558         (proceed_next_node): Likewise.
15559         (set_regs): Likewise.
15560         (free_fail_stack_return): Likewise.
15561         (check_arrival_expand_ecl): Mark DFA parameter as const.
15562         (check_arrival_expand_ecl_sub): Likewise.
15563         (check_subexp_limits): Likewise.
15564         (sub_epsilon_src_nodes):  Likewise.
15565         (add_epsilon_src_nodes):  Likewise.
15566         (merge_state_array): Likewise.
15567         (update_regs): Likewise.
15568         (build_trtable): Likewise.
15569         (sift_states_backward): Mark MCTX parameter as const.
15570         (build_sifted_states): Likewise.
15571         (update_cur_sifted_state): Likewise.
15572         (sift_states_mkref): Likewise.
15573         (check_arrival_expand_ecl): Mark eclosure as const.
15574         (check_dst_limits_calc_pos_1): Likewise.
15575         * lib/regex_internal.h (re_match_context_t): Make dfa a const
15576         pointer.
15577
15578         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
15579
15580         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
15581         (transit_state_sb): Likewise.
15582         (transit_state_mb): Likewise.
15583         (sift_states_iter_mb): Likewise.
15584         (check_arrival_add_next_nodes): Likewise.
15585         (check_node_accept_bytes): Change first parameter to pointer-to-const.
15586         [_LIBC] (re_search_2_stub): Use mempcpy.
15587
15588         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
15589         mbrtowc for very simple UTF-8 case.
15590
15591         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
15592         a pointer-to-const.
15593         (re_acquire_state_context): Likewise.
15594         * lib/regex_internal.h: Adjust prototypes.
15595
15596         * lib/regex.c: Prevent using C++ compilers.
15597
15598         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
15599         (re_acquire_state_context): Likewise.
15600
15601 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15602
15603         * modules/regex (Depends-on): Add ssize_t.
15604
15605 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15606
15607         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
15608         translation table.
15609
15610 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
15611
15612         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
15613
15614 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
15615             Bruno Haible  <bruno@clisp.org>
15616
15617         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
15618         <sys/types.h> and <inttypes.h>.
15619
15620 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15621
15622         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
15623         `__error_t_defined', so argp.h will not typedef the former.
15624
15625 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
15626
15627         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
15628         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
15629         glibc names.  Even if glibc is changed to conform to POSIX, the
15630         traditional names will be available anyway, since regex depends on
15631         the extensions module.  Also, fix a longstanding typo in the
15632         implementation of Spencer ERE test #75 from grep 2.3.  Problems
15633         reported by Emanuele Giaquinta.  Also, change sense of cached
15634         variable, so that the message makes sense.
15635
15636 2006-03-24  Simon Josefsson  <jas@extundo.com>
15637
15638         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
15639         including some doc fixes.
15640         (base64_encode_alloc): Fix +1 bug on allocation failures.
15641
15642 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15643
15644         * lib/base64.c (base64_encode): Do not read past end of array with
15645         unsanitized input on systems with CHAR_BIT > 8.
15646
15647 2006-03-24  Eric Blake  <ebb9@byu.net>
15648
15649         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
15650
15651 2006-03-22  Karl Berry  <karl@gnu.org>
15652
15653         * config/srclist.txt (*setenv.[ch]): get from coreutils.
15654         * config/srclistvars.sh (COREUTILS): new var.
15655
15656 2006-03-17  Jim Meyering  <jim@meyering.net>
15657
15658         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
15659         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
15660
15661 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
15662
15663         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
15664         no longer needs it.  Instead, check that regoff_t is as least
15665         as wide as ptrdiff_t.
15666
15667         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
15668         so that our regex.h stays compatible with the installed regex.
15669         This is helpful for installers who configure --without-included-regex.
15670         Problem reported by Emanuele Giaquinta.
15671
15672 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
15673
15674         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
15675         Typedef to long int, not to off_, as POSIX will likely change
15676         in that direction.
15677
15678 2006-03-15  Eric Blake  <ebb9@byu.net>
15679
15680         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
15681
15682 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
15683
15684         * lib/argp-help.c (validate_uparams): Fix typo
15685         * lib/argp-parse.c (argp_default_options): Consistently begin help
15686         messages with a lowercase letter.
15687
15688 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
15689
15690         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
15691         overrun buffers and shouldn't be used (much as gets shouldn't be
15692         used).
15693         * lib/time_r.c (asctime_r, ctime_r): Likewise.
15694
15695 2006-03-08  Simon Josefsson  <jas@extundo.com>
15696
15697         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
15698         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15699
15700 2006-03-08  Simon Josefsson  <jas@extundo.com>
15701
15702         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
15703         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15704
15705 2006-03-08  Simon Josefsson  <jas@extundo.com>
15706
15707         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
15708         signal that configure disabled the device.
15709
15710 2006-03-08  Simon Josefsson  <jas@extundo.com>
15711
15712         * build-aux/maint.mk: Fix refresh-po, to handle no translated
15713         languages.
15714
15715 2006-03-07  Simon Josefsson  <jas@extundo.com>
15716
15717         * modules/getopt (Depends-on): Add unistd.
15718
15719         * modules/unistd: New file.
15720
15721 2006-03-07  Simon Josefsson  <jas@extundo.com>
15722
15723         * modules/gc-random: New file.
15724
15725 2006-03-07  Simon Josefsson  <jas@extundo.com>
15726
15727         * m4/unistd_h.m4: New file.
15728
15729 2006-03-07  Simon Josefsson  <jas@extundo.com>
15730
15731         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
15732         test to be side-effect free by storing the result in the cache
15733         variable gl_cv_lib_readline, and moving the assignment of
15734         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
15735         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15736
15737 2006-03-07  Simon Josefsson  <jas@extundo.com>
15738
15739         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
15740         error on missing devices (the functions will return an error).
15741
15742         * m4/gc.m4: Move random stuff to gc-random.m4
15743
15744 2006-03-07  Simon Josefsson  <jas@extundo.com>
15745
15746         * lib/unistd_.h: New file.
15747
15748 2006-03-07  Simon Josefsson  <jas@extundo.com>
15749
15750         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
15751
15752 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
15753
15754         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
15755         Problem reported by Juan Manuel Guerrero.
15756
15757 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
15758
15759         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
15760         the unistd module.
15761         * lib/getlogin_r.c: Likewise.
15762         * lib/getlogin_r.h: Likewise.
15763         * lib/glob.c: Likewise.
15764         * lib/pagealign_alloc.c: Likewise.
15765         * lib/unistd_.h: Remove; no longer needed.
15766
15767 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
15768
15769         * MODULES.html.sh (Support for systems lacking POSIX:2001):
15770         Add unistd.
15771         * modules/c-stack (Depends-on): Add unistd.
15772         * modules/getlogin_r: Likewise.
15773         * modules/glob: Likewise.
15774         * modules/pagealign_alloc: Likewise.
15775         * modules/unistd (Files): Remove lib/unistd_.h.
15776         (EXTRA_DIST): Remove.
15777         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
15778         need unistd_.h.
15779         (MOSTLYCLEANFILES): Remove unistd.h-t.
15780
15781 2006-03-03  Simon Josefsson  <jas@extundo.com>
15782
15783         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
15784
15785 2006-03-03  Simon Josefsson  <jas@extundo.com>
15786
15787         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
15788         libidn and bison.
15789
15790 2006-03-03  Simon Josefsson  <jas@extundo.com>
15791
15792         * build-aux/maint.mk: Add indent target.
15793
15794 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
15795
15796         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
15797         our replacement poll.h in any case, to avoid a differing
15798         declaration from a system header.  Seen on AIX.
15799
15800 2006-03-01  Simon Josefsson  <jas@extundo.com>
15801
15802         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
15803         <kasal@ucw.cz>.
15804
15805 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15806
15807         * modules/gettime (Depends-on): Add extensions module.
15808         * modules/nanosleep (Depends-on): Likewise.
15809         * modules/settime (Depends-on): Likewise.
15810
15811 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
15812
15813         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
15814         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
15815         pedantically.
15816         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15817         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
15818
15819         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
15820         not "==".  Reported by Ralf Wildenhues.
15821
15822 2006-03-01  Karl Berry  <karl@gnu.org>
15823
15824         * doc/Copyright/request-*: new files, synced from gnuorg.
15825
15826 2006-03-01  Karl Berry  <karl@gnu.org>
15827
15828         * config/srclist.txt (Copyright/*): new entries.
15829
15830 2006-02-28  Simon Josefsson  <jas@extundo.com>
15831
15832         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
15833
15834 2006-02-27  Simon Josefsson  <jas@extundo.com>
15835
15836         * lib/base64.h: Indent #define's.  From Jim Meyering
15837         <jim@meyering.net>.
15838
15839 2006-02-27  Jim Meyering  <jim@meyering.net>
15840
15841         Revert the change of 2006-02-24, so these files can continue
15842         to be sync'd from gettext.
15843         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
15844         of `config.h'.
15845
15846 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
15847
15848         * modules/intprops: New file.
15849         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
15850         Add intprops.
15851         * modules/getloadavg (Files): Remove lib/intprops.h.
15852         (Depends-on): Add intprops.
15853         * modules/human: Likewise.
15854         * modules/inttostr: Likewise.
15855         * modules/openat: Likewise.
15856         * modules/sig2str: Likewise.
15857         * modules/userspec: Likewise.
15858         * modules/utimecmp: Likewise.
15859         * modules/xnanosleep: Likewise.
15860         * modules/xstrtol: Likewise.
15861
15862 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
15863
15864         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
15865         * modules/lock-tests (TESTS): Use $(EXEEXT).
15866         * modules/tls-tests: Likewise.
15867         * modules/argp-tests: Likewise.
15868         (check_PROGRAMS): New var, replacing...
15869         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
15870
15871 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15872
15873         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
15874         `config.h'.
15875
15876 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15877
15878         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
15879
15880 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15881
15882         Sync from coreutils.
15883         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
15884         gl_CHDIR_SAFER.
15885
15886 2006-02-22  Jim Meyering  <jim@meyering.net>
15887
15888         Sync from coreutils.
15889         * m4/chdir-safer.m4: New file.
15890
15891 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
15892
15893         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
15894         AT_FDCWD exceeds INT_MAX.
15895         * lib/openat.h (AT_FDCWD): Likewise.
15896
15897 2006-02-17  Eric Blake  <address@hidden>
15898
15899         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
15900
15901 2006-02-16  Simon Josefsson  <jas@extundo.com>
15902
15903         * modules/getaddrinfo (Depends-on): Add sys_socket.
15904
15905 2006-02-15  Simon Josefsson  <jas@extundo.com>
15906
15907         * build-aux/maint.mk: Add dsyntax-check rule.
15908
15909 2006-02-15  Eric Blake  <ebb9@byu.net>
15910
15911         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
15912         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
15913         'present but cannot compile' warnings on cygwin.
15914         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
15915         use ws2tcpip.h if sys/socket.h works.
15916         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
15917         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
15918
15919 2006-02-14  Simon Josefsson  <jas@extundo.com>
15920
15921         * modules/maintainer-makefile (Files): Rename.
15922
15923         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
15924         and (the local) Makefile.cfg to maint-cfg.mk.
15925
15926         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
15927         to the latter.
15928
15929         * modules/maintainer-makefile: New module.
15930
15931         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
15932         severaly stripped to make it possible to build it up from scratch
15933         with reliable tests.
15934
15935         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
15936         fixes to permit overriding the default actions when configure and
15937         makefile are not available.
15938
15939 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
15940
15941         Sync from coreutils.
15942         * modules/lstat (Depends-on): Don't depend on xalloc.
15943         (License): Change from GPL to LGPL, since this is now simply a
15944         replacement for a libc function.
15945
15946 2006-02-14  Jim Meyering  <jim@meyering.net>
15947
15948         Sync from coreutils.
15949
15950         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
15951         failure on deficient systems, and simplify gnulib lgpl dependencies.
15952         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
15953         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
15954
15955         * lib/xalloc-die.c: Remove unused definition of N_.
15956
15957 2006-02-14  Jim Meyering  <jim@meyering.net>
15958
15959         Sync from coreutils.
15960         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
15961         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
15962         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
15963         double-quote uses of that variable, to accommodate the rare case in
15964         which getmntent is available in none of the libraries checked.  This
15965         happens at least on FreeBSD 5.0.
15966
15967 2006-02-13  Simon Josefsson  <jas@extundo.com>
15968
15969         * gnulib-tool (Usage): Fix --import, from
15970         karl@freefriends.org (Karl Berry).
15971
15972 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
15973
15974         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
15975
15976 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
15977
15978         * lib/argp-namefrob.h: Restore changes accidentally lost during the
15979         "autoupdate" on 2005-12-12.
15980
15981 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
15982
15983         * modules/closeout (Depends-on): Remove atexit.
15984
15985 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
15986
15987         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
15988         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
15989
15990 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
15991
15992         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
15993         __EXTENSIONS__ if this causes compilation to fail.  Problem
15994         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
15995         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
15996
15997 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
15998
15999         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
16000         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
16001         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
16002         All uses changed.
16003
16004 2006-01-26  Simon Josefsson  <jas@extundo.com>
16005
16006         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
16007         prototype is visible on mingw32.
16008
16009         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
16010         for mingw32.
16011
16012         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
16013         mingw32).
16014
16015 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
16016
16017         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
16018         attempt to open for write; this always fails, at least on POSIX
16019         hosts.  This reinstates the 2006-01-09 change, which was
16020         inadvertently removed.
16021
16022 2006-01-26  Bruno Haible  <bruno@clisp.org>
16023
16024         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
16025         Reported by Paul Eggert.
16026
16027 2006-01-26  Bruno Haible  <bruno@clisp.org>
16028             Paul Eggert  <eggert@cs.ucla.edu>
16029
16030         * lib/stdbool_.h (_Bool)
16031         [(! (defined __cplusplus || defined __BEOS__)
16032           && !defined __GNUC__
16033           && !(defined __HP_cc || defined __xlc__
16034                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
16035                || defined __sgi))]:
16036         #define to signed char in these cases too; this simplifies
16037         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
16038         etc., separately) and makes it more conservative.
16039
16040 2006-01-25  Simon Josefsson  <jas@extundo.com>
16041
16042         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
16043         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
16044         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
16045
16046 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
16047
16048         * lib/argp-namefrob.h: Bugfix. Remove stray #
16049
16050 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
16051
16052         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
16053         so that we test the test.
16054         Check for yet another HP-UX cc bug involving *bool |= bool.
16055
16056 2006-01-25  Karl Berry  <karl@gnu.org>
16057
16058         * config/srclist.txt (vasnprintf.c): sync lost.
16059
16060 2006-01-25  Jim Meyering  <jim@meyering.net>
16061
16062         Sync from the stable (b5) branch of coreutils:
16063
16064         * lib/fts.c (fts_children): Don't let close() clobber errno from
16065         failed fchdir().
16066
16067         * lib/fts.c (fts_stat): When following a symlink-to-directory,
16068         don't necessarily interpret stat-fails+lstat-succeeds as indicating
16069         a dangling symlink.  That can also happen at least for ELOOP.
16070         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
16071         FYI, this bug predates the inclusion of fts.c in coreutils.
16072
16073         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
16074         in their own block, so pre-c99 compilers don't object.
16075
16076         Avoid the double-free (first in fts_read, second in fts_close) that
16077         would occur when an `active' directory is made inaccessible (e.g.,
16078         via chmod a-x) during a traversal.
16079         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
16080         before returning.  Reproduce this failure by
16081         mkdir -p a/b; cd a; chmod a-x . b
16082         Reported by Stavros Passas.
16083
16084 2006-01-25  Jim Meyering  <jim@meyering.net>
16085
16086         * lib/fileblocks.c: Remove more useless parentheses.
16087         * lib/readutmp.h: Likewise.
16088
16089 2006-01-25  Bruno Haible  <bruno@clisp.org>
16090
16091         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
16092         warnings.
16093         Reported by Paul Eggert.
16094
16095 2006-01-25  Bruno Haible  <bruno@clisp.org>
16096
16097         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
16098         rid of a trap command. For Solaris sh.
16099         Reported by Mark D. Baushke <mdb@gnu.org>.
16100
16101 2006-01-24  Simon Josefsson  <jas@extundo.com>
16102
16103         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
16104         Bruno.
16105
16106 2006-01-24  Karl Berry  <karl@gnu.org>
16107
16108         * config/srclist.txt (argp-namefrob.h): sync lost.
16109
16110 2006-01-24  Jim Meyering  <jim@meyering.net>
16111
16112         * modules/openat (Files): Add lib/intprops.h.
16113         From Mark D. Baushke.
16114
16115 2006-01-24  Jim Meyering  <jim@meyering.net>
16116
16117         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
16118         Reported by Mark D. Baushke.
16119
16120 2006-01-24  Jim Meyering  <jim@meyering.net>
16121
16122         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
16123
16124 2006-01-24  Bruno Haible  <bruno@clisp.org>
16125
16126         * modules/strnlen (Maintainer): Change from glibc to all.
16127
16128 2006-01-24  Bruno Haible  <bruno@clisp.org>
16129
16130         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
16131         Patch by Paul Eggert.
16132
16133 2006-01-24  Bruno Haible  <bruno@clisp.org>
16134
16135         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
16136         already has it.
16137         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
16138         2005-11-26.
16139
16140         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
16141         'signed char' to avoid problems with the built-in _Bool type.
16142         Reported by Paul Eggert on 2005-11-26.
16143
16144 2006-01-24  Bruno Haible  <bruno@clisp.org>
16145
16146         * gnulib-tool (func_import): Avoid constructing complicated sed
16147         expressions inside backquote.
16148         Report and solution by Mark D. Baushke <mdb@gnu.org>.
16149
16150 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
16151
16152         These changes imported from libc.
16153         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
16154         test and two separate function calls.
16155         * lib/strndup.c (__strndup): Add libc_hidden_def.
16156
16157 2006-01-23  Simon Josefsson  <jas@extundo.com>
16158
16159         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
16160         Remove the test_*_SOURCES variable: automake infers it by default.
16161         * modules/tls-tests: Likewise.
16162
16163 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
16164
16165         Work around porting bugs reported by Dieter in
16166         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
16167         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
16168         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
16169         Include "getopt.h" first, to check interface.
16170         (getenv): Declare only if defined HAVE_DECL_GETENV &&
16171         !HAVE_DECL_GETENV.
16172         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
16173         (__strndup): Revert to K&R-style function dfns, the glibc style.
16174         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
16175         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
16176         Include strnlen.h first, to get prototype properly.
16177         (strnlen): Renamed from __strnlen.
16178         Remove weak alias.
16179
16180 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
16181
16182         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
16183
16184 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
16185
16186         * config/srclist.txt: Adjust to reflect glibc reorganization.
16187         This affects only comments.
16188
16189 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
16190
16191          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
16192          Reported by Bruce Korb <bkorb@gnu.org>.
16193
16194 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
16195
16196         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
16197         to pacify gcc -Wswitch-default.
16198
16199 2006-01-22  Bruno Haible  <bruno@clisp.org>
16200
16201         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
16202         temporary buffer for sprintf, take into account the precision also
16203         for 'd', 'i', 'u', 'o', 'x', 'X'.
16204
16205 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
16206
16207         * modules/argp-tests: New module
16208         * tests/test-argp.c: New file
16209         * tests/test-argp-2.sh: New file
16210
16211 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
16212
16213         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
16214         (__argp_base_name): Removed
16215         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
16216         typo.
16217         (__argp_base_name): Provide macro definition or extern declaration
16218         depending on the configuration
16219
16220 2006-01-20  Simon Josefsson  <jas@extundo.com>
16221
16222         * modules/inet_ntop (Depends-on): Depend on sys_socket.
16223
16224 2006-01-20  Simon Josefsson  <jas@extundo.com>
16225
16226         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
16227
16228 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
16229
16230         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
16231         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
16232         Suggested by Bruno Haible.
16233
16234 2006-01-20  Karl Berry  <karl@gnu.org>
16235
16236         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
16237         until changes propagate, I guess.
16238
16239 2006-01-19  Simon Josefsson  <jas@extundo.com>
16240
16241         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
16242
16243 2006-01-19  Simon Josefsson  <jas@extundo.com>
16244
16245         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
16246
16247 2006-01-19  Simon Josefsson  <jas@extundo.com>
16248
16249         * gnulib-tool: Set check_PROGRAMS.
16250
16251         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
16252         modules/des-tests, modules/gc-arcfour-tests,
16253         modules/gc-arctwo-tests, modules/gc-des-tests,
16254         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
16255         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
16256         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
16257         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
16258         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
16259         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
16260         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
16261         test_*_SOURCES.
16262
16263 2006-01-18  Simon Josefsson  <jas@extundo.com>
16264
16265         * modules/socklen (Depends-on): Depend on sys_socket.
16266
16267 2006-01-18  Simon Josefsson  <jas@extundo.com>
16268
16269         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
16270         modules/des-tests, modules/gc-arcfour-tests,
16271         modules/gc-arctwo-tests, modules/gc-des-tests,
16272         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
16273         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
16274         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
16275         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
16276         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
16277         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
16278         $(EXEEXT) to automake TESTS variable, for mingw32.
16279
16280 2006-01-17  Simon Josefsson  <jas@extundo.com>
16281
16282         * modules/socklen (Include): Need sys/socket.h.
16283
16284 2006-01-17  Bruno Haible  <bruno@clisp.org>
16285
16286         * modules/ssize_t (Include): Add <sys/types.h>.
16287
16288 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
16289
16290         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
16291         it's not portable and it doesn't work with cross-compiles.
16292         Problem reported by Bruno Haible.  Fix missing-$ typo in
16293         'test "gl_cv_ignore_unused_libraries" ...' that prevented
16294         -zignore from being used with Sun's C compiler.
16295
16296 2006-01-12  Simon Josefsson  <jas@extundo.com>
16297
16298         * lib/base64.c: Fix warning, reported by Bruno Haible
16299         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
16300
16301 2006-01-12  Bruno Haible  <bruno@clisp.org>
16302
16303         * modules/ldd: New file.
16304         * build-aux/ldd.sh.in: New file.
16305         * MODULES.html.sh (Support for building libraries and executables): Add
16306         ldd.
16307
16308 2006-01-12  Bruno Haible  <bruno@clisp.org>
16309
16310         * m4/ldd.m4: New file.
16311
16312 2006-01-12  Bruno Haible  <bruno@clisp.org>
16313
16314         * gnulib-tool (func_import, func_create_testdir): Don't go into an
16315         endless loop while replacing $auxdir with build-aux.
16316
16317 2006-01-11  Simon Josefsson  <jas@extundo.com>
16318
16319         * lib/stdint_.h (SIZE_MAX): Add missing (.
16320
16321 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
16322
16323         Sync from coreutils.
16324         * lib/md5.c: Fix commentary typos.
16325         (alignof, UNALIGNED_P): No need for a GCC-specific version.
16326         * lib/md5.h (__attribute__): Remove; unused.
16327         * lib/sha1.c: Fix commentary to match md5 better.
16328         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
16329         so that we don't need to worry about alignment.  All uses changed.
16330         This merges the 2005-10-28 md5 change into sha1.
16331
16332 2006-01-11  Jim Meyering  <jim@meyering.net>
16333
16334         Sync from coreutils.
16335         * lib/md5.c (OP): Fix spacing.
16336
16337 2006-01-11  Bruno Haible  <bruno@clisp.org>
16338
16339         Ensure automatic ordering between gl_LOCK and gl_ARGP.
16340         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
16341         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
16342
16343 2006-01-11  Bruno Haible  <bruno@clisp.org>
16344
16345         Ensure automatic ordering between gl_LOCK and gl_ARGP.
16346         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
16347         the "early" section as well.
16348
16349 2006-01-11  Bruno Haible  <bruno@clisp.org>
16350
16351         Avoid "ar: no archive members specified" error on MacOS X.
16352         * gnulib-tool (func_modules_add_dummy): New function.
16353         (func_import, func_create_testdir): Invoke it.
16354
16355 2006-01-11  Bruno Haible  <bruno@clisp.org>
16356
16357         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
16358         with $auxdir in AC_CONFIG_FILES statements.
16359
16360 2006-01-11  Bruno Haible  <bruno@clisp.org>
16361
16362         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16363         Initialize also noinst_HEADERS to empty.
16364
16365 2006-01-11  Bruno Haible  <bruno@clisp.org>
16366
16367         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
16368         variables.
16369         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
16370         autoreconf.
16371
16372 2006-01-11  Bruno Haible  <bruno@clisp.org>
16373
16374         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
16375         overridable by the user.
16376         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16377
16378 2006-01-10  Simon Josefsson  <jas@extundo.com>
16379
16380         * modules/sys_socket: New file.
16381
16382 2006-01-10  Simon Josefsson  <jas@extundo.com>
16383
16384         * m4/sys_socket_h.m4: New file.
16385
16386 2006-01-10  Simon Josefsson  <jas@extundo.com>
16387
16388         * lib/socket_.h: New file.
16389
16390 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
16391
16392         * modules/readutmp (Maintainer): Add myself.
16393
16394 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
16395
16396         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
16397         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
16398         People who are still concerned with buggy memcmp implementations
16399         can invoke gl_FUNC_MEMCMP themselves.
16400
16401 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
16402
16403         * lib/regex_internal.h (BITSET_WORD_BITS):
16404         Work around a bug in 64-bit PGC (before version 6.1-2), where the
16405         preprocessor mishandles large unsigned values as if they were signed.
16406         Problem reported by Claudio Fontana in
16407         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
16408
16409 2006-01-10  Jim Meyering  <jim@meyering.net>
16410
16411         Avoid the double-free (first in fts_read, second in fts_close) that
16412         would occur when an `active' directory is made inaccessible (e.g.,
16413         via chmod a-x) during a traversal.
16414         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
16415         before returning.  Reproduce this failure by
16416         mkdir -p a/b; cd a; chmod a-x . b
16417         Reported by Stavros Passas.
16418
16419         Sync from coreutils.
16420         * lib/sha1.c: Tweak grammar in a comment.
16421
16422 2006-01-10  Jim Meyering  <jim@meyering.net>
16423
16424         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
16425         Patch by Joerg Sonnenberger.
16426
16427 2006-01-10  Bruno Haible  <bruno@clisp.org>
16428
16429         * modules/readutmp: Depend on module free.
16430         * modules/strtok_r: Depend on module restrict.
16431
16432 2006-01-10  Bruno Haible  <bruno@clisp.org>
16433
16434         * modules/gettext (configure.ac): Add an invocation of
16435         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
16436
16437 2006-01-10  Bruno Haible  <bruno@clisp.org>
16438
16439         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
16440         Reported by Werner Lemberg <wl@gnu.org>.
16441
16442 2006-01-10  Bruno Haible  <bruno@clisp.org>
16443
16444         * lib/localcharset.c: Update from GNU gettext.
16445
16446 2006-01-10  Bruno Haible  <bruno@clisp.org>
16447
16448         * lib/argp.h (__const): Remove macro. Use const instead.
16449         * lib/argp-fmtstream.h (__const): Likewise.
16450         * lib/glob_.h (__const): Remove macro.
16451         * lib/glob-libc.h: Use const instead of __const.
16452
16453 2006-01-10  Bruno Haible  <bruno@clisp.org>
16454
16455         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
16456         variable.
16457         Needed to avoid an automake error regarding the 'gettext' module.
16458
16459 2006-01-09  Simon Josefsson  <jas@extundo.com>
16460
16461         * modules/inet_ntop (Depends-on): Add restrict.
16462
16463 2006-01-09  Simon Josefsson  <jas@extundo.com>
16464
16465         * modules/gc-rijndael-tests (License): Put under LGPL.
16466
16467         * modules/gc-des-tests (License): Likewise.
16468
16469         * modules/gc-arcfour-tests (License): Likewise.
16470
16471         * modules/gc-arctwo-tests (License): Likewise.
16472
16473         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
16474
16475         * modules/gc-hmac-sha1-tests (Files): Likewise.
16476
16477         * modules/gc-hmac-md5-tests (License): Likewise.
16478
16479         * modules/gc-sha1-tests (License): Likewise.
16480
16481         * modules/gc-md5-tests (License): Likewise.
16482
16483         * modules/gc-md4-tests (License): Likewise.
16484
16485         * modules/gc-md2-tests (License): Likewise.
16486
16487         * modules/gc-tests (License): Likewise.
16488
16489         * modules/des-tests (License): Likewise.
16490
16491         * modules/md4-tests (License): Likewise.
16492
16493         * modules/md2-tests (License): Likewise.
16494
16495 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
16496
16497         Sync from coreutils:
16498
16499         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
16500         * modules/lib-ignore: New file.
16501         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
16502         chdir-safer.m4, lchmod.m4.
16503         * modules/openat: Add mkdirat.c, openat-priv.h.
16504
16505 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
16506
16507         Sync from coreutils.
16508         * m4/lib-ignore.m4: New file.
16509         * m4/lchmod.m4: New file.
16510
16511 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
16512
16513         Sync from coreutils.
16514         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
16515         for write access: POSIX says that must fail.
16516         * lib/fts.c (diropen): Likewise.
16517         * lib/save-cwd.c (save_cwd): Likewise.
16518         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
16519         well, for minor improvements on hosts that lack O_DIRECTORY.
16520         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
16521         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
16522         Fall back on chown if open failed with EACCES.
16523
16524         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
16525         Report an error at compile-time if only a 1-second nominal clock
16526         resolution is found.
16527
16528         * lib/lchmod.h: New file.
16529         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
16530         (make_dir_parents): Use lchown rather than chown, and
16531         lchmod rather than chmod.
16532
16533         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
16534         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
16535         "proc" reported by n0dalus.
16536
16537         * lib/mountlist.c: Include <limits.h>.
16538         (dev_from_mount_options)
16539         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
16540         New function.  It no longer assumes "dev=" has the System V meaning
16541         on Linux (since it doesn't).  It also parses "dev=" more carefully.
16542         (read_file_system_list)
16543         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
16544         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
16545         dev= in that case.
16546
16547         * lib/posixtm.h (PDS_PRE_2000): New macro.
16548         * lib/posixtm.c (year): Arg is now syntax_bits rather than
16549         allow_century.  All usages changed.  Reject dates outside the range
16550         1969-1999 if PDS_PRE_2000 is used.
16551
16552 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
16553
16554         Sync from coreutils.
16555         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
16556         (Time of day items): Mention the possibility of leap seconds.
16557         Problem reported by Dr. David Alan Gilbert.
16558
16559 2006-01-09  Jim Meyering  <jim@meyering.net>
16560
16561         Sync from coreutils.
16562
16563         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
16564
16565         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
16566
16567         * lib/modechange.c (mode_compile): Reject an invalid mode string
16568         that starts with an octal digit.  From Andreas Gruenbacher.
16569
16570         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
16571         and dup to open_safer and dup_safer, respectively.
16572         (openat_permissive): Fix typo in comment.
16573
16574         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
16575         "gettext.h"; either no longer needed or are guaranteed by openat.h.
16576         (_): Remove; no longer needed.
16577         (openat): Renamed from rpl_openat; no need for rpl_openat
16578         since openat.h renames openat for us.
16579         Replace most of the body with a call to openat_permissive,
16580         to avoid duplicate code.
16581         Port to (probably hypothetical) environments were mode_t is
16582         wider than int.
16583         (openat_permissive): Require mode arg, so that we can check
16584         types better.  Put it just after flags.  Change cwd failure
16585         indicator from pointer-to-bool to pointer-to-errno-value.
16586         All callers changed.
16587         Invoke openat_save_fail and/or openat_restore_fail if
16588         cwd_errno is null, so that openat can call us.
16589         (openat_permissive, fdopendir, fstatat, unlinkat):
16590         Simplify errno handling to avoid some duplicate code,
16591         as it's OK to set errno on success.
16592         * lib/openat.h: Revamp code so that function macros depend on
16593         __OPENAT_PREFIX only, not also on AT_FDCWD.
16594         (openat_ro): Remove.  Caller changed to use openat_permissive.
16595         (openat_permissive): Now a macro, if not a function.
16596         (openat_restore_fail, openat_save_fail): Now always functions,
16597         since mkdirat needs them even if __OPENAT_PREFIX is defined.
16598
16599         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
16600         and openat.c.
16601         * lib/mkdirat.c: Include openat-priv.h.
16602         Remove definitions of macros defined therein.
16603         * lib/openat.c: Likewise.
16604
16605         * lib/mkdirat.c (mkdirat): New file and function.
16606         * lib/openat.h (mkdirat): Declare.
16607
16608         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
16609
16610         * lib/openat.h (openat_permissive): Declare.
16611         (openat_ro): Define.
16612
16613         * lib/openat.c (EXPECTED_ERRNO): New macro.
16614         (openat_permissive): New function -- used in remove.c rewrite.
16615         (all functions): Set errno just before returning, only if there
16616         was an actual failure.
16617         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
16618
16619         Emulate openat-family functions using Linux's procfs, if possible.
16620         Idea and some code based on Ulrich Drepper's glibc changes.
16621
16622         * lib/openat.c: (BUILD_PROC_NAME): New macro.
16623         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
16624         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
16625         before falling back on save_cwd and restore_cwd.
16626         (fdopendir, fstatat, unlinkat): Likewise.
16627
16628         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
16629         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
16630
16631         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
16632         as second argument to va_arg.  Otherwise, some versions of gcc
16633         warn that `if this code is reached, the program will abort'.
16634
16635 2006-01-09  Jim Meyering  <jim@meyering.net>
16636
16637         Sync from coreutils.
16638         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
16639         Require openat-priv.h.
16640
16641 2006-01-09  Bruno Haible  <bruno@clisp.org>
16642
16643         * modules/strnlen (Include): Use strnlen.h.
16644
16645 2006-01-09  Bruno Haible  <bruno@clisp.org>
16646
16647         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
16648
16649 2006-01-09  Bruno Haible  <bruno@clisp.org>
16650
16651         * lib/sysexit_.h (EX_OK): New macro.
16652         Suggested by Martin Lambers <marlam@marlam.de>.
16653
16654 2006-01-09  Bruno Haible  <bruno@clisp.org>
16655
16656         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
16657         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
16658
16659 2006-01-09  Bruno Haible  <bruno@clisp.org>
16660
16661         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
16662         numbers.
16663
16664 2006-01-09  Bruno Haible  <bruno@clisp.org>
16665
16666         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
16667         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
16668         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
16669         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
16670
16671 2006-01-09  Bruno Haible  <bruno@clisp.org>
16672
16673         * build-aux/javacomp.sh.in: New file, moved from lib/.
16674         * modules/javacomp-script (Files): Update.
16675         (configure.ac): Add AC_CONFIG_FILES invocation.
16676         (EXTRA_DIST): Remove variable.
16677
16678         * build-aux/javaexec.sh.in: New file, moved from lib/.
16679         * modules/javaexec (Files): Update.
16680         (configure.ac): Add AC_CONFIG_FILES invocation.
16681         (EXTRA_DIST): Remove javaexec.sh.in.
16682
16683         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
16684         * modules/csharpcomp-script (Files): Update.
16685         (configure.ac): Add AC_CONFIG_FILES invocation.
16686         (EXTRA_DIST): Remove variable.
16687
16688         * build-aux/csharpexec.sh.in: New file, moved from lib/.
16689         * modules/csharpexec (Files): Update.
16690         (configure.ac): Add AC_CONFIG_FILES invocation.
16691         (EXTRA_DIST): Remove csharpexec.sh.in.
16692
16693 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
16694
16695         Sync from coreutils.
16696
16697         Add POSIX ACL support
16698         * lib/acl.h (copy_acl, set_acl): Add declarations.
16699         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
16700         systems other than Linux.
16701         (chmod_or_fchmod): New function: use fchmod when possible,
16702         and chmod otherwise.
16703         (file_has_acl): Add a POSIX ACL implementation, with a
16704         Linux-specific subcase.
16705         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
16706         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
16707         acls are unsupported.
16708         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
16709         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
16710         are unsupported.
16711
16712 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
16713
16714         Sync from coreutils.
16715         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
16716
16717 2006-01-07  Bruno Haible  <bruno@clisp.org>
16718
16719         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
16720         gl_EARLY.
16721
16722 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16723
16724         * lib/strftime.c (tzname): Don't declare if it is already #defined.
16725         Problem reported for Mingw by Mark Junker.
16726
16727 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
16728
16729         * README: Gnulib normally doesn't generate a tarball.
16730
16731 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16732
16733         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
16734         long int, not int, for nanosecond counts, so that people who are
16735         used to POSIX struct timespec won't be surprised.  Reported by Jim
16736         Meyering.
16737
16738 2005-12-28  Bruno Haible  <bruno@clisp.org>
16739
16740         * build-aux/config.rpath: Update from GNU gettext.
16741
16742 2005-12-16  Jim Meyering  <jim@meyering.net>
16743
16744         * modules/fprintftime: New module.
16745         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
16746
16747 2005-12-16  Jim Meyering  <jim@meyering.net>
16748
16749         * m4/fprintftime.m4: New file.
16750
16751 2005-12-16  Jim Meyering  <jim@meyering.net>
16752
16753         * lib/fprintftime.c, lib/fprintftime.h: New files.
16754
16755 2005-12-15  Simon Josefsson  <jas@extundo.com>
16756
16757         * modules/socklen (configure.ac): Fix M4 macro name, to align with
16758         new m4/socklen.m4.
16759
16760 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
16761
16762         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
16763         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
16764
16765 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
16766
16767         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
16768         * lib/argp-help.c (fill_in_uparams): Check if the constructed
16769         struct uparams is valid. Fall back to the default values if it is
16770         not.
16771
16772 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16773
16774         * modules/argp (Files): Add argp-pin.c
16775         (Depends-on): dirname
16776         (lib_SOURCES): Add argp-pin.c
16777
16778 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16779
16780         * m4/argp.m4:  Check if program_invocation_name and
16781         program_invocation_short_name are declared and define appropriate
16782         macros if they are not.
16783
16784 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
16785
16786         * lib/argp-help.c (__argp_base_name): New function
16787         (__argp_short_program_name): Rewrite using __argp_base_name
16788         * lib/argp-namefrob.h: Define program_invocation_name and
16789         program_invocation_short_name if requested
16790         (__argp_base_name): Add prototype
16791         * lib/argp-parse.c (argp_def): Use gettext wrappers
16792         (argp_default_parser): Use __argp_base_name
16793         * lib/argp-pin.c: New file. Defines program_invocation_name and
16794         program_invocation_short_name on systems that lack them.
16795
16796 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16797
16798         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
16799         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
16800         porting problem reported by Georg Schwarz in
16801         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
16802
16803 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
16804
16805         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
16806         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
16807         porting problem reported by Georg Schwarz in
16808         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
16809
16810 2005-12-05  Bruno Haible  <bruno@clisp.org>
16811
16812         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
16813         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
16814         Reported by Mark Junker <mjscod@gmx.de>.
16815
16816 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
16817
16818         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
16819         Use implementation from Albert Chin, with some
16820         comments/corrections by Stepan Kasal and myself.
16821
16822 2005-12-02  Bruno Haible  <bruno@clisp.org>
16823
16824         * gnulib-tool (func_import): Accept GPLed build tool modules when
16825         --lgpl is given.
16826         * modules/csharpcomp-script: New file.
16827         * modules/csharpcomp: Depend on it.
16828         * modules/javacomp-script: New file.
16829         * modules/javacomp: Depend on it.
16830         Suggested by Simon Josefsson.
16831
16832 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
16833
16834         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
16835         statement, to work around an HP-UX 10.20 compiler bug reported by
16836         Peter O'Gorman.
16837
16838 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
16839
16840         * modules/savedir (Depends-on): Add openat.
16841
16842 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
16843
16844         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
16845         (uintmax_t) [defined uintmax_t]: Do not declare.
16846         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
16847         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
16848         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
16849         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
16850         sake of portability to weird hosts that C allows (though we don't
16851         know of any practical examples).
16852
16853         * lib/savedir.h (fdsavedir): New decl.
16854         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
16855         contains most of the former guts of savedir.
16856         (savedir): Use savedirstream.
16857         Include "openat.h".
16858
16859 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
16860
16861         * modules/obstack (Files): Add m4/ulonglong.m4.
16862         Problem reported by Davide Angelocola.
16863
16864 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
16865
16866         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
16867         coreutils no longer futzes with rounding modes.
16868
16869 2005-11-14  Jim Meyering  <jim@meyering.net>
16870
16871         * lib/mkstemp-safer.c: Include <config.h>, required for possible
16872         replacement of mkstemp.
16873
16874 2005-11-10  Simon Josefsson  <jas@extundo.com>
16875
16876         * lib/readline.c: Remove EOL.
16877
16878 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16879
16880         * modules/gethrxtime (Depends-on): Add gettime.
16881
16882 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16883
16884         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
16885         or gettimeofday; no longer needed.
16886
16887 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
16888
16889         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
16890         time business.
16891         (gethrxtime) [! (HAVE_NANOUPTIME
16892         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
16893         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
16894         our own approximation.
16895
16896 2005-11-08  Eric Blake  <ebb9@byu.net>
16897
16898         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
16899
16900 2005-11-08  Eric Blake  <ebb9@byu.net>
16901
16902         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
16903
16904 2005-11-04  Bruno Haible  <bruno@clisp.org>
16905
16906         * gnulib-tool: Implement --update mode.
16907
16908 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
16909
16910         Fix porting problem reported by Theodoros V. Kalamatianos.
16911         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
16912         Don't assume that futimes failing means we must fail.
16913
16914 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
16915
16916         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
16917         variables to suggest the intended function of the PATH_MAX check.
16918
16919 2005-10-30  Kean Johnston  <jkj@sco.com>
16920
16921         Trivial changes to support SCO systems.
16922         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
16923         as PATH_MAX.
16924         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
16925         where __ptr is null when no I/O is pending.
16926
16927 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
16928
16929         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
16930         leave errno alone.  Problem reported by Dmitry V. Levin.
16931
16932 2005-10-28  Simon Josefsson  <jas@extundo.com>
16933
16934         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
16935         Test more.
16936
16937         * tests/test-gc-md2.c, tests/test-md2.c: New files.
16938
16939         * modules/md2, modules/md2-tests: New files.
16940
16941 2005-10-28  Simon Josefsson  <jas@extundo.com>
16942
16943         * m4/inet_ntop.m4: More tests.
16944
16945         * m4/gc-md2.m4, md2.m4: New file.
16946
16947 2005-10-28  Simon Josefsson  <jas@extundo.com>
16948
16949         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
16950         "restrict" keywords, as per POSIX.  Protect the function
16951         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
16952         Don't use K&R prototypes.  Check the sprintf return values.
16953         Re-define EAFNOSUPPORT if not present.  Indent.
16954
16955         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
16956         suggested by Bruno Haible <bruno@clisp.org>.
16957
16958         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
16959
16960         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
16961
16962         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
16963         libgcrypt).
16964
16965         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
16966
16967         * lib/md2.h, lib/md2.c: New files.
16968
16969 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
16970
16971         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
16972         errno alone.  Problem reported by Frederic Jolliton.
16973
16974 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
16975
16976         * modules/verify (License): Change from GPL to LGPL.  This is a
16977         tiny module and there are apparently near-equivalents that are
16978         under the BSD license.
16979
16980 2005-10-24  Simon Josefsson  <jas@extundo.com>
16981
16982         * modules/sha1: Relicense to LGPL.
16983
16984 2005-10-24  Simon Josefsson  <jas@extundo.com>
16985
16986         * lib/md4.h: Shrink buffer size, now that we changed the type.
16987
16988 2005-10-23  Simon Josefsson  <jas@extundo.com>
16989
16990         * gnulib-tool (func_import): Fix --tests-base.
16991
16992 2005-10-22  Simon Josefsson  <jas@extundo.com>
16993
16994         * modules/arcfour (Depends-on): Need stdint.
16995
16996 2005-10-22  Simon Josefsson  <jas@extundo.com>
16997
16998         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
16999         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
17000
17001 2005-10-22  Simon Josefsson  <jas@extundo.com>
17002
17003         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
17004         suggested by Bruno Haible <bruno@clisp.org>.
17005
17006 2005-10-22  Simon Josefsson  <jas@extundo.com>
17007
17008         * lib/crc.h: Include stddef.h, for size_t.
17009
17010 2005-10-22  Simon Josefsson  <jas@extundo.com>
17011
17012         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
17013         arcfour_context struct (simplify test vector testing in GNU
17014         Shishi).
17015
17016 2005-10-21  Simon Josefsson  <jas@extundo.com>
17017
17018         * modules/des, modules/des-tests: New files.
17019
17020         * modules/gc-des, modules/gc-des-tests: New files.
17021
17022         * tests/test-des.c, tests/test-gc-des.c: New file.
17023
17024 2005-10-21  Simon Josefsson  <jas@extundo.com>
17025
17026         * modules/arctwo, modules/arctwo-tests: New files.
17027
17028         * tests/test-arctwo.c: New file.
17029
17030         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
17031
17032         * tests/test-gc-arctwo.c: New file.
17033
17034 2005-10-21  Simon Josefsson  <jas@extundo.com>
17035
17036         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
17037         Bruno Haible <bruno@clisp.org>.
17038
17039         * m4/gc-des.m4: New file.
17040
17041 2005-10-21  Simon Josefsson  <jas@extundo.com>
17042
17043         * m4/arctwo.m4: New file.
17044
17045         * m4/gc-arctwo.m4: New file.
17046
17047 2005-10-21  Simon Josefsson  <jas@extundo.com>
17048
17049         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
17050         block.
17051
17052 2005-10-21  Simon Josefsson  <jas@extundo.com>
17053
17054         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
17055         <bruno@clisp.org>.
17056
17057         * lib/hmac-sha1.c (hmac_sha1): Likewise.
17058
17059         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
17060         Bruno Haible <bruno@clisp.org>.
17061
17062         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
17063         <bruno@clisp.org>.
17064
17065 2005-10-21  Simon Josefsson  <jas@extundo.com>
17066
17067         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
17068
17069 2005-10-21  Simon Josefsson  <jas@extundo.com>
17070
17071         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
17072
17073 2005-10-21  Simon Josefsson  <jas@extundo.com>
17074
17075         * lib/des.h, lib/des.c: New files.
17076
17077         * lib/gc-gnulib.c: Support DES.c
17078
17079 2005-10-21  Simon Josefsson  <jas@extundo.com>
17080
17081         * lib/arctwo.h, lib/arctwo.c: New files.
17082
17083         * lib/gc-gnulib.c: Support ARCTWO.
17084
17085 2005-10-21  Simon Josefsson  <jas@extundo.com>
17086
17087         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
17088         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17089
17090 2005-10-21  Simon Josefsson  <jas@extundo.com>
17091
17092         * gnulib-tool (func_import, func_create_testdir): Define automake
17093         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
17094         Makefile.am snippet),
17095         suggested by Bruno Haible <bruno@clisp.org>.
17096
17097         * modules/gc (Makefile.am): Use it.
17098
17099 2005-10-21  Bruno Haible  <bruno@clisp.org>
17100
17101         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
17102         patch.
17103
17104 2005-10-19  Simon Josefsson  <jas@extundo.com>
17105
17106         * tests/test-gc-rijndael.c: New file.
17107
17108         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
17109
17110 2005-10-19  Simon Josefsson  <jas@extundo.com>
17111
17112         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
17113         interface too.
17114
17115 2005-10-19  Simon Josefsson  <jas@extundo.com>
17116
17117         * tests/test-gc-arcfour.c: New file.
17118
17119         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
17120
17121 2005-10-19  Simon Josefsson  <jas@extundo.com>
17122
17123         * modules/gc-md4, modules/gc-md4-tests: New file.
17124
17125         * tests/test-gc-md4.c: New file.
17126
17127 2005-10-19  Simon Josefsson  <jas@extundo.com>
17128
17129         * m4/gc-md4.m4: New file.
17130
17131 2005-10-19  Simon Josefsson  <jas@extundo.com>
17132
17133         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
17134         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
17135         <kasal@ucw.cz>.
17136
17137 2005-10-19  Simon Josefsson  <jas@extundo.com>
17138
17139         * m4/gc-arcfour.m4: New file.
17140
17141         * m4/gc-rijndael.m4: New file.
17142
17143 2005-10-19  Simon Josefsson  <jas@extundo.com>
17144
17145         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
17146
17147 2005-10-19  Simon Josefsson  <jas@extundo.com>
17148
17149         * lib/gc-gnulib.c: Support ARCFOUR.
17150
17151 2005-10-19  Simon Josefsson  <jas@extundo.com>
17152
17153         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
17154         support.
17155
17156         * lib/gc.h: Add ECB enum type.
17157
17158         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
17159
17160 2005-10-18  Simon Josefsson  <jas@extundo.com>
17161
17162         * tests/test-md5.c: New file.
17163
17164         * modules/md5-tests: New file.
17165
17166 2005-10-18  Simon Josefsson  <jas@extundo.com>
17167
17168         * tests/test-md4.c: New file.
17169
17170         * modules/md4, modules/md4-tests: New files.
17171
17172 2005-10-18  Simon Josefsson  <jas@extundo.com>
17173
17174         * m4/md4.m4: New file.
17175
17176 2005-10-18  Simon Josefsson  <jas@extundo.com>
17177
17178         * lib/md4.h, lib/md4.c: New files, based on md5.?.
17179
17180 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
17181
17182         * gnulib-tool (func_create_testdir): Omit the second check whether
17183         BUILT_SOURCES in nonempty.
17184
17185 2005-10-17  Simon Josefsson  <jas@extundo.com>
17186
17187         * tests/test-rijndael.c: New file.
17188
17189 2005-10-17  Simon Josefsson  <jas@extundo.com>
17190
17191         * modules/sha1: Depend on stdint instead of md5.
17192
17193         * modules/md5: Depend on stdint, remove uint32_t.
17194
17195 2005-10-17  Simon Josefsson  <jas@extundo.com>
17196
17197         * modules/gc-sha1-tests: New file.
17198
17199         * tests/test-gc-sha1.c: New file.
17200
17201 2005-10-17  Simon Josefsson  <jas@extundo.com>
17202
17203         * m4/md5.m4: Remove call to uint32_t.m4.
17204
17205 2005-10-17  Simon Josefsson  <jas@extundo.com>
17206
17207         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
17208
17209         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
17210         md5.h.
17211
17212         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
17213
17214         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
17215
17216 2005-10-17  Simon Josefsson  <jas@extundo.com>
17217
17218         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
17219
17220 2005-10-17  Simon Josefsson  <jas@extundo.com>
17221
17222         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
17223
17224 2005-10-17  Simon Josefsson  <jas@extundo.com>
17225
17226         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
17227
17228         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
17229
17230 2005-10-17  Bruno Haible  <bruno@clisp.org>
17231
17232         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
17233         that it can also be used in a test.
17234
17235 2005-10-16  Bruno Haible  <bruno@clisp.org>
17236
17237         * gnulib-tool (func_emit_tests_Makefile_am): Also define
17238         TESTS_ENVIRONMENT, so that individual tests can augment it.
17239
17240         * gnulib-tool (func_create_testdir): Use an intermediate target for
17241         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
17242         macros, like $(ALLOCA_H), which cannot be passed through the command
17243         line.
17244
17245 2005-10-15  Simon Josefsson  <jas@extundo.com>
17246
17247         * modules/rijndael-tests: New file.
17248
17249         * modules/rijndael: New file.
17250
17251 2005-10-15  Simon Josefsson  <jas@extundo.com>
17252
17253         * m4/rijndael.m4: New file.
17254
17255 2005-10-15  Simon Josefsson  <jas@extundo.com>
17256
17257         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
17258
17259         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
17260
17261 2005-10-14  Simon Josefsson  <jas@extundo.com>
17262
17263         * tests/test-arcfour.c: New file.
17264
17265         * modules/arcfour, modules/arcfour-tests: New files.
17266
17267 2005-10-14  Simon Josefsson  <jas@extundo.com>
17268
17269         * m4/arcfour.m4: New file.
17270
17271 2005-10-14  Simon Josefsson  <jas@extundo.com>
17272
17273         * lib/arcfour.h, lib/arcfour.c: New files.
17274
17275 2005-10-14  Roland McGrath  <roland@redhat.com>
17276
17277         Import from libc.  [BZ #1331]
17278         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
17279         macro argument.
17280         Reported by Matej Vela <vela@debian.org>.
17281
17282 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
17283
17284         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
17285         include <wchar.h>; no longer needed.
17286
17287 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
17288
17289         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
17290
17291 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
17292         and  Ulrich Drepper  <drepper@redhat.com>
17293
17294         Import from libc.
17295         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
17296         instead of inline stream orientation test and two separate
17297         function calls.  Pay no attention to USE_IN_LIBIO.
17298
17299 2005-10-13  Simon Josefsson  <jas@extundo.com>
17300
17301         * modules/gc-hmac-md5-tests: New file.
17302
17303         * tests/test-gc-hmac-sha1.c: New file.
17304
17305         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
17306
17307         * modules/gc-hmac-md5-tests: New file.
17308
17309         * tests/test-gc-md5.c: New file.
17310
17311         * modules/gc-md5-tests: New file.
17312
17313 2005-10-13  Simon Josefsson  <jas@extundo.com>
17314
17315         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
17316         Move memory allocation outside of loop.
17317
17318 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
17319
17320         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
17321         intermediate directory is in a read-only file system.  Problem
17322         reported by Eric Blake.
17323
17324 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
17325
17326         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
17327
17328 2005-10-12  Simon Josefsson  <jas@extundo.com>
17329
17330         * tests/test-hmac-sha1.c: New file.
17331
17332         * modules/hmac-sha1-tests: New file.
17333
17334         * modules/hmac-sha1: New file.
17335
17336 2005-10-12  Simon Josefsson  <jas@extundo.com>
17337
17338         * modules/gc-sha1: New file.
17339
17340 2005-10-12  Simon Josefsson  <jas@extundo.com>
17341
17342         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
17343
17344         * tests/test-gc-pbkdf2-sha1.c: New file.
17345
17346 2005-10-12  Simon Josefsson  <jas@extundo.com>
17347
17348         * modules/gc-md5, modules/gc-hmac-md5: New files.
17349
17350         * modules/gc (Files): Remove md5, memxor and hmac files.
17351
17352 2005-10-12  Simon Josefsson  <jas@extundo.com>
17353
17354         * m4/gc-pbkdf2-sha1.m4: New file.
17355
17356         * m4/gc-hmac-sha1.m4: New file.
17357
17358         * m4/gc-sha1: New file.
17359
17360         * m4/hmac-sha1.m4: New file.
17361
17362 2005-10-12  Simon Josefsson  <jas@extundo.com>
17363
17364         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
17365
17366         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
17367
17368 2005-10-12  Simon Josefsson  <jas@extundo.com>
17369
17370         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
17371         suggested by Bruno Haible <bruno@clisp.org>.
17372
17373 2005-10-12  Simon Josefsson  <jas@extundo.com>
17374
17375         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
17376
17377 2005-10-12  Simon Josefsson  <jas@extundo.com>
17378
17379         * lib/gc-pbkdf2-sha1.c: New file.
17380
17381         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
17382
17383 2005-10-12  Simon Josefsson  <jas@extundo.com>
17384
17385         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
17386
17387         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
17388
17389 2005-10-12  Simon Josefsson  <jas@extundo.com>
17390
17391         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
17392         GC_USE_HMAC_MD5, respectively.
17393
17394         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
17395         (gc_md5): Fix typo.
17396
17397         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
17398
17399         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
17400
17401         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
17402
17403 2005-10-12  Bruno Haible  <bruno@clisp.org>
17404
17405         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
17406         Reported by Stepan Kasal <kasal@ucw.cz>.
17407
17408 2005-10-11  Simon Josefsson  <jas@extundo.com>
17409
17410         * tests/test-crc.c: New file.
17411
17412         * modules/crc, modules/crc-tests: New files.
17413
17414 2005-10-11  Simon Josefsson  <jas@extundo.com>
17415
17416         * m4/crc.m4: New file.
17417
17418 2005-10-11  Simon Josefsson  <jas@extundo.com>
17419
17420         * lib/gc.h: Add gc_hash and gc_hash_buffer.
17421
17422         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
17423
17424         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
17425
17426 2005-10-11  Simon Josefsson  <jas@extundo.com>
17427
17428         * lib/crc.h, lib/crc.c: New files.
17429
17430         * lib/gc.h (gc_hash_buffer): Add doc.
17431
17432 2005-10-11  Bruno Haible  <bruno@clisp.org>
17433
17434         * modules/c-strcasestr: New file.
17435         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
17436
17437 2005-10-11  Bruno Haible  <bruno@clisp.org>
17438
17439         * modules/c-strcase: New file.
17440         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
17441
17442 2005-10-11  Bruno Haible  <bruno@clisp.org>
17443
17444         * lib/strcasecmp.c: Include limits.h.
17445         (strcasecmp): Avoid integer overflow on exotic platforms.
17446         * lib/strncasecmp.c: Include limits.h.
17447         (strncasecmp): Avoid integer overflow on exotic platforms.
17448         Reported by Paul Eggert.
17449
17450 2005-10-11  Bruno Haible  <bruno@clisp.org>
17451
17452         * lib/c-strcasestr.h: New file, from GNU gettext.
17453         * lib/c-strcasestr.c: New file, from GNU gettext.
17454
17455 2005-10-11  Bruno Haible  <bruno@clisp.org>
17456
17457         * lib/c-strcase.h: New file, from GNU gettext.
17458         * lib/c-strcasecmp.c: New file, from GNU gettext.
17459         * lib/c-strncasecmp.c: New file, from GNU gettext.
17460
17461 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
17462
17463         * modules/mempcpy (License): GPL -> LGPL.
17464         * modules/strchrnul (License): Likewise.
17465         * modules/sysexits (License): Likewise.
17466
17467 2005-10-08  Simon Josefsson  <jas@extundo.com>
17468
17469         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
17470
17471 2005-10-07  Simon Josefsson  <jas@extundo.com>
17472
17473         * m4/memxor.m4: Remove gl_C_RESTRICT call.
17474
17475 2005-10-06  Simon Josefsson  <jas@extundo.com>
17476
17477         * tests/test-hmac-md5.c: New file.
17478
17479         * modules/hmac-md5-tests: New file.
17480
17481         * modules/hmac-md5: New file.
17482
17483 2005-10-06  Simon Josefsson  <jas@extundo.com>
17484
17485         * m4/hmac-md5.m4: New file.
17486
17487         * m4/memxor.m4: Require gl_C_RESTRICT.
17488
17489 2005-10-06  Simon Josefsson  <jas@extundo.com>
17490
17491         * lib/memxor.c (memxor): Avoid casts and warnings.
17492
17493 2005-10-06  Simon Josefsson  <jas@extundo.com>
17494
17495         * lib/hmac-md5.c: New file.
17496
17497         * lib/hmac.h: New file.
17498
17499 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
17500
17501         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
17502         promotes to int, not unsigned int, to catch the AIX 5.3
17503         compiler bug.
17504
17505 2005-10-05  Simon Josefsson  <jas@extundo.com>
17506
17507         * modules/memxor: New file.
17508
17509         * modules/iconv (Files): Move config.rpath to havelib, it is used
17510         there.
17511
17512         * modules/havelib (Files): Add config.rpath.
17513
17514 2005-10-05  Simon Josefsson  <jas@extundo.com>
17515
17516         * m4/memxor.m4: New file.
17517
17518 2005-10-05  Simon Josefsson  <jas@extundo.com>
17519
17520         * lib/memxor.c (memxor): Fix compiler error.
17521
17522         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
17523         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
17524
17525         * lib/memxor.h, lib/memxor.c: New files.
17526
17527         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
17528         we assume all systems have it, suggested by Jim Meyering
17529         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
17530         any systems lack sys/socket.h; mingw32 is known to lack it, but we
17531         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
17532         same reasons.
17533
17534 2005-10-05  Simon Josefsson  <jas@extundo.com>
17535
17536         * config/srclist.txt: Add glibc bug 1423 for md5.h.
17537
17538 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
17539
17540         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
17541         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
17542         needed, since the source code now assumes these .h files.
17543
17544 2005-10-05  Derek Price  <derek@ximbiot.com>
17545
17546         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
17547
17548 2005-10-05  Bruno Haible  <bruno@clisp.org>
17549
17550         * modules/stdint (License): Change to LGPL.
17551
17552 2005-10-04  Simon Josefsson  <jas@extundo.com>
17553
17554         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
17555         D. Baushke" <mdb@gnu.org>.
17556
17557 2005-10-04  Bruno Haible  <bruno@clisp.org>
17558
17559         * lib/verify.h (verify_true): Provide alternative definition for C++.
17560
17561 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
17562
17563         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
17564         (SSIZE_MAX): New macro, if not already defined.
17565         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
17566         than 2 GiB.
17567
17568 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
17569
17570         Sync from coreutils.
17571         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
17572         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
17573         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
17574         ULLONG_MAX doesn't work with 2.7.2.1.
17575
17576 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
17577
17578         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
17579         From Ben Pfaff.
17580
17581         * modules/exclude (Depends-on): Depend on verify.
17582         * modules/strtoimax (Depends-on): Likewise.
17583         * modules/utimecmp (Depends-on): Likewise.
17584
17585 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
17586
17587         * lib/exclude.c: Include verify.h.
17588         (verify): Remove.  All callers changed to use verify.h's version.
17589         * lib/strtoimax.c: Likewise.
17590         * lib/utimecmp.c: Likewis.e
17591
17592         Sync from coreutils.
17593         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
17594         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
17595         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
17596         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
17597         bother returning ENOSYS if settimeofday or stime fails; just let
17598         them return whatever errno they want to return.
17599         * lib/utimens.c: Include unistd.h, for dup2.
17600         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
17601         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
17602
17603 2005-10-02  Jim Meyering  <jim@meyering.net>
17604
17605         Sync from coreutils.
17606         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
17607         from glibc-2.2.5 that fails for read-only files.
17608
17609 2005-10-02  Jim Meyering  <jim@meyering.net>
17610
17611         Sync from coreutils.
17612         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
17613         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
17614         `#if HAVE_CONFIG_H'.
17615         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
17616         Remove AT_FDCWD test.
17617         Do not consume the fd unless successful.
17618         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
17619         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
17620         block, so that we don't even try to compile it if settimeofday is
17621         available.  This works around a compilation failure on OSF1 V5.1,
17622         due to stime requiring a `long int*' while tv_sec is `int'.
17623
17624 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
17625
17626         Sync from coreutils.
17627         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
17628         against `yes', rather than just testing for nonempty.
17629
17630 2005-10-01  Simon Josefsson  <jas@extundo.com>
17631
17632         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
17633         and Darwin.
17634
17635         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
17636         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
17637         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
17638         freeaddrinfo and gai_strerror are declared by the POSIX headers.
17639         Check if struct addrinfo is declared.
17640
17641 2005-10-01  Simon Josefsson  <jas@extundo.com>
17642
17643         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
17644         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
17645         AI_* and EAI_* definitions.  Protect function declarations.
17646
17647 2005-10-01  Jim Meyering  <jim@meyering.net>
17648
17649         Sync from coreutils.
17650
17651         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
17652         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
17653         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
17654         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
17655         in the inet and nsl libraries.  Required on Solaris 5.7.
17656
17657 2005-10-01  Jim Meyering  <jim@meyering.net>
17658
17659         Sync from coreutils.
17660         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
17661         in the inet and nsl libraries.  Required on Solaris 5.7.
17662
17663 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
17664
17665         * lib/getdelim.c (getdelim): Remove unused variables.
17666
17667 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
17668
17669         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
17670         so that the code works even with ancient cpp.  Portability problem
17671         with GCC 2.7.2.1 reported by Thomas M.Ott.
17672
17673 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
17674
17675         * modules/regex (Depends-on): Add strcase.
17676
17677         * modules/gethostname (Licence): Change from GPL to LGPL, since
17678         gethostname.c is a trivial implementation of a standard library
17679         function.
17680         * modules/poll (License): Change from GPL to LGPL, since it's
17681         derived from LGPL code.
17682
17683 2005-09-27  Jim Meyering  <jim@meyering.net>
17684
17685         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
17686         HAVE_CONFIG_H.
17687
17688         * lib/intprops.h (signed_type_or_expr__): Define.
17689         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
17690         for unsigned types.
17691
17692 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
17693
17694         * lib/verify.h (verify_expr): Remove, replacing with:
17695         (verify_true): New macro that returns true instead of void.
17696         (verify_type__): Remove.
17697         (verify): Use verify_true rather than verify_type__.
17698
17699 2005-09-26  Bruno Haible  <bruno@clisp.org>
17700
17701         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
17702         is necessary.
17703         (lib_SOURCES): Remove mbchar.c.
17704         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
17705         (Files): Add m4/mbrtowc.m4.
17706         * modules/mbiter: Likewise.
17707         * modules/mbuiter: Likewise.
17708
17709 2005-09-26  Bruno Haible  <bruno@clisp.org>
17710
17711         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
17712         compile mbchar.c if they are not both present.
17713         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
17714         * m4/mbiter.m4 (gl_MBITER): Likewise.
17715         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
17716         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
17717         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
17718
17719 2005-09-25  Jim Meyering  <jim@meyering.net>
17720
17721         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
17722         also uses socklen_t.
17723
17724 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
17725
17726         * lib/utimens.c (ENOSYS): Define if not already defined.
17727         (futimens): Support having a null PATH if the file descriptor
17728         is nonnegative.
17729
17730         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
17731         Remove.
17732         (__attribute): Define to empty unless GCC 3.1 or later.
17733         This works around a core dump on OpenBSD 3.4, which has GCC
17734         2.95.3, which dumps core when given __attribute__(()).  It also
17735         simplifies other tests, since we really don't want to bother with
17736         worrying about which ancient version of GCC supported what.
17737         Original problem reported by Yoann Vandoorselaere, with part of
17738         the fix suggested by Derek Price.
17739
17740 2005-09-24  Jim Meyering  <jim@meyering.net>
17741
17742         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
17743         so we can once again use a positive bitfield width of 1 -- now we
17744         don't have to explain why we were using a bitfield width of 2.
17745
17746 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17747
17748         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
17749         and similarly for the other external symbols.  Problem reported
17750         by James Gallager.
17751
17752         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
17753         bug reported by Jim Meyering.
17754
17755         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
17756         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
17757         not needed, since socklen is a prerequisite module.
17758
17759 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
17760
17761         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
17762         Problem reported by Eric Blake.
17763         (getaddrinfo): Initialize se so that it's not garbage.
17764         Redo internal storage allocation so that it doesn't make unportable
17765         assumptions about alignment.
17766         Fix a memory leak.
17767
17768         * lib/utimens.c (futimens): Use futimesat if available.
17769         Prefer it to futimes since it doesn't have the futimes bug.
17770
17771         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
17772         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
17773         Instead, declare a function that returns a pointer to an array,
17774         and use verify_type__ to declare the size of the array.
17775         Problem and germ of a solution reported by Bruno Haible.
17776         (verify_type__): Use 2, not 1, for bitfield size, to avoid
17777         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
17778
17779 2005-09-23  Jim Meyering  <jim@meyering.net>
17780
17781         Sync from coreutils.
17782         Correct build failure (socklen_t not defined) on at least
17783         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
17784         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
17785
17786 2005-09-23  Jim Meyering  <jim@meyering.net>
17787
17788         * modules/getaddrinfo (Depends-on): Add socklen.
17789
17790 2005-09-23  Bruno Haible  <bruno@clisp.org>
17791
17792         * tests/test-verify.c: New file.
17793
17794 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17795
17796         Sync from coreutils.
17797
17798         * modules/argmatch (Depends-on): Add verify.
17799         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
17800         unistd-safer.
17801         * modules/save-cwd (Depends-on): Likewise.
17802
17803         * modules/openat (Files): Add lib/openat-die.c.
17804         (Depends-on): Remove error, exitfail.
17805         Add dirname.
17806
17807         * modules/verify: New file.
17808         * MODULES.html.sh (Diagnostics <assert.h>): New section,
17809         with "verify" module.
17810
17811 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17812
17813         Sync from coreutils.
17814
17815         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
17816         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
17817         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
17818         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
17819         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
17820         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
17821         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
17822         Don't bother checking for string.h, stdlib.h, unistd.h.
17823         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
17824         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
17825         module's job.
17826         * m4/jm-macros.m4 (gl_MACROS): Likewise.
17827         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
17828
17829         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
17830         (gl_GETDATE): Use it.
17831
17832         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
17833
17834 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17835
17836         Sync from coreutils.
17837
17838         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
17839         stat-time.h.
17840         * lib/argmatch.h: Include verify.h
17841         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
17842         (ARGMATCH_ASSERT): Remove; unused.
17843         * lib/canonicalize.c: Assume STDC_HEADERS.
17844         * lib/exclude.c: Include "strcase.h".
17845         * lib/regex_internal.h [!defined _LIBC]: Likewise.
17846         * lib/getusershell.c: Include stdio--.h rather than stdio.h
17847         and stdio-safer.h.
17848         (getusershell): Call fopen, not fopen_safer.
17849         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
17850         Do not include unistd-safer.h.
17851         (save_cwd): Don't call fd_safer; no longer needed
17852         now that we include fcntl--.h.
17853
17854         * lib/getdate.y (relative_time): New type.
17855         (RELATIVE_TIME_0): New constant.
17856         (parser_control): Use relative_time instead of doing it ourselves.
17857         (%union): Add new relative_time rel member.
17858         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
17859         Now typeless.
17860         (relunit, relunit_snumber): Now of type rel.
17861         (zone, rel, relunit, get_date): Adjust to above changes.
17862
17863         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
17864         Do not include unistd-safer.h.
17865         (getloadavg): Don't call fd_safer; no longer needed
17866         now that we include fcntl--.h.
17867
17868         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
17869         (make_dir_parents): Treat ENOSYS like EEXIST.
17870
17871         Improve quality of diagnostics on restore_cwd failure.
17872         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
17873         (make_dir_parents): Last arg is now int * (for errno), not bool *.
17874         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
17875         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
17876         each time through the loop.  Do not diagnose restore_cwd failure;
17877         that is the caller's job (and perhaps the caller does not care).
17878
17879         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
17880         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
17881         If the file already exists but is not a directory, don't bother
17882         to try to make its parents.
17883         Close potential file descriptor leak if we can't chdir("/") (!).
17884         Don't always return true if chdir($PWD) fails; return true only
17885         if the requested action was done successfully (except for the
17886         chdir($PWD)).
17887         Don't log final directory unless we actually made it.
17888         Refactor to avoid duplicate code to fix up permissions.
17889         Don't attempt to fix up parent permissions if chdir($PWD) fails.
17890
17891         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
17892         to make it a bit faster and (I hope) clearer.
17893         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
17894         Fix bug in formats like %2N.
17895
17896         * lib/verify.h: New file.
17897
17898 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
17899
17900         Sync from coreutils.
17901         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
17902
17903 2005-09-22  Jim Meyering  <jim@meyering.net>
17904
17905         Sync from coreutils.
17906
17907         * m4/lstat.m4 (gl_FUNC_LSTAT):
17908         Use AC_LIBSOURCES to require lstat.c and lstat.h.
17909         Remove obsolete comment.
17910         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
17911         * m4/xstrtod.m4: Likewise.
17912
17913         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
17914
17915 2005-09-22  Jim Meyering  <jim@meyering.net>
17916
17917         Sync from coreutils.
17918
17919         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
17920
17921         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
17922         the .tm_year member, since otherwise gcc-4.0 would now warn about
17923         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
17924
17925         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
17926         order to avoid an unsuppressible warning from gcc on 64-bit systems.
17927
17928         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
17929         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
17930         when run in a time zone for which daylight savings time is in effect
17931         for the starting date.
17932
17933         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
17934         stop us from restricting permissions of just-created absolute-named
17935         directories.
17936         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
17937         to restore initial working directory.
17938         * lib/mkdir-p.c (make_dir_parents): New parameter:
17939         different_working_dir, to tell caller if/when we change the working
17940         directory and are unable to return to the initial one.
17941         * lib/mkdir-p.h (make_dir_parents): Update prototype.
17942         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
17943         `return false'.  This fixes a bug introduced on 2004-07-30.
17944
17945         * lib/openat.c (fdopendir): Be sure to close the supplied
17946         file descriptor before returning.  This makes our replacement
17947         implementation a little closer to Solaris's, where fdopendir
17948         ties the file descriptor to the returned DIR* pointer.
17949         * lib/openat.c (unlinkat): New function.
17950         * lib/openat.h (unlinkat): Add prototype.
17951         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
17952         (openat_restore_fail): Rename from openat_restore_die.
17953         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
17954
17955         Provide an alternative to exiting immediately upon save_cwd or
17956         restore_cwd failure.  Now, an application can arrange e.g.,
17957         to perform a longjump in that case.
17958         * lib/openat.c: Include dirname.h.
17959         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
17960         (rpl_openat, fdopendir, fstatat): Call openat_save_die
17961         and openat_restore_die rather than calling error directly.
17962         Don't include "error.h" or "exitfail.h"; they're no longer needed.
17963
17964         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
17965         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
17966         define.
17967
17968         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
17969         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
17970                             int utc, int nanoseconds);
17971         Background:
17972         date should not have to allocate a megabyte of virtual memory to
17973         handle a format argument like +%1048575T.  When implemented with
17974         strftime, it must allocate such a buffer, use strftime to fill it
17975         in, print it, then free it.
17976         With fprintftime, it simply prints everything and exits.
17977         With no need for memory allocation, that's one fewer way to fail.
17978         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
17979         optional field width, not before, so we accept %9:z, not %:9z.
17980         (my_strftime): Be sure to use L_('x') for literals.
17981
17982         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
17983         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
17984         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
17985         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
17986         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
17987         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
17988         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
17989         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
17990         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
17991         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
17992         * lib/xgethostname.c, lib/xreadlink.c:
17993         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
17994
17995         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
17996         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
17997         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
17998         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
17999         and don't include <sys/file.h>).
18000
18001 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
18002
18003         Sync from coreutils.
18004
18005         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
18006         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
18007         [!LDAV_DONE]: Avoid unused variable warning.
18008
18009 2005-09-21  Bruno Haible  <bruno@clisp.org>
18010
18011         * lib/unicodeio.h (unicode_to_mb): New declaration.
18012
18013 2005-09-20  Derek Price  <derek@ximbiot.com>
18014
18015         * lib/getaddrinfo.c: Don't include <netdb.h> included from
18016         getaddrinfo.h.
18017
18018 2005-09-20  Bruno Haible  <bruno@clisp.org>
18019
18020         * gnulib-tool: Remove trailing slashes from the values specified for
18021         --source-base, --m4-base, --tests-base, --aux-dir.
18022         Suggested by Simon Josefsson <jas@extundo.com>.
18023
18024 2005-09-20  Bruno Haible  <bruno@clisp.org>
18025
18026         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
18027         func_modules_to_filelist, func_import, func_create_testdir): Make all
18028         sorting results locale-independent, so that gnulib-cache.m4 doesn't
18029         change when gnulib-tool is invoked in a different locale.
18030
18031 2005-09-19  Simon Josefsson  <jas@extundo.com>
18032
18033         * m4/socklen.m4: Fix typo.
18034
18035 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18036
18037         Use a consistent style for including <config.h>.
18038         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
18039         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
18040         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
18041         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
18042         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
18043         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
18044         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
18045         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
18046         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
18047         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
18048         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
18049         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
18050         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
18051         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
18052         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
18053         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
18054         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
18055         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
18056         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
18057         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
18058         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
18059         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
18060         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
18061         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
18062         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
18063         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
18064         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
18065         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
18066         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
18067         lib/xstrtoumax.c, lib/yesno.c:
18068         Standardize inclusion of config.h.
18069         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
18070         lib/inttostr.h:  Removed inclusion of config.h from header files.
18071         * lib/inttostr.c:  Adjusted in-tree users.
18072         * lib/timespec.h: Remove superfluous warning to include config.h.
18073         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
18074         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
18075         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
18076         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
18077         config.h with HAVE_CONFIG_H.
18078
18079 2005-09-19  Jim Meyering  <jim@meyering.net>
18080
18081         * modules/pathmax (License): Change to LGPL.
18082
18083 2005-09-19  Derek Price  <derek@ximbiot.com>
18084
18085         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
18086
18087 2005-09-19  Bruno Haible  <bruno@clisp.org>
18088
18089         * gnulib-tool (import): Provide default for --tests-base.
18090
18091 2005-09-19  Bruno Haible  <bruno@clisp.org>
18092
18093         * doc/quote.texi: New file, extracted from gnulib.texi.
18094         * doc/ctime.texi: New file, extracted from gnulib.texi.
18095         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
18096         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
18097         * doc/gnulib.texi: Include them.
18098
18099 2005-09-18  Bruno Haible  <bruno@clisp.org>
18100
18101         Portability fix.
18102         * gnulib-tool (func_readlink): New function.
18103         (func_ln_if_changed): Use it.
18104
18105 2005-09-18  Bruno Haible  <bruno@clisp.org>
18106
18107         * gnulib-tool: Support --with-tests also with --import.
18108         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
18109         (func_import): Use variables $testsbase and $inctests. Emit a
18110         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
18111         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
18112         SUBDIRS += $testsdir.
18113         (func_create_testdir): Update.
18114
18115 2005-09-18  Bruno Haible  <bruno@clisp.org>
18116
18117         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
18118         instead of $dry_run.
18119         (func_cp_if_changed, func_mv_if_changed): Remove functions.
18120         (func_ln_if_changed): Don't handle dry-run here.
18121         (func_import): In dry-run mode, detect more precisely which actions
18122         would be performed, and don't use "...ing" verbs.
18123
18124 2005-09-18  Bruno Haible  <bruno@clisp.org>
18125
18126         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
18127         (func_import): Use join on two temporary files instead of three nested
18128         loops, in order to determine which files are new or old.
18129
18130 2005-09-18  Bruno Haible  <bruno@clisp.org>
18131
18132         * gnulib-tool (func_import): Comment out code that spits out the
18133         new files with --dry-run.
18134
18135 2005-09-18  Bruno Haible  <bruno@clisp.org>
18136
18137         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
18138
18139 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18140
18141         * lib/stat-time.h: New file.
18142         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
18143         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
18144         in a different way.
18145         (timespec_cmp): New function.
18146         * lib/utimecmp.c: Include stat-time.h.
18147         (SYSCALL_RESOLUTION): Depend on whether various struct stat
18148         members exist, not on the obsolescent ST_MTIM_NSEC.
18149         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
18150
18151 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18152
18153         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
18154
18155 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
18156
18157         * MODULES.html.sh (File system functions): Add stat-time.
18158         * modules/stat-time: New file.
18159         * modules/timespec (Files): Remove m4/st_mtim.m4; this
18160         is now done in a different way, by the stat-time module.
18161         * modules/utimecmp (Depends-on): Add stat-time.
18162
18163 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
18164
18165         * m4/st_mtim.m4: Remove.  Superseded by...
18166         * m4/stat-time.m4: New file.
18167         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
18168         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
18169
18170 2005-09-15  Derek Price  <derek@ximbiot.com>
18171
18172         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
18173
18174 2005-09-15  Derek Price  <derek@ximbiot.com>
18175
18176         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
18177         * lib/regex_internal.c: Ditto, using this...
18178         (__GNUC_PREREQ): ...new macro.
18179         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
18180         using...
18181         (__GNUC_PREREQ): ...this new macro.
18182
18183         * lib/strstr.h: Include string.h. Define strstr as a macro here.
18184
18185 2005-09-15  Derek Price  <derek@ximbiot.com>
18186             Paul Eggert  <eggert@cs.ucla.edu>
18187
18188         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
18189         changes, consolidating in...
18190         * lib/regex_internal.h: ...this file.
18191
18192 2005-09-13  Jim Meyering  <jim@meyering.net>
18193
18194         * lib/canon-host.c: Filter through gnu indent and reword comments
18195         slightly.
18196         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
18197
18198 2005-09-13  Derek Price  <derek@ximbiot.com>
18199
18200         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
18201         failure.
18202         Reported by Jim Meyering  <jim@meyering.net>.
18203
18204 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
18205
18206         * lib/base64.c: Typo.
18207         (base64_encode): Put b64str in initialized data section.
18208
18209 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
18210
18211         Merge glibc and coreutils changes into gnulib, plus a few
18212         extra fixes.
18213         * lib/md5.c: Use #error rather than a string.
18214         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
18215         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
18216         (__attribute__): Define to empty for non recent-GCC.
18217         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
18218         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
18219         Renamed from their non-__ counterparts, with new macros replacing
18220         them if not _LIBC.  Add __THROW attribute.
18221         (rol): Remove.
18222         (struct md5_ctx): Align buffer if using GCC.
18223         * lib/sha1.h (struct sha1_ctx): Likewise.
18224         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
18225         The old name was backwards.
18226         (NOTSWAP): Remove; not used.
18227         (rol): New macro, moved here from md5.h.
18228         (sha1_process_block): Remove a FIXME that doesn't make sense.
18229
18230 2005-09-12  Derek Price  <derek@ximbiot.com>
18231
18232         Return usable errors from canon-host.
18233         * lib/canon-host.h: New file.
18234         * lib/canon-host.c (canon_host): Wrap...
18235         (canon_host_r): ...this new function, which now relies exclusively on
18236         getaddrinfo.
18237         (ch_strerror): New function.
18238         (last_cherror): New global.
18239         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
18240         interface.
18241         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
18242         void *.
18243         (freeaddrinfo): Free ai->ai_canonname when set.
18244
18245 2005-09-12  Derek Price  <derek@ximbiot.com>
18246
18247         Make canon-host require getaddrinfo.
18248         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
18249         AC_LIBSOURCE canon-host.h.  Call...
18250         (gl_PREREQ_CANON_HOST): ...this new function, which requires
18251         gl_GETADDRINFO.
18252         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
18253
18254 2005-09-12  Derek Price  <derek@ximbiot.com>
18255
18256         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
18257         LGPL.
18258         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
18259
18260 2005-09-12  Derek Price  <derek@ximbiot.com>
18261
18262         * lib/gai_strerror.c: Include config.h when available.  Include
18263         getaddrinfo.h before other headers to test interface.
18264         Reported by Larry Jones <lawrence.jones@ugs.com>.
18265
18266 2005-09-12  Derek Price  <derek@ximbiot.com>
18267             Paul Eggert  <eggert@cs.ucla.edu>
18268
18269         * modules/glob (Files): Add glob-libc.h.
18270
18271 2005-09-12  Derek Price  <derek@ximbiot.com>
18272             Paul Eggert  <eggert@cs.ucla.edu>
18273
18274         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
18275         glob_.h, glob-libc.h.
18276         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
18277
18278 2005-09-12  Derek Price  <derek@ximbiot.com>
18279             Paul Eggert  <eggert@cs.ucla.edu>
18280
18281         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
18282         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
18283         protecting things that should be done only in gnulib contexts.
18284         * lib/glob_.h: New file, containing only the glob things needed for
18285         gnulib.
18286         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
18287         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
18288         (glob, globfree, glob_pattern_p): Now defined simply in terms of
18289         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
18290         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
18291         and to respect the namespace rules better.
18292
18293 2005-09-08  Simon Josefsson  <jas@extundo.com>
18294
18295         * modules/socklen: New file.
18296
18297 2005-09-08  Simon Josefsson  <jas@extundo.com>
18298
18299         * m4/socklen.m4: New file.
18300
18301 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
18302
18303         * modules/utimens (Files): Add m4/utimbuf.m4, since
18304         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
18305         Reported by Sergey Poznyakoff.
18306
18307 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
18308
18309         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
18310         definitions, since that's the preferred style in glibc.
18311         Fix a minor spacing issue, and update copyright notice to match
18312         glibc's.
18313
18314 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
18315
18316         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
18317
18318 2005-09-06  Simon Josefsson  <jas@extundo.com>
18319
18320         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
18321         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
18322
18323 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
18324
18325         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
18326         warning.
18327
18328 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
18329
18330         * config/srclist.txt: Add glibc bug 1302.
18331
18332 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
18333
18334         Change bitset word type from unsigned int to unsigned long int,
18335         as this has better performance on typical 64-bit hosts.
18336         Port bitset code to hosts with unusual word sizes.
18337         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
18338         (build_collating_symbol):
18339         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
18340         argument is a bitset.  This is merely a style issue, but it makes
18341         it clearer that an entire array is expected.
18342         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
18343         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
18344         Port to the case where bitset_word is not the same as unsigned int.
18345         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
18346         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
18347         Likewise.
18348         * lib/regexec.c (check_dst_limits_calc_pos_1,
18349         check_subexp_matching_top):
18350         (build_trtable, group_nodes_into_DFAstates):
18351         Likewise.
18352         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
18353         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
18354         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
18355         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
18356         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
18357         * lib/regcomp.c (optimize_subexps, lower_subexp):
18358         Work even if bitset_word has holes in its bitwise representation.
18359         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
18360         * lib/regexec.c (check_dst_limits_calc_pos_1,
18361         check_subexp_matching_top):
18362         Likewise.
18363         * lib/regex_internal.c (re_string_reconstruct):
18364         Don't assume UCHAR_MAX == 255.
18365         * lib/regex_internal.h (bitset_set_all): Likewise.
18366         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
18367         All uses changed.
18368         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
18369         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
18370         All uses changed.
18371         (BITSET_WORD_MAX): New macro.
18372         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
18373         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
18374         (bitset_empty, bitset_copy):
18375         Prefer sizeof (bitset) to multiplying it out ourselves.
18376         (bitset_not_merge): Remove; unused.
18377         (bitset_contain): Return bool, not unsigned int with one bit on.
18378         All callers changed.
18379         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
18380         alignment than re_node_set; do this by defining a new internal
18381         type struct dests_alloc and using it to allocate memory.
18382
18383 2005-09-05  Bruno Haible  <bruno@clisp.org>
18384
18385         * gnulib-tool (func_import): Fix comparison in handling of symbolic
18386         links.
18387
18388 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
18389
18390         * modules/size_max (Makefile.am): Add size_max.h
18391
18392 2005-09-04  Derek Price  <derek@ximbiot.com>
18393
18394         * gnulib-tool (func_import): Fix reversed $symbolic logic.
18395
18396 2005-09-03  Simon Josefsson  <jas@extundo.com>
18397
18398         * gnulib-tool: Fix typo.
18399
18400 2005-09-03  Simon Josefsson  <jas@extundo.com>
18401
18402         * config/srclist.txt: Add glibc bug 1293.
18403
18404 2005-09-03  Derek Price  <derek@ximbiot.com>
18405
18406         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
18407         From Larry Jones <lawrence.jones@ugs.com>.
18408
18409 2005-09-02  Simon Josefsson  <jas@extundo.com>
18410
18411         * modules/socklen: New file.
18412
18413 2005-09-02  Simon Josefsson  <jas@extundo.com>
18414
18415         * modules/havelib: New module.
18416
18417         * modules/gettext, modules/iconv, modules/lock, modules/readline:
18418         Use havelib.
18419
18420 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
18421
18422         Check for arithmetic overflow when calculating sizes, to prevent
18423         some buffer-overflow issues.  These patches are conservative, in the
18424         sense that when I couldn't determine whether an overflow was possible,
18425         I inserted a run-time check.
18426         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
18427         macros.
18428         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
18429         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
18430         (re_xnrealloc, re_x2nrealloc): New inline functions.
18431         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
18432         parse_bracket_exp):
18433         (build_equiv_class, build_charclass): Check for arithmetic overflow
18434         in size expression calculations.
18435         * lib/regex_internal.c (re_string_realloc_buffers):
18436         (build_wcs_upper_buffer, re_node_set_add_intersect):
18437         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
18438         (re_dfa_add_node, register_state): Likewise.
18439         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
18440         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
18441         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
18442         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
18443
18444 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
18445
18446         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
18447         m4/ulonglong.m4.  Problem reported by Martin Lambers.
18448
18449 2005-09-02  Bruno Haible  <bruno@clisp.org>
18450
18451         Support for lib vs. lib64 distinction on biarch platforms.
18452         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
18453         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
18454         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
18455
18456 2005-09-02  Bruno Haible  <bruno@clisp.org>
18457
18458         * gnulib-tool (import): In the other first-use case, provide defaults
18459         as well.
18460
18461 2005-09-02  Bruno Haible  <bruno@clisp.org>
18462
18463         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
18464         patches not yet found in the latest gettext release.
18465
18466 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
18467
18468         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
18469         to avoid a collision with bits/local_lim.h in glibc.
18470         All uses changed.  Problem reported by Dmitry V. Levin in
18471         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
18472
18473         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
18474         bugs in int versus size_t comparisons.
18475         (re_string_context_at): Fix bug where the code assumed that
18476         Idx is signed.
18477
18478         Use bool where appropriate.
18479         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
18480         All callers changed.
18481         (calc_eclosure_iter): Likewise, for ROOT arg.
18482         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
18483         (build_charclass_op): Likewise, for NON_MATCH arg.
18484         * lib/regex_internal.c (re_string_allocate, re_string_construct):
18485         (re_string_construct_common): Likewise, for ICASE arg.
18486         * lib/regexec.c (re_search_2_stub, re_search_stub):
18487         Likewise, for RET_LEN arg.
18488         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
18489         (set_regs): Likewise, for FL_BACKTRACK arg.
18490         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
18491         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
18492         (calc_eclosure_iter, parse_bracket_exp):
18493         Use bool for internal variables that are booleans.
18494         * lib/regexec.c (re_search_internal, check_matching,
18495         proceed_next_node):
18496         (set_regs, build_sifted_states, sift_states_bkref):
18497         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
18498         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
18499         (find_collation_sequence_value):
18500         Likewise.
18501         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
18502         (re_node_set_compare):
18503         Return bool, not int. All callers changed.
18504         * lib/regexec.c (check_halt_node_context, check_dst_limits):
18505         (build_trtable, check_node_accept): Likewise.
18506         * lib/regex_internal.h: Include stdbool.h.
18507
18508         Fix bugs uncovered when converting to bool.
18509         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
18510         failure instead of charging ahead blindly.
18511         * lib/regex_internal.c (register_state): Likewise.
18512         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
18513         for freeing internal storage.
18514         (group_nodes_into_DFA_states): Use unsigned int, not int, for
18515         bitset pieces used as boolean, to avoid undefined behavior
18516         on hosts that do int overflow checking.
18517
18518 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
18519
18520         * config/srclist.txt: Add glibc bugs 1285-1287.
18521
18522 2005-09-01  Jim Meyering  <jim@meyering.net>
18523
18524         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
18525         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
18526         Require gl_STAT_MACROS, too.
18527
18528 2005-09-01  Bruno Haible  <bruno@clisp.org>
18529
18530         * gnulib-tool (import): In the first-use case, provide defaults.
18531
18532 2005-09-01  Bruno Haible  <bruno@clisp.org>
18533
18534         * gnulib-tool (func_import): Remove the .tmp files.
18535
18536 2005-09-01  Bruno Haible  <bruno@clisp.org>
18537
18538         * gnulib-tool (func_import): Fix handling of symbolic links.
18539
18540 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18541
18542         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
18543         old glibc regex code mishandles strings longer than 2**31 bytes.
18544         This patch fixes this when the regex code is used in gnulib
18545         (i.e., outside glibc).
18546
18547         This patch should not affect the use of the regex code inside
18548         glibc.  No doubt this problem also needs to be handled for glibc
18549         as well, but the result will be an incompatible change to the
18550         glibc ABI, and the old ABI will have to be supported too.  That
18551         can be the the subject for another patch.
18552
18553         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
18554         governing whether the rest of this patch is active.  By default,
18555         the macro is disabled and the patch has no effect.
18556         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
18557         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
18558         (struct re_pattern_buffer, re_search, re_search_2, re_match):
18559         (re_match_2, re_set_registers): Use the new types.
18560         * lib/regex_internal.h (Idx, re_hashval_t): New types.
18561         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
18562         New macros.
18563         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
18564         (re_string_context_at, bin_tree_t, re_dfastate_t):
18565         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
18566         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
18567         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
18568         (re_string_char_size_at, re_string_wchar_at):
18569         (re_string_elem_size_at):
18570         Use the new types and macros to port to 64-bit hosts.
18571         Use unsigned types for internal values, so that the code
18572         mostly works even for arrays larger than SSIZE_MAX.
18573         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
18574         (search_duplicated_node, calc_eclosure_iter, fetch_number):
18575         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
18576         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
18577         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
18578         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
18579         (calc_inveclosure, parse_dup_op, build_range_exp):
18580         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
18581         (fetch_number, create_token_tree, mark_opt_subexp):
18582         Likewise.
18583         * lib/regex_internal.c (re_string_construct_common,
18584         create_ci_newstate):
18585         (create_cd_newstate, re_string_allocate, re_string_construct):
18586         (re_string_realloc_buffers, build_wcs_upper_buffer):
18587         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
18588         (re_string_reconstruct, re_string_peek_byte_case):
18589         (re_string_fetch_byte_case, re_string_context_at):
18590         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
18591         (re_node_set_init_copy, re_node_set_add_intersect):
18592         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
18593         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
18594         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
18595         (re_acquire_state, re_acquire_state_context, register_state):
18596         Likewise.
18597         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
18598         search_cur_bkref_entry):
18599         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
18600         (re_search_internal, re_search_2_stub, re_search_stub)
18601         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
18602         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
18603         (update_cur_sifted_state, check_dst_limits):
18604         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
18605         (check_subexp_limits, sift_states_bkref, merge_state_array):
18606         (check_subexp_matching_top, get_subexp, get_subexp_sub):
18607         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
18608         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
18609         (expand_bkref_cache, check_node_accept_bytes):
18610         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
18611         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
18612         (acquire_init_state_context, check_halt_node_context):
18613         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
18614         (sift_states_backward, clean_state_log_if_needed):
18615         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
18616         (find_recover_state, transit_state_sb, transit_state_mb):
18617         (transit_state_bkref, build_trtable, match_ctx_clean):
18618         Likewise.
18619         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
18620         to work around an assumption that REG_MISSING is negative.
18621
18622         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
18623         (seek_collating_symbol_entry) [defined _LIBC]:
18624         (lookup_collation_sequence_value) [defined _LIBC]:
18625         (build_range_exp, build_collating_symbol) [defined _LIBC]:
18626         Use prototypes rather than old-style function definitions.
18627         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
18628         (transit_state_sb) [0]:
18629         (find_collation_sequence_value) [defined _LIBC]: Likewise.
18630
18631         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
18632         rm_eo.
18633
18634         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
18635         (optimize_subexps, lower_subexp):
18636         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
18637         since the signed shift might overflow.  Use 1u<<31 instead.
18638         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
18639         Likewise.
18640         * lib/regexec.c (check_dst_limits_calc_pos_1,
18641         check_subexp_matching_top): Likewise.
18642
18643         * lib/regcomp.c (optimize_subexps, lower_subexp):
18644         Use CHAR_BIT rather than 8, for clarity.
18645         * lib/regexec.c (check_dst_limits_calc_pos_1):
18646         (check_subexp_matching_top): Likewise.
18647         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
18648         have to worry about portability issues when shifting it left.
18649         Remove no-longer-needed test for table_size > 0.
18650         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
18651         in a word, as the resulting behavior is undefined.
18652         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
18653         in one case, a <= should have been an <, and in another case the
18654         whole test was missing.
18655         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
18656         the standard name CHAR_BIT.
18657         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
18658         this is not true on one's complement and signed-magnitude hosts.
18659
18660         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
18661         next_last_offset.
18662         (struct re_dfa_t): Remove unused member states_alloc.
18663         * lib/regcomp.c (init_dfa): Don't initialize unused members.
18664
18665 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18666
18667         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
18668         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
18669         and large-file glibc and in 32-bit large-file Solaris.
18670
18671 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18672
18673         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
18674         lengths fit in regoff_t; this isn't true if regoff_t is the same
18675         width as size_t.
18676         * lib/regex.c (re_search_internal): 5th arg is LAST_START
18677         (= START + RANGE) instead of RANGE.  This avoids overflow
18678         problems when regoff_t is the same width as size_t.
18679         All callers changed.
18680         (re_search_2_stub): Check for overflow when adding the
18681         sizes of the two strings.
18682         (re_search_stub): Check for overflow when adding START
18683         to RANGE; if it occurs, substitute the extreme value.
18684
18685 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
18686
18687         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
18688
18689 2005-08-31  Jim Meyering  <jim@meyering.net>
18690
18691         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
18692         a pointer-to-const.
18693         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
18694         (register_state): Likewise.
18695         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
18696         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
18697         (group_nodes_into_DFAstates): Likewise.
18698
18699 2005-08-31  Jim Meyering  <jim@meyering.net>
18700
18701         * check-module: Add a FIXME comment.
18702
18703 2005-08-31  Eric Blake  <ebb9@byu.net>
18704
18705         * modules/unistd-safer (Files): Add unistd--.h.
18706         * modules/stdio-safer (Files): Add stdio--.h.
18707
18708 2005-08-31  Derek Price  <derek@ximbiot.com>
18709
18710         * lib/getdelim.c (getdelim): Return EOF on EOF.
18711         Reported by Larry Jones <lawrence.jones@ugs.com>.
18712
18713 2005-08-31  Bruno Haible  <bruno@clisp.org>
18714
18715         Avoid unnecessary diffs in the generated lib/Makefile.am.
18716         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
18717         the generated files.
18718         (func_import): Don't set cmd.
18719
18720 2005-08-31  Bruno Haible  <bruno@clisp.org>
18721
18722         * lib/strstr.c: Include <stddef.h>, for NULL.
18723         * lib/strcasestr.c: Likewise.
18724         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
18725
18726 2005-08-31  Bruno Haible  <bruno@clisp.org>
18727
18728         * gnulib-tool: New option --macro-prefix.
18729         (func_import): Use macro_prefix.
18730         (import): Handle option --macro-prefix.
18731
18732 2005-08-31  Bruno Haible  <bruno@clisp.org>
18733
18734         * gnulib-tool (import): Rename most ac_* variables to cached_*.
18735         Also use new variables cached_lgpl, cached_libtool.
18736
18737 2005-08-31  Bruno Haible  <bruno@clisp.org>
18738
18739         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
18740         always instantiating them.
18741
18742 2005-08-31  Bruno Haible  <bruno@clisp.org>
18743
18744         * gnulib-tool (func_import): Read the previous cached settings
18745         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
18746         earlier added by gnulib but are now dropped. Warn when a gnulib file
18747         overwrites a non-gnulib file.
18748
18749 2005-08-31  Bruno Haible  <bruno@clisp.org>
18750
18751         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
18752         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
18753         projects that don't keep autogenerated files in CVS. Put into
18754         actioncmd only the specified modules, not the transitive closure.
18755
18756 2005-08-31  Bruno Haible  <bruno@clisp.org>
18757
18758         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
18759         Create directories that shall be filled.
18760         (import): Don't look for gl_* macros in configure.ac. Recurse across
18761         all directories containing a gnulib-cache.m4 files, if meaningful.
18762
18763 2005-08-31  Bruno Haible  <bruno@clisp.org>
18764
18765         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
18766         (import): Set seen_libtool when we see gl_LIBTOOL.
18767
18768 2005-08-31  Bruno Haible  <bruno@clisp.org>
18769
18770         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
18771         declaration macro definitions from generated gnulib.m4.
18772
18773 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
18774
18775         * lib/iconvme.h: Add prototype for iconv_alloc.
18776
18777 2005-08-29  Simon Josefsson  <jas@extundo.com>
18778
18779         * lib/iconvme.c: Fix errno.
18780
18781 2005-08-29  Bruno Haible  <bruno@clisp.org>
18782
18783         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
18784         that it works when the directory contains spaces.
18785
18786 2005-08-29  Bruno Haible  <bruno@clisp.org>
18787
18788         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
18789
18790 2005-08-29  Bruno Haible  <bruno@clisp.org>
18791
18792         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
18793         Emit more advice.
18794
18795 2005-08-29  Bruno Haible  <bruno@clisp.org>
18796         and Stepan Kasal  <kasal@ucw.cz>
18797
18798         * check-module: If more parameters are given, check each of them
18799         separately; add more exceptions, as noted by Jim Meyering.
18800         (check_module): New procedure.
18801         (%exempt_header): Now contains all exceptions.
18802
18803 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
18804
18805         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
18806
18807 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
18808
18809         * lib/iconvme.c: Split iconv_string into iconv_alloc.
18810
18811 2005-08-28  Bruno Haible  <bruno@clisp.org>
18812
18813         * m4/gnulib-tool.m4: New file.
18814
18815 2005-08-27  Jim Meyering  <jim@meyering.net>
18816
18817         * modules/unistd-safer (Files): Add pipe-safer.c.
18818         * modules/fcntl-safer (Files): Add creat-safer.c.
18819
18820 2005-08-27  Jim Meyering  <jim@meyering.net>
18821
18822         * m4/stdlib-safer.m4: New file.  From coreutils.
18823         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
18824         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
18825         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
18826         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
18827         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
18828
18829 2005-08-27  Jim Meyering  <jim@meyering.net>
18830
18831         * lib/fopen-safer.c: Merge minor changes from coreutils.
18832         * lib/dup-safer.c: Likewise.
18833         * lib/fd-safer.c: Likewise.
18834
18835         Merge from coreutils.
18836         * lib/stdio--.h: New file.
18837         * lib/stdlib--.h: New file.
18838         * lib/mkstemp-safer.c: New file.
18839
18840         GNU tar needs these.
18841         * lib/pipe-safer.c: New file.
18842         * lib/creat-safer.c: New file.
18843         * lib/fcntl--.h (creat): Define to creat_safer.
18844         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
18845         * lib/unistd--.h (pipe): Define to pipe_safer.
18846         * lib/unistd-safer.h: Declare pipe_safer.
18847
18848 2005-08-26  Simon Josefsson  <jas@extundo.com>
18849
18850         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
18851         Haible <bruno@clisp.org>.
18852
18853 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
18854
18855         * lib/regex_internal.h: Remove all references to
18856         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
18857         or better.
18858         (bitset_not, bitset_merge, bitset_not_merge):
18859         (bitset_mask, re_string_allocate, re_string_construct):
18860         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
18861         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
18862         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
18863         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
18864         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
18865         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
18866         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
18867         (re_acquire_state_context):
18868         Remove unnecessary forward decls.
18869         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
18870         Put __attribute at function definition,
18871         now that the function decl has been removed.
18872         * lib/regex_internal.c (re_string_peek_byte_case):
18873         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
18874         Likewise.
18875
18876 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
18877
18878         * m4/regex.m4: Add AC_PREREQ(2.50).
18879         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
18880
18881 2005-08-25  Simon Josefsson  <jas@extundo.com>
18882
18883         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
18884         __fsetlocking.
18885
18886 2005-08-25  Simon Josefsson  <jas@extundo.com>
18887
18888         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
18889         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
18890         GLIBC specific code.
18891
18892 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18893
18894         Make regex safe for g++.  This fixes one real bug (an "err"
18895         that should have been "*err").  g++ problem reported by
18896         Sam Steingold.
18897         * lib/regex_internal.h (re_calloc): New macro, consistent with
18898         re_malloc etc.  All callers of calloc changed to use re_calloc.
18899         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
18900         not int.  All callers changed.
18901         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
18902         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
18903         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
18904         (find_recover_state): Change "err" to "*err"; this fixes what
18905         appears to be a real bug.
18906         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
18907         versus int.
18908
18909 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18910
18911         * modules/regex (Depends-on): Add malloc, since the code
18912         assumes that !malloc(0) means failure.
18913
18914 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18915
18916         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
18917
18918         alloca modernization/simplification for regex.
18919         * lib/regex.c: Remove portability cruft for alloca.  This no longer
18920         needs to be at the start of the file, and can be moved into
18921         regex_internal.h and simplified.
18922         * lib/regex_internal.h: Include <alloca.h>.
18923         (__libc_use_alloca) [!defined _LIBC]: New macro.
18924         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
18925         now works outside glibc.
18926
18927 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18928
18929         * config/srclist.txt: Add glibc bugs 1241, 1245.
18930
18931 2005-08-25  Jim Meyering  <jim@meyering.net>
18932
18933         * lib/open-safer.c: Include <config.h>.
18934         Otherwise, we'd lose LARGEFILE support in any file using
18935         e.g. "fcntl--.h"
18936
18937 2005-08-25  Bruno Haible  <bruno@clisp.org>
18938
18939         * m4/minmax.m4: Require autoconf 2.52.
18940         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
18941         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
18942         alternatives of translit over the alphabet.
18943         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
18944
18945 2005-08-24  Simon Josefsson  <jas@extundo.com>
18946
18947         * tests/test-getpass.c: New file.
18948
18949 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18950
18951         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
18952         for GNU regex features.
18953
18954 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
18955
18956         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
18957         * lib/regex.h (regerror): Likewise.
18958
18959         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
18960         requires this.  (The code never needed it.)
18961
18962         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
18963         All uses of recently-renamed identifiers changed to use the new,
18964         POSIX-compliant names.  The code will build and run just fine
18965         without these changes, but it's better to eat our own dog food
18966         and use the standard-conforming names.
18967
18968         * lib/regex.h: Fix a multitude of POSIX name space violations.
18969         These changes have an effect only for programs that define
18970         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
18971         do not change anything for programs compiled in the normal way.
18972         Also, there is no effect on the ABI.
18973
18974         (_REGEX_SOURCE): New macro.
18975         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
18976         defined and _GNU_SOURCE is not; this fixes a name space violation.
18977
18978         Rename the following macros to obey POSIX requirements.
18979         The old names are still visible as macros if _REGEX_SOURCE is defined.
18980         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
18981         RE_BACKSLASH_ESCAPE_IN_LISTS.
18982         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
18983         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
18984         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
18985         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
18986         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
18987         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
18988         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
18989         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
18990         (REG_INTERVALS): renamed from RE_INTERVALS.
18991         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
18992         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
18993         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
18994         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
18995         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
18996         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
18997         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
18998         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
18999         RE_UNMATCHED_RIGHT_PAREN_ORD.
19000         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
19001         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
19002         (REG_DEBUG): renamed from RE_DEBUG.
19003         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
19004         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
19005         unusual, since we can't clash with the POSIX REG_ICASE.
19006         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
19007         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
19008         (REG_NO_SUB): renamed from RE_NO_SUB.
19009         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
19010         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
19011         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
19012         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
19013         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
19014         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
19015         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
19016         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
19017         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
19018         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
19019         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
19020         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
19021         RE_SYNTAX_POSIX_MINIMAL_BASIC.
19022         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
19023         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
19024         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
19025         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
19026         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
19027         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
19028         (REG_FIXED): Renamed from REGS_FIXED.
19029         (REG_NREGS): Renamed from RE_NREGS.
19030
19031         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
19032         of other REG_* macros, since POSIX says the user is allowed to
19033         #undef these macros selectively.
19034
19035         (reg_errcode_t): Update comment stating what other tables need
19036         to be consistent.
19037
19038         Rename the following enum values to obey POSIX requirements.
19039         The old names are still visible as macros.
19040         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
19041         is not defined, since GNU is supposed to be a superset of POSIX as
19042         much as possible, and since we want reg_errcode_t to be a signed
19043         type for implementation consistency.
19044         (_REG_NOERROR): Renamed from REG_NOERROR.
19045         (_REG_NOMATCH): Renamed from REG_NOMATCH.
19046         (_REG_BADPAT): Renamed from REG_BADPAT.
19047         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
19048         (_REG_ECTYPE): Renamed from REG_ECTYPE.
19049         (_REG_EESCAPE): Renamed from REG_EESCAPE.
19050         (_REG_ESUBREG): Renamed from REG_ESUBREG.
19051         (_REG_EBRACK): Renamed from REG_EBRACK.
19052         (_REG_EPAREN): Renamed from REG_EPAREN.
19053         (_REG_EBRACE): Renamed from REG_EBRACE.
19054         (_REG_BADBR): Renamed from REG_BADBR.
19055         (_REG_ERANGE): Renamed from REG_ERANGE.
19056         (_REG_ESPACE): Renamed from REG_ESPACE.
19057         (_REG_BADRPT): Renamed from REG_BADRPT.
19058         (_REG_EEND): Renamed from REG_EEND.
19059         (_REG_ESIZE): Renamed from REG_ESIZE.
19060         (_REG_ERPAREN): Renamed from REG_ERPAREN.
19061         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
19062         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
19063         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
19064         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
19065
19066         (_REG_RE_NAME, _REG_RM_NAME): New macros.
19067         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
19068         changed.  But support the old name if the new one is not defined
19069         and if _REGEX_SOURCE.
19070
19071         Change the following member names in struct re_pattern_buffer.
19072         The old names are still supported if !_REGEX_SOURCE.
19073         The new names are always supported, regardless of _REGEX_SOURCE.
19074         (re_buffer): Renamed from buffer.
19075         (re_allocated): Renamed from allocated.
19076         (re_used): Renamed from used.
19077         (re_syntax): Renamed from syntax.
19078         (re_fastmap): Renamed from fastmap.
19079         (re_translate): Renamed from translate.
19080         (re_can_be_null): Renamed from can_be_null.
19081         (re_regs_allocated): Renamed from regs_allocated.
19082         (re_fastmap_accurate): Renamed from fastmap_accurate.
19083         (re_no_sub): Renamed from no_sub.
19084         (re_not_bol): Renamed from not_bol.
19085         (re_not_eol): Renamed from not_eol.
19086         (re_newline_anchor): Renamed from newline_anchor.
19087
19088         Change the following member names in struct re_registers.
19089         The old names are still supported if !_REGEX_SOURCE.
19090         The new names are always supported, regardless of _REGEX_SOURCE.
19091         (rm_num_regs): Renamed from num_regs.
19092         (rm_start): Renamed from start.
19093         (rm_end): Renamed from end.
19094
19095         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
19096         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
19097         Prepend __ to parameter names.
19098
19099         Undo yesterday's changes.
19100
19101 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
19102
19103         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
19104         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
19105         lib/regex.c.
19106
19107 2005-08-24  Jim Meyering  <jim@meyering.net>
19108
19109         Sync from coreutils.
19110         * m4/fcntl-safer.m4: New file.
19111
19112         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
19113         and object files for this module.
19114
19115 2005-08-24  Jim Meyering  <jim@meyering.net>
19116
19117         Sync from coreutils.
19118         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
19119
19120 2005-08-24  Jim Meyering  <jim@meyering.net>
19121
19122         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
19123         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
19124
19125 2005-08-24  Jim Meyering  <jim@meyering.net>
19126
19127         * modules/fcntl-safer: New module.
19128         * modules/fts (Depends-on): Add fcntl-safer.
19129         * MODULES.html.sh (File descriptor based Input/Output):
19130         Add fcntl-safer.
19131
19132 2005-08-24  Bruno Haible  <bruno@clisp.org>
19133
19134         Support for unit test modules.
19135         * modules/README: Mention tests modules.
19136         * modules/TEMPLATE-TESTS: New file.
19137         * gnulib-tool: New options --extract-tests-module, --with-tests and
19138         --tests-base (unused for the moment).
19139         (testsbase, inctests): New variables.
19140         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
19141         (func_verify_module): Exclude TEMPLATE-TESTS.
19142         (func_verify_nontests_module, func_verify_tests_module): New functions.
19143         (func_get_dependencies): Add implicit dependency for tests modules.
19144         (func_get_tests_module): New function.
19145         (func_modules_transitive_closure): When --with-tests was specified,
19146         include the unit tests as well, unless explicitly avoided.
19147         (func_emit_lib_Makefile_am): Ignore the tests modules here.
19148         (func_emit_tests_Makefile_am): New function.
19149         (func_create_testdir): When --with-tests was specified, emit a
19150         tests/ directory.
19151         * MODULES.html.sh (Future developments): Update.
19152
19153 2005-08-24  Bruno Haible  <bruno@clisp.org>
19154
19155         * modules/tls-tests: New file.
19156         * tests/test-tls.c: New file, from GNU gettext.
19157
19158 2005-08-24  Bruno Haible  <bruno@clisp.org>
19159
19160         * modules/lock-tests: New file.
19161         * tests/test-lock.c: New file, from GNU gettext.
19162
19163 2005-08-24  Bruno Haible  <bruno@clisp.org>
19164
19165         * lib/lock.h: Add multiple inclusion guard.
19166         * lib/tls.h: Add multiple inclusion guard.
19167
19168 2005-08-24  Bruno Haible  <bruno@clisp.org>
19169
19170         * gnulib-tool: Add support for the --aux-dir option to
19171         --create-testdir, --create-megatestdir, --test, --megatest.
19172         (func_create_testdir, func_create_megatestdir): Optionally emit a
19173         AC_CONFIG_AUX_DIR directive.
19174         (create-testdir, create-megatestdir, test, megatest): Provide a
19175         default value for $auxdir.
19176
19177 2005-08-24  Bruno Haible  <bruno@clisp.org>
19178
19179         * gnulib-tool (import): Use compound statement instead of subshell
19180         where possible.
19181
19182 2005-08-24  Bruno Haible  <bruno@clisp.org>
19183
19184         * gnulib-tool (import): Change --aux-dir default to "build-aux".
19185
19186 2005-08-24  Bruno Haible  <bruno@clisp.org>
19187
19188         * gnulib-tool (func_version): Update.
19189
19190 2005-08-24  Bruno Haible  <bruno@clisp.org>
19191
19192         * gnulib-tool (func_import, func_create_testdir,
19193         func_create_megatestdir): Quote all autoconf macro arguments.
19194
19195 2005-08-24  Bruno Haible  <bruno@clisp.org>
19196
19197         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
19198         option --force, because --force causes the aclocal.m4 of each
19199         subdirectory to be newer than the corresponding config.h.in.
19200
19201 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
19202
19203         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
19204         All contents moved to gl_REGEX.
19205         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
19206         assume that it does.
19207
19208 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
19209
19210         * lib/regex.h (REG_NOSYS)
19211         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
19212         Define, since POSIX requires it as of 2001.
19213         (_REG_ENOSYS)
19214         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
19215         New private symbol, used to keep the enum signed in all cases.
19216         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
19217         Youngman in
19218         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
19219
19220         * lib/regex_internal.c (re_string_skip_chars, register_state):
19221         (calc_state_hash):
19222         Remove forward decls; no longer needed now that we use prototypes.
19223         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
19224         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
19225         (clean_state_log_if_needed): Likewise.
19226
19227 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
19228
19229         * config/srclist.txt: Add glibc bugs 1231-1233.
19230
19231 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19232
19233         Fix problems reported by Sam Steingold in
19234         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
19235         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
19236         assumed that reg_errcode_t is a signed type, which is not
19237         necessarily true if _XOPEN_SOURCE is not defined.
19238         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
19239         since some compilers warn about it otherwise.
19240
19241 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19242
19243         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
19244         (init_word_char, create_initial_state, duplicate_node_closure):
19245         (fetch_token, peek_token_bracket, build_range_exp):
19246         (build_collating_symbol): Remove forward decls; no longer needed
19247         now that we use prototypes.
19248
19249         * lib/regcomp.c:
19250         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
19251         (re_compile_fastmap_iter, regcomp, regerror, regfree):
19252         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
19253         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
19254         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
19255         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
19256         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
19257         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
19258         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
19259         (build_range_exp, build_collating_symbol, parse_bracket_exp):
19260         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
19261         (build_charclass, build_charclass_op, fetch_number, create_tree):
19262         (create_token_tree, mark_opt_subexp, duplicate_tree):
19263         Use prototypes rather than old-style definitions.
19264
19265         * lib/regex_internal.c:
19266         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
19267         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
19268         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
19269         (re_string_reconstruct, re_string_peek_byte_case):
19270         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
19271         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
19272         (re_node_set_init_copy, re_node_set_add_intersect):
19273         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
19274         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
19275         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
19276         (re_acquire_state, re_acquire_state_context, register_state):
19277         (create_ci_newstate, create_cd_newstate, free_state):
19278         Likewise.
19279         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
19280         re_search_2):
19281         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
19282         (re_search_internal, prune_impossible_nodes):
19283         (acquire_init_state_context, check_matching, static):
19284         (check_halt_node_context, check_halt_state_context, proceed_next_node):
19285         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
19286         (update_regs, sift_states_backward, build_sifted_states):
19287         (clean_state_log_if_needed, merge_state_array):
19288         (update_cur_sifted_state, add_epsilon_src_nodes):
19289         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
19290         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
19291         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
19292         (find_recover_state, check_subexp_matching_top, transit_state_mb):
19293         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
19294         (check_arrival, check_arrival_add_next_nodes):
19295         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
19296         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
19297         (check_node_accept_bytes, check_node_accept, extend_buffers):
19298         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
19299         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
19300         (sift_ctx_init):
19301         Likewise.
19302
19303         * lib/regex_internal.h:
19304         (re_string_allocate, re_string_construct, re_string_reconstruct):
19305         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
19306         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
19307         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
19308         (re_string_context_at, re_string_peek_byte_case):
19309         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
19310         is defined, since we now use prototypes always.
19311
19312         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
19313         C89 or better.  All uses removed.
19314
19315 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19316
19317         * config/srclist.txt: Add glibc bugs 1220-1227.
19318
19319 2005-08-20  Jim Meyering  <jim@meyering.net>
19320
19321         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
19322         of unused local, dfa.
19323
19324 2005-08-20  Bruno Haible  <bruno@clisp.org>
19325
19326         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
19327
19328 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19329
19330         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
19331         (re_node_set_insert_last, re_dfa_add_node):
19332         Rename local variables to avoid GCC shadowing warnings.
19333
19334 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19335
19336         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
19337         [defined lint]: Suppress bogus uninitialized-variable warnings.
19338
19339         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
19340         and let the caller return REG_ESPACE if out of space.  This
19341         removes an uninitialied-variable warning with GCC 4.0.1, and also
19342         avoids taking the address of a local variable.  All callers
19343         changed.
19344
19345 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19346
19347         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
19348         $LIBCSRC/posix/regexec.c.
19349         Add glibc bug 1217 for regcomp.c.
19350
19351 2005-08-19  Jim Meyering  <jim@meyering.net>
19352
19353         * lib/regexec.c (proceed_next_node): Redo local variables to
19354         avoid GCC shadowing warnings.
19355
19356 2005-08-18  Bruno Haible  <bruno@clisp.org>
19357
19358         * lib/strstr.c (strstr): Fix return value in multibyte case.
19359         * lib/strcasestr.c (strcasestr): Likewise.
19360
19361 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
19362
19363         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
19364
19365 2005-08-17  Jim Meyering  <jim@meyering.net>
19366
19367         Make the %s format (seconds since the epoch) work for a negative
19368         number and when used with a zero-padded field width, e.g. %015s.
19369
19370         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
19371         label so that it precedes the code to set `digits'.  Otherwise,
19372         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
19373         print `00-22'.  Now, it prints `-0022', as it should.
19374
19375 2005-08-17  Bruno Haible  <bruno@clisp.org>
19376
19377         * modules/strstr (Files): Add m4/mbrtowc.m4.
19378         (Depends-on): Add mbuiter.
19379
19380 2005-08-17  Bruno Haible  <bruno@clisp.org>
19381
19382         * modules/strcasestr: New file.
19383         * MODULES.html.sh (String handling, based on ANSI C 89): Add
19384         strcasestr.
19385
19386 2005-08-17  Bruno Haible  <bruno@clisp.org>
19387
19388         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
19389
19390 2005-08-17  Bruno Haible  <bruno@clisp.org>
19391
19392         * modules/mbuiter: New file.
19393         * MODULES.html.sh (Extended multibyte and wide character utilities):
19394         Add mbuiter.
19395
19396 2005-08-17  Bruno Haible  <bruno@clisp.org>
19397
19398         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
19399         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
19400
19401 2005-08-17  Bruno Haible  <bruno@clisp.org>
19402
19403         * m4/strcasestr.m4: New file.
19404
19405 2005-08-17  Bruno Haible  <bruno@clisp.org>
19406
19407         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
19408         * lib/strstr.c: Completely rewritten, with multibyte locale support.
19409
19410 2005-08-17  Bruno Haible  <bruno@clisp.org>
19411
19412         * lib/strcasestr.h: New file.
19413         * lib/strcasestr.c: New file.
19414
19415 2005-08-17  Bruno Haible  <bruno@clisp.org>
19416
19417         * lib/strcasecmp.c: Use mbuiter.h.
19418
19419 2005-08-17  Bruno Haible  <bruno@clisp.org>
19420
19421         * lib/mbuiter.h: New file.
19422
19423 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
19424
19425         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
19426         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
19427         and gl_GETOPT are both invoked via different paths (as happens
19428         with GNU tar CVS because it uses both argp and getopt), the former
19429         wins.
19430
19431 2005-08-16  Bruno Haible  <bruno@clisp.org>
19432
19433         * modules/tls: New file.
19434         * MODULES.html.sh (Multithreading): Add tls.
19435
19436 2005-08-16  Bruno Haible  <bruno@clisp.org>
19437
19438         * modules/strnlen1: New file.
19439         * MODULES.html.sh (String handling): Add strnlen1.
19440
19441 2005-08-16  Bruno Haible  <bruno@clisp.org>
19442
19443         * modules/strcase (Files): Add m4/mbrtowc.m4.
19444         (Depends-on): Add strnlen1, mbchar.
19445
19446 2005-08-16  Bruno Haible  <bruno@clisp.org>
19447
19448         * modules/mbiter: New file.
19449         * MODULES.html.sh (Extended multibyte and wide character utilities):
19450         Add mbiter.
19451
19452 2005-08-16  Bruno Haible  <bruno@clisp.org>
19453
19454         * modules/mbfile: New file.
19455         * MODULES.html.sh (Extended multibyte and wide character utilities):
19456         Add mbfile.
19457
19458 2005-08-16  Bruno Haible  <bruno@clisp.org>
19459
19460         * modules/mbchar: New file.
19461         * MODULES.html.sh (Extended multibyte and wide character utilities):
19462         New section.
19463
19464 2005-08-16  Bruno Haible  <bruno@clisp.org>
19465
19466         * m4/tls.m4: New file, from GNU gettext.
19467
19468 2005-08-16  Bruno Haible  <bruno@clisp.org>
19469
19470         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
19471         always.
19472         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
19473
19474 2005-08-16  Bruno Haible  <bruno@clisp.org>
19475
19476         * m4/mbiter.m4: New file.
19477
19478 2005-08-16  Bruno Haible  <bruno@clisp.org>
19479
19480         * m4/mbfile.m4: New file.
19481
19482 2005-08-16  Bruno Haible  <bruno@clisp.org>
19483
19484         * m4/mbchar.m4: New file.
19485
19486 2005-08-16  Bruno Haible  <bruno@clisp.org>
19487
19488         * lib/tls.h: New file, from GNU gettext.
19489         * lib/tls.c: New file, from GNU gettext.
19490
19491 2005-08-16  Bruno Haible  <bruno@clisp.org>
19492
19493         * lib/strnlen1.h: New file.
19494         * lib/strnlen1.c: New file.
19495
19496 2005-08-16  Bruno Haible  <bruno@clisp.org>
19497
19498         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
19499         (mbi_init): Update.
19500         (mbi_avail, mbi_advance): Let the iteration end before the terminating
19501         NUL byte, not after it.
19502
19503 2005-08-16  Bruno Haible  <bruno@clisp.org>
19504
19505         * lib/strcase.h (strcasecmp): Add note in comments.
19506         * lib/strncasecmp.c: Use code from strcasecmp.c.
19507         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
19508         (strcasecmp): Work correctly in multibyte locales.
19509
19510 2005-08-16  Bruno Haible  <bruno@clisp.org>
19511
19512         * lib/mbiter.h: New file.
19513
19514 2005-08-16  Bruno Haible  <bruno@clisp.org>
19515
19516         * lib/mbfile.h: New file.
19517
19518 2005-08-16  Bruno Haible  <bruno@clisp.org>
19519
19520         * lib/mbchar.h: New file.
19521         * lib/mbchar.c: New file.
19522
19523 2005-08-16  Bruno Haible  <bruno@clisp.org>
19524
19525         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
19526         the valid ones. Makes the comparison operations transitive:
19527         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
19528         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
19529
19530 2005-08-15  Simon Josefsson  <jas@extundo.com>
19531
19532         * modules/ssize_t (License): Change to 'unlimited'.
19533
19534         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
19535
19536 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19537
19538         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
19539         Add comments for each pending glibc patch.
19540
19541 2005-08-15  Bruno Haible  <bruno@clisp.org>
19542
19543         * lib/regex.h (__restrict_arr): Don't define to __restrict if
19544         __cplusplus is defined.
19545
19546 2005-08-14  Jim Meyering  <jim@meyering.net>
19547
19548         Sync from coreutils.
19549
19550         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
19551         Use the hash-table-based cycle-detection code not just when
19552         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
19553         Reported by James Youngman in
19554         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
19555         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
19556         FTS_TIGHT_CYCLE_CHECK.
19557         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
19558         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
19559         once again.
19560         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
19561         * lib/fts.c (fd_safer): Remove decl.
19562         Include fcntl--.h rather than unistd-safer.h
19563         (fts_safe_changedir): Don't call fd_safer; no longer needed
19564         now that we include fcntl--.h.
19565
19566 2005-08-12  Simon Josefsson  <jas@extundo.com>
19567
19568         * modules/getndelim2: Use ssize_t module.
19569         * modules/getnline: Likewise.
19570         * modules/safe-read: Likewise.
19571         * modules/xreadlink: Likewise.
19572
19573         * modules/ssize_t: New file.
19574
19575 2005-08-12  Simon Josefsson  <jas@extundo.com>
19576
19577         * m4/readline.m4: Look for termcap, curses or ncurses if required.
19578
19579 2005-08-12  Simon Josefsson  <jas@extundo.com>
19580
19581         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
19582         ssize_t.
19583
19584 2005-08-12  Simon Josefsson  <jas@extundo.com>
19585
19586         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
19587         readline, getdelim and check_version.
19588         (Support for systems lacking ISO C 99: Sizes of integer types):
19589         Add size_max.
19590
19591 2005-08-12  Bruno Haible  <bruno@clisp.org>
19592
19593         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
19594
19595 2005-08-11  Simon Josefsson  <jas@extundo.com>
19596
19597         * modules/readline: New file.
19598
19599         * modules/strnlen (Files): Add strnlen.h.
19600
19601 2005-08-11  Simon Josefsson  <jas@extundo.com>
19602
19603         * m4/readline.m4: New file.
19604
19605 2005-08-11  Simon Josefsson  <jas@extundo.com>
19606
19607         * lib/readline.h, readline.c: New file.
19608
19609 2005-08-11  Simon Josefsson  <jas@extundo.com>
19610
19611         * doc/gnulib.texi (Initial import, Finishing touches): Mention
19612         gl_AVOID.
19613
19614 2005-08-11  Bruno Haible  <bruno@clisp.org>
19615
19616         * lib/strnlen.h (strnlen): Change parameter name to match comment.
19617
19618 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
19619
19620         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
19621
19622 2005-08-10  Simon Josefsson  <jas@extundo.com>
19623
19624         * tests/test-iconvme.c: New file.
19625
19626 2005-08-10  Simon Josefsson  <jas@extundo.com>
19627
19628         * m4/strnlen.m4: New file.
19629
19630         * m4/strndup.m4: Don't check for strnlen declaration, done in
19631         strnlen.m4.
19632
19633 2005-08-10  Simon Josefsson  <jas@extundo.com>
19634
19635         * lib/strndup.c: Use strnlen.h.
19636
19637         * lib/strnlen.h: New file.
19638
19639 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
19640
19641         * README: Typos.
19642
19643 2005-08-02  Simon Josefsson  <jas@extundo.com>
19644
19645         * modules/readline: New file.
19646
19647 2005-08-02  Simon Josefsson  <jas@extundo.com>
19648
19649         * modules/getdelim: New file.
19650
19651         * modules/getline: Rewrite, don't use getndelim2.
19652
19653 2005-08-02  Simon Josefsson  <jas@extundo.com>
19654
19655         * m4/getline.m4: Separate out getdelim stuff into separate module.
19656
19657         * m4/getdelim.m4: New file.
19658
19659 2005-08-02  Simon Josefsson  <jas@extundo.com>
19660
19661         * lib/getline.h, getline.c: Rewrite.
19662
19663         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
19664
19665 2005-07-31  Bruno Haible  <bruno@clisp.org>
19666
19667         * lib/lock.h (gl_lock_initializer): New macro.
19668         (gl_lock_define_initialized): Use it.
19669         (gl_rwlock_initializer): New macro.
19670         (gl_rwlock_define_initialized): Use it.
19671         (gl_recursive_lock_initializer): New macro.
19672         (gl_recursive_lock_define_initialized): Use it.
19673
19674 2005-07-30  Karl Berry  <karl@gnu.org>
19675
19676         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
19677         Report from Ben Pfaff, regarding getopt.
19678
19679 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
19680
19681         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
19682         normal way.
19683         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
19684         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
19685         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
19686         (gl_GETOPT): Use the new macros.  Most of the implementation
19687         is moved to the new macros.  This is for programs like Emacs
19688         that don't want all the functionality of gl_GETOPT.
19689
19690 2005-07-26  Bruno Haible  <bruno@clisp.org>
19691
19692         * m4/lock.m4: Update from GNU gettext.
19693
19694 2005-07-26  Bruno Haible  <bruno@clisp.org>
19695
19696         * lib/lock.h: Update from GNU gettext.
19697         * lib/lock.c: Update from GNU gettext.
19698
19699 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
19700
19701         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
19702         obsolescent AC_TRY_RUN.  Include the default includes files, for
19703         'exit'.
19704
19705 2005-07-24  Bruno Haible  <bruno@clisp.org>
19706
19707         * modules/visibility: New file.
19708         * MODULES.html.sh (Misc): Add visibility.
19709
19710 2005-07-24  Bruno Haible  <bruno@clisp.org>
19711
19712         * m4/visibility.m4: New file.
19713
19714 2005-07-24  Bruno Haible  <bruno@clisp.org>
19715
19716         * doc/visibility.texi: New file.
19717
19718 2005-07-22  Bruno Haible  <bruno@clisp.org>
19719
19720         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
19721         $(ALLOCA_H), redundant through BUILT_SOURCES.
19722         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
19723         redundant through BUILT_SOURCES.
19724         * modules/byteswap (Makefile.am): Remove explicit dependency on
19725         $(BYTESWAP_H), redundant through BUILT_SOURCES.
19726         * modules/fnmatch (Makefile.am): Remove explicit dependency on
19727         $(FNMATCH_H), redundant through BUILT_SOURCES.
19728         * modules/getopt (Makefile.am): Remove explicit dependency on
19729         $(GETOPT_H), redundant through BUILT_SOURCES.
19730         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
19731         redundant through BUILT_SOURCES.
19732         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
19733         redundant through BUILT_SOURCES.
19734         * modules/stdbool (Makefile.am): Remove explicit dependency on
19735         $(STDBOOL_H), redundant through BUILT_SOURCES.
19736         * modules/stdint (Makefile.am): Remove explicit dependency on
19737         $(STDINT_H), redundant through BUILT_SOURCES.
19738         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
19739         Remove explicit dependency on $(SYSEXITS_H).
19740         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
19741
19742 2005-07-18  Simon Josefsson  <jas@extundo.com>
19743
19744         * lib/check-version.c (check_version): Accept identical versions too.
19745
19746 2005-07-18  Bruno Haible  <bruno@clisp.org>
19747
19748         * modules/lock: New file.
19749         * MODULES.html.sh (Multithreading): New section.
19750
19751 2005-07-18  Bruno Haible  <bruno@clisp.org>
19752
19753         * m4/lock.m4: New file, from GNU gettext.
19754
19755 2005-07-18  Bruno Haible  <bruno@clisp.org>
19756
19757         * lib/lock.h: New file, from GNU gettext.
19758         * lib/lock.c: New file, from GNU gettext.
19759
19760 2005-07-18  Bruno Haible  <bruno@clisp.org>
19761
19762         * lib/lock.h (gl_once_t): New type.
19763         (gl_once_define, gl_once): New macros.
19764         * lib/lock.c (fresh_once): New variable.
19765         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
19766         functions.
19767
19768 2005-07-16  Simon Josefsson  <jas@extundo.com>
19769
19770         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
19771         workaround, suggested by Bruno.
19772
19773 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
19774
19775         * modules/xalloc (Depends-on): Add xalloc-die.
19776         * modules/xvasprintf (Depends-on): Add xalloc-die.
19777
19778 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
19779
19780         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
19781         with a minor change.
19782
19783 2005-07-15  Bruno Haible  <bruno@clisp.org>
19784
19785         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
19786         When using lib/poll.c, define poll as rpl_poll.
19787
19788 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
19789
19790         * modules/argp (Depends-on): Remove unlocked-io.
19791
19792 2005-07-14  Derek Price  <derek@ximbiot.com>
19793
19794         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
19795         for glob symlink bug.
19796
19797 2005-07-14  Bruno Haible  <bruno@clisp.org>
19798
19799         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
19800         Instead, test for *_unlocked function declarations directly.
19801
19802 2005-07-11  Simon Josefsson  <jas@extundo.com>
19803
19804         * modules/size_max: New file.
19805
19806         * modules/xsize: Depend on size_max module for size_max.m4.
19807
19808 2005-07-11  Simon Josefsson  <jas@extundo.com>
19809
19810         * lib/size_max.h: New file.
19811
19812 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
19813
19814         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
19815         copyright symbol and the year.
19816         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
19817         (version_etc_va): Use parameterized copyright notice.
19818         Reword to conform to the current GNU coding standards.
19819
19820 2005-07-11  Karl Berry  <karl@gnu.org>
19821
19822         * doc/gnulib.texi (Quoting): new node.
19823         (Initial import): more info, from Patrice.
19824
19825 2005-07-11  Bruno Haible  <bruno@clisp.org>
19826
19827         * gnulib-tool (func_usage): Document option --avoid.
19828         (Command line options): Handle --avoid.
19829         (func_acceptable): New function.
19830         (func_modules_transitive_closure): Use it.
19831
19832 2005-07-11  Bruno Haible  <bruno@clisp.org>
19833
19834         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
19835         Reported by Jim Meyering.
19836
19837 2005-07-10  Bruno Haible  <bruno@clisp.org>
19838
19839         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
19840         Needed when size_t is smaller than 'unsigned int'.
19841         Reported by Paul Eggert.
19842
19843 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
19844
19845         * modules/argp (Depends-on): Add unlocked-io
19846
19847 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
19848
19849         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
19850         block of defines.
19851
19852 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
19853
19854         * config/srclist.txt: Comment out regcomp.c, since we have a porting
19855         fix now.
19856
19857 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
19858         and Paul Eggert  <eggert@cs.ucla.edu>
19859
19860         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
19861         in wint_t, not wchar_t.  Remove now-unnecessary cast.
19862
19863 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
19864
19865         * modules/regex (Files): Add lib/regex_internal.c,
19866         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
19867         (Depends-on): Add extensions.
19868         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
19869
19870 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
19871
19872         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
19873         pathconf.
19874         * m4/same.m4 (gl_SAME): Likewise.
19875         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
19876
19877         * m4/regex.m4: Adjust to new libc regex implementation.
19878         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
19879         all the .c and .h parts of (the new) regex.
19880         Quote the m4 stuff better.
19881         Check for RE_ICASE bug of old gnulib.
19882         Check for REG_STARTEND of recent libc.
19883         Rename local variables from jm_* to gl_*.
19884         Quote operand of "test -f".
19885         Say "recent enough" version of libc, not "version 2".
19886         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
19887         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
19888         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
19889         Remove check for btowc, isascii.
19890         Require AM_LANGINFO_CODESET.
19891
19892 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
19893
19894         * lib/regex.c, regex.h: Sync from libc.
19895         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
19896         * lib/regexec.c:
19897         New files, synced from libc, except that regex_internal.h
19898         currently has a small porting fix.
19899
19900 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
19901
19902         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
19903         regex_internal.c, regexec.c.
19904         Add regex_internal.h too, but as a comment, since the libc version
19905         is currently broken in gnulib mode.
19906
19907 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
19908
19909         Support programs like Emacs that use gnulib but not gettext.
19910         * MODULES.html.sh (Internationalization functions): Add gettext-h.
19911         * modules/gettext-h: New file.
19912         * modules/gettext (Files): Remove lib/gettext.h.
19913         (Depends-on): Add gettext-h.
19914         (Makefile.am): Remove lib_SOURCES.
19915         * modules/argmatch, modules/c-stack, modules/closeout:
19916         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
19917         * modules/execute, modules/file-type, modules/getaddrinfo:
19918         * modules/getopt, modules/human, modules/javacomp:
19919         * modules/javaexec, modules/mkdir-p, modules/obstack:
19920         * modules/openat, modules/pagealign_alloc, modules/pipe:
19921         * modules/quotearg, modules/regex, modules/rpmatch:
19922         * modules/unicodeio, modules/userspec, modules/version-etc:
19923         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
19924         * modules/xsetenv:
19925         Depend on gettext-h, not gettext.
19926
19927 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
19928
19929         * gnulib-tool (func_import): Add support for 'public domain' license.
19930         * modules/alloca, modules/atexit, modules/memmove:
19931         Now public domain, not GPL.
19932         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
19933         * modules/realloc, modules/strerror, modules/strtod:
19934         Now LGPL, not GPL.
19935
19936 2005-07-05  Bruno Haible  <bruno@clisp.org>
19937
19938         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
19939         autoconf CVS. Needed for mingw.
19940
19941 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19942
19943         Remove the dependency of the strftime module on the tzset module.
19944         * modules/strftime (Depends-on): Remove dependency on tzset.
19945
19946 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19947
19948         Remove the dependency of the strftime module on the tzset module.
19949         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
19950         gl_FUNC_TZSET_CLOBBER.
19951
19952 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
19953
19954         Remove the dependency of the strftime module on the tzset module.
19955         * lib/strftime.c (my_strftime)
19956         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
19957         Copy the input structure, to work around some of the bug with
19958         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
19959         Solaris releases, you should also use the tzset module, but we won't
19960         require it as a dependency any more since we don't want LGPLed code
19961         to depend on GPLed code.
19962
19963 2005-07-02  Jim Meyering  <jim@meyering.net>
19964
19965         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
19966         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
19967         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
19968         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
19969
19970 2005-07-02  Jim Meyering  <jim@meyering.net>
19971
19972         * lib/backupfile.c (backup_args): Change a `0' to NULL.
19973
19974 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
19975
19976         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
19977         declares only 'struct timespec;' (!).
19978
19979 2005-07-01  Jim Meyering  <jim@meyering.net>
19980
19981         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
19982         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
19983         * lib/save-cwd.c, tempname.c:
19984         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
19985         and don't include <sys/file.h>).
19986
19987 2005-06-29  Jim Meyering  <jim@meyering.net>
19988
19989         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
19990         type name.  Use the variable name instead.
19991         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
19992         Likewise.
19993
19994 2005-06-28  Simon Josefsson  <jas@extundo.com>
19995
19996         * modules/check-version (Files): Add check-version.m4.
19997
19998 2005-06-28  Simon Josefsson  <jas@extundo.com>
19999
20000         * m4/check-version.m4: New file, suggested by Jim Meyering
20001         <jim@meyering.net>.
20002
20003 2005-06-28  Simon Josefsson  <jas@extundo.com>
20004
20005         * lib/check-version.h, lib/check-version.c: New files.
20006
20007 2005-06-28  Simon Josefsson  <jas@extundo.com>
20008
20009         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
20010         collision with global variable.  Better indentation.  Don't
20011         increment buffer pointer beyond buffer end.  Based on comments
20012         from Paul Eggert <eggert@cs.ucla.edu>.
20013
20014         * lib/base64.h: Indent.
20015
20016 2005-06-28  Simon Josefsson  <jas@extundo.com>
20017
20018         * doc/gnulib.texi (Library version handling): New section.
20019
20020 2005-06-28  Jim Meyering  <jim@meyering.net>
20021
20022         * check-module (find_included_lib_files): Hard-code another
20023         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
20024         but modules/fts-lgpl (correctly) does not list those files.
20025
20026         * modules/canonicalize (Files): Add lib/pathmax.h.
20027
20028 2005-06-25  Simon Josefsson  <jas@extundo.com>
20029
20030         * modules/check-version: New file.
20031
20032 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
20033
20034         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
20035         initializer of struct addrinfo, as an indication that we don't
20036         care how many members the structure has.
20037
20038 2005-06-24  Derek Price  <derek@ximbiot.com>
20039         and Bruno Haible  <bruno@clisp.org>
20040
20041         Remove stat module & update lstat.
20042         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
20043         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
20044         * m4/stat.m4: Remove this file.
20045
20046 2005-06-24  Derek Price  <derek@ximbiot.com>
20047         and Bruno Haible  <bruno@clisp.org>
20048
20049         Remove stat module & update lstat.
20050         * lib/stat.c: Remove this file...
20051         (slash_aware_lstat): ...moving this content and its support...
20052         * lib/lstat.c (rpl_lstat): ...into here.
20053         * lib/lstat.h: New file.
20054
20055 2005-06-24  Derek Price  <derek@ximbiot.com>
20056         and Bruno Haible  <bruno@clisp.org>
20057
20058         Remove stat module & update lstat.
20059         * config/srclist.txt (libc sources): Remove stat.
20060
20061 2005-06-24  Derek Price  <derek@ximbiot.com>
20062         and Bruno Haible  <bruno@clisp.org>
20063
20064         Remove stat module & update lstat.
20065         * MODULES.html.sh (stat): Remove.
20066         * MODULES.html: Regenerated.
20067         * modules/lstat (Description): Correct function name.
20068         (Files): Add "lstat.h".
20069         (Depends-on): Remove stat, add xalloc, stat-macros.
20070         * modules/stat: Remove this file.
20071         (Include): Add "lstat.h", remove <sys/stat.h>.
20072
20073 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
20074
20075         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
20076         (ranged_convert): Don't save conversion in a temporary struct.
20077         This causes a warning with GCC 4.0.0, and anyway in the typical
20078         case it's not worth the extra 100 bytes or so of code.
20079         (ranged_convert, __mktime_internal): When calling a function via a
20080         pointer P, use P () rather than (*P) (), as we now assume C89 or
20081         better.
20082
20083 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
20084
20085         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
20086         "who -r" failed to give output.  Problem reported by Tim Waugh.
20087
20088         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
20089         (xcalloc): Use it to avoid needless tests.
20090         Problem reported by Jim Meyering.
20091
20092 2005-06-20  Derek Price  <derek@ximbiot.com>
20093
20094         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
20095         unnecessary for Autoconfs > 2.59c.
20096
20097 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20098
20099         * lib/argp.h (__option_is_short): Check upper limit of
20100         __key. Isprint() requires its argument to have the value
20101         of an unsigned char or EOF.
20102
20103 2005-06-16  Jim Meyering  <jim@meyering.net>
20104
20105         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
20106         when either N or S is zero.
20107
20108 2005-06-16  Derek Price  <derek@ximbiot.com>
20109
20110         * m4/bison.m4: Declare YACC & YFLAGS precious.
20111
20112 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
20113
20114         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
20115         multibyte string or pattern, fall back on unibyte matching.
20116         Problem reported by James Youngman.
20117
20118 2005-06-08  Bruno Haible  <bruno@clisp.org>
20119
20120         * modules/csharpcomp: New file.
20121         * MODULES.html.sh (C#): Add csharpcomp.
20122
20123 2005-06-08  Bruno Haible  <bruno@clisp.org>
20124
20125         * m4/csharpcomp.m4: New file, from GNU gettext.
20126
20127 2005-06-08  Bruno Haible  <bruno@clisp.org>
20128
20129         * lib/csharpcomp.h: New file, from GNU gettext.
20130         * lib/csharpcomp.c: New file, from GNU gettext.
20131         * lib/csharpcomp.sh.in: New file, from GNU gettext.
20132
20133 2005-06-08  Bruno Haible  <bruno@clisp.org>
20134
20135         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
20136         warning on mingw.
20137
20138 2005-06-07  Derek Price  <derek@ximbiot.com>
20139
20140         Sync from CVS.
20141         * lib/glob_.h: Indent nested #ifdef.
20142
20143 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20144
20145         Sync from coreutils.
20146         Use "file name" when talking about file names, instead of "filename"
20147         or "path", as per the GNU coding standards.
20148         * lib/mkdir-p.c: Renamed from makepath.c.
20149         (make_dir_parents): Renamed from make_path.  All callers changed.
20150         * lib/mkdir-p.h: Likewise.  All includers changed.
20151         * lib/filenamecat.c: Renamed from path-concat.c.
20152         (file_name_concat): Renamed from path_concat.  All callers changed.
20153         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
20154         * lib/filenamecat.h: Likewise.  All includers changed.
20155         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
20156         in comments or local variable names.
20157         * lib/basename.c: Likewise.
20158         * lib/canonicalize.c, canonicalize.h: Likewise.
20159         * lib/dirname.c, dirname.h: Likewise.
20160         * lib/euidaccess.c: Likewise.
20161         * lib/exclude.c: Likewise
20162         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
20163         * lib/fsusage.c, fsuage.h: Likewise.
20164         * lib/fts.c, fts_.h: Likewise.
20165         * lib/getcwd.c: Likewise.
20166         * lib/getloadavg.c: Likewise.
20167         * lib/mkstemp.c: Likewise.
20168         * lib/mountlist.c, mountlist.h: Likewise.
20169         * lib/openat.c, openat.h: Likewise.
20170         * lib/readlink-stub.c: Likewise.
20171         * lib/readutmp.c, readutmp.h: Likewise.
20172         * lib/rename.c: Likewise.
20173         * lib/rmdir.c: Likewise.
20174         * lib/same.c: Likewise.
20175         * lib/savedir.c: Likewise.
20176         * lib/stripslash.c: Likewise.
20177         * lib/tempname.c: Likewise.
20178         * lib/xreadlink.c: Likewise.
20179         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
20180         All uses changed.
20181         * lib/exclude.h: Likewise.
20182
20183         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
20184         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
20185         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
20186         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
20187         * lib/pathmax.h: Include <limits.h> unconditionally, since other
20188         files have been getting away with it for years (MORE/BSD 4.3
20189         is extinct now).
20190         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
20191         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
20192
20193         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
20194         Define to 256, not 255, as per modern POSIX.
20195
20196 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20197
20198         Sync from coreutils.
20199         Use "file name" when talking about file names, instead of "filename"
20200         or "path", as per the GNU coding standards.
20201         * MODULES.html.sh: mkdir-p renamed from makepath.
20202         filenamecat renamed from path-concat.
20203         * modules/filenamecat: Renamed from modules/path-concat.
20204         (Files): filenamecat.h and filenamecat.c renamed from
20205         path-concat.h and path-concat.c.
20206         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
20207         (Include): filenamecat.h, not path-concat.h.
20208         * modules/mkdir-p: Renamed from modules/makepath.
20209         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
20210         makepath.c.
20211         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
20212         (Include): mkdir-p.h, not makepath.h.
20213
20214 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
20215
20216         Sync from coreutils.
20217         * m4/mkdir-p.m4: Renamed from makepath.m4.
20218         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
20219         Rename files from makepath.c to mkdir-p.c, and from
20220         makepath.h to mkdir-p.h.
20221         * m4/filenamecat.m4: Renamed from path-concat.m4.
20222         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
20223         Rename files from path-concat.c to filenamecat.c,
20224         and from path-concat.h to filenamecat.h.
20225         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
20226         "file name" in local variables or comments.
20227         * m4/rename.m4: Likewise.
20228
20229 2005-06-01  Bruno Haible  <bruno@clisp.org>
20230
20231         * modules/csharpexec: New file.
20232         * MODULES.html.sh (C#): New section.
20233
20234 2005-06-01  Bruno Haible  <bruno@clisp.org>
20235
20236         * m4/csharp.m4: New file, from GNU gettext.
20237         * m4/csharpexec.m4: New file, from GNU gettext.
20238
20239 2005-06-01  Bruno Haible  <bruno@clisp.org>
20240
20241         * lib/csharpexec.h: New file, from GNU gettext.
20242         * lib/csharpexec.c: New file, from GNU gettext.
20243         * lib/csharpexec.sh.in: New file, from GNU gettext.
20244
20245 2005-05-31  Derek Price  <derek@ximbiot.com>
20246             Paul Eggert  <eggert@cs.ucla.edu>
20247
20248         Sync from cvs.
20249         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
20250
20251 2005-05-31  Derek Price  <derek@ximbiot.com>
20252             Paul Eggert  <eggert@cs.ucla.edu>
20253
20254         Sync from cvs.
20255         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
20256
20257 2005-05-29  Derek Price  <derek@ximbiot.com>
20258
20259         * config/srclist.txt (glob_.h, glob.c): Add these files.
20260
20261 2005-05-29  Derek Price  <derek@ximbiot.com>
20262
20263         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
20264         * modules/glob: New file.
20265         * modules/getlogin_r: Add link to POSIX spec in description.
20266
20267 2005-05-29  Derek Price  <derek@ximbiot.com>
20268             Paul Eggert  <eggert@cs.ucla.edu>
20269
20270         * m4/glob.m4: New file.
20271
20272 2005-05-29  Derek Price  <derek@ximbiot.com>
20273             Paul Eggert  <eggert@cs.ucla.edu>
20274
20275         * lib/glob_.h, lib/glob.c: New files.
20276
20277 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20278
20279         * modules/fts (Files): Remove m4/inttypes-pri.m4.
20280         * modules/fts-lgpl (Depends-on): Remove gettext.
20281
20282 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20283
20284         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
20285         and don't require gt_INTTYPES_PRI.
20286
20287 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
20288
20289         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
20290
20291         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
20292         the configuration hassle isn't worth it.
20293         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
20294         (LONGEST_MODIFIER, PRIuMAX): Remove.
20295
20296 2005-05-27  Bruno Haible  <bruno@clisp.org>
20297
20298         * lib/getlogin_r.h: Remove second include of <stddef.h>.
20299
20300 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
20301
20302         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
20303         _POSIX_PTHREAD_SEMANTICS for Solaris.
20304
20305 2005-05-25  Derek Price  <derek@ximbiot.com>
20306
20307         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
20308
20309 2005-05-25  Derek Price  <derek@ximbiot.com>
20310             Paul Eggert  <eggert@cs.ucla.edu>
20311
20312         * modules/getlogin_r, m4/getlogin_r.m4: New files.
20313         * lib/getlogin_r.c, getlogin_r.h: New files.
20314
20315 2005-05-25  Bruno Haible  <bruno@clisp.org>
20316             Derek Price  <derek@ximbiot.com>
20317
20318         * lib/getlogin_r.h: Simplify API documentation.
20319
20320 2005-05-23  Derek Price  <derek@ximbiot.com>
20321
20322         * modules/minmax (Files): Add m4/minmax.m4.
20323         (configure.ac): Add gl_MINMAX.
20324
20325 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20326
20327         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
20328         so that unistd-safer.h (GPL'ed code) need not be included.
20329
20330 2005-05-22  Bruno Haible  <bruno@clisp.org>
20331
20332         * m4/minmax.m4: New file.
20333         Based on a patch by Derek Price <derek@ximbiot.com>.
20334
20335 2005-05-22  Bruno Haible  <bruno@clisp.org>
20336
20337         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
20338         (INT64_MIN): Fix definition.
20339         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
20340
20341         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
20342         NEED_SIGNED_INT_TYPES.
20343
20344         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
20345         HAVE_SYSTEM_INTTYPES.
20346
20347 2005-05-22  Bruno Haible  <bruno@clisp.org>
20348
20349         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
20350         Also include <sys/param.h> if it defines MIN, MAX.
20351         Based on a patch by Derek Price <derek@ximbiot.com>.
20352
20353 2005-05-21  Jim Meyering  <jim@meyering.net>
20354
20355         * modules/fts (Files): Add m4/inttypes-pri.m4.
20356         (Depends-on): Add lstat and remove gettext.  Alphabetize.
20357
20358 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20359
20360         New fts module.
20361         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
20362         (setup_dir, free_dir): New functions.
20363         (enter_dir, leave_dir): Define trivial
20364         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
20365         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
20366         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
20367         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
20368         Move to fts-cycle.c.
20369         (fts_open): Use setup_dir.
20370         (fts_close): Use free_dir.
20371         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
20372         This adds a label and some gotos, but the alternatives were messier.
20373         Check for memory allocation failure when entering a dir.
20374         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
20375         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
20376         (FTS): New member fts_cycle, that is a union that contains the
20377         old active_dir_ht and cycle_state.  All uses changed to mention
20378         fts_cycle.ht and fts_cycle.state.
20379         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
20380         fts.c, with the following changes:
20381         (setup_dir, free_dir): New functions.
20382         (enter_dir): Now returns bool.  Return true if successful, false
20383         if memory exhausted.  All callers changed.
20384         Do not bother partly cleaning up on
20385         memory allocation failure; that is free_dir's job.
20386         However, free ad if hash_insert fails, to avoid memory leak.
20387         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
20388         fts->fts_options to see which union member to use.
20389
20390 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20391
20392         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
20393         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
20394
20395 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20396
20397         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
20398
20399 2005-05-20  Jim Meyering  <jim@meyering.net>
20400
20401         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
20402         Now a macro, to pacify GCC.
20403
20404 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
20405
20406         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
20407         of -1.
20408
20409 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
20410
20411         * lib/chown.c (rpl_chown): Return -1 on failure.
20412
20413 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
20414
20415         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
20416         Don't check for stddef.h.
20417         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
20418         don't use its results.
20419         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
20420         since we include them unconditionally.  Don't require
20421         AM_STDBOOL_H, since stdbool is a prerequisite.
20422         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
20423         since we assume C89 or better.
20424         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
20425         as we don't use their results.
20426         Don't check for fchdir, memmove, memset, strrchr, as we use
20427         them unconditionally.
20428         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
20429         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
20430
20431 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
20432
20433         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
20434         Include <stddef.h> unconditionally, since we assume C89 now.
20435         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
20436         * lib/fts.c: Include fts_.h first, to check interface.
20437         Do not include intprops.h; no longer needed.
20438         Include cycle-check.h and hash.h, since fts_.h no longer does.
20439         Remove unnecessary casts of closedir to void.
20440         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
20441         decide whether to decrement nlinks.
20442         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
20443         (FTS): Use struct hash_table * instead of Hash_table, so that
20444         we no longer need to include hash.h here.
20445
20446 2005-05-18  Jim Meyering  <jim@meyering.net>
20447
20448         * modules/dirfd (License): Change to LGPL.  Most of the code
20449         is already in the public domain.
20450
20451 2005-05-18  Jim Meyering  <jim@meyering.net>
20452
20453         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
20454         Reported by Yoann Vandoorselaere.
20455
20456 2005-05-17  Jim Meyering  <jim@meyering.net>
20457
20458         * m4/fts.m4: New file, from coreutils.
20459
20460 2005-05-17  Jim Meyering  <jim@meyering.net>
20461
20462         * lib/fts.c, lib/fts_.h: New files, from coreutils.
20463
20464 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
20465
20466         Sync from coreutils.
20467         * m4/unlinkdir.m4: New file.
20468
20469 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
20470
20471         Sync from coreutils.
20472         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
20473         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
20474         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
20475         White space changes only.
20476         * lib/makepath.c (make_path): Port to hosts where leading "//" is
20477         special.
20478         * lib/yesno.c: Include getline.h, not ctype.h.
20479         (yesno): Don't remove leading white space; POSIX doesn't allow it.
20480         Use getline to remove arbitrary restriction on response length.
20481
20482 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
20483
20484         * config/srclist-update: Spell out "Street" in FSF postal
20485         mail address; this is the style the FSF seems to prefer.
20486
20487         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
20488         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
20489         this updates FSF postal mail address.
20490
20491         Sync from coreutils.
20492         * modules/unlinkdir: New file.
20493         * modules/yesno (Depends-on): Add getline.
20494         * MODULES.html.sh (File system functions): Add unlinkdir.
20495
20496 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20497
20498         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
20499         lib/strsep.h:
20500         Change the initial comment to refer to GPL, not LGPL.
20501         gnulib-tool will change it to LGPL as needed.
20502
20503         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
20504         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
20505         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
20506         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
20507         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
20508         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
20509         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
20510         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
20511         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
20512         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
20513         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
20514         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
20515         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
20516         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
20517         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
20518         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
20519         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
20520         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
20521         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
20522         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
20523         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
20524         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
20525         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
20526         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
20527         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
20528         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
20529         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
20530         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
20531         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
20532         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
20533         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
20534         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
20535         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
20536         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
20537         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
20538         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
20539         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
20540         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
20541         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
20542         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
20543         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
20544         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
20545         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
20546         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
20547         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
20548         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
20549         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
20550         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
20551         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
20552         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
20553         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
20554         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
20555         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
20556         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
20557         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
20558         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
20559         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
20560         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
20561         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
20562         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
20563         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
20564         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
20565         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
20566         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
20567         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
20568         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
20569         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
20570         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
20571         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
20572         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
20573         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
20574         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
20575         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
20576         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
20577         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
20578         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
20579         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
20580         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
20581         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
20582         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
20583         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
20584         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
20585         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
20586         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
20587         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
20588         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
20589         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
20590         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
20591         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
20592         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
20593         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
20594         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
20595         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
20596         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
20597         lib/yesno.c, lib/yesno.h:
20598         Update FSF postal mail address.
20599
20600 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20601
20602         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
20603         tests/test-memmem.c, tests/test-stpncpy.c:
20604         Update FSF postal mail address.
20605
20606 2005-05-13  Bruno Haible  <bruno@clisp.org>
20607
20608         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
20609         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
20610         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
20611         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
20612         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
20613         Add support for 64-bit integers in the MSVC compiler.
20614
20615 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
20616
20617         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
20618
20619 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
20620
20621         * gnulib-tool (func_import): Sort and uniquify recommended includes.
20622
20623 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
20624
20625         * doc/getdate.texi (General date syntax): Don't say that date
20626         date --iso-8601=ns generates acceptable dates; it doesn't yet.
20627         Problem reported by Nic Ferrier.
20628
20629 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20630
20631         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
20632         specified in ai_socktype. Fix invalid ai_protocol
20633         check. ai_protocol is usually set to 0 or depending on
20634         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
20635         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
20636         ai_socktype / ai_protocol in the returned addrinfo structure.
20637
20638 2005-05-10  Simon Josefsson  <jas@extundo.com>
20639
20640         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
20641         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20642
20643 2005-05-10  Karl Berry  <karl@gnu.org>
20644
20645         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
20646         (from http://www.gnu.org/licenses).
20647         * doc/COPYING.LIB: also rename to COPYING.LESSER.
20648         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
20649         fdl.texi suffices.
20650
20651 2005-05-10  Karl Berry  <karl@gnu.org>
20652
20653         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
20654         (COPYING.DOC): remove.
20655
20656         * config/srclist-update: new FSF address.
20657
20658 2005-05-10  Derek Price  <derek@ximbiot.com>
20659
20660         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
20661         possible.
20662
20663 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20664             Bruno Haible  <bruno@clisp.org>
20665
20666         * modules/inet_ntop: New file.
20667         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
20668         inet_ntop.
20669
20670 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20671             Bruno Haible  <bruno@clisp.org>
20672
20673         * m4/inet_ntop.m4: New file.
20674
20675 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20676             Bruno Haible  <bruno@clisp.org>
20677
20678         * lib/inet_ntop.h: New file.
20679         * lib/inet_ntop.c: New file, from glibc with modifications.
20680
20681 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
20682
20683         * modules/time_r (License): Change to LGPL.
20684         * modules/extensions (License): Change to LGPL.  Actually,
20685         the license is more permissive than that, but currently gnulib-tool
20686         doesn't know how to handle more-permissive licenses.
20687
20688         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
20689         Problem reported by Dave Love.
20690
20691 2005-05-08  Jim Meyering  <jim@meyering.net>
20692
20693         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
20694         blank.
20695
20696 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
20697
20698         * modules/argmatch (Depends-on): Add stdbool.
20699         * modules/backupfile (Depends-on): Likewise.
20700         * modules/chdir-long (Depends-on): Likewise.
20701         * modules/closeout (Depends-on): Likewise.
20702         * modules/cycle-check (Depends-on): Likewise.
20703         * modules/dirname (Depends-on): Likewise.
20704         * modules/fnmatch (Depends-on): Likewise.
20705         * modules/fsusage (Depends-on): Likewise.
20706         * modules/fwriteerror (Depends-on): Likewise.
20707         * modules/getcwd (Depends-on): Likewise.
20708         * modules/getloadavg (Depends-on): Likewise.
20709         * modules/hard-locale (Depends-on): Likewise.
20710         * modules/makepath (Depends-on): Likewise.
20711         * modules/mountlist (Depends-on): Likewise.
20712         * modules/nanosleep (Depends-on): Likewise.
20713         * modules/posixtm (Depends-on): Likewise.
20714         * modules/quotearg (Depends-on): Likewise.
20715         * modules/readtokens (Depends-on): Likewise.
20716         * modules/readtokens0 (Depends-on): Likewise.
20717         * modules/readutmp (Depends-on): Likewise.
20718         * modules/save-cwd (Depends-on): Likewise.
20719         * modules/strftime (Depends-on): Likewise.
20720         * modules/userspec (Depends-on): Likewise.
20721         * modules/utimecmp (Depends-on): Likewise.
20722         * modules/xgetcwd (Depends-on): Likewise.
20723         * modules/xnanosleep (Depends-on): Likewise.
20724         * modules/xstrtod (Depends-on): Likewise.
20725         * modules/yesno (Depends-on): Likewise.
20726
20727 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20728
20729         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
20730         needless checks.
20731
20732 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20733
20734         Merge from coreutils.  Among other things,
20735         add bulletproofing for cases where stdin, stdout, or stderr are closed.
20736         * lib/fd-safer.c: New file.
20737         * lib/fcntl-safer.h, open-safer.c: Remove.
20738         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
20739         * lib/dup-safer.c: Include unistd-safer.h first.
20740         Don't include errno.h.
20741         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
20742         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
20743         * lib/file-type.c: Rely on file-type.h change.
20744         * lib/getloadavg.c: Include unistd-safer.h.
20745         (getloadavg): Use safer open.
20746         * lib/getusershell.c: Include "stdio-safer.h".
20747         (getusershell): Use safer fopen.
20748         * lib/long-options.c (long_options): Use NULL rather than 0.
20749         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
20750         'free'.
20751         * lib/modechange.c: Likewise.
20752         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
20753         (MODE_DONE): New constant.
20754         (struct mode_change): Remove 'next' member.
20755         (make_node_op_equals): New function; like the old one of the
20756         same name, except it allocates an array.
20757         (mode_compile, mode_create_from_ref): Use it.
20758         (mode_compile): Allocate result as an array, not a linked list.
20759         Parse octal string ourself, so that we catch mistakes like "+0".
20760         (mode_adjust): Arg is an array, not a linked list.
20761         * lib/modechange.c: Include stat-macros.h, xalloc.h.
20762         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
20763         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
20764         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
20765         Remove.  This is now stat-macros.h's job.
20766         (talloc): Remove.  All callers replaced by xalloc, so that
20767         our invokers don't have to worry about reporting memory failures.
20768         (make_node_op_equals): Remove.
20769         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
20770         New constants.
20771         (struct mode_change): Moved here from modechange.h.
20772         (mode_append_entry): Remove.
20773         (mode_compile): Remove MASKED_OPS arg, since it encouraged
20774         apps to have incorrect behavior.  Use simpler algorithm for head
20775         and tail.  Don't futz with umask; that's now the job of mode_adjust.
20776         Detect more invalid usages rather than having somewhat-random behavior.
20777         Don't insert an "a=" action, as that leads to incorrect behavior.
20778         (mode_compile, mode_create_from_ref): Return NULL on error instead
20779         of an enum, since now there's only one way to have an error.  All
20780         callers changed.
20781         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
20782         at the correct time.  Simplify calculation of "+u" and its ilk.
20783         Don't mishandle "+X".
20784         (mode_free): Remove "register" and localize decls.
20785         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
20786         (struct mode_change): Move to modechange.c; callers don't
20787         need to see this stuff.
20788         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
20789         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
20790         (mode_change, mode_adjust): Reflect the new signatures noted above.
20791         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
20792         that might redefine system include files.
20793         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
20794         (my_usleep): Use NULL rather than (void *) 0.
20795         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
20796         Use siginterrupt to specify that system calls should be interrupted.
20797         (rpl_nanosleep): Move initialization of suspended closer to call of
20798         my_usleep.
20799         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
20800         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
20801         (desirable_utmp_entry): New function.
20802         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
20803         using x2nrealloc, to simplify logic.
20804         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
20805         size calculation.  Do not assume utmp file is a regular file.
20806         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
20807         (READ_UTMP_CHECK_PIDS): New constant.
20808         * lib/save-cwd.c: Include unistd-safer.h.
20809         (save_cwd): Use fd_safer.
20810         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
20811         [!_LIBC] Include "stat-macros.h" instead.
20812         * lib/unistd-safer.h (fd_safer): New decl.
20813
20814 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20815
20816         * modules/getloadavg (Depends-on): Add unistd-safer.
20817         * modules/getusershell (Depends-on): Add stdio-safer.
20818         * modules/lstat (Depends-on): Remove xalloc.
20819         * modules/mkstemp (Depends-on): Add stat-macros.
20820         * modules/modechange (Depends-on): Remove xstrtol.
20821         Add stat-macros, xalloc.
20822         * modules/save-cwd (Depends-on): Add unistd-safer.
20823         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
20824         * modules/unistd-safer (Files): Add lib/fd-safer.c
20825         (Makefile.am): Remove lib_SOURCES.
20826
20827         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
20828         Remove fcntl-safer; unistd-safer supersedes it.
20829
20830 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20831
20832         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
20833         AC_HEADER_STAT.
20834         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
20835         (gl_PREREQ_CHOWN): Remove.
20836         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
20837         it.  Don't require AC_HEADER_STAT.
20838         (gl_PREREQ_LSTAT): Remove.
20839         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
20840         Don't require AC_HEADER_STAT.
20841         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
20842         (gl_PREREQ_RMDIR): Remove.
20843         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
20844         mention stat-macros.h or AC_HEADER_STAT, since we'll make
20845         the stat-macros module a prerequisite.
20846         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
20847         * m4/filemode.m4 (gl_FILEMODE): Likewise.
20848         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
20849         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
20850         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
20851         variable names.
20852         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
20853         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
20854         variable prefixes.
20855         * m4/fcntl-safer.m4: Remove.
20856         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
20857         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
20858         Invoke gl_PREREQ_FD_SAFER.
20859         (gl_PREREQ_FD_SAFER): New macro.
20860         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
20861         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
20862         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
20863         Remove duplicate call to AC_LIBOBJ(readutmp).
20864         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
20865
20866         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
20867         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
20868
20869 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20870
20871         * MODULES.html.sh (Misc): Add byteswap.
20872
20873 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
20874
20875         * modules/getcwd (Depends-on): Add extensions.
20876         * modules/openat (Depends-on): Likewise.
20877
20878 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
20879
20880         * modules/byteswap: New file.
20881
20882 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
20883
20884         * m4/byteswap.m4: New file.
20885
20886 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
20887
20888         * lib/byteswap_.h: New file.
20889
20890 2005-04-25  Karl Berry  <karl@gnu.org>
20891
20892         * m4/gettext.m4: Update from GNU gettext 0.14.4.
20893
20894 2005-04-25  Albert Chin  <china@thewrittenword.com>
20895
20896         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
20897         Toolkit C bug.
20898
20899 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
20900
20901         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
20902         (func_ln_if_changed) Remove forcibly for no error message
20903         in case file does not exist.
20904
20905 2005-04-19  Simon Josefsson  <jas@extundo.com>
20906
20907         * gnulib-tool (Options): Make --symlink mean --symbolic.
20908
20909 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
20910
20911         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
20912
20913 2005-04-16  Simon Josefsson  <jas@extundo.com>
20914
20915         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
20916
20917 2005-04-15  Simon Josefsson  <jas@extundo.com>
20918
20919         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
20920
20921 2005-04-15  Simon Josefsson  <jas@extundo.com>
20922
20923         * gnulib-tool: Rename --symlink to --symbolic.
20924
20925 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
20926
20927         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
20928         symbolic links to files instead of copying/moving.  Add --aux-dir,
20929         specifying directory relative --dir where auxiliary build tools
20930         are placed.
20931
20932 2005-04-14  Bruno Haible  <bruno@clisp.org>
20933
20934         * modules/allocsa (License): Change to LGPL.
20935         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
20936
20937 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
20938
20939         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
20940         that "UTC +1 second" continues to work.  Problem reported
20941         by Dmitry V. Levin.
20942         (relunit_snumber): New rule.
20943         (relunit): Use it.
20944
20945 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
20946
20947         * lib/getdate.y (universal_time_zone_table): New constant.
20948         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
20949         universal_time_zone_table.
20950         (lookup_zone): Prefer universal_time_zone_table to
20951         local_time_zone_table, so that "GMT" time stamps are allowed in
20952         London during the summer.  Problem reported by Ian Abbott.
20953
20954 2005-04-12  Jim Meyering  <jim@meyering.net>
20955
20956         * lib/human.c (humblock): Set *options even when returning due to
20957         xstrtoumax conversion failure.  Thanks to a used-uninitialized
20958         warning from gcc-4.
20959
20960 2005-04-09  Jim Meyering  <jim@meyering.net>
20961
20962         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
20963         -Wuninitialized: initialize tm0.tm_year.
20964
20965 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
20966
20967         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
20968         count, since there's no maximum.  All uses changed.
20969         Add member dsts_seen.
20970         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
20971         not being INT_MAX.
20972         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
20973         Use pc_rels_seen to decide whther a date is absolute.
20974
20975         * lib/getdate.y (number): Don't overwrite year.
20976         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
20977         check.
20978
20979 2005-04-02  Simon Josefsson  <jas@extundo.com>
20980
20981         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
20982         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
20983
20984 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
20985
20986         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
20987         where no absolute path name can be longer than PATH_MAX.
20988
20989 2005-03-27  Jim Meyering  <jim@meyering.net>
20990
20991         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
20992
20993 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
20994
20995         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
20996         "one's complement" -> "ones' complement" in comment, as per Knuth.
20997         "value of type" -> "type or expression" in comment.
20998         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
20999
21000 2005-03-26  Jim Meyering  <jim@meyering.net>
21001
21002         Comment nits.
21003         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
21004         Correct typos: s/or/of/.
21005
21006 2005-03-26  Jim Meyering  <jim@meyering.net>
21007
21008         * modules/check-include-files: Move to ../ and rename to...
21009         * check-module: ...this.
21010
21011 2005-03-25  Jim Meyering  <jim@meyering.net>
21012
21013         * modules/xvasprintf (Files): Add xalloc.h.
21014
21015 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
21016
21017         * modules/gettext (Files): config/config.rpath ->
21018         build-aux/config.rpath
21019         * modules/iconv (Files): Likewise.
21020         Problem reported by Oskar Liljeblad.
21021
21022 2005-03-23  Jim Meyering  <jim@meyering.net>
21023
21024         * modules/check-include-files: New script to check for
21025         missing dependencies, multiple includes, etc.
21026
21027         * modules/c-strtold (Depends-on): Add xalloc.
21028         * modules/c-strtod (Depends-on): Add xalloc.
21029         * modules/hash (Depends-on): Add xalloc.
21030         (Files): Remove lib/xalloc.h.
21031
21032         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
21033         * modules/userspec (Files): Add lib/inttostr.h.
21034
21035 2005-03-23  Jim Meyering  <jim@meyering.net>
21036
21037         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
21038
21039 2005-03-22  Jim Meyering  <jim@meyering.net>
21040
21041         * modules/stat-macros: New module.
21042         * modules/canonicalize, modules/euidaccess, modules/file-type,
21043         * modules/filemode, modules/lchown, modules/makepath,
21044         * modules/rmdir, modules/stat: Depend on new stat-macros module
21045         rather than listing lib/stat-macros.h manually.
21046         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
21047
21048 2005-03-22  Jim Meyering  <jim@meyering.net>
21049
21050         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
21051
21052 2005-03-22  Bruno Haible  <bruno@clisp.org>
21053
21054         * config/srclist.txt: Replace target directory 'config' with
21055         'build-aux'.
21056         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
21057         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
21058         ../build-aux/.
21059
21060 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
21061
21062         * modules/chdir-long (Depends-on): Add mempcpy.
21063
21064         * modules/acl, modules/backupfile, modules/c-strtod,
21065         modules/c-strtold, modules/canon-host, modules/canonicalize,
21066         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
21067         modules/exclude, modules/exitfail, modules/file-type,
21068         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
21069         modules/getdate, modules/getline, modules/getpagesize,
21070         modules/getpass, modules/getugroups, modules/group-member,
21071         modules/hard-locale, modules/hash, modules/human, modules/idcache,
21072         modules/inttostr, modules/long-options, modules/makepath,
21073         modules/md5, modules/memcasecmp, modules/memcoll,
21074         modules/modechange, modules/mountlist, modules/path-concat,
21075         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
21076         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
21077         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
21078         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
21079         modules/strftime, modules/strndup, modules/strverscmp,
21080         modules/timespec, modules/unlocked-io, modules/userspec,
21081         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
21082         modules/yesno:
21083         Remove lib_SOURCES line from Makefile.am section, as this is now
21084         done automatically by the corresponding Autoconf macro.
21085
21086 2005-03-21  Jim Meyering  <jim@meyering.net>
21087
21088         Changes imported from coreutils.
21089
21090         * lib/cycle-check.c: Don't include xalloc.h.
21091
21092         * lib/path-concat.c: Don't include assert.h.
21093         (path_concat): Remove assertion that would have triggered
21094         for ABASE starting with more than one slash.
21095         Reported by Andreas Schwab.
21096
21097         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
21098         properly when ABASE is an absolute file name.
21099         Correct the description of this function.
21100         Include <assert.h>.
21101         Add an assertion and a test driver.
21102         This fixes a bug introduced on 2004-07-02.
21103         Andreas Schwab reported the resulting failure of cp --parents:
21104         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
21105
21106 2005-03-21  Jim Meyering  <jim@meyering.net>
21107
21108         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
21109         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
21110
21111 2005-03-21  Jim Meyering  <jim@meyering.net>
21112         and  Paul Eggert  <eggert@cs.ucla.edu>
21113
21114         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
21115         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
21116         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
21117         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
21118         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
21119         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
21120         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
21121         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
21122         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
21123         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
21124         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
21125         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
21126         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
21127         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
21128         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
21129         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
21130         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
21131         for these modules.
21132
21133 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
21134
21135         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
21136         (which shouldn't happen), generate nothing instead of returning 0
21137         immediately, so that nstrftime (NULL, ...) doesn't return 0.
21138
21139 2005-03-16  Bruno Haible  <bruno@clisp.org>
21140
21141         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
21142         HAVE_LONGLONG_64BIT.
21143
21144 2005-03-16  Bruno Haible  <bruno@clisp.org>
21145
21146         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
21147         HAVE_LONGLONG_64BIT.
21148
21149 2005-03-16  Bruno Haible  <bruno@clisp.org>
21150
21151         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
21152         HAVE_LONGLONG_64BIT.
21153
21154 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
21155
21156         * lib/strftime.c (my_strftime): Prepend space to format so that we can
21157         reliably distinguish strftime failure from empty output on POSIX
21158         hosts.
21159
21160 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
21161
21162         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
21163         (iconv_string): Don't guess a size-zero buffer, as that might cause
21164         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
21165         result would be 'too large', where 'too large' is (heuristically)
21166         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
21167         overflow concerns.  This will prevent some unwanted malloc failures
21168         when the inputs are very large.
21169
21170 2005-03-15  Karl Berry  <karl@gnu.org>
21171
21172         * config/srclist.txt (config.rpath): from gettext.
21173         * config/config.rpath: update.
21174
21175 2005-03-15  Bruno Haible  <bruno@clisp.org>
21176
21177         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
21178         to 'negate'.
21179
21180         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
21181         variable.
21182
21183         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
21184         results.
21185
21186 2005-03-14  Simon Josefsson  <jas@extundo.com>
21187
21188         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
21189         <fx@gnu.org>.
21190
21191 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
21192
21193         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
21194         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
21195         intprops.h.
21196         * lib/strtol.c: Likewise.
21197
21198 2005-03-14  Jim Meyering  <jim@meyering.net>
21199
21200         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
21201         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
21202         to be nonzero so that we (and caller) can detect the difference
21203         between a valid zero-length expansion and an error return, even
21204         when the underlying strftime fails before writing anything into
21205         that location.
21206
21207 2005-03-14  Bruno Haible  <bruno@clisp.org>
21208
21209         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
21210         Update from GNU gettext 0.14.3.
21211
21212 2005-03-10  Jim Meyering  <jim@meyering.net>
21213
21214         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
21215
21216 2005-03-10  Jim Meyering  <jim@meyering.net>
21217
21218         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
21219         so that this module works on systems without fchdir.
21220
21221 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
21222
21223         Factor int-properties macros into a single file, except for
21224         glibc-related files.
21225         * lib/intprops.h: New file.
21226         * lib/getloadavg.c: Include it instead of limits.h.
21227         (INT_STRLEN_BOUND): Remove.
21228         * lib/human.c: Include intprops.h.
21229         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
21230         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
21231         302/1000.
21232         * lib/inttostr.h: Include intprops.h instead of limits.h.
21233         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
21234         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
21235         for consistency with intprops.h.
21236         (time_t_is_integer, twos_complement_arithmetic): Use them.
21237         * lib/sig2str.h: Include <signal.h>, intprops.h.
21238         (INT_STRLEN_BOUND): Remove.
21239         * lib/strftime.c (TYPE_SIGNED): Remove.
21240         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
21241         * lib/strtol.c: Adjust comments to match intprops.h.
21242         * lib/userspec.c: Include intprops.h.
21243         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
21244         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
21245         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
21246         instead of rolling our own expressions.
21247         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
21248
21249         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
21250         instead of int.
21251         (my_strftime): Do not mishandle years close to INT_MAX, by doing
21252         the right thing even if adding 1900 would overflow.  Similarly
21253         for tm_mon + 1 and tm_yday + 1.
21254         Make %Y always equivalent to %C%y, and similarly for %G and %g.
21255         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
21256         (DO_SIGNED_NUMBER): New macro.
21257         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
21258
21259 2005-03-07  Bruno Haible  <bruno@clisp.org>
21260
21261         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
21262
21263 2005-03-07  Bruno Haible  <bruno@clisp.org>
21264
21265         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
21266
21267 2005-03-04  Derek R. Price  <derek@ximbiot.com>
21268
21269         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
21270         (func_import): Only replace files via --import when they have actually
21271         changed.
21272
21273 2005-03-03  Derek R. Price  <derek@ximbiot.com>
21274
21275         * m4/mmap-anon.m4: New file.
21276         * m4/pagealign_alloc.m4: New file.
21277
21278 2005-03-03  Derek R. Price  <derek@ximbiot.com>
21279             Bruno Haible  <bruno@clisp.org>
21280
21281         * modules/pagealign_alloc: New file.
21282         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
21283
21284 2005-03-03  Derek R. Price  <derek@ximbiot.com>
21285             Bruno Haible  <bruno@clisp.org>
21286
21287         * lib/pagealign_alloc.h: New file.
21288         * lib/pagealign_alloc.c: New file.
21289
21290 2005-03-03  Bruno Haible  <bruno@clisp.org>
21291
21292         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
21293         Use an all-permissive copyright notice, recommended by RMS.
21294
21295 2005-03-02  Bruno Haible  <bruno@clisp.org>
21296
21297         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
21298         of AIX, the replacement has to be done only after <string.h> is
21299         included, therefore not in config.h. stpncpy.h does the replacement,
21300         and stpncpy.c uses it.
21301
21302 2005-03-02  Bruno Haible  <bruno@clisp.org>
21303
21304         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
21305         stpncpy.c uses it.
21306
21307 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
21308
21309         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
21310         The workaround isn't strictly needed for POSIX conformance, and
21311         it's too much of a pain to configure and maintain.  We'll ask
21312         people to fix their kernels instead.
21313         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
21314         (NANOSLEEP_BUG_WORKAROUND): Remove.
21315         (xnanosleep): Remove the workaround.
21316
21317 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
21318
21319         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
21320         Reported by Derek Price.
21321         (Include): Add "timespec.h".
21322
21323         * modules/xnanosleep (Depends-on): Remove gethrxtime.
21324
21325 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
21326
21327         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
21328         to detect nanosleep bug.
21329
21330 2005-03-01  Bruno Haible  <bruno@clisp.org>
21331
21332         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
21333
21334 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
21335
21336         * modules/gethrxtime: New file.
21337         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
21338         (Depends-on): Add gethrxtime.
21339         (configure.ac): Add gl_XNANOSLEEP.
21340         (Makefile.am): Remove lib_SOURCES line.
21341
21342 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
21343
21344         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
21345         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
21346
21347 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
21348
21349         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
21350         * lib/timespec.h (gettime): Return void, since it always
21351         succeeds now.  All uses changed.
21352         * lib/gettime.c (gettime) Likewise.
21353         [HAVE_NANOTIME]: Prefer nanotime.
21354         Assume gettimeofday succeeds, as POSIX requires.
21355         Assime time () succeeds, since other code already does.
21356         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
21357         (timespec_subtract): Remove.
21358         (NANOSLEEP_BUG_WORKAROUND): New constant.
21359         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
21360         things considerably.  Use it only on GNU/Linux hosts, since the
21361         workaround shouldn't be needed elsewhere.
21362
21363 2005-02-24  Bruno Haible  <bruno@clisp.org>
21364
21365         * modules/gettext (Files): Add m4/glibc2.m4.
21366
21367 2005-02-24  Bruno Haible  <bruno@clisp.org>
21368
21369         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
21370         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
21371         * m4/progtest.m4:
21372         Update from GNU gettext 0.14.2.
21373         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
21374
21375 2005-02-24  Bruno Haible  <bruno@clisp.org>
21376
21377         * lib/localcharset.c: Update from GNU gettext 0.14.2.
21378         * lib/config.charset: Update from GNU gettext 0.14.2.
21379
21380 2005-02-24  Bruno Haible  <bruno@clisp.org>
21381
21382         * lib/gettext.h: Update from GNU gettext 0.14.2.
21383
21384 2005-02-23  Simon Josefsson  <jas@extundo.com>
21385
21386         * m4/iconvme.m4: New file.
21387
21388 2005-02-23  Jim Meyering  <jim@meyering.net>
21389
21390         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
21391         change.
21392         Thanks to Bruno Haible for catching it.
21393
21394 2005-02-22  Simon Josefsson  <jas@extundo.com>
21395
21396         * modules/iconvme: New file.
21397
21398         * MODULES.html.sh: Add iconvme.
21399
21400 2005-02-22  Simon Josefsson  <jas@extundo.com>
21401
21402         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
21403
21404 2005-02-22  Simon Josefsson  <jas@extundo.com>
21405
21406         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
21407
21408 2005-02-22  Jim Meyering  <jim@meyering.net>
21409
21410         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
21411         s/ifndef/ifdef/.
21412
21413 2005-02-20  Neil Conway  <neilc@samurai.com>
21414
21415         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
21416         returned by OSX/Darwin if the specified buffer is not large
21417         enough for the hostname.
21418
21419 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21420
21421         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
21422         pass it to _help, otherwise the latter coredumps trying to
21423         dereference state.root_argp.
21424
21425 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
21426
21427         * modules/chdir-long (Depends-on): Add memrchr.
21428         * modules/memrchr (Files): Add lib/memrchr.h.
21429         (Include): "memrchr.h".
21430
21431 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
21432
21433         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
21434
21435 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
21436
21437         * lib/memrchr.h: New file.
21438         * lib/chdir-long.c: Include it.
21439         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
21440         Don't bother including stddef.h.
21441
21442 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
21443
21444         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
21445         inclusion.
21446         Include <sys/types.h>, for dev_t.
21447         (ME_DUMMY, ME_REMOTE): Move from here....
21448         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
21449         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
21450         Dmitry V. Levin.
21451         Include mountlist.h first, to test the interface.
21452
21453 2005-01-29  Bruno Haible  <bruno@clisp.org>
21454
21455         * lib/progname.c (program_name): Initialize.
21456         Needed when linking statically on MacOS X.
21457
21458 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
21459
21460         Sync from coreutils.
21461         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
21462         (Depends-on): Add c-strtod.
21463         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
21464
21465 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
21466
21467         Sync from coreutils.
21468         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
21469
21470         Remove files that are specific to coreutils.
21471         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
21472
21473 2005-01-28  Bruno Haible  <bruno@clisp.org>
21474
21475         * modules/javacomp: New file.
21476         * MODULES.html.sh (Java): Add javacomp.
21477
21478 2005-01-28  Bruno Haible  <bruno@clisp.org>
21479
21480         * m4/javacomp.m4: New file, from GNU gettext.
21481
21482 2005-01-28  Bruno Haible  <bruno@clisp.org>
21483
21484         * lib/javacomp.sh.in: New file, from GNU gettext.
21485         * lib/javacomp.h: New file, from GNU gettext.
21486         * lib/javacomp.c: New file, from GNU gettext.
21487
21488 2005-01-26  Simon Josefsson  <jas@extundo.com>
21489
21490         * lib/gai_strerror.c: Use GPL in header.
21491
21492 2005-01-26  Bruno Haible  <bruno@clisp.org>
21493
21494         * modules/javaexec: New file.
21495         * MODULES.html.sh (Java): Add javaexec.
21496
21497 2005-01-26  Bruno Haible  <bruno@clisp.org>
21498
21499         * m4/javaexec.m4: New file, from GNU gettext.
21500
21501 2005-01-26  Bruno Haible  <bruno@clisp.org>
21502
21503         * lib/javaexec.sh.in: New file, from GNU gettext.
21504         * lib/javaexec.h: New file, from GNU gettext.
21505         * lib/javaexec.c: New file, from GNU gettext.
21506
21507 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21508
21509         * modules/lchown (Depends-on): Remove lchown.h
21510
21511 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21512
21513         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
21514         must be defined if the header file was not found, in order
21515         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
21516
21517 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21518
21519         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
21520         initializers for struct pentry_state.
21521         (__argp_error): Check return value of __asprintf
21522         (__argp_failure): Translate error message
21523
21524         * lib/argp-parse.c: Removed braces around the expansion of N_()
21525
21526 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
21527
21528         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
21529         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
21530         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
21531         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
21532         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
21533         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
21534         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
21535         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
21536         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
21537         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
21538         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
21539         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
21540         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
21541         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
21542         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
21543         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
21544         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
21545         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
21546         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
21547         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
21548         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
21549         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
21550         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
21551         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
21552         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
21553         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
21554         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
21555         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
21556         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
21557         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
21558         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
21559         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
21560         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
21561         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
21562         xstrtol.m4, xstrtoumax.m4, yesno.m4:
21563         Use an all-permissive copyright notice, recommended by RMS.
21564
21565 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
21566
21567         * modules/chdir-long (Depends-on): Remove mempcpy.
21568
21569 2005-01-21  Jim Meyering  <jim@meyering.net>
21570
21571         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
21572         same value as for Solaris 9.
21573
21574         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
21575         component length.  This included changing the parameter to be
21576         of type `char *' rather than `char const *'.
21577         * lib/chdir-long.h (chdir_long): Update prototype.
21578
21579         * lib/openat.c (fdopendir, fstatat): New functions.
21580         * lib/openat.h: Include headers required for use of DIR and struct
21581         stat.
21582         [AT_SYMLINK_NOFOLLOW]: Define.
21583         (fdopendir, fstatat): Add prototypes.
21584
21585 2005-01-21  Bruno Haible  <bruno@clisp.org>
21586
21587         * modules/classpath: New file.
21588         * MODULES.html.sh (Java): Add classpath.
21589
21590 2005-01-21  Bruno Haible  <bruno@clisp.org>
21591
21592         * lib/classpath.h: New file, from GNU gettext.
21593         * lib/classpath.c: New file, from GNU gettext.
21594
21595 2005-01-20  Simon Josefsson  <jas@extundo.com>
21596
21597         * modules/version-etc-fsf: New file.
21598
21599 2005-01-20  Simon Josefsson  <jas@extundo.com>
21600
21601         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
21602         * lib/version-etc.c: Remove version_etc_copyright.
21603         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
21604         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
21605
21606 2005-01-20  Simon Josefsson  <jas@extundo.com>
21607
21608         * lib/base64.h (isbase64): Add.
21609
21610         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
21611         using a unsigned prototype, don't inline.
21612         (base64_decode): Use it.
21613
21614 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
21615
21616         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
21617         it.
21618
21619 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
21620
21621         * lib/save-cwd.c (save_cwd): Remove code to support the case
21622         where fchdir is missing or flaky.
21623
21624 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
21625
21626         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
21627
21628 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
21629
21630         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
21631         AC_LIBSOURCES now does this.
21632         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
21633         with new ullong_max module.
21634
21635 2005-01-19  Bruno Haible  <bruno@clisp.org>
21636
21637         * modules/sh-quote: New file.
21638         * MODULES.html.sh (Executing programs): Add sh-quote.
21639
21640 2005-01-19  Bruno Haible  <bruno@clisp.org>
21641
21642         * lib/sh-quote.h: New file, from GNU gettext.
21643         * lib/sh-quote.c: New file, from GNU gettext.
21644
21645 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21646
21647         Merge from coreutils.
21648         * m4/ullong_max.m4: New file.
21649         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
21650         (gl_MACROS): Assume localeconv exists.
21651
21652 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21653
21654         Merge changes from coreutils, as described below in several
21655         changelogs dated today.
21656
21657         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
21658         (O_DIRECTORY): Remove; not needed here, since "." must be
21659         a directory.  All uses removed.
21660         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
21661         universal on Suns, and we also need to test for IRIX.
21662         Revamp code to use 'if' rather than '#if'.
21663         Avoid unnecessary comparison of cwd->desc to 0.
21664
21665         * lib/utimens.c (futimens): Robustify the previous patch, by checking
21666         for known valid error numbers rather than observed invalid ones.
21667
21668 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
21669
21670         * modules/ullong_max: New file.
21671
21672         * modules/chdir-long, modules/openat: New files.
21673         * modules/save-cwd (Depends-on): Depend on chdir-long.
21674         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
21675
21676 2005-01-18  Jim Meyering  <jim@meyering.net>
21677
21678         Merge from coreutils.
21679         * m4/chdir-long.m4, m4/openat.m4: New files.
21680         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
21681         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
21682         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
21683         is sane and DOES follow symlinks.  Besides, testing 20 different
21684         systems found no broken chown implementations.
21685         Prompted by a change in rsync's copy of this macro.
21686         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
21687
21688         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
21689
21690         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
21691         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
21692         NULL-means-set-to-current-time semantics.
21693         Remove temporary file immediately, rather than waiting
21694         for configure's at-exit trap code to do it.
21695
21696 2005-01-18  Jim Meyering  <jim@meyering.net>
21697
21698         * lib/version-etc.c (version_etc_copyright): Update copyright date.
21699
21700         * lib/utimens.c (futimens): Account for the fact that futimes
21701         can also fail with errno == ENOSYS or errno == ENOENT.
21702         Patch from Dmitry V. Levin.
21703
21704         Change the name of the robust chdir function from chdir to chdir_long.
21705         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
21706         (restore_cwd): Use chdir_long, not chdir.
21707         * lib/chdir-long.c: Renamed from chdir.c.
21708         * lib/chdir-long.h: Renamed from chdir.h.
21709         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
21710         Hurd.
21711
21712 2005-01-18  Bruno Haible  <bruno@clisp.org>
21713
21714         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
21715         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
21716         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
21717         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
21718         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
21719         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
21720         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
21721         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
21722         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
21723         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
21724         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
21725         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
21726         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
21727         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
21728         Use an all-permissive copyright notice, recommended by RMS.
21729
21730 2005-01-18  Bob Proulx  <bob@proulx.com>
21731
21732         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
21733         simplify offsetof() macro construct to avoid compile failure with
21734         native HP-UX 11.0 ANSI C compiler.
21735
21736 2005-01-17  Bruno Haible  <bruno@clisp.org>
21737
21738         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
21739         redundant because stpncpy.m4 takes care of it.
21740
21741 2005-01-17  Bruno Haible  <bruno@clisp.org>
21742
21743         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
21744
21745 2005-01-17  Bruno Haible  <bruno@clisp.org>
21746
21747         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
21748         used.
21749
21750 2005-01-17  Bruno Haible  <bruno@clisp.org>
21751
21752         * lib/fwriteerror.h (fwriteerror): Change specification to include
21753         fclose.
21754         * lib/fwriteerror.c: Include <stdbool.h>.
21755         (fwriteerror): At the end, close the file stream. Record whether
21756         stdout was already closed.
21757
21758 2005-01-17  Bruno Haible  <bruno@clisp.org>
21759
21760         * lib/execute.c (environ): Declare if needed.
21761         * lib/pipe.c (environ): Likewise.
21762         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
21763
21764 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21765
21766         * modules/argp: Depend on vsnprintf
21767
21768 2005-01-10  Jim Meyering  <jim@meyering.net>
21769
21770         * modules/closeout (Depends-on): Add atexit.
21771
21772 2005-01-06  Bruno Haible  <bruno@clisp.org>
21773
21774         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
21775
21776 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
21777
21778         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
21779         definitions to be after all include files, to avoid collisions.
21780         Problem reported by Bob Proulx.
21781
21782 2005-01-04  Jim Meyering  <jim@meyering.net>
21783
21784         Changes imported from coreutils.
21785         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
21786         as the mkstemp template, use a temporary directory and an
21787         8.3-friendly template to avoid trouble on systems like DJGPP.
21788         Reported by Juan M. Guerrero via Stepan Kasal.
21789         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
21790         close. Remove the temporary directory right away, rather than waiting
21791         for configure's at-exit trap code to do it.
21792         Suggestion from Stepan Kasal.
21793
21794 2005-01-01  Simon Josefsson  <jas@extundo.com>
21795
21796         * gnulib-tool: Print #include directives when --import'ing.
21797
21798 2004-12-28  Simon Josefsson  <jas@extundo.com>
21799
21800         * tests/test-base64.c: Include required header files.  Remove
21801         unused variables.
21802
21803 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21804
21805         * modules/error (Depends-on): Remove gettext.
21806
21807 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
21808
21809         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
21810         not needed.  This removes a dependency on the gettext module.
21811         [defined _LIBC]: Do not include <libintl.h>; not needed.
21812
21813 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
21814
21815         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
21816         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
21817
21818 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
21819
21820         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
21821         HAVE_DECL_STRTOLD.
21822
21823 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21824
21825         * modules/getdate (Depends-on): Remove alloca-opt.
21826
21827 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21828
21829         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
21830
21831 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21832
21833         * lib/argp-parse.c: Include <stddef.h>.
21834         (alignof, alignto): New macros.
21835         (parser_init): Don't assume that void * is aligned sufficiently
21836         for struct option.
21837
21838         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
21839         need to extend the stack.
21840         (YYINITDEPTH): New macro, so that the initial stack isn't overly
21841         large.
21842
21843 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
21844
21845         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
21846
21847 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21848
21849         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
21850         (2004-10-24) change.  Apparently this was a false alarm.
21851
21852         * modules/getdate: Depend on alloca-opt, not alloca.
21853
21854 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21855
21856         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
21857         Remove now-obsolete comment about AIX.
21858         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
21859         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
21860         (YYMAXDEPTH): New macro.
21861
21862 2004-12-18  Simon Josefsson  <jas@extundo.com>
21863
21864         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
21865
21866 2004-12-18  Bruno Haible  <bruno@clisp.org>
21867
21868         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
21869
21870 2004-12-18  Bruno Haible  <bruno@clisp.org>
21871
21872         * lib/fatal-signal.c (fatal_signals): Make non-const.
21873         (init_fatal_signals): New function.
21874         (uninstall_handlers, install_handlers): Ignore signals that were set to
21875         SIG_IGN.
21876         (at_fatal_signal): Call init_fatal_signals.
21877         (init_fatal_signal_set): Likewise. Ignore signals that were set to
21878         SIG_IGN.
21879         Reported by Paul Eggert.
21880
21881 2004-12-18  Bruno Haible  <bruno@clisp.org>
21882
21883         * doc/alloca.texi: New file.
21884         * doc/alloca-opt.texi: New file.
21885
21886 2004-12-17  Jim Meyering  <jim@meyering.net>
21887
21888         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
21889         Otherwise, install-sh could exit with improper exit status when
21890         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
21891
21892 2004-12-16  Simon Josefsson  <jas@extundo.com>
21893
21894         * tests/test-base64.c: Add license.
21895
21896 2004-12-15  Stepan Kasal  <address@hidden>
21897
21898         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
21899
21900 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
21901
21902         * modules/getcwd (Files): Add m4/d-ino.m4.
21903         Suggested by Mark D. Baushke.
21904
21905 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
21906
21907         * lib/getdate.y (textint): New member "negative".
21908         (time_zone_hhmm): New function.
21909         Expect 14 shift-reduce conflicts, not 13.
21910         (o_colon_minutes): New rule.
21911         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
21912         (yylex): Set the "negative" member of signed numbers.
21913
21914 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
21915
21916         * doc/getdate.texi (Time of day items, Time zone items):
21917         Describe new formats +00:00, UTC+00:00.
21918
21919 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
21920
21921         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
21922         spurious "-l"s.  Problem reported by Stepan Kasal.
21923
21924 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
21925
21926         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
21927         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
21928
21929 2004-12-04  Simon Josefsson  <jas@extundo.com>
21930
21931         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
21932         Vandoorselaere <yoann@prelude-ids.org>.
21933
21934 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
21935
21936         Changes imported from coreutils.
21937         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
21938         exist.
21939         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
21940
21941 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
21942
21943         Changes imported from coreutils.
21944         * lib/hard-locale.c: Assume <locale.h> exists.
21945         Include "strdup.h".
21946         (GLIBC_VERSION): New macro.
21947         (hard_locale): Assume setlocale exists.
21948         Rewrite to avoid #ifdef.
21949         Use strdup rather than malloc + strcpy.
21950         * lib/human.c: Assume <locale.h> exists.
21951         (human_readable): Assume localeconv exists.
21952
21953 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
21954
21955         * modules/hard-locale (Depends-on): Add strdup.
21956
21957 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
21958
21959         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
21960         convert T2, not T.  (Imported from libc.)
21961
21962 2004-11-30  Simon Josefsson  <jas@extundo.com>
21963
21964         * modules/restrict (License): Change to LGPL.
21965
21966 2004-11-30  Simon Josefsson  <jas@extundo.com>
21967
21968         * m4/restrict.m4: Add copyright and copying conditions.
21969
21970 2004-11-30  Simon Josefsson  <jas@extundo.com>
21971
21972         * m4/base64.m4: New file.
21973
21974 2004-11-30  Simon Josefsson  <jas@extundo.com>
21975
21976         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
21977         base64.
21978
21979         * tests/test-base64.c: New file.
21980
21981         * modules/base64: New file.
21982
21983 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
21984
21985         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
21986         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
21987
21988         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
21989
21990 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
21991
21992         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
21993         (__getcwd.c): Don't restore errno; glibc doesn't.
21994         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
21995         first, falling back to our code only if its results look suspicious.
21996         Ensure that the resulting buffer is only as large as necessary.
21997
21998         * lib/readutmp.c: Include readutmp.h first.
21999         Include <errno.h>, since readutmp.h no longer does that.
22000         * lib/readutmp.h: Don't include <errno.h>,
22001         <sys/param.h>, <time.h>; not needed to establish interface.
22002         (errno): Remove decl.
22003         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
22004         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
22005         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
22006
22007 2004-11-28  Simon Josefsson  <jas@extundo.com>
22008
22009         * lib/base64.h, base64.c: New file.
22010
22011 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
22012
22013         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
22014
22015 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
22016
22017         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
22018         (Depends-on): Remove pathmax, same.  Add mempcpy.
22019         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
22020         (Makefile.am): Append getcwd.h to lib_SOURCES.
22021         (Include): Add getcwd.h.
22022         (Maintainer): Change from Jim Meyering to "all, glibc",
22023         since getdate now uses intended-for-glibc code.
22024         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
22025         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
22026
22027 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22028
22029         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
22030         HP's ANSI C compiler.
22031         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
22032         Declaring int functions causes warnings on some modern systems and
22033         shouldn't be needed to compile on ancient ones.
22034         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
22035         defined.
22036
22037         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
22038         with the following changes.
22039         (__set_errno): Parenthesize properly.
22040         Include <stdbool.h>.
22041         (MIN, MAX, MATCHING_INO): New macros.
22042         (__getcwd): Define with prototype, not K&R form.
22043         Use heuristics to allocate default buffer on stack if possible.
22044         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
22045         behavior, and to avoid the PATH_MAX limit when computing
22046         ../../../../...
22047         Use MATCHING_INO to compare inode number to file.
22048         Check for arithmetic overflow in size calculations.
22049         Fix bug in reallocation of dot array that caused getcwd to fail
22050         on directories nested deeper than 75.
22051         Be more careful about saving errno on error.
22052         Do not use realloc; use only free+malloc, as this is a bit
22053         more flexible and avoids a needless copy operation.
22054         Do not inspect st_dev and st_ino for symbolic links; POSIX
22055         doesn't specify the latter.
22056         Check for closedir errors.
22057         Avoid needless casts.
22058         Use "#ifdef weak_alias" around weak_alias, to be like other
22059         glibc code.
22060         The following changes to getcwd.c have effect only when used in
22061         gnulib; they have no effect inside glibc proper.
22062         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
22063         as alloca isn't used.
22064         (alloca, __alloca): Likewise.
22065         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
22066         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
22067         unconditionally, as gnulib assumes C89 or better.
22068         Do not include <sys/param.h>.
22069         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
22070         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
22071         better.
22072         (NULL) [!defined NULL]: Remove; we assume C89 or better.
22073         Include <dirent.h> in a way that is compatible with modern Autoconf.
22074         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
22075         New macros, if not already defined.
22076         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
22077         Use "_LIBC", not "defined _LIBC", for consistency.
22078         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
22079         a mempcpy module.
22080         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
22081         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
22082         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
22083         credit only to Jim Meyering and adjust the copyright dates.
22084         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
22085         <stdlib.h>, <unistd.h>, "pathmax.h".
22086         Instead, include "xgetcwd.h" (first) and "getcwd.h".
22087         (INITIAL_BUFFER_SIZE): Remove.
22088         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
22089
22090 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22091
22092         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
22093         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
22094         Use the _ONCE methods, for efficiency.
22095         Check for fcntl.h.  In test program, include <errno.h>
22096         and <fcntl.h> if available.  Remove old K&R cruft from
22097         test program.  Check for common errors in GNU/Linux,
22098         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
22099         don't do AC_LIBOBJ, as that's getcwd.m4's job.
22100         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
22101         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
22102         name accordingly.
22103         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
22104         accommodate new getcwd.c.
22105         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
22106         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
22107         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
22108         that's all we need now.
22109
22110 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
22111
22112         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
22113         argp-parse.c depends on getopt internals, that means we should
22114         always use our getopt, to be on the safe side.
22115         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
22116         order not to spoil the result of an eventual previous invocation
22117         of gl_GETOPT_SUBSTITUTE.
22118
22119 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
22120
22121         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
22122         redefinition warnings. To avoid them, include the defines
22123         in `#if !defined __need_getopt ... #endif'. The only place
22124         where __getopt_argv_const is used is in definitions
22125         of getopt_long and getopt_long_only below, which are as well
22126         protected by `#ifndef __need_getopt'.
22127         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
22128         __need_getopt after including <stdio.h> and <unistd.h> These
22129         headers might have defined it.
22130
22131 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
22132
22133         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
22134
22135 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
22136
22137         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
22138         (futimens): New function, which uses futimes if available.
22139         (futimens, utimens): Support timespec==NULL, with same semantics
22140         as utime and utimens.
22141         * lib/utimens.h (futimens): New decl.
22142
22143 2004-11-23  Jim Meyering  <jim@meyering.net>
22144
22145         * lib/getopt_.h: Remove trailing blanks.
22146
22147 2004-11-23  Jim Meyering  <jim@meyering.net>
22148
22149         * lib/__fpending.c: Add comment.
22150
22151 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
22152
22153         * modules/canonicalize (Depends-on): Add xreadlink.
22154         Problem reported by James Youngman.
22155
22156 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
22157
22158         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
22159         New macros.
22160         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
22161         optopt): Use them instead of invoking ## directly; otherwise, the
22162         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
22163
22164 2004-11-19  Bruno Haible  <bruno@clisp.org>
22165
22166         * lib/strtok_r.c: Move comments from here...
22167         * lib/strtok_r.h: ... to here.
22168
22169 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22170
22171         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
22172         implementations that mishandle size_t overflow.
22173
22174 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22175
22176         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
22177         might fail.  Problem reported by Yoann Vandoorselaere.
22178         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
22179         implementations that mishandle size_t overflow.
22180
22181 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
22182
22183         * modules/canon-host (Depends-on): Add strdup.
22184
22185 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
22186
22187         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
22188
22189 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
22190
22191         * lib/canon-host.c: Include "strdup.h".
22192         (canon_host): Use getaddrinfo if available, so that IPv6 works.
22193         Use strdup instead of malloc/strcpy to duplicate strings.
22194
22195         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
22196         (human_space_before_unit): New constant.
22197         * lib/human.c (human_readable): Support it.
22198
22199         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
22200         (xgetcwd): Set errno correctly when failing.
22201         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
22202         the failure is actually due to a PATH_MAX problem.
22203
22204         Further getopt changes to make it more likely that glibc will
22205         buy the changes back.
22206         * lib/getopt.c (POSIXLY_CORRECT): New constant.
22207         (getopt): Use it, so to preserve glibc semantic
22208         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
22209         when compiling for libc.
22210         * lib/getopt_.h (__getopt_argv_const): Bring it back.
22211         (getopt_long, getopt_long_only): Use it.
22212
22213         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
22214         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
22215         (getopt): Argv is now char * const *, as per standard.
22216         (_getopt_internal_r, _getopt_internal): Argv is now char **,
22217         not char *__getopt_argv_const *.
22218         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
22219         _getopt_long_only_r): Likewise.
22220         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
22221         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
22222         _getopt_long_r, _getopt_long_only_r): Likewise.
22223         * lib/getopt_.h (__getopt_argv_const): Remove.
22224         (getopt): Argv is now char * const *, as per standard.
22225
22226         * lib/getdate.y (tORDINAL): New token.
22227         (day, relunit): Allow it for relative times.
22228         (relative_time_table): Use tORDINAL for ordinals.
22229
22230 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
22231
22232         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
22233         Document that "second" isn't allowed as an ordinal number.
22234
22235 2004-11-16  Jim Meyering  <jim@meyering.net>
22236
22237         * modules/closeout (Depends-on): Add fpending.
22238
22239 2004-11-15  Jim Meyering  <jim@meyering.net>
22240
22241         * lib/closeout.c: Include "__fpending.h" once again.
22242         Include <stdbool.h>.
22243         (close_stdout): Don't fail just because stdout was closed initially,
22244         since some programs don't write to stdout in the normal course of
22245         operation (other than --version and --help), and we don't want this
22246         function to make e.g. `touch file >&-' fail.
22247         But do fail if it was closed and someone has tried to write to it.
22248         E.g., `printf foo >&-' must fail.
22249
22250 2004-11-13  Jim Meyering  <jim@meyering.net>
22251
22252         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
22253
22254 2004-11-12  Simon Josefsson  <jas@extundo.com>
22255
22256         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
22257         small doc fix is still pending.
22258
22259 2004-11-11  Simon Josefsson  <jas@extundo.com>
22260
22261         * modules/strtok_r: New file.
22262
22263         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22264         strtok_r.
22265
22266 2004-11-11  Simon Josefsson  <jas@extundo.com>
22267
22268         * m4/strtok_r.m4: New file.
22269
22270         * m4/getopt.m4: Replace opterr.
22271
22272 2004-11-11  Simon Josefsson  <jas@extundo.com>
22273
22274         * lib/strtok_r.h, strtok_r.c: New file.
22275
22276 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22277
22278         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
22279         of replacing opterr, getopt, etc.  This should handle the
22280         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
22281
22282 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22283
22284         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
22285         we can stop lying to compilers about the constness of argv when we
22286         are compiled outside glibc.
22287         (getopt, getopt_long, getopt_long_only): Use it.
22288         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
22289         _getopt_internal, getopt): Likewise.
22290         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
22291         _getopt_long_only_r): Likewise.
22292         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
22293         _getopt_long_r, _getopt_long_only_r): Likewise.
22294
22295         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
22296         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
22297         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
22298         the other external symbols.
22299         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
22300         declaration, since the above renaming now works around collisions.
22301
22302 2004-11-11  Jim Meyering  <jim@meyering.net>
22303
22304         * lib/linebreak.c: Remove trailing blanks.
22305         * lib/alloca_.h: Likewise.
22306         * lib/acosl.c: Likewise.
22307         * lib/euidaccess.c: Likewise.
22308         * lib/allocsa.h: Likewise.
22309
22310 2004-11-10  Simon Josefsson  <jas@extundo.com>
22311
22312         * m4/getaddrinfo.m4: New file.
22313
22314 2004-11-10  Simon Josefsson  <jas@extundo.com>
22315
22316         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
22317
22318 2004-11-10  Simon Josefsson  <jas@extundo.com>
22319
22320         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
22321         getaddrinfo.
22322
22323         * modules/getaddrinfo: New file.
22324
22325 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
22326
22327         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
22328
22329 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
22330
22331         * lib/mktime.c (SHR): New macro, which is a portable
22332         substitute for >> that should work even on Crays.
22333         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
22334         Problem reported by Mark D. Baushke in
22335         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
22336         * lib/getdate.y (SHR): Likewise.
22337         (tm_diff): Use it.
22338         * lib/strftime.c (SHR): Likewise.
22339         (tm_diff): Use it.
22340         * lib/quotearg.c (struct quoting_options): Use unsigned int for
22341         quote_these_too, so that right shifts are well defined.  All uses
22342         changed.
22343
22344 2004-11-10  Jim Meyering  <jim@meyering.net>
22345
22346         Ensure that no close failure goes unreported.
22347         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
22348         return early when it seems there's nothing to flush.
22349         Don't include __fpending.h.
22350
22351 2004-11-10  Jim Meyering  <jim@meyering.net>
22352
22353         * modules/closeout (Depends-on): Remove fpending.
22354
22355 2004-11-10  Jim Meyering  <jim@meyering.net>
22356
22357         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
22358
22359 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
22360
22361         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
22362         gl_FUNC_STRFTIME.
22363         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
22364         and AC_REQUIRE when possible, to avoid duplicate checks.
22365         Check for <wchar.h>.
22366
22367 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
22368
22369         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
22370
22371 2004-11-09  Bruno Haible  <bruno@clisp.org>
22372
22373         * m4/sockpfaf.m4: New file.
22374
22375 2004-11-05  Bruno Haible  <bruno@clisp.org>
22376
22377         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
22378         Reported by Mark D. Baushke <mdb@cvshome.org>.
22379
22380 2004-11-04  Bruno Haible  <bruno@clisp.org>
22381
22382         2004-09-11  Bruno Haible  <bruno@clisp.org>
22383                 * allocsa.valgrind: New file.
22384         2004-02-06  Bruno Haible  <bruno@clisp.org>
22385                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
22386                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
22387                 Reported by Christopher Seip <chris.seip@hp.com>.
22388
22389 2004-11-04  Bruno Haible  <bruno@clisp.org>
22390
22391         * modules/allocsa (Files): Add lib/allocsa.valgrind.
22392         (Makefile.am): Distribute it.
22393
22394 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
22395
22396         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
22397         with errno == ERANGE if the buffer is too small.
22398         Problem reported by Mark D. Baushke.
22399
22400 2004-11-03  Albert Chin  <china@thewrittenword.com>
22401             Paul Eggert  <eggert@cs.ucla.edu>
22402
22403         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
22404         equivalent, substitute $ac_type for equivalent type rather than
22405         blindly using uint32_t *always* which won't work if uint32_t is not
22406         available.  Define _UINT32_T to work around typedef of uint32_t if
22407         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
22408         2.5.1.
22409
22410 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
22411
22412         * m4/jm-macros.m4: Sync from coreutils.
22413         (gl_MACROS): Check for mbrlen, for pathchk.
22414         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
22415
22416 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
22417
22418         * lib/xreadlink.c (MAXSIZE): New macro.
22419         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
22420         size does not exceed MAXSIZE.  Avoid cast.
22421         As suggested by Mark D. Baushke in
22422         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
22423         if readlink fails with buffer size just under MAXSIZE, try again
22424         with MAXSIZE.
22425
22426 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
22427
22428         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
22429
22430 2004-11-02  Derek R. Price  <derek@ximbiot.com>
22431         and  Paul Eggert  <eggert@cs.ucla.edu>
22432
22433         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
22434         (get_date): Overparenthesize to avoid GCC warning.
22435
22436 2004-11-02  Bruno Haible  <bruno@clisp.org>
22437
22438         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
22439         returns void.
22440
22441 2004-11-02  Bruno Haible  <bruno@clisp.org>
22442
22443         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
22444         function returns void.
22445
22446 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
22447
22448         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
22449         fflush_unlocked, flockfile, funlockfile, funlockfile,
22450         fputs_unlocked, putc_unlocked.
22451
22452 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
22453
22454         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
22455         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
22456         already declared.
22457
22458 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
22459
22460         * modules/getdate (Files): Add doc/getdate.texi.
22461         (Depends-on): Add setenv, xalloc.
22462
22463 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
22464
22465         * lib/getdate.y: Add support for TZ="foo" within a date string.
22466         Fix some bugs near time_t boundaries.  Reject dates with
22467         out-of-range components, e.g., "Sept 31".
22468         Include <stdlib.h>, "setenv.h", "xalloc.h".
22469         (ISDIGIT_LOCALE): Remove; unused.
22470         Note that the TZ and time functions used here are not reentrant.
22471         (mktime_ok, get_tz): New functions.
22472         (TZBUFSIZE): New constant.
22473         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
22474         This requires that we sometimes generate our own TZ="XXX..." setting.
22475
22476 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
22477
22478         * doc/getdate.texi: New file, from coreutils with modifications for
22479         the new TZ parsing.
22480
22481 2004-10-27  Derek R. Price  <derek@ximbiot.com>
22482
22483         * lib/mktime.c (not_equal_tm): Remove redundant check.
22484
22485 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
22486
22487         * modules/regex (lib_SOURCES): Add regex.c.
22488         Reported by James Youngman in
22489         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
22490
22491 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
22492
22493         * lib/getdate.y: Use Bison 1.875 features, and some minor
22494         code cleanups.  This change does not affect semantics.
22495         Don't include <stdlib.h>; no longer needed.
22496         Don't include unlocked-io.h; only the "#if TEST" code uses
22497         stdio, and performance isn't crucial there.
22498         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
22499         Bison 1.875 features as described below.
22500         All uses of "PC." replaced by "pc->".
22501         (YYSTYPE): Add a forward declaration.
22502         (yylex, yyerror): Use full prototypes in forward decls.
22503         Use "%pure-parser" rather than obsolescent "%pure_parser".
22504         Use %parse-param and %lex-param instead of obsolescent
22505         YYPARSE_PARAM and YYLEX_PARAM.
22506         (meridian_table, month_and_day_table, time_units_table,
22507         relative_time_table, time_zone_table, military_table,
22508         lookup_zone, lookup_word, get_date):
22509         Use NULL instead of 0 where appropriate.
22510         (to_hour): Avoid abort (), to avoid a dependency on
22511         stdlib.h.
22512         (yyerror, yylex): Now accepts parser_control * arg.
22513         (main) [TEST]: Use '\0' rather than 0 for char.
22514
22515 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
22516
22517         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
22518
22519 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
22520
22521         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
22522         It's now the caller's responsibility to handle the case where
22523         !HAVE_GETPAGESIZE && !defined getpagesize.
22524
22525         * lib/mktime.c (leapyear): Arg is long int, not int.
22526
22527 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
22528
22529         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
22530
22531 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
22532
22533         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
22534         missing.  Problem reported by James Youngman.
22535
22536 2004-10-16  Simon Josefsson  <jas@extundo.com>
22537
22538         * gnulib-tool: Fix comments.  Fix parse problem.
22539         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
22540
22541 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
22542
22543         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
22544         implementation of getopt_long.  Problem reported by Alexander Taler in:
22545         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
22546
22547 2004-10-15  Bruno Haible  <bruno@clisp.org>
22548
22549         * gnulib-tool: Untabify. Initialize supplied_libname.
22550         (func_usage): More homogenous output.
22551         (func_modules_transitive_closure, func_modules_to_filelist,
22552         func_emit_lib_Makefile_am): New functions.
22553         (func_import): New function, extracted from big case statement. Use
22554         func_get_license, func_modules_transitive_closure,
22555         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
22556         opt_lgpl. Don't use test -a, as it's not portable.
22557         (func_create_testdir): Use func_modules_transitive_closure,
22558         func_modules_to_filelist, func_emit_lib_Makefile_am.
22559
22560 2004-10-15  Bruno Haible  <bruno@clisp.org>
22561
22562         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
22563
22564 2004-10-15  Bruno Haible  <bruno@clisp.org>
22565
22566         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
22567         the portions belonging to each module.
22568         Suggested by Derek Robert Price <derek@ximbiot.com>.
22569
22570 2004-10-12  Simon Josefsson  <jas@extundo.com>
22571
22572         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
22573         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
22574         to real functions.
22575
22576 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22577
22578         * modules/vsnprintf: New file.
22579
22580 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22581
22582         * m4/vsnprintf.m4: New file.
22583
22584 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22585
22586         * lib/vsnprintf.h: New file.
22587         * lib/vsnprintf.c: New file.
22588
22589 2004-10-11  Bruno Haible  <bruno@clisp.org>
22590
22591         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
22592         vsnprintf.
22593
22594 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
22595
22596         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
22597
22598 2004-10-07  Bruno Haible  <bruno@clisp.org>
22599
22600         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
22601         fits into the provided buffer.
22602
22603 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
22604
22605         * lib/diacrit.c, diacrit.h: Add GPL notice.
22606
22607         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
22608         notice.
22609         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
22610         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
22611         This avoids a potential constant-folding bug.
22612
22613 2004-10-05  Bruno Haible  <bruno@clisp.org>
22614
22615         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
22616         for the declaration of strsep.
22617
22618 2004-10-05  Bruno Haible  <bruno@clisp.org>
22619
22620         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
22621
22622 2004-10-04  Simon Josefsson  <jas@extundo.com>
22623
22624         * modules/memmem: New file.
22625         * tests/test-memmem.c: New file.
22626         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
22627
22628 2004-10-04  Simon Josefsson  <jas@extundo.com>
22629
22630         * m4/memmem.m4: New file.
22631
22632 2004-10-04  Simon Josefsson  <jas@extundo.com>
22633
22634         * lib/memmem.h: New file.
22635         * lib/memmem.c: New file, taken from glibc.
22636
22637 2004-10-04  Simon Josefsson  <jas@extundo.com>
22638
22639         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
22640         '#ifdef USE_UNLOCKED_IO'.
22641
22642 2004-10-04  Simon Josefsson  <jas@extundo.com>
22643
22644         * config/srclist.txt: Add memmem from glibc.
22645
22646 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
22647
22648         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
22649
22650         * modules/argmatch, modules/argp, modules/closeout, modules/error,
22651         modules/exclude, modules/getdate, modules/getline,
22652         modules/getndelim2, modules/getpass, modules/getpass-gnu,
22653         modules/getusershell, modules/linebuffer, modules/md5,
22654         modules/mountlist, modules/posixtm, modules/readtokens,
22655         modules/readutmp, modules/regex, modules/sha1,
22656         modules/version-etc, modules/yesno:
22657         Remove dependency on unlocked-io.
22658
22659 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
22660
22661         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
22662
22663         * m4/unlocked-io.m4: Add copyright notice.
22664         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
22665
22666 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
22667
22668         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
22669         * lib/xmalloc.c (xmemdup): Likewise.
22670         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
22671         XFREE): Remove these long-obsolescent macros.
22672         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
22673         * lib/xstrdup.c: Remove.
22674
22675         * lib/regex.c (re_comp): Cast gettext return value to char *,
22676         Problem reported by Martin Neitzel via Mark D. Baushke.
22677
22678 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
22679
22680         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
22681         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
22682         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
22683         regex.c, sha1.c, version-etc.c, yesno.c:
22684         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
22685         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
22686         the includer's responsibility.
22687
22688         Sync from coreutils.
22689
22690         * lib/modechange.c (mode_compile): Don't decrement a pointer that
22691         points to the start of a string, as the C Standard says the
22692         resulting behavior is undefined.
22693
22694         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
22695         simple -> simple_backups, numbered_existing ->
22696         numbered_existing_backups, numbered -> numbered_backups
22697         to avoid shadowing problems.  All uses changed.
22698         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
22699         * lib/backupfile.c (check_extension, numbered_backup):
22700         Rename locals to avoid shadowing 'basename'.
22701         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
22702         once.
22703
22704         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
22705         * lib/.cvsignore: Add getopt.h.
22706
22707 2004-10-04  Bruno Haible  <bruno@clisp.org>
22708
22709         * modules/README: New file.
22710         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
22711         not a module.
22712
22713 2004-10-02  Jim Meyering  <jim@meyering.net>
22714
22715         * lib/dirfd.h, getpagesize.h: Add copyright notice.
22716
22717 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22718
22719         * modules/strsep: New file.
22720
22721 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22722
22723         * m4/strsep.m4: New file.
22724
22725 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
22726
22727         * lib/strsep.h: New file.
22728         * lib/strsep.c: New file.
22729
22730 2004-10-01  Simon Josefsson  <jas@extundo.com>
22731
22732         * lib/snprintf.c (snprintf): Handle size==0.
22733
22734 2004-10-01  Simon Josefsson  <jas@extundo.com>
22735             Bruno Haible  <bruno@clisp.org>
22736
22737         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
22738         (snprintf): Declare 'args'.
22739
22740 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
22741
22742         * lib/snprintf.c: Remove comments as to why each header is needed.
22743
22744 2004-10-01  Bruno Haible  <bruno@clisp.org>
22745
22746         * MODULES.html.sh: Add strsep.
22747
22748 2004-09-30  Simon Josefsson  <jas@extundo.com>
22749
22750         * modules/snprintf: New file.
22751
22752 2004-09-30  Simon Josefsson  <jas@extundo.com>
22753
22754         * m4/snprintf.m4: New file.
22755
22756 2004-09-30  Simon Josefsson  <jas@extundo.com>
22757
22758         * lib/snprintf.h, lib/snprintf.c: New files.
22759
22760 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
22761
22762         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
22763         (hol_entry_help): Never translate an empty string.
22764         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
22765         * lib/argp.h (OPTION_NO_TRANS): New option.
22766
22767 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
22768
22769         * modules/argp (Maintainer): Replace Simon Josefsson
22770         by Sergey Poznyakoff.
22771
22772 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
22773
22774         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
22775         changes merged back into glibc.
22776
22777 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
22778
22779         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
22780
22781 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
22782
22783         * lib/xvasprintf.c: Include xalloc.h.
22784         (xvasprintf): Use xalloc_die, not xmalloc_die.
22785
22786 2004-09-29  Bruno Haible  <bruno@clisp.org>
22787
22788         * modules/alloca-opt: New file, derived from modules/alloca.
22789         * modules/allocsa: Depend on alloca-opt instead of alloca.
22790         * modules/setenv: Likewise.
22791         * modules/vasnprintf: Likewise.
22792         * MODULES.html.sh: Add alloca-opt.
22793
22794 2004-09-28  Simon Josefsson  <jas@extundo.com>
22795
22796         * gnulib-tool: New parameter --lgpl, to asseert that modules are
22797         LGPL, and to replace license template from GPL to LGPL.
22798
22799 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
22800
22801         * modules/dummy: Change license to LGPL.
22802
22803 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
22804
22805         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
22806
22807 2004-09-24  Simon Josefsson  <jas@extundo.com>
22808
22809         * modules/minmax (License): Change from GPL to LGPL.
22810
22811 2004-09-23  Simon Josefsson  <jas@extundo.com>
22812
22813         * gnulib-tool (--import): Typo.
22814
22815 2004-09-23  Simon Josefsson  <jas@extundo.com>
22816
22817         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
22818
22819 2004-09-22  Bruno Haible  <bruno@clisp.org>
22820
22821         * modules/*: Add 'License' field.
22822         * gnulib-tool: Accept --extract-license option.
22823         (func_get_license): New function.
22824
22825 2004-09-21  Bruno Haible  <bruno@clisp.org>
22826
22827         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
22828         Reported by Simon Josefsson.
22829
22830 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22831
22832         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
22833         gl_AC_TYPE_LONG_LONG.
22834
22835 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
22836
22837         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
22838
22839 2004-09-18  Simon Josefsson  <jas@extundo.com>
22840         and  Paul Eggert  <eggert@cs.ucla.edu>
22841
22842         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
22843         calls with autoreconf.  Define GL_LIB.
22844
22845 2004-09-14  Karl Berry  <karl@gnu.org>
22846
22847         * config/srclist.txt: unsync setenv.c, sigh.
22848
22849 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22850
22851         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
22852         Problem reported by Bruno Haible in:
22853         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
22854
22855 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
22856
22857         * config/srclist.txt: Comment out argp-pvh.c.
22858
22859 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
22860
22861         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
22862         in case some system header has #define'd it.  Problem reported by
22863         Soeren D. Schulze in
22864         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
22865
22866 2004-09-09  Karl Berry  <karl@gnu.org>
22867
22868         * regex.[ch]: delete from the root.  These were supposed to be
22869                 synced with emacs cvs, but this has not happened for about
22870                 a year, and anyway nothing else uses emacs regex.[ch].
22871                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
22872                 lib/regex[.ch] is untouched.
22873
22874 2004-09-09  Bruno Haible  <bruno@clisp.org>
22875
22876         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
22877
22878 2004-09-09  Bruno Haible  <bruno@clisp.org>
22879
22880         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
22881         modifications.
22882         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
22883
22884 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
22885
22886         * modules/xvasprintf: New file.
22887         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
22888
22889 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
22890
22891         * lib/xvasprintf.h: New file.
22892         * lib/xvasprintf.c: New file.
22893         * lib/xasprintf.c: New file.
22894
22895 2004-09-08  Bruno Haible  <bruno@clisp.org>
22896
22897         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
22898
22899 2004-09-08  Bruno Haible  <bruno@clisp.org>
22900
22901         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
22902         length is > INT_MAX.
22903         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
22904         more.
22905
22906 2004-09-08  Bruno Haible  <bruno@clisp.org>
22907
22908         * lib/stdint_.h: New file, taken from GNU clisp.
22909
22910 2004-09-08  Bruno Haible  <bruno@clisp.org>
22911             Oskar Liljeblad  <oskar@osk.mine.nu>
22912
22913         * modules/stdint: New file.
22914         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
22915
22916 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
22917
22918         Import from coreutils.
22919         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
22920         strings on unbounded length.  alloca's performance benefits aren't
22921         that important here.
22922         (V_STRDUP): Remove.
22923         (parse_with_separator): New function, with most of the internals
22924         of the old parse_user_spec.  Allow user to omit both user and group,
22925         for compatibility with FreeBSD.
22926         Clone only the user name, not the entire spec.
22927         Do not set *uid, *gid unless entirely successful.
22928         Avoid memory leak in some failing cases.
22929         Fix regression for USER.GROUP reported by Dmitry V. Levin in
22930         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
22931         (parse_user_spec): Rewrite to use parse_with_separator.
22932
22933 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
22934
22935         * modules/userspec: Don't depend on alloca.
22936
22937 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
22938
22939         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
22940
22941 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
22942
22943         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
22944         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
22945         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
22946
22947 2004-08-16  Simon Josefsson  <jas@extundo.com>
22948
22949         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
22950         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
22951         Add --dry-run for --import.
22952         Let user provided command line parameters override configure.ac
22953         settings.
22954
22955 2004-08-12  Simon Josefsson  <jas@extundo.com>
22956
22957         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
22958         as discussed with Paul Eggert in threads rooted at
22959         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
22960         and
22961         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
22962         Before, the test was empty, and relied on ELIDE_CODE in source
22963         code.)
22964         (gl_PREREQ_GETOPT): New macro.
22965         (gl_GETOPT): Use them.
22966
22967 2004-08-12  Simon Josefsson  <jas@extundo.com>
22968
22969         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
22970         * lib/getopt_.h: Renamed from getopt.h.
22971
22972 2004-08-12  Simon Josefsson  <jas@extundo.com>
22973
22974         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
22975         Change default library name from libfoo to libgnu.
22976         Now, if you have a configure.ac that says:
22977                 gl_SOURCE_BASE(gl)
22978                 gl_M4_BASE(gl/m4)
22979                 gl_MODULES(error getopt etcetera)
22980                 gl_INIT
22981         you can import all you need by running:
22982                 ../gnulib/gnulib-tool --import
22983
22984         * modules/getopt (Files): Rename getopt.h to getopt_.h.
22985         (Makefile.am): Rewrite, use logic from argz.
22986         (Include): Use <getopt.h> instead of "getopt.h".
22987
22988 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22989
22990         * modules/argp (Files): Add m4/unlocked-io.m4.
22991         (Depends-on): Add extensions.
22992
22993 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
22994
22995         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
22996         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
22997         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
22998         Check for program_invocation_name, program_invocation_short_name,
22999         flockfile, funlockfile, features.h, _getopt_long_only_r.
23000
23001 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
23002
23003         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
23004         its complicated substitute.
23005         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
23006         and program_invocation_name.
23007         (__argp_basename) [!_LIBC]: Remove; the only use was
23008         replaced by its body.
23009         (__argp_short_program_name): Change condition from
23010         !defined __argp_short_program_name to
23011         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
23012         to match argp-namefrob.h.
23013         (__argp_failure): Don't assume strerror_r returns char *.
23014         * lib/argp-parse.c (N_): Define unconditionally.
23015         (argp_default_options): Fill out initializers with 0 to avoid
23016         gcc warnings.
23017
23018 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
23019
23020         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
23021         getopt1.c.
23022
23023 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
23024
23025         Merge from coreutils.
23026
23027         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
23028
23029         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
23030         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
23031
23032 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
23033
23034         Merge from coreutils.
23035
23036         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
23037         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
23038         for Reliant Unix 5.43.
23039
23040         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
23041         (union fooround): Use uintmax_t, not long int.
23042         The rest is a merge from libc:
23043         [defined _LIBC]: Include <shlib-compat.h>.
23044         (_obstack) [defined _LIBC]: Remove after 2.3.4.
23045
23046         * lib/settime.c (settime): Recode to avoid warning with
23047         Sun Forte C 6U2.
23048
23049         * lib/strverscmp.c: Convert to UTF-8.
23050
23051 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
23052
23053         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
23054         m4/uintmax_t.m4.
23055
23056 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
23057
23058         * modules/xalloc-die: New file.
23059         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
23060
23061         * modules/md5 (Files): Add m4/uint32_t.m4.
23062         * modules/sha1: Renamed from modules/sha.
23063         (Files):
23064         Rename lib/sha.h to lib/sha1.h.
23065         Rename lib/sha.c to lib/sha1.c.
23066         Rename m4/sha.m4 to m4/sha1.m4.
23067         (lib_SOURCES): Likewise.
23068         (configure.ac): Rename gl_SHA to gl_SHA1.
23069         (Include): sha.h -> sha1.h.
23070
23071 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
23072
23073         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
23074         * m4/sha1.m4: Renamed from sha.m4.
23075         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
23076
23077 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
23078
23079         * lib/obstack.h (obstack_empty_p):
23080         Don't assume that chunk->contents is suitably aligned.
23081         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
23082         Likewise. Problem reported by Benno in
23083         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
23084
23085         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
23086         readable.  This could be improved further but it'd take some work.
23087
23088 2004-08-08  Simon Josefsson  <jas@extundo.com>
23089
23090         * modules/xgethostname (Depends-on): Remove exit and error (not
23091         used).
23092
23093         * modules/getpass-gnu: Add getpass.h.
23094         (Depends-on): Add stdbool.
23095         * modules/getpass: Add getpass.h.
23096
23097 2004-08-08  Simon Josefsson  <jas@extundo.com>
23098
23099         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
23100         Check getpass declaration.
23101
23102 2004-08-08  Simon Josefsson  <jas@extundo.com>
23103
23104         * lib/xgethostname.c: Don't include error.h (not used).
23105
23106         * lib/getpass.h: Add.
23107         * lib/getpass.c: Include getpass.h first.
23108
23109 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
23110
23111         * lib/xalloc-die.c: New file.
23112         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
23113         All uses removed.
23114         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
23115         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
23116         xalloc-die.c.
23117         (_, N_, xalloc_die): Move to xalloc-die.c.
23118         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
23119         so that we needn't mess with xalloc_msg_memory_exhausted.
23120
23121         * lib/sha1.h: Renamed from sha.h.
23122         (SHA1_H): Renamed from _SHA_H.
23123         (sha1_ctx): Renamed from sha_ctx.
23124         (sha1_init_ctx): Renamed from sha_init_ctx.
23125         (sha1_process_block): Renamed from sha_process_block.
23126         (sha1_process_bytes): Renamed from sha_process_bytes.
23127         (sha1_finish_ctx): Renamed from sha_finish_ctx.
23128         (sha1_read_ctx): Renamed from sha_read_ctx.
23129         (sha1_stream): Renamed from sha_stream.
23130         (sha1_buffer): Renamed from sha_buffer.
23131         * lib/sha1.c: Likewise; renamed from sha.c.
23132         Do not include <sys/types.h>.
23133         Include <stddef.h> rather than <stdlib.h>.
23134
23135 2004-08-08  Bruno Haible  <bruno@clisp.org>
23136
23137         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
23138         FILESYSTEM_PREFIX_LEN.
23139         * lib/progreloc.c: Likewise.
23140         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
23141
23142 2004-08-06  Simon Josefsson  <jas@extundo.com>
23143
23144         * modules/progname (Depends-on): Don't depend on stdbool.
23145
23146 2004-08-06  Simon Josefsson  <jas@extundo.com>
23147
23148         * modules/getsubopt: New file.
23149         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
23150         getsubopt.
23151
23152 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
23153
23154         More merge from coreutils.
23155
23156         * m4/utimens.m4, m4/utimecmp.m4: New files.
23157         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
23158         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
23159         prereq.m4, sha.m4: Import changes from coreutils.
23160
23161 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
23162
23163         More merge from coreutils.
23164         * modules/raise, modules/readtokens0, modules/utimens:
23165         * modules/utimecmp, module/xnanosleep: New files.
23166         * modules/strftime: Add lib/strftime.h.
23167         Change include from <time.h> to "strftime.h".
23168         * modules/yesno: Add lib/yesno.h.
23169         * modules/backupfile: Remove lib/addext.c.
23170         * modules/euidaccess: Add stat-macros.h.
23171         * modules/canonicalize, modules/euidaccess,
23172         modules/filemode, modules/lchown, modules/makepath,
23173         modules/rmdir, modules/stat: Likewise.
23174
23175 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
23176
23177         Merge from tar.
23178         * lib/argp-help.c (make_hol, hol_append): Don't assume that
23179         SIZE_MAX is a valid preprocessor constant.
23180         (__argp_basename): Change from "#ifndef _LIBC"
23181         to "#ifndef __argp_short_program_name", so that
23182         we don't compile these functions for tar.
23183
23184         More merges from coreutils.
23185         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
23186         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
23187         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
23188         * lib/addext.c: Remove; no longer needed.
23189         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
23190         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
23191         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
23192         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
23193         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
23194         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
23195         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
23196         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
23197         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
23198         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
23199         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
23200         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
23201         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
23202         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
23203         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
23204         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
23205         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
23206         Import changes from coreutils.
23207
23208 2004-08-05  Simon Josefsson  <jas@extundo.com>
23209
23210         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
23211
23212 2004-08-05  Simon Josefsson  <jas@extundo.com>
23213
23214         * m4/getsubopt.m4: New file.
23215
23216 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
23217
23218         Merge from coreutils.
23219
23220         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
23221         * m4/getcwd-path-max.m4: New files.
23222
23223         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
23224         FILESYSTEM_PREFIX_LEN ->
23225         FILE_SYSTEM_PREFIX_LEN.
23226         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
23227         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
23228         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
23229         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
23230
23231         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
23232         prerequisite modules now handle the DOS stuff.
23233         Don't check for unistd.h.
23234
23235 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
23236
23237         Merge from coreutils.
23238
23239         * lib/.gdb-history: Remove; this doesn't belong here.
23240
23241         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
23242         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
23243         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
23244         * lib/getcwd.c: New files.
23245
23246         * lib/dirname.h: Include <stdbool.h>.
23247         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
23248         for consistency with POSIX terminology.  All uses changed.
23249         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
23250         (strip_trailing_slashes): Use bool for booleans.
23251         * lib/stripslash.c (strip_trailing_slashes): Likewise.
23252
23253         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
23254         sometimes returns a positive errno value even when it succeeds.
23255         (print_errno_message) [!LIBC]: Fall back on strerror if
23256         __strerror_r fails.
23257
23258         * lib/path-concat.c (mempcpy): Don't define if a system header defines
23259         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
23260         (longest_relative_suffix): New function.
23261         (path_concat): Use it.  Assume first argument is not NULL.
23262         Port to DOS.  Omit redundant separators.
23263         Report an error instead of returning NULL.
23264         Use mempcpy instead of memcpy.
23265         (xpath_concat): Remove: not declared or used.
23266
23267         * lib/same.h: Include <stdbool.h>
23268         (same_name): Return bool, not int.
23269         * lib/same.c (same_name): Likewise.
23270         (errno): Don't declare; we assume C89 or better now.
23271
23272         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
23273         if not already defined.
23274
23275         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
23276         * lib/dup-safer.c (errno): Likewise.
23277
23278 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
23279
23280         Merge from coreutils.
23281         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
23282         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
23283         * modules/path-concat: Don't depend on strdup.
23284
23285 2004-08-03  Simon Josefsson  <jas@extundo.com>
23286
23287         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
23288         * lib/progname.h: Don't include stdbool.h.
23289
23290 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
23291
23292         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
23293         * MODULES.html.sh (func_all_modules): Remove fatal.
23294
23295 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
23296
23297         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
23298
23299 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
23300
23301         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
23302         working.
23303
23304 2004-08-02  Simon Josefsson  <jas@extundo.com>
23305
23306         * lib/getsubopt.h: New file, with comments from Bruno Haible.
23307         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
23308         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
23309
23310 2004-08-01  Simon Josefsson  <jas@extundo.com>
23311
23312         * lib/xgetdomainname.c: Include stdlib.h, for free().
23313
23314 2004-07-19  Bruno Haible  <bruno@clisp.org>
23315
23316         * MODULES.html.sh (func_all_modules): Add dummy.
23317
23318 2004-07-16  Simon Josefsson  <jas@extundo.com>
23319
23320         * modules/dummy: New file.
23321
23322 2004-07-16  Simon Josefsson  <jas@extundo.com>
23323
23324         * lib/dummy.c: New file.
23325
23326 2004-07-16  Bruno Haible  <bruno@clisp.org>
23327
23328         * lib/backupfile.h: Add extern "C" for C++.
23329         * lib/closeout.h: Likewise.
23330         * lib/copy-file.h: Likewise.
23331         * lib/findprog.h: Likewise.
23332         * lib/full-write.h: Likewise.
23333         * lib/pathname.h: Likewise.
23334         * lib/progname.h: Likewise.
23335         * lib/stpcpy.h: Likewise.
23336         * lib/stpncpy.h: Likewise.
23337         * lib/strcase.h: Likewise.
23338         * lib/strstr.h: Likewise.
23339         * lib/xalloc.h: Likewise.
23340
23341         * lib/mbswidth.h: Add extern "C" for C++.
23342         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
23343
23344 2004-07-13  Robert Millan  <robertmh@gnu.org>
23345
23346         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
23347
23348 2004-07-09  Simon Josefsson  <jas@extundo.com>
23349
23350         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
23351         failed without this.)
23352
23353 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
23354
23355         * modules/chown (Files): Add lib/fchown-stub.c, since
23356         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
23357
23358 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
23359
23360         * lib/fchown-stub.c: New file.
23361
23362 2004-06-24  Jim Meyering  <jim@meyering.net>
23363
23364         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
23365
23366 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23367
23368         * modules/argz: Omit "#include".
23369
23370         * MODULES.html.sh (func_all_modules): Add calloc, to match
23371         2004-06-01 addition of calloc module.
23372
23373 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23374
23375         * m4/argz.m4: New file, which is autoupdated from libtool.
23376
23377 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23378
23379         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
23380         libtool.
23381
23382 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
23383
23384         * config/srclist-update: Don't insist on "USA." before the
23385         close-comment, as libtool omits the period and puts the */ on a
23386         separate line.
23387         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
23388         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
23389
23390 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
23391
23392         * modules/argz: New file.
23393         * MODULES.html.sh (func_all_modules): Add argz.
23394
23395 2004-06-12  Jim Meyering  <jim@meyering.net>
23396         and  Paul Eggert  <eggert@cs.ucla.edu>
23397
23398         * modules/hash (Files): Add lib/xalloc.h.
23399         * modules/pipe (Depends-on): Add wait-process.
23400         * modules/stat (Depends-on): Add xalloc.
23401         * modules/userspec (Files): Add lib/userspec.h.
23402         * modules/xstrto
23403
23404         Upgrade from gettext-0.13.
23405         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
23406         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
23407         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
23408
23409 2004-06-10  Jim Meyering  <jim@meyering.net>
23410
23411         * lib/calloc.c: New file.
23412
23413 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
23414
23415         * lib/getdate.y (yylex): Allow space between sign and number.
23416         Problem reported by Dan Jacobson.
23417
23418 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23419
23420         Merge from coreutils CVS.
23421
23422         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
23423         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
23424         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
23425         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
23426         xstrtol.m4: Fix copyright date and/or serial number.
23427
23428         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
23429         See if we need an fchown replacement.
23430         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
23431         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
23432         and use the replacement function if we detect either defect.
23433
23434         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
23435         gl_UTIMECMP.
23436
23437 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
23438         and  Jim Meyering  <jim@meyering.net>
23439
23440         Merge from coreutils CVS.
23441
23442         * lib/stat-macros.h: New file, with contents from file-type.h
23443         and coreutils' system.h.
23444         * lib/file-type.c: Include "stat-macros.h".
23445         * lib/file-type.h (file_type): Move all macro definitions to new file,
23446         stat-macros.h.
23447
23448         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
23449         Wrap old code with this conditional.
23450         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
23451         function that does not dereference symlinks.
23452         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
23453
23454         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
23455         dependency problems.
23456         (xreadlink): Accept new arg SIZE, for efficiency.
23457         All decls and uses changed.
23458         * lib/xreadlink.h: Include <stddef.h>, for size_t.
23459
23460         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
23461         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
23462
23463         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
23464         sysexits.h.
23465
23466 2004-06-01  Jim Meyering  <jim@meyering.net>
23467
23468         * m4/calloc.m4: New file.
23469
23470 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
23471
23472         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
23473         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
23474         Also, fix a typo in a diagnostic.
23475
23476 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
23477
23478         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
23479         or AC_FUNC_REALLOC.
23480
23481 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
23482
23483         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
23484         macros to be defined.
23485         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
23486         the allocator returns NULL because the requested size is zero.
23487
23488 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
23489
23490         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
23491         var.  Add comment explaining why libc still defines it.  This
23492         merges the following patch from glibc:
23493         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
23494
23495 2004-05-20  Andreas Schwab  <schwab@suse.de>
23496
23497         * m4/free.m4: Replace free if it not known to work, not the other
23498         way round.
23499
23500 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
23501
23502         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
23503         present in glibc since revision 1.1 of this file.
23504         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
23505         obstack_alignment_mask, obstack_alloc, obstack_base,
23506         obstack_blank, obstack_blank_fast, obstack_chunk_size,
23507         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
23508         obstack_grow0, obstack_init, obstack_int_grow,
23509         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
23510         obstack_next_free, obstack_object_size, obstack_ptr_grow,
23511         obstack_ptr_grow_fast, obstack_room): Remove declarations of
23512         nonexistent functions.
23513
23514 2004-05-18  Karl Berry  <karl@gnu.org>
23515
23516         * config/srclist.txt: break link for vasnprintf.c.
23517
23518 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
23519
23520         Port obstack to the AS/400, where pointers are 16 bytes wide and
23521         you cannot cast an integer to a valid pointer.  This patch is
23522         currently waiting to be integrated into glibc; see
23523         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
23524
23525         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
23526         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
23527         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
23528         (struct obstack): temp member is now a union of a pointer and
23529         an integer, instead of an integer.  All integer uses changed.
23530         This does not affect the physical layout of struct obstack,
23531         except on hosts (like the AS/400) where the size or alignment of
23532         void * is greater than that of ptrdiff_t.
23533         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
23534         __STDC__)]: Store temporary in pointer member of union, not
23535         integer member.
23536         * lib/obstack.c: Include <stddef.h>, for offsetof.
23537         (struct fooalign): Remove; it doesn't need a name.
23538         (union fooround): Change double to long double, and add void *.
23539         (DEFAULT_ALIGNMENT): Use offsetof to compute.
23540         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
23541         not a macro.  Hence the values are always int; so remove all
23542         casts-to-int in uses.
23543
23544 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
23545
23546         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
23547         we can get this patch merged into glibc.
23548
23549 2004-05-17  Derek R. Price  <derek@ximbiot.com>
23550             Paul Eggert  <eggert@cs.ucla.edu>
23551
23552         * m4/argp: Depend on alloca.
23553
23554 2004-05-17  Derek R. Price  <derek@ximbiot.com>
23555             Paul Eggert  <eggert@cs.ucla.edu>
23556
23557         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
23558         freecoding.
23559
23560 2004-05-17  Bruno Haible  <bruno@clisp.org>
23561
23562         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
23563         precision that consists of a '.' followed by an empty digit string.
23564         Patch by Tor Lillqvist <tml@iki.fi>.
23565
23566 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
23567
23568         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
23569         for backward compatibility with older code.  We need our own
23570         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
23571         it under some other name, and our alloca.h will define it.
23572
23573 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
23574             Derek Price  <derek@ximbiot.com>
23575
23576         * lib/alloca.c: Include <alloca.h>, to get our interface.
23577         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
23578         include <alloca.h> first.  Use C89 prototype for alloca; this
23579         requires including <stddef.h> for size_t.  Use extern "C" if C++.
23580         Use #elif for simplicity, since we can assume C89 now.
23581         Don't try to source the system alloca.h since it will not be found
23582         and to prevent recursively including its replacement.
23583         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
23584         * lib/regex.c: Likewise.
23585
23586 2004-05-16  Derek Price  <derek@ximbiot.com>
23587             Paul Eggert  <eggert@cs.ucla.edu>
23588
23589         getline cleanup.  This changes the getndelim2 API: both order of
23590         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
23591         no delimiter).
23592
23593         * lib/getline.c: Don't include stddef.h or stdio.h, since our
23594         interface does that.
23595         (getline): Always use getdelim, so that we don't have two
23596         copies of this code.
23597         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
23598         if available.
23599         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
23600         (GETNDELIM2_MAXIMUM): New macro.
23601         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
23602         instead of the old practice of delim2==0.  All callers changed.
23603         Return -1 on overflow, instead of returning junk.
23604         Do not set *linesize unless allocation succeeds.
23605         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
23606         that we include sys/types.h.
23607         * lib/getnline.h: Likewise.
23608         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
23609         (getndelim2): Reorder arguments.
23610         * lib/getnline.c (getnline, getndelim):
23611         Don't discard the NMAX argument.
23612         (getnline): Invoke getndelim, to avoid code duplication.
23613         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
23614         of (size_t) -1 by callers of the getnline family.
23615
23616 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
23617
23618         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
23619         Check for gettimeofday.
23620         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
23621         Check for settimeofday, stime.
23622
23623 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
23624
23625         * lib/nanosleep.c (suspended): Change its type from int to
23626         sig_atomic_t volatile.
23627         (first_call): Make it private to rpl_nanosleep, and have it
23628         be zero initially as that's a bit faster.
23629         (my_usleep): Round up fractional times instead of truncating them,
23630         as this is the usual meaning for 'sleep'.
23631
23632         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
23633         doesn't work.
23634         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
23635         (ENOSYS): Define if not defined.
23636         (settime): Fall back on stime if it exists and settimeofday fails.
23637         But don't bother with fallbacks if a method fails with errno == EPERM.
23638
23639 2004-05-11  Jim Meyering  <jim@meyering.net>
23640
23641         Prior to this change, the save_cwd caller required read access to the
23642         current directory on most systems (ones with the fchdir function).
23643
23644         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
23645         fails, try write-only, and finally, resort to using xgetcwd.
23646
23647 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
23648
23649         * lib/obstack.c, obstack.h: Import changes from libc.
23650
23651 2004-04-28  Bruno Haible  <bruno@clisp.org>
23652
23653         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
23654         also implicitly appends .exe to executables.
23655         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
23656         accepts Windows pathnames.
23657         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
23658         Treat Cygwin like Windows, since it now accepts Windows pathnames.
23659         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
23660         Treat Cygwin like Windows, since it now accepts Windows pathnames.
23661         Reported by Derek Robert Price <derek@ximbiot.com>.
23662
23663 2004-04-21  Karl Berry  <karl@gnu.org>
23664
23665         * config/srclist.txt (localcharset.c): break sync.
23666
23667 2004-04-20  Paul Eggert  <eggert@twinsun.com>
23668
23669         * m4/host-os.m4: Add a copyright notice.
23670
23671 2004-04-20  Jim Meyering  <jim@meyering.net>
23672
23673         Change UTILS_ to gl_ in AC_DEFINE'd names.
23674         Change utils_- and jm_-prefixed variables, too.
23675         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
23676         UTILS_FUNC_MKDIR_TRAILING_SLASH.
23677         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
23678
23679         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
23680         Don't emit trailing blanks.
23681         Also rename jm_-prefixed variables to have gl_ prefix.
23682
23683         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
23684         Also rename jm_-prefixed variables to have gl_ prefix.
23685
23686         * m4/jm-macros.m4: Reflect the renamings.
23687         * m4/prereq.m4: Likewise.
23688
23689 2004-04-20  Jim Meyering  <jim@meyering.net>
23690
23691         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
23692         memory.
23693
23694 2004-04-20  Jim Meyering  <jim@meyering.net>
23695             Bruno Haible  <bruno@clisp.org>
23696
23697         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
23698         memory when realloc fails.
23699
23700 2004-04-19  Jim Meyering  <jim@meyering.net>
23701
23702         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
23703         now that readutmp.c may call `free (0)'.
23704
23705 2004-04-19  Bruno Haible  <bruno@clisp.org>
23706
23707         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
23708         * m4/inttypes_h.m4: Likewise.
23709         * m4/stdint_h.m4: Likewise.
23710         * m4/intmax_t.m4: Likewise.
23711         * m4/uintmax_t.m4: Likewise.
23712
23713 2004-04-18  Jim Meyering  <jim@meyering.net>
23714
23715         * m4/prereq.m4: Don't forbid jm_ prefix.
23716
23717         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
23718         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
23719         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
23720         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
23721         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
23722         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
23723         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
23724         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
23725         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
23726         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
23727         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
23728         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
23729         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
23730         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
23731         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
23732         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
23733         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
23734         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
23735         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
23736
23737 2004-04-18  Jim Meyering  <jim@meyering.net>
23738
23739         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
23740         failure, don't leak memory and do call END_UTMP_ENT.
23741
23742 2004-04-16  Jim Meyering  <jim@meyering.net>
23743
23744         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
23745         coreutils' stat program.
23746         (gl_PREREQ): Don't require jm_PREREQ_STAT.
23747
23748 2004-04-11  Paul Eggert  <eggert@twinsun.com>
23749
23750         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
23751         C89.
23752         (CHAR_BIT): Remove, since we assume C89.
23753         Include <stdint.h> if available, as per current Autoconf CVS advice.
23754
23755 2004-03-31  Jim Meyering  <jim@meyering.net>
23756
23757         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
23758         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
23759         * m4/xalloc.m4: Likewise.
23760
23761 2004-03-30  Paul Eggert  <eggert@twinsun.com>
23762
23763         Merge from coreutils.
23764
23765         * m4/inttostr.m4: New file.
23766         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
23767         Require AM_STDBOOL_H and gl_TIMESPEC instead.
23768         Require gl_CLOCK_TIME.
23769         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
23770
23771 2004-03-30  Paul Eggert  <eggert@twinsun.com>
23772
23773         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
23774         not bool, to be more consistent with Unix conventions.
23775         Suggested by Bruno Haible.
23776
23777         Merge from coreutils.
23778
23779         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
23780         * lib/umaxtostr.c: New files.
23781
23782         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
23783         the usual <time.h> dance.
23784         (get_date): Change signature to support fractional time stamps.
23785         All callers changed.
23786         * lib/getdate.y: Include "getdate.h" first, as we can now
23787         assume C89 and don't need to worry about 'const'.
23788         Similarly, include "unlocked-io.h" near start, not in middle.
23789         Include <limits.h>.
23790         (textint.value): Use long int rather than int.
23791         (textint.digits): Use size_t rather than int.
23792         (BILLION, LOG10_BILLION): New constants.
23793         (parser_control): New member rel_ns.  Members day_ordinal,
23794         time_zone, month, day, hour, minutes, rel_year, rel_month,
23795         rel_day, rel_hour, rel_minutes, rel_seconds
23796         are now long int, not int.  Member seconds is now struct timespec,
23797         not int.  New member timespec_seen.  Members dates_seen, days_seen,
23798         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
23799         not int.
23800         (%union.intval): Now long int, not int.
23801         New member timespec.
23802         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
23803         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
23804         (spec): Now is a timespec or an item list.
23805         (timespec, items): New nonterminals.
23806         (time, rel, relunit, number, get_date):
23807         Add support for fractional seconds.
23808         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
23809         (gmtime, localtime, mktime): Remove decls; not needed with C89.
23810         (to_hour): First arg is now long int, not int.
23811         (to_year): Returns long int, not int.
23812         Don't treat year -70 like 70.
23813         (tm_diff): Returns long int, not int.
23814         (lookup_word): Use bool instead of int when appropriate.
23815         (yylex): Use size_t for count, not int.
23816         Detect overflow when parsing large integer constants.
23817         Add support for fractions.
23818         (get_date): Make pointers 'const' if possible.
23819         Use more-portable code to detect integer overflow.
23820         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
23821         Don't use ctime; it's not reliable if the year has >4 digits.
23822
23823         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
23824         This is for compatibility with BSD.
23825
23826         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
23827         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
23828         From coreutils' system.h.
23829
23830         * lib/userspec.c: Don't include "posixver.h".
23831         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
23832         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
23833         compatible extension.  Simplify code by removing a boolean int
23834         that was always nonzero if a string was nonnull.
23835
23836 2004-03-30  Jim Meyering  <jim@meyering.net>
23837
23838         Merge from coreutils.
23839
23840         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
23841         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
23842         on some systems one must include <grp.h> before it.
23843         Reported by Christian Krackowizer.
23844
23845 2004-03-30  Jim Meyering  <jim@meyering.net>
23846
23847         Merge from coreutils.
23848
23849         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
23850
23851         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
23852         an empty input stream.
23853
23854         * lib/readtokens.c: Include <stdbool.h>.
23855         (readtoken): Use `size_t' rather than int/long.
23856         All callers adjusted.
23857         Use `bool' rather than `int' where appropriate.
23858         Use memset rather than an explicit loop.
23859         Use x2nrealloc rather than xrealloc.
23860         Allow the use of `\0' as a delimiter.
23861         (readtokens): Likewise.
23862         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
23863
23864 2004-03-30  Jim Meyering  <jim@meyering.net>
23865
23866         * m4/realloc.m4: Remove file, since now it does no more than
23867         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
23868         the `configure.ac' section of module/realloc.
23869         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
23870
23871 2004-03-30  Bruno Haible  <bruno@clisp.org>
23872
23873         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
23874         nonnull.
23875
23876 2004-03-29  Paul Eggert  <eggert@twinsun.com>
23877
23878         Merge changes to getloadavg.c from coreutils and Emacs.
23879
23880         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
23881         Define to an expression, not to the empty string.
23882         Include cloexec.h and xalloc.h.
23883         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
23884         Use set_cloexec_flag rather than rolling our own.
23885         * lib/cloexec.c, lib/cloexec.h: New files.
23886
23887 2004-03-29  Paul Eggert  <eggert@twinsun.com>
23888
23889         * m4/cloexec.m4: New file.
23890
23891 2004-03-18  Paul Eggert  <eggert@twinsun.com>
23892
23893         * lib/getopt.h: Sync with libc CVS.
23894
23895 2004-03-18  Paul Eggert  <eggert@twinsun.com>
23896             Bruno Haible  <bruno@clisp.org>
23897
23898         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
23899         mbswidth.
23900
23901 2004-03-18  Paul Eggert  <eggert@twinsun.com>
23902             Bruno Haible  <bruno@clisp.org>
23903
23904         * lib/mbswidth.h: Include <wchar.h> only if
23905         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
23906         <wchar.h>.
23907         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
23908
23909 2004-03-09  Paul Eggert  <eggert@twinsun.com>
23910
23911         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
23912         Sync with libc CVS.
23913         * lib/getopt_int.h: New file, also synced from libc.
23914
23915 2004-03-09  Paul Eggert  <eggert@twinsun.com>
23916
23917         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
23918         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
23919         Bring back getopt.c, getopt.h, getopt1.c.
23920
23921 2004-03-07  Paul Eggert  <eggert@twinsun.com>
23922
23923         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
23924         All uses changed.  Check for sa_sigaction member; this fixes
23925         a bug first reported by Jason Andrade in
23926         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
23927
23928 2004-03-07  Paul Eggert  <eggert@twinsun.com>
23929
23930         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
23931         '#if' expressions.  Unlike the code it replaces, it does not
23932         depend on (defined _SC_PAGESIZE).  However, it does depend on
23933         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
23934         first reported by Jason Andrade in
23935         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
23936
23937 2004-02-25  Simon Josefsson  <jas@extundo.com>
23938
23939         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
23940
23941 2004-02-25  Simon Josefsson  <jas@extundo.com>
23942
23943         * lib/strdup.h: New file.
23944         * lib/strdup.c: Include it.
23945         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
23946         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
23947
23948 2004-02-23  Karl Berry  <karl@gnu.org>
23949
23950         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
23951         (from fencepost.gnu.org:/gd/gnuorg).
23952
23953 2004-02-23  Karl Berry  <karl@gnu.org>
23954
23955         * config/srclistvars.sh (GNUORG) [karl]: redefine.
23956         * config/srclist.txt: add maintain/standards documents.
23957
23958 2004-02-18  Bruno Haible  <bruno@clisp.org>
23959
23960         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
23961         Reported by Derek Robert Price <derek@ximbiot.com>.
23962
23963 2004-02-16  Karl Berry  <karl@gnu.org>
23964
23965         * config/mkinstalldirs, install-sh: update from automake.
23966
23967 2004-02-06  Karl Berry  <karl@gnu.org>
23968
23969         * m4/po.m4: update from gettext 0.14.1.
23970
23971 2004-02-06  Karl Berry  <karl@gnu.org>
23972
23973         * lib/config.charset: update from gettext 0.14.1.
23974
23975 2004-02-05  Paul Eggert  <eggert@twinsun.com>
23976
23977         Add comments and code, prompted by suggestions from Bruno Haible
23978         for sh-quote.
23979         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
23980         describing the enum quoting_style values.
23981         * lib/quotearg.c (quotearg_alloc): New function.
23982         (quotearg_buffer_restyled): Treat lone { and } as special.
23983         Treat = as special.  Work around bug with older shells
23984         that "see" a '\' that is really the 2nd byte of a multibyte char.
23985         Quote empty string with shell_quoting_style.
23986
23987 2004-02-03  Bruno Haible  <bruno@clisp.org>
23988
23989         * m4/pipe.m4: New file, from GNU gettext.
23990
23991 2004-02-03  Bruno Haible  <bruno@clisp.org>
23992
23993         * lib/pipe.h: New file, from GNU gettext.
23994         * lib/pipe.c: New file, from GNU gettext.
23995
23996 2004-01-27  Bruno Haible  <bruno@clisp.org>
23997
23998         * m4/execute.m4: New file, from GNU gettext.
23999
24000 2004-01-27  Bruno Haible  <bruno@clisp.org>
24001
24002         * lib/execute.h: New file, from GNU gettext.
24003         * lib/execute.c: New file, from GNU gettext.
24004         * lib/w32spawn.h: New file, from GNU gettext.
24005
24006 2004-01-24  Paul Eggert  <eggert@twinsun.com>
24007
24008         Merge from diffutils.
24009
24010         * lib/file-type.c (file_type): Add typed memory objects.
24011         * lib/file-type.h (S_TYPEISTMO): New macro.
24012
24013         * lib/c-stack.h (c_stack_action): Remove argv argument.
24014         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
24015         (die): Don't calculate message unless segv_action returns.
24016         (get_stack_location, min_address_from_argv, max_address_from_argv,
24017         volatile stack_base, volatile_stack_size): Remove.
24018         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
24019         that every segmentation violation is a stack overflow.  (Ouch!)
24020         See Debian bug 136249 (still outstanding) for more info about why
24021         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
24022
24023 2004-01-24  Paul Eggert  <eggert@twinsun.com>
24024
24025         Exit-status fix from coreutils.
24026
24027         Use exit_failure consistently in place of EXIT_FAILURE,
24028         so that program exit statuses are consistent on failure.
24029
24030         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
24031         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
24032         * lib/argmatch.h: Comment fix to match the above.
24033         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
24034         Now a macro referring to exit_failure, instead of a separate
24035         variable.  Include "exitfail.h" to get it.
24036         * lib/xstrtol.h: Include "exitfail.h".
24037         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
24038
24039         * lib/long-options.c (parse_long_options): Use prototype
24040         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
24041         for clarity.
24042
24043 2004-01-21  Jim Meyering  <jim@meyering.net>
24044
24045         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
24046         so as not to conflict with a different-sized __mktime_internal
24047         function in GNU libc.
24048         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
24049         Problem building statically-linked `ls' reported by Michael Brunnbauer.
24050
24051 2004-01-20  Karl Berry  <karl@gnu.org>
24052
24053         * config/config.guess: update from config.
24054
24055         * config/srclistvars.sh: GNUWWWLICENSES for karl.
24056
24057 2004-01-20  Bruno Haible  <bruno@clisp.org>
24058
24059         Safer stack allocation.
24060         * lib/setenv.c: Include allocsa.h.
24061         (alloca): Remove fallback definition.
24062         (freea): Remove macro.
24063         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
24064         instead of freea.
24065
24066 2004-01-20  Bruno Haible  <bruno@clisp.org>
24067
24068         * m4/eealloc.m4: New file, from GNU gettext.
24069
24070 2004-01-20  Bruno Haible  <bruno@clisp.org>
24071
24072         * m4/allocsa.m4: New file, from GNU gettext.
24073
24074 2004-01-20  Bruno Haible  <bruno@clisp.org>
24075
24076         * lib/xallocsa.h: New file, from GNU gettext.
24077         * lib/xallocsa.c: New file, from GNU gettext.
24078
24079 2004-01-20  Bruno Haible  <bruno@clisp.org>
24080
24081         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
24082
24083 2004-01-20  Bruno Haible  <bruno@clisp.org>
24084
24085         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
24086         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
24087         specially.
24088
24089 2004-01-20  Bruno Haible  <bruno@clisp.org>
24090
24091         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
24092         patch.
24093
24094 2004-01-20  Bruno Haible  <bruno@clisp.org>
24095
24096         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
24097
24098 2004-01-20  Bruno Haible  <bruno@clisp.org>
24099
24100         * lib/eealloc.h: New file.
24101
24102 2004-01-20  Bruno Haible  <bruno@clisp.org>
24103
24104         * lib/binary-io.h: Avoid warnings on Cygwin.
24105
24106 2004-01-20  Bruno Haible  <bruno@clisp.org>
24107
24108         * lib/allocsa.h: New file, from GNU gettext.
24109         * lib/allocsa.c: New file, from GNU gettext.
24110
24111 2004-01-18  Karl Berry  <karl@gnu.org>
24112
24113         * doc/gpl.texi, doc/lgpl.texi: new files.
24114
24115 2004-01-18  Karl Berry  <karl@gnu.org>
24116
24117         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
24118         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
24119
24120 2004-01-15  Paul Eggert  <eggert@twinsun.com>
24121
24122         Merge from coreutils.
24123
24124         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
24125         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
24126         (gl_DEFAULT_POSIX2_VERSION): Move
24127         the documentation from 'configure' into 'config.hin',
24128         so that 'configure --help' isn't burdened by it and
24129         we don't have to worry about its formatting there.
24130         Reword the documentation so that it's more succinct
24131         and can be run together into a single paragraph.
24132         * m4/same.m4 (gl_SAME): Check for pathconf.
24133
24134 2004-01-15  Paul Eggert  <eggert@twinsun.com>
24135
24136         Merge from coreutils.
24137
24138         * lib/posixver.c: Include posixver.h.
24139
24140         * lib/same.c: Include <stdbool.h>, <limits.h>.
24141         (_POSIX_NAME_MAX): Define if not defined.
24142         (MIN): New macro.
24143         (same_name): If file names are silently truncated, report
24144         that the file names are the same if they are the same after
24145         the silent truncation.
24146
24147         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
24148         conversion function.
24149         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
24150         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
24151         longer needed.
24152
24153 2004-01-15  Jim Meyering  <jim@meyering.net>
24154
24155         Merge from coreutils.
24156
24157         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
24158         if no library is required.
24159         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
24160         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
24161         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
24162         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
24163         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
24164         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
24165         value, $ac_cv_search_crypt, if it's "none required".
24166         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
24167         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
24168         not gl_FUNC_GETLOADAVG.
24169         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
24170         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
24171
24172 2004-01-15  Jim Meyering  <jim@meyering.net>
24173
24174         Merge from coreutils.
24175
24176         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
24177         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
24178         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
24179
24180         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
24181         optional configure-time default.
24182
24183         * lib/version-etc.c (version_etc_copyright): Update copyright date.
24184
24185         * lib/xreadlink.c (xreadlink): Correct outdated comment.
24186
24187 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
24188
24189         Merge from coreutils.
24190
24191         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
24192         value, $ac_cv_search_nanosleep, if it's "none required".
24193
24194 2004-01-14  Paul Eggert  <eggert@twinsun.com>
24195
24196         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
24197         with like-named macro in fnmatch.c.
24198         (EXT): Use an internal constant instead.
24199
24200         Merge fnmatch patches from glibc.
24201         * lib/fnmatch.c (mbsinit): Remove define.
24202         Add libc_hidden_ver (__fnmatch, fnmatch).
24203         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
24204         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
24205
24206 2004-01-14  Karl Berry  <karl@gnu.org>
24207
24208         * config/install-sh: update from automake.
24209
24210 2004-01-13  Karl Berry  <karl@gnu.org>
24211
24212         * config/install-sh: update from automake.
24213
24214 2004-01-09  Karl Berry  <karl@gnu.org>
24215
24216         * config/install-sh: update from automake.
24217
24218 2004-01-05  Karl Berry  <karl@gnu.org>
24219
24220         * config/config.{sub,guess}: update from config.
24221
24222 2003-12-31  Karl Berry  <karl@gnu.org>
24223
24224         * config/depcomp: update from automake.
24225
24226 2003-12-14  Karl Berry  <karl@gnu.org>
24227
24228         * lib/config.charset: update from gettext-runtime.
24229
24230 2003-12-03  Paul Eggert  <eggert@twinsun.com>
24231
24232         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
24233         Bug reported by Alfred M. Szmidt.
24234
24235 2003-12-03  Bruno Haible  <bruno@clisp.org>
24236
24237         * m4/gettext.m4: Upgrade from gettext-0.13.
24238         * m4/po.m4: Upgrade from gettext-0.13.
24239         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
24240         * m4/intmax.m4: New file, from gettext-0.13.
24241         * m4/printf-posix.m4: New file, from gettext-0.13.
24242
24243 2003-11-29  Karl Berry  <karl@gnu.org>
24244
24245         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
24246
24247 2003-11-25  Paul Eggert  <eggert@twinsun.com>
24248             Bruno Haible  <bruno@clisp.org>
24249
24250         * lib/printf-parse.h: Don't include sys/types.h.
24251         (ARG_NONE): New macro.
24252         (char_directive): Change type of *arg_index fields to size_t.
24253         * lib/printf-parse.c: Don't include sys/types.h.
24254         (SSIZE_MAX): Remove macro.
24255         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
24256         Remove unnecessary overflow check.
24257         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
24258         fields.
24259
24260 2003-11-25  Bruno Haible  <bruno@clisp.org>
24261
24262         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
24263
24264 2003-11-25  Bruno Haible  <bruno@clisp.org>
24265
24266         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
24267         gt_TYPE_SSIZE_T.
24268
24269 2003-11-24  Paul Eggert  <eggert@twinsun.com>
24270
24271         * modules/alloca: Remove dependency on xalloc.
24272
24273 2003-11-24  Paul Eggert  <eggert@twinsun.com>
24274
24275         * lib/alloca.c: Remove dependency on xalloc module.
24276         (xalloc_die): Remove.
24277         (memory_full) [!defined emacs]: New macro.
24278         [!defined emacs]: Don't include xalloc.h.
24279         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
24280         address arithmetic overflows.  Change datatypes a bit to avoid
24281         unnecessary casts.
24282
24283 2003-11-22  Jim Meyering  <jim@meyering.net>
24284
24285         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
24286         s/size/size_t/.
24287
24288 2003-11-21  Karl Berry  <karl@gnu.org>
24289
24290         * config/config.{sub,guess}: update from config.
24291
24292 2003-11-18  Karl Berry  <karl@gnu.org>
24293
24294         * config/config.{sub,guess}: update from config.
24295
24296         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
24297
24298 2003-11-17  Paul Eggert  <eggert@twinsun.com>
24299
24300         * README: Mention that S+T cannot overflow if S is the size of
24301         an existing object and T is sufficiently small.
24302
24303 2003-11-17  Jim Meyering  <jim@meyering.net>
24304
24305         On systems without utime and without a utimes function capable of
24306         dealing with a NULL struct utimbuf* argument, this utime replacement
24307         could -- in unusual circumstances -- leak a file descriptor.
24308         * lib/utime.c: Include <unistd.h> and <errno.h>.
24309         (utime_null): Be sure to close `fd' and to preserve errno.
24310         Reported by Geoff Collyer via Arnold Robbins.
24311
24312 2003-11-17  Bruno Haible  <bruno@clisp.org>
24313
24314         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
24315         (Depends-on): Add xsize.
24316
24317 2003-11-17  Bruno Haible  <bruno@clisp.org>
24318
24319         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
24320
24321 2003-11-17  Bruno Haible  <bruno@clisp.org>
24322
24323         * lib/vasnprintf.c (alloca): Remove fallback definition.
24324         (freea): Remove definition.
24325         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
24326         Reported by Paul Eggert.
24327
24328 2003-11-16  Paul Eggert  <eggert@twinsun.com>
24329             Bruno Haible  <bruno@clisp.org>
24330
24331         Protect against address arithmetic overflow.
24332         * lib/printf-args.h: Include stddef.h.
24333         (arguments): Change type of field 'count' to size_t.
24334         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
24335         'unsigned int' where appropriate.
24336         * lib/printf-parse.h: Include sys/types.h.
24337         (char_directive): Change type of *arg_index fields to ssize_t.
24338         (char_directives): Change type of fields 'count', max_*_length to
24339         size_t.
24340         * lib/printf-parse.c: Include sys/types.h and xsize.h.
24341         (SSIZE_MAX): Define fallback value.
24342         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
24343         instead of 'int' where appropriate. Check a_allocated, d_allocated
24344         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
24345         * lib/vasnprintf.c: Include xsize.h.
24346         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
24347         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
24348         overflow. Avoid wraparound when converting a width or precision from
24349         decimal to binary.
24350
24351 2003-11-16  Bruno Haible  <bruno@clisp.org>
24352
24353         Update from GNU gettext.
24354         * lib/printf-parse.c: Generalize to it can be compiled for wide
24355         strings.
24356         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
24357         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
24358         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
24359         SNPRINTF): New macros.
24360         Don't include <alloca.h> if the file is used inside libintl.
24361         (local_wcslen): New function, for Solaris 2.5.1.
24362         (VASNPRINTF): Use it instead of wcslen.
24363
24364 2003-11-16  Bruno Haible  <bruno@clisp.org>
24365
24366         * lib/xsize.h (xmax): New function.
24367         (xsum, xsum3, xsum4): Declare as "pure" functions.
24368
24369 2003-11-12  Paul Eggert  <eggert@twinsun.com>
24370
24371         * modules/xalloc (Files): Undo latest change, since xalloc.h
24372         no longer needs SIZE_MAX or PTRDIFF_MAX.
24373
24374 2003-11-12  Paul Eggert  <eggert@twinsun.com>
24375
24376         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
24377         gl_PTRDIFF_MAX.
24378
24379 2003-11-12  Paul Eggert  <eggert@twinsun.com>
24380
24381         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
24382         "return", to pacify some unknown compiler.  Problem reported
24383         by Joerg Schilling.
24384
24385 2003-11-12  Paul Eggert  <eggert@twinsun.com>
24386
24387         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
24388         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
24389         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
24390         heuristic is just as accurate as far as we know, and it removes a
24391         dependency on size_max.m4 and ptrdiff_max.m4.
24392
24393 2003-11-11  Bruno Haible  <bruno@clisp.org>
24394
24395         * modules/xsize (Files): Add m4/size_max.m4.
24396         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
24397
24398 2003-11-11  Bruno Haible  <bruno@clisp.org>
24399
24400         * m4/size_max.m4: New file.
24401         * m4/ptrdiff_max.m4: New file.
24402         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
24403         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
24404         (gl_XALLOC): Invoke it.
24405
24406 2003-11-11  Bruno Haible  <bruno@clisp.org>
24407
24408         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
24409         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
24410         defined.
24411
24412 2003-11-10  Paul Eggert  <eggert@twinsun.com>
24413
24414         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
24415         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
24416         rejected some allocations of exactly SIZE_MAX - 2 bytes.
24417         From Bruno Haible.
24418         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
24419         not (size_t) -1, since it's defined here.
24420
24421 2003-11-09  Karl Berry  <karl@gnu.org>
24422
24423         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
24424
24425 2003-11-06  Paul Eggert  <eggert@twinsun.com>
24426
24427         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
24428         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
24429         Reject sizes of exactly SIZE_MAX bytes.
24430         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
24431         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
24432
24433 2003-11-05  Bruno Haible  <bruno@clisp.org>
24434
24435         * lib/xsize.h: Include limits.h, to avoid a possible collision with
24436         SIZE_MAX defined in <limits.h> on Solaris.
24437
24438 2003-11-04  Jim Meyering  <jim@meyering.net>
24439
24440         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
24441         variable names, rather than @VAR@.
24442         * modules/poll: Likewise.
24443
24444 2003-11-04  Bruno Haible  <bruno@clisp.org>
24445
24446         * modules/xsize: New file.
24447         * modules/linebreak: Depend on xsize.
24448         * MODULES.html.sh (func_all_modules): Add xsize.
24449
24450 2003-11-04  Bruno Haible  <bruno@clisp.org>
24451
24452         * m4/xsize.m4: New file.
24453
24454 2003-11-04  Bruno Haible  <bruno@clisp.org>
24455
24456         * lib/xsize.h: New file.
24457         * lib/linebreak.c: Include xsize.h.
24458         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
24459         argument for overflow.
24460         Suggested by Paul Eggert.
24461
24462 2003-11-03  Karl Berry  <karl@gnu.org>
24463
24464         * config/config.{guess,sub}: update from config.
24465
24466 2003-11-03  Jim Meyering  <jim@meyering.net>
24467
24468         * modules/userspec (lib_SOURCES): Add userspec.h.
24469         (Include): Add "userspec.h".
24470         Improve description.
24471
24472 2003-11-03  Jim Meyering  <jim@meyering.net>
24473
24474         * lib/userspec.c: Include "userspec.h".
24475         * lib/userspec.h: New file.
24476
24477 2003-11-03  Bruno Haible  <bruno@clisp.org>
24478
24479         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
24480
24481 2003-11-03  Bruno Haible  <bruno@clisp.org>
24482
24483         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
24484         available, to avoid (extremely rare) race condition.
24485         Suggested by Paul Eggert.
24486
24487 2003-11-02  Karl Berry  <karl@gnu.org>
24488
24489         * config/srclist.txt (vasprintf.c): sync broken, sigh.
24490
24491 2003-10-31  Paul Eggert  <eggert@twinsun.com>
24492
24493         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
24494         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
24495         (read_filesystem_list): Set and use me_type_malloced.
24496         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
24497         whatever the type happens to be), for brevity and consistency.
24498         Check for size calculation overflow on Alphas running OSF/1.
24499
24500 2003-10-31  Jim Meyering  <jim@meyering.net>
24501
24502         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
24503
24504         * lib/linebuffer.c: Include <string.h> for declaration of memset.
24505
24506 2003-10-30  Paul Eggert  <eggert@twinsun.com>
24507             Bruno Haible  <bruno@clisp.org>
24508
24509         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
24510         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
24511
24512 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
24513
24514         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
24515         netbsd*-gnu*.  Suggested by Robert Millan.
24516
24517 2003-10-29  Paul Eggert  <eggert@twinsun.com>
24518
24519         * modules/group-member: Depend on stdbool.
24520
24521 2003-10-29  Paul Eggert  <eggert@twinsun.com>
24522
24523         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
24524
24525 2003-10-29  Paul Eggert  <eggert@twinsun.com>
24526
24527         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
24528         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
24529         after the 'gnu' in these cases.  This fixes some bugs in the
24530         previous change, and is based on suggestions by Robert Millan.
24531
24532 2003-10-29  Paul Eggert  <eggert@twinsun.com>
24533
24534         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
24535         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
24536         no longer needed.
24537         * lib/quotearg.c (quotearg_n_options): Use it.
24538         * lib/group-member.c: Include <stdbool.h>.
24539         (free_group_info): Arg is now const *; don't free arg.
24540         (get_group_info): Now returns bool and accepts struct group_info *,
24541         rather than returning a malloc'ed struct group_info *.
24542         All uses changed.  Check for overflow in internal size calculation.
24543
24544         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
24545         rather than xmalloc/xrealloc.
24546         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
24547         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
24548         conformance bug: the old code used a pointer after freeing the
24549         storage that it addressed.
24550         * lib/hash.c (hash_initialize): Simplify the code by using
24551         xalloc_oversized rather than doing it by hand.
24552         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
24553         the buffer preserved.  Use free and xmalloc instead.
24554         * lib/quotearg.c (quotearg_n_options): Likewise.
24555         Use a simpler test for size overflow.  Don't use xalloc_oversized
24556         because unsigned int might be wider than size_t (!); this suggests
24557         that we should switch from unsigned int to size_t for slot numbers.
24558
24559 2003-10-28  Paul Eggert  <eggert@twinsun.com>
24560
24561         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
24562         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
24563         NetBSD kernels.  Requested by Richard Stallman.
24564
24565 2003-10-27  Paul Eggert  <eggert@twinsun.com>
24566
24567         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
24568         to allocate the returned structure.  Do not allocate a subarray,
24569         as x2nrealloc will do that.
24570         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
24571         instead of xnrealloc.
24572         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
24573
24574 2003-10-27  Bruno Haible  <bruno@clisp.org>
24575
24576         * lib/stdbool_.h: Better support for BeOS.
24577
24578 2003-10-26  Paul Eggert  <eggert@twinsun.com>
24579
24580         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
24581         now uses inline.
24582
24583 2003-10-26  Paul Eggert  <eggert@twinsun.com>
24584
24585         * lib/xalloc.h (xalloc_oversized): New static inline function, for
24586         callers that want to do their own size-overflow checking.  Include
24587         <stdbool.h>, since xalloc_oversized returns bool.
24588         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
24589         to use xalloc_oversized.
24590
24591         Add two functions x2realloc, x2nrealloc, for programs that grow
24592         arrays dynamically by doubling their sizes.
24593         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
24594         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
24595         New functions.
24596
24597         Port to C99 semantics for 'inline' of external functions.
24598         Bug reported by Bruno Haible.
24599         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
24600         with the old contents of xnmalloc.
24601         (xnmalloc, xmalloc): Use it.
24602         (xnrealloc_inline): New static inline function,
24603         with the old contents of xnrealloc.
24604         (xnrealloc, xrealloc): Use it.
24605
24606         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
24607         that.
24608
24609 2003-10-26  Karl Berry  <karl@gnu.org>
24610
24611         * config/srclist.txt (COPYING.DOC): no longer available from
24612         /gd/gnuorg; don't know where the ultimate source is.
24613
24614 2003-10-25  Paul Eggert  <eggert@twinsun.com>
24615
24616         Fix several address-calculation bugs in the hash modules,
24617         plus some minor code cleanup.
24618
24619         * lib/hash.h: Include <stdbool.h>, for bool.
24620         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
24621         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
24622         hash_get_n_entries, hash_get_max_bucket_length,
24623         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
24624         hash_rehash): Use size_t rather than unsigned.
24625         * lib/hash.c (struct hash_table, hash_get_n_buckets,
24626         hash_get_n_buckets_used, hash_get_n_entries,
24627         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
24628         hash_get_entries, hash_do_for_each, hash_string, is_prime,
24629         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
24630         Likewise.
24631         (SIZE_MAX): Define if not defined.
24632         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
24633         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
24634         hash_print):
24635         Use const * when possible.
24636         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
24637         (check_tuning): Fix bug: if tuning parameters were very close to
24638         0 or 1, rounding errors could have caused subscript violations.
24639         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
24640         (hash_initialize): Add 'fail:' label
24641         to free table and return NULL, and use it to simplify code.
24642         Use calloc rather than clearing the storage ourself.
24643         (hash_initialize, hash_rehash): Check for arithmetic overflow in
24644         buffer size calculations.
24645         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
24646         Include <stddef.h>, for size_t.
24647         * lib/hash-pjw.c (hash_pjw): Likewise.
24648         Switch to method described by Bruno Haible.
24649         Include <limits.h>, for CHAR_BIT.
24650         (SIZE_BITS): New macro.
24651
24652 2003-10-23  Paul Eggert  <eggert@twinsun.com>
24653
24654         * m4/getline.m4 (AM_FUNC_GETLINE):
24655         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
24656         hosts.  Problem reported by Derek Robert Price in
24657         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
24658         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
24659         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
24660
24661 2003-10-21  Paul Eggert  <eggert@twinsun.com>
24662
24663         * lib/getndelim2.c (getndelim2): When size calculation overflows,
24664         ceiling the allocation at NMAX bytes rather than silently
24665         discarding input bytes before NMAX is reached.  This makes
24666         a difference only if NMAX exceeds SIZE_MAX / 2.
24667
24668         * lib/obstack.c: Merge from glibc.
24669         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
24670         Add libc_hidden_def (_obstack_newchunk).
24671         (_obstack_free) [! defined _LIBC]: Remove.
24672         [defined _LIBC]: Make a strong alias from obstack_free, rather than
24673         a clone of the function body.
24674         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
24675         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
24676
24677         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
24678         glibc.
24679         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
24680         arg to memcpy.
24681
24682         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
24683         (obstack_ptr_grow_fast, obstack_int_grow_fast):
24684         Don't use lvalue casts, as GCC plans to remove support for them
24685         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
24686         was also present in the non-GCC version, indicating that this
24687         code had always been buggy and had never been widely used.
24688         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
24689         Use the fast variant of each macro, rather than copying the
24690         definiens of the fast variant; that way, we'll be more likely to
24691         catch future bugs in the fast variants.
24692
24693 2003-10-20  Bruno Haible  <bruno@clisp.org>
24694
24695         * modules/wait-process: New file.
24696         * MODULES.html.sh (func_all_modules): Add wait-process.
24697
24698 2003-10-20  Bruno Haible  <bruno@clisp.org>
24699
24700         * m4/wait-process.m4: New file.
24701
24702 2003-10-20  Bruno Haible  <bruno@clisp.org>
24703
24704         * lib/wait-process.h: New file, from GNU gettext.
24705         * lib/wait-process.c: New file, from GNU gettext.
24706
24707 2003-10-19  Jim Meyering  <jim@meyering.net>
24708
24709         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
24710         HPUX 10.20.
24711
24712 2003-10-18  Karl Berry  <karl@gnu.org>
24713
24714         * config/config.guess: update from config.
24715
24716 2003-10-16  Paul Eggert  <eggert@twinsun.com>
24717
24718         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
24719         (getgroups): First arg is int, not size_t.
24720         Don't let 'free' mangle errno.
24721
24722 2003-10-16  Paul Eggert  <eggert@twinsun.com>
24723
24724         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
24725
24726 2003-10-16  Karl Berry  <karl@gnu.org>
24727
24728         * config/config.{guess,sub}: update from config.
24729
24730 2003-10-16  Jim Meyering  <jim@meyering.net>
24731
24732         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
24733         memcpy.
24734
24735 2003-10-15  Paul Eggert  <eggert@twinsun.com>
24736
24737         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
24738         (SIZE_MAX): Remove.
24739         (new_exclude, add_exclude_file): Initial size no longer needs to
24740         be a power of 2.
24741         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
24742         our own address arithmetic overflow checking.
24743
24744         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
24745         (fnmatch): Do not alloca more than 2000 wide characters;
24746         instead, use malloc for large buffers.
24747         Check for address arithmetic overflow, and return -1
24748         with errno set to ENOMEM in that case.
24749         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
24750         (NEW_PATTERN): Do not alloca more than 8000 bytes;
24751         instead, return -1.  Check for address arithmetic overflow.
24752
24753 2003-10-14  Paul Eggert  <eggert@twinsun.com>
24754
24755         Handle invalid suffixes and overflow independently, so that
24756         callers can treat them independently as needed.  Fix some bugs in
24757         suffix handling, e.g., "100k@" was not diagnosed as an invalid
24758         suffix for a human-readable blocksize.  The major caller-visible
24759         change is the addition of a new
24760         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
24761         that both overflow and suffix chars were found.
24762
24763         * lib/human.c (humblock): Don't check separately for invalid suffix
24764         char; that is xstrtoumax's job (now that its bug is fixed).
24765         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
24766         INTMAX_MAX]: New macros.
24767         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
24768         TYPE_MAXIMUM): New macros.
24769         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
24770         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
24771         if overflow occurs, as it's what __strtol does and it's more useful
24772         in practice.
24773         (__xstrtol): If __strtol reports some error other than ERANGE,
24774         reflect it to the caller as LONGINT_INVALID.  If it reports
24775         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
24776         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
24777         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
24778         value.
24779         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
24780         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
24781         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
24782         [defined UINTMAX_MAX]: New macros.
24783
24784 2003-10-14  Bruno Haible  <bruno@clisp.org>
24785
24786         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
24787
24788 2003-10-14  Bruno Haible  <bruno@clisp.org>
24789
24790         * m4/sig_atomic_t: New file, from GNU gettext.
24791         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
24792
24793 2003-10-14  Bruno Haible  <bruno@clisp.org>
24794
24795         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
24796         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
24797         Also use volatile where needed.
24798
24799 2003-10-12  Paul Eggert  <eggert@twinsun.com>
24800
24801         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
24802         Change maintainer from Bruno Haible to 'all'.
24803
24804 2003-10-12  Paul Eggert  <eggert@twinsun.com>
24805
24806         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
24807
24808 2003-10-12  Paul Eggert  <eggert@twinsun.com>
24809
24810         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
24811         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
24812         and define in terms of the other primitives.
24813         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
24814         (SIZE_MAX): Define if not already defined.
24815         (array_size_overflow): New function.
24816         (xalloc_die): Abort instead of exiting if 'error' returns.
24817         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
24818         (xmalloc, xrealloc): Use them.
24819         (xcalloc): Check for address arithmetic overflow.
24820         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
24821         a bit faster than strcpy.
24822
24823 2003-10-10  Simon Josefsson  <jas@extundo.com>
24824
24825         * modules/argp (Depends-on): Add restrict and strcase.
24826
24827 2003-10-10  Simon Josefsson  <jas@extundo.com>
24828
24829         * m4/argp.m4: Add AC_C_INLINE.
24830
24831 2003-10-08  Paul Eggert  <eggert@twinsun.com>
24832
24833         Merge getpass from libc, plus a few fixes.
24834
24835         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
24836         Include <stdbool.h>.
24837         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
24838         __fsetlocking to empty.
24839         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
24840         do include <bits/libc-lock.h>.
24841         Do not include <fcntl.h>; not needed.
24842         [_LIBC]: Include <wchar.h>.
24843         (NOTCANCEL_MODE): New macro.
24844         (flockfile, funlockfile) [_LIBC]: New macros.
24845         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
24846         [!_LIBC]: New macros.
24847         (call_fclose): New function.
24848         (getpass): Use it.  Save tty stream separately; this simplifies the
24849         code and makes it more reliable if stdin happens to equal stdout.
24850         Invoke __fsetlocking on tty.
24851         Handle thread cancellation if needed.
24852         Namespace cleanup (use __tcgetattr, __getline).
24853         Use bool for Booleans.
24854         [USE_IN_LIBIO]: Handle wide streams.
24855         [!_LIBC]: Unconditionally do the fseek, since we don't know what
24856         stream might go where.
24857
24858         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
24859         doesn't have to include <stdio.h> before us.
24860         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
24861         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
24862         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
24863         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
24864         if not declared, so that we can use getpass.c code from libc without
24865         rewriting it.
24866         (flockfile, ftrylockfile, funlockfile): New macros.
24867
24868 2003-10-08  Paul Eggert  <eggert@twinsun.com>
24869
24870         * modules/getpass: Depend on stdbool.
24871
24872 2003-10-08  Paul Eggert  <eggert@twinsun.com>
24873
24874         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
24875
24876 2003-10-07  Karl Berry  <karl@gnu.org>
24877
24878         * config/config.{guess,sub}: update from config.
24879
24880 2003-10-06  Jim Meyering  <jim@meyering.net>
24881             Bruno Haible  <bruno@clisp.org>
24882
24883         This lets translators provide better translations for the
24884         "Written by ..." part of --version output.
24885         * lib/version-etc.h: Include stdarg.h.
24886         (version_etc_copyright): Declare as readonly.
24887         (version_etc): Make this function variadic with a NULL-terminated list
24888         of author name strings.
24889         (version_etc_va): New declaration.
24890         * lib/version-etc.c: Include stdarg.h, stdlib.h.
24891         (version_etc_copyright): Declare as readonly.
24892         (version_etc_va): New function. Provide a different translatable string
24893         for each possible number of authors < 10. Abbreviate when there are 10
24894         authors or more.
24895         (version_etc): Make this function variadic. Call version_etc_va.
24896         Suggestion from Gary V. Vaughan.
24897
24898         * lib/long-options.h (parse_long_options): Change prototype: the
24899         authors string is moved to the end and becomes variadic.
24900         * lib/long-options.c: Include stdarg.h.
24901         (parse_long_options): Make this function variadic, too.
24902         Call version_etc_va, not version_etc.
24903
24904 2003-10-06  Bruno Haible  <bruno@clisp.org>
24905
24906         * modules/version-etc-2: Remove file.
24907         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
24908
24909 2003-10-06  Bruno Haible  <bruno@clisp.org>
24910
24911         * modules/fatal-signal: New file.
24912         * MODULES.html.sh (func_all_modules): Add fatal-signal.
24913
24914 2003-10-06  Bruno Haible  <bruno@clisp.org>
24915
24916         * m4/fatal-signal.m4: New file.
24917         * m4/signalblocking.m4: New file, from GNU gettext.
24918
24919 2003-10-06  Bruno Haible  <bruno@clisp.org>
24920
24921         * lib/version-etc-2.h: Remove file.
24922         * lib/version-etc-2.c: Remove file.
24923
24924 2003-10-06  Bruno Haible  <bruno@clisp.org>
24925
24926         * lib/fatal-signal.h: New file, from GNU gettext.
24927         * lib/fatal-signal.c: New file, from GNU gettext.
24928
24929 2003-10-05  Paul Eggert  <eggert@twinsun.com>
24930
24931         * README: Rework advice for preventing empty .o files.
24932         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
24933         not <sys/types.h>.
24934
24935 2003-10-04  Karl Berry  <karl@gnu.org>
24936
24937         * lib/argp*: update from libc.
24938
24939 2003-10-04  Karl Berry  <karl@gnu.org>
24940
24941         * config/config.{guess,sub}: update from config.
24942
24943 2003-10-02  Bruno Haible  <bruno@clisp.org>
24944
24945         * modules/lchown (Include): Add lchown.h.
24946         * modules/time_r (Include): Use "..." syntax.
24947         * modules/xgetdomainname (Include): Add xgetdomainname.h.
24948
24949 2003-10-01  Simon Josefsson  <jas@extundo.com>
24950
24951         * MODULES.html.sh (func_all_modules): Move gethostname from section
24952         'based on' to section 'lacking' POSIX:2001.
24953
24954 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
24955
24956         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
24957         to output mode on the same stream.
24958
24959 2003-09-29  Paul Eggert  <eggert@twinsun.com>
24960
24961         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
24962         Fix arg typo in previous patch.
24963
24964 2003-09-28  Jim Meyering  <jim@meyering.net>
24965
24966         * lib/error.c: Correct cpp indentation.
24967
24968 2003-09-27  Paul Eggert  <eggert@twinsun.com>
24969
24970         * modules/free: New file.
24971
24972 2003-09-27  Paul Eggert  <eggert@twinsun.com>
24973
24974         * m4/free.m4: New file.
24975
24976 2003-09-27  Paul Eggert  <eggert@twinsun.com>
24977
24978         * lib/minmax.h (MIN, MAX)
24979         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
24980         Omit the special code that used __typeof__, since we worry that
24981         it could be more trouble than it's worth.  See:
24982         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
24983         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
24984
24985         * lib/free.c: New file.
24986
24987 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
24988
24989         Trivial fixes to Makefile.am parts of module listings.
24990         * modules/strstr: Append strstr.h to lib_SOURCES.
24991         * modules/strcase: Likewise, for strcase.h.
24992
24993 2003-09-27  Karl Berry  <karl@gnu.org>
24994
24995         * config/mkinstalldirs: update from automake.
24996
24997 2003-09-26  Paul Eggert  <eggert@twinsun.com>
24998
24999         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
25000         (error_tail): Do not loop, reallocating temporary buffer, since
25001         the output cannot contain more wide characters than the input
25002         contains bytes, the size must be big enough already.  This avoids
25003         one potential size overflow calculation.  Check for size overflow
25004         when calculating temporary buffer size.  Free temporary buffer
25005         when done, if it was allocated with malloc; this plugs a memory
25006         leak.  Remove casts from void * to pointers, that are no longer
25007         needed now that we're assuming C89 or better.
25008
25009         Merge error changes from glibc.
25010
25011         * lib/error.c, error.h: Update copyright notice header to match glibc.
25012         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
25013         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
25014         Disable cancellation while printing error.
25015         * lib/error.h: Prepend __ to parameter names.
25016
25017 2003-09-26  Jim Meyering  <jim@meyering.net>
25018
25019         * lib/error.c (error_tail): Move some declarations
25020         into inner scope where the local variables are used.
25021
25022 2003-09-26  Bruno Haible  <bruno@clisp.org>
25023
25024         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
25025         stpncpy().
25026         Don't define stpncpy through config.h; it's now done through stpncpy.h.
25027
25028 2003-09-26  Bruno Haible  <bruno@clisp.org>
25029
25030         * lib/stpncpy.h (gnu_stpncpy): New declaration.
25031         (stpncpy): Define as alias for gnu_stpncpy.
25032         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
25033
25034 2003-09-25  Simon Josefsson  <jas@extundo.com>
25035
25036         * lib/xgetdomainname.h: New file.
25037         * lib/xgetdomainname.c: New file.
25038
25039 2003-09-25  Simon Josefsson  <jas@extundo.com>
25040             Bruno Haible  <bruno@clisp.org>
25041
25042         * modules/getdomainname: New file.
25043         * modules/xgetdomainname: New file.
25044         * MODULES.html.sh (func_all_modules): Add getdomainname,
25045         xgetdomainname.
25046
25047 2003-09-25  Simon Josefsson  <jas@extundo.com>
25048             Bruno Haible  <bruno@clisp.org>
25049
25050         * m4/getdomainname.m4: New file.
25051
25052 2003-09-25  Simon Josefsson  <jas@extundo.com>
25053             Bruno Haible  <bruno@clisp.org>
25054
25055         * lib/getdomainname.h: New file.
25056         * lib/getdomainname.c: New file.
25057
25058 2003-09-25  Karl Berry  <karl@gnu.org>
25059
25060         * lib/argp-fmtstream.c, argp-help.c: update from libc.
25061
25062 2003-09-25  Karl Berry  <karl@gnu.org>
25063
25064         * config/install-sh: update from automake.
25065
25066 2003-09-25  Bruno Haible  <bruno@clisp.org>
25067
25068         * modules/version-etc-2: New file, from modules/version-etc with
25069         modifications.
25070         * MODULES.html.sh (func_all_modules): Add version-etc-2.
25071
25072 2003-09-25  Bruno Haible  <bruno@clisp.org>
25073
25074         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
25075         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
25076
25077 2003-09-24  Simon Josefsson  <jas@extundo.com>
25078
25079         * modules/xgethostname: Add xgethostname.h.
25080
25081 2003-09-24  Paul Eggert  <eggert@twinsun.com>
25082
25083         * lib/linebuffer.c (freebuffer): Don't free the argument, just
25084         the buffer associated with the argument.  Bug reported by
25085         Simon Josefsson.
25086
25087 2003-09-24  Paul Eggert  <eggert@twinsun.com>
25088
25089         * README: Document assumptions that 'int' is at least 32 bits
25090         wide, that integer arithmetic is 2's complement without overflow,
25091         that there are no holes in integer values, that adding sizes of
25092         two nonoverlapping objects can't overflow, and that all-bits-zero
25093         yields scalar zero.  Fix spelling and capitalization typos.
25094
25095 2003-09-19  Karl Berry  <karl@gnu.org>
25096
25097         * lib/argp.h: update from libc.
25098
25099 2003-09-17  Paul Eggert  <eggert@twinsun.com>
25100
25101         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
25102         to avoid spurious warnings like "AC_RUN_IFELSE was called before
25103         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
25104
25105 2003-09-17  Paul Eggert  <eggert@twinsun.com>
25106
25107         * gnulib-tool: Use "test -h", not "test -L", for portability
25108         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
25109         (tags_regexp): Remove, since \| doesn't conform to POSIX.
25110         (sed_extract_prog): Issue s commands one-by-one, rather than
25111         using \| in one s command.
25112
25113 2003-09-16  Paul Eggert  <eggert@twinsun.com>
25114
25115         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
25116         input error, instead of returning NULL the next time we are called
25117         (and therefore losing track of errno).
25118
25119 2003-09-16  Bruno Haible  <bruno@clisp.org>
25120
25121         * gnulib-tool (func_create_testdir): Warn about duplicated
25122         dependencies.
25123
25124 2003-09-15  Paul Eggert  <eggert@twinsun.com>
25125
25126         * modules/argmatch, modules/fatal, modules/obstack,
25127         modules/xalloc, modules/xgethostname: Sort dependencies by
25128         importance, not alphabetically.
25129
25130 2003-09-15  Paul Eggert  <eggert@twinsun.com>
25131
25132         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
25133         fails, so that the caller gets the proper errno.
25134
25135         * lib/readutmp.c (read_utmp): Likewise.
25136         Check for fstat error.  Close stream and free storage
25137         when failing.
25138
25139 2003-09-14  Karl Berry  <karl@gnu.org>
25140
25141         * config/srclist.txt (strdup.c): disable for c89 changes.
25142
25143 2003-09-14  Jim Meyering  <jim@meyering.net>
25144
25145         * lib/getloadavg.c: Correct cpp indentation.
25146         * lib/strdup.c: Likewise.
25147         * lib/vasnprintf.c: Likewise.
25148
25149 2003-09-14  Bruno Haible  <bruno@clisp.org>
25150
25151         * modules/fwriteerror: New file.
25152         * MODULES.html.sh (func_all_modules): Add fwriteerror.
25153
25154 2003-09-14  Bruno Haible  <bruno@clisp.org>
25155
25156         * lib/fwriteerror.h: New file.
25157         * lib/fwriteerror.c: New file.
25158
25159 2003-09-12  Paul Eggert  <eggert@twinsun.com>
25160
25161         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
25162         modules/xgethostname, modules/xalloc: Depend on exit.
25163
25164 2003-09-12  Paul Eggert  <eggert@twinsun.com>
25165
25166         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
25167
25168         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
25169         and AC_MINIX, too, so that their extensions are available.
25170
25171         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
25172         This macro has been superseded by gl_BACKUPFILE.
25173
25174         More patches to assume C89 or better.
25175
25176         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
25177
25178         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
25179         unconditionally.
25180         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
25181         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
25182         Include <string.h>, <stdlib.h> unconditionally.
25183         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
25184         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
25185         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
25186         headers or for string.h.
25187         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
25188         or strtoul.
25189
25190         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
25191         headers.
25192         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
25193         * m4/userspec.m4 (gl_USERSPEC): Likewise.
25194         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
25195         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
25196         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
25197         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
25198         memcpy, memset.
25199         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
25200         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
25201         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
25202         strtol.
25203         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
25204         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
25205         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
25206         strtoul.
25207
25208 2003-09-12  Paul Eggert  <eggert@twinsun.com>
25209
25210         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
25211         * lib/obstack.c [!defined _LIBC]: Likewise.
25212         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
25213         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
25214         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
25215
25216         More changes to assume C89 or better.
25217
25218         * lib/error.c (error_tail): Assume vprintf.
25219
25220         * lib/argmatch.c (getenv): Remove decl.
25221         * lib/progreloc.c (get_full_program_name): Define via prototype.
25222         * lib/setenv.c (clearenv): Likewise.
25223         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
25224         needed.
25225         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
25226         (malloc, memcpy): Remove decls.
25227         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
25228         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
25229         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
25230         (memcpy): Remove macro.
25231         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
25232         (__P): Remove.  All uses removed.
25233         (PTR): Remove.  All uses changed to void *.
25234         (CHAR_BIT, NULL): Remove.
25235         (spaces, zeros, memset_space, memset_zero)
25236         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
25237         Remove.
25238         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
25239         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
25240         Define with prototype.
25241         Remove now-unnecessary prototype decl.
25242         (extra_args_spec): Assume ANSI C.  All uses changed.
25243         (extra_args_spec_iso): Remove.
25244         (my_strftime, emacs_strftimeu): Define via prototype.
25245         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
25246         unconditionally.
25247         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
25248         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
25249         (strtoul, strtol): Remove decls.
25250         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
25251         LONG_MAX): Remove.
25252         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
25253         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
25254         (LOCALE_PARAM_PROTO): New macro.
25255         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
25256         (INTERNAL (strtol), strtol): Define with a prototype.
25257         (PARAMS): Remove.  All uses removed.
25258         * lib/tempname.c: Include <string.h> unconditionally.
25259         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
25260         * lib/xgethostname.c (main): Define with a prototype.
25261         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
25262         Include <stdlib.h> unconditionally.
25263         (calloc, malloc, realloc, free): Remove decls.
25264         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
25265         Include <stdlib.h> unconditionally.  Sort include file names.
25266         (strtod): Remove.
25267         (xstrtod): Define with a prototype.
25268         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
25269         (strtol, strtoul): Remove decls.
25270
25271 2003-09-11  Paul Eggert  <eggert@twinsun.com>
25272
25273         More patches to assume C89 or better.
25274         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
25275         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
25276         string.h, memchr, STDC_HEADERS.
25277
25278 2003-09-11  Paul Eggert  <eggert@twinsun.com>
25279
25280         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
25281         Include <stdlib.h>, <string.h> unconditionally.
25282         Remove now-unnecessary cast to char *.
25283         * lib/strnlen.c: Include <string.h> unconditionally.
25284         * lib/yesno.c (yesno): Define with a prototype.
25285
25286 2003-09-11  Bruno Haible  <bruno@clisp.org>
25287
25288         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
25289
25290 2003-09-10  Jim Meyering  <jim@meyering.net>
25291
25292         * lib/error.c: Correct indentation of cpp directives.
25293
25294 2003-09-10  Bruno Haible  <bruno@clisp.org>
25295
25296         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
25297         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
25298         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
25299         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
25300         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
25301         <stdlib.h> and <string.h> checks.
25302         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
25303         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
25304
25305 2003-09-10  Bruno Haible  <bruno@clisp.org>
25306
25307         * lib/strcspn.c: Include <string.h> unconditionally.
25308         * lib/strpbrk.c: Include <string.h> unconditionally.
25309         * lib/strstr.c: Include <string.h> unconditionally.
25310         * lib/unicodeio.c: Include <string.h> unconditionally.
25311         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
25312         * lib/unsetenv.c: Likewise.
25313         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
25314         * lib/yesno.c: Include <stdlib.h> unconditionally.
25315         (rpmatch): Add prototype.
25316
25317 2003-09-09  Paul Eggert  <eggert@twinsun.com>
25318
25319         More patches to assume C89 or better.
25320         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
25321         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
25322         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
25323         or for string.h.
25324         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
25325         stdlib.h.
25326         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
25327         C headers.
25328         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
25329         string.h.
25330         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
25331         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
25332         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
25333         or for string.h.
25334         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
25335         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
25336         C headers.
25337         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
25338         memcpy.
25339         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
25340         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
25341         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
25342         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
25343         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
25344         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
25345         string.h, free.
25346         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
25347         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
25348         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
25349         C headers, or for string.h.
25350         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
25351         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
25352         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
25353         headers, memory.h, stdlib.h, string.h, strings.h.
25354         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
25355         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
25356         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
25357         strchr.
25358         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
25359         headers, memory.h, string.h.
25360         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
25361         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
25362         free.
25363         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
25364         headers.
25365         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
25366         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
25367         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
25368         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
25369         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
25370
25371 2003-09-09  Paul Eggert  <eggert@twinsun.com>
25372
25373         More K&R removal.
25374
25375         * lib/acosl.c (main): Use a prototype.
25376         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
25377         tanl.c: Likewise.
25378
25379         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
25380
25381         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
25382         (getopt, etopt_long, getopt_long_only, _getopt_internal)
25383         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
25384         with a prototype.
25385         * lib/getopt.c (const): Remove macro.
25386         Include <string.h> unconditionally.
25387         (my_index): Remove; all uses changed to strchr.
25388         (strlen): Remove decl.
25389         (exchange): Remove forward decl; no longer needed.
25390         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
25391         Define with prototype.
25392         * lib/getopt1.c (const): Remove macro.
25393         (getopt_long, getopt_long_only, main): Define with prototype.
25394
25395         * lib/getugroups.c: Include <string.h> unconditionally.
25396
25397         * lib/getusershell.c: Include <stdlib.h> unconditionally.
25398         (getusershell, setusershell, endusershell, readname, main):
25399         Define with prototypes.
25400
25401         * lib/group-member.c: Include group-member.h first.
25402         Include <stdlib.h> unconditionally.
25403
25404         * lib/hard-locale.c: Include hard-locale.h first.
25405         Include <stdlib.h>, <string.h> unconditionally.
25406
25407         * lib/hash.c (free, malloc): Remove decls.
25408         Include <stdlib.h> unconditionally.
25409
25410         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
25411         (getenv): Do not declare.
25412
25413         * lib/idcache.c: Include <string.h> unconditionally.
25414
25415         * lib/long-options.c: Include long-options.h first, to test interface.
25416         Include <stdlib.h> unconditionally.
25417
25418         * lib/makepath.c: Include makepath.h first, to test interface.
25419         Include <stdlib.h> and <string.h> unconditionally.
25420
25421         * lib/linebuffer.c: Include <stdlib.h>.
25422         (free): Remove decl.
25423
25424         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
25425         stddef.h. rpl_malloc returns void *, not char *.
25426         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
25427         prototype.
25428
25429         * lib/md5.h: Include <limits.h> unconditionally.
25430         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
25431         (__P): Remove; all uses removed.
25432         * lib/md5.c: Include "md5.h" first.
25433         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
25434         md5_buffer, md5_process_bytes, md5_process_block):
25435         Define with prototypes.
25436         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
25437         * lib/sha.c: Include "sha.h" first.
25438         Include <stdlib.h>, <string.h> unconditionally.
25439
25440         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
25441         * lib/memcmp.c (__ptr_t): Likewise.
25442         * lib/memrchr.c (__ptr_t): Likewise.
25443         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
25444         Include <string.h> unconditionally.
25445         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
25446         * lib/memchr.c: Include <stdlib.h> unconditionally.
25447         * lib/memchr.c (LONG_MAX): Remove.
25448         * lib/memrchr.c (LONG_MAX): Likewise.
25449         * lib/memchr.c (__memchr): Define via a prototype.
25450         * lib/memrchr.c (__memrchr): Likewise.
25451         * lib/memcmp.c (__P): Remove, and remove all uses.
25452         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
25453         Remove forward decls; no longer needed.
25454         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
25455         Use types required by C89 in prototype.
25456
25457         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
25458         * lib/savedir.c: Likewise.
25459         * lib/mkdir.c (free): Remove decl.
25460         * lib/rmdir.c (rmdir): Define with a prototype.
25461         * lib/savedir.c: Include savedir.h first, to test interface.
25462
25463         * lib/mktime.c (STDC_HEADERS): Remove.
25464         Include <stdlib.h>, <string.h> unconditionally.
25465
25466         * lib/modechange.c: Include <stdlib.h> unconditionally.
25467         (malloc): Remove decl.
25468
25469         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
25470         (free): Remove decl.
25471
25472         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
25473         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
25474         (This type really should be intptr_t, but that's a C99ism.)
25475         (_obstack_memcpy): Remove: all uses changed to memcpy.
25476         Include <string.h> unconditionally.
25477         (struct obstack): Assume __STDC__ for types of members
25478         chunkfun, freefun, extra_arg.
25479         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
25480         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
25481         obstack_begin, obstack_specify_allocation,
25482         obstack_specify_allocation_with_arg, obstack_chunkfun,
25483         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
25484         Remove unprototyped decls and the macros that use them.
25485         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
25486         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
25487         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
25488         (defined __STDC__ && __STDC__)]:
25489         Remove nonprototyped code.
25490         Include <stdlib.h> unconditionally.
25491         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
25492         _obstack_allocated_p, _obstack_free, obstack_free,
25493         _obstack_memory_used, print_and_abort):
25494         Define using prototypes.
25495         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
25496         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
25497         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
25498         obstack_next_free, obstack_object_size, obstack_room) [0]:
25499         Remove unused, unprototyped code.
25500
25501         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
25502
25503         * lib/physmem.c (physmem_total, physmem_available, main): Define
25504         with prototypes.
25505
25506         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
25507         (main): Define with a prototype.
25508
25509         * lib/posixver.c (getenv): Remove decl.
25510
25511         * lib/putenv.c (malloc): Returns void *, not char *.
25512         Include <string.h> unconditionally.
25513         (strchr, memcpy, NULL): Do not define.
25514
25515         * lib/readtokens.c: Include readtokens.h first, to test interface.
25516         Include <stdlib.h>, <string.h> unconditionally.
25517         (init_tokenbuffer): Define with a prototype.
25518
25519         * lib/regex.c (PARAMS): Remove.  All uses removed.
25520         All uses of _RE_ARGS removed, too.
25521         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
25522         unconditionally.
25523         (bzero): Assume memset exists.
25524         (memcmp, memcpy, NULL): Remove.
25525         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
25526         char, or assignments to local vars of type signed char.
25527         (init_syntax_once, PREFIX(extract_number_and_incr),
25528         PREFIX(print_partial_compiled_pattern),
25529         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
25530         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
25531         PREFIX(regex_grow_registers), PREFIX(regex_compile),
25532         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
25533         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
25534         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
25535         wcs_compile_range, byte_compile_range, truncate_wchar,
25536         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
25537         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
25538         count_mbs_length, wcs_re_match_2_internal,
25539         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
25540         PREFIX(alt_match_null_string_p),
25541         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
25542         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
25543         regfree, PREFIX(extract_number)): Define with prototype.  Remove
25544         now-unnecessary declaration, if any.
25545         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
25546         regcomp, regexec):
25547         Remove now-unnecessary casts among pointer types.
25548         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
25549
25550         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
25551         (free): Remove decl.
25552
25553         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
25554
25555         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
25556         (free): Remove decl.
25557
25558         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
25559         * lib/xgetcwd.c: Likewise.
25560
25561         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
25562         (free): Remove decl.
25563
25564         * lib/strchrnul.c (strchrnul): Define with a prototype.
25565         Fix bug: c_in was not converted to char before searching.
25566
25567         The following changes are not K&R related:
25568
25569         * lib/group-member.h: Include <sys/types.h>, so that this file is
25570         self-contained.
25571         * lib/makepath.h: Likewise.
25572
25573         * lib/getusershell.c (readname, default_index, line_size, readname):
25574         Use size_t, not int, for sizes.
25575         (readname): If the size overflows, report an error instead of
25576         looping forever.
25577
25578 2003-09-09  Paul Eggert  <eggert@twinsun.com>
25579
25580         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
25581         libc.
25582
25583 2003-09-09  Paul Eggert  <eggert@twinsun.com>
25584
25585         * README: New section: portability guidelines.
25586
25587 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
25588
25589         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
25590         C89 spec.
25591
25592 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
25593
25594         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
25595
25596 2003-09-08  Paul Eggert  <eggert@twinsun.com>
25597
25598         Assume C89 or better; remove K&R cruft.
25599         A few of these changes were first proposed by Derek Robert Price
25600         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
25601
25602         * lib/addext.c: Include <string.h> unconditionally.
25603         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
25604         Don't declare getenv or malloc.
25605
25606         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
25607         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
25608         (NULL): Remove.
25609         (find_stack_direction, alloca): Use prototypes.
25610
25611         * lib/atexit.c (atexit): Define using a prototype.
25612
25613         * lib/basename.c, dirname.c, stripslash.c:
25614         Include <string.h> unconditionally.
25615
25616         * lib/bcopy.c: Include <stddef.h>.
25617         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
25618
25619         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
25620
25621         * lib/error.h (error, error_at_line, error_print_progname)
25622         [! (defined (__STDC__) && __STDC__)]: Remove decls.
25623         * lib/error.c: Include error.h first, to check interface.
25624         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
25625         (VA_START): Remove; all uses changeed to va_start.
25626         (exit, strerror): Remove decls.
25627         (error_print_progname): Prototype uncondionally.
25628         Don't include <errno.h>; no longer needed.
25629         (private_strerror): Remove.
25630         (error_tail): Always define.
25631         (error, error_at_line): Assume C89 or better; always use prototypes.
25632         * lib/fatal.c: Include "fatal.h" first, to test interface.
25633         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
25634         (VA_START): Remove; all uses changed to va_start.
25635         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
25636         this case.
25637         (exit): Remove decl.
25638         (fatal): Prototype unconditionally.  Assume va_start works.
25639         Abort at end, to pacify gcc.
25640
25641         * lib/euidaccess.c (main): Define with a prototype.
25642
25643         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
25644
25645         * lib/exitfail.c: Include <stdlib.h> unconditionally.
25646
25647         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
25648         prototypes.
25649         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
25650         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
25651         (getenv): Remove decl.
25652         (fnmatch): Define using a prototype.
25653         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
25654         (FCT): Define using a prototype.
25655
25656         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
25657
25658         * lib/gethostname.c: Include <stddef.h>.
25659         (gethostname): Define with prototype.  Length is size_t, not int.
25660
25661 2003-09-08  Paul Eggert  <eggert@twinsun.com>
25662
25663         Assume C89 or better; remove K&R cruft.
25664         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
25665         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
25666         string.h, getenv, malloc.
25667         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
25668         headers.
25669         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
25670         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
25671         do not check for strerror.
25672         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
25673         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
25674         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
25675         do not check for doprnt or vprintf.
25676         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
25677         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
25678
25679 2003-09-08  Paul Eggert  <eggert@twinsun.com>
25680
25681         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
25682         getversion.c should have been removed then, but was accidentally
25683         preserved.
25684
25685         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
25686         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
25687
25688 2003-09-08  Karl Berry  <karl@gnu.org>
25689
25690         * config/config.sub, config.guess, srclistvars.sh: update from savannah
25691                 config, forget about prep.
25692
25693         * config/depcomp, missing: update from automake.
25694
25695 2003-09-07  Paul Eggert  <eggert@twinsun.com>
25696
25697         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
25698         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
25699
25700 2003-09-07  Paul Eggert  <eggert@twinsun.com>
25701
25702         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
25703         copy_tm_result.  Bug reported by Simon Josefsson in
25704         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
25705
25706 2003-09-06  Paul Eggert  <eggert@twinsun.com>
25707
25708         * m4/time_r.m4: New file.
25709         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
25710         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
25711         is. Check for timegm declaration.
25712         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
25713         Do not check for gmtime_r.
25714         Replace mktime if __mktime_internal does not exist and if mktime
25715         hasn't been replaced already.
25716
25717 2003-09-06  Paul Eggert  <eggert@twinsun.com>
25718
25719         * lib/time_r.c, lib/time_r.h: New files.
25720
25721         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
25722         __localtime_r.
25723         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
25724         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
25725
25726         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
25727         __gmtime_r.
25728         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
25729         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
25730         Include <time_r.h>.
25731
25732         * lib/timegm.c: Switch to glibc implementation, with the following
25733         changes:
25734         [defined HAVE_CONFIG_H]: Include <config.h>.
25735         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
25736         (__mktime_internal) [!defined _LIBC]: New decl.
25737         (__gmtime_r) [!defined _LIBC]: New macro and function.
25738         (timegm): Use a prototype, since gnulib assumes C89.
25739         Do not bother declaring tmp to be const, as it's not really usefu.
25740         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
25741         (timegm): Declare only if HAVE_DECL_TIMEGM.
25742
25743 2003-09-06  Paul Eggert  <eggert@twinsun.com>
25744
25745         * MODULES.html.sh (func_all_modules): Add time_r.
25746         * modules/time_r: New file.
25747         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
25748         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
25749
25750 2003-09-03  Paul Eggert  <eggert@twinsun.com>
25751
25752         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
25753         Bug reported by Lute Kamstra in
25754         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
25755
25756         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
25757         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
25758         course with correspondingly smaller numbers for tomorrow and
25759         yesterday.  From Tadayoshi Funaba.  Originally installed into
25760         sh-utils on 1999-08-07, but the patch got lost (I guess during the
25761         coreutils merge?).
25762
25763 2003-08-31  Simon Josefsson  <jas@extundo.com>
25764
25765         * modules/timegm: New file.
25766         * MODULES.html.sh (func_all_modules): Add timegm.
25767
25768 2003-08-31  Simon Josefsson  <jas@extundo.com>
25769
25770         * m4/timegm.m4: New file.
25771
25772 2003-08-31  Simon Josefsson  <jas@extundo.com>
25773
25774         * lib/timegm.h: New file.
25775         * lib/timegm.c: New file.  Based on
25776         wget-1.8.2/src/http.c:mktime_from_utc.
25777
25778 2003-08-31  Karl Berry  <karl@gnu.org>
25779
25780         * lib/argp.h: update from libc.
25781
25782 2003-08-28  Bruno Haible  <bruno@clisp.org>
25783
25784         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
25785         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
25786         followed by '#define fnmatch fnmatch_posix' gives an error.
25787
25788 2003-08-28  Bruno Haible  <bruno@clisp.org>
25789
25790         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
25791         warning on QNX, which defines O_BINARY to 000000.
25792
25793 2003-08-27  Jim Meyering  <jim@meyering.net>
25794
25795         * m4/mkstemp.m4: Require that the system mkstemp be able to create
25796         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
25797         would fail after 32.  Reported by Danny Levinson.  Details here:
25798         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
25799
25800 2003-08-24  Bruno Haible  <bruno@clisp.org>
25801
25802         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
25803         MSVC7 <stdio.h> is included later.
25804
25805 2003-08-22  Simon Josefsson  <jas@extundo.com>
25806
25807         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
25808
25809 2003-08-20  Karl Berry  <karl@gnu.org>
25810
25811         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
25812
25813 2003-08-20  Bruno Haible  <bruno@clisp.org>
25814
25815         * modules/progname: New file.
25816         * MODULES.html.sh (func_all_modules): Add progname.
25817
25818 2003-08-20  Bruno Haible  <bruno@clisp.org>
25819
25820         * lib/progname.h: New file, from GNU gettext.
25821         * lib/progname.c: New file, from GNU gettext.
25822         * lib/progreloc.c: New file, from GNU gettext.
25823
25824 2003-08-19  Jim Meyering  <jim@meyering.net>
25825
25826         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
25827         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
25828
25829 2003-08-19  Bruno Haible  <bruno@clisp.org>
25830
25831         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
25832         more.
25833
25834 2003-08-19  Bruno Haible  <bruno@clisp.org>
25835
25836         * lib/xstrdup.c: Assume <string.h> exists.
25837
25838 2003-08-18  Paul Eggert  <eggert@twinsun.com>
25839
25840         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
25841         in makefile rules.
25842
25843 2003-08-18  Jim Meyering  <jim@meyering.net>
25844
25845         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
25846         * m4/lib-ld.m4: Likewise.
25847
25848 2003-08-18  Jim Meyering  <jim@meyering.net>
25849
25850         * lib/setenv.h: Indent nested cpp directive.
25851         * lib/vasnprintf.c: Remove trailing blanks.
25852
25853 2003-08-17  Simon Josefsson  <jas@extundo.com>
25854
25855         * modules/xstrndup: New file.
25856         * MODULES.html.sh (func_all_modules): Add xstrndup.
25857
25858 2003-08-17  Simon Josefsson  <jas@extundo.com>
25859
25860         * modules/argp: Fix autoconf macro name. Add more dependencies.
25861
25862 2003-08-17  Simon Josefsson  <jas@extundo.com>
25863
25864         * m4/xstrndup.m4: New file.
25865
25866 2003-08-17  Simon Josefsson  <jas@extundo.com>
25867
25868         * m4/argp.m4: New file.
25869
25870 2003-08-17  Simon Josefsson  <jas@extundo.com>
25871             Bruno Haible  <bruno@clisp.org>
25872
25873         * lib/xstrndup.h: New file.
25874         * lib/xstrndup.c: New file.
25875
25876 2003-08-17  Bruno Haible  <bruno@clisp.org>
25877
25878         * modules/strndup (Files, Include): Add lib/strndup.h.
25879
25880 2003-08-17  Bruno Haible  <bruno@clisp.org>
25881
25882         * modules/euidaccess (Files): Add lib/euidaccess.h.
25883
25884 2003-08-17  Bruno Haible  <bruno@clisp.org>
25885
25886         * lib/strndup.h: New file.
25887
25888 2003-08-17  Bruno Haible  <bruno@clisp.org>
25889
25890         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
25891         like AC_GNU_SOURCE.
25892         * modules/extensions (configure.ac): Comment out the invocation of
25893         gl_USE_SYSTEM_EXTENSIONS.
25894
25895 2003-08-16  Paul Eggert  <eggert@twinsun.com>
25896
25897         Merges from coreutils, etc.
25898         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
25899         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
25900         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
25901         fixing a typo.
25902         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
25903         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
25904
25905 2003-08-16  Paul Eggert  <eggert@twinsun.com>
25906
25907         Document merge from coreutils.
25908         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
25909         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
25910         * modules/utime: Add m4/utimes-null.m4.
25911
25912 2003-08-16  Paul Eggert  <eggert@twinsun.com>
25913
25914         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
25915         space, undoing this 2003-08-12 change:
25916         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
25917
25918 2003-08-16  Paul Eggert  <eggert@twinsun.com>
25919
25920         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
25921         strtoul.c from libc, undoing this 2003-08-12 change:
25922         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
25923
25924 2003-08-16  Jim Meyering  <jim@meyering.net>
25925
25926         Merges from coreutils.
25927         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
25928         prefix.  Adjust cache variables similarly.  Create 500 rather than
25929         just 300 files, to exercise bug on Darwin6.5, too.
25930         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
25931         $missing_dir.
25932         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
25933         AM_SYS_POSIX_TERMIOS.
25934         Reported by mkc@mathdogs.com.
25935         Also change use of $am_cv_sys_posix_termios
25936         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
25937         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
25938         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
25939         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
25940         in /proc/mounts until it finds one with matching device number.  This
25941         is unnecessary when the FILE argument *is* a mount point.  No stat call
25942         is necessary in that case.  So, disable the statvfs-testing code on
25943         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
25944         as RedHat bug# 84846.
25945         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
25946         to 1MB, so as not to render systems with no stack size limit (e.g.,
25947         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
25948         Include <unistd.h>.  On some systems,
25949         it is required for the definition of _SC_PAGESIZE.
25950
25951 2003-08-16  Jim Meyering  <jim@meyering.net>
25952
25953         Merge from coreutils.
25954         * lib/xstrtoimax.c: #else #if -> #elif.
25955         * lib/xstrtoumax.c: Likewise.
25956
25957 2003-08-16  Jim Meyering  <jim@meyering.net>
25958
25959         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
25960         * m4/utimes.m4: Removed.
25961         * m4/utimes-null.m4: Renamed from utimes.m4.
25962
25963         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
25964         to 1MB, so as not to render systems with no stack size limit (e.g.,
25965         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
25966         Include <unistd.h>.  On some systems,
25967         it is required for the definition of _SC_PAGESIZE.
25968
25969 2003-08-16  Jim Meyering  <jim@meyering.net>
25970         and Paul Eggert  <eggert@cs.ucla.edu>
25971
25972         Merges from coreutils, etc.
25973
25974         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
25975         using the latest version from cvs.  This avoids problems with #line
25976         directives using a vendor (Sun) compiler.
25977         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
25978         Don't set GETGROUPS_LIB here; now it's
25979         done via getgroups.m4's wrapper function.
25980         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
25981         rather than just in sh-util/configure.in, so that the
25982         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
25983         same.
25984         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
25985         AC_FUNC_GETLOADAVG where to find getloadavg.c.
25986         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
25987         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
25988         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
25989         Remove code that is now done by the newly-required macros.
25990         Append $(EXEEXT) to DF_PROG.
25991         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
25992         Do not invoke or require the following here,
25993         since prereq.m4 or some gnulib .m4 now does this for us:
25994         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
25995         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
25996         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
25997         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
25998         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
25999         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
26000         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
26001         AC_FUNC_OBSTACK.
26002         Do not replace the following functions, as this is now the job
26003         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
26004         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
26005         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
26006         atexit getpass, strdup, getpagesize.
26007         Replace 'raise'.
26008         Do not check for the following functions, as this is now the job
26009         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
26010         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
26011         setregid.
26012         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
26013         Check for sys/sysctl.h.
26014         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
26015         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
26016         of checking for ssize_t ourselves.
26017
26018         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
26019         Require every macro that gnulib/modules/* suggests for us.
26020         (jm_PREREQ_ADDEXT): New macro.
26021         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
26022         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
26023
26024         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
26025         (gl_PHYSMEM): Use it.
26026         Also check for `table' function.
26027         Check for new headers and functions.
26028         Add check for sys/sysmp.h.
26029         With suggestions from Kaveh Ghazi.
26030         Ignore headers that are present but cannot be compiled.  This
26031         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
26032         C 5.4.
26033
26034 2003-08-15  Paul Eggert  <eggert@twinsun.com>
26035
26036         Document merge from coreutils.
26037         * modules/userspec: Depend on posixver.
26038         * modules/strftime: Depend on tzset.
26039
26040 2003-08-15  Paul Eggert  <eggert@twinsun.com>
26041
26042         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
26043         rather than tab, after '#' in shell-script copyright notices.
26044         Suggested by Bruno Haible.
26045
26046 2003-08-15  Paul Eggert  <eggert@twinsun.com>
26047
26048         * config/srclist-update: Use three spaces, rather than tab, after '#'
26049         in shell-script copyright notices.  Suggested by Bruno Haible.
26050         Remove unnecessary parenthesization in regular expression.
26051
26052 2003-08-15  Jim Meyering  <jim@meyering.net>
26053
26054         Merge from coreutils.
26055         * lib/xgethostname.c: Include <stdlib.h>.
26056         (xghostname): Don't exit for anything other than memory-related
26057         failure; just return NULL.
26058         * lib/userspec.c: Include "posixver.h".
26059         (parse_user_spec): Accept `.' as a separator only
26060         in pre-POSIX-200112 mode.
26061         * lib/strtoimax.c: Use #elif rather than #else #if.
26062         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
26063         Remove function, now that we can rely on a working tzset function.
26064         [!_LIBC]: Ensure that the required autoconf test has been run.
26065         [!defined _NL_CURRENT && HAVE_STRFTIME]:
26066         Use underlying_strftime for %r.
26067         * lib/sha.c: Merge in some clean-up and optimization changes from
26068         glibc.
26069         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
26070         Ensure that it is a multiple of 64.
26071         Rearrange loop exit tests so as to avoid performing an
26072         additional fread after encountering an error or EOF.
26073         * lib/realloc.c: Update copyright date.
26074
26075 2003-08-15  Jim Meyering  <jim@meyering.net>
26076         and Paul Eggert  <eggert@twinsun.com>
26077
26078         Merge from coreutils.
26079         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
26080         member but strut utmpx does not.  Needed for AIX 4.3.3.
26081         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
26082
26083 2003-08-15  Jim Meyering  <jim@meyering.net>
26084         and Paul Eggert  <eggert@cs.ucla.edu>
26085
26086         Merges from coreutils, etc.
26087         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
26088         Require gl_FUNC_TZSET_CLOBBER.
26089         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
26090         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
26091         members.
26092
26093 2003-08-14  Paul Eggert  <eggert@twinsun.com>
26094
26095         Help the merge from coreutils.
26096         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
26097         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
26098         * m4/tzset.m4: Use it too.
26099
26100 2003-08-14  Paul Eggert  <eggert@twinsun.com>
26101
26102         * modules/tzset: New file.
26103
26104 2003-08-14  Jim Meyering  <jim@meyering.net>
26105
26106         Merges from coreutils.
26107         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
26108         variable names, rather than @FNMATCH_H@.
26109         * modules/alloca: Likewise for $(ALLOCA_H).
26110
26111         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
26112         the three copies of the literal target, `fnmatch.h'.
26113         * modules/alloca (alloca.h): Likewise.
26114
26115 2003-08-14  Jim Meyering  <jim@meyering.net>
26116
26117         Merge from coreutils.
26118         * m4/tzset.m4: New file.
26119         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
26120         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
26121         otherwise, AIX 5.1 systems would end up using the latter.
26122         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
26123         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
26124         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
26125         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
26126
26127 2003-08-14  Jim Meyering  <jim@meyering.net>
26128
26129         Merge from coreutils.
26130         * lib/obstack.h: Whitespace changes.
26131         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
26132         and xcalloc return values.
26133         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
26134         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
26135         hang on OSF/1 5.1 for DIR on both local and remote file systems.
26136         Reported by (and fix confirmed by) Nelson H. F. Beebe.
26137         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
26138         error from mntctl.
26139         Use mntctl's return value to drive the entry-processing loop, since
26140         we can't rely on the value of the vmt_length member in the last
26141         entry.  On some systems doing so could result in exhausting
26142         virtual memory.  Based in part on a patch from Mike Jetzer.
26143
26144 2003-08-14  Jim Meyering  <jim@meyering.net>
26145         and Paul Eggert  <eggert@twinsun.com>
26146
26147         Merges from coreutils, plus other fixes.
26148         * lib/physmem.c: Merge in portability changes from gcc/libiberty
26149         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
26150         for credits and details.  Thanks to Kaveh Ghazi for helping
26151         to keep these files in sync.
26152         (ARRAY_SIZE): Define it.
26153         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
26154         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
26155         (memcasecmp): Don't assume size_t fits in unsigned int.
26156         Remove casts and duplicate code.
26157         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
26158         (memcpy): Remove definition.
26159         Merge in some clean-up and optimization changes from glibc.
26160         [BLOCKSIZE]: Move definition to top of file.
26161         Ensure that it is a multiple of 64.
26162         Rearrange loop exit tests so as to avoid performing an
26163         additional fread after encountering an error or EOF.
26164         * lib/md5.h (md5_uintptr): Define.
26165         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
26166         return to the initial working directory.  Preserve errno
26167         for caller.
26168         * lib/idcache.c: Include "xalloc.h".
26169         (xmalloc, xrealloc): Remove decls.
26170         (getuser): Remove casts no longer required in C89.
26171         * lib/human.c: Include stdio.h, for sprintf.
26172         * lib/group-member.c: Include "xalloc.h".
26173         (xmalloc, xrealloc): Remove decls.
26174         (get_group_info): Remove casts no longer required in C89.
26175         * lib/getusershell.c (readname): Remove casts no longer required in
26176         C89.
26177         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
26178         * lib/getline.c: Whitespace fix, from coreutils.
26179
26180 2003-08-13  Paul Eggert  <eggert@twinsun.com>
26181
26182         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
26183         Check for isascii.
26184
26185         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
26186         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
26187         Undo previous (whitespace-only) change.
26188
26189 2003-08-13  Paul Eggert  <eggert@twinsun.com>
26190
26191         * lib/exclude.c: Include <ctype.h>
26192         (IN_CTYPE_DOMAIN): New macro.
26193         (is_space): New fn.
26194         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
26195         and empty lines.
26196
26197         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
26198         Undo previous (whitespace-only) change.
26199
26200 2003-08-13  Paul Eggert  <eggert@twinsun.com>
26201
26202         * config/srclist-update: Change update back to the old behavior,
26203         leaving whitespace alone.  Use one 'sed' command rather than a
26204         pipeline.
26205         (fixlicense): Now a variable, not a function.
26206         (remove_trailing_blanks): Remove.
26207         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
26208         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
26209         Undo previous (whitespace-only) change.
26210
26211 2003-08-12  Paul Eggert  <eggert@twinsun.com>
26212
26213         Merge from coreutils.
26214         * modules/euidaccess: Add lib_SOURCES, include for new
26215         file euidaccess.h
26216
26217 2003-08-12  Paul Eggert  <eggert@twinsun.com>
26218
26219         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
26220         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
26221         Normalize leading white space and remove trailing white space.
26222
26223         Merge from coreutils
26224         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
26225
26226         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
26227         0.12.1.  These files are now being upgraded automatically by
26228         ../config/srclist-update.
26229
26230 2003-08-12  Paul Eggert  <eggert@twinsun.com>
26231
26232         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
26233         Normalize leading white space and remove trailing white space.
26234         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
26235         notice, as per ../config/srclist-update.
26236
26237         Merge from coreutils.
26238         * lib/euidaccess.h: New file.
26239         * lib/euidaccess.c: Include it.
26240         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
26241         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
26242         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
26243
26244 2003-08-12  Paul Eggert  <eggert@twinsun.com>
26245
26246         * config/srclist-update: Add copyright notice.
26247         (remove_id_lines, remove_trailing_blanks): New constants.
26248         (fixfile): Use them to normalize spacing a bit in copied files.
26249         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
26250         Normalize leading white space and remove trailing white space.
26251
26252         * config/texinfo.tex: Sync with texinfo.
26253
26254         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
26255         strtoul.c from libc, to merge coreutils whitespace changes.
26256
26257         * config/srclist.txt: Get the following m4 files from gettext:
26258         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
26259         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
26260         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
26261         wint_t.m4.
26262
26263 2003-08-12  Karl Berry  <karl@gnu.org>
26264
26265         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
26266         been made.
26267
26268 2003-08-11  Paul Eggert  <eggert@twinsun.com>
26269
26270         * modules/gnu-source, m4/gnu-source.m4:
26271         Remove; we're assuming Autoconf 2.54 or later now.
26272         Suggested by Bruno Haible.
26273         * MODULES.html.sh (func_all_modules): Remove gnu-source.
26274
26275 2003-08-11  Bruno Haible  <bruno@clisp.org>
26276
26277         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
26278
26279 2003-08-11  Bruno Haible  <bruno@clisp.org>
26280
26281         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
26282         (vasnprintf): Use it instead of wcslen.
26283
26284 2003-08-11  Bruno Haible  <bruno@clisp.org>
26285
26286         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
26287         value to ensure that _Bool promotes to int. Use #define for _Bool when
26288         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
26289
26290 2003-08-10  Karl Berry  <karl@gnu.org>
26291
26292         * lib/regex.h: update from libc (whitespace fix).
26293
26294 2003-08-09  Paul Eggert  <eggert@twinsun.com>
26295
26296         Merge some files from coreutils.  These changes were
26297         originally made by Jim Meyering.
26298         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
26299         many older Unixes require this.
26300         * lib/alloca.c (alloca): Remove cast to argument of free;
26301         no longer needed in C89.
26302         * lib/alloca_.h, regex.h: Fix white space to match
26303         what GNU indent does.
26304
26305 2003-08-09  Paul Eggert  <eggert@twinsun.com>
26306
26307         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
26308         apparently Emacs's Unicode mode got confused before my 2003-08-05
26309         checkin.
26310
26311 2003-08-08  Paul Eggert  <eggert@twinsun.com>
26312
26313         * m4/extensions.m4: New file.
26314         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
26315         Require gl_USE_SYSTEM_EXTENSIONS.
26316         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
26317         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
26318
26319 2003-08-08  Paul Eggert  <eggert@twinsun.com>
26320
26321         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
26322         * modules/extensions, modules/gnu-source: New files.
26323         * modules/timespec, modules/unlocked-io: Depend on extensions.
26324
26325 2003-08-07  Paul Eggert  <eggert@twinsun.com>
26326
26327         * modules/restrict: New file.
26328         * MODULES.html.sh (func_all_modules): Add restrict.
26329         * modules/regex: Depend on restrict.
26330
26331 2003-08-07  Paul Eggert  <eggert@twinsun.com>
26332
26333         * m4/restrict.m4: New file.
26334         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
26335
26336 2003-08-07  Bruno Haible  <bruno@clisp.org>
26337
26338         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
26339         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
26340
26341 2003-08-07  Bruno Haible  <bruno@clisp.org>
26342
26343         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
26344         makes the module 'getndelim2' compatible with the module 'getline'.
26345
26346 2003-08-05  Paul Eggert  <eggert@twinsun.com>
26347
26348         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
26349         byte with "\201" to avoid glitches when editing that source file
26350         with multi-gnome-terminal.
26351
26352 2003-08-05  Paul Eggert  <eggert@twinsun.com>
26353
26354         * lib/bumpalloc.h: Remove.
26355
26356 2003-08-05  Paul Eggert  <eggert@twinsun.com>
26357
26358         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
26359         * modules/bumpalloc: Remove.
26360
26361 2003-08-04  Paul Eggert  <eggert@twinsun.com>
26362
26363         * lib/getloadavg.c: Change copyright notice and spacing to conform to
26364         GNU coding style.
26365
26366         Merge from coreutils.
26367         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
26368         1. From glibc.
26369         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
26370         from Karl Berry, implemented by Jim Meyering.
26371         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
26372         from Dmitry V. Levin.
26373         Remove anachronistic cast of xrealloc.
26374         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
26375         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
26376         type. Otherwise, it wouldn't compile with at least /bin/cc on
26377         ymp-cray-unicos9.0.2.X.
26378         Combine two mostly-identical uses of alloca into one.
26379         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
26380
26381 2003-08-04  Dave Love  <d.love@dl.ac.uk>
26382
26383         [From Emacs.]
26384
26385         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
26386         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
26387         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
26388         obsolete NLIST_NAME_UNION.
26389         [__GNU__]: Undef BSD and FSCALE.
26390         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
26391
26392 2003-08-03  Paul Eggert  <eggert@twinsun.com>
26393
26394         * lib/stdbool_.h (_Bool): Make it signed char, instead of
26395         an enum type, so that it's guaranteed to promote to int.  See:
26396         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
26397
26398 2003-08-03  Karl Berry  <karl@gnu.org>
26399
26400         * config/depcomp: update from automake.
26401
26402 2003-07-31  Paul Eggert  <eggert@twinsun.com>
26403
26404         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
26405         (strerror): Don't assume that a printable int fits in 14 bytes.
26406
26407 2003-07-31  Bruno Haible  <bruno@clisp.org>
26408
26409         * modules/getpass-gnu: New file.
26410         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
26411
26412 2003-07-31  Bruno Haible  <bruno@clisp.org>
26413
26414         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
26415
26416 2003-07-24  Karl Berry  <karl@gnu.org>
26417
26418         * config/missing: update from automake.
26419
26420 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
26421             Bruno Haible  <bruno@clisp.org>
26422
26423         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
26424         * lib/getline.c (getline, getdelim): Likewise.
26425         Remove _GNU_SOURCE define; now it's defined in config.h through
26426         m4/getline.m4.
26427
26428 2003-07-23  Karl Berry  <karl@gnu.org>
26429
26430         * config/config.sub: update from prep.
26431
26432 2003-07-22  Paul Eggert  <eggert@twinsun.com>
26433
26434         * modules/xalloc (Depends-on): Add exitfail.
26435         * modules/xmemcoll: Likewise.
26436
26437 2003-07-22  Paul Eggert  <eggert@twinsun.com>
26438
26439         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
26440         over-parenthesization in macros.
26441
26442         Sync with coreutils.
26443
26444         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
26445         required by C99.
26446
26447         Use `exit_failure' for xalloc and xmemcoll instead of their own
26448         private exit-failure variables.
26449         * lib/xalloc.h (xalloc_exit_failure): Remove.
26450         * lib/xmalloc.c: Likewise.  Include exitfail.h.
26451         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
26452         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
26453         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
26454         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
26455
26456 2003-07-20  Jim Meyering  <jim@meyering.net>
26457
26458         * modules/closeout (Depends-on): Add exitfail.
26459         Suggestion from Bruno Haible.
26460
26461 2003-07-19  Karl Berry  <karl@gnu.org>
26462
26463         * config/config.sub: update from prep.
26464
26465 2003-07-18  Paul Eggert  <eggert@twinsun.com>
26466
26467         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
26468         Remove.
26469         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
26470         to test that it can stand by itself.  Include "exitfail.h".
26471         Clients should set exit_failure instead.
26472         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
26473
26474 2003-07-18  Bruno Haible  <bruno@clisp.org>
26475
26476         * modules/getndelim2: New file.
26477         * modules/getline: Share files with module getndelim2.
26478         * modules/getnline: Depend on getndelim2 instead of sharing files with
26479         it. Add getnline.c to lib_SOURCES.
26480         * MODULES.html.sh (func_all_modules): Add getndelim2.
26481
26482 2003-07-18  Bruno Haible  <bruno@clisp.org>
26483
26484         * m4/getndelim2.m4: New file.
26485         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
26486         invoke gl_PREREQ_GETNDELIM2.
26487         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
26488         gl_PREREQ_GETNDELIM2.
26489         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
26490         gl_GETNDELIM2.
26491
26492 2003-07-18  Bruno Haible  <bruno@clisp.org>
26493
26494         * lib/getndelim2.h: New file.
26495         * lib/getndelim2.c: Make into a module of its own. Include config.h,
26496         getndelim2.h.
26497         (getndelim2): Make non-static. Change return type to ssize_t.
26498         * lib/getline.h: Change argument names.
26499         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
26500         * lib/getnline.c: Include getndelim2.h.
26501
26502 2003-07-18  Andreas Schwab  <schwab@suse.de>
26503
26504         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
26505
26506 2003-07-17  Karl Berry  <karl@gnu.org>
26507
26508         * config/config.sub: update from prep.
26509
26510 2003-07-17  Bruno Haible  <bruno@clisp.org>
26511
26512         * modules/getnline: New file.
26513         * modules/getline: Add lib/getndelim2.c to source file list.
26514         * MODULES.html.sh (func_all_modules): Add getnline.
26515
26516 2003-07-17  Bruno Haible  <bruno@clisp.org>
26517
26518         * m4/getnline.m4: New file.
26519
26520 2003-07-17  Bruno Haible  <bruno@clisp.org>
26521
26522         * m4/Makefile.am.in: Remove file.
26523         * m4/Makefile.am: Remove file.
26524         * m4/Makefile.in: Remove file.
26525
26526 2003-07-17  Bruno Haible  <bruno@clisp.org>
26527
26528         * lib/getnline.h: New file.
26529         * lib/getnline.c: New file.
26530         * lib/getndelim2.c: New file, extracted from getline.c.
26531         (getndelim2): Renamed from getdelim2, with added nmax argument.
26532         * lib/getline.c: Include getndelim2.c.
26533         (getdelim2): Moved out to getndelim2.c.
26534         (getline, getdelim): Update.
26535
26536 2003-07-17  Bruno Haible  <bruno@clisp.org>
26537
26538         * lib/Makefile.am: Remove file.
26539         * lib/Makefile.in: Remove file.
26540
26541 2003-07-17  Bruno Haible  <bruno@clisp.org>
26542
26543         * configure.in: Remove file.
26544         * Makefile.in: Remove file.
26545
26546 2003-07-17  Bruno Haible  <bruno@clisp.org>
26547
26548         * MODULES.html.sh: Put the </BODY> right before </HTML>.
26549
26550 2003-07-16  Karl Berry  <karl@gnu.org>
26551
26552         * config/srclist-update: was running fixlicense twice, which caused
26553                 texinfo.tex to be nullified for some reason.  Simplify,
26554                 $gplsrc is no longer needed as far as I can see?
26555
26556 2003-07-16  Jim Meyering  <jim@meyering.net>
26557
26558         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
26559
26560 2003-07-15  Paul Eggert  <eggert@twinsun.com>
26561
26562         * config/srclist.txt: Get the following files from gettext-runtime/intl
26563         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
26564         ref-del.sin.  From Bruno Haible.
26565         * config/srclist-update (fixfile): Change grep pattern again, since the
26566         previous fix didn't work (there was another trailing $).  Use
26567         '[$]' to escape the $s.
26568
26569 2003-07-15  Karl Berry  <karl@gnu.org>
26570
26571         * lib/vasnprintf.c: update from gettext.
26572
26573 2003-07-15  Karl Berry  <karl@gnu.org>
26574
26575         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
26576         gets expanded when surrounded by '$'.
26577
26578 2003-07-15  Jim Meyering  <jim@meyering.net>
26579
26580         * modules/save-cwd: Don't depend on error.  From Derek Price.
26581
26582 2003-07-15  Jim Meyering  <jim@meyering.net>
26583
26584         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
26585
26586 2003-07-14  Simon Josefsson  <jas@extundo.com>
26587
26588         * modules/mempcpy: New file.
26589         * MODULES.html.sh (func_all_modules): Add mempcpy.
26590
26591 2003-07-14  Simon Josefsson  <jas@extundo.com>
26592
26593         * m4/mempcpy.m4: New file.
26594
26595 2003-07-14  Simon Josefsson  <jas@extundo.com>
26596
26597         * lib/mempcpy.h: New file.
26598         * lib/mempcpy.c: New file.
26599
26600 2003-07-14  Paul Eggert  <eggert@twinsun.com>
26601
26602         * modules/getdate, modules/posixtm: Depend on mktime.
26603
26604 2003-07-14  Paul Eggert  <eggert@twinsun.com>
26605
26606         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
26607         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
26608         unicodeio.c, unicodeio.h, unlocked-io.h:
26609         Switch from LGPL to GPL.
26610
26611 2003-07-14  Paul Eggert  <eggert@twinsun.com>
26612
26613         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
26614         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
26615         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
26616         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
26617         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
26618         updated automatically by ../config/srclist-update.  This changes
26619         their license from LPGL to GPL.
26620
26621 2003-07-14  Paul Eggert  <eggert@twinsun.com>
26622
26623         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
26624         assumed to refer to the root of the most recent stable gettext version.
26625         * config/srclistvars.sh: Add defaults for eggert.
26626         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
26627         Match "This program" as well as "The program".  This is needed
26628         for gettext.
26629
26630 2003-07-14  Jim Meyering  <jim@meyering.net>
26631
26632         Don't emit diagnostics.  Let callers do that.
26633         * lib/save-cwd.c: Don't include "error.h".
26634         (save_cwd): Don't call error.  Ensure that errno is valid
26635         when returning nonzero.
26636
26637         * lib/save-cwd.h (restore_cwd): Update prototype.
26638         * lib/save-cwd.c (restore_cwd): Remove two parameters.
26639         Simplify.  Don't call error upon failure.  Let callers do that.
26640         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
26641         when auditing is enabled.  But don't bother updating the #if.
26642
26643 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
26644
26645         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
26646         it breaks C++ compilation.
26647         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
26648
26649 2003-07-10  Simon Josefsson  <jas@extundo.com>
26650
26651         * modules/strchrnul (Makefile.am): Add strchrnul.h.
26652
26653 2003-07-10  Jim Meyering  <jim@meyering.net>
26654
26655         * m4/clock_time.m4: Remove trailing blank.
26656         * m4/intmax_t.m4: Likewise.
26657
26658 2003-07-10  Jim Meyering  <jim@meyering.net>
26659
26660         * lib/vasnprintf.c: Remove trailing blanks.
26661         Make cpp indentation consistent.
26662
26663 2003-07-09  Paul Eggert  <eggert@twinsun.com>
26664
26665         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
26666         posixver.c, strftime.c, strnlen.c, strverscmp.c:
26667         Switch from LGPL to GPL.
26668
26669 2003-07-09  Paul Eggert  <eggert@twinsun.com>
26670
26671         * config/srclist.txt: Sort sublists.  Add
26672         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
26673         that differ from gnulib for one reason or another; we'd like this list
26674         to be smaller but for now let's document what we have.
26675
26676 2003-07-08  Paul Eggert  <eggert@twinsun.com>
26677
26678         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
26679         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
26680         and sweeter "eval x=$x".
26681         * config/srclist.txt: Get lib/argp* from glibc.
26682
26683 2003-07-07  Paul Eggert  <eggert@twinsun.com>
26684
26685         * lib/mktime.c: Fix some boundary cases and remove need for floating
26686         point.
26687
26688         Issue a compile-time diagnostic if time_t is floating point, or if
26689         two's complement arithmetic is not in effect, or if arithmetic
26690         right shift does not propagate the sign.  These assumptions were
26691         all in the original code but they weren't checked.
26692
26693         (TIME_T_MIDPOINT, verify): New macros.
26694         (__isleap): Remove; it has integer overflow problems.
26695         (leapyear): New function, without those problems.
26696         (ydhms_tm_diff): Remove; splitting into two parts.
26697         (ydhms_diff): New function, containing the arithmetic part of
26698         the old ydhms_tm_diff function.  Issue a compile-time
26699         diagnostic if we are not using C99 integer division.
26700         Avoid casts when possible.
26701         (guess_time_tm): New function, containing the checking part of
26702         the old ydhms_tm_diff function.  Return the new value, rather than
26703         the difference between it and the old.  Accept a new argument T
26704         so that *T specifies the old value.  Check for overflow in the result.
26705
26706         (__mktime_internal): Use a time_t offset, not a long int offset.
26707         This undoes the 2003-06-04 change, which is no longer needed now
26708         that we have better overflow checking.
26709         (localtime_offset): Likewise.
26710
26711         (__mktime_internal): Avoid harmful overflow on hosts where time_t
26712         and long are 64-bit but int is only 32-bit.
26713         (ydhms_diff): Use long int to store year1 and yday1.
26714         Issue a compile-time diagnostic if long int is not wide enough.
26715
26716         (__mktime_internal): Use long int to store adjusted year and yday.
26717         Use plain C rather than preprocessor commands, if that doesn't
26718         affect efficiency.
26719         Check for overflow (and try to repair) after each probe
26720         rather than checking only at the very end.  This avoids some bugs
26721         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
26722         does not equal GMT offset at maximum time).
26723         Use integer to check for overflow rather than floating point; this
26724         is more portable to non-IEEE hosts, and is a tad faster.
26725         When we detect that we are oscillating between two values,
26726         don't check whether tm_isdst has the requested value, since
26727         we already know the answer.  When tm_isdst has the wrong value,
26728         use a different heuristic to find the right one, based on the
26729         extreme values actually observed in practice in tz2003a,
26730         rather than the (overly optimistic) "previous 3 calendar quarters".
26731
26732         (not_equal_tm, print_tm, check_result): Use "const T" rather than
26733         "T const" to accommodate glibc style.
26734         (check_result): Use less-confusing report format.  "long" -> "long int.
26735         (main): Likewise.
26736         Don't loop if the iteration overflows time_t.
26737         Allow a negative step in the iteration.
26738
26739 2003-07-06  Karl Berry  <karl@gnu.org>
26740
26741         * config/depcomp: update from automake.
26742         * config/config.sub: update from prep.
26743
26744 2003-07-03  Karl Berry  <karl@gnu.org>
26745
26746         * config/config.guess: update from prep.
26747
26748 2003-07-01  Paul Eggert  <eggert@twinsun.com>
26749
26750         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
26751         xreadlink.c now includes it unconditionally.
26752
26753 2003-07-01  Paul Eggert  <eggert@twinsun.com>
26754
26755         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
26756         having it depend on HAVE_SYS_TYPES_H.
26757
26758 2003-07-01  Bruno Haible  <bruno@clisp.org>
26759
26760         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
26761         <sys/types.h> should be sufficient.
26762         Reported by Paul Eggert.
26763
26764 2003-06-26  Karl Berry  <karl@gnu.org>
26765
26766         * config/depcomp: update from automake.
26767
26768 2003-06-26  Bruno Haible  <bruno@clisp.org>
26769
26770         * modules/human: Depend on module stdbool.
26771
26772 2003-06-25  Bruno Haible  <bruno@clisp.org>
26773
26774         * modules/readlink: New file.
26775         * modules/xreadlink: Depend on it.
26776         * MODULES.html.sh (func_all_modules): Add readlink.
26777
26778 2003-06-25  Bruno Haible  <bruno@clisp.org>
26779
26780         * m4/readlink.m4: New file.
26781
26782 2003-06-25  Bruno Haible  <bruno@clisp.org>
26783
26784         * lib/readlink.c: New file.
26785
26786 2003-06-22  Karl Berry  <karl@gnu.org>
26787
26788         * config/srclist.txt: update mkinstalldirs from automake.
26789         * config/mkinstalldirs: update.
26790
26791 2003-06-22  Bruno Haible  <bruno@clisp.org>
26792
26793         Portability to mingw32.
26794         * m4/ssize_t.m4: New file, from GNU gettext.
26795         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
26796         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
26797
26798 2003-06-22  Bruno Haible  <bruno@clisp.org>
26799
26800         * modules/safe-read: Add m4/ssize_t.m4.
26801         * modules/xreadlink: Add m4/ssize_t.m4.
26802
26803 2003-06-20  Bruno Haible  <bruno@clisp.org>
26804
26805         Assume C89, so PARAMS isn't needed.
26806         * lib/unicodeio.h (PARAMS): Remove.
26807         * lib/unicodeio.c: Don't use PARAMS.
26808
26809 2003-06-18  Karl Berry  <karl@gnu.org>
26810
26811         * config/config.{guess,sub}: update from prep.
26812
26813 2003-06-18  Jim Meyering  <jim@meyering.net>
26814
26815         Merge changes from coreutils.
26816         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
26817         Remove explicit declarations of xmalloc and realloc.
26818         Include xalloc.h.
26819         (read_utmp): Remove anachronistic cast of xmalloc.
26820
26821 2003-06-17  Paul Eggert  <eggert@twinsun.com>
26822
26823         Assume C89, so PARAMS isn't needed.
26824         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
26825         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
26826         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
26827         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
26828         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
26829         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
26830         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
26831         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
26832         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
26833         lib/xstrtod.h, lib/xstrtol.h: Likewise.
26834         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
26835         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
26836         no longer needed. Anyway, config.h should always be included before any
26837         other file.
26838
26839 2003-06-11  Simon Josefsson  <jas@extundo.com>
26840
26841         * modules/sysexits: New file.
26842         * MODULES.html.sh (func_all_modules): Add sysexits.
26843
26844 2003-06-11  Simon Josefsson  <jas@extundo.com>
26845
26846         * lib/sysexit_.h: New file.
26847
26848 2003-06-11  Derek Price  <derek@ximbiot.com>
26849
26850         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
26851         necessary.
26852
26853 2003-06-11  Bruno Haible  <bruno@clisp.org>
26854
26855         * m4/sysexits.m4: New file.
26856
26857 2003-06-10  Simon Josefsson  <jas@extundo.com>
26858
26859         * lib/argp.h: New file, from glibc.
26860         * lib/argp-ba.c: New file, from glibc.
26861         * lib/argp-eexst.c: New file, from glibc.
26862         * lib/argp-fmtstream.c: New file, from glibc.
26863         * lib/argp-fmtstream.h: New file, from glibc.
26864         * lib/argp-fs-xinl.c: New file, from glibc.
26865         * lib/argp-help.c: New file, from glibc.
26866         * lib/argp-namefrob.h: New file, from glibc.
26867         * lib/argp-parse.c: New file, from glibc.
26868         * lib/argp-pv.c: New file, from glibc.
26869         * lib/argp-pvh.c: New file, from glibc.
26870         * lib/argp-xinl.c: New file, from glibc.
26871
26872 2003-06-10  Simon Josefsson  <jas@extundo.com>
26873
26874         * modules/strchrnul: New file.
26875
26876 2003-06-10  Simon Josefsson  <jas@extundo.com>
26877
26878         * modules/argp: New file.
26879
26880 2003-06-10  Simon Josefsson  <jas@extundo.com>
26881
26882         * m4/strchrnul.m4: New file.
26883
26884 2003-06-10  Simon Josefsson  <jas@extundo.com>
26885
26886         * lib/strchrnul.h: New file.
26887         * lib/strchrnul.c: New file.
26888
26889 2003-06-10  Bruno Haible  <bruno@clisp.org>
26890
26891         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
26892
26893 2003-06-07  Karl Berry  <karl@gnu.org>
26894
26895         * config/config.{guess,sub}: update from prep.
26896
26897 2003-06-07  Jim Meyering  <jim@meyering.net>
26898
26899         * modules/strtod: Use $(...) notation, not @...@ for
26900         AC_REPLACE'd variables.
26901         * modules/localcharset: Likewise.
26902
26903 2003-06-07  Jim Meyering  <jim@meyering.net>
26904
26905         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
26906         in place of my name in the copyright comment.
26907         Remove definition and uses of __P.
26908
26909         From coreutils.
26910         * lib/stat.c: Don't declare xmalloc explicitly.
26911         Instead, include "xalloc.h".
26912         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
26913         xrealloc, and xcalloc return values.
26914         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
26915         Improve comment.
26916         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
26917
26918 2003-06-07  Bruno Haible  <bruno@clisp.org>
26919
26920         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
26921         avoid AC_CONFIG_LINKS.
26922         * modules/fnmatch (Makefile.am): Use explicit creation rule for
26923         fnmatch.h, to avoid AC_CONFIG_LINKS.
26924         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
26925
26926 2003-06-07  Bruno Haible  <bruno@clisp.org>
26927
26928         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
26929         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
26930         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
26931         directory.
26932         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
26933         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
26934         directory.
26935
26936 2003-06-06  Jim Meyering  <jim@meyering.net>
26937
26938         Merge from coreutils.
26939         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
26940         Consolidate declarations and initializations of *_base* locals.
26941
26942         Merge from coreutils.
26943         This avoids a core dump on systems without GNU putenv,
26944         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
26945         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
26946         (unsetenv): New static function, from GNU libc.
26947         (rpl_putenv): Use it.
26948
26949         * lib/modechange.c: Remove trailing blanks.
26950
26951         Merge from coreutils.
26952         * lib/fsusage.c: Remove declaration of statfs.
26953         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
26954
26955         * lib/posixtm.c: Include <stdbool.h> unconditionally.
26956
26957 2003-06-06  Jim Meyering  <jim@meyering.net>
26958
26959         * lib/stdbool_.h: Renamed from stdbool.h.in.
26960
26961 2003-06-06  Jim Meyering  <jim@meyering.net>
26962             Bruno Haible  <bruno@clisp.org>
26963
26964         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
26965         Adjust Makefile.am snippet not to redirect directly to target.
26966         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
26967
26968 2003-06-05  Paul Eggert  <eggert@twinsun.com>
26969
26970         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
26971         mismatch, look in future quarters as well as past.  This fixes a
26972         bug when processing fall-backwards gaps immediately after a long
26973         period of daylight-saving time.
26974
26975         * lib/mktime.c: Assume freestanding C89 or better.
26976         (HAVE_LIMITS_H): Remove.  Assume it's 1.
26977         (__P): Remove; not used.
26978         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
26979         (mktime, not_equal_tm, print_tm, check_result,
26980         main): Use prototypes.  Use const * where appropriate.
26981         (main): Fix typo in testing code that uncovered by above changes.
26982         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
26983
26984 2003-06-04  Paul Eggert  <eggert@twinsun.com>
26985
26986         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
26987         locale.h, localeconv.  This merges changes from coreutils.
26988
26989         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
26990         It can be removed after the next Autoconf is released.
26991         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
26992         needed.
26993
26994 2003-06-04  Paul Eggert  <eggert@twinsun.com>
26995
26996         * lib/mktime.c: Fix Debian bug 177940
26997         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
26998         (localtime_offset): Now long int, not time_t, because we want it
26999         to be guaranteed to be signed.  All uses changed.
27000         (__mktime_internal): If overflow would occur when adding offset,
27001         don't add it.
27002
27003         Merge 'human' changes from coreutils.  Rewrite to support
27004         locale-specific notations like thousands separators.
27005         * lib/human.c: Simplify authorship notice.
27006         Include human.h immediately after config.h.
27007         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
27008         <limits.h>: Do not include, since human.h does.
27009         (SIZE_MAX, UINTMAX_MAX): New macros.
27010         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
27011         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
27012         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
27013         (power_letter): Renamed from suffixes.
27014         (generate_suffix_backwards): Remove.
27015         (adjust_value): Now takes int style (because of human.h changes)
27016         and long double value (for greater precision on some platforms).
27017         (group_number): New function.
27018         (human_readable): Use it.  Use integer options, not enum.
27019         Put the options before the sizes in the arg list.
27020         Support all the new options.
27021         The old human_readable function has been removed;
27022         use inttostr.h instead.
27023         (human_readable, default_block_size, humblock):
27024         Use uintmax_t, not int, for block sizes.
27025         (human_readable_inexact, block_size_types): Remove.
27026         (block_size_opts): New constant.
27027         (human_options): Renamed from human_block_size, with new signature
27028         that allows block sizes up to UINTMAX_MAX.  All callers changed.
27029         * lib/human.h: Add copyright and authorship notice.
27030         Include <limits.h> and <stdbool.h> unconditionally.
27031         (PARAMS): Remove.  All uses removed.
27032         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
27033         (enum human_inexact_style): Remove tag; now a nameless enum.
27034         (human_floor, human_ceiling, human_round_to_even): Now have
27035         values 2, 0, 1 rather than -1, 1, 0.
27036         (human_group_digits, human_suppress_point_zero, human_autoscale,
27037         human_base_1024, human_SI, human_B): New constants.
27038         (human_readable_inexact, human_block_size): Remove.
27039         (human_readable): Size args are now uintmax_t, not int.
27040         (human_options): New decl.
27041
27042         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
27043         unnecessary now that we assume C89 or better.  This change
27044         imported from coreutils.
27045
27046         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
27047         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
27048         in the 2003-05-30 sync from glibc.
27049
27050         .h files should stand alone, but we shouldn't include <sys/types.h>
27051         if we can get away with just <stddef.h>.
27052
27053         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
27054         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
27055         rather than <sys/types.h>, as we merely need size_t.
27056         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
27057         to get size_t.
27058         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
27059         Include <stdio.h>, to get FILE.
27060         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
27061         memcasecmp.h has included <stddef.h> and all we need is size_t.
27062         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
27063         our interface, instead of including <sys/types.h>
27064
27065 2003-06-04  Paul Eggert  <eggert@twinsun.com>
27066
27067         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
27068         now, as glibc mktime is buggy on non-glibc systems.
27069
27070 2003-06-03  Karl Berry  <karl@gnu.org>
27071
27072         * config/config.sub: update from prep.
27073
27074 2003-06-02  Paul Eggert  <eggert@twinsun.com>
27075
27076         [from coreutils]
27077         Fix some minor time-related bugs with POSIX time arguments.
27078         Some valid time stamps were being rejected (notably -1, and
27079         time stamps before 1900 on 64-bit hosts).  And some invalid
27080         time stamps were being accepted, e.g. September 31.
27081
27082         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
27083         that we can return (time_t) -1 successfully.
27084         * lib/posixtm.c: Likewise.
27085         [HAVE_STDBOOL_H]: Include <stdbool.h>.
27086         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
27087         (t): Remove static var.
27088         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
27089         of static var.  All uses changed.
27090         (year): Do not reject years before 1900; they can occur with
27091         64-bit time_t.
27092         (posix_time_parse): Do not check for out-of-range components;
27093         that is now the caller's responsibility, since our checks were
27094         only approximations.
27095         (posixtime): Use mktime to check for out-of-range components,
27096         since it knows them exactly.
27097         If mktime returns (time_t) -1, check whether an error actually occurred
27098         by invoking localtime on -1.
27099         (main) [TEST_POSIXTIME]: Check for input data errors, and report
27100         posixtime failures better.
27101         Improve the test data (in comments only).
27102
27103 2003-06-02  Karl Berry  <karl@gnu.org>
27104
27105         * config/mkinstalldirs (version): new variable.
27106         (--version): new option.
27107         (usage): improve message.
27108
27109 2003-05-30  Karl Berry  <karl@gnu.org>
27110
27111         * lib/mktime.c: update from libc.
27112
27113 2003-05-30  Bruno Haible  <bruno@clisp.org>
27114
27115         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
27116         * config/config.rpath: Upgrade to gettext-0.12.1.
27117
27118 2003-05-30  Bruno Haible  <bruno@clisp.org>
27119
27120         * m4/gettext.m4: Upgrade to gettext-0.12.1.
27121         * m4/nls.m4: New file, from gettext-0.12.1.
27122         * m4/po.m4: New file, from gettext-0.12.1.
27123         * m4/progtest.m4: Upgrade to gettext-0.12.1.
27124
27125 2003-05-30  Bruno Haible  <bruno@clisp.org>
27126
27127         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
27128         * lib/localcharset.h: Likewise.
27129         * lib/localcharset.c: Likewise.
27130
27131 2003-05-29  Karl Berry  <karl@gnu.org>
27132
27133         * config/config.rpath: update from gettext.
27134
27135 2003-05-28  Paul Eggert  <eggert@twinsun.com>
27136
27137         Assume the headers required for C89 freestanding compilers.
27138         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
27139         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
27140         * m4/human.m4 (gl_HUMAN): Likewise.
27141         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
27142         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
27143         * m4/userspec.m4 (gl_USERSPEC): Likewise.
27144         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
27145         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
27146         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
27147
27148 2003-05-28  Paul Eggert  <eggert@twinsun.com>
27149
27150         Assume the headers required for C89 freestanding compilers.
27151         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
27152         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
27153         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
27154         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
27155         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
27156         define, since <limits.h> is guaranteed to do that.
27157         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
27158         * lib/exclude.c: Include <stdbool.h> unconditionally.
27159         * lib/tempname.c: Include <stddef.h> unconditionally.
27160         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
27161         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
27162         <stddef.h> does that.
27163         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
27164         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
27165         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
27166         needed.
27167         * lib/xstrtol.c: Likewise.
27168         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
27169         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
27170
27171         * lib/addext.c (addext): Use assignment rather than cast, to avoid
27172         warnings on some platforms.
27173
27174         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
27175         arbitrarily.
27176
27177 2003-05-26  Jim Meyering  <jim@meyering.net>
27178
27179         Merge in a change from coreutils:
27180         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
27181         that is guaranteed to be `no'.  Use `no_such_member' to indicate
27182         that condition, rather than `-1' which is slightly misleading.
27183         Change the name of the cache variable to have the gl_ prefix.
27184         Prompted by a patch from Richard Dawe for DJGPP.
27185
27186 2003-05-24  Karl Berry  <karl@gnu.org>
27187
27188         * config/config.guess: update from prep.
27189
27190 2003-05-22  Karl Berry  <karl@gnu.org>
27191
27192         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
27193
27194 2003-05-20  Karl Berry  <karl@gnu.org>
27195
27196         * config/config.guess: update from prep.
27197
27198 2003-05-18  Karl Berry  <karl@gnu.org>
27199
27200         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
27201         might actually be set by the user.
27202
27203         * config/depcomp, install-sh, mdate-sh: update from automake.
27204
27205 2003-05-17  Bruno Haible  <bruno@clisp.org>
27206
27207         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
27208         invalid expansion for AC_EGREP_CPP.
27209         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
27210         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
27211         Suggested by Akim Demaille <akim@epita.fr> in
27212         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
27213
27214 2003-05-12  Jim Meyering  <jim@meyering.net>
27215
27216         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
27217         the space-padded-by-default conversion specifiers, %e, %k, %l.
27218
27219 2003-05-12  Bruno Haible  <bruno@clisp.org>
27220
27221         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
27222         the string is longer than 4 KB.
27223
27224 2003-05-11  Karl Berry  <karl@gnu.org>
27225
27226         * config/config.{guess,sub}: update from prep.
27227
27228 2003-05-09  Bruno Haible  <bruno@clisp.org>
27229
27230         * modules/error: Add m4/strerror_r.m4 to file list.
27231
27232 2003-05-03  Bruno Haible  <bruno@clisp.org>
27233
27234         Upgrade to Unicode-4.0.
27235         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
27236         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
27237         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
27238         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
27239         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
27240         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
27241         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
27242         Change width of U+E0100..U+E01EF from 1 to 0.
27243
27244 2003-04-25  Jim Meyering  <jim@meyering.net>
27245
27246         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
27247         of type size_t, not int.
27248
27249 2003-04-25  Bruno Haible  <bruno@clisp.org>
27250
27251         * lib/copy-file.c: Include <stddef.h>, for size_t.
27252
27253 2003-04-21  Paul Eggert  <eggert@twinsun.com>
27254
27255         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
27256         code which expansion is under static control.  Patch imported from
27257         Akim Demaille's patch to Bison; see
27258         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
27259
27260 2003-04-14  Bruno Haible  <bruno@clisp.org>
27261
27262         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
27263
27264 2003-04-11  Jim Meyering  <jim@meyering.net>
27265
27266         Merge changes from Coreutils.
27267
27268         2003-03-22  Jim Meyering  <jim@meyering.net>
27269
27270         * lib/strftime.c (widen): Cast alloca return value to proper type.
27271
27272         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
27273
27274         From GNU libc.
27275         * lib/strftime.c (my_strftime): Handle very large width
27276         specifications for numeric values correctly.  Improve checks for
27277         overflow.
27278
27279         2003-01-19  Jim Meyering  <jim@meyering.net>
27280
27281         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
27282         definitions.
27283         (nl_get_alt_digit) [! defined my_strftime]: Define.
27284         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
27285         _nl_get_alt_digit and _nl_get_walt_digit.
27286
27287         * lib/strftime.c (my_strftime): Merge in locale-related changes from
27288         libc. These changes have no effect outside of _LIBC.
27289
27290 2003-04-10  Bruno Haible  <bruno@clisp.org>
27291
27292         * modules/findprog: New file.
27293         * MODULES.html.sh (func_all_modules): Add it.
27294
27295 2003-04-10  Bruno Haible  <bruno@clisp.org>
27296
27297         * m4/findprog.m4: New file.
27298         * m4/eaccess.m4: New file.
27299
27300 2003-04-10  Bruno Haible  <bruno@clisp.org>
27301
27302         * lib/findprog.h: New file, from GNU gettext.
27303         * lib/findprog.c: New file, from GNU gettext.
27304
27305 2003-04-05  Jim Meyering  <jim@meyering.net>
27306
27307         Merge changes from Coreutils.
27308
27309         * lib/exclude.h (PARAMS): Remove definition and uses.
27310         * lib/exclude.c: Remove uses of `PARAMS'.
27311
27312         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
27313         Add test-cases for DOS filenames. Declare program_name.
27314         (main): Set up program_name.  Patch by Rich Dawe.
27315
27316         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
27317         error from mntctl.
27318         Use mntctl's return value to drive the entry-processing loop, since
27319         we can't rely on the value of the vmt_length member in the last
27320         entry.  On some systems doing so could result in exhausting
27321         virtual memory.  Based in part on a patch from Mike Jetzer.
27322
27323 2003-04-04  Bruno Haible  <bruno@clisp.org>
27324
27325         * modules/linebreak: New file.
27326         * MODULES.html.sh (func_all_modules): Add it.
27327
27328 2003-04-04  Bruno Haible  <bruno@clisp.org>
27329
27330         * m4/linebreak.m4: New file.
27331
27332 2003-04-04  Bruno Haible  <bruno@clisp.org>
27333
27334         * lib/linebreak.h: New file, from GNU gettext.
27335         * lib/linebreak.c: New file, from GNU gettext with slight
27336         modifications.
27337         * lib/lbrkprop.h: New file, from GNU gettext.
27338
27339 2003-04-03  Bruno Haible  <bruno@clisp.org>
27340
27341         * modules/utf8-ucs4: New file.
27342         * modules/utf16-ucs4: New file.
27343         * modules/ucs4-utf8: New file.
27344         * modules/ucs4-utf16: New file.
27345         * MODULES.html.sh (func_all_modules): Add them.
27346
27347 2003-04-03  Bruno Haible  <bruno@clisp.org>
27348
27349         * m4/utf-ucs4.m4: New file.
27350         * m4/ucs4-utf.m4: New file.
27351
27352 2003-04-03  Bruno Haible  <bruno@clisp.org>
27353
27354         * lib/utf8-ucs4.h: New file, from GNU gettext.
27355         * lib/utf16-ucs4.h: New file, from GNU gettext.
27356         * lib/ucs4-utf8.h: New file, from GNU gettext.
27357         * lib/ucs4-utf16.h: New file, from GNU gettext.
27358
27359 2003-04-02  Bruno Haible  <bruno@clisp.org>
27360
27361         * modules/binary-io: New file.
27362         * MODULES.html.sh (func_all_modules): Add it.
27363
27364 2003-04-02  Bruno Haible  <bruno@clisp.org>
27365
27366         * lib/binary-io.h: New file, from GNU gettext.
27367
27368 2003-04-01  Bruno Haible  <bruno@clisp.org>
27369
27370         * modules/pathname: New file.
27371         * MODULES.html.sh (func_all_modules): Add it.
27372
27373 2003-04-01  Bruno Haible  <bruno@clisp.org>
27374
27375         * lib/pathname.h: New file, from GNU gettext.
27376         * lib/concatpath.c: New file, from GNU gettext.
27377
27378 2003-03-30  Bruno Haible  <bruno@clisp.org>
27379
27380         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
27381
27382 2003-03-30  Bruno Haible  <bruno@clisp.org>
27383
27384         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
27385         function chown() doesn't exist.
27386
27387 2003-03-28  Bruno Haible  <bruno@clisp.org>
27388
27389         * modules/copy-file: New file.
27390         * MODULES.html.sh (func_all_modules): Add it.
27391
27392 2003-03-28  Bruno Haible  <bruno@clisp.org>
27393
27394         * m4/copy-file.m4: New file.
27395
27396 2003-03-28  Bruno Haible  <bruno@clisp.org>
27397
27398         * lib/copy-file.h: New file, from GNU gettext.
27399         * lib/copy-file.c: New file, from GNU gettext.
27400
27401 2003-03-18  Jim Meyering  <jim@meyering.net>
27402
27403         * lib/quote.c (quote_n): Fix typo in comment.
27404
27405 2003-03-18  Bruno Haible  <bruno@clisp.org>
27406
27407         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
27408         checking.
27409         * m4/onceonly_2_57.m4: Likewise.
27410
27411 2003-03-17  Bruno Haible  <bruno@clisp.org>
27412
27413         * m4/onceonly.m4: Require autoconf 2.54 or newer.
27414         (m4_quote): Remove macro.
27415         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
27416
27417 2003-03-14  Jim Meyering  <jim@meyering.net>
27418
27419         Merge changes from Coreutils.
27420         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
27421         to be const, in order to avoid warnings.
27422         (obstack_room): Likewise.
27423         (obstack_empty_p): Likewise.
27424
27425 2003-03-14  Bruno Haible  <bruno@clisp.org>
27426
27427         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
27428         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
27429
27430 2003-03-13  Paul Eggert  <eggert@twinsun.com>
27431
27432         Merge changes from Bison.
27433         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
27434         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
27435         when compiling Bison 1.875's `bitset bset = obstack_alloc
27436         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
27437         * lib/hash.c: Include <stdbool.h> unconditionally.
27438
27439 2003-03-13  Paul Eggert  <eggert@twinsun.com>
27440
27441         * m4/onceonly.m4 (m4_quote): New macro.
27442         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
27443         Quote AC_FOREACH variable-expansions properly.
27444
27445 2003-03-13  Paul Eggert  <eggert@twinsun.com>
27446
27447         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
27448
27449 2003-03-09  Paul Eggert  <eggert@twinsun.com>
27450
27451         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
27452         Reported by Bruce Becker; see:
27453         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
27454
27455 2003-03-03  Paul Eggert  <eggert@twinsun.com>
27456             Bruno Haible  <bruno@clisp.org>
27457
27458         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
27459         Reported by John Hughes, see
27460         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
27461
27462 2003-02-20  Bruno Haible  <bruno@clisp.org>
27463
27464         * MODULES.html.sh (func_all_modules): Add poll.
27465
27466 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
27467
27468         * modules/poll: New file.
27469
27470 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
27471
27472         * lib/poll_.h: New file.
27473         * lib/poll.c: New file.
27474
27475 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
27476
27477         * m4/poll.m4: New file.
27478
27479 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
27480
27481         * modules/mathl: New file.
27482
27483 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
27484
27485         * lib/mathl.h: New file.
27486         * lib/acosl.c: New file.
27487         * lib/asinl.c: New file.
27488         * lib/atanl.c: New file.
27489         * lib/ceill.c: New file.
27490         * lib/cosl.c: New file.
27491         * lib/expl.c: New file.
27492         * lib/floorl.c: New file.
27493         * lib/frexpl.c: New file.
27494         * lib/ldexpl.c: New file.
27495         * lib/logl.c: New file.
27496         * lib/sincosl.c: New file.
27497         * lib/sinl.c: New file.
27498         * lib/sqrtl.c: New file.
27499         * lib/tanl.c: New file.
27500         * lib/trigl.c: New file.
27501         * lib/trigl.h: New file.
27502
27503 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
27504
27505         * m4/mathl.m4: New file.
27506
27507 2003-02-18  Bruno Haible  <bruno@clisp.org>
27508
27509         * MODULES.html.sh (func_all_modules): Add mathl.
27510
27511 2003-02-17  Bruno Haible  <bruno@clisp.org>
27512
27513         * modules/mkdtemp: New module.
27514         * MODULES.html.sh (func_all_modules): Add it.
27515
27516 2003-02-17  Bruno Haible  <bruno@clisp.org>
27517
27518         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
27519
27520 2003-02-17  Bruno Haible  <bruno@clisp.org>
27521
27522         * lib/mkdtemp.h: New file, from GNU gettext.
27523         * lib/mkdtemp.c: New file, from GNU gettext.
27524
27525 2003-02-02  Jim Meyering  <jim@meyering.net>
27526
27527         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
27528         e.g. glibc-2.2.93.
27529
27530 2003-01-31  Bruno Haible  <bruno@clisp.org>
27531
27532         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
27533         'rpl_rename'.
27534         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
27535         'rpl_strnlen'.
27536         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
27537         'rpl_strtod'.
27538         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
27539         'rpl_utime'.
27540
27541 2003-01-31  Bruno Haible  <bruno@clisp.org>
27542
27543         * lib/rename.c: #undef rename before defining rpl_rename.
27544         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
27545
27546 2003-01-30  Bruno Haible  <bruno@clisp.org>
27547
27548         * modules/vasnprintf, modules/vasprintf: New modules.
27549         * MODULES.html.sh (func_all_modules): Add them.
27550
27551 2003-01-30  Bruno Haible  <bruno@clisp.org>
27552
27553         * m4/signed.m4: New file, from GNU gettext.
27554         * m4/longdouble.m4: New file, from GNU gettext.
27555         * m4/wchar_t.m4: New file, from GNU gettext.
27556         * m4/wint_t.m4: New file, from GNU gettext.
27557         * m4/vasnprintf.m4: New file.
27558         * m4/vasprintf.m4: New file.
27559
27560 2003-01-30  Bruno Haible  <bruno@clisp.org>
27561
27562         * lib/printf-args.h: New file, from GNU gettext.
27563         * lib/printf-args.c: New file, from GNU gettext.
27564         * lib/printf-parse.h: New file, from GNU gettext.
27565         * lib/printf-parse.c: New file, from GNU gettext.
27566         * lib/vasnprintf.h: New file, from GNU gettext.
27567         * lib/vasnprintf.c: New file, from GNU gettext.
27568         * lib/asnprintf.c: New file, from GNU gettext.
27569         * lib/vasprintf.h: New file, from GNU gettext with modifications.
27570         * lib/vasprintf.c: New file, from GNU gettext.
27571         * lib/asprintf.c: New file, from GNU gettext.
27572
27573 2003-01-29  Bruno Haible  <bruno@clisp.org>
27574
27575         * modules/stpncpy: New module.
27576         * MODULES.html.sh (func_all_modules): Add it.
27577
27578 2003-01-29  Bruno Haible  <bruno@clisp.org>
27579
27580         * m4/stpncpy.m4: New file.
27581
27582 2003-01-29  Bruno Haible  <bruno@clisp.org>
27583
27584         * lib/stpncpy.h: New file, from GNU gettext with modifications.
27585         * lib/stpncpy.c: New file, from GNU gettext with modifications.
27586
27587 2003-01-28  Bruno Haible  <bruno@clisp.org>
27588
27589         * modules/c-ctype: New module.
27590         * MODULES.html.sh (func_all_modules): Add it.
27591
27592 2003-01-28  Bruno Haible  <bruno@clisp.org>
27593
27594         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
27595         Paul Eggert.
27596         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
27597         Paul Eggert.
27598
27599 2003-01-27  Bruno Haible  <bruno@clisp.org>
27600
27601         * modules/xsetenv: New module.
27602         * MODULES.html.sh (func_all_modules): Add it.
27603
27604 2003-01-27  Bruno Haible  <bruno@clisp.org>
27605
27606         * lib/xsetenv.h: New file, from GNU gettext.
27607         * lib/xsetenv.c: New file, from GNU gettext.
27608
27609 2003-01-23  Jim Meyering  <jim@meyering.net>
27610
27611         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
27612         from working on systems without dirfd (at least Irix and OSF1/Tru64).
27613
27614 2003-01-23  Bruno Haible  <bruno@clisp.org>
27615
27616         * modules/minmax: New module.
27617         * MODULES.html.sh (func_all_modules): Add it.
27618
27619 2003-01-23  Bruno Haible  <bruno@clisp.org>
27620
27621         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
27622         Eggert.
27623
27624 2003-01-22  Bruno Haible  <bruno@clisp.org>
27625
27626         * modules/exit: New module.
27627         * MODULES.html.sh (func_all_modules): Add it.
27628
27629 2003-01-22  Bruno Haible  <bruno@clisp.org>
27630
27631         * lib/exit.h: New file, from GNU gettext.
27632
27633 2003-01-19  Bruno Haible  <bruno@clisp.org>
27634
27635         * gnulib-tool: Recognize option --extract-maintainer.
27636         (func_get_maintainer): New function.
27637         * modules/*: Add Maintainer entry.
27638
27639 2003-01-16  Jim Meyering  <jim@meyering.net>
27640
27641         * m4/regex.m4: The `regex' struct is both input and output.
27642         Initialize it before each use.  Patch by Tim Waugh.
27643
27644 2003-01-16  Bruno Haible  <bruno@clisp.org>
27645
27646         * MODULES.html.sh: Add a table of contents. Add the module name as
27647         leftmost column. Add hyperlinks.
27648
27649 2003-01-15  Bruno Haible  <bruno@clisp.org>
27650
27651         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
27652
27653 2003-01-15  Bruno Haible  <bruno@clisp.org>
27654
27655         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
27656         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
27657         suffix.
27658
27659 2003-01-15  Bruno Haible  <bruno@clisp.org>
27660
27661         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
27662
27663 2003-01-15  Bruno Haible  <bruno@clisp.org>
27664
27665         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
27666         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
27667
27668 2003-01-14  Jim Meyering  <jim@meyering.net>
27669
27670         * lib/same.c (same_name): Tweak a comment.
27671
27672 2003-01-14  Bruno Haible  <bruno@clisp.org>
27673
27674         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
27675         when a string comparison is sufficient.
27676
27677 2003-01-14  Bruno Haible  <bruno@clisp.org>
27678
27679         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
27680         'unsigned int'.
27681
27682 2003-01-14  Bruno Haible  <bruno@clisp.org>
27683
27684         * lib/hash-pjw.c: Add comment about low quality of this function.
27685
27686 2003-01-13  Bruno Haible  <bruno@clisp.org>
27687
27688         * modules/stpcpy: Distribute lib/stpcpy.h.
27689         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
27690
27691 2003-01-13  Bruno Haible  <bruno@clisp.org>
27692
27693         * modules/*: Add a description.
27694         * modules/strpbrk: Fix Makefile.am snippet.
27695         * modules/strtoimax: Fix dependencies.
27696         * modules/strtoumax: Likewise.
27697
27698 2003-01-13  Bruno Haible  <bruno@clisp.org>
27699
27700         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
27701         * modules/alloca (Makefile.am): All object files depend on alloca.h.
27702         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
27703
27704 2003-01-13  Bruno Haible  <bruno@clisp.org>
27705
27706         * gnulib-tool (func_create_testdir): Store config/* files in the main
27707         directory.
27708         * config.rpath: Move to ...
27709         * config/config.rpath: ... here.
27710         * modules/gettext: Contains config/config.rpath, not config.rpath.
27711         * modules/iconv: Likewise.
27712
27713 2003-01-12  Paul Eggert  <eggert@twinsun.com>
27714
27715         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
27716         to avoid collisions with libcurses and libreadline.
27717
27718         * m4/getstr.m4: Remove.
27719         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
27720
27721 2003-01-12  Paul Eggert  <eggert@twinsun.com>
27722
27723         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
27724         to avoid collisions with libcurses and libreadline.
27725
27726         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
27727         * lib/getstr.h, getstr.c: Remove.
27728         * lib/getline.c: Include "getline.h", to check interface.
27729         Move body of old getstr.c here: this defines MIN_CHUNK and
27730         declares getdelim2, which is renamed from getstr.
27731         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
27732
27733         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
27734         All uses changed.
27735         * lib/linebuffer.h: Likewise.
27736         (readline): Remove backward-compatibility macro.
27737
27738 2003-01-12  Paul Eggert  <eggert@twinsun.com>
27739
27740         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
27741         to avoid collisions with libcurses and libreadline.
27742         * getstr: Remove.
27743         * MODULES.html.sh: Remove getstr.
27744         * modules/getline: Depend on unlocked-io, not getstr.
27745
27746 2003-01-12  Jim Meyering  <jim@meyering.net>
27747
27748         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
27749
27750 2003-01-10  Bruno Haible  <bruno@clisp.org>
27751
27752         * modules/alloca: Change Makefile.am requirements. Simplify Include
27753         requirements. Add lib/alloca_.h to file list.
27754
27755 2003-01-10  Bruno Haible  <bruno@clisp.org>
27756
27757         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
27758
27759 2003-01-10  Bruno Haible  <bruno@clisp.org>
27760
27761         * lib/alloca_.h: New file.
27762         * lib/getdate.y: Unconditionally include alloca.h.
27763         * lib/makepath.c: Likewise.
27764         * lib/setenv.c: Likewise.
27765         * lib/userspec.c: Likewise.
27766
27767 2003-01-09  Karl Berry  <karl@gnu.org>
27768
27769         * MODULES.html.sh: include `dirname $0` in PATH, to find
27770         gnulib-tool.
27771
27772 2003-01-09  Bruno Haible  <bruno@clisp.org>
27773
27774         * modules/stdbool: Change configure.ac, Makefile.am requirements.
27775         Simplify Include requirements. Add lib/stdbool.h.in to file list.
27776
27777 2003-01-09  Bruno Haible  <bruno@clisp.org>
27778
27779         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
27780
27781 2003-01-09  Bruno Haible  <bruno@clisp.org>
27782
27783         * lib/stdbool.h.in: New file.
27784
27785 2003-01-09  Bruno Haible  <bruno@clisp.org>
27786
27787         * gnulib-tool (func_all_modules): Ignore files ending in ~.
27788         * MODULES.html.sh: Likewise.
27789
27790 2003-01-08  Jim Meyering  <jim@meyering.net>
27791
27792         * lib/full-write.c: Undefine and define-away `const' after inclusion
27793         of errno.h, not before.  Suggestion from Bruno Haible.
27794
27795 2003-01-08  Bruno Haible  <bruno@clisp.org>
27796
27797         * modules/full-read: Depend on full-write.
27798
27799 2003-01-08  Bruno Haible  <bruno@clisp.org>
27800
27801         * lib/safe-read.c: Include specification header first, to ensure its
27802         selfcontainedness.
27803         * lib/full-write.c: Likewise.
27804
27805 2003-01-07  Jim Meyering  <jim@meyering.net>
27806
27807         * lib/full-write.c: Rework so that it may serve to define full_read,
27808         too.
27809         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
27810
27811 2003-01-07  Bruno Haible  <bruno@clisp.org>
27812
27813         * lib/strtoimax.c: Include <stdint.h> as an alternative to
27814         <inttypes.h>.
27815         * lib/xstrtol.h: Likewise.
27816         * lib/xstrtoimax.c: Likewise.
27817         * lib/xstrtoumax.c: Likewise.
27818         * lib/human.h: Likewise.
27819
27820         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
27821         on systems that have <inttypes.h> but not <stdint.h>.
27822
27823 2003-01-07  Bruno Haible  <bruno@clisp.org>
27824
27825         * MODULES.html.sh: Add copyright notice.
27826         (missed_files): Omit CVS directory entries.
27827         (func_module): Make it work with sed-3.02.
27828         * MODULES.txt: Remove file.
27829
27830 2003-01-06  Jim Meyering  <jim@meyering.net>
27831
27832         * lib/version-etc.c: Update year in translatable copyright string.
27833
27834 2003-01-03  Karl Berry  <karl@gnu.org>
27835
27836         * config/config.{guess,sub}: update from prep.
27837
27838 2003-01-02  Karl Berry  <karl@gnu.org>
27839
27840         * doc/COPYING.DOC: belatedly updated to 1.2.
27841
27842 2003-01-01  Karl Berry  <karl@gnu.org>
27843
27844         * gnulib-tool (func_verify_module): report module name $module in
27845         error message, not $1.
27846         * gnulib-tool (create-testdir): don't complain if destdir couldn't
27847         be created, only if it doesn't exist.
27848         * gnulib-tool (last_checkin_date): don't expand the $Date here.
27849
27850 2002-12-31  Paul Eggert  <eggert@twinsun.com>
27851
27852         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
27853
27854 2002-12-31  Paul Eggert  <eggert@twinsun.com>
27855
27856         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
27857         memcmp if strcoll doesn't work.
27858
27859 2002-12-31  Bruno Haible  <bruno@clisp.org>
27860
27861         * lib/utime.c (utime_null): No need to call ftruncate if the file was
27862         nonempty.
27863
27864 2002-12-31  Bruno Haible  <bruno@clisp.org>
27865
27866         * lib/memcoll.c (STRCOLL): New macro.
27867         (memcoll): Use it.
27868
27869 2002-12-31  Bruno Haible  <bruno@clisp.org>
27870
27871         * lib/localcharset.h: New file.
27872         * lib/localcharset.c: Include it.
27873         * lib/unicodeio.c: Likewise.
27874
27875 2002-12-31  Bruno Haible  <bruno@clisp.org>
27876
27877         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
27878         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
27879
27880 2002-12-31  Bruno Haible  <bruno@clisp.org>
27881
27882         * lib/getline.h: Include <stddef.h>, for size_t.
27883
27884         * lib/unicodeio.h: Include <stddef.h>, for size_t.
27885         * lib/unicodeio.c: Don't include <stddef.h>.
27886
27887 2002-12-31  Bruno Haible  <bruno@clisp.org>
27888
27889         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
27890         HAVE_TM_ZONE.
27891
27892 2002-12-24  Karl Berry  <karl@gnu.org>
27893
27894         * config/config.guess: update from prep.
27895
27896 2002-12-24  Bruno Haible  <bruno@clisp.org>
27897
27898         General infrasructure.
27899         * m4/README: Rewritten.
27900         * m4/onceonly.m4: New file.
27901         * m4/onceonly_2_57.m4: New file.
27902
27903         Module atexit.
27904         * m4/atexit.m4: New file.
27905
27906         Module strtod.
27907         * m4/strtod.m4: New file.
27908
27909         Module strtol.
27910         * m4/strtol.m4: New file.
27911
27912         Module strtoul.
27913         * m4/strtoul.m4: New file.
27914
27915         Module memchr.
27916         * m4/memchr.m4: New file.
27917
27918         Module memcmp.
27919         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
27920         (jm_FUNC_MEMCMP): Invoke it.
27921
27922         Module memcpy.
27923         * m4/memcpy.m4: New file.
27924
27925         Module memmove.
27926         * m4/memmove.m4: New file.
27927
27928         Module memset.
27929         * m4/memset.m4: New file.
27930
27931         Module strcspn.
27932         * m4/strcspn.m4: New file.
27933
27934         Module strpbrk.
27935         * m4/strpbrk.m4: New file.
27936
27937         Module strstr.
27938         * m4/strstr.m4: New file.
27939
27940         Module strerror.
27941         * m4/strerror.m4: New file.
27942
27943         Module mktime.
27944         * m4/mktime.m4: Renamed from jm-mktime.m4.
27945         (gl_PREREQ_MKTIME): New macro.
27946         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
27947
27948         Module malloc.
27949         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
27950         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
27951         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
27952
27953         Module realloc.
27954         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
27955         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
27956         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
27957
27958         Module strftime.
27959         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
27960         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
27961         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
27962         gl_TM_GMTOFF.
27963         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
27964
27965         Module xalloc.
27966         * m4/xalloc.m4: New file.
27967
27968         Module alloca.
27969         * m4/alloca.m4: New file.
27970
27971         Module putenv.
27972         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
27973         (jm_FUNC_PUTENV): Invoke it.
27974
27975         Module setenv.
27976         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
27977         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
27978         when invoked twice.
27979         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
27980         gt_FUNC_SETENV.
27981
27982         Module memrchr.
27983         * m4/memrchr.m4: New file.
27984
27985         Module stpcpy.
27986         * m4/stpcpy.m4: New file.
27987
27988         Module strcase.
27989         * m4/strcase.m4: New file.
27990
27991         Module strdup.
27992         * m4/strdup.m4: New file.
27993
27994         Module strnlen.
27995         * m4/strnlen.m4: New file.
27996
27997         Module strndup.
27998         * m4/strndup.m4: New file.
27999
28000         Module xstrtod.
28001         * m4/xstrtod.m4: New file.
28002
28003         Module xstrtol.
28004         * m4/xstrtol.m4: New file.
28005
28006         Module getdate.
28007         * m4/getdate.m4: New file.
28008
28009         Module unlocked-io.
28010         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
28011         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
28012         * m4/jm-glibc-io.m4n: Remove file.
28013
28014         Module long-options.
28015         * m4/long-options.m4: New file.
28016
28017         Module md5.
28018         * m4/md5.m4: New file.
28019
28020         Module sha.
28021         * m4/sha.m4: New file.
28022
28023         Module getstr.
28024         * m4/getstr.m4: New file.
28025
28026         Module getline.
28027         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
28028         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
28029         <sys/types.h>, for size_t. Use the function name gnu_getline, not
28030         simply getline. Infoke gl_PREREQ_GETLINE.
28031
28032         Module obstack.
28033         * m4/obstack.m4: New file.
28034
28035         Module hash.
28036         * m4/hash.m4: New file.
28037
28038         Module readtokens.
28039         * m4/readtokens.m4: New file.
28040
28041         Module strverscmp.
28042         * m4/strverscmp.m4: New file.
28043
28044         Module stdbool.
28045         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
28046         OSF/1.
28047
28048         Module strtoll.
28049         * m4/strtoll.m4: New file.
28050
28051         Module strtoull.
28052         * m4/strtoull.m4: New file.
28053
28054         Module strtoimax.
28055         * m4/strtoimax.m4: New file.
28056
28057         Module strtoumax.
28058         * m4/strtoumax.m4: New file.
28059
28060         Module xstrtoimax.
28061         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
28062         jm_AC_PREREQ_XSTRTOIMAX.
28063         Moved the strtol prerequisites to strtol.m4.
28064         Moved the strtoll prerequisites to strtoll.m4.
28065         Moved the strtoimax prerequisites to strtoimax.m4.
28066
28067         Module xstrtoumax.
28068         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
28069         jm_AC_PREREQ_XSTRTOUMAX.
28070         Moved the strtoul prerequisites to strtoul.m4.
28071         Moved the strtoull prerequisites to strtoull.m4.
28072         Moved the strtoumax prerequisites to strtoumax.m4.
28073
28074         Module chown.
28075         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
28076         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
28077
28078         Module dup2.
28079         * m4/dup2.m4: New file.
28080
28081         Module ftruncate.
28082         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
28083         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
28084
28085         Module getgroups.
28086         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
28087         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
28088
28089         Module gettimeofday.
28090         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
28091         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
28092         gl_PREREQ_GETTIMEOFDAY.
28093
28094         Module mkdir.
28095         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
28096         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
28097
28098         Module mkstemp.
28099         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
28100         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
28101         jm_AC_TYPE_UINTMAX_T.
28102         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
28103
28104         Module stat.
28105         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
28106         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
28107
28108         Module lstat.
28109         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
28110         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
28111
28112         Module timespec.
28113         * m4/timespec.m4 (gl_TIMESPEC): New macro.
28114         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
28115         * m4/st_mtim.m4: Indentation.
28116
28117         Module nanosleep.
28118         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
28119         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
28120         gl_PREREQ_NANOSLEEP.
28121
28122         Module regex.
28123         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
28124         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
28125         (gl_REGEX): New macro.
28126
28127         Module rename.
28128         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
28129         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
28130
28131         Module rmdir.
28132         * m4/rmdir.m4: New file.
28133
28134         Module utime.
28135         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
28136         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
28137         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
28138
28139         Module dirname.
28140         * m4/dirname.m4: New file.
28141
28142         Module getopt.
28143         * m4/getopt.m4: New file.
28144
28145         Module unistd-safer.
28146         * m4/unistd-safer.m4: New file.
28147
28148         Module fnmatch.
28149         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
28150         declaration.
28151         (gl_PREREQ_FNMATCH_EXTRA): New macro.
28152         (gl_FUNC_FNMATCH_POSIX): New macro.
28153         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
28154         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
28155         simply fnmatch.
28156
28157         Module exclude.
28158         * m4/exclude.m4: New file.
28159
28160         Module human.
28161         * m4/human.m4: New file.
28162
28163         Module acl.
28164         * m4/acl.m4: Nop.
28165
28166         Module backupfile.
28167         * m4/backupfile.m4: New file.
28168         * m4/d-ino.m4: Indentation.
28169
28170         Module fsusage.
28171         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
28172         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
28173         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
28174
28175         Module dirfd.
28176         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
28177         requirements.
28178
28179         Module euidaccess.
28180         * m4/euidaccess.m4: New file.
28181
28182         Module file-type.
28183         * m4/file-type.m4: New file.
28184
28185         Module fileblocks.
28186         * m4/fileblocks.m4: New file.
28187
28188         Module filemode.
28189         * m4/filemode.m4: New file.
28190
28191         Module isdir.
28192         * m4/isdir.m4: New file.
28193
28194         Module lchown.
28195         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
28196         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
28197
28198         Module makepath.
28199         * m4/makepath.m4: New file.
28200
28201         Module modechange.
28202         * m4/modechange.m4: New file.
28203
28204         Module mountlist.
28205         * m4/mountlist.m4: New file.
28206         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
28207         Indentation.
28208
28209         Module path-concat.
28210         * m4/path-concat.m4: New file.
28211
28212         Module pathmax.
28213         * m4/pathmax.m4: New file.
28214
28215         Module same.
28216         * m4/same.m4: New file.
28217
28218         Module save-cwd.
28219         * m4/save-cwd.m4: New file.
28220
28221         Module savedir.
28222         * m4/savedir.m4: New file.
28223
28224         Module xgetcwd.
28225         * m4/xgetcwd.m4: New file.
28226         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
28227
28228         Module xreadlink.
28229         * m4/xreadlink.m4: New file.
28230
28231         Module safe-read.
28232         * m4/safe-read.m4: New file.
28233
28234         Module safe-write.
28235         * m4/safe-write.m4: New file.
28236
28237         Module closeout.
28238         * m4/closeout.m4: New file.
28239
28240         Module stdio-safer.
28241         * m4/stdio-safer.m4: New file.
28242
28243         Module getpass.
28244         * m4/getpass.m4: New file.
28245
28246         Module getugroups.
28247         * m4/getugroups.m4: New file.
28248
28249         Module group-member.
28250         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
28251         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
28252
28253         Module idcache.
28254         * m4/idcache.m4: New file.
28255
28256         Module userspec.
28257         * m4/userspec.m4: New file.
28258
28259         Module gettime.
28260         * m4/clock_time.m4: New file.
28261         * m4/gettime.m4: New file.
28262
28263         Module settime.
28264         * m4/settime.m4: New file.
28265
28266         Module posixtm.
28267         * m4/posixtm.m4: New file.
28268
28269         Module gethostname.
28270         * m4/gethostname.m4: New file.
28271
28272         Module canon-host.
28273         * m4/canon-host.m4: New file.
28274
28275         Module gettext.
28276         * m4/codeset.m4: New file, from gettext-0.11.5.
28277         * m4/gettext.m4: New file, from gettext-0.11.5.
28278         * m4/glibc21.m4: New file, from gettext-0.11.5.
28279         * m4/iconv.m4: New file, from gettext-0.11.5.
28280         * m4/intdiv0.m4: New file, from gettext-0.11.5.
28281         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
28282         * m4/inttypes.m4: New file, from gettext-0.11.5.
28283         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
28284         * m4/isc-posix.m4: New file, from gettext-0.11.5.
28285         * m4/lcmessage.m4: New file, from gettext-0.11.5.
28286         * m4/lib-ld.m4: New file, from gettext-0.11.5.
28287         * m4/lib-link.m4: New file, from gettext-0.11.5.
28288         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
28289         * m4/progtest.m4: New file, from gettext-0.11.5.
28290         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
28291         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
28292         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
28293
28294         Module localcharset.
28295         * m4/localcharset.m4: New file.
28296
28297         Module hard-locale.
28298         * m4/hard-locale.m4: New file.
28299
28300         Module mbswidth.
28301         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
28302         onceonly macros.
28303         * m4/mbrtowc.m4: Add comment.
28304
28305         Module memcasecmp.
28306         * m4/memcasecmp.m4: New file.
28307
28308         Module memcoll.
28309         * m4/memcoll.m4: New file.
28310
28311         Module unicodeio.
28312         * m4/unicodeio.m4: New file.
28313
28314         Module rpmatch.
28315         * m4/rpmatch.m4: New file.
28316
28317         Module yesno.
28318         * m4/yesno.m4: New file.
28319
28320         Module exitfail.
28321         * m4/exitfail.m4: New file.
28322
28323         Module c-stack.
28324         * m4/c-stack.m4 (gl_C_STACK): New macro.
28325         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
28326
28327         Module error.
28328         * m4/error.m4 (gl_ERROR): New macro.
28329         (jm_PREREQ_ERROR): Use onceonly macros.
28330
28331         Module fatal.
28332         * m4/fatal.m4: New file.
28333
28334         Module getloadavg.
28335         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
28336         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
28337
28338         Module getpagesize.
28339         * m4/getpagesize.m4: New file.
28340
28341         Module getusershell.
28342         * m4/getusershell.m4: New file.
28343
28344         Module physmem.
28345         * m4/physmem.m4: New file.
28346
28347         Module posixver.
28348         * m4/posixver.m4: New file.
28349
28350         Module quotearg.
28351         * m4/quotearg.m4: New file.
28352
28353         Module quote.
28354         * m4/quote.m4: New file.
28355
28356         Module readutmp.
28357         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
28358
28359         Module sig2str.
28360         * m4/sig2str.m4: New file.
28361
28362         Other.
28363         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
28364         ulonglong.m4.
28365         * m4/intmax_t.m4: New file.
28366         * m4/d-type.m4: Indentation.
28367         * m4/jm-macros.m4: Update.
28368         * m4/prereq.m4 (jm_PREREQ): Update.
28369         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
28370         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
28371         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
28372         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
28373         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
28374         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
28375         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
28376         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
28377         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
28378         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
28379         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
28380         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
28381         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
28382         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
28383         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
28384         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
28385         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
28386         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
28387         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
28388
28389 2002-12-24  Bruno Haible  <bruno@clisp.org>
28390
28391         * MODULES.txt: Update according to m4/ changes.
28392
28393         Module gettext.
28394         * config.rpath: New file, from gettext-0.11.5.
28395
28396         * modules/*: New module descriptions.
28397         * gnulib-tool: New file.
28398         * MODULES.html.sh: New file.
28399
28400 2002-12-21  Karl Berry  <karl@gnu.org>
28401
28402         * doc/fdl.texi: update to version 1.2.
28403
28404 2002-12-19  Karl Berry  <karl@gnu.org>
28405
28406         * config/config.guess: update from prep.
28407
28408 2002-12-18  Bruno Haible  <bruno@clisp.org>
28409
28410         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
28411         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
28412
28413 2002-12-17  Bruno Haible  <bruno@clisp.org>
28414
28415         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
28416         stdlib.h, string.h.
28417
28418 2002-12-17  Bruno Haible  <bruno@clisp.org>
28419
28420         * lib/canon-host.c (strdup): Remove unused declaration.
28421
28422         * lib/fsusage.c: Include full_read.h.
28423         (get_fs_usage): Use full_read instead of safe_read.
28424
28425         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
28426
28427 2002-12-12  Karl Berry  <karl@gnu.org>
28428
28429         * config/config.guess: update from prep.
28430
28431 2002-12-11  Bruno Haible  <bruno@clisp.org>
28432
28433         * m4/setenv.m4: New file, from gettext-0.11.5.
28434
28435 2002-12-11  Bruno Haible  <bruno@clisp.org>
28436
28437         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
28438         not unsetenv().
28439         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
28440         modifications:
28441
28442         2002-12-11  Bruno Haible  <bruno@clisp.org>
28443
28444                 * setenv.c (alloca): Fall back to malloc.
28445                 (freea): New macro.
28446                 (setenv): Use freea() to free memory allocated with alloca().
28447
28448         2002-11-13  Bruno Haible  <bruno@clisp.org>
28449
28450                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
28451                 function declarations.
28452                 * unsetenv.c (unsetenv): Likewise.
28453
28454         2002-03-04  Bruno Haible  <bruno@clisp.org>
28455
28456                 Portability to AIX 4.3.3.
28457                 * unsetenv.c: New file, extracted from setenv.c.
28458                 * setenv.c: Move the unsetenv() function to unsetenv.c.
28459
28460         2001-12-20  Bruno Haible  <bruno@clisp.org>
28461
28462                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
28463                 use malloc instead. For SunOS 4.
28464
28465         2001-12-11  Bruno Haible  <bruno@clisp.org>
28466
28467                 * setenv.c: Declare alloca.
28468                 (compar_fn_t): New typedef.
28469                 (KNOWN_VALUE, STORE_VALUE): Use it.
28470
28471         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
28472         setenv.h.
28473
28474 2002-12-10  Paul Eggert  <eggert@twinsun.com>
28475
28476         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
28477         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
28478         Choose values that are less likely to collide with system fnmatch
28479         options.
28480         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
28481         defined (e.g., a pure POSIX system).
28482         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
28483         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
28484
28485 2002-12-06  Paul Eggert  <eggert@twinsun.com>
28486
28487         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
28488         a pain in practice to deal with generated m4 files.  This change
28489         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
28490
28491         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
28492         and jm-glibc-io.m4, as they are no longer a special case.
28493         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
28494         kludge and the auto-generation stuff.  Check only whether the
28495         functions are declared, not whether they exist, since older hosts
28496         that don't declare the functions can't use the optimization anyway.
28497
28498 2002-12-06  Jim Meyering  <jim@meyering.net>
28499
28500         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
28501
28502         Merge in changes from libc's misc/error.c, in preparation
28503         for the merge of gnulib's changes back into libc.
28504
28505         * lib/error.c (_): Define only if not already defined.
28506         Move definition to follow all #include directives.
28507         Include unlocked-io.h only if !_LIBC.
28508         [_LIBC]: Include <libio/libioP.h>.
28509         [USE_IN_LIBIO]: Include <libio/iolibio.h>
28510         (fflush): Tweak definition to use INTUSE.
28511         (putc): Define.
28512
28513 2002-12-05  Paul Eggert  <eggert@twinsun.com>
28514
28515         * lib/alloca.c [defined emacs]: Include "lisp.h".
28516         (xalloc_die) [defined emacs]: New macro.
28517         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
28518         [! defined emacs]: Include <xalloc.h>.
28519         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
28520         (pointer): Typedef to POINTER_TYPE *.
28521         (malloc): Remove decl; we now always use xmalloc.
28522         (alloca): Use old-style definition, since Emacs needs this.
28523         Check for arithmetic overflow when computing combined size.
28524
28525 2002-12-04  Paul Eggert  <eggert@twinsun.com>
28526
28527         Do not generate unlocked-io.h automatically, since it's easier to
28528         maintain it by hand.
28529
28530         * lib/unlocked-io.h: New file, from GNU diffutils,
28531         but with proper copyright notice and attribution.
28532         * lib/gen-uio: Remove.
28533         * lib/Makefile.am: Add copyright notice.
28534         (libfetish_a_SOURCES): Add unlocked-io.h.
28535         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
28536         (DISTCLEANFILES, io_functions): Remove macros.
28537         (EXTRA_DIST): Remove gen_uio.
28538         (unlocked-io.h): Remove rule.
28539
28540 2002-12-04  Jim Meyering  <jim@meyering.net>
28541
28542         Reflect the fact that stat.c and lstat.c are no longer generated.
28543         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
28544         (DISTCLEANFILES): Likewise.
28545         (EXTRA_DIST): Likewise.
28546         (all_local): Don't depend on stat.c or lstat.c.
28547         (stat.c, lstat.c): Remove rules.
28548         (EXTRA_DIST): Remove xstat.in.
28549
28550         * lib/xstat.in: Remove file.  Contents moved into stat.c.
28551         * lib/stat.c: New file.  Contents mostly from xstat.in.
28552         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
28553         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
28554
28555         * lib/safe-read.c: Rework so that it may serve to define safe_write,
28556         too.
28557         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
28558
28559 2002-12-03  Jim Meyering  <jim@meyering.net>
28560
28561         * lib/safe-read.c, safe-write.c: Change variable names and comments,
28562         but not semantics, to minimize the differences between these two files.
28563         (safe_read): Change comment to mention SAFE_READ_ERROR.
28564
28565         * lib/safe-read.c (IS_EINTR): Define.
28566         (safe_read): Use IS_EINTR in place of in-function cpp directives.
28567
28568 2002-12-02  Jim Meyering  <jim@meyering.net>
28569
28570         * lib/safe-read.c (EINTR): Define.
28571         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
28572         (INT_MAX): Provide fallback.
28573         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
28574
28575         * lib/safe-read.h (SAFE_READ_ERROR): Define.
28576
28577 2002-12-02  Bruno Haible  <bruno@clisp.org>
28578
28579         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
28580         Define, taken from safe-read.c.
28581         (INT_MAX): Provide fallback.
28582         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
28583         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
28584
28585         * lib/safe-read.c (EINTR): Remove definition.
28586         (safe_read): Don't use EINTR if it is absent.
28587
28588 2002-12-01  Jim Meyering  <jim@meyering.net>
28589
28590         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
28591         zero.
28592         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
28593
28594 2002-11-27  Paul Eggert  <eggert@twinsun.com>
28595
28596         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
28597         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
28598         with `if (! (value < limit)) abort ();', for readability.
28599
28600 2002-11-26  Karl Berry  <karl@gnu.org>
28601
28602         * lib/strdup.c: copy from libc again, with jim's ok.
28603         * lib/.cppi-disable: re-add strdup.c
28604
28605 2002-11-25  Karl Berry  <karl@gnu.org>
28606
28607         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
28608         instead of "strtol.c".
28609
28610 2002-11-25  Karl Berry  <karl@gnu.org>
28611
28612         * config/install-sh: update from automake for variable quoting, $0 in
28613         error msgs, etc.
28614
28615         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
28616         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
28617         entry.
28618
28619 2002-11-25  Jim Meyering  <jim@meyering.net>
28620
28621         * lib/mktime.c: Sync from libc, now that it has the latest fix.
28622
28623 2002-11-24  Karl Berry  <karl@gnu.org>
28624
28625         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
28626         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
28627
28628 2002-11-24  Jim Meyering  <jim@meyering.net>
28629
28630         Update from coreutils:
28631
28632         * lib/mktime.c: Merge in changes from libc.
28633
28634         Avoid a link-time failure on some Linux systems.
28635         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
28636         (otherwise).
28637         (__mon_yday): Declare with the STATIC attribute.
28638         (__mktime_internal): Likewise.
28639         Based on a report from Greg Schafer.
28640
28641 2002-11-23  Jim Meyering  <jim@meyering.net>
28642
28643         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
28644         Use `unsigned', not `int', as type of index.
28645
28646         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
28647
28648         * lib/fsusage.c: Remove unneeded parentheses around operands of
28649         `defined'.
28650
28651 2002-11-22  Paul Eggert  <eggert@twinsun.com>
28652
28653         * lib/quotearg.h: Allow multiple inclusion by surrounding with
28654         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
28655         so that we can be included first.
28656         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
28657         * lib/quotearg.c: Include quotearg.h immediately after config.h.
28658         No need to include stddef.h or sys/types.h any more.
28659         Surround local include files with "", not "<>".
28660         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
28661         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
28662         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
28663         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
28664         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
28665         (ISPRINT): Remove; no longer needed now that we assume C89.
28666
28667         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
28668         Preserve errno.
28669
28670         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
28671         quotearg_char): Use SIZE_MAX rather than
28672         (size_t) -1 when we are talking about "infinity".
28673
28674         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
28675
28676 2002-11-22  Paul Eggert  <eggert@twinsun.com>
28677
28678         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
28679         hint that one should use `if (! x) abort ();' rather than `assert
28680         (x);', and anyway it's one less thing to worry about configuring.
28681         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
28682         hash_rehash, hash_insert): Use abort rather than assert.
28683
28684 2002-11-22  Bruno Haible  <bruno@clisp.org>
28685
28686         * lib/safe-read.h: Assume C89. Add comments.
28687         (safe_read): Change return type to size_t.
28688         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
28689         byte counts > SSIZE_MAX correctly.
28690         * lib/safe-write.h: New file.
28691         * lib/safe-write.c: New file.
28692         * lib/full-read.h: New file.
28693         * lib/full-read.c: New file.
28694         * lib/full-write.h: Assume C89. Add comments.
28695         * lib/full-write.c: Include safe-write.h.
28696         (full_write): Rewritten to use safe_write.
28697         Suggested by Jim Meyering and Paul Eggert.
28698
28699 2002-11-21  Jim Meyering  <jim@meyering.net>
28700
28701         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
28702
28703         Merge in changes from the coreutils.
28704
28705         2002-09-25  Paul Eggert  <eggert@twinsun.com>
28706         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
28707         <stdint.h>.
28708         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
28709         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
28710         int.  Work more efficiently if X is the same width as uintmax_t.
28711         Do not compare X to -1, to avoid bogus compiler warning.
28712         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
28713         Don't assume that f_frsize and f_bsize are the same type.
28714
28715         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
28716         warning on FreeBSD.
28717
28718         * lib/makepath.c (make_path): Restore umask *before* creating the final
28719         component.
28720         (make_path): Minor reformatting.
28721
28722         * lib/xmalloc.c: Adjust to work with new autoconf macros,
28723         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
28724         HAVE_MALLOC/HAVE_REALLOC.
28725
28726         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
28727         dummy ones.  At least on GNU/Linux systems, `auto' means something
28728         else.
28729         From Michael Stone.
28730
28731 2002-11-21  Bruno Haible  <bruno@clisp.org>
28732
28733         Remove case insensitive option matching.
28734         * lib/argmatch.h (argcasematch): Remove declaration.
28735         (ARGCASEMATCH): Remove macro.
28736         (__xargmatch_internal): Remove case_sensitive argument.
28737         (XARGMATCH): Update.
28738         (XARGCASEMATCH): Remove macro.
28739         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
28740         case_sensitive argument.
28741         (argcasematch): Remove function.
28742         (__xargmatch_internal): Remove case_sensitive argument.
28743         (main): Use XARGMATCH instead of XARGCASEMATCH.
28744
28745         * lib/xmalloc.c: Change compile-time error message. Add comment about
28746         required autoconf version.
28747
28748 2002-11-20  Paul Eggert  <eggert@twinsun.com>
28749
28750         Merge argmatch cleanups from Bison.  Assume C89.
28751
28752         * lib/argmatch.c: Include config.h here, not in argmatch.h.
28753         Include stdlib.h, for EXIT_FAILURE.
28754         Always include <string.h>, since we assume C89.
28755         (EXIT_FAILURE): Remove pre-C89 bug workaround.
28756         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
28757         Include <stddef.h> instead, since it's all we need for size_t.
28758         (PARAMS): Remove.  All uses removed.
28759         (ARRAY_CARDINALITY): Do not bother to #undef.
28760         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
28761         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
28762         Remove unnecessary parentheses.
28763         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
28764         Insert necessary parentheses.
28765         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
28766         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
28767
28768 2002-11-19  Bruno Haible  <bruno@clisp.org>
28769
28770         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
28771         * lib/mbswidth.h: Include <stddef.h>, for size_t.
28772
28773         * lib/mbswidth.h (PARAMS): Remove macro.
28774         (mbswidth, mbsnwidth): Use ANSI C function declarations.
28775         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
28776
28777         * lib/gcd.h (PARAMS): Remove macro.
28778         (gcd): Use ANSI C function declarations.
28779         * lib/gcd.c (gcd): Likewise.
28780
28781 2002-11-15  Bruno Haible  <bruno@clisp.org>
28782
28783         * lib/strcspn.c: Include <stddef.h>.
28784         (strcspn): Use ANSI C function declaration. Change return type to
28785         size_t. Use NULL.
28786         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
28787         (strpbrk): Use NULL.
28788         * lib/strpbrk.h (PARAMS): Remove macro.
28789         (strpbrk): Use ANSI C function declaration.
28790         * lib/strstr.c: Don't include <sys/types.h>.
28791         * lib/strstr.h (PARAMS): Remove macro.
28792         (strstr): Use ANSI C function declarations.
28793
28794 2002-11-14  Karl Berry  <karl@gnu.org>
28795
28796         * config/mkinstalldirs: `do' on separate line, instead of
28797         `for var; do'.
28798
28799 2002-11-06  Bruno Haible  <bruno@clisp.org>
28800
28801         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
28802         * lib/gcd.c (gcd): Likewise.
28803
28804 2002-11-05  Bruno Haible  <bruno@clisp.org>
28805
28806         * lib/gcd.h: New file, from gettext-0.11.5.
28807         * lib/gcd.c: New file, from gettext-0.11.5.
28808
28809 2002-11-05  Bruno Haible  <bruno@clisp.org>
28810
28811         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
28812         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
28813         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
28814         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
28815
28816         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
28817         <libintl.h>.
28818         * lib/makepath.c: Include gettext.h instead of <locale.h> and
28819         <libintl.h>.
28820
28821         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
28822         * lib/human.c: Include gettext.h instead of <libintl.h>.
28823         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
28824         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
28825         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
28826         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
28827         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
28828         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
28829         (textdomain): Remove definition.
28830         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
28831
28832         * lib/long-options.c: Remove include of <libintl.h> and definition of
28833         _.
28834         * lib/same.c: Remove include of <libintl.h> and definition of _.
28835
28836 2002-11-04  Owen Taylor  <otaylor@redhat.com>
28837
28838         * lib/config.charset: A few additions for Solaris.
28839
28840 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
28841
28842         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
28843         * lib/localcharset.c (locale_charset): Declare as extern "C".
28844
28845 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
28846
28847         * lib/config.charset: msdos in uk_UA uses CP1125.
28848
28849 2002-11-04  Bruno Haible  <bruno@clisp.org>
28850
28851         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
28852         * lib/strcase.h: New file, from GNU gettext-0.11.5.
28853         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
28854         * lib/strstr.h: New file, from GNU gettext-0.11.5.
28855         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
28856
28857 2002-11-04  Bruno Haible  <bruno@clisp.org>
28858
28859         * lib/localcharset.c (locale_charset): Don't return an empty string.
28860
28861 2002-11-04  Bruno Haible  <bruno@clisp.org>
28862
28863         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
28864         aliases.
28865
28866 2002-11-04  Bruno Haible  <bruno@clisp.org>
28867
28868         * lib/config.charset: Update for newest glibc. Add canonical names
28869         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
28870
28871 2002-11-04  Bruno Haible  <bruno@clisp.org>
28872
28873         * lib/config.charset: Add support for NetBSD.
28874
28875 2002-11-04  Bruno Haible  <bruno@clisp.org>
28876
28877         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
28878
28879 2002-11-01  Bruno Haible  <bruno@clisp.org>
28880
28881         * configure.in: Add AC_CONFIG_AUX_DIR call.
28882         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
28883         test/Makefile.
28884         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
28885
28886 2002-09-28  Karl Berry  <karl@gnu.org>
28887
28888         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
28889         installed automake until the next release, since changes have been
28890         made.
28891
28892 2002-09-25  Karl Berry  <karl@gnu.org>
28893
28894         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
28895         * lib/getopt*: copy from libc/posix.
28896         * lib/gettext.h: copy from gettext.
28897         * lib/.cppi-disable: add strdup.c, gettext.h.
28898
28899 2002-09-25  Karl Berry  <karl@gnu.org>
28900
28901         * config/srclist.txt: enable gettext.h check.
28902         * config/config.{guess,sub}: update from prep.
28903         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
28904                 from automake 1.6.3.
28905         See srclist*.
28906
28907 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
28908
28909         * regex.c (PATFETCH): Remove the translating fetch.
28910         (PATFETCH_RAW): Rename to PATFETCH.
28911         (set_image_of_range): New fun.
28912         (SET_RANGE_TABLE_WORK_AREA): Use it.
28913         (regex_compile): Don't translate the pattern chars so eagerly.
28914         Only do it when inserting an `exactn' bytecode or when handling
28915         a char-range.
28916         (mutually_exclusive_p): Avoid empty statement.
28917
28918 2002-07-06  Jim Meyering  <meyering@lucent.com>
28919
28920         * m4/README: Don't mention Makefile.am.in.
28921         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
28922
28923 2002-07-01  Jim Meyering  <meyering@lucent.com>
28924
28925         * lib/c-stack.c: Include sys/time.h.
28926         From Volker Borchert.
28927
28928 2002-06-26  Paul Eggert  <eggert@twinsun.com>
28929
28930         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
28931
28932 2002-06-26  Paul Eggert  <eggert@twinsun.com>
28933
28934         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
28935         New macro.  Use it uniformly instead of
28936         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
28937         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
28938         reported by Vin Shelton.
28939
28940 2002-06-22  Paul Eggert  <eggert@twinsun.com>
28941
28942         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
28943         Do not assume SA_SIGINFO behavior.
28944         Bug reported by Jim Meyering on NetBSD 1.5.2.
28945
28946 2002-06-22  Jim Meyering  <meyering@lucent.com>
28947
28948         * m4/c-stack.m4: New file, from diffutils-2.8.2.
28949         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
28950
28951         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
28952         now that configure.ac uses AC_GNU_SOURCE.
28953         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
28954         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
28955
28956         Update to latest tools.  Suggestions from Paul Eggert.
28957         * m4/stdbool.m4: New file, from diffutils-2.8.2.
28958         * m4/gnu-source.m4: Update from diffutils-2.8.2.
28959         * m4/fnmatch.m4: Likewise.
28960         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
28961         to AC_HEADER_STDBOOL
28962
28963 2002-06-22  Jim Meyering  <meyering@lucent.com>
28964
28965         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
28966         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
28967
28968 2002-06-22  Jim Meyering  <meyering@lucent.com>
28969
28970         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
28971
28972         * lib/exitfail.c, exitfail.h: Likewise.
28973         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
28974
28975         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
28976         of fnmatch.h.
28977         (EXTRA_DIST): Add fnmatch_loop.c.
28978         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
28979
28980         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
28981         * lib/fnmatch.c: Update from diffutils-2.8.2.
28982         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
28983         * lib/fnmatch.h: Remove file.
28984
28985 2002-06-21  Jim Meyering  <meyering@lucent.com>
28986
28987         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
28988         * m4/mbrtowc.m4: Likewise.
28989
28990         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
28991         * m4/mbswidth.m4: Reflect name change:
28992         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
28993         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
28994
28995         * m4/lib-link.m4: Update from gettext-0.11.2.
28996         * m4/gettext.m4: Likewise.
28997
28998         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
28999         From Alfred M. Szmidt.
29000
29001 2002-06-18  Paul Eggert  <eggert@twinsun.com>
29002
29003         * lib/file-type.h: Report an error if neither S_ISREG nor
29004         S_IFREG is defined, instead of using a test specific to glibc
29005         2.2.  This should be safe, since POSIX requires S_ISREG and
29006         Unix Version 7 had S_IFREG.  We don't need to check for
29007         <sys/types.h> since we don't use any symbols that it defines.
29008
29009 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
29010
29011         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
29012         $@-t, so that each temporary file name is unique and valid in the first
29013         8 characters, for operation under DOS.
29014
29015 2002-06-15  Paul Eggert  <eggert@twinsun.com>
29016
29017         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
29018
29019 2002-06-15  Jim Meyering  <meyering@lucent.com>
29020
29021         Work even with DJGPP 2.03, which lacks support for symlinks.
29022         From Richard Dawe.
29023         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
29024         is defined.
29025         * lib/lchown.c (S_ISLNK): Likewise.
29026
29027 2002-06-15  Jim Meyering  <meyering@lucent.com>
29028
29029         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
29030         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
29031         have been included before this file.
29032
29033 2002-06-14  Jim Meyering  <meyering@lucent.com>
29034
29035         * lib/file-type.h: Use the version from diffutils-2.8.2.
29036         * lib/file-type.c: Likewise.
29037
29038 2002-06-07  Jim Meyering  <meyering@lucent.com>
29039
29040         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
29041         They're needed at least for NetBSD 1.5.2.
29042         ($statxfs_includes): Include those same headers.
29043         ($statxfs_includes): Include sys/vfs.h if available.
29044         ($statxfs_includes): Likewise for sys/statvfs.h.
29045         Check for the following members in both structs statfs and statvfs:
29046         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
29047
29048 2002-06-01  Jim Meyering  <meyering@lucent.com>
29049
29050         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
29051         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
29052
29053 2002-05-28  Jim Meyering  <meyering@lucent.com>
29054
29055         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
29056         Reported by Volker Borchert.
29057
29058 2002-05-27  Jim Meyering  <meyering@lucent.com>
29059
29060         Fix a problem seen only on nonconforming systems whereby ls.c's
29061         use of localtime, and then of gettimeofday would cause trouble:
29062         the localtime call used to initialize rpl_gettimeofday's save
29063         mechanism would clobber ls's current local time information so
29064         that in any long listing the first file would always be listed
29065         with date 1970-01-01.  Analysis by Volker Borchert.
29066
29067         * lib/gettimeofday.c (localtime): Undefine.
29068         (rpl_localtime): New function.
29069
29070 2002-05-27  Jim Meyering  <meyering@lucent.com>
29071
29072         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
29073         localtime.
29074
29075         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
29076         use the replacement function; it wouldn't resolve at link time.
29077         Reported by Volker Borchert.
29078
29079 2002-05-22  Jim Meyering  <meyering@lucent.com>
29080
29081         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
29082         file-type.h.
29083         * lib/file-type.h: New file.
29084         * lib/file-type.c (file_type): New file/function.  Extracted from
29085         diffutils.
29086
29087 2002-04-30  Jim Meyering  <meyering@lucent.com>
29088
29089         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
29090
29091 2002-04-29  Paul Eggert  <eggert@twinsun.com>
29092
29093         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
29094
29095 2002-04-29  Paul Eggert  <eggert@twinsun.com>
29096
29097         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
29098         Do not check for alloca.h (no longer used) or stdbool.h (was never
29099         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
29100
29101 2002-04-29  Paul Eggert  <eggert@twinsun.com>
29102
29103         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
29104
29105 2002-04-29  Jim Meyering  <meyering@lucent.com>
29106
29107         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
29108         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
29109         Use AC_FUNC_STRNLEN here instead.
29110
29111         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
29112         With autoconf-2.53a, it's part of AC_PROG_CC.
29113
29114 2002-04-28  Paul Eggert  <eggert@twinsun.com>
29115
29116         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
29117         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
29118
29119 2002-04-28  Paul Eggert  <eggert@twinsun.com>
29120
29121         * lib/sig2str.h, lib/sig2str.c: New files.
29122         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
29123
29124 2002-04-28  Paul Eggert  <eggert@twinsun.com>
29125
29126         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
29127         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
29128         of 127, since 64 is the largest conceivable number for ancient
29129         nonstandard hosts.
29130         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
29131
29132 2002-04-28  Jim Meyering  <meyering@lucent.com>
29133
29134         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
29135
29136 2002-04-24  Jim Meyering  <meyering@lucent.com>
29137
29138         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
29139         (jm_PREREQ): Use it.
29140
29141         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
29142         mach/mach.h fcntl.h.
29143         Check for this function: setlocale.
29144
29145 2002-04-24  Jim Meyering  <meyering@lucent.com>
29146
29147         * lib/gettext.h: New file, from Gettext.
29148         * lib/Makefile.am (INCLUDES): Remove -I../intl.
29149         (libfetish_a_SOURCES): Add gettext.h.
29150
29151 2002-04-16  Jim Meyering  <meyering@lucent.com>
29152
29153         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
29154         ut_pid, ut_id, ut_exit.
29155
29156 2002-04-16  Jim Meyering  <meyering@lucent.com>
29157
29158         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
29159         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
29160         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
29161
29162 2002-04-12  Jim Meyering  <meyering@lucent.com>
29163
29164         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
29165         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
29166         existence of the getmntinfo function.  Needed for Darwin 5.3.
29167
29168         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
29169         This is necessary at least on Darwin 5.3.
29170
29171         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
29172         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
29173         strnlen.o in the library, and that makes some versions of ranlib
29174         object.
29175
29176 2002-04-12  Jim Meyering  <meyering@lucent.com>
29177
29178         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
29179
29180 2002-04-09  Jim Meyering  <meyering@lucent.com>
29181
29182         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
29183         to be more precise.  Rather than saying we're checking whether the
29184         function `works', say what we're testing.
29185         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
29186         Reported by Bruno Haible.
29187
29188 2002-03-10  Jim Meyering  <meyering@lucent.com>
29189
29190         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
29191         Suggestion from Santiago Vila.
29192
29193 2002-03-08  Jim Meyering  <meyering@lucent.com>
29194
29195         * lib/rename.c: Mention that this wrapper is needed also on
29196         mips-dec-ultrix4.4 systems.
29197
29198 2002-03-02  Jim Meyering  <meyering@lucent.com>
29199
29200         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
29201         not HAVE_CLOCK_SETTIME.
29202
29203 2002-02-27  Paul Eggert  <eggert@twinsun.com>
29204
29205         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
29206         Check for clock_settime.
29207
29208 2002-02-27  Paul Eggert  <eggert@twinsun.com>
29209
29210         * lib/nanosleep.h: Rename to....
29211         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
29212
29213         * lib/gettime.c: New file.
29214         * lib/settime.c: New file.
29215         * lib/stime.c: Remove.
29216
29217         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
29218         timespec.h.  Remove nanosleep.h.
29219
29220 2002-02-25  Paul Eggert  <eggert@twinsun.com>
29221
29222         * m4/acl.m4: New file.
29223         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
29224         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
29225
29226 2002-02-25  Paul Eggert  <eggert@twinsun.com>
29227
29228         * lib/acl.c, lib/acl.h: New files.
29229         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
29230
29231 2002-02-24  Jim Meyering  <meyering@lucent.com>
29232
29233         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
29234         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
29235         cause trouble.  Reported by Nelson Beebe.
29236
29237 2002-02-23  Paul Eggert  <eggert@twinsun.com>
29238
29239         * lib/path-concat.c (xpath_concat): Reorder code to pacify
29240         compilers that don't know that xalloc_die never returns.
29241
29242 2002-02-20  Jim Meyering  <meyering@lucent.com>
29243
29244         * lib/getdate.c: Regenerate using bison-1.33.
29245
29246 2002-02-17  Jim Meyering  <meyering@lucent.com>
29247
29248         * config/config.guess (main): Don't use `head -1'; it's no longer
29249         portable. Use `sed 1q' instead.
29250
29251 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
29252
29253         * m4/codeset.m4: Upgrade to gettext-0.11.
29254         * m4/gettext.m4: Upgrade to gettext-0.11.
29255         * m4/glibc21.m4: Upgrade to gettext-0.11.
29256         * m4/iconv.m4: Upgrade to gettext-0.11.
29257         * m4/isc-posix.m4: Upgrade to gettext-0.11.
29258         * m4/lcmessage.m4: Upgrade to gettext-0.11.
29259         * m4/lib-ld.m4: New file, from gettext-0.11.
29260         * m4/lib-link.m4: New file, from gettext-0.11.
29261         * m4/lib-prefix.m4: New file, from gettext-0.11.
29262         * m4/progtest.m4: Upgrade to gettext-0.11.
29263
29264 2002-02-15  Paul Eggert  <eggert@twinsun.com>
29265
29266         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
29267         (jm_PREREQ): Use it.
29268
29269 2002-02-15  Paul Eggert  <eggert@twinsun.com>
29270
29271         * lib/posixver.c, lib/posixver.h: New files.
29272         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
29273
29274 2002-02-02  Paul Eggert  <eggert@twinsun.com>
29275             Bruno Haible  <bruno@clisp.org>
29276
29277         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
29278         (fwrite_success_callback): New declaration.
29279         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
29280         print_unicode_char. Call failure callback instead of error.
29281         (fwrite_success_callback): New function.
29282         (exit_failure_callback): New function.
29283         (fallback_failure_callback): New function.
29284         (print_unicode_char): Call unicode_to_mb.
29285
29286 2002-01-26  Jim Meyering  <meyering@lucent.com>
29287
29288         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
29289         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
29290
29291 2002-01-26  Jim Meyering  <meyering@lucent.com>
29292
29293         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
29294
29295 2002-01-22  Paul Eggert  <eggert@twinsun.com>
29296
29297         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
29298
29299 2002-01-22  Jim Meyering  <meyering@lucent.com>
29300
29301         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
29302         Otherwise, some versions of automake would omit the rule that makes
29303         Makefile from Makefile.in.
29304
29305 2002-01-21  Paul Eggert  <eggert@twinsun.com>
29306
29307         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
29308         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
29309         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
29310         (memcoll): Set errno to zero if there is no error.
29311
29312         * lib/quotearg.c (quotearg_buffer_restyled):
29313         Fix bug with quoting buffers containing NUL when backslashing escapes.
29314         This bug was exposed by the other changes in this patch.
29315         (quotearg_n_options): New arg ARGSIZE.
29316         All callers changed.
29317         (quoting_options_from_style): New function.
29318         (quotearg_n_style): Use it.
29319         (quotearg_n_style_mem): New function.
29320
29321         * lib/quotearg.h (quotearg_n_style_mem): New function.
29322
29323 2002-01-19  Jim Meyering  <meyering@lucent.com>
29324
29325         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
29326         Remove useless quotes: DF_PROG="df".
29327         * m4/strnlen.m4: New file.
29328
29329 2002-01-16  Paul Eggert  <eggert@twinsun.com>
29330
29331         * lib/backupfile.c (ISDIGIT): Comment fix.
29332         * lib/getdate.y (ISDIGIT): Likewise.
29333         * lib/posixtm.c (ISDIGIT, year): Likewise.
29334         * lib/strverscmp.c (ISDIGIT): Likewise.
29335         * lib/userspec.c (ISDIGIT): Likewise.
29336
29337 2002-01-16  Jim Meyering  <meyering@lucent.com>
29338
29339         * lib/getdate.y: Add three semicolons, each just before a closing
29340         brace. Bison (as of version 1.31) no longer papers over that mistake.
29341
29342 2002-01-05  Jim Meyering  <meyering@lucent.com>
29343
29344         * lib/version-etc.c (version_etc_copyright): Update copyright year.
29345
29346 2001-12-19  Paul Eggert  <eggert@twinsun.com>
29347
29348         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
29349         not silently exit merely because the output buffer happens to
29350         have nothing pending.
29351
29352 2001-12-18  Paul Eggert  <eggert@twinsun.com>
29353
29354         See the big note in ../ChangeLog.
29355         * lib/human.c (suffixes): Prefer K to k for 1024.
29356         (generate_suffix_backwards): New function.
29357         (human_readable_inexact): Use it.
29358         * lib/xstrtol.c (__xstrtol): If there is no number but there
29359         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
29360         Accept 'K' as well as 'k'.
29361
29362 2001-12-15  Jim Meyering  <meyering@lucent.com>
29363
29364         * lib/regex.h (__restrict_arr): Update from libc.
29365
29366         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
29367         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
29368         (STREQ): Define.
29369
29370 2001-12-14  Jim Meyering  <meyering@lucent.com>
29371
29372         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
29373         Suggestion from Bruno Haible.
29374
29375 2001-12-10  Jim Meyering  <meyering@lucent.com>
29376
29377         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
29378         xrealloc, Instead, include "xalloc.h".
29379         (initbuffer): Don't cast xmalloc return value to char*.
29380         (readline): Reword comment.
29381         Don't cast xrealloc return value to char*
29382         Return NULL, not 0.
29383
29384 2001-12-09  Jim Meyering  <meyering@lucent.com>
29385
29386         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
29387         about `signed and unsigned type in conditional expression'.
29388         * lib/posixtm.c (posix_time_parse): Likewise.
29389
29390         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
29391
29392         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
29393         to avoid a pedantic warning.
29394
29395         * lib/getstr.c: Don't include assert.h.
29396         (getstr): Remove warning-evoking assertions.
29397         Return -1 if offset parameter is out of bounds.
29398         Change the type of a local from int to size_t.
29399
29400         * lib/strftime.c (my_strftime_localtime_r): Include this function
29401         definition in the `#if ! HAVE_TM_GMTOFF' block.
29402
29403         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
29404         Include xalloc.h instead.
29405
29406 2001-12-02  Jim Meyering  <meyering@lucent.com>
29407
29408         * lib/tempname.c: Don't declare getenv, thus reverting the change of
29409         2001-11-18.  It's no longer necessary, now that stdlib.h is always
29410         included.
29411
29412         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
29413         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
29414
29415 2001-11-30  Akim Demaille  <akim@epita.fr>
29416
29417         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
29418         before being defined.
29419
29420 2001-11-27  Paul Eggert  <eggert@twinsun.com>
29421
29422         * lib/quotearg.h (quotearg_n, quotearg_n_style):
29423         First arg is int, not unsigned.
29424         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
29425         (SIZE_MAX, UINT_MAX): New macros.
29426         (quotearg_n_options): Abort if N is negative.
29427         Avoid overflow check on hosts where size_t is 64 bits and int
29428         is 32 bits, as overflow is impossible there.
29429         Fix off-by-one typo that caused unnecessary reallocation.
29430
29431 2001-11-27  Jim Meyering  <meyering@lucent.com>
29432
29433         * lib/tempname.c: Merge with version from libc.
29434         * lib/regex.c: Likewise.
29435
29436         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
29437         systems for which STDC_HEADERS is 0, it was not included, resulting in
29438         a warning about an integer-to-pointer conversion problem with getenv.
29439         Reported by Volker Borchert.
29440
29441 2001-11-26  Jim Meyering  <meyering@lucent.com>
29442
29443         * lib/gtod.h: Remove file.
29444         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
29445         * lib/gettimeofday.c: Don't include gtod.h.
29446         (GTOD_init): Remove function.
29447         (rpl_gettimeofday): Do its job here instead, rather than aborting.
29448         Suggestion from Volker Borchert.
29449
29450 2001-11-23  Jim Meyering  <meyering@lucent.com>
29451
29452         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
29453         it.
29454         * lib/hash.c (struct hash_table): Define it here instead.
29455
29456 2001-11-22  Jim Meyering  <meyering@lucent.com>
29457
29458         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
29459
29460 2001-11-20  Jim Meyering  <meyering@lucent.com>
29461
29462         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
29463         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
29464
29465 2001-11-19  Jim Meyering  <meyering@lucent.com>
29466
29467         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
29468         directory.  Use "conftestXXXXXX" as the template.
29469         Suggestion from Paul Eggert.
29470
29471         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
29472         immediately, so the test doesn't mistakenly hit the max-open-files
29473         limit.
29474
29475 2001-11-18  Paul Eggert  <eggert@twinsun.com>
29476
29477         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
29478         (TEMPORARIES): New macro.
29479         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
29480         removes an artificial limitation (e.g. HP-UX 10.20, where
29481         TMP_MAX is 17576).
29482
29483 2001-11-18  Jim Meyering  <meyering@lucent.com>
29484
29485         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
29486
29487 2001-11-18  Jim Meyering  <meyering@lucent.com>
29488
29489         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
29490         on SunOS 4.
29491
29492         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
29493         files will be created before anything else.
29494
29495 2001-11-17  Paul Eggert  <eggert@twinsun.com>
29496
29497         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
29498         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
29499
29500 2001-11-17  Jim Meyering  <meyering@lucent.com>
29501
29502         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
29503         Prompted by a report from Bob Proulx.
29504
29505         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
29506         Instead, require UTILS_FUNC_MKSTEMP.
29507
29508 2001-11-17  Jim Meyering  <meyering@lucent.com>
29509
29510         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
29511         Now, that's done as part of AC_FUNC_STRTOD.
29512
29513 2001-11-17  Jim Meyering  <meyering@lucent.com>
29514
29515         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
29516         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
29517         rather than group writable.  Patch by Juan F. Codagnone.
29518
29519         * lib/readtokens.c: Remove explicit declarations of xmalloc and
29520         xrealloc, Instead, include "xalloc.h".
29521
29522         * lib/mountlist.c: Include unlocked-io.h after all system headers.
29523         Remove explicit declarations of xmalloc, xrealloc,
29524         and xstrdup.  Instead, include "xalloc.h".
29525
29526         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
29527         unlocked-io.h.
29528         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
29529         Likewise.
29530         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
29531
29532         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
29533         Reported by Padraig Brady.
29534
29535         * lib/mkstemp.c: #undef mkstemp.
29536         Include config.h.
29537         (rpl_mkstemp): Rename from mkstemp.
29538         Protoize.
29539
29540 2001-11-16  Jim Meyering  <meyering@lucent.com>
29541
29542         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
29543         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
29544         determine the amount of total physical memory, use pstat_getstatic.
29545         HPUX-11 doesn't define _SC_PHYS_PAGES.
29546         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
29547         If sysconf couldn't be used to determine the amount of available
29548         physical memory, use both pstat_getstatic and pstat_getdynamic.
29549         Based on a patch from Bob Proulx.
29550
29551 2001-11-10  Jim Meyering  <meyering@lucent.com>
29552
29553         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
29554         (jm_PREREQ): Use it.
29555
29556 2001-11-09  Jim Meyering  <meyering@lucent.com>
29557
29558         * m4/jm-macros.m4: Require autoconf-2.52f.
29559         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
29560         Use these AC_-prefixed names, not the AM_-prefixed ones.
29561
29562         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
29563
29564 2001-11-05  Jim Meyering  <meyering@lucent.com>
29565
29566         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
29567
29568 2001-11-04  Jim Meyering  <meyering@lucent.com>
29569
29570         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
29571         $DEFS.
29572
29573 2001-11-03  Jim Meyering  <meyering@lucent.com>
29574
29575         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
29576         of AC_DEFUN.
29577
29578         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
29579         know the name of the variable in the macro definition.
29580
29581 2001-11-03  Jim Meyering  <meyering@lucent.com>
29582
29583         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
29584         in argmatch_to_argument call.
29585
29586         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
29587         argument.
29588
29589         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
29590         e.g., a fault due to an attempt to free a NULL pointer.
29591
29592 2001-11-01  Jim Meyering  <meyering@lucent.com>
29593
29594         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
29595         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
29596
29597 2001-11-01  Jim Meyering  <meyering@lucent.com>
29598
29599         * lib/dirfd.c, lib/dirfd.h: New files.
29600         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
29601
29602         * lib/hash.c (hash_print) [TESTING]: Clean up.
29603
29604 2001-10-22  Paul Eggert  <eggert@twinsun.com>
29605
29606         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
29607         to avoid a warning if -Wall.
29608
29609 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
29610
29611         * README: New file
29612         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
29613         (per RMS's instructions, this is now the canonical source)
29614         * lgpl/, gpl/: New directories.
29615
29616 2001-10-21  Paul Eggert  <eggert@twinsun.com>
29617
29618         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
29619
29620 2001-10-21  Jim Meyering  <meyering@lucent.com>
29621
29622         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
29623         this code would end up calling gettext even in packages built
29624         with --disable-nls.
29625         * lib/getopt.c (_): Likewise.
29626         * lib/regex.c (_): Likewise.
29627
29628 2001-10-20  Paul Eggert  <eggert@twinsun.com>
29629
29630         * m4/error.m4 (jm_PREREQ_ERROR):
29631         Do not invoke AC_CHECK_FUNCS with strerror_r, as
29632         AC_FUNC_STRERROR_R does that.
29633         Check for strerror declaration.
29634
29635         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
29636         are supposed to have them these days.
29637         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
29638         Merge changes from latest Autoconf CVS.
29639         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
29640         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
29641         POSIX decided to standardize on the int flavor of strerror_r.
29642
29643 2001-10-20  Paul Eggert  <eggert@twinsun.com>
29644
29645         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
29646         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
29647         Use strerror_r that is only a macro, even if it is not a function.
29648         (strerror): Check for HAVE_DECL_STRERROR before declaring.
29649         (private_strerror): Use prototypes, not old-style function definition.
29650         (print_errno_message): New function.
29651         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
29652         char*-flavored one.
29653         (error_tail, error, error_at_line): Use it.
29654
29655 2001-10-11  Jim Meyering  <meyering@lucent.com>
29656
29657         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
29658         and quote_n (1, ... to avoid clobbering a buffer.
29659
29660 2001-10-05  Jim Meyering  <meyering@lucent.com>
29661
29662         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
29663         hash-pjw.h.
29664         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
29665         * lib/hash-pjw.h: New file.
29666
29667 2001-09-30  Jim Meyering  <meyering@lucent.com>
29668
29669         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
29670         `struct fsstat' has the `f_fstypename' member.
29671         Use that to define FS_TYPE, which is now used to make
29672         the getfsstat link test tighter.
29673
29674 2001-09-30  Jim Meyering  <meyering@lucent.com>
29675
29676         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
29677         Include <sys/ucred.h>, for Apple Darwin.
29678         Include sys/mount.h and sys/fs_types.h only if available.
29679         (FS_TYPE): Define.
29680         (read_filesystem_list): Use FS_TYPE.
29681
29682 2001-09-29  Paul Eggert  <eggert@twinsun.com>
29683
29684         * lib/exclude.c (excluded_filename): 0 -> false, since it's
29685         a boolean context.
29686
29687 2001-09-29  Jim Meyering  <meyering@lucent.com>
29688
29689         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
29690         [one-argument getmntent function]): Include stdio.h before mntent.h.
29691         SunOS 4.1.x needs it for the declaration of `FILE'.
29692         Patch by Volker Borchert.
29693
29694         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
29695         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
29696         sys/fs_types.h, and make the link-test for getfsstat guard #include
29697         directives with appropriate #if HAVE_*_H tests so that we can
29698         detect getfsstat on Apple Darwin1.3.7 systems.
29699         Reported by Nelson Beebe.
29700         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
29701
29702 2001-09-28  Paul Eggert  <eggert@twinsun.com>
29703
29704         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
29705         #defines strtoimax.  Also treat the other strto* functions
29706         like strtoimax.
29707
29708         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
29709         Check for strtoul and strtoumax,
29710         as those declarations are made even in the signed case.
29711         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
29712         Likewise, for strtol and strtoimax.
29713
29714 2001-09-28  Paul Eggert  <eggert@twinsun.com>
29715
29716         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
29717         #defines strtoimax.  Also treat the other strto* functions
29718         like strtoimax.
29719
29720         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
29721         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
29722         (strtoimax, strtoumax): Do not declare if already defined as a macro.
29723
29724 2001-09-26  Jim Meyering  <meyering@lucent.com>
29725
29726         Most macros in unlocked-io.h had the wrong number of arguments.
29727         * lib/gen-uio: New script.
29728         (USE_UNLOCKED_IO): Define to 1 if not already defined.
29729         * lib/unlocked-io.hin: Remove file.
29730         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
29731         rather than trying to embed it here.
29732         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
29733         Reported by Padraig Brady.
29734
29735 2001-09-25  Volker Borchert  <bt@teknon.de>
29736
29737         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
29738         `result'.
29739
29740 2001-09-24  Jim Meyering  <meyering@lucent.com>
29741
29742         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
29743
29744 2001-09-23  Jim Meyering  <meyering@lucent.com>
29745
29746         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
29747         instead of the mere test for existence of mntent.h.  The latter
29748         would get a false-positive on AIX 3.4 systems.
29749         In the outer getmntent if-block, don't die if neither of the getmntent
29750         tests succeeds.  Instead, just fall through and continue with the
29751         remaining tests.
29752
29753 2001-09-23  Jim Meyering  <meyering@lucent.com>
29754
29755         * lib/mountlist.c: Remove useless parentheses in #if directives.
29756         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
29757         the deprecated MOUNTED symbol is no longer defined in mntent.h.
29758
29759 2001-09-22  Jim Meyering  <meyering@lucent.com>
29760
29761         * m4/gettext.m4: New file.  From gettext.
29762         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
29763         * m4/progtest.m4: Likewise
29764         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
29765         * m4/glibc21.m4: Likewise.
29766
29767         * m4/libintl.m4: Remove.  No longer used.
29768
29769 2001-09-22  Jim Meyering  <meyering@lucent.com>
29770
29771         * lib/localcharset.c: Update from latest gettext.
29772         * lib/config.charset: Likewise.
29773
29774 2001-09-20  Jim Meyering  <meyering@lucent.com>
29775
29776         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
29777         strtoimax.
29778         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
29779         strtoumax.
29780
29781 2001-09-20  Jim Meyering  <meyering@lucent.com>
29782
29783         * lib/xstrtol.c (strtoimax): Guard declaration with
29784         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
29785         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
29786         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
29787         (strtoumax): Likewise, for completeness (it wasn't necessary).
29788
29789 2001-09-17  Paul Eggert  <eggert@twinsun.com>
29790
29791         * lib/strtoimax.c (HAVE_LONG_LONG):
29792         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
29793         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
29794         to work around bug in IBM C compiler.
29795
29796 2001-09-17  Jim Meyering  <meyering@lucent.com>
29797
29798         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
29799         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
29800         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
29801         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
29802         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
29803         whenever the right hand side need not be expanded by the shell.
29804
29805 2001-09-16  Paul Eggert  <eggert@twinsun.com>
29806
29807         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
29808         library.  It's not correct, as some older glibcs are buggy.
29809         fnmatch wasn't fixed until glibc 2.2.
29810
29811         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
29812         special shell magic here.
29813
29814 2001-09-16  Jim Meyering  <meyering@lucent.com>
29815
29816         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
29817         * m4/jm-macros.m4: Require it.
29818
29819 2001-09-16  Jim Meyering  <meyering@lucent.com>
29820
29821         * lib/mkdir.c: New file.
29822
29823 2001-09-15  Jim Meyering  <meyering@lucent.com>
29824
29825         * m4/jm-macros.m4: Check for help2man.
29826
29827 2001-09-11  Jim Meyering  <meyering@lucent.com>
29828
29829         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
29830         The body, by Paul Eggert, was moved here from configure.in.
29831         * m4/jm-macros.m4: Require UTILS_HOST_OS.
29832
29833 2001-09-04  Paul Eggert  <eggert@twinsun.com>
29834
29835         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
29836         (jm_PREREQ): Use it.
29837
29838 2001-09-04  Paul Eggert  <eggert@twinsun.com>
29839
29840         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
29841         Use ssize_t, not int, to store result of readlink.
29842         Check for ssize_t overflow as well as size_t overflow,
29843         as POSIX says the result of readlink is implementation-defined
29844         when ssize_t overflows.
29845         Remove unnecessary cast to char*.
29846         Use free+malloc instead of realloc, as the storage doesn't need
29847         to be preserved and it's clearer and can be more efficient that way.
29848         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
29849         * lib/xreadlink.h (xreadlink): Update prototype.
29850
29851 2001-09-04  Paul Eggert  <eggert@twinsun.com>
29852
29853         * lib/xgetcwd.c: Revert some of the previous change; intead,
29854         fix the HAVE_GETCWD_NULL code to behave more like the
29855         !HAVE_GETCWD_NULL code used to.
29856
29857         Include "xalloc.h".
29858         (xgetcwd): Do not return NULL when memory is exhausted; instead,
29859         invoke xalloc_die.
29860
29861 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29862
29863         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
29864         sys/param.h, as pathmax.h includes them.
29865
29866 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29867
29868         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
29869         (jm_PREREQ_XGETCWD): New macro.
29870
29871         * m4/getcwd.m4: New file.
29872
29873 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29874
29875         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
29876         like the HAVE_GETCWD_NULL code.
29877         Include pathmax.h if not HAVE_GETCWD.
29878         Do not include xalloc.h.
29879         (INITIAL_BUFFER_SIZE): New symbol.
29880         Do not use xmalloc / xrealloc, since the caller is responsible for
29881         handling errors.  Preserve errno around `free' during failure.
29882         Do not overrun buffer when using getwd.
29883
29884 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29885
29886         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
29887         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
29888         getcwd (NULL, 0).
29889
29890 2001-09-03  Paul Eggert  <eggert@twinsun.com>
29891
29892         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
29893         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
29894         spotted by Jim Meyering.
29895
29896 2001-09-03  Jim Meyering  <meyering@lucent.com>
29897
29898         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
29899         failure.
29900
29901 2001-09-02  Jim Meyering  <meyering@lucent.com>
29902
29903         * lib/error.c: Update from GNU libc.
29904
29905 2001-09-01  Jim Meyering  <meyering@lucent.com>
29906
29907         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
29908         Used by df.
29909
29910 2001-09-01  Jim Meyering  <meyering@lucent.com>
29911
29912         * lib/xreadlink.c: New file.
29913         * lib/xreadlink.h: New file.
29914         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
29915         xreadlink.h.
29916
29917         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
29918         doesn't conflict with sparc Solaris 7's definition in
29919         /usr/include/sys/int_types.h.
29920
29921         * lib/exclude.c: Use `""', not `<>' to #include non-system header
29922         files.
29923         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
29924         and strncasecmp as r-values.  Unixware didn't have declarations.
29925
29926 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29927
29928         * lib/xstrtol.h: Add copyright notice.
29929         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
29930         LONGINT_INVALID_SUFFIX_CHAR.
29931
29932 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29933
29934         * lib/xstrtol.c (strtoimax): New decl.
29935
29936 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29937
29938         * lib/xgetcwd.c: Don't include pathmax.h.
29939         Include stdlib.h and unistd.h if available.
29940         Include xalloc.h.
29941         (xmalloc, xstrdup, free): Remove decls.
29942         (xgetcwd): Don't assume sizes fit in unsigned.
29943         Check for overflow when computing sizes.
29944         Simplify reallocation code.
29945
29946 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29947
29948         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
29949         a directory's st_size can have an arbitrary value, so the old
29950         usage could waste an arbitrary amount of memory.  All uses
29951         changed.
29952         * lib/savedir.h: Update prototype.
29953
29954 2001-08-31  Paul Eggert  <eggert@twinsun.com>
29955
29956         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
29957
29958         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
29959         old strtoimax.c.
29960
29961         Also, make the following further changes to make this file's
29962         configuration more similar to that of strtol.c:
29963         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
29964         (strtoumax, uintmax_t, strtoull, strtol): Remove.
29965         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
29966         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
29967         changed to signed values.
29968
29969         And make the following changes as well:
29970         Fix copyright notice, as 1999 was missing.
29971         (verify): New macro.
29972         (strtoimax): Check sizes at compile-time, not run-time.
29973         Prefer strtol to strtoll if both work.
29974         (main): Remove; it was not that useful and was a pain to maintain.
29975
29976         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
29977
29978 2001-08-31  Jim Meyering  <meyering@lucent.com>
29979
29980         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
29981         Use an initial, malloc'd, buffer of length 128 rather than
29982         a statically allocated one of length 1024.
29983
29984 2001-08-30  Paul Eggert  <eggert@twinsun.com>
29985
29986         Simplify code, partly by assuming autoconf 2.52 semantics.
29987
29988         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
29989
29990         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
29991         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
29992         All uses removed.
29993         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
29994         Move AC_REQUIRE to next-to-top level, to avoid confusion.
29995         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
29996         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
29997         jm_AC_HEADER_INTTYPES_H.
29998         * m4/jm-macros.m4 (jm_MACROS): Likewise.
29999
30000         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
30001
30002         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
30003         Quote first arg of AC_DEFUN.
30004         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
30005         since they are needed to parse the include file even if we need
30006         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
30007         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
30008         but with opposite signedness.
30009
30010 2001-08-30  Paul Eggert  <eggert@twinsun.com>
30011
30012         Merge 'exclude' changes from tar 1.13.22.
30013         This fixes one or two unlikely storage allocation overflow bugs,
30014         but doesn't change user-visible behavior otherwise.
30015
30016 2001-08-30  Paul Eggert  <eggert@twinsun.com>
30017
30018         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
30019         (jm_PREREQ_EXCLUDE): New macro.
30020
30021 2001-08-30  Paul Eggert  <eggert@twinsun.com>
30022
30023         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
30024         tm to be declared.
30025
30026 2001-08-30  Paul Eggert  <eggert@twinsun.com>
30027
30028         * lib/hash.c: Remove '2001' from copyright notice.
30029
30030 2001-08-30  Paul Eggert  <eggert@twinsun.com>
30031
30032         * lib/full-write.h: New file.
30033         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
30034         * lib/full-write.c: Correct credits, as cccp.c no longer
30035         exists and anyway it was so heavily changed from the old cccp
30036         code as to be unrecognizable.  Include full-write.h.
30037         (full_write) Return size_t, with short writes meaning failure.
30038         All callers changed.  This fixes a bug with large buffers
30039         on 64-bit hosts.
30040         * lib/utime.c: Include full-write.h.
30041
30042 2001-08-30  Paul Eggert  <eggert@twinsun.com>
30043
30044         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
30045         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
30046         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
30047         Include if available.
30048         (<xalloc.h>): Include
30049         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
30050         (verify): New macro.  Use it to verify that EXCLUDE macros do not
30051         collide with FNM macros.
30052         (struct patopts): New struct.
30053         (struct exclude): Use it, as exclude patterns now come with options.
30054         (new_exclude): Support above changes.
30055         (new_exclude, add_exclude_file):
30056         Initial size must now be a power of two to simplify overflow checking.
30057         (free_exclude, fnmatch_no_wildcards): New function.
30058         (excluded_filename): No longer requires options arg, as the options
30059         are determined by add_exclude.  Now returns bool, not int.
30060         (excluded_filename, add_exclude):
30061         Add support for the fancy new exclusion options.
30062         (add_exclude, add_exclude_file): Now takes int options arg.
30063         Check for arithmetic overflow when computing sizes.
30064         (add_exclude_file): xrealloc might modify errno, so don't
30065         realloc until after errno might be used.
30066
30067         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
30068         New macros.
30069         (free_exclude): New decl.
30070         (add_exclude, add_exclude_file): Now takes int options arg.
30071         (excluded_filename): No longer requires options arg, as the options
30072         are determined by add_exclude.  Now returns bool, not int.
30073
30074 2001-08-30  Paul Eggert  <eggert@twinsun.com>
30075
30076         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
30077
30078 2001-08-27  Jim Meyering  <meyering@lucent.com>
30079
30080         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
30081
30082         * lib/version-etc.c (N_): Remove definition.
30083         Revert most of last change.
30084         Instead, simply don't mark the `Copyright...' string for translation.
30085         Based on advice from Paul Eggert.
30086
30087         * lib/strtoxmax.c: Tweak comment.
30088
30089 2001-08-26  Jim Meyering  <meyering@lucent.com>
30090
30091         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
30092
30093         * m4/xstrtoimax.m4: New file.
30094         * m4/xstrtoumax.m4: Add comments explaining why we
30095         AC_REPLACE_FUNCS(strtol).
30096
30097 2001-08-26  Jim Meyering  <meyering@lucent.com>
30098
30099         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
30100         of copyright with `%s' so translators don't get an untranslated
30101         message in 2002.
30102         (COPYRIGHT_YEAR): Define.
30103         (version_etc): Use fprintf rather than fputs.
30104         Suggestion from Ulrich Drepper.
30105
30106         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
30107
30108         * lib/strtoll.c: New file, from GNU libc.
30109         * lib/xstrtoimax.c: New file.
30110
30111         * lib/xstrtol.h: Add xstrtoimax.
30112         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
30113         * lib/strtoimax.c: New file.  Likewise, but first define
30114         STRTOUXMAX_SIGNED.
30115
30116         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
30117         ...
30118         * lib/strtoxmax.c: ... then renamed to this.
30119
30120 2001-08-18  Paul Eggert  <eggert@twinsun.com>
30121
30122         * m4/inttypes.m4: Add AC_PREREQ(2.13).
30123         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
30124         (jm_AC_TYPE_INTMAX_T): New macro.
30125         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
30126
30127         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
30128
30129         * m4/longlong.m4: Renamed from ulonglong.m4.
30130         * m4/inttypes.m4: Renamed from inttypes_h.m4.
30131         * m4/uintmax_t.m4: Removed.
30132
30133 2001-08-13  Paul Eggert  <eggert@twinsun.com>
30134
30135         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
30136         Port to Solaris 8, where 'sed' requires a space after the 'r'
30137         command, and where sh dislikes "$/".  Clean up the spacing a bit.
30138         Redirect output to $tmp just once.
30139
30140 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
30141
30142         * lib/addext.c (<errno.h>): Include.
30143         (errno): Declare if not defined.
30144         (addext): Work correctly when pathconf returns -1 and leaves
30145         errno alone because there is no limit.  Also, work even if
30146         pathconf returns a value greater than SIZE_MAX.
30147
30148 2001-08-12  Jim Meyering  <meyering@lucent.com>
30149
30150         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
30151         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
30152         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
30153         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
30154         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
30155         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
30156         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
30157         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
30158         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
30159         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
30160         utime.m4, utimes.m4, xstrtoumax.m4:
30161         Quote the first argument in each use of AC_DEFUN.
30162
30163 2001-08-12  Jim Meyering  <meyering@lucent.com>
30164
30165         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
30166         Simply `return getcwd (NULL, 0);'.
30167         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
30168         Use 1300 as initial value for length, not PATH_MAX.
30169
30170         * lib/pathmax.h: Clean up cpp syntax.
30171
30172 2001-08-12  Jim Meyering  <meyering@lucent.com>
30173
30174         * lib/gettimeofday.c: New file.
30175         * lib/gtod.h: New file.
30176         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
30177
30178 2001-08-05  Jim Meyering  <meyering@lucent.com>
30179
30180         * m4/jm-macros.m4: Require autoconf-2.52.
30181
30182 2001-08-04  Jim Meyering  <meyering@lucent.com>
30183
30184         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
30185         stmt, to get in sync with glibc.
30186
30187 2001-08-03  Paul Eggert  <eggert@twinsun.com>
30188
30189         The following changes are from gettext 0.10.39 as maintained by
30190         Bruno Haible.
30191
30192         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
30193         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
30194         with inverted sense.  All uses changed.
30195
30196         * lib/mbswidth.c: Don't include <limits.h>.
30197         Include <stdlib.h> and <string.h> unconditionally.
30198         (iswcntrl, mbsinit, ISCNTRL): New macros.
30199         (mbsnwidth): Use K&R style function declarations.
30200         Don't bother checking for MB_LEN_MAX == 1, since the compiler
30201         can optimize it when MB_CUR_MAX == 1.
30202         The width of control characters is zero, not 1.
30203
30204 2001-08-03  Paul Eggert  <eggert@twinsun.com>
30205
30206         The following changes are from gettext 0.10.39 as maintained by
30207         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
30208
30209         * m4/codeset.m4: Upgrade to serial AM1.
30210         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
30211         all uses changed.  Quote first arg of AC_DEFUN.
30212         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
30213
30214         * m4/iconv.m4: Upgrade to serial AM2.
30215         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
30216         Add --with-libconv-prefix.
30217         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
30218         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
30219         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
30220         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
30221         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
30222
30223         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
30224         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
30225         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
30226         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
30227         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
30228         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
30229         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30230         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
30231         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
30232
30233         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
30234         string.h any more.
30235
30236         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
30237         not the default value.
30238
30239         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
30240         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
30241         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
30242         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
30243         Also check for iswcntrl, used for wcwidth fallback.
30244         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
30245         to Autoconf 2.13.
30246
30247 2001-08-03  Jim Meyering  <meyering@lucent.com>
30248
30249         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
30250         as it was in the original.  Reported by Paul Eggert.
30251
30252 2001-07-16  Jim Meyering  <meyering@lucent.com>
30253
30254         * m4/gettimeofday.m4: New file.
30255         Prompted by a report from Bernhard Baehr.
30256
30257 2001-07-15  Jim Meyering  <meyering@lucent.com>
30258
30259         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
30260         stuff. Now it's in ../Makefile.cfg.
30261
30262 2001-07-15  Jim Meyering  <meyering@lucent.com>
30263
30264         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
30265         (BUILT_SOURCES): Add unlocked-io.h.
30266         (io_functions): Define.
30267         (unlocked-io.h): New rule.
30268         (DISTCLEANFILES): Add unlocked-io.h.
30269         (all-local): Depend on unlocked-io.h, to ensure it is created.
30270
30271         * lib/unlocked-io.hin: New file
30272
30273         * lib/regex.c: Update from glibc.
30274
30275 2001-07-05  Jim Meyering  <meyering@lucent.com>
30276
30277         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
30278         recommendation.
30279         (libfetish_a_SOURCES): Put all .h files here instead.
30280         Remove a thus-exposed (better checks in automake) duplicate and
30281         two unnecessary .h files.
30282
30283 2001-07-04  Jim Meyering  <meyering@lucent.com>
30284
30285         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
30286         that generates jm-glibc-io.m4 so that it doesn't trigger any make
30287         distcheck failure.
30288
30289 2001-07-02  Jim Meyering  <meyering@lucent.com>
30290
30291         The following changes were prompted by suggestions from Bruno Haible.
30292
30293         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
30294         is now generated.
30295         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
30296         definition of EXTRA_DIST.
30297         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
30298         ensure that the generated file is created/updated whenever the list
30299         of $(unlocked_functions) is changed.
30300         (jm-glibc-io.m4): New rule.
30301         (unlocked-io.h): New rule -- currently unused.
30302
30303 2001-06-24  Jim Meyering  <meyering@lucent.com>
30304
30305         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
30306         unmatched right bracket, rather than kludging it with an extra,
30307         falsely-matching quote in a comment.  Patch by Akim Demaille.
30308
30309 2001-06-11  Jim Meyering  <meyering@lucent.com>
30310
30311         * lib/regex.c: Update from GNU libc.
30312
30313 2001-05-27  Jim Meyering  <meyering@lucent.com>
30314
30315         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
30316         Check for ut_type in struct utmp.
30317
30318 2001-05-27  Jim Meyering  <meyering@lucent.com>
30319
30320         * lib/readutmp.h (UT_TYPE): Define.
30321
30322 2001-05-24  Jim Meyering  <meyering@lucent.com>
30323
30324         * lib/argmatch.c: Include "quote.h".
30325         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
30326         quote function.  Reported by Göran Uddeborg.
30327
30328 2001-05-22  Jim Meyering  <meyering@lucent.com>
30329
30330         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
30331         now that we use the package-supplied version unconditionally.
30332         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
30333
30334 2001-05-21  Jim Meyering  <meyering@lucent.com>
30335
30336         * m4/regex.m4: Change a couple backticks to single quotes to avoid
30337         shell syntax errors.
30338
30339 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
30340
30341         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
30342
30343 2001-05-20  Paul Eggert  <eggert@twinsun.com>
30344
30345         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
30346         Don't bother to check library strftime, since
30347         we'll be using our own my_strftime function anyway.
30348         Define my_strftime instead of strftime.
30349
30350 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
30351
30352         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
30353         which is not yet declared.
30354
30355 2001-05-15  Jim Meyering  <meyering@lucent.com>
30356
30357         * m4/regex.m4: Use proper quoting so brackets appear in the test
30358         program.
30359         Reported by, and with help from, Bruno Haible.
30360
30361 2001-05-13  Jim Meyering  <meyering@lucent.com>
30362
30363         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
30364         undefined.
30365
30366 2001-05-11  Paul Eggert  <eggert@twinsun.com>
30367
30368         dirname code cleanup.  base_name now behaves more compatibly
30369         with POSIX basename when given file names that have trailing
30370         slashes, and similarly for dir_name.  Add new primitives
30371         base_len and dir_len.  Put the directory-name-related decls
30372         into dirname.h.
30373
30374         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
30375         * lib/backupfile.c (base_name): Likewise.
30376         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
30377         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
30378         * lib/makepath.c (strip_trailing_slashes): Likewise.
30379         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
30380         ISSLASH): Likewise.
30381         * lib/rename.c (strip_trailing_slashes): Likewise.
30382         * lib/same.c (base_name): Likewise.
30383         * lib/stripslash.c (ISSLASH): Likewise.
30384
30385         * lib/addext.c: Include <dirname.h> after size_t is defined.
30386         * lib/backupfile.c: Likewise.
30387
30388         * lib/addext.c (addext): Use base_len to trim redundant
30389         trailing slashes instead of doing it ourselves.
30390         But do not trim the last slash if it is not redundant.
30391
30392         * lib/backupfile.c (find_backup_file_name,
30393         max_backup_version): Use base_len instead of rolling it ourselves.
30394         Handle the case of "" and (on DOS) "C:" correctly.
30395
30396         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
30397         needed. Include <string.h>, <dirname.h>.
30398         (base_name): Allow file names ending in slashes, other than names
30399         that are all slashes.  In this case, return the basename followed
30400         by the slashes.  This is more general, and can be used in places
30401         where the original base_name purposely had an assertion failure.
30402         (base_len): New function.
30403
30404         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
30405         Do not include <assert.h>; no longer needed.
30406         Include xalloc.h.
30407         (memrchr): Remove decl.
30408         (dir_name_r): Remove.
30409         (dir_len): Renamed from dirlen.  All callers changed.
30410         Rewrite in terms of base_name, for simplicity and consistency.
30411         (dir_name): Never return NULL.  All callers changed.
30412         Do not include <stdlib.h> in test program; no longer needed.
30413         return 0; is fine for test program.
30414
30415         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
30416         New macros.
30417         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
30418
30419         * lib/path-concat.c (path_concat): Use base_len to compute
30420         base length, not strlen; this means we cannot rely on memcpy
30421         to null-terminate.
30422
30423         * lib/same.c (STREQ): Remove.
30424         (same_name): Handle the case where the basename ends in trailing '/'.
30425
30426         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
30427         a slash was stripped.  Do not strip the last slash after a
30428         file system prefix.
30429
30430 2001-05-11  Paul Eggert  <eggert@twinsun.com>
30431
30432         * lib/Makefile.am (libfetish_a_SOURCES):
30433         Add strftime.c, since we now compile it on all hosts.
30434
30435         * lib/strftime.c (my_strftime):
30436         Define to nstrftime if emacs, but only if my_strftime is not defined.
30437         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
30438         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
30439         Add one more extra argument: a nanoseconds value.
30440         All uses changed.
30441         (ns): New macro.
30442         (my_strftime function): Add %N format.
30443         (emacs_strftimeu): Renamed from emacs_strftime,
30444         with extra ut argument.
30445
30446 2001-05-09  Paul Eggert  <eggert@twinsun.com>
30447
30448         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
30449
30450 2001-04-21  Jim Meyering  <meyering@lucent.com>
30451
30452         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
30453         doesn't interfere.
30454
30455 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
30456
30457         * m4/ftruncate.m4: Check for chsize.
30458         Link with ftruncate.o unconditionally if ftruncate is missing.
30459         This was required when cross-compiling to i586-mingw32msvc.
30460
30461 2001-04-08  Jim Meyering  <meyering@lucent.com>
30462
30463         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
30464         recomputed; that's necessary when the offset spans a DST transition.
30465         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
30466
30467 2001-04-02  Jim Meyering  <meyering@lucent.com>
30468
30469         * lib/regex.h, regex.c: Update from GNU libc.
30470
30471 2001-03-24  Jim Meyering  <meyering@lucent.com>
30472
30473         * m4/jm-macros.m4: Require autoconf-2.49d.
30474
30475 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
30476
30477         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
30478
30479 2001-03-19  Paul Eggert  <eggert@twinsun.com>
30480
30481         * lib/version-etc.c (version_etc_copyright): Update to 2001.
30482
30483 2001-03-17  Jim Meyering  <meyering@lucent.com>
30484
30485         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
30486         now that the version in autoconf is equivalent.
30487         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
30488
30489         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
30490         Suggestion from Akim Demaille.
30491
30492         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
30493         (jm_PREREQ_TEMPNAME): New function.
30494
30495 2001-03-16  Paul Eggert  <eggert@twinsun.com>
30496
30497         * lib/tempname.c (uint64_t): Define to uintmax_t if
30498         not defined, and if UINT64_MAX is not defined.
30499         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
30500         Reported by John David Anglin.
30501
30502 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
30503
30504         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
30505         resolve alias if codeset is empty.
30506         * lib/config.charset (BeOS): Use wildcard syntax.
30507
30508 2001-03-13  Jim Meyering  <meyering@lucent.com>
30509
30510         * lib/path-concat.c (path_concat)
30511         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
30512         concatenating e.g., `C:' and `foo'.
30513         From Bruno Haible.
30514
30515 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
30516
30517         * lib/localcharset.c (locale_charset): Don't use
30518         setlocale(LC_CTYPE,NULL). Don't return NULL.
30519         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
30520
30521 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
30522
30523         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
30524         support for DOS/DJGPP.
30525
30526 2001-03-01  Paul Eggert  <eggert@twinsun.com>
30527
30528         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
30529         lacks mkstemp.  Compile our own tempname.c if we compile our own
30530         mkstemp.c, as mkstemp relies on tempname.
30531
30532 2001-03-01  Jim Meyering  <meyering@lucent.com>
30533
30534         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
30535         AH_VERBATIM really does output its argument verbatim.
30536
30537 2001-02-28  Paul Eggert  <eggert@twinsun.com>
30538
30539         * lib/Makefile.am (libfetish_a_SOURCES):
30540         Add dup-safer.c, fopen-safer.c.
30541         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
30542
30543         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
30544         * lib/unistd-safer.h: New files.
30545
30546 2001-02-25  Paul Eggert  <eggert@twinsun.com>
30547
30548         The mkstemp replacement is taken from glibc 2.2.2, with some
30549         portability fixes for use outside glibc, as follows:
30550
30551         * lib/tempname.c (struct_stat64): New macro.
30552         (direxists, __gen_tempname): Use it.
30553         This avoids a portability problem with Solaris 8.
30554
30555         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
30556         (<stddef.h>, <stdint.h>, <string.h>):
30557         Include only if STDC_HEADERS || _LIBC.
30558         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
30559         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
30560         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
30561         (__set_errno): Define this macro if <errno.h> doesn't.
30562         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
30563         Define these macros if <stdio.h> doesn't.
30564         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
30565         Define these macros if <sys/stat.h>
30566         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
30567         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
30568         __xstat64): Define if not _LIBC.
30569         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
30570         (__gen_tempname): Invoke gettimeofday only if
30571         HAVE_GETTIMEOFDAY || _LIBC;
30572         otherwise, fall back on plain "time".
30573         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
30574
30575         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
30576
30577         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
30578
30579 2001-02-18  Paul Eggert  <eggert@twinsun.com>
30580
30581         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
30582
30583 2001-02-17  Paul Eggert  <eggert@twinsun.com>
30584
30585         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
30586         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
30587         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
30588         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
30589
30590 2001-02-17  Paul Eggert  <eggert@twinsun.com>
30591
30592         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
30593         Remove workaround macros for hosts that have mbrtowc but not
30594         mbstate_t, as we now insist on proper declarations for both
30595         before using mbrtowc.
30596
30597 2001-02-17  Jim Meyering  <meyering@lucent.com>
30598
30599         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
30600         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
30601         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
30602         UnixWare 7.1.1.
30603
30604         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
30605         rather than AC_CACHE_VAL.
30606
30607 2001-02-17  Jim Meyering  <meyering@lucent.com>
30608
30609         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
30610         around included file name.
30611
30612         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
30613
30614         * lib/strftime.c: Update from GNU libc (the only changes were to
30615         comments).
30616
30617 2001-02-17  Jim Meyering  <meyering@lucent.com>
30618
30619         * lib/regex.c: Update from libc.
30620
30621 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
30622
30623         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
30624         clash.
30625
30626 2001-02-16  Paul Eggert  <eggert@twinsun.com>
30627
30628         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
30629         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
30630         Reported by Mark Hounschell via Paul Eggert.
30631
30632 2001-02-07  Jim Meyering  <meyering@lucent.com>
30633
30634         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
30635
30636 2001-02-05  Jim Meyering  <meyering@lucent.com>
30637
30638         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
30639         it includes the patch required for `large file' support with at least
30640         HP-UX's 10.20 /bin/cc.
30641
30642 2001-02-03  Jim Meyering  <meyering@lucent.com>
30643
30644         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
30645         AS_IF, now that it works once again (mysteriously).
30646         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
30647
30648 2001-01-30  Jim Meyering  <meyering@lucent.com>
30649
30650         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
30651         * m4/chown.m4: Rename conftestchown to conftest.chown.
30652         * m4/rename.m4: s/conftestdir/conftest.d1/ and
30653         s/conftestdir2/conftest.d2/.
30654         * m4/utimes.m4: s/conftestdata/conftest.data/
30655         Inspired by Pavel Roskin's change in autoconf.
30656
30657 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
30658
30659         * lib/config.charset: Update for FreeBSD 4.2.
30660
30661 2001-01-27  Jim Meyering  <meyering@lucent.com>
30662
30663         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
30664         a use of AS_IF.
30665         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
30666
30667 2001-01-26  Jim Meyering  <meyering@lucent.com>
30668
30669         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
30670         quotearg.c includes it.
30671
30672 2001-01-26  Jim Meyering  <meyering@lucent.com>
30673
30674         * lib/quotearg.c: Include stddef.h.
30675         * lib/quote.c: Include stddef.h.
30676         Reported by Axel Kittenberger.
30677
30678         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
30679         line in double quotes so that it evokes a better diagnostic.
30680         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
30681         Reported by Axel Kittenberger.
30682
30683 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
30684
30685         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
30686         as if it was a `charset'.
30687
30688 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
30689
30690         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
30691         has const.
30692
30693 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
30694
30695         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
30696         to avoid a warning.  Add back 'const' to inptr.
30697
30698 2001-01-20  Jim Meyering  <meyering@lucent.com>
30699
30700         Be sure that headers are checked before used in code compiled
30701         for the type checks.
30702         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
30703         In place of that, invoke jm_CHECK_ALL_TYPES.
30704         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
30705         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
30706         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
30707         The check for ssize_t was mistakenly run before the test for unistd.h.
30708
30709         The configure-time check for stdbool.h was missing.
30710         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
30711         (jm_PREREQ_HASH): New function.
30712
30713 2001-01-17  Jim Meyering  <meyering@lucent.com>
30714
30715         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
30716         for autoconf-2.49c.
30717         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
30718
30719 2001-01-16  Jim Meyering  <meyering@lucent.com>
30720
30721         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
30722         From Bruno Haible.
30723
30724 2001-01-14  Jim Meyering  <meyering@lucent.com>
30725
30726         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
30727         foo and bar.  Create conftestdir/ in the script, not in the C code.
30728         Remove directories in the script, not in the C code.
30729         Remove conftestdir{,2} before trying to create the directory.
30730         Make the entire configure script fail if the mkdir fails.
30731
30732 2001-01-14  Jim Meyering  <meyering@lucent.com>
30733
30734         * lib/rename.c: New file.  From Volker Borchert.
30735         Include stdlib.h, string.h or strings.h, and xalloc.h.
30736         Use strip_trailing_slashes rather than open-coding it.
30737
30738 2001-01-03  Paul Eggert  <eggert@twinsun.com>
30739
30740         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
30741
30742 2001-01-03  Jim Meyering  <meyering@lucent.com>
30743
30744         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
30745         of local `inptr' to avoid warning with some system declarations of
30746         iconv.
30747
30748 2001-01-02  Volker Borchert  <bt@teknon.de>
30749
30750         * m4/rename.m4: New file.
30751         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
30752
30753 2001-01-01  Jim Meyering  <meyering@lucent.com>
30754
30755         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
30756         even on systems with utmpx.h.  It's necessary for the declaration of
30757         utmp's ut_user member.  Reported by Andreas Jaeger.
30758
30759         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
30760         available. They are required for the declarations of getgrgid and
30761         getpwuid resp.
30762         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
30763         Reported by Andreas Jaeger.
30764
30765 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
30766
30767         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
30768         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
30769         so `make install' also works in VPATH builds.
30770
30771 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
30772
30773         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
30774         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
30775         can be used in subdirectories.
30776
30777 2000-12-29  Paul Eggert  <eggert@twinsun.com>
30778
30779         * lib/modechange.c: Do not assume that mode_t uses the
30780         traditional octal encoding.  E.g. "chmod 1 FOO" should set
30781         the other-execute bit of FOO even if S_IXOTH != 1.
30782
30783         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
30784         WOTH, XOTH, ALLM): New macros.
30785         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
30786          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
30787         Use them.
30788         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
30789         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
30790         (mode_compile):
30791         No need to use uintmax_t; unsigned long is long enough.
30792         Don't bother to get suffix since we don't use it.
30793
30794 2000-12-26  Jim Meyering  <meyering@lucent.com>
30795
30796         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
30797         better with autoheader.
30798
30799 2000-12-24  Jim Meyering  <meyering@lucent.com>
30800
30801         * lib/hash.c (is_prime): Return explicit boolean values.
30802         (hash_get_first): Return NULL to appease Irix5.6's 89.
30803         Reported by Nelson Beebe.
30804
30805 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
30806
30807         * lib/localcharset.c (locale_charset): Add support for Win32.
30808
30809 2000-12-18  Paul Eggert  <eggert@twinsun.com>
30810
30811         * lib/physmem.h, lib/physmem.c: New files.
30812
30813         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
30814         (noinst_HEADERS): Add physmem.h.
30815
30816         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
30817         't' for compatibility with Solaris 8 sort.
30818
30819 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
30820
30821         * lib/config.charset: Add support for BeOS.
30822
30823 2000-12-17  Jim Meyering  <meyering@lucent.com>
30824
30825         * m4/dos.m4 (jm_AC_DOS): New file and macro.
30826         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
30827
30828 2000-12-16  Jim Meyering  <meyering@lucent.com>
30829
30830         This bug had a serious impact on chown: `chown N:M FILE' (for integer
30831         N and M) would have treated it like `chown N:N FILE'.
30832
30833         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
30834
30835 2000-12-16  Jim Meyering  <meyering@lucent.com>
30836
30837         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
30838         SHELLS_FILE to a file name that's useful on djgpp systems.
30839         Include stdlib.h.
30840         (ADDITIONAL_DEFAULT_SHELLS): Define.
30841         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
30842         Based mostly on a patch from Prashant TR.
30843
30844 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
30845
30846         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
30847         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
30848         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
30849
30850 2000-12-08  Andreas Schwab  <schwab@suse.de>
30851
30852         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
30853         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
30854
30855 2000-12-07  Jim Meyering  <meyering@lucent.com>
30856
30857         * lib/stripslash.c (ISSLASH): Define.
30858         (strip_trailing_slashes): Use ISSLASH rather than comparing against
30859         `/'.
30860         From Prashant TR.
30861
30862         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
30863         (dir_name_r): Declare this function as static.
30864         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
30865         manifest itself on a name containing a mix of slashes and
30866         backslashes.
30867         Make this function work with names starting with a DOS-style
30868         drive letter and colon prefix.
30869         (dir_name): Append `.' if necessary.
30870         Based mostly on patches from Prashant TR and Eli Zaretskii.
30871
30872         * lib/dirname.h (dir_name_r): Remove prototype.
30873
30874 2000-12-06  Paul Eggert  <eggert@twinsun.com>
30875
30876         * m4/off_t-format.m4: Remove this file.
30877         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
30878
30879 2000-12-06  Jim Meyering  <meyering@lucent.com>
30880
30881         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
30882         replacement strtoull, we may well need the replacement strtoul, too.
30883         Check for declarations of strtoul and strtoull.
30884         Check for strtol.  Mainly as a cue to cause automake to include
30885         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
30886         Check for limits.h -- strtol.c needs it.
30887
30888 2000-12-05  Jim Meyering  <meyering@lucent.com>
30889
30890         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
30891
30892 2000-12-04  Jim Meyering  <meyering@lucent.com>
30893
30894         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
30895         Also include memory.h, stdlib.h, unistd.h if appropriate.
30896         Reported by Andreas Jaeger (conflicting declaration of malloc).
30897
30898 2000-12-02  Jim Meyering  <meyering@lucent.com>
30899
30900         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
30901         * m4/jm-macros.m4 (jm_MACROS): require it.
30902
30903 2000-12-02  Jim Meyering  <meyering@lucent.com>
30904
30905         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
30906
30907 2000-12-01  Paul Eggert  <eggert@twinsun.com>
30908
30909         * lib/memrchr.c: Include <config.h> before any system include file.
30910
30911 2000-11-30  Jim Meyering  <meyering@lucent.com>
30912
30913         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
30914
30915 2000-11-30  Jim Meyering  <meyering@lucent.com>
30916
30917         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
30918
30919 2000-11-29  Paul Eggert  <eggert@twinsun.com>
30920
30921         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
30922
30923 2000-11-26  Jim Meyering  <meyering@lucent.com>
30924
30925         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
30926
30927 2000-11-22  Paul Eggert  <eggert@twinsun.com>
30928
30929         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
30930         size of (size_t) -1; it's not portable.
30931
30932 2000-11-17  Jim Meyering  <meyering@lucent.com>
30933
30934         * lib/strstr.c: Update from GNU libc.
30935
30936 2000-11-17  Akim Demaille  <akim@epita.fr>
30937
30938         * lib/obstack.h: Formatting changes.
30939         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
30940         prevent type checking.
30941         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
30942         cast the value to (void *): assigning a `foo *' to a `void *'
30943         variable is valid.
30944         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
30945
30946 2000-11-16  Jim Meyering  <meyering@lucent.com>
30947
30948         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
30949
30950 2000-11-11  Jim Meyering  <meyering@lucent.com>
30951
30952         * lib/error.c: Add a couple #includes, merging from GNU libc version.
30953
30954 2000-11-10  Jim Meyering  <meyering@lucent.com>
30955
30956         * lib/obstack.h: Update from GNU libc.
30957         * lib/obstack.c: Likewise.
30958
30959 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
30960
30961         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
30962
30963 2000-11-06  Paul Eggert  <eggert@twinsun.com>
30964
30965         * lib/getusershell.c (setusershell): Use rewind rather than
30966         fseek/fseeko, to avoid configuration hassles with fseeko.
30967         Don't bother opening SHELLS_FILE if shellstream is NULL;
30968         it's not necessary.
30969
30970 2000-11-05  Jim Meyering  <meyering@lucent.com>
30971
30972         * lib/makepath.h (make_dir): Declare.
30973         * lib/makepath.c (make_dir): Remove `static' attribute.
30974         Tweak a comment.
30975
30976 2000-11-04  Jim Meyering  <meyering@lucent.com>
30977
30978         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
30979
30980 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
30981
30982         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
30983         last one in a bucket, advance to the next bucket.
30984
30985 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
30986
30987         * lib/fnmatch.c: Do not comment out all the code if we are using
30988         the GNU C library, because in some cases we are replacing buggy
30989         code in the GNU C library itself.
30990
30991 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
30992
30993         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
30994         (regex_compile): Catch bogus \(\1\).
30995
30996 2000-10-30  Paul Eggert  <eggert@twinsun.com>
30997
30998         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
30999         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
31000         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
31001
31002 2000-10-30  Paul Eggert  <eggert@twinsun.com>
31003
31004         * lib/error.h, getline.h, modechange.h:
31005         Remove "2000" from Copyright line, as the file hasn't been
31006         changed this year other than in the copyright notice.
31007
31008         * lib/xalloc.h: Add "2000" to Copyright line, as this file
31009         was changed this year.
31010
31011 2000-10-29  Jim Meyering  <meyering@lucent.com>
31012
31013         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
31014         renaming.
31015         * m4/ls-mntd-fs.m4: Likewise
31016
31017 2000-10-29  Jim Meyering  <meyering@lucent.com>
31018
31019         * lib/xstat.in: Fix grammar in comment.
31020
31021 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
31022
31023         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
31024         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
31025         doesn't define __restrict_arr.
31026
31027 2000-10-28  Jim Meyering  <meyering@lucent.com>
31028
31029         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
31030         (jm_PREREQ_MEMCHR): New function.
31031
31032 2000-10-28  Jim Meyering  <meyering@lucent.com>
31033
31034         * lib/memchr.c: Update from libc.
31035         Adjust for portability:
31036         [HAVE_STDLIB_H]: Include stdlib.h.
31037         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
31038         Undef __memchr, too.
31039         [!weak_alias]: Define __memchr to memchr.
31040
31041         * lib/regex.c: Update from libc.
31042         * lib/regex.h: Likewise.
31043         * lib/getopt1.c: Likewise.
31044         * lib/memcmp.c: Likewise.
31045
31046         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
31047         Avoid using fseek, when possible -- it's broken by design.
31048         Patch by Ulrich Drepper.
31049
31050 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
31051
31052         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
31053         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
31054         Giving in to popular pressure to shut up the compiler with casts.
31055
31056 2000-10-26  Jim Meyering  <meyering@lucent.com>
31057
31058         * lib/strftime.c: Update from libc.
31059
31060 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
31061
31062         * regex.c: More `unsigned char' -> `re_char' changes.
31063         Also change several `int' into `re_wchar_t'.
31064         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
31065         (PUSH_FAILURE_POINTER): Don't cast any more.
31066         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
31067         We want GCC to complain, since this piece of code makes
31068         re_match non-reentrant, which *should* be fixed.
31069         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
31070         (EXTEND_BUFFER): Use RETALLOC.
31071         (SET_LIST_BIT): Don't cast.
31072         (re_wchar_t): New type.
31073         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
31074         that those two functions will always properly return.
31075         (IMMEDIATE_QUIT_CHECK): Cast to void.
31076         (analyse_first): Use recursion rather than an explicit stack.
31077         (re_compile_fastmap): Can't fail anymore.
31078         (re_search_2): Don't check re_compile_fastmap for failure.
31079         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
31080         Now also sets the new value (passed in a new argument).
31081         (re_match_2_internal): Use it.
31082         Also, use a new var `reg' of type size_t when looping through regs
31083         rather than reuse the inappropriate `mcnt'.
31084
31085 2000-10-25  Jim Meyering  <meyering@lucent.com>
31086
31087         * lib/obstack.c: Update from libc.
31088
31089 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
31090
31091         * regex.c (regex_compile): Change the way of handling a range from
31092         a char less than 256 to a char not less than 256.
31093
31094 2000-10-24  Andrew Innes  <andrewi@gnu.org>
31095
31096         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
31097         NT-Emacs only.
31098         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
31099         so that re_search functions only quit when callers expect them to.
31100
31101 2000-10-23  Jim Meyering  <meyering@lucent.com>
31102
31103         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
31104         wrong.  That set_locale call must not have any side effects.
31105         From Paul Eggert.
31106
31107 2000-10-22  Jim Meyering  <meyering@lucent.com>
31108
31109         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
31110         [CYCLIC]: Remove now-unused definition.
31111
31112         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
31113         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
31114         Suggestion from Ulrich Drepper.
31115
31116 2000-10-21  Jim Meyering  <meyering@lucent.com>
31117
31118         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
31119         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
31120         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
31121
31122 2000-10-21  Jim Meyering  <meyering@lucent.com>
31123
31124         * lib/dirname.c (memrchr): Declare if necessary.
31125         (dir_name): Remove the restriction that there be no
31126         trailing slashes.  Now, this code skips past them, effectively
31127         ignoring them.
31128         [TEST_DIRNAME] (main): New unit tests.
31129
31130         * lib/memrchr.c: New file from GNU libc.
31131         Undef __memrchr, too.
31132         [!weak_alias]: Define __memrchr to memrchr.
31133         Guard weak_alias use with `#ifdef weak_alias'.
31134
31135 2000-10-21  Jim Meyering  <meyering@lucent.com>
31136
31137         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
31138         (dir_name): Use dir_name_r.
31139         * lib/dirname.h (dir_name_r): Declare it.
31140
31141 2000-10-17  Jim Meyering  <meyering@lucent.com>
31142
31143         * lib/quote.h (PARAMS): Define and use.
31144         Reported by Akim Demaille.
31145
31146         * lib/getopt.c: Update from libc.
31147
31148 2000-10-16  Jim Meyering  <meyering@lucent.com>
31149
31150         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
31151         setlocale.
31152         From Jan Fedak.
31153
31154 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
31155
31156         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
31157
31158 2000-09-25  Jim Meyering  <meyering@lucent.com>
31159
31160         * lib/md5.h (rol): Define (from GnuPG).
31161
31162         * lib/sha.c: Give credit (GnuPG) where due.
31163         (M): Use rol rather than open-coding it.
31164         Add a FIXME comment.
31165
31166 2000-09-21  Jim Meyering  <meyering@lucent.com>
31167
31168         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
31169         Reported by Michael Stone.
31170
31171 2000-09-20  Jim Meyering  <meyering@lucent.com>
31172
31173         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
31174         (noinst_HEADERS): Add sha.h.
31175         Based on code from Scott G. Miller and from GnuPG.
31176
31177 2000-09-18  Jim Meyering  <meyering@lucent.com>
31178
31179         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
31180         LIBS. Otherwise, everyone ends up linking with -lelf for some
31181         configurations.
31182         Reported by Mike Stone.
31183
31184 2000-09-15  Jim Meyering  <meyering@lucent.com>
31185
31186         * lib/regex.c: Update from libc.
31187
31188 2000-09-10  Jim Meyering  <meyering@lucent.com>
31189
31190         * lib/getopt.c (_getopt_internal): Update from glibc.
31191
31192 2000-09-09  Jim Meyering  <meyering@lucent.com>
31193
31194         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
31195         think it should be used as a general replacement for isascii.
31196         * lib/fnmatch.c: Likewise.
31197         * lib/mbswidth.c: Likewise
31198         * lib/regex.c: Likewise.
31199
31200         Don't use atoi.
31201         * lib/userspec.c: Include sys/param.h and limits.h.
31202         Include xstrtol.h.
31203         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
31204         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
31205         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
31206         UID, GID.  Check range.
31207
31208 2000-09-06  Jim Meyering  <meyering@lucent.com>
31209
31210         * lib/getopt.c (_getopt_internal): Update from glibc.
31211
31212 2000-08-30  Jim Meyering  <meyering@lucent.com>
31213
31214         * lib/strftime.c: Merge in changes from GNU libc.
31215
31216 2000-08-26  Jim Meyering  <meyering@lucent.com>
31217
31218         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
31219         * m4/fpending.m4: New file.
31220
31221 2000-08-26  Jim Meyering  <meyering@lucent.com>
31222
31223         * lib/closeout.c: Include "__fpending.h".
31224         (close_stdout_status): Return right away if there's nothing to flush.
31225
31226         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
31227         * lib/__fpending.c: New file.
31228         * lib/__fpending.h: New file.
31229
31230 2000-08-20  Jim Meyering  <meyering@lucent.com>
31231
31232         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
31233         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
31234         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
31235
31236 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
31237
31238         Improve fileutils installation on systems where running
31239         programs (like install) can't be unlinked.
31240         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
31241         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
31242
31243 2000-08-07  Paul Eggert  <eggert@twinsun.com>
31244
31245         Standardize on "memory exhausted" instead of "Memory exhausted"
31246         or "virtual memory exhausted".
31247         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
31248         "virtual memory exhausted".
31249         * lib/same.c (same_name): Invoke xalloc_die instead of printing
31250         our own message.
31251         * lib/userspec.c (parse_user_spec): Likewise.
31252         * lib/bumpalloc.h: comment fix
31253         * lib/same.c, userspec.c: Include xalloc.h.
31254
31255         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
31256         not char *const and pointing to a constant array.
31257         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
31258         (xrealloc): Comment fix.
31259
31260         * lib/userspec.c (parse_user_spec):
31261         Don't translate a message until just before returning,
31262         to avoid unnecessary translation.
31263
31264 2000-08-07  Jim Meyering  <meyering@lucent.com>
31265
31266         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
31267         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
31268         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
31269         getgroups.c, gethostname.c, getopt.h, group-member.c,
31270         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
31271         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
31272         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
31273         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
31274         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
31275         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
31276         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
31277         yesno.c: Back out Copyright date changes for each file with no change
31278         this year.  This eases coordination with other programs using the same
31279         source code modules.  From Paul Eggert.
31280
31281 2000-08-06  Paul Eggert  <eggert@twinsun.com>
31282
31283         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
31284         not char, for compatibility with glibc 2.1.3 strftime.c.
31285
31286 2000-08-03  Greg McGary  <greg@mcgary.org>
31287
31288         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
31289         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
31290         (EXTEND_BUFFER): Use them.
31291
31292 2000-08-01  Jim Meyering  <meyering@lucent.com>
31293
31294         * lib/dirname.c (ISSLASH): Define.
31295         (BACKSLASH_IS_PATH_SEPARATOR): Define.
31296         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
31297         both `\' and `/' may be use as path separators.
31298         Based on a patch from Prashant TR.
31299
31300 2000-07-31  Paul Eggert  <eggert@twinsun.com>
31301
31302         * lib/quotearg.c (quotearg_n_options): Don't make the initial
31303         slot vector a constant, since it might get modified.
31304
31305 2000-07-31  Jim Meyering  <meyering@lucent.com>
31306
31307         * lib/xmalloc.c: Use `virtual memory exhausted', not
31308         `Memory exhausted'.
31309         * lib/obstack.c (print_and_abort): Likewise.
31310
31311 2000-07-30  Paul Eggert  <eggert@twinsun.com>
31312
31313         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
31314         buffer, so that the caller can always quote one small
31315         component of a "memory exhausted" message in slot 0.
31316         From a suggestion by Jim Meyering.
31317
31318 2000-07-30  Jim Meyering  <meyering@lucent.com>
31319
31320         * lib/makepath.c (make_path): Quote the other instance, too.
31321
31322         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
31323         (STATIC_BUF_SIZE): Define.
31324         (quotearg_n_options): Use only statically allocated storage when
31325         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
31326         than STATIC_BUF_SIZE.
31327
31328 2000-07-29  Jim Meyering  <meyering@lucent.com>
31329
31330         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
31331         * lib/dirname.c (dir_name): Likewise.
31332
31333         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
31334         `/'.
31335
31336         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
31337         (dir_name): Assert that there are no trailing slashes.
31338
31339 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
31340
31341         * lib/mbswidth.h (mbswidth): Add a flags argument.
31342         (mbswidth): New declaration.
31343         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
31344         * lib/mbswidth.c (mbswidth): Add a flags argument.
31345         (mbsnwidth): New function.
31346
31347 2000-07-24  Jim Meyering  <meyering@lucent.com>
31348
31349         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
31350
31351 2000-07-23  Paul Eggert  <eggert@twinsun.com>
31352
31353         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
31354
31355 2000-07-23  Paul Eggert  <eggert@twinsun.com>
31356
31357         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
31358         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
31359         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
31360         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
31361         invoke multibyte primitives.
31362
31363 2000-07-23  Paul Eggert  <eggert@twinsun.com>
31364
31365         * lib/quotearg.c:
31366         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
31367         so that mbstate_t is always defined.
31368
31369         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
31370         be 1 in at least one GCC installation, and this configuration
31371         error is likely to be common.  Ignoring MB_LEN_MAX hurts
31372         performance on hosts that have mbrtowc but have only unibyte
31373         locales, but I assume these hosts are rare.
31374
31375 2000-07-23  Paul Eggert  <eggert@twinsun.com>
31376
31377         * lib/mbswidth.c (_XOPEN_SOURCE):
31378         Don't define; this causes problems on Solaris 7.
31379         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
31380
31381 2000-07-23  Jim Meyering  <meyering@lucent.com>
31382
31383         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
31384         too: getgrgid, getpwuid, getuid.
31385
31386 2000-07-23  Jim Meyering  <meyering@lucent.com>
31387
31388         * lib/basename.c (base_name): Add an assertion.
31389
31390 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
31391
31392         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
31393         shadow its mbsinit function.
31394
31395 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
31396
31397         * lib/mbswidth.h: New file.
31398         * lib/mbswidth.c: New file.
31399         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
31400         (noinst_HEADERS): Add mbswidth.h.
31401
31402 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
31403
31404         * lib/config.charset: Add support for FreeBSD. Improve support for
31405         HP-UX and IRIX 6.
31406
31407 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
31408
31409         * m4/mbswidth.m4: New file.
31410         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
31411
31412 2000-07-15  Jim Meyering  <meyering@lucent.com>
31413
31414         * lib/makepath.c: Include quote.h.
31415         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
31416         corresponding argument in a `quote (...)' call.
31417         Give better diagnostics.
31418
31419         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
31420         (noinst_HEADERS): Add quote.h.
31421
31422         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
31423         from tar's src/misc.c.
31424         * lib/quote.h: New file.  Prototypes for same.
31425
31426 2000-07-14  Paul Eggert  <eggert@twinsun.com>
31427
31428         From a suggestion by Bruno Haible.
31429         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
31430         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
31431         to decide whether to define the BeOS workaround macro;
31432         this adjusts to the change to AC_MBSTATE_T.
31433
31434 2000-07-14  Jim Meyering  <meyering@lucent.com>
31435
31436         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
31437         jm_AC_TYPE_UINTMAX_T.
31438
31439 2000-07-13  Paul Eggert  <eggert@twinsun.com>
31440
31441         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
31442
31443         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
31444         quotearg_buffer_restyled): Add support for
31445         clocale_quoting_style.  Undo previous change to
31446         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
31447         and "{RIGHT QUOTATION MARK}" msgids.
31448
31449 2000-07-10  Paul Eggert  <eggert@twinsun.com>
31450
31451         From a suggestion by Bruno Haible.
31452         * m4/mbstate_t.m4 (AC_MBSTATE_T):
31453         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
31454         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
31455         and mbstate_t, to a single-part test that simply defines mbstate_t.
31456         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
31457         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
31458
31459 2000-07-10  Jim Meyering  <meyering@lucent.com>
31460
31461         * m4/strerror_r.m4: Mirror the correction made in autoconf.
31462
31463         * m4/gnu-source.m4: Output to confdefs.h directly.
31464         Suggestion from Akim Demaille.
31465
31466 2000-07-09  Paul Eggert  <eggert@twinsun.com>
31467
31468         The old behavior of quoting `like this' doesn't look good with
31469         newer, ISO-style fonts.  See:
31470         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
31471
31472         Instead, quote "like this" by default.  Let the translator
31473         tailor the locale-specific quoting behavior by providing
31474         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
31475
31476         * lib/quotearg.c (N_): New macro.
31477         (gettext_default): New function.
31478         (quotearg_buffer_restyled): Use
31479         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
31480         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
31481
31482 2000-07-09  Jim Meyering  <meyering@lucent.com>
31483
31484         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
31485         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
31486
31487         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
31488         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
31489
31490 2000-07-09  Jim Meyering  <meyering@lucent.com>
31491
31492         * lib/Most files: Update copyright dates to include 2000.
31493
31494 2000-07-08  Jim Meyering  <meyering@lucent.com>
31495
31496         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
31497         if not defined.
31498         (xgethostname): Remove now-unnecessary #ifdef.
31499         Move declaration of `err' into loop where it's used.
31500
31501 2000-07-05  Paul Eggert  <eggert@twinsun.com>
31502         and Bruno Haible  <haible@clisp.cons.org>
31503
31504         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
31505         only if the test for an object-type mbstate_t fails.  This
31506         prevents us from mistakenly reporting that mbstate_t is a
31507         system object type after we "#define mbstate_t int" to work
31508         around its lack.
31509
31510 2000-07-05  Paul Eggert  <eggert@twinsun.com>
31511         and Bruno Haible  <haible@clisp.cons.org>
31512
31513         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
31514
31515 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
31516
31517         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
31518         to strerror_r.
31519         Include <ctype.h> for use of isalpha.
31520
31521 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
31522
31523         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
31524         by allocating a larger buffer. Test the gethostname return value for
31525         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
31526         returns an error and ENAMETOOLONG isn't defined.
31527
31528 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
31529
31530         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
31531         dimension.
31532
31533 2000-07-04  Jim Meyering  <meyering@lucent.com>
31534
31535         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
31536         of the deprecated AC_CHECKING.
31537
31538 2000-07-04  Jim Meyering  <meyering@lucent.com>
31539
31540         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
31541         Reported by Bruno Haible.
31542
31543 2000-07-04  Jim Meyering  <meyering@lucent.com>
31544
31545         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
31546         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
31547         lacks mbrtowc.
31548
31549 2000-07-03  Paul Eggert  <eggert@twinsun.com>
31550
31551         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
31552         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
31553
31554 2000-07-03  Paul Eggert  <eggert@twinsun.com>
31555         and Bruno Haible  <haible@clisp.cons.org>
31556
31557         * lib/quotearg.c (mbrtowc):
31558         Assign to *pwc, and return 1 only if result is nonzero.
31559         (iswprint): Use ISPRINT when substituting our own mbrtowc.
31560
31561 2000-07-03  Jim Meyering  <meyering@lucent.com>
31562
31563         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
31564
31565 2000-07-03  Jim Meyering  <meyering@lucent.com>
31566
31567         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
31568         This is necessary to get a definition of e.g., UTMP_FILE on
31569         HP-UX 10.20.
31570         From Bob Proulx.
31571
31572 2000-07-02  Jim Meyering  <meyering@lucent.com>
31573
31574         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
31575
31576         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
31577         AC_LIBOBJ(function_name).
31578         * m4/chown.m4: Likewise.
31579         * m4/fnmatch.m4: Likewise.
31580         * m4/ftruncate.m4: Likewise.
31581         * m4/getgroups.m4: Likewise.
31582         * m4/getline.m4: Likewise.
31583         * m4/group-member.m4: Likewise.
31584         * m4/jm-macros.m4: Likewise.
31585         * m4/lstat.m4: Likewise.
31586         * m4/malloc.m4: Likewise.
31587         * m4/memcmp.m4: Likewise.
31588         * m4/nanosleep.m4: Likewise.
31589         * m4/putenv.m4: Likewise.
31590         * m4/realloc.m4: Likewise.
31591         * m4/regex.m4: Likewise.
31592         * m4/stat.m4: Likewise.
31593         * m4/strftime.m4: Likewise.
31594
31595 2000-07-02  Jim Meyering  <meyering@lucent.com>
31596
31597         * lib/quotearg.c (mbstate_t): Don't define here.
31598
31599 2000-07-02  Jim Meyering  <meyering@lucent.com>
31600
31601         * lib/nanosleep.c (SIGCONT): Define if not already defined.
31602
31603 2000-07-01  Jim Meyering  <meyering@lucent.com>
31604
31605         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
31606
31607 2000-07-01  Jim Meyering  <meyering@lucent.com>
31608
31609         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
31610         problem.
31611
31612 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
31613
31614         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
31615         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
31616
31617 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
31618
31619         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
31620         per change in ../m4/ls-mntd-fs.m4.
31621         (read_filesystem_list): Ignore symbolic links.
31622
31623 2000-06-29  Jim Meyering  <meyering@lucent.com>
31624
31625         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
31626         for declaration of strcmp.
31627
31628         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
31629
31630         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
31631         Avoid warning by casting result to `char *' to remove `const'.
31632
31633 2000-06-28  Jim Meyering  <meyering@lucent.com>
31634
31635         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
31636         included by quotearg.c, for which we perform this test.  From
31637         Bruno Haible.
31638
31639 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
31640
31641         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
31642         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
31643         <utmpx.h> exists, put readutmp.o into LIBOBJS.
31644
31645 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
31646
31647         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
31648
31649 2000-06-26  Paul Eggert  <eggert@twinsun.com>
31650
31651         savedir now sets errno on failure and invokes xmalloc to get memory.
31652         Fix a couple of other minor bugs while we're at it.
31653
31654         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
31655         (NAMLEN): Remove macro.
31656         (malloc, realloc): Remove decls.
31657         (stpcpy): Likewise.
31658         ("xalloc.h"): Include.
31659         (NAME_SIZE_DEFAULT): New macro.
31660         (savedir): Use xmalloc / xrealloc to allocate memory.
31661         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
31662         Skip "" directory entries.
31663         Use strlen to calculate directory entry length, since the old method
31664         is rarely used these days and isn't worth supporting.
31665         Don't use a pointer after freeing it.
31666         Check for integer overflow when calculating allocation size.
31667         Use memcpy to copy entries, instead of stpcpy.
31668         Set errno properly when returning NULL.
31669         Check for readdir error.
31670
31671 2000-06-26  Jim Meyering  <meyering@lucent.com>
31672
31673         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
31674
31675 2000-06-25  Jim Meyering  <meyering@lucent.com>
31676
31677         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
31678         Linux header bug when _XOPEN_SOURCE is defined to 500.
31679
31680 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
31681
31682         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
31683         deficiency.
31684
31685 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
31686
31687         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
31688         Include xalloc.h.
31689         Don't include <stdlib.h>.  Don't declare malloc, realloc.
31690
31691 2000-06-24  Jim Meyering  <meyering@lucent.com>
31692
31693         * m4/strerror_r.m4: Revive this file -- to try out an experimental
31694         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
31695         for which strerror does return char*, but which lacks a conveniently
31696         accessible declaration of the function.  If the compile-test says
31697         strerror_r doesn't work, then resort to a `run'-test that works on
31698         BeOS and segfaults on DEC Unix.
31699
31700 2000-06-24  Jim Meyering  <meyering@lucent.com>
31701
31702         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
31703
31704 2000-06-23  Paul Eggert  <eggert@twinsun.com>
31705
31706         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
31707         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
31708
31709 2000-06-23  Paul Eggert  <eggert@twinsun.com>
31710
31711         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
31712         (mbrtowc, mbstate_t): Define substitutes if
31713         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
31714         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
31715         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
31716
31717 2000-06-23  Jim Meyering  <meyering@lucent.com>
31718
31719         * m4/afs.m4: Add missing AC_MSG_RESULT.
31720         Reported by Bruno Haible.
31721
31722         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
31723         Suggestion from Bruno Haible.
31724
31725 2000-06-23  Jim Meyering  <meyering@lucent.com>
31726
31727         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
31728
31729 2000-06-21  Jim Meyering  <meyering@lucent.com>
31730
31731         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
31732
31733 2000-06-21  Jim Meyering  <meyering@lucent.com>
31734
31735         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
31736         (noinst_HEADERS): Add getstr.h.
31737
31738         * lib/getline.c (getstr): Move into a separate file.
31739         * lib/getstr.c (getstr): New file, extracted from getline.c, with
31740         the following changes: new parameter, delim2; both delim[12]
31741         parameters have type `int', not `char'.  The latter would lose
31742         with 8-bit delimiters.
31743         * lib/getstr.h: New file.
31744
31745 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
31746
31747         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
31748         than 1024, return a memory chunk of least possible size, instead
31749         of size PATH_MAX + 2. In the loop, increment the size proportionally.
31750         Use free/xmalloc instead of xrealloc to avoid copying for very long
31751         paths.
31752
31753 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
31754
31755         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
31756         the empty string.
31757
31758 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
31759
31760         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
31761         address, not strdup.  Include <stdlib.h> and don't declare free().
31762
31763 2000-06-19  Jim Meyering  <meyering@lucent.com>
31764
31765         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
31766
31767 2000-06-18  Jim Meyering  <meyering@lucent.com>
31768
31769         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
31770
31771         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
31772         `checking whether...' message to be consistent with that of the
31773         lstat test.
31774
31775 2000-06-18  Jim Meyering  <meyering@lucent.com>
31776
31777         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
31778         Besides, these days every porting target provides a mkdir function.
31779
31780         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
31781         needed. (this snippet comes from src/system.h).
31782
31783 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
31784
31785         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
31786
31787 2000-06-15  Paul Eggert  <eggert@twinsun.com>
31788
31789         * lib/human.c (adjust_value): New function.
31790         (human_readable_inexact): Apply rounding style even when
31791         printing approximate values.
31792
31793 2000-06-14  Paul Eggert  <eggert@twinsun.com>
31794
31795         * lib/human.c (human_readable_inexact): Allow an input block
31796         size that is not a multiple of the output block size, and vice versa.
31797         Reported by Piergiorgio Sartor.
31798
31799 2000-06-14  Paul Eggert  <eggert@twinsun.com>
31800
31801         * lib/getdate.y (get_date): Apply relative times after time
31802         zone indicator, not before.  Reported by Todd A. Jacobs.
31803
31804 2000-06-13  Jim Meyering  <meyering@lucent.com>
31805
31806         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
31807
31808         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
31809
31810 2000-06-12  Paul Eggert  <eggert@twinsun.com>
31811
31812         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
31813
31814 2000-06-12  Jim Meyering  <meyering@lucent.com>
31815
31816         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
31817         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
31818         optional argument.
31819         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
31820         the optional argument, `lib'.
31821
31822 2000-06-08  Jim Meyering  <meyering@lucent.com>
31823
31824         * m4/largefile.m4: Remove file (now that it's part of autoconf).
31825
31826 2000-06-04  Paul Eggert  <eggert@twinsun.com>
31827
31828         Rewrite largefile configuration so that we don't need to run
31829         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
31830         AC_CANONICAL_HOST in configure.in -- jmm]
31831
31832         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
31833         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
31834         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
31835         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
31836         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
31837         All uses changed.
31838         Instead of inspecting the output of getconf, try to compile the
31839         test program without and with the macro definition.
31840         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
31841         for getconf.  Instead, check for the needed flags by compiling
31842         test programs.
31843
31844 2000-06-04  Paul Eggert  <eggert@twinsun.com>
31845
31846         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
31847
31848 2000-06-04  Jim Meyering  <meyering@lucent.com>
31849
31850         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
31851         SunOS 4.1.4 for which gid_t is an unsigned type.
31852
31853 2000-06-03  Jim Meyering  <meyering@lucent.com>
31854
31855         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
31856         now that autoconf requires that.
31857
31858         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
31859         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
31860         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
31861
31862 2000-06-03  Jim Meyering  <meyering@lucent.com>
31863
31864         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
31865
31866 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
31867
31868         * m4/glibc21.m4: New file.
31869         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
31870
31871 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
31872
31873         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
31874         newer, don't install charset.alias.
31875         * lib/config.charset: Change the Linux/glibc rules so they become empty
31876         on glibc-2.1 or newer.
31877
31878 2000-06-02  Jim Meyering  <meyering@lucent.com>
31879
31880         * lib/mountlist.c: Back out last change.  Instead, do this...
31881         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
31882         me_dummy member using the same `ignore'-testing code.
31883         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
31884         fs_type strings.
31885         From Mark D. Roth.
31886
31887 2000-05-29  Jim Meyering  <meyering@lucent.com>
31888
31889         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
31890         mounts with the `ignore' attribute.  Based on a patch from
31891         Mark D. Roth.
31892
31893 2000-05-28  Jim Meyering  <meyering@lucent.com>
31894
31895         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
31896         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31897         * m4/stat.m4: Likewise.
31898         * m4/lstat.m4: Likewise.
31899         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
31900
31901         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
31902         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
31903
31904 2000-05-26  Jim Meyering  <meyering@lucent.com>
31905
31906         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
31907
31908 2000-05-24  Jim Meyering  <meyering@lucent.com>
31909
31910         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
31911         autoconf requires that.
31912         * m4/lib-check.m4: Likewise.
31913         * m4/jm-macros.m4: Likewise.
31914         * m4/strftime.m4: Likewise.
31915
31916         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
31917         AC_CHECK_DECLS, now that autoconf requires that.
31918
31919 2000-05-22  Jim Meyering  <meyering@lucent.com>
31920
31921         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31922         * m4/lstat.m4: Likewise.
31923
31924 2000-05-22  Jim Meyering  <meyering@lucent.com>
31925
31926         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
31927
31928 2000-05-20  Jim Meyering  <meyering@lucent.com>
31929
31930         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
31931         (jm_PREREQ): Use it.
31932
31933 2000-05-18  Jim Meyering  <meyering@lucent.com>
31934
31935         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
31936         back, too, since it may have been modified by allocate_entry.
31937         (hash_delete): Rewrite to use neither the assignment operator
31938         nor the comma operator in an if-expression.
31939
31940 2000-05-15  Paul Eggert  <eggert@twinsun.com>
31941
31942         * lib/closeout.c:
31943         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
31944         Remove; no longer needed.
31945         "quotearg.h": Add include.
31946         (file_name): Do not bother to explicitly initialize to NULL; it's less
31947         efficient on some hosts.
31948         (close_stdout_status): Remove test as to whether stdout was already
31949         closed; it breaks for the case "echo x | sort >&-".
31950         Quote file name colons.
31951         Do not assume that _("write error") lacks format strings.
31952
31953 2000-05-15  Jim Meyering  <meyering@lucent.com>
31954
31955         * lib/version-etc.c (version_etc_copyright): Update the copyright
31956         string used in all --version output.
31957
31958 2000-05-14  Jim Meyering  <meyering@lucent.com>
31959
31960         * lib/closeout.c (close_stdout_set_file_name): New function.
31961         (close_stdout_status): Use new file-scoped global.
31962         Return right away if fstat says the stdout file descriptor is invalid.
31963         * lib/closeout.h (close_stdout_set_file_name): Declare.
31964
31965 2000-05-10  Jim Meyering  <meyering@lucent.com>
31966
31967         * lib/closeout.c [default_exit_status]: New file-scoped variable.
31968         (close_stdout_set_status): New function.
31969         * lib/closeout.h (close_stdout_set_status): Declare.
31970
31971 2000-05-09  Jim Meyering  <meyering@lucent.com>
31972
31973         * m4/gettext.m4: Rename this...
31974         * m4/libintl.m4: ...to this.
31975
31976 2000-05-08  Jim Meyering  <meyering@lucent.com>
31977
31978         * lib/long-options.c: Don't include closeout.h.
31979         (parse_long_options): Don't call close_stdout for --version.
31980
31981 2000-05-06  Paul Eggert  <eggert@twinsun.com>
31982
31983         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
31984         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
31985         2.1.3 bug.  This avoids a clash when files like regex.c define
31986         _GNU_SOURCE.
31987
31988 2000-05-06  Jim Meyering  <meyering@lucent.com>
31989
31990         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
31991         (AC_REPLACE_FUNCS): Add strnlen.
31992
31993         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
31994         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
31995
31996         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
31997         AC_SEARCH_LIBS call for nanosleep.
31998         (LIB_NANOSLEEP): Set and AC_SUBST.
31999
32000 2000-05-06  Jim Meyering  <meyering@lucent.com>
32001
32002         * lib/strnlen.c: Undefine __strnlen and strnlen.
32003         [!weak_alias]: Define __strnlen to strnlen.
32004
32005         * lib/atexit.c: New file, from libiberty.
32006
32007 2000-05-06  Jim Meyering  <meyering@lucent.com>
32008
32009         * lib/closeout.c (close_stdout_status): Also check for errors on the
32010         stderr stream.
32011
32012 2000-05-05  Jim Meyering  <meyering@lucent.com>
32013
32014         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
32015         AC_SEARCH_LIBS call for clock_gettime.
32016         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
32017
32018         * m4/search-libs.m4: Update from autoconf.
32019
32020         su doesn't work on Solaris 2.6.
32021         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
32022         <shadow.h>.  Reported by Dragos Harabor.
32023
32024 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
32025
32026         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
32027         memcpy instead of xmalloc, xrealloc, path_concat.
32028         (locale_charset): Treat empty environment variables as absent.
32029         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
32030
32031 2000-05-04  Jim Meyering  <meyering@lucent.com>
32032
32033         * lib/getopt.c: Update from glibc.
32034         * lib/obstack.c: Likewise.
32035         * lib/obstack.h: Likewise.
32036         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
32037         file
32038
32039         * lib/regex.h: Likewise.
32040         * lib/strndup.c: Likewise.
32041         * lib/strnlen.c: New file, from glibc.
32042
32043 2000-05-03  Jim Meyering  <meyering@lucent.com>
32044
32045         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
32046
32047 2000-05-02  Paul Eggert  <eggert@twinsun.com>
32048
32049         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
32050         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
32051         compile-time test, rather than inspecting host and OS, to
32052         decide whether to define _LARGEFILE_SOURCE.
32053
32054 2000-05-01  Jim Meyering  <meyering@lucent.com>
32055
32056         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
32057
32058         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
32059         Based on a patch from Bruno Haible.
32060
32061 2000-05-01  Jim Meyering  <meyering@lucent.com>
32062
32063         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
32064
32065 2000-04-29  Jim Meyering  <meyering@lucent.com>
32066
32067         * lib/path-concat.c: Declare strdup only if it's not defined.
32068         * lib/canon-host.c: Likewise.
32069
32070 2000-04-28  Jim Meyering  <meyering@lucent.com>
32071
32072         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
32073         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
32074         is included first, then limits.h is included by locale.h by libintl.h.
32075         From John David Anglin.
32076
32077 2000-04-25  Jim Meyering  <meyering@lucent.com>
32078
32079         * lib/makepath.c (S_IRWXUGO): Define.
32080         (make_path): Always perform explicit chmod if MODE specifies any
32081         of the `special' permission bits.  Prompted by a bug report against
32082         install from Mate Wierdl and Joost van Baal.
32083
32084 2000-04-18  Jim Meyering  <meyering@lucent.com>
32085
32086         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
32087         (jm_PREREQ): Use it.
32088
32089 2000-04-18  Jim Meyering  <meyering@lucent.com>
32090
32091         * lib/README: New file.
32092
32093         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
32094         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
32095
32096 2000-04-17  Jim Meyering  <meyering@lucent.com>
32097
32098         Get it right :-)
32099         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
32100         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
32101         Suggestion from Akim Demaille.
32102
32103 2000-04-17  Jim Meyering  <meyering@lucent.com>
32104
32105         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
32106         the definition of it to rpl_strftime also defined-away the system's
32107         declaration.
32108
32109 2000-04-15  Jim Meyering  <meyering@lucent.com>
32110
32111         Use `C' to denote so-called `contiguous' files, the same way
32112         that tar does.
32113         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
32114         (ftypelet): Use S_ISCTG.
32115         From Michael Deutschmann.
32116
32117 2000-04-14  Jim Meyering  <meyering@lucent.com>
32118
32119         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
32120         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
32121         clobbered.
32122
32123 2000-04-14  Jim Meyering  <meyering@lucent.com>
32124
32125         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
32126
32127 2000-04-13  Jim Meyering  <meyering@lucent.com>
32128
32129         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
32130         AH_VERBATIM to insert required #ifndef into config.h.in.
32131         Suggestion from Akim Demaille.
32132
32133 2000-04-12  Jim Meyering  <meyering@lucent.com>
32134
32135         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
32136         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
32137         Christian Krackowizer.
32138
32139         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
32140         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
32141         (AC_SYS_LARGEFILE): Require.
32142         (AM_C_PROTOTYPES): Require.
32143
32144 2000-04-08  Jim Meyering  <meyering@lucent.com>
32145
32146         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
32147         names don't conflict.  Reported by Eli Zaretskii.
32148
32149 2000-04-07  Jim Meyering  <meyering@lucent.com>
32150
32151         * lib/putenv.c: Move inclusion of errno.h so it follows that of
32152         sys/types.h, to work around system header problems on AIX 3.2.5.
32153         From Bruno Haible.
32154
32155 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
32156
32157         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
32158         bug.  Deal with the different error behavior of Irix iconv.
32159
32160 2000-04-05  Paul Eggert  <eggert@twinsun.com>
32161
32162         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
32163         IRIX if the installer said otherwise.
32164
32165 2000-04-05  Jim Meyering  <meyering@lucent.com>
32166
32167         Portability tweaks required for ultrix4.3.
32168         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
32169         (jm_CHECK_DECLS): Add getutent to the list of functions.
32170         (_jm_DECL_HEADERS): Add utmpx.h.
32171         From John David Anglin.
32172
32173         * m4/strftime.m4: Back out the 2000-04-02 change.
32174         Instead of that change, simply undefine putenv in the test program.
32175
32176 2000-04-05  Jim Meyering  <meyering@lucent.com>
32177
32178         Portability tweaks required for ultrix4.3.
32179         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
32180         getutent.
32181         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
32182         * lib/canon-host.c: Declare strdup.
32183         * lib/path-concat.c: Likewise.
32184         From John David Anglin.
32185
32186 2000-04-04  Jim Meyering  <meyering@lucent.com>
32187
32188         Be more DOS 8.3-friendly.
32189         * lib/ref-add.sin: Renamed from ref-add.sed.in.
32190         * lib/ref-del.sin: Renamed from ref-del.sed.in.
32191         * lib/Makefile.am: Reflect renaming.
32192         Reported by Eli Zaretskii.
32193
32194         Use a temporary file name that won't clash with `charset.alias'
32195         in the DOS 8.3 name space.
32196         * lib/Makefile.am (charset_tmp): Define.
32197         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
32198         (uninstall-local): Likewise.
32199         Reported by Eli Zaretskii.
32200
32201 2000-04-03  Jim Meyering  <meyering@lucent.com>
32202
32203         * m4/gettext.m4: Fix typo in comment.
32204
32205         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
32206         textutils/configure.in).  Suggestion from Paul Eggert.
32207         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
32208
32209 2000-04-02  Paul Eggert  <eggert@twinsun.com>
32210
32211         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
32212         variable in the shell rather than using putenv, which isn't
32213         portable.  This avoids the configure-time inter-test dependency
32214         on the potentially-renamed putenv function.
32215
32216 2000-03-30  Paul Eggert  <eggert@twinsun.com>
32217
32218         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
32219         before checking struct stat.st_blksize, so that
32220         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
32221
32222 2000-03-29  Paul Eggert  <eggert@twinsun.com>
32223
32224         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
32225         since strftime.c uses HAVE_STRFTIME to decide whether to use
32226         the underlying strftime.
32227
32228 2000-03-29  Paul Eggert  <eggert@twinsun.com>
32229
32230         * lib/time/strftime.c (my_strftime): Make sure we call the system
32231         strftime, not ourselves, when invoking the underlying strftime.
32232
32233 2000-03-24  Jim Meyering  <meyering@lucent.com>
32234
32235         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
32236         (charset_alias): Define.
32237         (install-exec-local): Factor out common code.
32238         (uninstall-local): Split lines longer than 80.
32239         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
32240         (SUFFIXES): Define.
32241         (.sed.in.sed): New rule.  Don't redirect directly to $@.
32242         (CLEANFILES): Add ref-add.sed and ref-del.sed.
32243
32244 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
32245
32246         * lib/config.charset: Output a line containing "Packages using this
32247         file".
32248         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
32249         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
32250         ref-del.sed): New rules.
32251
32252 2000-03-17  Jim Meyering  <meyering@lucent.com>
32253
32254         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
32255         Otherwise, include <strings.h>
32256
32257 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
32258
32259         * lib/unicodeio.c (utf8_wctomb): New function.
32260         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
32261         format instead of in UCS-4 with platform dependent endianness.
32262
32263 2000-03-10  Jim Meyering  <meyering@lucent.com>
32264
32265         * m4/lib-check.m4: Look for getspnam in -lgen, too.
32266         From Marco Franzen.
32267
32268 2000-03-07  Paul Eggert  <eggert@twinsun.com>
32269
32270         * lib/savedir.c (savedir): Work even if directory size is
32271         negative; this can happen with some screwy NFS configurations.
32272
32273 2000-03-06  Jim Meyering  <meyering@lucent.com>
32274
32275         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
32276         if it's NULL (because we ran out of memory).  From Bruno Haible.
32277
32278 2000-03-05  Jim Meyering  <meyering@lucent.com>
32279
32280         * lib/localcharset.c ("path-concat.h"): Include.
32281         (get_charset_aliases): Use path_concat instead of ANSI string
32282         concatenation.
32283
32284         * lib/unicodeio.h (PARAMS): Define.
32285         Use it to guard prototype.
32286
32287 2000-03-04  Jim Meyering  <meyering@lucent.com>
32288
32289         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
32290         for lib/localcharset.c.
32291
32292 2000-03-04  Jim Meyering  <meyering@lucent.com>
32293
32294         * lib/Makefile.am (install-exec-local): Create $(libdir) before
32295         installing into it.
32296         (uninstall-local): Uncomment this rule so `make distcheck' works
32297         once again.
32298
32299         * lib/unicodeio.c (<errno.h>): Include it.
32300         (errno): Declare if not defined.
32301
32302         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
32303
32304         * lib/config.charset: New version, incorporating remarks from a linux
32305         i18n mailing list.  From Bruno Haible.
32306
32307 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
32308
32309         * m4/codeset.m4: New file.
32310         * m4/iconv.m4: New file.
32311         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
32312
32313 2000-03-03  Jim Meyering  <meyering@lucent.com>
32314
32315         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
32316
32317 2000-03-02  Jim Meyering  <meyering@lucent.com>
32318
32319         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
32320         the messages come out on separate lines.
32321
32322         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
32323         rather than jm_CHECK_DECLARATIONS.
32324         * m4/decl.m4: Remove now-unused file.
32325
32326         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
32327         geteuid.
32328
32329 2000-03-02  Jim Meyering  <meyering@lucent.com>
32330
32331         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
32332
32333 2000-03-01  Jim Meyering  <meyering@lucent.com>
32334
32335         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
32336         * lib/unicodeio.c: Likewise.
32337
32338 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
32339
32340         * lib/config.charset: New file.
32341         * lib/localcharset.c: New file.
32342         * lib/unicodeio.h, lib/unicodeio.c: New files.
32343         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
32344         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
32345         (noinst_HEADERS): Add unicodeio.h.
32346         (all-local, install-exec-local, charset.alias): New targets.
32347
32348 2000-02-28  Paul Eggert  <eggert@twinsun.com>
32349
32350         * lib/quotearg.c (ALERT_CHAR): New macro.
32351         (quotearg_buffer_restyled): Use it.
32352
32353 2000-02-27  Jim Meyering  <meyering@lucent.com>
32354
32355         * m4/check-decl.m4: Add getenv to the list.
32356
32357 2000-02-27  Jim Meyering  <meyering@lucent.com>
32358
32359         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
32360         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
32361
32362         * lib/backupfile.c: Guard inclusion of stdlib.h with
32363         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
32364         Declare malloc if needed.
32365
32366         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
32367         `#ifndef HAVE_DECL..'
32368         now that autoconf always defines the HAVE_DECL_ symbols.
32369         * lib/human.c: Likewise.
32370         * lib/same.c: Likewise.
32371         * lib/strtoumax.c: Likewise.
32372
32373         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
32374         declaration check was not run.
32375         * lib/hash.c: Likewise.
32376         * lib/human.c: Likewise.
32377         * lib/same.c: Likewise.
32378         * lib/strtoumax.c: Likewise.
32379
32380         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
32381         `.', then first look up the entire `.'-containing string as a login
32382         name.
32383
32384 2000-02-23  Jim Meyering  <meyering@lucent.com>
32385
32386         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
32387         in place of my hack.
32388
32389 2000-02-18  Paul Eggert  <eggert@twinsun.com>
32390
32391         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
32392         (textint): New typedef.
32393         (parser_control): Member year changed from int to textint.
32394         All uses changed.
32395         (YYSTYPE): Removed; replaced by %union with int and textint members.
32396         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
32397         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
32398         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
32399         (tSNUMBER, tUNUMBER): Now of type <textintval>.
32400         (date, number, to_year): Use width of number in digits, not its value,
32401         to determine whether it's a 2-digit year, or a 2-digit time.
32402         (yylex): Store number of digits of numeric tokens.
32403         Reported by John Kendall.
32404
32405         (parser_control): Changed from struct parser_control to typedef (for
32406         consistency).  All uses changed.
32407
32408         (tID): Removed; not used.
32409         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
32410
32411 2000-02-14  Paul Eggert  <eggert@twinsun.com>
32412
32413         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
32414         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
32415
32416 2000-02-12  Jim Meyering  <meyering@lucent.com>
32417
32418         * lib/userspec.c (ISDIGIT): Define it.
32419         (isdigit): Remove definition.
32420         (is_number): Use ISDIGIT, not isdigit.
32421         <libintl.h>: Include.
32422         (_ and N_): Define.
32423         (parse_user_spec): Mark translatable strings.
32424
32425 2000-02-10  Jim Meyering  <meyering@lucent.com>
32426
32427         With these changes, nanosleep.[ch] are finally enough like the other
32428         lib/* replacement files to compile on a few more losing systems.
32429
32430         * lib/nanosleep.h: Don't include config.h.
32431         Remove prototype from declaration of nanosleep.
32432         (PARAMS): Remove now-unneeded definition.
32433         * lib/nanosleep.c: #undef nanosleep.
32434         (rpl_nanosleep): Rename from nanosleep.
32435
32436 2000-02-10  Jim Meyering  <meyering@lucent.com>
32437
32438         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
32439         gnu_nanosleep to rpl_nanosleep.
32440
32441 2000-02-09  Jim Meyering  <meyering@lucent.com>
32442
32443         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
32444         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
32445
32446 2000-02-08  Akim Demaille  <akim@epita.fr>
32447
32448         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
32449         `[' and `]' and remove uses of `changequote'.
32450         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
32451         (AC_SYS_LARGEFILE): Likewise.
32452         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
32453         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
32454         of changequote.
32455         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
32456         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
32457         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
32458         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
32459
32460 2000-02-05  Jim Meyering  <meyering@lucent.com>
32461
32462         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
32463         Remove explicit use of AC_HEADER_TIME.  It is required by
32464         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
32465         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
32466         in autoconf whereby the expansion of the latter ended up preceding
32467         the expansion of its prerequisite, AC_HEADER_TIME.
32468         Reported by Volker Borchert.
32469
32470 2000-02-03  Jim Meyering  <meyering@lucent.com>
32471
32472         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
32473
32474 2000-02-03  Jim Meyering  <meyering@lucent.com>
32475
32476         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
32477         rather than with `#if HAVE_UTMPNAME'.
32478
32479 2000-02-02  Jim Meyering  <meyering@lucent.com>
32480
32481         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
32482         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
32483         Reported by Eli Zaretskii.
32484
32485 2000-02-01  Jim Meyering  <meyering@lucent.com>
32486
32487         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
32488
32489 2000-01-31  Jim Meyering  <meyering@lucent.com>
32490
32491         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
32492         functions.  Add the time.h and sys/time.h headers along with the
32493         AC_REQUIRE'ment of AC_HEADER_TIME.
32494
32495 2000-01-31  Jim Meyering  <meyering@lucent.com>
32496
32497         * lib/nanosleep.h (nanosleep): Guard declaration with
32498         `#if ! HAVE_DECL_NANOSLEEP'.
32499         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
32500         the declaration in that vendor's sys/timers.h.
32501         Reported by Christian Krackowizer.
32502
32503         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
32504         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
32505         (ISPRINT): Likewise.
32506         Reported by Tom Tromey.
32507
32508 2000-01-30  Jim Meyering  <meyering@lucent.com>
32509
32510         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
32511
32512         * m4/prereq.m4 (utmp_includes): Define.
32513         Check for ut_user and ut_name members in both struct utmpx
32514         and struct utmp.
32515
32516 2000-01-30  Jim Meyering  <meyering@lucent.com>
32517
32518         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
32519         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
32520         header files where only utmpx.ut_user is declared.
32521
32522         * lib/readutmp.h (UT_USER): Define.
32523
32524 2000-01-29  Jim Meyering  <meyering@lucent.com>
32525
32526         * m4/lib-check.m4: New file containing library-related checks from
32527         fileutils and sh-utils (textutils had none).
32528
32529 2000-01-28  Jim Meyering  <meyering@lucent.com>
32530
32531         * m4/perl.m4: Change format of warning message to look more like that
32532         from the missing script.  Suggestion from François Pinard.
32533
32534 2000-01-25  Jim Meyering  <meyering@lucent.com>
32535
32536         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
32537         well as time.h in the compile check.
32538         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
32539         Fix typo in cross-compiling case: s/yes/no/.
32540
32541 2000-01-23  Jim Meyering  <meyering@lucent.com>
32542
32543         * m4/jm-macros.m4: Move df-related tests here from
32544         fileutils/configure.in
32545
32546         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
32547         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
32548
32549         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
32550         s/space/ac_fsusage_space/.
32551         (jm_FILE_SYSTEM_USAGE): Take two parameters.
32552
32553         * m4/ftruncate.m4: New file (derived from part of
32554         fileutils/configure.in).
32555         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
32556         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
32557
32558         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
32559         AC_SUBST these here, rather than just in sh-util/configure.in, so
32560         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
32561         all the same.
32562         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
32563         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
32564         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
32565         (AC_SUBST(POW_LIBM)): Likewise.
32566         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
32567
32568 2000-01-23  Jim Meyering  <meyering@lucent.com>
32569
32570         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
32571         obstack.c.
32572
32573 2000-01-22  Jim Meyering  <meyering@lucent.com>
32574
32575         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
32576
32577         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
32578
32579         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
32580         configure.in
32581         (AC_CHECK_HEADERS): Likewise for sh-utils.
32582         (AC_CHECK_HEADERS): Likewise for textutils.
32583         Merge the three lists of headers.
32584
32585         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
32586         from fileutils' configure.in.
32587
32588         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
32589         code. Moved tests into their own function (_jm_DECL_HEADERS) in
32590         check-decl.m4.
32591
32592         * m4/check-decl.m4: Use #if rather than #ifdef.
32593         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
32594         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
32595         (_jm_DECL_HEADERS): Define new function.
32596         (jm_CHECK_DECLARATIONS): Require it.
32597
32598 2000-01-22  Jim Meyering  <meyering@lucent.com>
32599
32600         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
32601         [! HAVE_DECL_STRTOULL]: Declare strtoull.
32602         Required for some AIX systems.  Reported by Christian Krackowizer.
32603         [TESTING] (main): New function.
32604
32605         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
32606         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
32607         letters.
32608
32609         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
32610         iswprint.
32611
32612         * lib/strverscmp.c (ISDIGIT): Define.
32613         (strverscmp): Use ISDIGIT, not isdigit.
32614
32615 2000-01-19  Jim Meyering  <meyering@lucent.com>
32616
32617         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
32618         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
32619         defines `struct timespec' in <sys/time.h>
32620
32621         * m4/c-bs-a.m4: Remove uses of changequote altogether.
32622         Thanks to Akim for explaining.
32623
32624 2000-01-17  Paul Eggert  <eggert@twinsun.com>
32625
32626         * lib/nanosleep.c (nanosleep):
32627         Don't use SA_INTERRUPT to decide whether to call sigaction, as
32628         POSIX.1 doesn't require SA_INTERRUPT and some systems
32629         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
32630         it's been part of POSIX.1 since day 1 (in 1988).
32631
32632 2000-01-17  Jim Meyering  <meyering@lucent.com>
32633
32634         * lib/interlock: Remove unused file.  Reported by François Pinard.
32635
32636 2000-01-16  Paul Eggert  <eggert@twinsun.com>
32637
32638         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
32639         alert, backslash, formfeed, and vertical tab unnecessarily in
32640         shell quoting style.
32641
32642 2000-01-16  Jim Meyering  <meyering@lucent.com>
32643
32644         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
32645         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
32646         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
32647         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
32648
32649 2000-01-16  Jim Meyering  <meyering@lucent.com>
32650
32651         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
32652         because the latter didn't work.
32653
32654 2000-01-15  Jim Meyering  <meyering@lucent.com>
32655
32656         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
32657         (AC_REPLACE_FUNCS): Add memcpy and memset.
32658         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
32659         Add strpbrk.
32660         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
32661
32662 2000-01-12  Jim Meyering  <meyering@lucent.com>
32663
32664         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
32665         (jm_PREREQ): Use it.
32666         (jm_PREREQ_READUTMP): New macro.
32667         (jm_PREREQ): Use it.
32668
32669 2000-01-11  Paul Eggert  <eggert@twinsun.com>
32670
32671         Quote multibyte characters correctly.
32672         * m4/c-bs-a.m4: New file.
32673         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
32674         (jm_PREREQ): Use it.
32675
32676 2000-01-11  Paul Eggert  <eggert@twinsun.com>
32677
32678         * m4/uintmax_t.m4: Port to autoconf 2.13.
32679
32680 2000-01-08  Jim Meyering  <meyering@ascend.com>
32681
32682         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
32683         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
32684
32685 2000-01-04  Jim Meyering  <meyering@ascend.com>
32686
32687         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
32688         jm_STRUCT_DIRENT_D_TYPE.
32689         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
32690         jm_STRUCT_DIRENT_D_INO.
32691         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
32692         jm_STRUCT_UTIMBUF.
32693         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
32694         renamings.
32695         * m4/utime.m4: Likewise.
32696
32697         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
32698         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
32699
32700 2000-01-03  Paul Eggert  <eggert@twinsun.com>
32701
32702         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
32703         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
32704
32705 2000-01-02  Jim Meyering  <meyering@ascend.com>
32706
32707         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
32708         remember if this is necessary.
32709
32710 1999-12-26  Jim Meyering  <meyering@ascend.com>
32711
32712         * m4/jm-macros.m4: Use it here.
32713         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
32714
32715 1999-12-23  Jim Meyering  <meyering@ascend.com>
32716
32717         * m4/jm-macros.m4: Check for clock_gettime (moved from
32718         fileutils/configure.in)
32719         Check for gettimeofday.
32720
32721 1999-12-20  Jim Meyering  <meyering@ascend.com>
32722
32723         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
32724         autoconf-2.14a-1999-12-20.
32725
32726 1999-12-19  Jim Meyering  <meyering@ascend.com>
32727
32728         * m4/lstat-slash.m4: New file.
32729         * m4/jm-macros.m4: Use the new macro:
32730         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
32731
32732 1999-12-07  Jim Meyering  <meyering@ascend.com>
32733
32734         * m4/perl.m4: Require that File::Compare be available, too.
32735         Too many systems seem to lack it.
32736
32737         * m4/strftime.m4: Add checks for most of the cpp macros tested in
32738         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
32739
32740 1999-11-18  Paul Eggert  <eggert@twinsun.com>
32741
32742         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
32743         problem with the QNX 4.25 shell, which doesn't propagate exit
32744         status of failed commands inside shell assignments.
32745
32746 1999-11-17  Jim Meyering  <meyering@ascend.com>
32747
32748         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
32749
32750 1999-11-07  Jim Meyering  <meyering@ascend.com>
32751
32752         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
32753
32754 1999-11-06  Jim Meyering  <meyering@ascend.com>
32755
32756         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
32757         * m4/jm-macros.m4 (jm_MACROS): Use it here.
32758
32759 1999-11-05  Jim Meyering  <meyering@ascend.com>
32760
32761         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
32762         configure.in of textutils, fileutils, and sh-utils into this one
32763         (shared between those packages) file.
32764         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
32765         AC_STRUCT_ST_BLKSIZE.
32766
32767 1999-11-03  Jim Meyering  <meyering@ascend.com>
32768
32769         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
32770         of AC_CHECK_TYPE checks includes unistd.h.
32771         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
32772         Suggestion from Akim Demaille.
32773
32774 1999-10-30  Jim Meyering  <meyering@ascend.com>
32775
32776         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
32777         m4-quoted string.
32778         * m4/ls-mntd-fs.m4: Likewise.
32779         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
32780         * m4/jm-winsz1.m4: Likewise.
32781
32782         * m4/const.m4: Remove file, since the fix made it into the experimental
32783         version of autoconf.
32784         * m4/mktime.m4: Likewise.
32785
32786         * m4/check-type.m4: Remove file, now that the latest version of
32787         AC_CHECK_TYPE takes a third arg to specify additional #includes.
32788
32789         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
32790         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
32791         AC_CHECK_TYPE.
32792
32793 1999-10-04  Jim Meyering  <meyering@ascend.com>
32794
32795         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
32796
32797 1999-09-22  Paul Eggert  <eggert@twinsun.com>
32798
32799         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
32800         2.95.1 bug with HP-UX 10.20.
32801
32802 1999-09-17  Jim Meyering  <meyering@ascend.com>
32803
32804         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
32805         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
32806         due to missing strdup (against sh-utils-2.0).
32807
32808 1999-08-29  Jim Meyering  <meyering@ascend.com>
32809
32810         * m4/jm-macros.m4: Require jm_BISON.
32811         * m4/bison.m4: New file.
32812
32813 1999-08-17  Paul Eggert  <eggert@twinsun.com>
32814
32815         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
32816         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
32817
32818 1999-08-05  Jim Meyering  <meyering@ascend.com>
32819
32820         * m4/getline.m4: Rename test file from conftestdata to conftest.data
32821         to avoid conflicts with `conftest' on 8+3 filesystems.
32822         Suggestion from Eli Zaretskii.
32823
32824 1999-08-04  Jim Meyering  <meyering@ascend.com>
32825
32826         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
32827         fileutils and sh-utils (textutils's getline test was inadequate).
32828         (AM_FUNC_GETLINE): Run this test.
32829         (AC_CHECK_FUNCS): Check for getdelim.
32830         Reported by Bob Proulx.
32831
32832 1999-08-02  Jim Meyering  <meyering@ascend.com>
32833
32834         * m4/jm-macros.m4: Add a comment.
32835
32836 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32837
32838         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
32839         <inttypes.h> defines strtoumax as a macro (and not as a
32840         function).
32841
32842 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32843
32844         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
32845         that we can shift, multiply and divide unsigned long long
32846         values; Ultrix cc can't do it.
32847
32848 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32849
32850         * m4/mktime.m4: New file, which is a preview of what should appear
32851         in the next public autoconf release.
32852
32853 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32854
32855         * m4/lfs.m4: Remove this file.
32856         * m4/largefile.m4: New file.  It contains the old contents of
32857         lfs.m4, except that all names with prefix AC_LFS have been
32858         changed to use the prefix AC_SYS_LARGEFILE instead, to be
32859         compatible with future autoconf versions.  Also, some minor m4
32860         quoting problems have been fixed.
32861
32862 1999-08-01  Paul Eggert  <eggert@twinsun.com>
32863
32864         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
32865         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
32866         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
32867         and simplify the shell code.
32868
32869 1999-08-01  Jim Meyering  <meyering@ascend.com>
32870
32871         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
32872         m4.
32873
32874 1999-07-20  Jim Meyering  <meyering@ascend.com>
32875
32876         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
32877
32878 1999-07-15  Jim Meyering  <meyering@ascend.com>
32879
32880         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
32881
32882 1999-05-22  Jim Meyering  <meyering@ascend.com>
32883
32884         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
32885
32886 1999-05-20  Jim Meyering  <meyering@ascend.com>
32887
32888         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
32889         Add a colon after each `then' in case $4 is empty.
32890
32891 1999-05-16  Jim Meyering  <meyering@ascend.com>
32892
32893         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
32894
32895 1999-05-10  Jim Meyering  <meyering@ascend.com>
32896
32897         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
32898
32899         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
32900         AC_FUNC_MKTIME.
32901
32902 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
32903
32904         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
32905
32906 1999-05-04  Paul Eggert  <eggert@twinsun.com>
32907
32908         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
32909         not CPPFLAGS, so that linking works correctly in IRIX.
32910
32911 1999-04-30  Paul Eggert  <eggert@twinsun.com>
32912
32913         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
32914
32915 1999-04-20  Paul Eggert  <eggert@twinsun.com>
32916
32917         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
32918         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
32919         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
32920         jm_AC_TYPE_UNSIGNED_LONG_LONG.
32921         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
32922
32923         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
32924
32925 1999-04-20  Jim Meyering  <meyering@ascend.com>
32926
32927         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
32928         AC_REPLACE xstroull if necessary.  From Paul Eggert.
32929         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
32930
32931 1999-04-18  Jim Meyering  <meyering@ascend.com>
32932
32933         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
32934         * m4/jm-macros.m4: Use it.
32935
32936 1999-04-06  Jim Meyering  <meyering@ascend.com>
32937
32938         * m4/strftime.m4: Remove test for %f.
32939
32940 1999-03-29  Jim Meyering  <meyering@ascend.com>
32941
32942         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
32943         superset of the AC_TYPE_* checks in the textutils, fileutils,
32944         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
32945         AC_TYPE_PID_T.
32946
32947 1999-03-28  Jim Meyering  <meyering@ascend.com>
32948
32949         * m4/jm-macros.m4: Define GNU_PACKAGE here.
32950         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
32951         replaced e.g., in the *.sh files of the sh-utils.
32952
32953 1999-03-20  Jim Meyering  <meyering@ascend.com>
32954
32955         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
32956         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
32957         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
32958
32959 1999-03-19  Jim Meyering  <meyering@ascend.com>
32960
32961         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
32962
32963 1999-03-12  Jim Meyering  <meyering@ascend.com>
32964
32965         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
32966
32967 1999-03-07  Jim Meyering  <meyering@ascend.com>
32968
32969         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
32970         declared.
32971
32972 1999-02-17  Jim Meyering  <meyering@ascend.com>
32973
32974         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
32975         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
32976
32977 1999-02-07  Jim Meyering  <meyering@ascend.com>
32978
32979         * m4/group-member.m4: New file -- extracted from sh-utils'
32980         configure.in.
32981
32982         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
32983         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
32984
32985 1999-02-06  Jim Meyering  <meyering@ascend.com>
32986
32987         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
32988         * m4/fnmatch.m4: Likewise.
32989         * m4/getgroups.m4: Likewise.
32990         * m4/lstat.m4: Likewise.
32991         * m4/malloc.m4: Likewise.
32992         * m4/putenv.m4: Likewise.
32993         * m4/realloc.m4: Likewise.
32994         * m4/regex.m4: Likewise.
32995         * m4/stat.m4: Likewise.
32996         * m4/strftime.m4: Likewise.
32997         Suggestion from Alain Magloire.
32998
32999         * m4/chown.m4: Use `.$ac_objext', not `.o'.
33000         * m4/fnmatch.m4: Likewise.
33001         * m4/getgroups.m4: Likewise.
33002         * m4/getline.m4: Likewise.
33003         * m4/lstat.m4: Likewise.
33004         * m4/malloc.m4: Likewise.
33005         * m4/memcmp.m4: Likewise.
33006         * m4/putenv.m4: Likewise.
33007         * m4/realloc.m4: Likewise.
33008         * m4/regex.m4: Likewise.
33009         * m4/stat.m4: Likewise.
33010         * m4/strftime.m4: Likewise.
33011         Suggestion from Alain Magloire.
33012
33013         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
33014         an argument.
33015
33016         * m4/regex.m4: Add a run-time Test for proper operation of
33017         re_compile_pattern.
33018
33019 1999-01-31  Jim Meyering  <meyering@ascend.com>
33020
33021         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
33022
33023 1999-01-30  Jim Meyering  <meyering@ascend.com>
33024
33025         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
33026
33027         * m4/jm-mktime.m4: Make this a wrapper around the official
33028         AM_FUNC_MKTIME rather than my private copy, now that the official one
33029         is up to date.
33030         * m4/mktime.m4: Remove file.
33031
33032         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
33033         * m4/uptime.m4: Likewise.
33034         * m4/uintmax_t.m4: Likewise.
33035
33036 1999-01-28  Jim Meyering  <meyering@ascend.com>
33037
33038         * m4/jm-macros.m4: Use jm_AFS.
33039         * m4/afs.m4: New file (from fileutils' configure.in).
33040
33041         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
33042         * m4/chown.m4: Likewise.
33043         * m4/d-ino.m4: Likewise.
33044         * m4/d-type.m4: Likewise.
33045         * m4/fnmatch.m4: Likewise.
33046         * m4/getgroups.m4: Likewise.
33047         * m4/gettext.m4: Likewise.
33048         * m4/jm-mktime.m4: Likewise.
33049         * m4/jm-winsz2.m4: Likewise.
33050         * m4/lcmessage.m4: Likewise.
33051         * m4/ls-mntd-fs.m4: Likewise.
33052         * m4/malloc.m4: Likewise.
33053         * m4/memcmp.m4: Likewise.
33054         * m4/putenv.m4: Likewise.
33055         * m4/realloc.m4: Likewise.
33056         * m4/st_mtim.m4: Likewise.
33057         * m4/strftime.m4: Likewise.
33058
33059 1999-01-16  Jim Meyering  <meyering@ascend.com>
33060
33061         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
33062         (ARGMATCH_DIE_DECL): Define.
33063
33064 1999-01-12  Jim Meyering  <meyering@ascend.com>
33065
33066         * m4/Makefile.am.in: Rewrite to avoid using fmt.
33067         Reported by Lars Hecking.
33068
33069 1999-01-10  Jim Meyering  <meyering@ascend.com>
33070
33071         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
33072         gross kludge.
33073         * m4/inttypes_h.m4: Likewise.
33074         * m4/lstat.m4: Likewise.
33075         * m4/malloc.m4: Likewise.
33076         * m4/readdir.m4: Likewise.
33077         * m4/realloc.m4: Likewise.
33078         * m4/st_dm_mode.m4: Likewise.
33079         * m4/stat.m4: Likewise.
33080         * m4/utimbuf.m4: Likewise.
33081         * m4/utimes.m4: Likewise.
33082
33083         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
33084         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
33085         comments in config.h.in are meaningful.
33086
33087         * m4/jm-macros.m4: Require autoconf-2.13 here.
33088
33089         * m4/regex.m4: By default, don't use the included regex.c on systems
33090         with glibc 2.  Suggestion from Uli Drepper.
33091
33092 1999-01-02  Jim Meyering  <meyering@ascend.com>
33093
33094         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
33095
33096 1998-12-18  Jim Meyering  <meyering@ascend.com>
33097
33098         * m4/Makefile.am.in (Makefile.am): Simplify rule.
33099         Based on a suggestion from Lars Hecking.
33100
33101 1998-11-16  Paul Eggert  <eggert@twinsun.com>
33102
33103         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
33104
33105 1998-11-16  Jim Meyering  <meyering@ascend.com>
33106
33107         * m4/lfs.m4: Double-quote the `uname...` expression.
33108
33109 1998-11-14  Jim Meyering  <meyering@ascend.com>
33110
33111         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
33112         * m4/stat.m4: Likewise.
33113
33114 1998-11-03  Jim Meyering  <meyering@ascend.com>
33115
33116         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
33117         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
33118
33119 1998-10-18  Jim Meyering  <meyering@ascend.com>
33120
33121         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
33122
33123 1998-10-17  Jim Meyering  <meyering@ascend.com>
33124
33125         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
33126         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
33127         calls for those previously hard-coded headers.  Instead, take a new
33128         parameter.
33129         (jm_CHECK_DECLARATIONS): Reflect interface change.
33130         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
33131         (jm_CHECK_DECL_LOCALTIME_R): New macro.
33132
33133         * m4/mktime.m4: Test for spring-forward gap before long-running test.
33134
33135 1998-10-14  Jim Meyering  <meyering@ascend.com>
33136
33137         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
33138         instead of "TZ=America/Vancouver".  From Paul Eggert.
33139
33140 1998-10-11  Jim Meyering  <meyering@ascend.com>
33141
33142         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
33143         This adds a test for a recently added compatibility fix for mktime.c.
33144         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
33145
33146 1998-09-27  Jim Meyering  <meyering@ascend.com>
33147
33148         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
33149
33150         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
33151         ../configure.in, including a change from Gordon Matzigkeit to allow
33152         cross-compiling for the Hurd.
33153
33154         * m4/glibc.m4: New file/macro to test for the GNU C Library
33155         versions 1 and 2.  From Gordon Matzigkeit.
33156         Indent.
33157
33158 1998-09-21  Jim Meyering  <meyering@ascend.com>
33159
33160         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
33161
33162 1998-08-18  Paul Eggert  <eggert@twinsun.com>
33163
33164         Port nanosecond-resolution times to UnixWare 2.1.2 and
33165         pedantic Solaris 2.6.
33166
33167         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
33168         AC_STRUCT_ST_MTIM.
33169         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
33170         Generate name of ns member, instead of just 1 or undef.
33171         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
33172
33173 1998-08-15  Jim Meyering  <meyering@ascend.com>
33174
33175         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
33176         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
33177         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
33178         instead of jm_TYPE_SSIZE_T.
33179
33180 1998-08-12  Jim Meyering  <meyering@ascend.com>
33181
33182         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
33183
33184 1998-08-02  Jim Meyering  <meyering@ascend.com>
33185
33186         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
33187         in acconfig.h manually.
33188
33189 1998-07-31  Paul Eggert  <eggert@twinsun.com>
33190
33191         * m4/st_mtim.m4: New file.
33192
33193 1998-07-28  Jim Meyering  <meyering@ascend.com>
33194
33195         * m4/utimes.m4: Undef stat.
33196
33197 1998-07-25  Jim Meyering  <meyering@ascend.com>
33198
33199         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
33200         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
33201
33202 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
33203
33204         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
33205         uid and gid actually remain unchanged.
33206
33207 1998-07-07  Jim Meyering  <meyering@ascend.com>
33208
33209         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
33210
33211 1998-07-04  Jim Meyering  <meyering@ascend.com>
33212
33213         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
33214         to prove that this macro can be used in packages without regex.c.
33215
33216 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
33217
33218         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
33219         is to be used.
33220
33221 1998-07-03  Jim Meyering  <meyering@ascend.com>
33222
33223         * m4/gettext.m4: Add -lintl if it's found to be necessary.
33224
33225         * m4/gettext.m4: New file -- from gettext-0.10.35.
33226         * m4/lcmessage.m4: Likewise.
33227         * m4/progtest.m4: Likewise.
33228
33229         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
33230         * m4/jm-macros.m4: Require the new macro.
33231
33232 1998-06-29  Jim Meyering  <meyering@ascend.com>
33233
33234         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
33235         for the definition of NGROUPS (used in a system header included
33236         by sys/mount.h).
33237
33238 1998-06-28  Jim Meyering  <meyering@ascend.com>
33239
33240         * m4/ls-mntd-fs.m4: New file.
33241         * m4/fstypename.m4: New file.
33242
33243         * m4/jm-macros.m4: Require the new macro.
33244         * m4/jm-glibc-io.m4: New file.
33245
33246 1998-05-19  Jim Meyering  <meyering@ascend.com>
33247
33248         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
33249         * m4/lchown.m4: New file.
33250
33251         * m4/Makefile.am.in: New file.
33252         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
33253
33254 1998-05-14  Jim Meyering  <meyering@ascend.com>
33255
33256         * m4/Makefile.am (EXTRA_DIST): Add them.
33257         * m4/jm-macros.m4: New file.
33258         * m4/utimbuf.m4: New file.
33259
33260 1998-05-12  Jim Meyering  <meyering@ascend.com>
33261
33262         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
33263
33264 1998-05-11  Jim Meyering  <meyering@ascend.com>
33265
33266         * m4/isc-posix.m4: New file.
33267
33268 1998-05-10  Jim Meyering  <meyering@ascend.com>
33269
33270         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
33271
33272 1998-05-09  Jim Meyering  <meyering@ascend.com>
33273
33274         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
33275         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
33276         with automake.
33277
33278         * m4/ssize_t.m4: New file.
33279         * m4/mktime.m4: Remove file -- the new automake has this now.
33280
33281 1998-04-26  Jim Meyering  <meyering@ascend.com>
33282
33283         * m4/assert.m4: New file.
33284         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
33285
33286 1998-04-05  Jim Meyering  <meyering@ascend.com>
33287
33288         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
33289         (jm_PREREQ): Use it here.
33290
33291 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
33292
33293         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
33294         in acconfig.h.
33295
33296 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
33297
33298         * m4/prereq.m4: New file.
33299         * m4/error.m4: New file.
33300         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
33301
33302 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
33303
33304         * m4/getline.m4: Don't set am_cv_func_working_getline before the
33305         cache-check for the same variable -- that defeated the purpose of
33306         the test; the test program was never run.  This was a problem only
33307         on systems with losing getline functions -- HP-UX 10.20 is one.
33308         Reported by Bjorn Helgaas.
33309
33310 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
33311
33312         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
33313
33314 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
33315
33316         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
33317
33318         * m4/const.m4: New file.  Use an initializer in this declaration
33319         typedef int charset[2]; const charset x;
33320         Reported by Bob Glickstein.
33321
33322 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
33323
33324         * m4/chown.m4: Fix reversed types on -1 args to chown.
33325         From Kaveh Ghazi.
33326
33327 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
33328
33329         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
33330         Add lseek and memchr.
33331
33332         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
33333         T.E.Dickey <dickey@clark.net> said that some older preprocessors
33334         have a 20-character limit on names.
33335
33336 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
33337
33338         * m4/inttypes_h.m4: New file.
33339         * m4/uintmax_t.m4: New file.
33340         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
33341
33342 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
33343   Free Software Foundation, Inc.
33344 Copying and distribution of this file, with or without modification,
33345 are permitted provided the copyright notice and this notice are preserved.