gc: Remove gl_PREREQ_GC (not used).
[gnulib.git] / ChangeLog
1 2011-05-09  Simon Josefsson  <simon@josefsson.org>
2
3         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
4         Haible <bruno@clisp.org>.
5
6 2011-05-08  Bruno Haible  <bruno@clisp.org>
7
8         Comments.
9         * m4/isnanf.m4: Add comment.
10         * m4/isnanl.m4: Likewise.
11
12 2011-05-08  Bruno Haible  <bruno@clisp.org>
13
14         glob: Remove obsolete macro.
15         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
16
17 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
18
19         intprops: Sun C 5.11 supports __typeof__
20         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
21         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
22         which is new.
23         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
24
25         intprops: switch to usual gnulib indenting and naming
26         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
27         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
28
29         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
30
31 2011-05-08  Jim Meyering  <meyering@redhat.com>
32
33         maint.mk: suppress "Entering/Leaving directory" diag in announcement
34         * top/maint.mk (release-prep): Use make's --no-print-directory
35         option when generating the announcement.  This eliminates the
36         pesky "make[2]: Entering/Leaving directory" diagnostics in the
37         generated announcement template.
38
39 2011-05-08  Bruno Haible  <bruno@clisp.org>
40
41         tzset: Fix gettimeofday wrapper on Solaris 2.6.
42         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
43         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
44
45 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
46
47         ignore-value, verify: Omit include files from lib_SOURCES.
48         * modules/ignore-value, modules/verify (Makefile.am):
49         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
50         that leads Automake to duplicate use of am__objects_... variables
51         in Makefile.in.  See
52         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
53
54 2011-05-07  Bruno Haible  <bruno@clisp.org>
55
56         fclose: Simplify autoconf macro.
57         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
58         defined.
59
60 2011-05-07  Bruno Haible  <bruno@clisp.org>
61
62         canonicalize-lgpl: Fix autoconf macro ordering bug.
63         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
64         gl_STDLIB_H_DEFAULTS.
65
66 2011-05-06  Eric Blake  <eblake@redhat.com>
67
68         maintainer-makefile: make sc_po_check easier to tune
69         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
70         to probe for strings, such as an alternate location for gnulib.
71
72         fclose: guarantee behavior on seekable stdin
73         * modules/fclose (Depends-on): Add fflush.
74         * doc/posix-functions/fclose.texi (fclose): Document this.
75         * tests/test-fclose.c (main): Make test for this unconditional.
76
77 2011-05-06  Bruno Haible  <bruno@clisp.org>
78
79         fflush, fpurge: Relicense under LGPLv2+.
80         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
81         * modules/fpurge (License): Likewise.
82         With permission from Eric Blake and Jim Meyering.
83         Suggested by Eric Blake.
84
85 2011-05-06  Karl Berry  <karl@gnu.org>
86
87         * MODULES.html.sh (func_all_modules): remove exit.
88
89 2011-05-06  Jim Meyering  <meyering@redhat.com>
90
91         maint.mk: use info-gnu@ as the default only for a stable release
92         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
93         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
94         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
95         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
96
97 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
98
99         assert-h: new module, which supports C1X-style static_assert
100         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
101         * lib/verify.h: Revamp so that this can be copied into assert.h,
102         while retaining the ability to use it standalone as before.
103         Rename private identifiers so as not to encroach on the
104         standard C namespace, since this is now used by assert.h.
105         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
106         the old verify_true.
107         (_GL_VERIFY_TRUE): New macro, with much of the contents of
108         the old verify_true.  Use _GL_VERIFY_TYPE.
109         (_GL_VERIFY): New macro, with much of the contents of the old verify.
110         (static_assert): New macro, if _GL_STATIC_ASSERT_H
111         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
112         defined when this file is copied into the replacement assert.h.
113         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
114         and _Static_assert is not built in.
115         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
116         defined, and use the new macros mentioned above.
117         * doc/posix-headers/assert.texi: Document this.
118
119 2011-05-05  Bruno Haible  <bruno@clisp.org>
120
121         fclose, fflush: Respect rules for use of AC_LIBOBJ.
122         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
123         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
124         gl_REPLACE_FCLOSE here.
125         * modules/fflush (Depends-on): Remove fclose.
126         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
127         combination with module 'fclose'.
128
129 2011-05-05  Bruno Haible  <bruno@clisp.org>
130
131         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
132         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
133         gl_FUNC_FFLUSH.
134         (gl_FUNC_FFLUSH): Use it.
135         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
136         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
137         gl_REPLACE_FSEEKO here.
138
139 2011-05-05  Bruno Haible  <bruno@clisp.org>
140
141         tzset: Relicense under LGPL.
142         * modules/tzset (License): Change to LGPL.
143         No agreement needed; it's a no-op.
144
145         strtoimax, strtoumax: Relicense under LGPL.
146         * modules/strtoimax (License): Change to LGPL.
147         * modules/strtoumax (License): Likewise.
148         With permission from Jim Meyering, Paul Eggert:
149         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
150         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
151
152         getgroups: Relicense under LGPL.
153         * modules/getgroups (License): Change to LGPL.
154         With permission from Jim Meyering, Paul Eggert, Eric Blake:
155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
156         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
157         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
158
159         nanosleep: Relicense under LGPL.
160         * modules/nanosleep (License): Change to LGPL.
161         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
162         Haible:
163         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
164         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
165         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
166         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
167
168         futimens: Relicense under LGPL.
169         * modules/futimens (License): Change to LGPL.
170         With permission from Eric Blake:
171         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
172
173         fflush: Relicense under LGPL.
174         * modules/fflush (License): Change to LGPL.
175         With permission from Eric Blake, Bruno Haible, Jim Meyering:
176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
177         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
178         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
179
180         tmpfile: Relicense under LGPL.
181         * modules/tmpfile (License): Change to LGPL.
182         With permission from Ben Pfaff:
183         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
184
185         isfinite: Relicense under LGPL.
186         * modules/isfinite (License): Change to LGPL.
187         With permission from Ben Pfaff, Bruno Haible:
188         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
189         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
190
191         acosl..tanl: Relicense under LGPL.
192         * modules/acosl (License): Change to LGPL.
193         * modules/asinl (License): Likewise.
194         * modules/atanl (License): Likewise.
195         * modules/cosl (License): Likewise.
196         * modules/expl (License): Likewise.
197         * modules/logl (License): Likewise.
198         * modules/sinl (License): Likewise.
199         * modules/sqrtl (License): Likewise.
200         * modules/tanl (License): Likewise.
201         Source code originally from glibc and Paolo Bonzini. Agreements:
202         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
203         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
204
205 2011-05-05  Bruno Haible  <bruno@clisp.org>
206
207         signal: Define sighandler_t.
208         * lib/signal.in.h (sighandler_t): New type.
209         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
210         whether sighandler_t is defined.
211         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
212         * modules/signal (Depends-on): Add extensions.
213         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
214         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
215         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
216
217 2011-05-05  Eric Blake  <eblake@redhat.com>
218
219         maint: remove useless REPLACE_*_H macros
220         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
221         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
222         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
223         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
224         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
225         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
226         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
227         * m4/btowc.m4: Update callers.
228         * m4/dirfd.m4: Likewise.
229         * m4/duplocale.m4: Likewise.
230         * m4/fchdir.m4: Likewise.
231         * m4/fdopendir.m4: Likewise.
232         * m4/inet_ntop.m4: Likewise.
233         * m4/inet_pton.m4: Likewise.
234         * m4/ioctl.m4: Likewise.
235         * m4/mbrlen.m4: Likewise.
236         * m4/mbrtowc.m4: Likewise.
237         * m4/mbsinit.m4: Likewise.
238         * m4/mbsnrtowcs.m4: Likewise.
239         * m4/mbsrtowcs.m4: Likewise.
240         * m4/poll.m4: Likewise.
241         * m4/setlocale.m4: Likewise.
242         * m4/wcrtomb.m4: Likewise.
243         * m4/wcsnrtombs.m4: Likewise.
244         * m4/wcsrtombs.m4: Likewise.
245         * m4/wctob.m4: Likewise.
246         * m4/wcwidth.m4: Likewise.
247         * modules/posix_spawn: Likewise.
248         * modules/posix_spawn_file_actions_addclose: Likewise.
249         * modules/posix_spawn_file_actions_adddup2: Likewise.
250         * modules/posix_spawn_file_actions_addopen: Likewise.
251         * modules/posix_spawn_file_actions_destroy: Likewise.
252         * modules/posix_spawn_file_actions_init: Likewise.
253         * modules/posix_spawnattr_destroy: Likewise.
254         * modules/posix_spawnattr_getflags: Likewise.
255         * modules/posix_spawnattr_getpgroup: Likewise.
256         * modules/posix_spawnattr_getschedparam: Likewise.
257         * modules/posix_spawnattr_getschedpolicy: Likewise.
258         * modules/posix_spawnattr_getsigdefault: Likewise.
259         * modules/posix_spawnattr_getsigmask: Likewise.
260         * modules/posix_spawnattr_init: Likewise.
261         * modules/posix_spawnattr_setflags: Likewise.
262         * modules/posix_spawnattr_setpgroup: Likewise.
263         * modules/posix_spawnattr_setschedparam: Likewise.
264         * modules/posix_spawnattr_setschedpolicy: Likewise.
265         * modules/posix_spawnattr_setsigdefault: Likewise.
266         * modules/posix_spawnattr_setsigmask: Likewise.
267         * modules/posix_spawnp: Likewise.
268
269 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
270
271         Add option to do-release-commit-and-tag to specify branch.
272         * build-aux/do-release-commit-and-tag: Add --branch.
273
274 2011-05-03  Bruno Haible  <bruno@clisp.org>
275
276         Avoid unnecessary compilation units, through conditional dependencies.
277         * modules/accept (Depends-on): Add conditions to the dependencies.
278         * modules/acosl (Depends-on): Likewise.
279         * modules/argz (Depends-on): Likewise.
280         * modules/asinl (Depends-on): Likewise.
281         * modules/atanl (Depends-on): Likewise.
282         * modules/atoll (Depends-on): Likewise.
283         * modules/bind (Depends-on): Likewise.
284         * modules/btowc (Depends-on): Likewise.
285         * modules/canonicalize-lgpl (Depends-on): Likewise.
286         * modules/ceil (Depends-on): Likewise.
287         * modules/ceilf (Depends-on): Likewise.
288         * modules/ceill (Depends-on): Likewise.
289         * modules/chdir-long (Depends-on): Likewise.
290         * modules/chown (Depends-on): Likewise.
291         * modules/close (Depends-on): Likewise.
292         * modules/connect (Depends-on): Likewise.
293         * modules/cosl (Depends-on): Likewise.
294         * modules/dirfd (Depends-on): Likewise.
295         * modules/dprintf (Depends-on): Likewise.
296         * modules/dprintf-posix (Depends-on): Likewise.
297         * modules/error (Depends-on): Likewise.
298         * modules/euidaccess (Depends-on): Likewise.
299         * modules/expl (Depends-on): Likewise.
300         * modules/faccessat (Depends-on): Likewise.
301         * modules/fchdir (Depends-on): Likewise.
302         * modules/fclose (Depends-on): Likewise.
303         * modules/fcntl (Depends-on): Likewise.
304         * modules/fdopendir (Depends-on): Likewise.
305         * modules/fflush (Depends-on): Likewise.
306         * modules/floor (Depends-on): Likewise.
307         * modules/floorf (Depends-on): Likewise.
308         * modules/floorl (Depends-on): Likewise.
309         * modules/fnmatch (Depends-on): Likewise.
310         * modules/fopen (Depends-on): Likewise.
311         * modules/fprintf-posix (Depends-on): Likewise.
312         * modules/frexp (Depends-on): Likewise.
313         * modules/frexp-nolibm (Depends-on): Likewise.
314         * modules/frexpl (Depends-on): Likewise.
315         * modules/frexpl-nolibm (Depends-on): Likewise.
316         * modules/fseek (Depends-on): Likewise.
317         * modules/fsusage (Depends-on): Likewise.
318         * modules/ftell (Depends-on): Likewise.
319         * modules/ftello (Depends-on): Likewise.
320         * modules/futimens (Depends-on): Likewise.
321         * modules/getcwd (Depends-on): Likewise.
322         * modules/getcwd-lgpl (Depends-on): Likewise.
323         * modules/getdelim (Depends-on): Likewise.
324         * modules/getdomainname (Depends-on): Likewise.
325         * modules/getgroups (Depends-on): Likewise.
326         * modules/gethostname (Depends-on): Likewise.
327         * modules/getline (Depends-on): Likewise.
328         * modules/getlogin_r (Depends-on): Likewise.
329         * modules/getopt-posix (Depends-on): Likewise.
330         * modules/getpeername (Depends-on): Likewise.
331         * modules/getsockname (Depends-on): Likewise.
332         * modules/getsockopt (Depends-on): Likewise.
333         * modules/getsubopt (Depends-on): Likewise.
334         * modules/getusershell (Depends-on): Likewise.
335         * modules/glob (Depends-on): Likewise.
336         * modules/grantpt (Depends-on): Likewise.
337         * modules/iconv_open (Depends-on): Likewise.
338         * modules/iconv_open-utf (Depends-on): Likewise.
339         * modules/inet_ntop (Depends-on): Likewise.
340         * modules/inet_pton (Depends-on): Likewise.
341         * modules/ioctl (Depends-on): Likewise.
342         * modules/isapipe (Depends-on): Likewise.
343         * modules/isfinite (Depends-on): Likewise.
344         * modules/isinf (Depends-on): Likewise.
345         * modules/lchown (Depends-on): Likewise.
346         * modules/ldexpl (Depends-on): Likewise.
347         * modules/link (Depends-on): Likewise.
348         * modules/linkat (Depends-on): Likewise.
349         * modules/listen (Depends-on): Likewise.
350         * modules/logl (Depends-on): Likewise.
351         * modules/lstat (Depends-on): Likewise.
352         * modules/mbrlen (Depends-on): Likewise.
353         * modules/mbrtowc (Depends-on): Likewise.
354         * modules/mbsinit (Depends-on): Likewise.
355         * modules/mbsnrtowcs (Depends-on): Likewise.
356         * modules/mbsrtowcs (Depends-on): Likewise.
357         * modules/mbtowc (Depends-on): Likewise.
358         * modules/memcmp (Depends-on): Likewise.
359         * modules/mkdir (Depends-on): Likewise.
360         * modules/mkdtemp (Depends-on): Likewise.
361         * modules/mkfifo (Depends-on): Likewise.
362         * modules/mkfifoat (Depends-on): Likewise.
363         * modules/mknod (Depends-on): Likewise.
364         * modules/mkostemp (Depends-on): Likewise.
365         * modules/mkostemps (Depends-on): Likewise.
366         * modules/mkstemp (Depends-on): Likewise.
367         * modules/mkstemps (Depends-on): Likewise.
368         * modules/mktime (Depends-on): Likewise.
369         * modules/nanosleep (Depends-on): Likewise.
370         * modules/open (Depends-on): Likewise.
371         * modules/openat (Depends-on): Likewise.
372         * modules/perror (Depends-on): Likewise.
373         * modules/poll (Depends-on): Likewise.
374         * modules/popen (Depends-on): Likewise.
375         * modules/posix_spawn (Depends-on): Likewise.
376         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
377         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
378         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
379         * modules/posix_spawnp (Depends-on): Likewise.
380         * modules/pread (Depends-on): Likewise.
381         * modules/printf-posix (Depends-on): Likewise.
382         * modules/ptsname (Depends-on): Likewise.
383         * modules/putenv (Depends-on): Likewise.
384         * modules/pwrite (Depends-on): Likewise.
385         * modules/readline (Depends-on): Likewise.
386         * modules/readlink (Depends-on): Likewise.
387         * modules/readlinkat (Depends-on): Likewise.
388         * modules/recv (Depends-on): Likewise.
389         * modules/recvfrom (Depends-on): Likewise.
390         * modules/regex (Depends-on): Likewise.
391         * modules/remove (Depends-on): Likewise.
392         * modules/rename (Depends-on): Likewise.
393         * modules/renameat (Depends-on): Likewise.
394         * modules/rmdir (Depends-on): Likewise.
395         * modules/round (Depends-on): Likewise.
396         * modules/roundf (Depends-on): Likewise.
397         * modules/roundl (Depends-on): Likewise.
398         * modules/rpmatch (Depends-on): Likewise.
399         * modules/select (Depends-on): Likewise.
400         * modules/send (Depends-on): Likewise.
401         * modules/sendto (Depends-on): Likewise.
402         * modules/setenv (Depends-on): Likewise.
403         * modules/setlocale (Depends-on): Likewise.
404         * modules/setsockopt (Depends-on): Likewise.
405         * modules/shutdown (Depends-on): Likewise.
406         * modules/sigaction (Depends-on): Likewise.
407         * modules/signbit (Depends-on): Likewise.
408         * modules/sigprocmask (Depends-on): Likewise.
409         * modules/sinl (Depends-on): Likewise.
410         * modules/sleep (Depends-on): Likewise.
411         * modules/snprintf (Depends-on): Likewise.
412         * modules/snprintf-posix (Depends-on): Likewise.
413         * modules/socket (Depends-on): Likewise.
414         * modules/sprintf-posix (Depends-on): Likewise.
415         * modules/sqrtl (Depends-on): Likewise.
416         * modules/stat (Depends-on): Likewise.
417         * modules/strchrnul (Depends-on): Likewise.
418         * modules/strdup-posix (Depends-on): Likewise.
419         * modules/strerror (Depends-on): Likewise.
420         * modules/strerror_r-posix (Depends-on): Likewise.
421         * modules/strndup (Depends-on): Likewise.
422         * modules/strnlen (Depends-on): Likewise.
423         * modules/strptime (Depends-on): Likewise.
424         * modules/strsep (Depends-on): Likewise.
425         * modules/strsignal (Depends-on): Likewise.
426         * modules/strstr-simple (Depends-on): Likewise.
427         * modules/strtod (Depends-on): Likewise.
428         * modules/strtoimax (Depends-on): Likewise.
429         * modules/strtok_r (Depends-on): Likewise.
430         * modules/strtoumax (Depends-on): Likewise.
431         * modules/symlink (Depends-on): Likewise.
432         * modules/symlinkat (Depends-on): Likewise.
433         * modules/tanl (Depends-on): Likewise.
434         * modules/tcgetsid (Depends-on): Likewise.
435         * modules/tmpfile (Depends-on): Likewise.
436         * modules/trunc (Depends-on): Likewise.
437         * modules/truncf (Depends-on): Likewise.
438         * modules/truncl (Depends-on): Likewise.
439         * modules/uname (Depends-on): Likewise.
440         * modules/unlink (Depends-on): Likewise.
441         * modules/unlockpt (Depends-on): Likewise.
442         * modules/unsetenv (Depends-on): Likewise.
443         * modules/usleep (Depends-on): Likewise.
444         * modules/utimensat (Depends-on): Likewise.
445         * modules/vasprintf (Depends-on): Likewise.
446         * modules/vdprintf (Depends-on): Likewise.
447         * modules/vdprintf-posix (Depends-on): Likewise.
448         * modules/vfprintf-posix (Depends-on): Likewise.
449         * modules/vprintf-posix (Depends-on): Likewise.
450         * modules/vsnprintf (Depends-on): Likewise.
451         * modules/vsnprintf-posix (Depends-on): Likewise.
452         * modules/vsprintf-posix (Depends-on): Likewise.
453         * modules/wcrtomb (Depends-on): Likewise.
454         * modules/wcscasecmp (Depends-on): Likewise.
455         * modules/wcscspn (Depends-on): Likewise.
456         * modules/wcsdup (Depends-on): Likewise.
457         * modules/wcsncasecmp (Depends-on): Likewise.
458         * modules/wcsnrtombs (Depends-on): Likewise.
459         * modules/wcspbrk (Depends-on): Likewise.
460         * modules/wcsrtombs (Depends-on): Likewise.
461         * modules/wcsspn (Depends-on): Likewise.
462         * modules/wcsstr (Depends-on): Likewise.
463         * modules/wcstok (Depends-on): Likewise.
464         * modules/wcswidth (Depends-on): Likewise.
465         * modules/wctob (Depends-on): Likewise.
466         * modules/wctomb (Depends-on): Likewise.
467         * modules/wctype (Depends-on): Likewise.
468         * modules/wcwidth (Depends-on): Likewise.
469         * modules/write (Depends-on): Likewise.
470
471 2011-05-03  Bruno Haible  <bruno@clisp.org>
472
473         Support for conditional dependencies.
474         * doc/gnulib.texi (Module description): Document the syntax of
475         conditional dependencies.
476         * gnulib-tool: New option --conditional-dependencies.
477         (func_usage): Document it.
478         (cond_dependencies): New variable.
479         (func_get_automake_snippet_conditional,
480         func_get_automake_snippet_unconditional): New functions, extracted from
481         func_get_automake_snippet.
482         (func_get_automake_snippet): Use them.
483         (sed_first_32_chars): New variable.
484         (func_module_shellfunc_name): New function.
485         (func_module_shellvar_name): New function.
486         (func_module_conditional_name): New function.
487         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
488         func_cond_module_condition): New functions.
489         (func_modules_transitive_closure): Add support for conditional
490         dependencies.
491         (func_emit_lib_Makefile_am): For a conditional module, enclose the
492         conditional automake snippet in an automake conditional.
493         (func_emit_autoconf_snippets): Emit shell functions that contain the
494         code for conditional modules.
495         (func_import, func_create_testdir): Update specification.
496
497 2011-05-03  Eric Blake  <eblake@redhat.com>
498
499         test-getaddrinfo: report error information
500         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
501
502 2011-05-03  Jim Meyering  <meyering@redhat.com>
503
504         bootstrap: avoid build failure when $GZIP is set
505         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
506         program name.  If defined at all, it is supposed to list gzip options.
507         Reported by Alan Curry in http://debbugs.gnu.org/8609
508
509 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
510
511         readme-release: new module with release instructions
512         * modules/readme-release: New module.
513         * top/README-release: New file, from coreutils, grep, diffutils.
514         * MODULES.html.sh (Support for maintaining and releasing): Add it.
515
516 2011-05-02  Eric Blake  <eblake@redhat.com>
517
518         fflush: also replace fclose when fixing fflush
519         * modules/fflush (Depends-on): Add fclose.
520         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
521         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
522         memstreams with no backing fd.
523         * doc/posix-functions/fclose.texi (fclose): Document the use of
524         fflush module to fix the bug.
525         * tests/test-fclose.c (main): Relax test when fclose is used in
526         isolation.
527
528         fclose: add some tests
529         * modules/fclose-tests: New test module.
530         * tests/test-fclose.c: New file.
531         * doc/posix-functions/fclose.texi (fclose): Document the bug.
532
533         fclose: reduced dependencies
534         * modules/fclose (Depends-on): Switch from fflush/fseeko to
535         simpler lseek.
536         * lib/fclose.c (rpl_fclose): Likewise.
537         Reported by Simon Josefsson.
538
539         exit: drop remaining clients
540         * modules/argmatch (Depends-on): Replace exit with stdlib.
541         * modules/copy-file (Depends-on): Likewise.
542         * modules/execute (Depends-on): Likewise.
543         * modules/exitfail (Depends-on): Likewise.
544         * modules/obstack (Depends-on): Likewise.
545         * modules/pagealign_alloc (Depends-on): Likewise.
546         * modules/pipe-filter-gi (Depends-on): Likewise.
547         * modules/pipe-filter-ii (Depends-on): Likewise.
548         * modules/savewd (Depends-on): Likewise.
549         * modules/spawn-pipe (Depends-on): Likewise.
550         * modules/wait-process (Depends-on): Likewise.
551         * modules/xsetenv (Depends-on): Likewise.
552         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
553         * modules/git-merge-changelog (Depends-on): Likewise.
554         * modules/long-options (Depends-on): Likewise.
555         * modules/pt_chown (Depends-on): Likewise.
556         * modules/sysexits (Depends-on): Likewise.
557
558         freading: relax license from LGPLv3+ to LGPLv2+
559         * modules/freading (License): Relax LGPL version.
560
561 2011-05-02  Bruno Haible  <bruno@clisp.org>
562
563         fchdir: Remove unused dependencies.
564         * modules/fchdir (Depends-on): Remove include_next.
565
566 2011-05-02  Bruno Haible  <bruno@clisp.org>
567
568         gnulib-tool: Refactor.
569         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
570         from func_emit_autoconf_snippets.
571         (func_emit_autoconf_snippets): Use it.
572
573 2011-05-02  Simon Josefsson  <simon@josefsson.org>
574
575         * NEWS: Document removal of 'exit'.
576         * modules/exit: Remove file.
577
578 2011-05-01  Bruno Haible  <bruno@clisp.org>
579
580         Update DEPENDENCIES.
581         * DEPENDENCIES (gettext): Recommend the newest release.
582         Reported by Simon Josefsson.
583
584 2011-05-01  Bruno Haible  <bruno@clisp.org>
585
586         gnulib-tool: Reduce code duplication.
587         * gnulib-tool (func_emit_autoconf_snippets): New function.
588         (func_import, func_create_testdir): Use it.
589
590 2011-04-30  Eric Blake  <eblake@redhat.com>
591
592         fclose: don't fail on non-seekable input stream
593         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
594         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
595         since fflush is allowed to fail in that case.
596
597 2011-04-30  Bruno Haible  <bruno@clisp.org>
598
599         dup3: cleanup
600         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
601
602 2011-04-30  Bruno Haible  <bruno@clisp.org>
603
604         netdb: Make it work in C++ mode.
605         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
606         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
607         module.
608         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
609         gl_MODULE_INDICATOR_FOR_TESTS.
610         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
611         * modules/netdb-c++-tests: New file.
612         * tests/test-netdb-c++.cc: New file.
613
614 2011-04-30  Bruno Haible  <bruno@clisp.org>
615
616         New modules 'vfscanf', 'vscanf'.
617         * modules/vfscanf: New file.
618         * modules/vscanf: New file.
619         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
620         here.
621         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
622         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
623
624 2011-04-30  Bruno Haible  <bruno@clisp.org>
625
626         passfd: Add comments.
627         * lib/passfd.c: Add comments about platforms.
628
629 2011-04-30  Bruno Haible  <bruno@clisp.org>
630
631         sys_uio: Make <sys/uio.h> self-contained.
632         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
633         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
634
635 2011-04-30  Bruno Haible  <bruno@clisp.org>
636
637         sys_socket: Ensure 'struct iovec' definition.
638         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
639         <sys/socket.h>.
640         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
641
642 2011-04-30  Bruno Haible  <bruno@clisp.org>
643
644         sys_uio: Protect definition of 'struct iovec'.
645         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
646         it as a C struct.
647
648 2011-04-30  Bruno Haible  <bruno@clisp.org>
649
650         manywarnings: fix indentation
651         * m4/manywarnings.m4: Indent by 2 spaces consistently.
652
653 2011-04-30  Pádraig Brady <P@draigBrady.com>
654
655         manywarnings: add -Wno-missing-field-initializers if needed.
656         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
657         option if it's needed to allow initialization with { 0, }
658
659 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
660
661         announce-gen: cosmetic improvement
662         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
663
664 2011-04-29  Jim Meyering  <meyering@redhat.com>
665
666         vc-list-files: indent with spaces, not TABs
667         * build-aux/vc-list-files: Convert leading TABs to spaces,
668         to match the style of most other files in gnulib.
669
670         announce-gen: indent with spaces, not TABs
671         * build-aux/announce-gen: Convert all TABs to spaces, to match
672         the style of most other files in gnulib.
673
674 2011-04-29  Eric Blake  <eblake@redhat.com>
675
676         quotearg: avoid uninitialized variable use
677         * lib/quotearg.c (quoting_options_from_style): Initialize
678         remaining fields, and ensure that custom styles are only used via
679         quoting_options rather than quoting_style.
680
681 2011-04-29  Jim Meyering  <meyering@redhat.com>
682
683         maint.mk: remove unused VC-tag variable
684         * top/maint.mk (VC-tag): Remove unused variable.
685
686 2011-04-29  Bruno Haible  <bruno@clisp.org>
687
688         netdb: fix gai_strerror replacements
689         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
690         * modules/netdb: Substitute it.
691
692 2011-04-29  Jim Meyering  <meyering@redhat.com>
693
694         test-getcwd.c: avoid new set-but-not-used warning
695         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
696         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
697         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
698         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
699
700         test-hash.c: avoid a new shadowing warning
701         * tests/test-hash.c (main): Don't shadow "dup".
702
703 2011-04-28  Eric Blake  <eblake@redhat.com>
704
705         getaddrinfo: fix gai_strerror signature
706         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
707         and work around mingw with UNICODE defined.
708         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
709         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
710         * modules/netdb (Makefile.am): Substitute it.
711         * lib/netdb.in.h (gai_strerror): Declare replacement.
712         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
713         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
714         the fix.
715
716         getsockopt: avoid compiler warning
717         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
718         Reported by Matthias Bolte.
719
720         tests: drop unused link dependency
721         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
722         * modules/dirent-safer-tests (Makefile.am): Likewise.
723         * modules/fdopendir-tests (Makefile.am): Likewise.
724         * modules/mkfifoat-tests (Makefile.am): Likewise.
725         * modules/openat-safer-tests (Makefile.am): Likewise.
726         * modules/openat-tests (Makefile.am): Likewise.
727         * modules/readlinkat-tests (Makefile.am): Likewise.
728         * modules/symlinkat-tests (Makefile.am): Likewise.
729         * modules/linkat-tests (Makefile.am): Likewise.
730         (Depends-on): Switch to filenamecat-lgpl.
731         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
732         LIBINTL.
733         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
734         * tests/test-linkat.c (main): Don't require xalloc.
735
736         hash, mgetgroups: drop xalloc dependency
737         * lib/hash.c (includes): Adjust includes.
738         * lib/mgetgroups.c (includes): Likewise.
739         (xgetgroups): Move...
740         * lib/xgetgroups.c: ...to new file.
741         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
742         * modules/xgetgroups: New file, split from...
743         * modules/mgetgroups: ...here.
744         (Depends-on): Add xalloc-oversized.
745         * modules/hash (Depends-on): Likewise.
746         * modules/hash-tests (Depends-on): Drop xalloc.
747         (test_hash_LDADD): Drop unused library.
748         * tests/test-hash.c (main): Break xalloc dependency.
749         (includes): Drop unused include.
750
751         xalloc-oversized: new module
752         * modules/xalloc-oversized: New module.
753         * modules/xalloc (Depends-on): Add it.
754         * lib/xalloc.h (xalloc_oversized): Move...
755         * lib/xalloc-oversized.h: ...into new file.
756
757         utimecmp: drop dependency on xmalloc
758         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
759         due to memory pressure.
760         * modules/utimecmp (Depends-on): Drop xalloc.
761
762 2011-04-27  Eric Blake  <eblake@redhat.com>
763
764         getcwd: fix mingw bugs
765         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
766         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
767         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
768
769 2011-04-27  Bruno Haible  <bruno@clisp.org>
770
771         mkstemps: Ensure declaration on MacOS X 10.5.
772         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
773         * doc/glibc-functions/mkstemps.texi: Document header file problem on
774         MacOS X.
775
776 2011-04-27  Bruno Haible  <bruno@clisp.org>
777
778         mkstemp: More documentation.
779         * doc/posix-functions/mkstemp.texi: Document header file problem on
780         MacOS X.
781
782 2011-04-27  Bruno Haible  <bruno@clisp.org>
783
784         mkstemp: Tweak configure message when cross-compiling.
785         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
786         result as a guess.
787
788 2011-04-27  Bruno Haible  <bruno@clisp.org>
789
790         clean-temp: Clarify what it does.
791         * lib/clean-temp.h: Add more comments.
792         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
793         module.
794         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
795         * doc/glibc-functions/mkstemps.texi: Likewise.
796         * doc/glibc-functions/mkostemps.texi: Likewise.
797
798 2011-04-27  Eric Blake  <eblake@redhat.com>
799
800         fchdir: avoid extra chdir and fix test
801         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
802         getcwd-lgpl.
803         * lib/fchdir.c (get_name): Any absolute name will do; it does not
804         have to be canonical.
805         (canonicalize_file_name): Drop unused macro.
806         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
807
808         filenamecat-lgpl: fix licence
809         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
810         when it was first created.
811
812         linkat, renameat: add missing dependency
813         * modules/linkat (Depends-on): Require getcwd-lgpl.
814         * modules/renameat (Depends-on): Likewise.
815
816         tests: reduce dependencies
817         * tests/test-linkat.c (main): Use lighter-weight getcwd.
818         * tests/test-renameat.c (main): Likewise.
819         * modules/linkat-tests (Depends-on): Relax dependency.
820         * modules/renameat-tests (Depends-on): Likewise.
821         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
822         dependency explicit.
823
824         save-cwd: reduce default dependency
825         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
826         * lib/save-cwd.c: Update comments.
827         * NEWS: Document the semantic change.
828
829         getcwd: enhance tests
830         * tests/test-getcwd-lgpl.c: New file, taken from...
831         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
832         repeat long path stress tests from m4 probe.
833         * modules/getcwd-lgpl-tests: New module.
834         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
835         * m4/getcwd-abort-bug.m4: Update comment.
836         * m4/getcwd-path-max.m4: Likewise.
837
838         getcwd-lgpl: new module
839         * modules/getcwd-lgpl: New module.
840         * lib/getcwd-lgpl.c: New file.
841         * doc/posix-functions/getcwd.texi (getcwd): Document it.
842         * MODULES.html.sh (lacking POSIX:2008): Likewise.
843         * modules/getcwd (configure.ac): Set C witness.
844         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
845
846         getcwd: tweak comments
847         * m4/getcwd-abort-bug.m4: Fix comments.
848         * m4/getcwd-path-max.m4: Likewise.
849         * m4/getcwd.m4: Likewise.
850
851 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
852         and Eric Blake  <eblake@redhat.com>
853
854         mkstemp: replace if system version uses wrong permissions
855         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
856         read/write mode bits set in file created by mkstemp.
857         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
858
859 2011-04-27  Eric Blake  <eblake@redhat.com>
860
861         passfd: avoid compiler warning
862         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
863         Reported by Laine Stump.
864
865 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
866
867         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
868         required by the NetBSD (and perhaps other 4.4BSD derived) join.
869
870 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
871         and Eric Blake  <eblake@redhat.com>
872
873         mkstemp: mention clean-temp module
874         * lib/mkstemp.c: Add comment.
875         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
876
877 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
878
879         inttypes: also provide default values for 32-bit tests
880         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
881         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
882
883 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
884
885         strtoumax: remove dependency on strtoimax
886         This is like the strtoull change of yesterday.
887         * modules/strtoumax (Files): Add lib/strtoimax.c.
888         (Depends-on): Remove strtoimax and add verify.
889
890         inttypes-incomplete: new module
891         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
892         all but the PRI* and SCN* parts of gl_INTTYPES_H.
893         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
894         of gl_INTTYPES_H.
895         (gl_INTTYPES_H): Rewrite in terms of these new macros.
896         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
897         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
898         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
899         * modules/strtoumax, modules/xstrtol (Depends-on):
900         Depend on inttypes-incomplete, not inttypes.
901         * modules/inttypes-incomplete: New module, containing the contents
902         of the old modules/inttypes module, except that the Files: section
903         omits m4/inttypes-pri.m4, and the configure.ac section invokes
904         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
905         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
906         (Depends-on): Depend only on inttypes-incomplete.
907         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
908
909         inttypes: omit now-redundant strtoimax and strtoumax work
910         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
911         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
912
913         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
914         This supports apps that need pointers to strtoimax and strtoumax,
915         and ports to HP-UX 11.00 64.bit, which has macros that expand to
916         nonexistent functions.  See
917         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
918         et seq.
919         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
920         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
921         a macro.
922         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
923
924 2011-04-25  Simon Josefsson  <simon@josefsson.org>
925
926         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
927
928 2011-04-25  Bruno Haible  <bruno@clisp.org>
929
930         strtol, strtoul: Mark modules as obsolete.
931         * modules/strtol (Status, Notice): New sections.
932         * modules/strtoul (Status, Notice): New sections.
933
934 2011-04-25  Bruno Haible  <bruno@clisp.org>
935
936         strtod: Remove check for strtod, unless supporting old platforms.
937         * modules/strtod-obsolete: New file.
938         * m4/strtod-obsolete.m4: New file.
939         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
940         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
941         * modules/strtod (Depends-on): Add strtod-obsolete.
942         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
943
944 2011-04-25  Bruno Haible  <bruno@clisp.org>
945
946         strcase: Make module obsolete.
947         * modules/strcase (Status, Notice): New sections.
948
949 2011-04-25  Bruno Haible  <bruno@clisp.org>
950
951         dup2: Remove check for dup2, unless supporting old obsolete platforms.
952         * modules/dup2-obsolete: New file.
953         * m4/dup2-obsolete.m4: New file.
954         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
955         gl_FUNC_DUP2_OBSOLETE is not also defined.
956         * modules/dup2 (Depends-on): Add dup2-obsolete.
957         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
958
959 2011-04-25  Bruno Haible  <bruno@clisp.org>
960
961         strnlen: Avoid memchr related link error on old obsolete platforms.
962         * modules/memchr-obsolete: New file.
963         * m4/memchr-obsolete.m4: New file.
964         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
965         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
966         * modules/memchr (Depends-on): Add memchr-obsolete.
967         * modules/strnlen (Depends-on): Likewise.
968         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
969
970 2011-04-25  Jim Meyering  <meyering@redhat.com>
971
972         maint.mk: makefile_at_at_check extend and clean up
973         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
974         in addition to */Makefile.am.
975         Exempt legitimate uses of @VAR@ notation, e.g.,
976         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
977         Remove obsolete coreutils-specific comment.
978         Prompted by discussion here:
979         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
980
981 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
982
983         strtoul: remove dependency on strtol
984         This is so that 'configure' need not check for strtol merely because
985         the application needs strtoul.
986         * modules/strtoul (Files): Add lib/strtol.c.
987         (Depends-on): Remove strtol.
988
989         strtoull: remove dependency on strtoul
990         This is like the strtoll change.
991         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
992         (Depends-on): Remove strtoul.
993
994         strtoll: remove dependency on strtol
995         This is so that 'configure' need not check for strtol merely because
996         the application needs strtoll.
997         * modules/strtoll (Files): Add lib/strtol.c.
998         (Depends-on): Remove strtol.
999
1000 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1001
1002         inttypes: Move some configure check to module 'imaxdiv'.
1003         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
1004         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
1005         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
1006
1007 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1008
1009         inttypes: Move some configure check to module 'imaxabs'.
1010         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
1011         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
1012         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
1013
1014 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1015
1016         inttypes: Remove configure tests that are not needed since 2009-12-31.
1017         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
1018         gl_cv_header_working_inttypes_h.
1019
1020 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1021
1022         * modules/strnlen (Depends-on): Remove memchr.
1023         The strnlen implementation doesn't need the memchr module's fixes; see
1024         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
1025
1026         strtol: remove dependency on wchar
1027         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
1028         * modules/strtol (Depends-on): Remove wchar.
1029
1030 2011-04-21  Eric Blake  <eblake@redhat.com>
1031
1032         passfd: fix test regression on Linux
1033         * modules/passfd-tests (configure.ac): Correct socketpair check.
1034
1035         passfd: speed up configure and drop unused code
1036         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
1037         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
1038         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
1039         Instead of probing at configure for unix_scm_rights_bsd44_way,
1040         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
1041         check to a struct member probe.
1042         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
1043         (sendfd, recvfd): Update preprocessor checks.
1044         * modules/passfd (Files): Reflect rename, and drop unused file.
1045         (Depends-on): Drop unused dependency.
1046
1047         passfd: allow compilation on mingw
1048         * modules/sys_socket (Depends-on): Add sys_uio.
1049         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
1050         iovec and a minimal struct msghdr.
1051         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
1052         * tests/test-sys_socket.c (main): Enhance test.
1053         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
1054         guaranteed to provide what we need.
1055         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
1056         * modules/passfd-tests (Depends-on): Add sys_wait.
1057         * tests/test-passfd.c (main): Skip test on mingw, for now.
1058         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
1059         partial 'struct msghdr' implementation.
1060
1061         sys_uio: new module
1062         * modules/sys_uio: New module.
1063         * modules/sys_uio-tests: Likewise.
1064         * lib/sys_uio.in.h: New file.
1065         * m4/sys_uio_h.m4: Likewise.
1066         * tests/test-sys_uio.c: Likewise.
1067         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
1068         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
1069
1070 2011-04-20  Jim Meyering  <meyering@redhat.com>
1071
1072         useless-if-before-free: avoid false-positive
1073         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
1074         disjunct so that it too requires a terminating ";".  Without that,
1075         this script would identify as useless one statement from gcc that
1076         was not:
1077           if (aligned_ptr)
1078             free (((void **) aligned_ptr) [-1]);
1079
1080 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
1081
1082         doc: update users.txt.
1083         * users.txt: Add barcode.
1084
1085 2011-04-19  Bruno Haible  <bruno@clisp.org>
1086
1087         ioctl: Remove link dependency on native Windows.
1088         * lib/fd-hook.h: Renamed from lib/close-hook.h.
1089         (gl_close_fn, gl_ioctl_fn): New types.
1090         (struct fd_hook): Renamed from struct close_hook. Change type of
1091         private_close_fn field. Add private_ioctl_fn field.
1092         (close_hook_fn): Add parameter for primary close method.
1093         (execute_close_hooks, execute_all_close_hooks): Likewise.
1094         (ioctl_hook_fn): New type.
1095         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
1096         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1097         argument.
1098         (unregister_fd_hook): Renamed from unregister_close_hook.
1099         * lib/fd-hook.c: Renamed from lib/close-hook.c.
1100         Don't include <unistd.h>.
1101         (close): Remove undef.
1102         (anchor): Update.
1103         (execute_close_hooks): Add argument for primary close method.
1104         (execute_all_close_hooks): Likewise.
1105         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
1106         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
1107         argument. Allow each argument to be NULL.
1108         (unregister_fd_hook): Renamed from unregister_close_hook.
1109         * lib/close.c (rpl_close): Pass 'close' function pointer to
1110         execute_all_close_hooks.
1111         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
1112         (primary_ioctl): New function.
1113         (ioctl): Don't call ioctlsocket here. Instead, call
1114         execute_all_ioctl_hooks.
1115         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
1116         close method.
1117         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
1118         (fd_sockets_hook): Renamed from close_sockets_hook.
1119         (gl_sockets_startup, gl_sockets_cleanup): Update.
1120         * modules/fd-hook: Renamed from modules/close-hook. Update.
1121         * modules/close (Depends-on): Add fd-hook, remove close-hook.
1122         * modules/sockets (Depends-on): Likewise.
1123         * modules/ioctl (Depends-on): Add fd-hook.
1124         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
1125         GNULIB_SOCKET.
1126
1127 2011-04-19  Bruno Haible  <bruno@clisp.org>
1128
1129         Move the support of O_NONBLOCK in open() to the 'open' module.
1130         * modules/nonblocking (Depends-on): Remove 'open'.
1131         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
1132         gl_cv_have_open_O_NONBLOCK.
1133         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
1134         O_NONBLOCK support.
1135         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
1136
1137 2011-04-17  Bruno Haible  <bruno@clisp.org>
1138
1139         pipe2: Simplify code.
1140         * lib/pipe2.c (pipe2): Reduce code duplication.
1141
1142 2011-04-17  Bruno Haible  <bruno@clisp.org>
1143
1144         nonblocking: Add comment.
1145         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
1146
1147 2011-04-17  Bruno Haible  <bruno@clisp.org>
1148
1149         nonblocking: Add tests for sockets.
1150         * tests/test-nonblocking-socket.sh: New file.
1151         * tests/test-nonblocking-socket-main.c: New file.
1152         * tests/test-nonblocking-socket-child.c: New file.
1153         * tests/test-nonblocking-socket.h: New file.
1154         * tests/socket-server.h: New file.
1155         * tests/socket-client.h: New file.
1156         * modules/nonblocking-socket-tests: New file.
1157         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
1158
1159 2011-04-17  Bruno Haible  <bruno@clisp.org>
1160
1161         nonblocking: Add tests for pipes.
1162         * tests/test-nonblocking-pipe.sh: New file.
1163         * tests/test-nonblocking-pipe-main.c: New file.
1164         * tests/test-nonblocking-pipe-child.c: New file.
1165         * tests/test-nonblocking-pipe.h: New file.
1166         * tests/test-nonblocking-writer.h: New file.
1167         * tests/test-nonblocking-reader.h: New file.
1168         * tests/test-nonblocking-misc.h: New file.
1169         * modules/nonblocking-pipe-tests: New file.
1170         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
1171
1172 2011-04-16  Bruno Haible  <bruno@clisp.org>
1173
1174         gettext: Clarify the needed programmer actions.
1175         * modules/gettext (Notice): New field.
1176         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
1177
1178 2011-04-16  Bruno Haible  <bruno@clisp.org>
1179
1180         strchrnul: Tweak last commit.
1181         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
1182         bug.
1183         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
1184         as in _GL_FUNCDECL_SYS.
1185         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
1186         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
1187
1188 2011-04-15  Eric Blake  <eblake@redhat.com>
1189
1190         strchrnul: work around cygwin bug
1191         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
1192         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
1193         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
1194         * modules/string (Makefile.am): Substitute it.
1195         * lib/string.in.h (strchrnul): Use it.
1196
1197 2011-04-15  Bruno Haible  <bruno@clisp.org>
1198
1199         Don't require lib/stdio-write.c when only module 'stdio' is used.
1200         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
1201         invocation.
1202         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
1203
1204 2011-04-14  Bruno Haible  <bruno@clisp.org>
1205
1206         Support non-blocking pipe I/O in read() on native Windows.
1207         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
1208         (read): New declaration.
1209         * lib/read.c: New file.
1210         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
1211         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
1212         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
1213         vscanf): New declarations.
1214         * lib/stdio-read.c: New file.
1215         * m4/read.m4: New file.
1216         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
1217         REPLACE_READ.
1218         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
1219         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1220         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
1221         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
1222         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
1223         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1224         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1225         * modules/read: New file.
1226         * modules/nonblocking (Files): Add lib/stdio-read.c.
1227         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
1228         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
1229         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
1230         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
1231         * modules/pread (Depends-on): Add read.
1232         * modules/safe-read (Depends-on): Likewise.
1233         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
1234         gets, scanf, vfscanf, vscanf): Verify signatures.
1235         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
1236         problem with non-blocking pipes.
1237         * doc/posix-functions/fgetc.texi: Likewise.
1238         * doc/posix-functions/fgets.texi: Likewise.
1239         * doc/posix-functions/fread.texi: Likewise.
1240         * doc/posix-functions/fscanf.texi: Likewise.
1241         * doc/posix-functions/getc.texi: Likewise.
1242         * doc/posix-functions/getchar.texi: Likewise.
1243         * doc/posix-functions/gets.texi: Likewise.
1244         * doc/posix-functions/scanf.texi: Likewise.
1245         * doc/posix-functions/vfscanf.texi: Likewise.
1246         * doc/posix-functions/vscanf.texi: Likewise.
1247
1248 2011-04-14  Bruno Haible  <bruno@clisp.org>
1249
1250         Support non-blocking pipe I/O in write() on native Windows.
1251         * lib/write.c (rpl_write): Split a write request that failed merely
1252         because the byte count was larger than the pipe buffer's size.
1253         * doc/posix-functions/write.texi: Mention the problem with large byte
1254         counts.
1255
1256 2011-04-14  Bruno Haible  <bruno@clisp.org>
1257
1258         wchar: Ensure that wchar_t gets defined on uClibc.
1259         * lib/wchar.in.h: On uClibc, include <stddef.h>.
1260         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
1261
1262 2011-04-13  Bruno Haible  <bruno@clisp.org>
1263
1264         safe-write, full-read: Avoid unnecessary compilation units.
1265         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
1266         (Depends-on): Remove safe-read. Add ssize_t.
1267         * modules/full-read (Files): Add lib/full-write.c.
1268         (Depends-on): Add full-write.
1269
1270 2011-04-13  Bruno Haible  <bruno@clisp.org>
1271
1272         Support non-blocking pipe I/O and SIGPIPE in pwrite().
1273         * modules/pwrite (Depends-on): Add 'write'.
1274
1275 2011-04-13  Bruno Haible  <bruno@clisp.org>
1276
1277         Support non-blocking pipe I/O in write() on native Windows.
1278         * lib/unistd.in.h (write): Enable replacement also if
1279         GNULIB_UNISTD_H_NONBLOCKING is 1.
1280         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
1281         (rpl_write): When failing to write on a non-blocking pipe, change
1282         errno from ENOSPC to EAGAIN.
1283         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
1284         putchar, puts, vfprintf, vprintf): Enable replacement also if
1285         GNULIB_STDIO_H_NONBLOCKING is 1.
1286         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
1287         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
1288         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
1289         CALL_WITH_SIGPIPE_EMULATION.
1290         (CALL_WITH_SIGPIPE_EMULATION): Use them.
1291         * m4/nonblocking.m4: New file.
1292         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
1293         for non-blocking I/O support.
1294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1295         GNULIB_UNISTD_H_NONBLOCKING.
1296         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
1297         required for non-blocking I/O support.
1298         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
1299         * modules/nonblocking (Files): Add m4/nonblocking.m4,
1300         lib/stdio-write.c, m4/asm-underscore.m4.
1301         (Depends-on): Add stdio, unistd.
1302         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
1303         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
1304         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
1305         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
1306         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
1307         problem with non-blocking pipes.
1308         * doc/posix-functions/fputc.texi: Likewise.
1309         * doc/posix-functions/fputs.texi: Likewise.
1310         * doc/posix-functions/fwrite.texi: Likewise.
1311         * doc/posix-functions/printf.texi: Likewise.
1312         * doc/posix-functions/putc.texi: Likewise.
1313         * doc/posix-functions/putchar.texi: Likewise.
1314         * doc/posix-functions/puts.texi: Likewise.
1315         * doc/posix-functions/vfprintf.texi: Likewise.
1316         * doc/posix-functions/vprintf.texi: Likewise.
1317         * doc/posix-functions/write.texi: Likewise.
1318
1319 2011-04-10  Jim Meyering  <meyering@redhat.com>
1320
1321         maint.mk: prohibit doubled words
1322         Detect them also when they're separated by a newline.
1323         There are 3 ways to customize it:
1324           - disable the test on a per file basis, as usual with rules using
1325             $(VC_LIST_EXCEPT)
1326           - replace the default doubled-word-selecting regexp (affects all files)
1327           - ignore a particular file-vs-doubled-word match
1328         I nearly used that last one to ignore the "is is" match in
1329         coreutils' NEWS file, since the text was "ls -is is ..."
1330         To do that, I would have added this line to cfg.mk:
1331           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
1332         but it would have ignored any "is is" match in NEWS.
1333         Low probability, but still...
1334         Instead, I changed the text, slightly:
1335           -  ls -is is now consistent with ls -lis in ignoring values returned
1336           +  "ls -is" is now consistent with ls -lis in ignoring values returned
1337         * top/maint.mk (prohibit_double_word_RE_): Provide default.
1338         (prohibit_doubled_word_): Define.
1339         (sc_prohibit_doubled_word): New rule.
1340         (sc_prohibit_the_the): Remove.  Subsumed by the above.
1341
1342 2011-04-10  Jim Meyering  <meyering@redhat.com>
1343
1344         maint: fix doubled-word typo in comment
1345         * m4/gethostname.m4: s/is is/it is/
1346         * m4/getdomainname.m4: Likewise.
1347
1348 2011-04-10  Jim Meyering  <meyering@redhat.com>
1349
1350         maint: remove doubled word: s/it it/it/
1351         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
1352
1353 2011-04-10  Jim Meyering  <meyering@redhat.com>
1354
1355         maint.mk: remove useless semicolon and backslash
1356         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
1357         semicolon and backslash.
1358
1359 2011-04-10  Bruno Haible  <bruno@clisp.org>
1360
1361         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
1362         * modules/stdint-tests (Depends-on): Add wchar.
1363
1364 2011-04-10  Jim Meyering  <meyering@redhat.com>
1365
1366         maint: remove doubled words in comments, e.g., s/a a/a/
1367         * lib/strptime.c (day_of_the_week): s/the the/the/
1368         * tests/test-chown.h (test_chown): s/a a/a/
1369
1370         test-chown.h: correct a cast
1371         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
1372         when the destination is a stat.st_gid.
1373
1374 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
1375
1376         getaddrinfo: Fix test for sa_len member.
1377         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
1378         include <sys/types.h> before <sys/socket.h>.
1379
1380 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
1381
1382         maint: change "can not" to "cannot"
1383         * doc/posix-functions/iconv.texi (iconv): This one crossed line
1384         boundaries.
1385
1386 2011-04-09  Jim Meyering  <meyering@redhat.com>
1387
1388         maint: change "a a" to "a"
1389         * tests/test-lchown.h (test_lchown): s/a a/a/
1390
1391         maint.mk: prohibit \<the the\>
1392         * top/maint.mk (sc_prohibit_the_the): New rule.
1393
1394         maint: fix "the the" in comment
1395         * lib/count-one-bits.h: s/the the/the/
1396
1397         maint: change "can not" to "cannot"
1398         But do not change the occurrences in maintain.texi or in
1399         build-aux/po/Makefile.in.in, which I presume comes from gettext.
1400         * doc/gnulib-tool.texi: s/can not/cannot/
1401         * doc/posix-functions/accept.texi (accept): Likewise.
1402         * doc/posix-functions/socket.texi (socket): Likewise.
1403         * lib/mbrtowc.c: Likewise.
1404
1405         maint.mk: prohibit use of "can not"
1406         * top/maint.mk (sc_prohibit_can_not): New rule.
1407         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
1408
1409 2011-04-09  Bruno Haible  <bruno@clisp.org>
1410
1411         careadlinkat: Guard against misuse of careadlinkatcwd.
1412         * lib/careadlinkat.c: Include <stdlib.h>.
1413         (careadlinkatcwd): Check that the fd argument is as expected.
1414
1415 2011-04-09  Bruno Haible  <bruno@clisp.org>
1416
1417         careadlinkat: Use common coding style.
1418         * lib/careadlinkat.c: Move gnulib includes after system includes.
1419
1420 2011-04-09  Bruno Haible  <bruno@clisp.org>
1421
1422         careadlinkat: Clarify specification.
1423         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
1424         (careadlinkatcwd): Add comment.
1425         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
1426
1427 2011-04-09  Bruno Haible  <bruno@clisp.org>
1428
1429         areadlinkat: Avoid link error on many platforms.
1430         * modules/areadlinkat (Depends-on): Add areadlink.
1431
1432 2011-04-09  Bruno Haible  <bruno@clisp.org>
1433
1434         allocator, careadlinkat: Fix double-inclusion guard.
1435         * lib/allocator.h: Fix double-inclusion guard.
1436         * lib/careadlinkat.h: Likewise.
1437
1438 2011-04-09  Bruno Haible  <bruno@clisp.org>
1439
1440         relocatable-prog-wrapper: Update after module 'areadlink' changed.
1441         * lib/relocwrapper.c: Update dependencies hierarchy.
1442         * build-aux/install-reloc: Update list of files to be compiled.
1443         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
1444         lib/allocator.[hc].
1445
1446 2011-04-08  Eric Blake  <eblake@redhat.com>
1447
1448         strftime: silence gnulib-tool warning
1449         * modules/strftime-tests (Depends-on): Drop automatic dependency.
1450
1451 2011-04-08  Bruno Haible  <bruno@clisp.org>
1452
1453         verify: Fix syntax error with GCC 4.6 in C++ mode.
1454         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
1455         (HAVE_STATIC_ASSERT): New macro.
1456         (verify_true, verify): Use 'static_assert' if it is supported and
1457         '_Static_assert' is not supported.
1458
1459 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
1460
1461         allocator: New module.
1462         * modules/allocator, lib/allocator.c: New files.
1463         * lib/allocator.h (stdlib_allocator): New decl.
1464         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
1465         Remove.  Do not include <stdlib.h>.
1466         (careadlinkat): Use stdlib_allocator instead of rolling our own.
1467         * modules/careadlinkat (Files): Remove lib/allocator.h.
1468         (Depends-on): Add allocator.
1469
1470         stdlib: let modules use system malloc, realloc
1471         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
1472         if !_GL_USE_STDLIB_ALLOC.
1473         (malloc, realloc): Limit this change to a smaller scope.
1474
1475         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
1476         (malloc, realloc): Don't #undef; no longer needed.
1477         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1478         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1479         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1480         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1481         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1482         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1483         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
1484         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
1485
1486         careadlinkat: rename members to avoid problem
1487         * lib/allocator.h (struct allocator): Rename members from
1488         malloc/realloc to allocate/reallocate, to avoid problems if malloc
1489         and realloc are #define'd.  Reported by Eric Blake in
1490         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
1491         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
1492
1493 2011-04-08  Eric Blake  <eblake@redhat.com>
1494
1495         nonblocking: reduce dependency
1496         * tests/test-nonblocking.c: Only test sockets when in use.
1497         * modules/nonblocking-tests (Depends-on): Drop socket.
1498         (Makefile.am): Link even if sockets are not present.
1499         * modules/pipe2-tests (Makefile.am): Likewise.
1500         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
1501
1502         pipe2: fix O_NONBLOCK support on mingw
1503         * modules/pipe2 (Depends-on): Add nonblocking.
1504         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
1505         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
1506         * tests/test-nonblocking.c (main): Likewise.
1507         * modules/pipe2-tests (Makefile.am): Avoid link failure.
1508
1509         fcntl-h: fix O_ACCMODE on cygwin
1510         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
1511         * lib/fcntl.in.h (O_ACCMODE): Fix it.
1512
1513         pipe-filter: drop O_NONBLOCK workarounds
1514         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
1515         * modules/pipe-filter-ii (Depends-on): Likewise.
1516         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
1517
1518         nonblocking: provide O_NONBLOCK for mingw
1519         * modules/nonblocking (Depends-on): Add open.
1520         (configure.ac): Set new witness macro.
1521         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
1522         * modules/fcntl-h (Makefile.am): Substitute it.
1523         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
1524         nonblocking module is in use.
1525         * lib/nonblocking.c: Adjust portability test.
1526         * lib/open.c (open): Don't let native open see gnulib flag.
1527         * tests/test-fcntl-h.c (main): Enhance test.
1528         * tests/test-open.h (test_open): Likewise.
1529         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
1530
1531         careadlinkat: fix compilation error on mingw
1532         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
1533         within struct allocator.
1534
1535 2011-04-06  Eric Blake  <eblake@redhat.com>
1536
1537         binary-io: relicense under LGPLv2+
1538         * modules/binary-io (License): Relax to LGPLv2+.
1539         Requested for libvirt, and required by pipe2.
1540
1541 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
1542
1543         verify: use _Static_assert if available
1544         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
1545         (verify_true, verify): Use it if available.  This generates better
1546         diagnostics with GCC 4.6.0 and later.
1547
1548 2011-04-05  Bruno Haible  <bruno@clisp.org>
1549
1550         Remove leftover generated .h files after config.status changed.
1551
1552         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
1553         GL_GENERATE_ALLOCA_H.
1554         * modules/alloca-opt (Makefile.am): Remove alloca.h if
1555         GL_GENERATE_ALLOCA_H evaluates to false.
1556
1557         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
1558         GL_GENERATE_ARGZ_H.
1559         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
1560         evaluates to false.
1561
1562         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
1563         GL_GENERATE_BYTESWAP_H.
1564         * modules/byteswap (Makefile.am): Remove byteswap.h if
1565         GL_GENERATE_BYTESWAP_H evaluates to false.
1566
1567         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
1568         GL_GENERATE_ERRNO_H.
1569         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
1570         evaluates to false.
1571
1572         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
1573         GL_GENERATE_FLOAT_H.
1574         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
1575         evaluates to false.
1576
1577         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
1578         GL_GENERATE_FNMATCH_H.
1579         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
1580         GL_GENERATE_FNMATCH_H evaluates to false.
1581
1582         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
1583         GL_GENERATE_GLOB_H.
1584         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
1585         evaluates to false.
1586
1587         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
1588         automake conditional GL_GENERATE_ICONV_H.
1589         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
1590         evaluates to false.
1591
1592         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
1593         GL_GENERATE_NETINET_IN_H.
1594         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
1595         GL_GENERATE_NETINET_IN_H evaluates to false.
1596
1597         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
1598         conditional GL_GENERATE_PTHREAD_H.
1599         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
1600         * modules/pthread (Makefile.am): Remove pthread.h if
1601         GL_GENERATE_PTHREAD_H evaluates to false.
1602
1603         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
1604         GL_GENERATE_SCHED_H.
1605         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
1606         evaluates to false.
1607
1608         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
1609         conditional GL_GENERATE_SELINUX_CONTEXT_H.
1610         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
1611         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
1612
1613         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
1614         GL_GENERATE_STDARG_H.
1615         * modules/stdarg (Makefile.am): Remove stdarg.h if
1616         GL_GENERATE_STDARG_H evaluates to false.
1617
1618         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
1619         GL_GENERATE_STDBOOL_H.
1620         * modules/stdbool (Makefile.am): Remove stdbool.h if
1621         GL_GENERATE_STDBOOL_H evaluates to false.
1622
1623         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
1624         conditional GL_GENERATE_STDDEF_H.
1625         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
1626         * modules/stddef (Makefile.am): Remove stddef.h if
1627         GL_GENERATE_STDDEF_H evaluates to false.
1628
1629         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
1630         GL_GENERATE_STDINT_H.
1631         * modules/stdint (Makefile.am): Remove stdint.h if
1632         GL_GENERATE_STDINT_H evaluates to false.
1633
1634         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
1635         GL_GENERATE_SYSEXITS_H.
1636         * modules/sysexits (Makefile.am): Remove sysexits.h if
1637         GL_GENERATE_SYSEXITS_H evaluates to false.
1638
1639         Reported by Karl Berry and Ralf Wildenhues.
1640
1641 2011-04-05  Bruno Haible  <bruno@clisp.org>
1642
1643         Ensure to rebuild generated .h files when config.status has changed.
1644         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
1645         config.status.
1646         * modules/ctype (Makefile.am): Likewise.
1647         * modules/dirent (Makefile.am): Likewise.
1648         * modules/errno (Makefile.am): Likewise.
1649         * modules/fcntl-h (Makefile.am): Likewise.
1650         * modules/float (Makefile.am): Likewise.
1651         * modules/getopt-posix (Makefile.am): Likewise.
1652         * modules/glob (Makefile.am): Likewise.
1653         * modules/iconv-h (Makefile.am): Likewise.
1654         * modules/inttypes (Makefile.am): Likewise.
1655         * modules/langinfo (Makefile.am): Likewise.
1656         * modules/locale (Makefile.am): Likewise.
1657         * modules/math (Makefile.am): Likewise.
1658         * modules/netdb (Makefile.am): Likewise.
1659         * modules/netinet_in (Makefile.am): Likewise.
1660         * modules/poll-h (Makefile.am): Likewise.
1661         * modules/pthread (Makefile.am): Likewise.
1662         * modules/pty (Makefile.am): Likewise.
1663         * modules/sched (Makefile.am): Likewise.
1664         * modules/search (Makefile.am): Likewise.
1665         * modules/selinux-h (Makefile.am): Likewise.
1666         * modules/signal (Makefile.am): Likewise.
1667         * modules/spawn (Makefile.am): Likewise.
1668         * modules/stdarg (Makefile.am): Likewise.
1669         * modules/stdbool (Makefile.am): Likewise.
1670         * modules/stddef (Makefile.am): Likewise.
1671         * modules/stdint (Makefile.am): Likewise.
1672         * modules/stdio (Makefile.am): Likewise.
1673         * modules/stdlib (Makefile.am): Likewise.
1674         * modules/string (Makefile.am): Likewise.
1675         * modules/strings (Makefile.am): Likewise.
1676         * modules/sys_file (Makefile.am): Likewise.
1677         * modules/sys_ioctl (Makefile.am): Likewise.
1678         * modules/sys_select (Makefile.am): Likewise.
1679         * modules/sys_socket (Makefile.am): Likewise.
1680         * modules/sys_stat (Makefile.am): Likewise.
1681         * modules/sys_time (Makefile.am): Likewise.
1682         * modules/sys_times (Makefile.am): Likewise.
1683         * modules/sys_utsname (Makefile.am): Likewise.
1684         * modules/sys_wait (Makefile.am): Likewise.
1685         * modules/sysexits (Makefile.am): Likewise.
1686         * modules/termios (Makefile.am): Likewise.
1687         * modules/time (Makefile.am): Likewise.
1688         * modules/unistd (Makefile.am): Likewise.
1689         * modules/wchar (Makefile.am): Likewise.
1690         * modules/wctype-h (Makefile.am): Likewise.
1691         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
1692
1693 2011-04-05  Bruno Haible  <bruno@clisp.org>
1694
1695         pipe2: Relicense under LGPLv2+.
1696         * modules/pipe2 (License): Change to LGPLv2+.
1697         Requested by Eric Blake, for libvirt.
1698
1699 2011-04-05  Bruce Korb  <bkorb@gnu.org>
1700
1701         bootstrap: compute gnulib_extra_files after updating build_aux
1702         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
1703         change build_aux or also supply gnulib_extra_files.  Handle correctly.
1704
1705 2011-04-05  Eric Blake  <eblake@redhat.com>
1706
1707         bootstrap: preserve git whitelist item sorting
1708         * build-aux/bootstrap (sort_patterns): New function.
1709         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
1710
1711 2011-04-05  Simon Josefsson  <simon@josefsson.org>
1712
1713         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
1714         sc_space_tab check.
1715
1716 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
1717
1718         areadlink, areadlinkat: rewrite in terms of careadlinkat
1719         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
1720         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
1721         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
1722         (malloc, realloc): Remove #undefs.
1723         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
1724         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
1725         readlink, ssize_t, stdint, unistd.
1726         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
1727         areadlink, stdint.
1728
1729         careadlinkat: new module
1730         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
1731         * modules/careadlinkat: New files, written by me with
1732         a review and feedback from Ben Pfaff in
1733         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
1734
1735 2011-04-01  Bruno Haible  <bruno@clisp.org>
1736
1737         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
1738         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
1739         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
1740         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
1741         Reported by Bruce Korb <bruce.korb@gmail.com>.
1742
1743 2011-04-01  Bruno Haible  <bruno@clisp.org>
1744
1745         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
1746         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
1747         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
1748         * modules/wcpcpy (Depends-on): Add extensions.
1749         * modules/wcpncpy (Depends-on): Likewise.
1750         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
1751         systems.
1752         * doc/posix-functions/wcpncpy.texi: Likewise.
1753         * doc/posix-functions/wcwidth.texi: Likewise.
1754
1755 2011-03-31  Eric Blake  <eblake@redhat.com>
1756
1757         nonblocking: fix mingw test failures
1758         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
1759         non-blocking flag on regular file.
1760         (get_nonblocking_flag): Set errno on invalid fd.
1761         * tests/test-nonblocking.c (main): Avoid test failure on
1762         directories if fchdir is not active.
1763         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
1764
1765 2011-03-31  Bruno Haible  <bruno@clisp.org>
1766
1767         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
1768         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
1769         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
1770         Reported by Simon Josefsson <simon@josefsson.org>.
1771
1772 2011-03-31  Bruno Haible  <bruno@clisp.org>
1773         and Eric Blake  <eblake@redhat.com>
1774
1775         nonblocking: new module
1776         * modules/nonblocking: New module.
1777         * modules/nonblocking-tests: Likewise.
1778         * lib/nonblocking.h: New file.
1779         * lib/nonblocking.c: Likewise.
1780         * tests/test-nonblocking.c: New test.
1781         * lib/ioctl.c (ioctl) [mingw]: Update comment.
1782
1783 2011-03-30  Bruno Haible  <bruno@clisp.org>
1784
1785         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
1786         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
1787         instead of 'printf' format for GCC >= 4.4.
1788         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
1789         (fprintf, printf, vfprintf, vprintf): Declare with
1790         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
1791         the system's vfprintf() function.
1792         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
1793
1794 2011-03-30  Eric Blake  <eblake@redhat.com>
1795
1796         passfd: fix scoping bug
1797         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
1798         before sendmsg/recvmsg.
1799
1800         passfd: standardize coding conventions
1801         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
1802         can be learned at compile time.
1803         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
1804         ifdefs.
1805         (sendfd, recvfd): Follow gnulib code conventions.
1806
1807         passfd: fix incorrect sendmsg arguments
1808         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
1809         incorrect msg_controllen value.
1810         * modules/passfd-tests (Depends-on): Check for alarm.
1811         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
1812         Reported by Bastien ROUCARIES.
1813
1814 2011-03-30  Bruno Haible  <bruno@clisp.org>
1815
1816         c-strcasestr: Relicense under LGPLv2+.
1817         * modules/c-strcasestr (License): Change to LGPLv2+.
1818         Requested by Eric Blake, for libvirt.
1819
1820 2011-03-30  Simon Josefsson  <simon@josefsson.org>
1821
1822         * users.txt: Add libidn2.  Fix libtasn1 link.
1823
1824 2011-03-30  Jim Meyering  <meyering@redhat.com>
1825
1826         tests: readlink* ("",... fails with EINVAL on newer kernels
1827         readlink and readlinkat have typically failed with ENOENT for
1828         the invalid, empty file name,  "".  However, with the advent
1829         of linux-2.6.39, they fail with EINVAL.
1830         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
1831         when operating on the empty file name.
1832         * tests/test-readlink.h (test_readlink): Likewise.
1833
1834 2011-03-29  Bruno Haible  <bruno@clisp.org>
1835
1836         Relicense some modules under LGPLv2+, for libidn2.
1837         * modules/array-mergesort (License): Change to LGPLv2+.
1838         * modules/c-strcaseeq (License): Likewise.
1839         * modules/striconveh (License): Likewise.
1840         * modules/striconveha (License): Likewise.
1841         * modules/uniconv/base (License): Likewise.
1842         * modules/uniconv/u8-conv-from-enc (License): Likewise.
1843         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
1844         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
1845         * modules/unictype/base (License): Likewise.
1846         * modules/unictype/bidiclass-of (License): Likewise.
1847         * modules/unictype/category-M (License): Likewise.
1848         * modules/unictype/category-none (License): Likewise.
1849         * modules/unictype/category-of (License): Likewise.
1850         * modules/unictype/category-test (License): Likewise.
1851         * modules/unictype/category-test-withtable (License): Likewise.
1852         * modules/unictype/combining-class (License): Likewise.
1853         * modules/unictype/joiningtype-of (License): Likewise.
1854         * modules/unictype/scripts (License): Likewise.
1855         * modules/uninorm/base (License): Likewise.
1856         * modules/uninorm/canonical-decomposition (License): Likewise.
1857         * modules/uninorm/composition (License): Likewise.
1858         * modules/uninorm/decompose-internal (License): Likewise.
1859         * modules/uninorm/decomposition-table (License): Likewise.
1860         * modules/uninorm/nfc (License): Likewise.
1861         * modules/uninorm/nfd (License): Likewise.
1862         * modules/uninorm/u32-normalize (License): Likewise.
1863         * modules/unistr/base (License): Likewise.
1864         * modules/unistr/u32-cpy (License): Likewise.
1865         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
1866         * modules/unistr/u32-to-u8 (License): Likewise.
1867         * modules/unistr/u32-uctomb (License): Likewise.
1868         * modules/unistr/u8-check (License): Likewise.
1869         * modules/unistr/u8-mblen (License): Likewise.
1870         * modules/unistr/u8-mbtouc (License): Likewise.
1871         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
1872         * modules/unistr/u8-mbtoucr (License): Likewise.
1873         * modules/unistr/u8-prev (License): Likewise.
1874         * modules/unistr/u8-strlen (License): Likewise.
1875         * modules/unistr/u8-to-u32 (License): Likewise.
1876         * modules/unistr/u8-uctomb (License): Likewise.
1877         * modules/unitypes (License): Likewise.
1878         Requested by Simon Josefsson.
1879
1880 2011-03-29  Simon Josefsson  <simon@josefsson.org>
1881
1882         lib-symbol-visibility: Add a notice.
1883         * modules/lib-symbol-visibility (Notice): New field.
1884
1885 2011-03-29  Bruno Haible  <bruno@clisp.org>
1886
1887         getaddrinfo: Doc fix.
1888         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
1889         section "fixed in Gnulib".
1890
1891 2011-03-28  Simon Josefsson  <simon@josefsson.org>
1892
1893         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
1894         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
1895
1896 2011-03-26  Bruno Haible  <bruno@clisp.org>
1897
1898         unictype/property-byname: Reduce the number of load-time relocations.
1899         * lib/unictype/pr_byname.c: Include <stdlib.h>.
1900         (UC_PROPERTY_INDEX_*): New enumeration values.
1901         (uc_property_byname): Convert an index from the lookup table to an
1902         uc_property_t.
1903         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
1904         values.
1905
1906 2011-03-26  Bruno Haible  <bruno@clisp.org>
1907
1908         unictype/property-byname: Allow omitted word separators and aliases.
1909         * lib/unictype/pr_byname.gperf: Add property names without word
1910         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
1911         for 'space'.
1912
1913 2011-03-26  Bruno Haible  <bruno@clisp.org>
1914
1915         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
1916         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
1917         also hyphens to space.
1918         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
1919         without spaces.
1920         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
1921
1922 2011-03-26  Bruno Haible  <bruno@clisp.org>
1923
1924         unictype/joiningtype-byname: Recognize long names as well.
1925         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
1926         a long name.
1927         * lib/unictype/joiningtype_byname.c: Include <string.h>,
1928         unictype/joiningtype_byname.h.
1929         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
1930         * lib/unictype/joiningtype_byname.gperf: New file.
1931         * modules/unictype/joiningtype-byname (Files): Add
1932         lib/unictype/joiningtype_byname.gperf.
1933         (Depends-on): Add gperf.
1934         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
1935         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
1936         long names.
1937
1938         Tests for module 'unictype/joiningtype-longname'.
1939         * modules/unictype/joiningtype-longname-tests: New file.
1940         * tests/unictype/test-joiningtype_longname.c: New file.
1941
1942         New module 'unictype/joiningtype-longname'.
1943         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
1944         * lib/unictype/joiningtype_longname.c: New file.
1945         * modules/unictype/joiningtype-longname: New file.
1946         * modules/unictype/joiningtype-all (Depends-on): Add
1947         unictype/joiningtype-longname.
1948
1949 2011-03-26  Bruno Haible  <bruno@clisp.org>
1950
1951         unictype/bidiclass-byname: Recognize long names as well.
1952         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
1953         name.
1954         * lib/unictype/bidi_byname.c: Include <string.h>,
1955         unictype/bidi_byname.h.
1956         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
1957         * lib/unictype/bidi_byname.gperf: New file.
1958         * modules/unictype/bidiclass-byname (Files): Add
1959         lib/unictype/bidi_byname.gperf.
1960         (Depends-on): Add gperf.
1961         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
1962         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
1963         long names.
1964
1965         Tests for module 'unictype/bidiclass-longname'.
1966         * modules/unictype/bidiclass-longname-tests: New file.
1967         * tests/unictype/test-bidi_longname.c: New file.
1968
1969         New module 'unictype/bidiclass-longname'.
1970         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
1971         * lib/unictype/bidi_longname.c: New file.
1972         * modules/unictype/bidiclass-longname: New file.
1973         * modules/unictype/bidiclass-all (Depends-on): Add
1974         unictype/bidiclass-longname.
1975
1976 2011-03-26  Bruno Haible  <bruno@clisp.org>
1977
1978         unictype/bidi*: Rename modules.
1979         * modules/unictype/bidiclass-all: Renamed from
1980         modules/unictype/bidicategory-all.
1981         * modules/unictype/bidiclass-name: Renamed from
1982         modules/unictype/bidiclass-name.
1983         (Description): Update.
1984         * modules/unictype/bidiclass-name-tests: Renamed from
1985         modules/unictype/bidicategory-name-tests.
1986         * modules/unictype/bidiclass-byname: Renamed from
1987         modules/unictype/bidicategory-byname.
1988         (Description): Update.
1989         * modules/unictype/bidiclass-byname-tests: Renamed from
1990         modules/unictype/bidicategory-byname-tests.
1991         * modules/unictype/bidiclass-of: Renamed from
1992         modules/unictype/bidicategory-of.
1993         (Description): Update.
1994         * modules/unictype/bidiclass-of-tests: Renamed from
1995         modules/unictype/bidicategory-of-tests.
1996         * modules/unictype/bidiclass-test: Renamed from
1997         modules/unictype/bidicategory-test.
1998         (Description): Update.
1999         * modules/unictype/bidiclass-test-tests: Renamed from
2000         modules/unictype/bidicategory-test-tests.
2001         * modules/unictype/bidicategory-all: New file, a simple redirection.
2002         * modules/unictype/bidicategory-name: Likewise.
2003         * modules/unictype/bidicategory-byname: Likewise.
2004         * modules/unictype/bidicategory-of: Likewise.
2005         * modules/unictype/bidicategory-test: Likewise.
2006         * modules/unictype/property-bidi-* (Dependencies): Update.
2007         * lib/unictype/bidi_*.c: Update comment.
2008
2009 2011-03-26  Bruno Haible  <bruno@clisp.org>
2010
2011         unictype/bidi*: Rename functions, part 2.
2012         * modules/unictype/bidicategory-name (configure.ac): Update required
2013         libunistring version.
2014         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
2015
2016 2011-03-25  Bruno Haible  <bruno@clisp.org>
2017
2018         New module 'unictype/combining-class-all'.
2019         * modules/unictype/combining-class-all: New file.
2020
2021         Tests for module 'unictype/combining-class-byname'.
2022         * modules/unictype/combining-class-byname-tests: New file.
2023         * tests/unictype/test-combiningclass_byname.c: New file.
2024
2025         New module 'unictype/combining-class-byname'.
2026         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
2027         * lib/unictype/combiningclass_byname.c: New file.
2028         * lib/unictype/combiningclass_byname.gperf: New file.
2029         * modules/unictype/combining-class-byname: New file.
2030
2031         Tests for module 'unictype/combining-class-longname'.
2032         * modules/unictype/combining-class-longname-tests: New file.
2033         * tests/unictype/test-combiningclass_longname.c: New file.
2034
2035         New module 'unictype/combining-class-longname'.
2036         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
2037         * lib/unictype/combiningclass_longname.c: New file.
2038         * modules/unictype/combining-class-longname: New file.
2039
2040         Tests for module 'unictype/combining-class-name'.
2041         * modules/unictype/combining-class-name-tests: New file.
2042         * tests/unictype/test-combiningclass_name.c: New file.
2043
2044         New module 'unictype/combining-class-name'.
2045         * lib/unictype.in.h (uc_combining_class_name): New declaration.
2046         * lib/unictype/combiningclass_name.c: New file.
2047         * modules/unictype/combining-class-name: New file.
2048
2049 2011-03-25  Bruno Haible  <bruno@clisp.org>
2050
2051         unictype/combining-class: Rename source files.
2052         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
2053         of unictype/combining.h.
2054         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
2055         Update.
2056         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
2057         * modules/unictype/combining-class (Description): Fix.
2058         (Files, Makefile.am): Update.
2059         * tests/unictype/test-combiningclass.c: Renamed from
2060         tests/unictype/test-combining.c.
2061         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
2062
2063 2011-03-25  Bruno Haible  <bruno@clisp.org>
2064
2065         unictype: Update list of canonical combining classes.
2066         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
2067
2068 2011-03-25  Bruno Haible  <bruno@clisp.org>
2069
2070         unictype/category-byname: Recognize long names as well.
2071         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
2072         a long name.
2073         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
2074         unictype/categ_byname.h.
2075         (UC_CATEGORY_INDEX_*): New enumeration values.
2076         (uc_general_category_byname): Use uc_general_category_lookup and
2077         convert from index to value.
2078         * lib/unictype/categ_byname.gperf: New file.
2079         * modules/unictype/category-byname (Files): Add
2080         lib/unictype/categ_byname.gperf.
2081         (Depends-on): Add gperf.
2082         (Makefile.am): Add rule for generating unictype/categ_byname.h.
2083         * tests/unictype/test-categ_byname.c (main): Test the recognition of
2084         long names.
2085
2086         Tests for module 'unictype/category-longname'.
2087         * modules/unictype/category-longname-tests: New file.
2088         * tests/unictype/test-categ_longname.c: New file.
2089
2090         New module 'unictype/category-longname'.
2091         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
2092         * lib/unictype/categ_longname.c: New file.
2093         * modules/unictype/category-longname: New file.
2094         * modules/unictype/category-all (Depends-on): Add it.
2095
2096 2011-03-25  Bruno Haible  <bruno@clisp.org>
2097
2098         Tests for module 'unictype/category-LC'.
2099         * modules/unictype/category-LC-tests: New file.
2100         * tests/unictype/test-categ_LC.c: New file, automatically generated.
2101
2102         New module 'unictype/category-LC'.
2103         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
2104         (UC_CATEGORY_LC): New declaration.
2105         (UC_CASED_LETTER): New macro.
2106         * lib/gen-uni-tables.c (is_category_LC): New function.
2107         (output_categories): Also handle category LC.
2108         (UC_CATEGORY_MASK_LC): New enumeration value.
2109         (general_category_byname): Also handle category LC.
2110         * lib/unictype/categ_LC.c: New file.
2111         * lib/unictype/categ_LC.h: New file, automatically generated.
2112         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
2113         category LC.
2114         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
2115         * modules/unictype/category-LC: New file.
2116         * modules/unictype/category-byname (Depends-on): Add
2117         unictype/category-LC.
2118         * modules/unictype/category-all (Depends-on): Likewise.
2119
2120 2011-03-25  Eric Blake  <eblake@redhat.com>
2121
2122         xmalloc: revert yesterday's regression
2123         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
2124         realloc's underlying behavior (allowing allocation of zero-size
2125         objects, especially if malloc-gnu is also in use).
2126
2127 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
2128
2129         maint.mk: add missing version to VC-tag
2130         * top/maint.mk: git tag was missing actual tag name; add it.
2131
2132         valgrind: do leak checking, and exit with code 1 on error (not 0)
2133         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
2134         to VALGRIND.
2135
2136 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
2137
2138         posix-modules: say what it does.
2139         * posix-modules: Add a line to the --help output saying what it does.
2140
2141 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
2142
2143         xmalloc: Do not leak if underlying realloc is C99 compatible.
2144         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
2145         This avoids a leak on C99-based systems.  See
2146         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
2147
2148 2011-03-24  Eric Blake  <eblake@redhat.com>
2149
2150         realloc: document portability problem
2151         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
2152         passing 0 size to realloc.
2153
2154 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
2155
2156         doc: update users.txt
2157         * users.txt: Add cvsps, tmpwatch
2158
2159 2011-03-23  Matt Rice  <ratmice@gmail.com>
2160
2161         doc: update users.txt
2162         * users.txt: Add gdb.
2163
2164 2011-03-23  Jim Meyering  <meyering@redhat.com>
2165
2166         doc: update users.txt
2167         Looking through matches up to the following URL (there are still
2168         several more pages), I found several projects that use gnulib:
2169         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
2170         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
2171         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
2172
2173 2011-03-22  Bruno Haible  <bruno@clisp.org>
2174
2175         unictype/bidi*: Rename functions.
2176         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
2177         uc_bidi_class, uc_is_bidi_class): New declarations.
2178         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
2179         uc_bidi_category_byname.
2180         (uc_bidi_category_byname): New function.
2181         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
2182         u_bidi_category_name.
2183         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
2184         (uc_bidi_category_name): New function.
2185         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
2186         uc_bidi_category.
2187         (uc_bidi_category): New function.
2188         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
2189         uc_is_bidi_category. Invoke uc_bidi_class.
2190         (uc_is_bidi_category): New function.
2191         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
2192         instead of uc_bidi_category_byname.
2193         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
2194         instead of uc_bidi_category_name.
2195         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
2196         uc_bidi_category.
2197         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
2198         instead of uc_is_bidi_category.
2199
2200 2011-03-21  Bruno Haible  <bruno@clisp.org>
2201
2202         New module 'unictype/joininggroup-all'.
2203         * modules/unictype/joininggroup-all: New file.
2204
2205         Tests for module 'unictype/joininggroup-of'.
2206         * modules/unictype/joininggroup-of-tests: New file.
2207         * tests/unictype/test-joininggroup_of.c: New file.
2208         * tests/unictype/test-joininggroup_of.h: New file, automatically
2209         generated by gen-uni-tables.
2210
2211         New module 'unictype/joininggroup-of'.
2212         * modules/unictype/joininggroup-of: New file.
2213         * lib/unictype/joininggroup_of.c: New file.
2214         * lib/unictype/joininggroup_of.h: New file, automatically generated by
2215         gen-uni-tables.
2216
2217         Tests for module 'unictype/joininggroup-byname'.
2218         * modules/unictype/joininggroup-byname-tests: New file.
2219         * tests/unictype/test-joininggroup_byname.c: New file.
2220
2221         New module 'unictype/joininggroup-byname'.
2222         * modules/unictype/joininggroup-byname: New file.
2223         * lib/unictype/joininggroup_byname.c: New file.
2224         * lib/unictype/joininggroup_byname.gperf: New file.
2225
2226         Tests for module 'unictype/joininggroup-name'.
2227         * modules/unictype/joininggroup-name-tests: New file.
2228         * tests/unictype/test-joininggroup_name.c: New file.
2229
2230         New module 'unictype/joininggroup-name'.
2231         * modules/unictype/joininggroup-name: New file.
2232         * lib/unictype/joininggroup_name.c: New file.
2233         * lib/unictype/joininggroup_name.h: New file.
2234
2235         New module 'unictype/joiningtype-all'.
2236         * modules/unictype/joiningtype-all: New file.
2237
2238         Tests for module 'unictype/joiningtype-of'.
2239         * modules/unictype/joiningtype-of-tests: New file.
2240         * tests/unictype/test-joiningtype_of.c: New file.
2241         * tests/unictype/test-joiningtype_of.h: New file, automatically
2242         generated by gen-uni-tables.
2243
2244         New module 'unictype/joiningtype-of'.
2245         * modules/unictype/joiningtype-of: New file.
2246         * lib/unictype/joiningtype_of.c: New file.
2247         * lib/unictype/joiningtype_of.h: New file, automatically generated by
2248         gen-uni-tables.
2249
2250         Tests for module 'unictype/joiningtype-byname'.
2251         * modules/unictype/joiningtype-byname-tests: New file.
2252         * tests/unictype/test-joiningtype_byname.c: New file.
2253
2254         New module 'unictype/joiningtype-byname'.
2255         * modules/unictype/joiningtype-byname: New file.
2256         * lib/unictype/joiningtype_byname.c: New file.
2257
2258         Tests for module 'unictype/joiningtype-name'.
2259         * modules/unictype/joiningtype-name-tests: New file.
2260         * tests/unictype/test-joiningtype_name.c: New file.
2261
2262         New module 'unictype/joiningtype-name'.
2263         * modules/unictype/joiningtype-name: New file.
2264         * lib/unictype/joiningtype_name.c: New file.
2265
2266         unictype: Add support for Arabic shaping properties.
2267         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
2268         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
2269         declarations.
2270         (UC_JOINING_GROUP_*): New enumeration values.
2271         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
2272         declarations.
2273         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
2274         (unicode_joining_type): New variable.
2275         (UC_JOINING_GROUP_*): New enumeration values.
2276         (unicode_joining_group): New variable.
2277         (fill_arabicshaping, joining_type_as_c_identifier,
2278         output_joining_type_test, output_joining_type,
2279         joining_group_as_c_identifier, output_joining_group_test,
2280         output_joining_group): New functions.
2281         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
2282         fill_arabicshaping and output_joining_type_test, output_joining_type,
2283         output_joining_group_test, output_joining_group.
2284         Reported by Simon Josefsson.
2285
2286 2011-03-21  Jim Meyering  <meyering@redhat.com>
2287
2288         strftime: fix a bug in yesterday's change
2289         * lib/strftime.c (add): Accommodate width's initial value of -1.
2290         Otherwise, nstrftime would copy uninitialized data into
2291         the result buffer.
2292
2293 2011-03-21  Jim Meyering  <meyering@redhat.com>
2294
2295         tests: add strftime-tests module
2296         * tests/test-strftime.c: New file.
2297         * modules/strftime-tests: New module.
2298
2299 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2300
2301         strftime: don't assume a byte count fits in 'int'
2302         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
2303         found this problem by static analysis, using gcc -Wstrict-overflow
2304         (GCC 4.5.2, x86-64).  This reported an optimization that depended
2305         on an integer overflow having undefined behavior, but it turns out
2306         that the argument is a size, which might not fit in 'int' anyway,
2307
2308 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2309
2310         stdio: don't require ignore_value around fwrite
2311
2312         This patch works around libc bug 11959
2313         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
2314         Without this patch, applications must often write
2315         ignore_value (fwrite (...)) even though the ignore_value is
2316         not helpful here.  It's common to write many objects, using
2317         fwrite/printf/etc., and then use ferror to detect output error.
2318
2319         I considered making this patch optional, but decided against it,
2320         because libc is obviously being inconsistent here: there is no
2321         reason libc should insist that user code must inspect fwrite
2322         return's value without also insisting that it inspect printf's,
2323         putchar's, etc.  If user code wants to have a strict style where
2324         all these functions' values are checked (so that ferror need not
2325         be checked), we could add support for that style in a new gnulib
2326         module, but in the meantime it's better to be consistent and to
2327         support common usage.
2328
2329         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
2330         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
2331         that we are compiling in checking mode, and if not C++, and
2332         if not already wrapping fwrite for some other reason.
2333         (fwrite): #define to rpl_fwrite if the latter is defined.
2334
2335 2011-03-20  Bruno Haible  <bruno@clisp.org>
2336
2337         verror: Fix compilation error introduced on 2011-02-13.
2338         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
2339         instead of __attribute__.
2340         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
2341
2342 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
2343             Bruno Haible  <bruno@clisp.org>
2344
2345         socklen: do not depend on sys_socket
2346         While trying to modify Emacs to use gnulib's socklen module,
2347         I discovered a circular dependency: socklen depends on sys_socket
2348         and vice versa.  Emacs can use socklen, but it does not need
2349         sys_socket because it has its own substitute for sys/socket.h.
2350         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
2351         gl_TYPE_SOCKLEN_T.
2352         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
2353         gl_PREREQ_SYS_H_SOCKET.
2354         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
2355         gl_PREREQ_SYS_H_SOCKET.
2356         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
2357         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
2358         * modules/socklen (Depends-on): Do not depend on sys_socket.
2359         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
2360
2361 2011-03-20  Jim Meyering  <meyering@redhat.com>
2362
2363         maint.mk: sort file names *after* new transformation
2364         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
2365         prefix would have led to an unwarranted failure in GNU parted.
2366         Sort after that transformation.
2367
2368 2011-03-19  Jim Meyering  <meyering@redhat.com>
2369
2370         maint.mk: fix po-file syntax-check rule
2371         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
2372         Patch by Bruno Haible.
2373
2374 2011-03-19  Bruno Haible  <bruno@clisp.org>
2375
2376         socklen: Update comment.
2377         * m4/socklen.m4: Update comment about platforms.
2378
2379 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2380             Bruno Haible  <bruno@clisp.org>
2381
2382         inet_ntop, inet_pton: Simplify.
2383         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
2384         documented to provide socklen_t and we already depend on sys_socket.
2385         * modules/inet_pton (Depends-on): Likewise.
2386         * lib/arpa_inet.in.h: Adjust comment.
2387
2388 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
2389             Bruno Haible  <bruno@clisp.org>
2390
2391         netdb: Simplify.
2392         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
2393         documented to provide socklen_t and we already depend on sys_socket.
2394         * lib/netdb.in.h: Adjust comment.
2395
2396 2011-03-19  Bruno Haible  <bruno@clisp.org>
2397
2398         sys_socket, netdb: Document problem with socklen_t.
2399         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
2400         platforms.
2401         * doc/posix-headers/netdb.texi: Likewise.
2402
2403 2011-03-18  Eric Blake  <eblake@redhat.com>
2404
2405         maint.mk: let po check work in VPATH build
2406         * top/maint.mk (po_file): Allow cfg.mk override.
2407         (sc_po_check): Allow VPATH use.
2408         Reported by Jiri Denemark.
2409
2410 2011-03-16  Jim Meyering  <meyering@redhat.com>
2411
2412         maint.mk: allow fine-grained syntax-check exclusion via Make variables
2413         Before, you would have had to create one .x-sc_ file per rule in order
2414         to exempt offending files.  Now, you may instead use a Make variable --
2415         usually defined in cfg.mk -- whose name identifies the affected rule.
2416         * top/maint.mk (_sc_excl): Define.
2417         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
2418         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
2419
2420 2011-03-13  Bruno Haible  <bruno@clisp.org>
2421
2422         ignore-value tests: Avoid warnings.
2423         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
2424         empty for gcc < 3.4.
2425
2426 2011-03-13  Bruno Haible  <bruno@clisp.org>
2427
2428         passfd: Fix link error on Solaris.
2429         * modules/passfd (Description): Correct.
2430         (Depends-on): Add socketlib.
2431         (Link): New section.
2432         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
2433
2434 2011-03-13  Bruno Haible  <bruno@clisp.org>
2435
2436         passfd: Fix link error on AIX 5.2.
2437         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
2438
2439 2011-03-13  Bruno Haible  <bruno@clisp.org>
2440
2441         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
2442         * lib/sys_socket.in.h: Include <stddef.h>.
2443         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
2444         CMSG_FIRSTHDR. Remove unused variable.
2445
2446 2011-03-13  Bruno Haible  <bruno@clisp.org>
2447
2448         passfd: Fix compilation error on OpenBSD.
2449         * lib/passfd.c: Include <sys/uio.h>.
2450
2451 2011-03-13  Bruno Haible  <bruno@clisp.org>
2452
2453         passfd test: Fix warnings.
2454         * tests/test-passfd.c: Include <sys/wait.h>.
2455         (main): Fix typo.
2456
2457 2011-03-13  Bruno Haible  <bruno@clisp.org>
2458
2459         passfd module, part 4, tweaks.
2460         * tests/test-passfd.c: Reorder includes.
2461         (main): Fix perror and printf calls.
2462
2463 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2464
2465         passfd module, part 4.
2466         * modules/passfd-tests: New file.
2467         * tests/test-passfd.c: New file.
2468
2469 2011-03-13  Jim Meyering  <meyering@redhat.com>
2470
2471         Makefile: rely on GNU make; derive syntax-check rule names
2472         Rather than requiring that each sc_ rule be listed as a dependent
2473         of "check", use features of GNU make to derive the list.
2474         * Makefile (syntax-check-rules): Define.
2475         (check): Depend on the new variable, not the hard-coded list.
2476
2477 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
2478             Bruno Haible  <bruno@clisp.org>
2479
2480         passfd module, part 3.
2481         * lib/passfd.h (recvfd): Add a flags argument.
2482         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
2483         (recvfd): Add a flags argument.
2484         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
2485         exists.
2486         * modules/passfd (Depends-on): Add cloexec.
2487         Suggested by Eric Blake.
2488
2489 2011-03-13  Bruno Haible  <bruno@clisp.org>
2490
2491         passfd module, part 2, tweaks.
2492         * modules/passfd (Files): Reorder.
2493         (Depends-on): Remove errno.
2494         (Include): Remove <sys/socket.h>, <sys/un.h>.
2495         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
2496         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
2497         specification header. Include <sys/socket.h> always. Don't include
2498         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
2499         (sendfd): Clarify that it sets errno when it fails.
2500         (recvfd): Fix specification.
2501
2502 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2503
2504         passfd module, part 2.
2505         * modules/passfd: New file.
2506         * lib/passfd.h: New file.
2507         * lib/passfd.c: New file.
2508
2509 2011-03-12  Bruno Haible  <bruno@clisp.org>
2510
2511         wcswidth, mbswidth: Avoid integer overflow.
2512         * lib/wcswidth.c: Include <limits.h>.
2513         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
2514         * lib/mbswidth.c: Include <limits.h>.
2515         (mbsnwidth): Avoid 'int' overflow.
2516         Reported by Jim Meyering.
2517
2518 2011-03-12  Bruno Haible  <bruno@clisp.org>
2519
2520         futimens, utimensat: Avoid endless recursion on Solaris 10.
2521         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
2522         Solaris.
2523         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
2524         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
2525
2526 2011-03-11  Jim Meyering  <meyering@redhat.com>
2527
2528         maint.mk: relax a regexp to accommodate other formatting styles
2529         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
2530         between "ngettext" and the following "(".
2531
2532 2011-03-11  Pádraig Brady <P@draigBrady.com>
2533
2534         maint.mk: suppress a false positive warning
2535         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
2536         diagnostics are marked with ngettext.
2537
2538 2011-03-10  Eric Blake  <eblake@redhat.com>
2539
2540         wchar: add explicit dependencies, for Tru64
2541         * modules/mbmemcasecoll (Depends-on): Add wchar.
2542         * modules/mbtowc (Depends-on): Likewise.
2543         * modules/vasnprintf (Depends-on): Likewise.
2544         * modules/unistdio/u-printf-args (Depends-on): Likewise.
2545         * modules/wctomb (Depends-on): Likewise.
2546         Reported by Peter O'Gorman.
2547
2548 2011-03-08  Bruno Haible  <bruno@clisp.org>
2549
2550         passfd module, part 1, tweaks.
2551         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
2552         Improve indentation. Improve AC_MSG_CHECKING messages.
2553         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
2554         gl_SOCKET_FAMILIES.
2555
2556 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
2557
2558         passfd module, part 1.
2559         * m4/afunix.m4: New file.
2560         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
2561         sockets.
2562
2563 2011-03-08  Bruno Haible  <bruno@clisp.org>
2564
2565         regex-quote: New API.
2566         * lib/regex-quote.h: Include <stdbool.h>.
2567         (struct regex_quote_spec): New type.
2568         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
2569         New declarations.
2570         (regex_quote_length, regex_quote_copy, regex_quote): Take a
2571         'const struct regex_quote_spec *' argument.
2572         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
2573         (pcre_special): New constant.
2574         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
2575         New functions.
2576         (regex_quote_length, regex_quote_copy, regex_quote): Take a
2577         'const struct regex_quote_spec *' argument.
2578         * modules/regex-quote (Depends-on): Add stdbool.
2579         * tests/test-regex-quote.c (check): Update for new API. Add test for
2580         anchored results.
2581         * NEWS: Mention the API change.
2582         Reported by Reuben Thomas and Eric Blake.
2583
2584 2011-03-06  Bruno Haible  <bruno@clisp.org>
2585
2586         regex-quote: Fix creation of POSIX extended regular expressions.
2587         * lib/regex-quote.c (ere_special): Add grouping and alternation
2588         operators.
2589
2590 2011-03-05  Bruno Haible  <bruno@clisp.org>
2591
2592         doc: Improve doc regarding autopoint vs. gnulib.
2593         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
2594         disable autopoint while running autoreconf.
2595         Suggested by Ralf Wildenhues.
2596
2597 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2598
2599         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
2600         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
2601
2602 2011-03-03  Bruce Korb  <bkorb@gnu.org>
2603
2604         parse-duration: remove xalloc.h dependency
2605         * lib/parse-duration.c (parse_period): handle NULL return from
2606         strdup instead of calling xstrdup().
2607         * modules/parse-duration: remove "xalloc" dependency
2608
2609 2011-03-03  Matthew Booth  <mbooth@redhat.com>
2610
2611         bootstrap: honor m4_base when running aclocal
2612         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
2613
2614 2011-03-02  Jim Meyering  <meyering@redhat.com>
2615
2616         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
2617         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
2618         on request from Matt Booth.
2619
2620 2011-03-01  Eric Blake  <eblake@redhat.com>
2621
2622         test-link: work on Hurd
2623         * tests/test-link.h (test_link): Hurd rejects linking directories
2624         with EISDIR instead of the POSIX-mandated EPERM.
2625
2626 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
2627
2628         stdio: simplify by moving files to printf-posix, sigpipe
2629         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
2630         since this symbol is needed only if printf is replaced.
2631         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
2632         Require gl_ASM_SYMBOL_PREFIX.
2633         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
2634         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
2635         (Depends-on): Add 'raise'.
2636         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
2637         * modules/stdio (Files): Remove lib/stdio-write.c,
2638         m4/asm-underscore.m4.
2639         (Depends-on): Remove 'raise'.
2640
2641         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
2642         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
2643         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
2644         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
2645
2646 2011-02-28  Bruno Haible  <bruno@clisp.org>
2647
2648         localcharset: Assume ANSI C behaviour of free().
2649         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
2650         calling free().
2651         Suggested by Simon Josefsson <simon@josefsson.org>.
2652
2653 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
2654             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
2655             Bruno Haible  <bruno@clisp.org>  (tiny change)
2656
2657         On Cygwin, use /proc file system instead of win32 API.
2658         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
2659         Win32 file names.
2660         (DllMain): Simplify by removing Cygwin specific code.
2661         (find_shared_library_fullname): Use Linux specific implementation also
2662         for Cygwin.
2663         (get_shared_library_fullname): Update accordingly.
2664         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
2665         Win32 file names.
2666         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
2667         Cygwin specific code.
2668
2669 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
2670             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
2671
2672         Fix OpenMP flag detection for various Fortran compilers.
2673         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
2674         OpenMP-conditional compilation construct, to force compile
2675         failure with missing OpenMP flag.
2676         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
2677
2678 2011-02-25  Eric Blake  <eblake@redhat.com>
2679
2680         strstr: expand test coverage
2681         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
2682         compilation.
2683         * tests/test-memmem.c (main): Duplicate tests.
2684         * tests/test-strcasestr.c (main): Likewise.
2685         * tests/test-c-strcasestr.c (main): Likewise.
2686
2687 2011-02-25  Jim Meyering  <meyering@redhat.com>
2688
2689         maint.mk: detect missing-NL-at-EOF, too
2690         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
2691         it also detects when a file lacks a newline at EOF.
2692         (require_exactly_one_NL_at_EOF_): Renamed from
2693         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
2694         since people may well have .x-sc_... file names tied to the
2695         existing name.  Suggested by Eric Blake.
2696
2697 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
2698
2699         dirname: move m4/dos.m4 functionality into lib/dosname.h
2700
2701         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
2702         extracts symbols from it, puts them into config.h; but it's much
2703         easier to use the symbols directly.  filename.h already does this,
2704         but it disagrees with dos.m4 in some respects.  This patch
2705         introduces a different include file dosname.h that packages up
2706         dos.m4, and then later we can work on merging filename.h and
2707         dosname.h.  Applications that need only the easy-to-configure
2708         symbols should consider including dosname.h rather than dirname.h.
2709         * NEWS: Mention incompatible changes.
2710         * m4/dos.m4: Remove.
2711         * lib/dosname.h, modules/dosname: New files.
2712         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
2713         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
2714         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
2715         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
2716         Include dosname.h, not dirname.h.
2717         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
2718         Include dosname.h, for definitions of symbols like ISSLASH
2719         that used to be in config.h.
2720         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
2721         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
2722         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2723         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2724         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
2725         * modules/rmdir (Files): Likewise.
2726         * modules/stat (Files): Likewise.
2727         * modules/unlink (Files): Likewise.
2728         * modules/dirname-lgpl (Depends-on): Add dosname.
2729         * modules/lstat (Depends-on): Likewise.
2730         * modules/openat (Depends-on): Likewise.
2731         * modules/rmdir (Depends-on): Likewise.
2732         * modules/savewd (Depends-on): Likewise.
2733         * modules/stat (Depends-on): Likewise.
2734         * modules/unlink (Depends-on): Likewise.
2735         * modules/openat (Depends-on): Remove dirname-lgpl.
2736         * modules/savewd (Depends-on): Likewise.
2737         * tests/test-dirname.c: Do not use removed symbols like
2738         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
2739         the remaining symbols, e.g., ISSLASH ('\\').
2740
2741 2011-02-25  Eric Blake  <eblake@redhat.com>
2742
2743         strstr: revert patches that introduced bug and pessimization
2744         * lib/str-two-way.h: Add another reference.
2745         (two_way_short_needle, two_way_long_needle): Revert changes from
2746         2011-02-24; they pessimize search speed.
2747         (critical_factorization): Partially revert changes from
2748         2010-06-22; they violate the requirement that the left half of the
2749         needle be smaller than the period of the needle.
2750
2751 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
2752
2753         filenamecat: remove unnecessary dependency on dirname-lgpl
2754         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
2755         is no direct dependency, just an indirect one via filenamecat-lgpl.
2756
2757         remove: remove unnecessary use of m4/dos.m4
2758         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
2759         * modules/remove (FILES): Remove m4/dos.m4.
2760
2761         * lib/openat-proc.c: Don't include dirname.h; not needed.
2762
2763         backupfile: remove unnecessary use of m4/dos.m4
2764         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
2765         of its symbols are used by the backupfile code.  backupfile.c does
2766         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
2767         for the rare case of programs that want all their backup file
2768         names to live within 8+3 limits, and dos.m4 doesn't address that.
2769         * modules/backupfile (Files): Remove m4/dos.m4.
2770
2771 2011-02-24  Jim Meyering  <meyering@redhat.com>
2772
2773         strstr: fix a bug whereby strstr would mistakenly return NULL
2774         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
2775         in period calculation.
2776         (two_way_long_needle): Likewise.
2777         The original problem was reported by Mike Stump in
2778         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
2779         Ralf Wildenhues provided the short needle and haystack.
2780         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
2781         Add a more involved test to trigger the bug in two_way_long_needle.
2782
2783 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
2784
2785         gnulib-tool: remove use of bold display in help screen
2786         * gnulib-tool (func_usage): Do not use bold display anymore in the
2787         help screen.  That was just meant to be a temporary emphasis for a
2788         backward-incompatible change.
2789
2790 2011-02-23  Bruno Haible  <bruno@clisp.org>
2791
2792         Fix misindentation of preprocessor directives.
2793         * lib/argp-namefrob.h: Reindent preprocessor directives.
2794         * lib/getopt_int.h (struct _getopt_data): Likewise.
2795         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
2796         * lib/vasnprintf.c (decode_long_double): Likewise.
2797         * tests/test-argmatch.c: Insert blank lines, for clarity.
2798         * tests/test-exclude.c: Likewise.
2799
2800 2011-02-22  Bruno Haible  <bruno@clisp.org>
2801
2802         ioctl: Fix for MacOS X in 64-bit mode.
2803         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
2804         value.
2805         Suggested by Eric Blake.
2806         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
2807
2808 2011-02-22  Jim Meyering  <meyering@redhat.com>
2809
2810         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
2811         * Makefile (sc_cpp_indent_check): Don't limit the check to files
2812         in lib/.
2813
2814 2011-02-22  Eric Blake  <eblake@redhat.com>
2815
2816         maint: avoid any CDPATH issue
2817         * Makefile (sc_cpp_indent_check): Anchor cd argument.
2818
2819         maint: adjust cpp indentation for my modules, as well
2820         * Makefile (sc_cpp_indent_check): Add my name.
2821         * lib/fbufmode.c: Filter through cppi.
2822         * lib/fpurge.c: Likewise.
2823         * lib/freadable.c: Likewise.
2824         * lib/freading.c: Likewise.
2825         * lib/fwritable.c: Likewise.
2826         * lib/fwriting.c: Likewise.
2827         * lib/sigaction.c: Likewise.
2828
2829 2011-02-22  Jim Meyering  <meyering@redhat.com>
2830
2831         maint: adjust cpp indentation to reflect nesting depth
2832         I.e., in a block of code that begins with an unnested "#if",
2833         put one space between the "#" in column 1 and following token.
2834         For example,
2835         -#include <sys/vfs.h>
2836         +# include <sys/vfs.h>
2837         Do this only in .c files that are part of a module I maintain.
2838         * lib/linkat.c: Filter through cppi.
2839         * lib/nanosleep.c: Likewise.
2840         * lib/openat.c: Likewise.
2841         * lib/openat-die.c: Likewise.
2842         * lib/dup3.c: Likewise.
2843         * lib/fchownat.c: Likewise.
2844         * lib/flock.c: Likewise.
2845         * lib/fsync.c: Likewise.
2846         * lib/fts.c: Likewise.
2847         * lib/getpass.c: Likewise.
2848         * lib/gettimeofday.c: Likewise.
2849         * lib/userspec.c: Likewise.
2850         * Makefile (sc_cpp_indent_check): New rule, to check this.
2851
2852 2011-02-22  Bruno Haible  <bruno@clisp.org>
2853
2854         New module 'wctomb'.
2855         * lib/stdlib.in.h (wctomb): New declaration.
2856         * lib/wctomb.c: New file.
2857         * lib/wctomb-impl.h: New file.
2858         * m4/wctomb.m4: New file.
2859         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
2860         REPLACE_WCTOMB.
2861         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
2862         REPLACE_WCTOMB.
2863         * modules/wctomb: New file.
2864         * tests/test-stdlib-c++.cc: Test signature of wctomb.
2865         * doc/posix-functions/wctomb.texi: Mention the new module.
2866         * modules/wctob (Depends-on): Add wctomb.
2867
2868 2011-02-22  Bruno Haible  <bruno@clisp.org>
2869
2870         New module 'mbtowc'.
2871         * lib/stdlib.in.h (mbtowc): New declaration.
2872         * lib/mbtowc.c: New file.
2873         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
2874         * m4/mbtowc.m4: New file.
2875         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
2876         REPLACE_MBTOWC.
2877         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
2878         REPLACE_MBTOWC.
2879         * modules/mbtowc: New file.
2880         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
2881         * doc/posix-functions/mbtowc.texi: Mention the new module.
2882         * modules/btowc (Depends-on): Add mbtowc.
2883
2884 2011-02-22  Bruno Haible  <bruno@clisp.org>
2885
2886         wcrtomb: Add more tests for native Windows platforms.
2887         * tests/test-wcrtomb-w32-1.sh: New file.
2888         * tests/test-wcrtomb-w32-2.sh: New file.
2889         * tests/test-wcrtomb-w32-3.sh: New file.
2890         * tests/test-wcrtomb-w32-4.sh: New file.
2891         * tests/test-wcrtomb-w32-5.sh: New file.
2892         * tests/test-wcrtomb-w32.c: New file.
2893         * modules/wcrtomb-tests (Files): Add them.
2894         (Makefile.am): Arrange to run these tests.
2895         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
2896         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
2897
2898 2011-02-20  Bruno Haible  <bruno@clisp.org>
2899
2900         wcrtomb: Enhance test.
2901         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
2902
2903 2011-02-20  Bruno Haible  <bruno@clisp.org>
2904
2905         mbrtowc: Tiny optimization.
2906         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
2907
2908 2011-02-20  Jim Meyering  <meyering@redhat.com>
2909
2910         test-exclude.c: remove unmatched #endif
2911         * tests/test-exclude.c: Remove stray #endif, left over from
2912         the change of a week ago.
2913
2914 2011-02-19  Jim Meyering  <meyering@redhat.com>
2915
2916         git-version-gen: skip "-dirty" check when appropriate
2917         * build-aux/git-version-gen: Don't run any git commands when the
2918         version string comes from .tarball-version.  Prior to this, we
2919         would run git update-index --refresh even from a just-unpacked
2920         tarball directory, and that could affect a .git/ directory in a
2921         parent of the build directory.  Reported by Mike Frysinger.
2922
2923 2011-02-19  Bruno Haible  <bruno@clisp.org>
2924
2925         unictype/property-byname: Reduce the size of the 'data' segment.
2926         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
2927
2928 2011-02-19  Bruno Haible  <bruno@clisp.org>
2929
2930         unictype/scripts: Reduce the size of the 'data' segment.
2931         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
2932         '%pic'.
2933         * lib/unictype/scripts_byname.gperf: Regenerated.
2934
2935 2011-02-19  Bruno Haible  <bruno@clisp.org>
2936
2937         stdint: Update documentation.
2938         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
2939
2940 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
2941
2942         stdint: omit redundant check for wchar.h
2943         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
2944         always tests whether wchar.h exists, so remove the now-redundant test.
2945
2946 2011-02-18  Bruno Haible  <bruno@clisp.org>
2947
2948         stdint: Cut dependency to module 'wchar'.
2949         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
2950         include the necessary prerequisites.
2951         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
2952         * modules/stdint (Depends-on): Remove wchar.
2953         (Makefile.am): Substitute HAVE_WCHAR_H.
2954         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
2955
2956 2011-02-18  Eric Blake  <eblake@redhat.com>
2957
2958         longlong: skip, rather than fail, on cross-compilation
2959         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
2960         when cross-compiling; regression from 2011-02-16.
2961
2962 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2963
2964         * NEWS: Mention 2011-02-08 change to stdlib.
2965
2966 2011-02-17  Bruno Haible  <bruno@clisp.org>
2967
2968         getloadavg: Add comments about platforms.
2969         * m4/getloadavg.m4: Add comment.
2970         * lib/getloadavg.c: Likewise.
2971
2972 2011-02-17  Bruno Haible  <bruno@clisp.org>
2973
2974         getloadavg: Fix link error on Solaris 2.6.
2975         * modules/getloadavg (Link): New section.
2976         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
2977         linking test-getloadavg.
2978         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
2979         getloadavg.
2980
2981 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
2982
2983         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
2984         It was 'int', but this doesn't match the IRIX 6.5 manual.
2985         Suggested by Bruno Haible in
2986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
2987
2988 2011-02-17  Bruno Haible  <bruno@clisp.org>
2989
2990         havelib: Fix comments.
2991         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
2992         change.
2993
2994 2011-02-17  Bruno Haible  <bruno@clisp.org>
2995
2996         havelib: Update config.rpath.
2997         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
2998
2999 2011-02-17  Bruno Haible  <bruno@clisp.org>
3000
3001         getloadavg test: Add some plausibility checks.
3002         * tests/test-getloadavg.c (check_avg): Print a warning when the value
3003         is improbable.
3004
3005 2011-02-16  Eric Blake  <eblake@redhat.com>
3006
3007         maintainer-makefile: make syntax-check a no-op from tarballs
3008         * top/maint.mk (no-vc-detected): New rule.
3009         (local-checks-available): Use it to avoid hanging if someone tries
3010         'make syntax-check' from a tarball.  Also append to any non-syntax
3011         checks already defined in cfg.mk.
3012
3013 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
3014
3015         longlong: tune, particularly for common case of c99
3016
3017         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
3018         or running anything if c99, or if unsigned long long int does not
3019         work.  In either case, we know the answer without further tests.
3020         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
3021         it at most once, and use its results for both long long int and
3022         unsigned long long int.  This is more likely to be efficient in
3023         the common case where the program wants to check for both long
3024         long int and unsigned long long int.
3025         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
3026         since the answer is already known.
3027
3028 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
3029
3030         getloadavg: set errno
3031         * lib/getloadavg.c: Set errno when returning -1.  If no other
3032         error number looks appropriate, set it to ENOSYS if the getloadavg
3033         looks like it can't possibly ever work, ENOTSUP otherwise.
3034         Suggested by Bruno Haible in
3035         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
3036
3037         getloadavg: trim unused parts and speed up 'configure'
3038         * NEWS: Document this.
3039         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
3040         always compiled if getloadavg is absent.
3041         Move test code to ...
3042         * tests/test-getloadavg.c: New file, containing previous
3043         contents of test from lib/getloadavg.c.  It also contains
3044         suggestions by Bruno Haible in
3045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
3046         * modules/getloadavg-tests: New file.
3047         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
3048         Do tests in the same order as they're needed for getloadavg.c.
3049         Omit setgid-related tests that generate symbols KMEM_GROUP,
3050         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
3051         Do only the tests that are needed to see whether the system has
3052         getloadavg, moving the other tests into ...
3053         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
3054         NLIST_NAME_UNION; nobody should be using it.  Do not define
3055         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
3056         relevant, as the user of this module shouldn't care how getloadavg
3057         is implemented.
3058
3059         getloadavg: omit unused var
3060         * lib/getloadavg.c (getloadavg): Omit unused local variable.
3061
3062 2011-02-15  Jim Meyering  <meyering@redhat.com>
3063
3064         doc: update users.txt
3065         * users.txt: Update iwhd's URL.
3066
3067 2011-02-13  Bruno Haible  <bruno@clisp.org>
3068
3069         Consistent macro naming for macros that use GCC __attribute__.
3070         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
3071         _ATTRIBUTE_NONNULL_.
3072         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
3073         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
3074         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
3075         ATTRIBUTE_DEPRECATED.
3076         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
3077         ATTRIBUTE_NORETURN.
3078         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3079         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3080         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3081         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
3082         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
3083         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
3084         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
3085         ATTRIBUTE_SENTINEL.
3086         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
3087         ATTRIBUTE_RETURN_CHECK.
3088         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
3089         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
3090         ATTRIBUTE_NORETURN.
3091         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
3092         Reported by Paul Eggert.
3093
3094 2011-02-13  Bruno Haible  <bruno@clisp.org>
3095
3096         Don't interfere with a program's definition of __attribute__.
3097         * lib/argp.h (__attribute__): Remove definition.
3098         (_GL_ATTRIBUTE_FORMAT): New macro.
3099         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
3100         * lib/argp-fmtstream.h (__attribute__): Remove definition.
3101         (_GL_ATTRIBUTE_FORMAT): New macro.
3102         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
3103         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
3104         GCC 3 or newer.
3105         * lib/error.h (__attribute__): Remove definition.
3106         (_GL_ATTRIBUTE_FORMAT): New macro.
3107         (error, error_at_line): Use it.
3108         * lib/hash.h (__attribute__): Remove definition.
3109         (ATTRIBUTE_WUR): Update definition. Define always.
3110         * lib/openat.h (__attribute__): Remove definition.
3111         (ATTRIBUTE_NORETURN): Update definition. Define always.
3112         * lib/sigpipe-die.h (__attribute__): Remove definition.
3113         (ATTRIBUTE_NORETURN): Update definition. Define always.
3114         * lib/vasnprintf.h (__attribute__): Remove definition.
3115         (_GL_ATTRIBUTE_FORMAT): New macro.
3116         (asnprintf, vasnprintf): Use it.
3117         * lib/xalloc.h (__attribute__): Remove definition.
3118         (ATTRIBUTE_NORETURN): Update definition. Define always.
3119         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
3120         * lib/xmemdup0.h (__attribute__): Remove definition.
3121         (ATTRIBUTE_NORETURN): Update definition. Define always.
3122         * lib/xprintf.h (__attribute__): Remove definition.
3123         (_GL_ATTRIBUTE_FORMAT): New macro.
3124         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
3125         * lib/xstrtol.h (__attribute__): Remove definition.
3126         (ATTRIBUTE_NORETURN): Update definition. Define always.
3127         * lib/xvasprintf.h (__attribute__): Remove definition.
3128         (_GL_ATTRIBUTE_FORMAT): New macro.
3129         (xasprintf, xvasprintf): Use it.
3130         * tests/test-argmatch.c (__attribute__): Remove definition.
3131         (ATTRIBUTE_NORETURN): Update definition. Define always.
3132         * tests/test-exclude.c (__attribute__): Remove definition.
3133         (ATTRIBUTE_NORETURN): Update definition. Define always.
3134         Reported by Paul Eggert.
3135
3136 2011-02-13  Bruno Haible  <bruno@clisp.org>
3137
3138         mbrtowc: Add more tests for native Windows platforms.
3139         * tests/test-mbrtowc-w32-1.sh: New file.
3140         * tests/test-mbrtowc-w32-2.sh: New file.
3141         * tests/test-mbrtowc-w32-3.sh: New file.
3142         * tests/test-mbrtowc-w32-4.sh: New file.
3143         * tests/test-mbrtowc-w32-5.sh: New file.
3144         * tests/test-mbrtowc-w32.c: New file.
3145         * modules/mbrtowc-tests (Files): Add them.
3146         (Makefile.am): Arrange to run these tests.
3147         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
3148         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
3149
3150 2011-02-13  Bruno Haible  <bruno@clisp.org>
3151
3152         mbrtowc: Work around native Windows bug.
3153         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
3154         guess when no suitable locale for testing was found.
3155         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
3156
3157 2011-02-13  Bruno Haible  <bruno@clisp.org>
3158
3159         mbsinit: Work around mingw bug.
3160         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
3161         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
3162         Windows.
3163         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
3164
3165 2011-02-13  Bruno Haible  <bruno@clisp.org>
3166
3167         mbsinit: Don't crash for a NULL argument.
3168         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
3169         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
3170
3171 2011-02-13  Bruno Haible  <bruno@clisp.org>
3172
3173         Don't interfere with a program's definition of __attribute__.
3174         * lib/stdio.in.h (__attribute__): Remove definition.
3175         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
3176         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
3177         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
3178         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
3179         * lib/string.in.h (__attribute__): Remove definition.
3180         Reported by Paul Eggert.
3181
3182 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3183
3184         stdlib: don't get in the way of non-GCC __attribute__
3185         See thread starting at
3186         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
3187         Revert previous stdlib change, installing the following instead:
3188         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
3189         to get in the way of a non-GCC compiler that supports __attribute__.
3190         (_GL_ATTRIBUTE_RETURN): New macro.
3191         (_Exit): Use it instead of __attribute__.
3192
3193 2011-02-12  Bruno Haible  <bruno@clisp.org>
3194
3195         quotearg test: Avoid test failure on mingw.
3196         * tests/test-quotearg.sh: Convert the locale identifier from native
3197         Windows syntax to Unix syntax.
3198
3199 2011-02-12  Bruno Haible  <bruno@clisp.org>
3200
3201         setlocale: Prefer gnulib's override over libintl's override.
3202         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
3203         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
3204         GNULIB_defined_setlocale is set.
3205
3206 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
3207
3208         stdlib: support non-GCC __attribute__
3209
3210         Fix a serious and tricky problem encountered when attempting to
3211         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
3212         5.5, but it crashed due to memory corruption on Solaris 10 with
3213         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
3214         bits that are otherwise zero.  This tagging is optional inside
3215         Emacs but is preferred and is used when __attribute__ ((__aligned
3216         (8))) works, as it does with both recent-enough GCC and with Sun C
3217         5.11.  However, Sun C 5.11 is not GCC and does not #define
3218         __GNUC__ and __GNUC_MINOR__.
3219
3220         When I added the getloadavg module to Emacs, it brought in
3221         stdlib.in.h, which contained this fragment:
3222
3223            #ifndef __attribute__
3224            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
3225            #  define __attribute__(Spec)   /* empty */
3226            # endif
3227            #endif
3228
3229         When files that include <stdlib.h> were compiled with Sun C 5.11,
3230         the above code disabled __attribute__ ((__aligned (8))), which
3231         caused variables to not be properly aligned, which eventually led
3232         to the pointer corruption mentioned above.  (This was a bit hard
3233         to diagnose, unfortunately.)
3234
3235         Several "#define __attribute__(X) /* empty */" code snippets need
3236         to be eradicated from Gnulib to work with non-GCC compilers that
3237         support __attribute__.  The Autoconf way to do this is to test for
3238         each kind of attribute that we want support for, and selectively
3239         enable that in source code.
3240
3241         Fix this problem just for stdlib.h, by adding a test for the
3242         __noreturn__ attribute, and change stdlib.in.h to use that test
3243         when needed.  This technique can be easily generalized to the
3244         other *.in.h files and attributes, and a similar technique can be
3245         used for *.h and *.c files.  This patch is enough to solve the
3246         problem for Emacs + getloadavg, and I thought I'd publish it for
3247         feedback before undertaking further, similar fixes in other
3248         modules.
3249
3250         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
3251         because it's not needed for stdlib.h.  It merely substitutes the
3252         value directly into stdlib.h.  We may well need to #define it, or
3253         similar symbols, for other modules, but it's nice to also have an
3254         option to not #define it for applications like Emacs that do not
3255         need it.
3256
3257         * lib/stdlib.in.h (__attribute__): Do not #define.
3258         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
3259         be defined only if the _Exit module is also used.
3260         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
3261         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
3262         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
3263         platforms.
3264         * modules/_Exit (Files): Add m4/attribute.m4.
3265         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
3266         * m4/attribute.m4: New file.
3267
3268 2011-02-12  Bruno Haible  <bruno@clisp.org>
3269
3270         wcsrtombs: Work around bug on native Windows.
3271         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
3272         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
3273         instead of len.
3274         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
3275
3276 2011-02-12  Bruno Haible  <bruno@clisp.org>
3277
3278         mbsrtowcs: Work around bug on native Windows.
3279         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
3280         against mingw bug.
3281         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
3282
3283 2011-02-12  Bruno Haible  <bruno@clisp.org>
3284
3285         Avoid setlocale bugs in tests.
3286         * modules/btowc (Dependencies): Add setlocale.
3287         * modules/c-strcase (Dependencies): Likewise.
3288         * modules/mbmemcasecmp (Dependencies): Likewise.
3289         * modules/mbmemcasecoll (Dependencies): Likewise.
3290         * modules/mbrtowc (Dependencies): Likewise.
3291         * modules/mbscasecmp (Dependencies): Likewise.
3292         * modules/mbscasestr (Dependencies): Likewise.
3293         * modules/mbschr (Dependencies): Likewise.
3294         * modules/mbscspn (Dependencies): Likewise.
3295         * modules/mbsinit (Dependencies): Likewise.
3296         * modules/mbsncasecmp (Dependencies): Likewise.
3297         * modules/mbsnrtowcs (Dependencies): Likewise.
3298         * modules/mbspbrk (Dependencies): Likewise.
3299         * modules/mbspcasecmp (Dependencies): Likewise.
3300         * modules/mbsrchr (Dependencies): Likewise.
3301         * modules/mbsrtowcs (Dependencies): Likewise.
3302         * modules/mbsspn (Dependencies): Likewise.
3303         * modules/mbsstr (Dependencies): Likewise.
3304         * modules/nl_langinfo (Dependencies): Likewise.
3305         * modules/quotearg (Dependencies): Likewise.
3306         * modules/unicase/locale-language (Dependencies): Likewise.
3307         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
3308         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
3309         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
3310         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
3311         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
3312         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
3313         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
3314         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
3315         * modules/vasnprintf-posix (Dependencies): Likewise.
3316         * modules/wcrtomb (Dependencies): Likewise.
3317         * modules/wcsnrtombs (Dependencies): Likewise.
3318         * modules/wcsrtombs (Dependencies): Likewise.
3319
3320 2011-02-12  Bruno Haible  <bruno@clisp.org>
3321
3322         setlocale: Workaround native Windows bug.
3323         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
3324         succeeds but sets LC_CTYPE to "C", report a failure.
3325         * tests/test-setlocale2.sh: New file.
3326         * tests/test-setlocale2.c: New file.
3327         * modules/setlocale-tests (Files): Add the new files.
3328         (Makefile.am): Enable test-setlocale2.sh test.
3329         * doc/posix-functions/setlocale.texi: Mention workaround.
3330
3331 2011-02-11  Bruno Haible  <bruno@clisp.org>
3332
3333         Tests for module 'setlocale'.
3334         * modules/setlocale-tests: New file.
3335         * tests/test-setlocale1.sh: New file.
3336         * tests/test-setlocale1.c: New file.
3337
3338         New module 'setlocale'.
3339         * lib/locale.in.h (setlocale): New declaration.
3340         * lib/setlocale.c: New file, based on
3341         gettext/gettext-runtime/intl/setlocale.c.
3342         * m4/setlocale.m4: New file.
3343         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
3344         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
3345         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
3346         REPLACE_SETLOCALE.
3347         * modules/setlocale: New file.
3348         * tests/test-locale-c++.cc: Test the declaration of setlocale.
3349         * doc/posix-functions/setlocale.texi: Mention the new module.
3350
3351 2011-02-11  Bruno Haible  <bruno@clisp.org>
3352
3353         Prepare for locale dependent tests on mingw.
3354         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
3355         because it has the wrong locale encoding.
3356         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
3357         French_France.1252 instead of "fr".
3358         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
3359         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
3360         because it has the wrong locale encoding.
3361         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
3362         native Windows, try Turkish_Turkey.65001.
3363         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
3364         Chinese_China.54936.
3365
3366         Prepare for locale dependent tests on mingw.
3367         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
3368         differently.
3369         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3370         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3371         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3372         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3373
3374 2011-02-11  Eric Blake  <eblake@redhat.com>
3375
3376         strptime: avoid compiler warnings
3377         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
3378         compiler warnings about dead code.
3379         Reported by Daniel P. Berrange.
3380
3381 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
3382
3383         doc: update users.txt
3384         * users.txt: Add rcs.
3385
3386 2011-02-10  John W. Eaton  <jwe@gnu.org>
3387
3388         doc: update users.txt
3389         * users.txt: Add octave.
3390
3391 2011-02-10  Jim Meyering  <meyering@redhat.com>
3392
3393         doc: update users.txt
3394         * users.txt: Add iwhd.
3395
3396 2011-02-09  Bruno Haible  <bruno@clisp.org>
3397
3398         gnulib-tool: Make copyright notice adjustment more robust.
3399         * gnulib-tool (func_import): In sed_transform_main_lib_file,
3400         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
3401         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
3402         License".
3403         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
3404
3405 2011-02-06  Bruno Haible  <bruno@clisp.org>
3406
3407         New module 'towctrans'.
3408         * modules/towctrans: New file.
3409         * lib/wctype.in.h (towctrans): New declaration.
3410         * lib/towctrans.c: New file.
3411         * lib/towctrans-impl.h: New file.
3412         * m4/towctrans.m4: New file.
3413         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
3414         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
3415         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
3416         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
3417         * doc/posix-functions/towctrans.texi: Mention the new module.
3418
3419 2011-02-06  Bruno Haible  <bruno@clisp.org>
3420
3421         New module 'wctrans'.
3422         * modules/wctrans: New file.
3423         * lib/wctype.in.h (wctrans): New declaration.
3424         * lib/wctrans.c: New file.
3425         * lib/wctrans-impl.h: New file.
3426         * m4/wctrans.m4: New file.
3427         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
3428         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
3429         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
3430         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
3431         * doc/posix-functions/wctrans.texi: Mention the new module.
3432
3433 2011-02-06  Bruno Haible  <bruno@clisp.org>
3434
3435         New module 'iswctype'.
3436         * modules/iswctype: New file.
3437         * lib/wctype.in.h (iswctype): New declaration.
3438         * lib/iswctype.c: New file.
3439         * lib/iswctype-impl.h: New file.
3440         * m4/iswctype.m4: New file.
3441         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
3442         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
3443         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
3444         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
3445         * doc/posix-functions/iswctype.texi: Mention the new module and the
3446         HP-UX 11.00 problem.
3447
3448 2011-02-06  Bruno Haible  <bruno@clisp.org>
3449
3450         New module 'wctype'.
3451         * modules/wctype: Change to represent the wctype() substitute.
3452         * lib/wctype.in.h (wctype): New declaration.
3453         * lib/wctype.c: New file.
3454         * lib/wctype-impl.h: New file.
3455         * m4/wctype.m4: New file.
3456         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
3457         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
3458         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
3459         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
3460         * doc/posix-functions/wctype.texi: Mention the new module and the
3461         HP-UX 11.00 problem.
3462
3463 2011-02-06  Bruno Haible  <bruno@clisp.org>
3464
3465         wctype-h: Ensure wctype_t and wctrans_t are defined.
3466         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
3467         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3468         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
3469         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
3470         HAVE_WCTRANS_T.
3471         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
3472
3473 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
3474
3475         flock: fix license typo
3476
3477         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
3478         omitted.
3479
3480 2011-02-08  Bruno Haible  <bruno@clisp.org>
3481
3482         Split large sed scripts, for HP-UX sed.
3483         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
3484         to avoid HP-UX limit of 99 commands, in the near future.
3485         * modules/stdlib (Makefile.am): Likewise.
3486         * modules/unistd (Makefile.am): Likewise.
3487         * modules/wchar (Makefile.am): Likewise.
3488         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
3489         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
3490         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
3491
3492 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3493             Bruno Haible  <bruno@clisp.org>
3494
3495         stdlib: improve random_r modularization
3496         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
3497         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
3498         you also need the random_r module to get this material right.
3499         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
3500         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
3501         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
3502
3503 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
3504
3505         stdlib: don't depend on stdint
3506         * lib/stdlib.in.h: Don't include <stdint.h> merely because
3507         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
3508         be independent of whether stdint.h is needed.
3509         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
3510         here, instead of ...
3511         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
3512         struct random_data should be using the random_r module, not just
3513         the stdlib module (which wouldn't make sense: what package needs
3514         just struct random_data without also needing random_r?).
3515         * modules/stdlib (Depends-on): Remove stdint.
3516
3517         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
3518         See the thread rooted at
3519         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
3520         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
3521         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
3522         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
3523         __VMS)); previously it was always included (via fcntl--.h).
3524         (getloadavg): Do not use c_strtod.  Instead, approximate it by
3525         hand; this is good enough for load averages.  Also, do not use
3526         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
3527         flags directly if available and don't bother otherwise.  (Packages
3528         that need the extra reliability should use the modules that define
3529         these flags on older platforms that lack them.)
3530         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
3531         fcntl-safer.
3532
3533 2011-02-08  Jim Meyering  <meyering@redhat.com>
3534
3535         di-set.h, ino-map.h: add multiple-inclusion guard
3536         Technically, the guard is required only for ino-map.h, due to its
3537         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
3538         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
3539         * lib/ino-map.h: Likewise.
3540
3541 2011-02-06  Bruno Haible  <bruno@clisp.org>
3542
3543         iswblank: Ensure declaration on glibc systems.
3544         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
3545         * modules/iswblank (Dependencies): Add 'extensions'.
3546         * doc/posix-functions/iswblank.texi: Document the glibc problem.
3547
3548 2011-02-06  Bruno Haible  <bruno@clisp.org>
3549
3550         New module 'iswblank'.
3551         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
3552         * modules/iswblank: New file.
3553         * modules/wctype-h (Files): Remove lib/iswblank.c.
3554         (Makefile.am): Substitute GNULIB_ISWBLANK.
3555         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
3556         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
3557         (gl_WCTYPE_H_DEFAULTS): New macro.
3558         (gl_WCTYPE_H): Require it. Remove iswblank related code.
3559         * modules/iswblank-tests: New file.
3560         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
3561         * tests/test-wctype-h.c (main): Remove iswblank tests.
3562         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
3563         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
3564         of 'wctype-h'.
3565         * NEWS: Mention the change.
3566         * modules/mbchar (Depends-on): Add iswblank.
3567
3568 2011-02-08  Bruno Haible  <bruno@clisp.org>
3569
3570         di-set tests: Refactor.
3571         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
3572         unnecessary includes.
3573         (ASSERT): Remove macro.
3574         (main): Make C90 compliant by avoiding variable declaration after
3575         statement.
3576         * modules/di-set-tests (Files): Add tests/macros.h.
3577
3578 2011-02-08  Bruno Haible  <bruno@clisp.org>
3579
3580         ino-map tests: Refactor.
3581         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
3582         unnecessary includes.
3583         (ASSERT): Remove macro.
3584         (main): Make C90 compliant by avoiding variable declaration after
3585         statement.
3586         * modules/ino-map-tests (Files): Add tests/macros.h.
3587
3588 2011-02-08  Jim Meyering  <meyering@redhat.com>
3589
3590         di-set: add "const" to a cast
3591         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
3592         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
3593
3594 2011-02-06  Bruno Haible  <bruno@clisp.org>
3595
3596         Rename module 'wctype' to 'wctype-h'.
3597         * modules/wctype-h: Renamed from modules/wctype.
3598         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
3599         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
3600         (Files, Depends-on, Makefile.am): Update.
3601         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
3602         (Files, Makefile.am): Update.
3603         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
3604         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
3605         * doc/posix-headers/wctype.texi: Update.
3606         * doc/posix-functions/iswalnum.texi: Update.
3607         * doc/posix-functions/iswalpha.texi: Update.
3608         * doc/posix-functions/iswblank.texi: Update.
3609         * doc/posix-functions/iswcntrl.texi: Update.
3610         * doc/posix-functions/iswdigit.texi: Update.
3611         * doc/posix-functions/iswgraph.texi: Update.
3612         * doc/posix-functions/iswlower.texi: Update.
3613         * doc/posix-functions/iswprint.texi: Update.
3614         * doc/posix-functions/iswpunct.texi: Update.
3615         * doc/posix-functions/iswspace.texi: Update.
3616         * doc/posix-functions/iswupper.texi: Update.
3617         * doc/posix-functions/iswxdigit.texi: Update.
3618         * doc/posix-functions/towlower.texi: Update.
3619         * doc/posix-functions/towupper.texi: Update.
3620         * NEWS: Mention the change.
3621         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
3622         * modules/mbchar (Dependencies): Likewise.
3623         * modules/mbswidth (Dependencies): Likewise.
3624         * modules/quotearg (Dependencies): Likewise.
3625         * modules/regex (Dependencies): Likewise.
3626         * modules/wcscasecmp (Dependencies): Likewise.
3627         * modules/wcsncasecmp (Dependencies): Likewise.
3628         * modules/wcwidth (Dependencies): Likewise.
3629
3630 2011-02-06  Bruno Haible  <bruno@clisp.org>
3631
3632         New module 'wcswidth'.
3633         * modules/wcswidth: New file.
3634         * lib/wchar.in.h (wcswidth): New declaration.
3635         * lib/wcswidth.c: New file.
3636         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
3637         * m4/wcswidth.m4: New file.
3638         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
3639         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
3640         REPLACE_WCSWIDTH.
3641         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
3642         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
3643         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
3644         * doc/posix-functions/wcswidth.texi: Mention the new module.
3645
3646 2011-02-06  Bruno Haible  <bruno@clisp.org>
3647
3648         New module 'wcstok'.
3649         * modules/wcstok: New file.
3650         * lib/wchar.in.h (wcstok): New declaration.
3651         * lib/wcstok.c: New file.
3652         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
3653         * m4/wcstok.m4: New file.
3654         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
3655         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
3656         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
3657         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
3658         * doc/posix-functions/wcstok.texi: Mention the new module.
3659
3660 2011-02-06  Bruno Haible  <bruno@clisp.org>
3661
3662         New module 'wcsstr'.
3663         * modules/wcsstr: New file.
3664         * lib/wchar.in.h (wcsstr): New declaration.
3665         * lib/wcsstr.c: New file.
3666         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
3667         * m4/wcsstr.m4: New file.
3668         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
3669         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
3670         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
3671         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
3672         * doc/posix-functions/wcsstr.texi: Mention the new module.
3673
3674 2011-02-06  Bruno Haible  <bruno@clisp.org>
3675
3676         New module 'wcspbrk'.
3677         * modules/wcspbrk: New file.
3678         * lib/wchar.in.h (wcspbrk): New declaration.
3679         * lib/wcspbrk.c: New file.
3680         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
3681         * m4/wcspbrk.m4: New file.
3682         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
3683         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
3684         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
3685         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
3686         * doc/posix-functions/wcspbrk.texi: Mention the new module.
3687
3688 2011-02-06  Bruno Haible  <bruno@clisp.org>
3689
3690         New module 'wcsspn'.
3691         * modules/wcsspn: New file.
3692         * lib/wchar.in.h (wcsspn): New declaration.
3693         * lib/wcsspn.c: New file.
3694         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
3695         * m4/wcsspn.m4: New file.
3696         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
3697         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
3698         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
3699         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
3700         * doc/posix-functions/wcsspn.texi: Mention the new module.
3701
3702 2011-02-06  Bruno Haible  <bruno@clisp.org>
3703
3704         New module 'wcscspn'.
3705         * modules/wcscspn: New file.
3706         * lib/wchar.in.h (wcscspn): New declaration.
3707         * lib/wcscspn.c: New file.
3708         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
3709         * m4/wcscspn.m4: New file.
3710         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
3711         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
3712         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
3713         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
3714         * doc/posix-functions/wcscspn.texi: Mention the new module.
3715
3716 2011-02-06  Bruno Haible  <bruno@clisp.org>
3717
3718         New module 'wcsrchr'.
3719         * modules/wcsrchr: New file.
3720         * lib/wchar.in.h (wcsrchr): New declaration.
3721         * lib/wcsrchr.c: New file.
3722         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
3723         * m4/wcsrchr.m4: New file.
3724         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
3725         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
3726         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
3727         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
3728         * doc/posix-functions/wcsrchr.texi: Mention the new module.
3729
3730 2011-02-06  Bruno Haible  <bruno@clisp.org>
3731
3732         New module 'wcschr'.
3733         * modules/wcschr: New file.
3734         * lib/wchar.in.h (wcschr): New declaration.
3735         * lib/wcschr.c: New file.
3736         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
3737         * m4/wcschr.m4: New file.
3738         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
3739         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
3740         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
3741         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
3742         * doc/posix-functions/wcschr.texi: Mention the new module.
3743
3744 2011-02-06  Bruno Haible  <bruno@clisp.org>
3745
3746         New module 'wcsdup'.
3747         * modules/wcsdup: New file.
3748         * lib/wchar.in.h (wcsdup): New declaration.
3749         * lib/wcsdup.c: New file.
3750         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
3751         * m4/wcsdup.m4: New file.
3752         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
3753         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
3754         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
3755         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
3756         * doc/posix-functions/wcsdup.texi: Mention the new module.
3757
3758 2011-02-06  Bruno Haible  <bruno@clisp.org>
3759
3760         New module 'wcsxfrm'.
3761         * modules/wcsxfrm: New file.
3762         * lib/wchar.in.h (wcsxfrm): New declaration.
3763         * lib/wcsxfrm.c: New file.
3764         * lib/wcsxfrm-impl.h: New file.
3765         * m4/wcsxfrm.m4: New file.
3766         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
3767         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
3768         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
3769         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
3770         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
3771
3772 2011-02-06  Bruno Haible  <bruno@clisp.org>
3773
3774         New module 'wcscoll'.
3775         * modules/wcscoll: New file.
3776         * lib/wchar.in.h (wcscoll): New declaration.
3777         * lib/wcscoll.c: New file.
3778         * lib/wcscoll-impl.h: New file.
3779         * m4/wcscoll.m4: New file.
3780         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
3781         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
3782         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
3783         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
3784         * doc/posix-functions/wcscoll.texi: Mention the new module.
3785
3786 2011-02-06  Bruno Haible  <bruno@clisp.org>
3787
3788         New module 'wcsncasecmp'.
3789         * modules/wcsncasecmp: New file.
3790         * lib/wchar.in.h (wcsncasecmp): New declaration.
3791         * lib/wcsncasecmp.c: New file.
3792         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
3793         * m4/wcsncasecmp.m4: New file.
3794         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
3795         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
3796         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
3797         HAVE_WCSNCASECMP.
3798         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
3799         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
3800
3801 2011-02-06  Bruno Haible  <bruno@clisp.org>
3802
3803         New module 'wcscasecmp'.
3804         * modules/wcscasecmp: New file.
3805         * lib/wchar.in.h (wcscasecmp): New declaration.
3806         * lib/wcscasecmp.c: New file.
3807         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
3808         * m4/wcscasecmp.m4: New file.
3809         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
3810         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
3811         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
3812         HAVE_WCSCASECMP.
3813         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
3814         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
3815
3816 2011-02-05  Bruno Haible  <bruno@clisp.org>
3817
3818         New module 'wcsncmp'.
3819         * modules/wcsncmp: New file.
3820         * lib/wchar.in.h (wcsncmp): New declaration.
3821         * lib/wcsncmp.c: New file.
3822         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
3823         * m4/wcsncmp.m4: New file.
3824         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
3825         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
3826         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
3827         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
3828         * doc/posix-functions/wcsncmp.texi: Mention the new module.
3829
3830 2011-02-05  Bruno Haible  <bruno@clisp.org>
3831
3832         New module 'wcscmp'.
3833         * modules/wcscmp: New file.
3834         * lib/wchar.in.h (wcscmp): New declaration.
3835         * lib/wcscmp.c: New file.
3836         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
3837         * m4/wcscmp.m4: New file.
3838         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
3839         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
3840         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
3841         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
3842         * doc/posix-functions/wcscmp.texi: Mention the new module.
3843
3844 2011-02-05  Bruno Haible  <bruno@clisp.org>
3845
3846         New module 'wcsncat'.
3847         * modules/wcsncat: New file.
3848         * lib/wchar.in.h (wcsncat): New declaration.
3849         * lib/wcsncat.c: New file.
3850         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
3851         * m4/wcsncat.m4: New file.
3852         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
3853         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
3854         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
3855         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
3856         * doc/posix-functions/wcsncat.texi: Mention the new module.
3857
3858 2011-02-05  Bruno Haible  <bruno@clisp.org>
3859
3860         New module 'wcscat'.
3861         * modules/wcscat: New file.
3862         * lib/wchar.in.h (wcscat): New declaration.
3863         * lib/wcscat.c: New file.
3864         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
3865         * m4/wcscat.m4: New file.
3866         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
3867         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
3868         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
3869         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
3870         * doc/posix-functions/wcscat.texi: Mention the new module.
3871
3872 2011-02-05  Bruno Haible  <bruno@clisp.org>
3873
3874         New module 'wcpncpy'.
3875         * modules/wcpncpy: New file.
3876         * lib/wchar.in.h (wcpncpy): New declaration.
3877         * lib/wcpncpy.c: New file.
3878         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
3879         * m4/wcpncpy.m4: New file.
3880         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
3881         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
3882         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
3883         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
3884         * doc/posix-functions/wcpncpy.texi: Mention the new module.
3885
3886 2011-02-05  Bruno Haible  <bruno@clisp.org>
3887
3888         New module 'wcsncpy'.
3889         * modules/wcsncpy: New file.
3890         * lib/wchar.in.h (wcsncpy): New declaration.
3891         * lib/wcsncpy.c: New file.
3892         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
3893         * m4/wcsncpy.m4: New file.
3894         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
3895         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
3896         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
3897         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
3898         * doc/posix-functions/wcsncpy.texi: Mention the new module.
3899
3900 2011-02-05  Bruno Haible  <bruno@clisp.org>
3901
3902         New module 'wcpcpy'.
3903         * modules/wcpcpy: New file.
3904         * lib/wchar.in.h (wcpcpy): New declaration.
3905         * lib/wcpcpy.c: New file.
3906         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
3907         * m4/wcpcpy.m4: New file.
3908         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
3909         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
3910         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
3911         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
3912         * doc/posix-functions/wcpcpy.texi: Mention the new module.
3913
3914 2011-02-05  Bruno Haible  <bruno@clisp.org>
3915
3916         New module 'wcscpy'.
3917         * modules/wcscpy: New file.
3918         * lib/wchar.in.h (wcscpy): New declaration.
3919         * lib/wcscpy.c: New file.
3920         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
3921         * m4/wcscpy.m4: New file.
3922         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
3923         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
3924         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
3925         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
3926         * doc/posix-functions/wcscpy.texi: Mention the new module.
3927
3928 2011-02-05  Bruno Haible  <bruno@clisp.org>
3929
3930         New module 'wcsnlen'.
3931         * modules/wcsnlen: New file.
3932         * lib/wchar.in.h (wcsnlen): New declaration.
3933         * lib/wcsnlen.c: New file.
3934         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
3935         * m4/wcsnlen.m4: New file.
3936         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
3937         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
3938         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
3939         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
3940         * doc/posix-functions/wcsnlen.texi: Mention the new module.
3941
3942 2011-02-05  Bruno Haible  <bruno@clisp.org>
3943
3944         New module 'wcslen'.
3945         * modules/wcslen: New file.
3946         * lib/wchar.in.h (wcslen): New declaration.
3947         * lib/wcslen.c: New file.
3948         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
3949         * m4/wcslen.m4: New file.
3950         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
3951         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
3952         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
3953         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
3954         * doc/posix-functions/wcslen.texi: Mention the new module.
3955
3956 2011-02-05  Bruno Haible  <bruno@clisp.org>
3957
3958         New module 'wmemset'.
3959         * modules/wmemset: New file.
3960         * lib/wchar.in.h (wmemset): New declaration.
3961         * lib/wmemset.c: New file.
3962         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
3963         * m4/wmemset.m4: New file.
3964         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
3965         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
3966         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
3967         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
3968         * doc/posix-functions/wmemset.texi: Mention the new module.
3969
3970 2011-02-05  Bruno Haible  <bruno@clisp.org>
3971
3972         New module 'wmemmove'.
3973         * modules/wmemmove: New file.
3974         * lib/wchar.in.h (wmemmove): New declaration.
3975         * lib/wmemmove.c: New file.
3976         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
3977         * m4/wmemmove.m4: New file.
3978         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
3979         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
3980         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
3981         HAVE_WMEMMOVE.
3982         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
3983         * doc/posix-functions/wmemmove.texi: Mention the new module.
3984
3985 2011-02-05  Bruno Haible  <bruno@clisp.org>
3986
3987         New module 'wmemcpy'.
3988         * modules/wmemcpy: New file.
3989         * lib/wchar.in.h (wmemcpy): New declaration.
3990         * lib/wmemcpy.c: New file.
3991         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
3992         * m4/wmemcpy.m4: New file.
3993         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
3994         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
3995         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
3996         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
3997         * doc/posix-functions/wmemcpy.texi: Mention the new module.
3998
3999 2011-02-05  Bruno Haible  <bruno@clisp.org>
4000
4001         New module 'wmemcmp'.
4002         * modules/wmemcmp: New file.
4003         * lib/wchar.in.h (wmemcmp): New declaration.
4004         * lib/wmemcmp.c: New file.
4005         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
4006         * m4/wmemcmp.m4: New file.
4007         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
4008         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
4009         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
4010         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
4011         * doc/posix-functions/wmemcmp.texi: Mention the new module.
4012
4013 2011-02-07  Jim Meyering  <meyering@redhat.com>
4014
4015         di-set, ino-map: new modules, from coreutils
4016         * lib/di-set.c: New file.
4017         * lib/di-set.h: Likewise.
4018         * lib/ino-map.c: Likewise.
4019         * lib/ino-map.h: Likewise.
4020         * modules/di-set: Likewise.
4021         * modules/di-set-tests: Likewise.
4022         * modules/ino-map: Likewise.
4023         * modules/ino-map-tests: Likewise.
4024         * tests/test-di-set.c: Likewise.
4025         * tests/test-ino-map.c: Likewise.
4026
4027 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
4028
4029         getloadavg: merge minor changes from Emacs
4030
4031         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
4032         (getloadavg): Use memset, not bzero.
4033
4034         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
4035         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4036         clash (bug#86).
4037
4038 2010-11-14  Bruno Haible  <bruno@clisp.org>
4039
4040         Allow multiple gnulib generated replacements to coexist.
4041         * lib/getopt.in.h (struct option): Avoid identical redefinition.
4042         * lib/inttypes.in.h (imaxdiv_t): Likewise.
4043         * lib/langinfo.in.h (nl_item): Likewise.
4044         * lib/math.in.h (_NaN, NAN): Likewise.
4045         * lib/netdb.in.h (struct addrinfo): Likewise.
4046         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
4047         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
4048         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
4049         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
4050         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
4051         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
4052         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
4053         pthread_mutexattr_init, pthread_mutexattr_settype,
4054         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
4055         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
4056         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
4057         pthread_spin_trylock, pthread_spin_unlock): Likewise.
4058         * lib/sched.in.h (struct sched_param): Likewise.
4059         * lib/se-selinux.in.h (security_class_t, security_context_t,
4060         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
4061         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
4062         lsetfilecon, fsetfilecon, security_check_context,
4063         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
4064         Likewise.
4065         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
4066         Likewise.
4067         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
4068         _gl_function_taking_int_returning_void_t, union sigval,
4069         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
4070         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
4071         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
4072         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
4073         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
4074         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
4075         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
4076         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
4077         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
4078         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
4079         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
4080         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
4081         socklen_t, rpl_fd_isset): Likewise.
4082         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
4083         * lib/sys_time.in.h (struct timeval): Likewise.
4084         * lib/sys_times.in.h (struct tms): Likewise.
4085         * lib/sys_utsname.in.h (struct utsname):
4086         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
4087         * lib/unistd.in.h (getpagesize): Likewise.
4088         * lib/wchar.in.h (mbstate_t): Likewise.
4089         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
4090         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
4091         towlower, towupper): Likewise.
4092         Reported by Sam Steingold <sds@gnu.org>.
4093
4094 2011-02-05  Eric Blake  <eblake@redhat.com>
4095
4096         unsetenv: work around Haiku issues
4097         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
4098         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
4099
4100 2010-12-30  Bruce Korb  <bkorb@gnu.org>
4101
4102         libposix: avoid calling error() within libposix
4103         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
4104         is defined.
4105
4106 2011-02-05  Eric Blake  <eblake@redhat.com>
4107
4108         strerror_r-posix: port to cygwin
4109         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
4110         implementation.
4111         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
4112         * tests/test-strerror_r.c (main): Fix test.
4113         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
4114         issue.
4115
4116 2011-02-05  Bruno Haible  <bruno@clisp.org>
4117
4118         New module 'wmemchr'.
4119         * modules/wmemchr: New file.
4120         * lib/wchar.in.h (wmemchr): New declaration.
4121         * lib/wmemchr.c: New file.
4122         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
4123         * m4/wmemchr.m4: New file.
4124         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
4125         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
4126         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
4127         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
4128         * doc/posix-functions/wmemchr.texi: Mention the new module.
4129
4130 2011-02-04  Eric Blake  <eblake@redhat.com>
4131
4132         fdopendir: detect FreeBSD bug
4133         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
4134         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
4135
4136 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
4137
4138         stdbool: do not define HAVE_STDBOOL_H
4139         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
4140         AC_HEADER_STDBOOL.  All uses changed.  Do not define
4141         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
4142         imported from the latest Autoconf git.  It was motivated by Emacs,
4143         which uses gnulib but does not need HAVE_STDBOOL_H.
4144
4145 2011-02-04  Bruno Haible  <bruno@clisp.org>
4146
4147         wcsnrtombs: Prepare for new module wwcsnrtombs.
4148         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
4149         * lib/wcsnrtombs.c: Include it.
4150         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
4151
4152         wcsrtombs: Prepare for new module wwcsrtombs.
4153         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
4154         * lib/wcsrtombs.c: Include it.
4155         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
4156
4157         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
4158         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
4159         * lib/mbsnrtowcs.c: Include it.
4160         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
4161
4162         mbsrtowcs: Prepare for new module mbsrtowwcs.
4163         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
4164         * lib/mbsrtowcs.c: Include it.
4165         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
4166
4167 2011-02-04  Bruno Haible  <bruno@clisp.org>
4168
4169         vasnprintf: Reduce use of malloc for small format strings.
4170         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
4171         (arguments): Add room for the first 7 arguments.
4172         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
4173         (char_directives, u8_directives, u16_directives, u32_directives): Add
4174         room for the first 7 directives.
4175         * lib/printf-parse.c: Include <string.h>.
4176         (PRINTF_PARSE): Change memory handling code so that it uses the first
4177         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
4178         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
4179         Reported by Pádraig Brady <P@draigbrady.com>.
4180
4181 2011-01-31  Eric Blake  <eblake@redhat.com>
4182
4183         dup2: work around Haiku bug
4184         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
4185         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
4186         * doc/posix-functions/dup2.texi (dup2): Document the bug.
4187         * tests/test-dup2.c (main): Enhance test.
4188
4189 2011-01-31  Simon Josefsson  <simon@josefsson.org>
4190
4191         doc: off_t is not available in eglibc 2.11.2 stdio.h.
4192         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
4193         declared by eglibc 2.11.2.
4194         * lib/stdio.in.h: Likewise.
4195
4196 2011-01-31  Eric Blake  <eblake@redhat.com>
4197
4198         ignore-value: add missing test dependency
4199         * tests/test-ignore-value.c: Revert previous change; stdio.h
4200         provides off_t.
4201         * modules/ignore-value-tests (Depends-on): Add missing dependency.
4202
4203 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
4204
4205         mktime: clarify long_int width checking
4206         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
4207         the top level, to make it clearer that the assumption about
4208         long_int width is being checked.  See
4209         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
4210
4211 2011-01-30  Simon Josefsson  <simon@josefsson.org>
4212
4213         ignore-value: Fix self-test.
4214         * tests/test-ignore-value.c: Include sys/types.h for off_t.
4215
4216 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
4217
4218         TYPE_MAXIMUM: avoid theoretically undefined behavior
4219         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
4220         negative number, which the C Standard says has undefined behavior.
4221         In practice this is not a problem, but might as well do it by the book.
4222         Reported by Rich Felker and Eric Blake; see
4223         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
4224         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
4225         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
4226         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
4227         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
4228         * m4/stdint.m4 (gl_STDINT_H): Likewise.
4229         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
4230
4231         mktime: #undef mktime before #defining it
4232         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
4233
4234         mktime: systematically normalize tm_isdst comparisons
4235         * lib/mktime.c (isdst_differ): New function.
4236         (__mktime_internal): Use it systematically for all isdst comparisons.
4237         This completes the fix for libc BZ #6723, and removes the need for
4238         normalizing tm_isdst.  See
4239         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
4240         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
4241
4242         mktime: fix some integer overflow issues and sidestep the rest
4243
4244         This was prompted by a bug report by Benjamin Lindner for MinGW
4245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
4246         His bug is due to signed integer overflow (0 - INT_MIN), and I
4247         I scanned through mktime.c looking for other integer overflow
4248         problems, fixing all the bugs I found.
4249
4250         Although the C Standard says the resulting code is still not safe
4251         in the presence of integer overflow, in practice it should be good
4252         enough for all real-world two's-complement implementations, except
4253         for debugging environments that deliberately trap on integer
4254         overflow (e.g., gcc -ftrapv).
4255
4256         * lib/mktime.c (WRAPV): New macro.
4257         (SHR): Also check that long_int and time_t shift right in the
4258         usual way, before using the fast-but-unportable method.
4259         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
4260         used.  The code already assumed two's complement, so there's
4261         no need to test for alternatives.  All uses removed.
4262         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
4263         the C standard.  Problem reported by Rich Felker in
4264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
4265         (twos_complement_arithmetic): Also check long_int and time_t.
4266         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
4267         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
4268         (__mktime_internal): Avoid integer overflow with unary subtraction
4269         in two instances where -1 - X is an adequate replacement for -X,
4270         since the calculations are approximate.
4271
4272 2011-01-29  Eric Blake  <eblake@redhat.com>
4273
4274         mktime: avoid infinite loop
4275         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
4276         type; behavior is still undefined but portable to all known targets.
4277         Reported by Rich Felker.
4278
4279 2011-01-29  Simon Josefsson  <simon@josefsson.org>
4280
4281         rename, unlink, same-inode: Relicense.
4282         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
4283         * modules/unlink (License): Likewise.
4284         * modules/same-inode (License): Likewise.
4285
4286 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
4287
4288         mktime: avoid problems on NetBSD 5 / i386
4289         * lib/mktime.c (long_int): New type.  This works around a problem
4290         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
4291         but time_t is 64 bits, and where I expect the existing code is
4292         wrong in some cases.
4293         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
4294         (ydhms_diff): Bring back the compile-time check for wide-enough
4295         year and yday.
4296
4297         mktime: fix misspelling in comment
4298         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
4299         This merges all recent glibc changes of importance.
4300
4301 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4302
4303         move-if-change: cope with concurrent mv of identical file.
4304         * build-aux/move-if-change (CMPPROG): Accept environment
4305         variable as an override for `cmp'.
4306         (usage): Document CMPPROG.
4307         Adjust comparison to drop stdout.  Cope with failure of mv if
4308         the target file exists and is identical to the source, for
4309         parallel builds.
4310         Report from H.J. Lu against binutils in PR binutils/12283.
4311
4312 2011-01-28  Bruce Korb  <bkorb@gnu.org>
4313
4314         * users.txt: Mention sharutils.
4315
4316 2011-01-28  Simon Josefsson  <simon@josefsson.org>
4317
4318         * users.txt: Mention OATH Toolkit.
4319
4320 2011-01-27  Bruno Haible  <bruno@clisp.org>
4321
4322         Prepare for supporting FreeBSD 10.
4323         * build-aux/config.libpath: Remove handling of freebsd1*.
4324
4325 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
4326
4327         Prepare for supporting FreeBSD 10.
4328         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
4329         match FreeBSD 10.0.
4330
4331 2011-01-27  Bruno Haible  <bruno@clisp.org>
4332
4333         vma-iter, get-rusage-as: Add OpenBSD support.
4334         * modules/vma-iter (configure.ac): Test for mquery.
4335         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
4336         * lib/vma-iter.c: Include <sys/mman.h>.
4337         (vma_iterate): Add an implementation based on mquery().
4338         * lib/resource-ext.h (get_rusage_as): Update comments.
4339         * lib/get-rusage-as.c: Likewise.
4340         * lib/get-rusage-data.c: Likewise.
4341
4342 2011-01-26  Karl Berry  <karl@gnu.org>
4343
4344         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
4345         variables to make it easier to override the makeinfo program used.
4346
4347 2011-01-26  Eric Blake  <eblake@redhat.com>
4348
4349         fcntl: work around Haiku F_DUPFD bugs
4350         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
4351         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
4352         cloexec bit on duplication.
4353         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
4354
4355 2011-01-26  Bruno Haible  <bruno@clisp.org>
4356
4357         Enable memory leak tests on AIX.
4358         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
4359         * tests/test-fprintf-posix3.c (main): Likewise.
4360
4361 2011-01-26  Bruno Haible  <bruno@clisp.org>
4362
4363         Tests for module 'get-rusage-data'.
4364         * modules/get-rusage-data-tests: New file.
4365         * tests/test-get-rusage-data.c: New file.
4366
4367         New module 'get-rusage-data'.
4368         * lib/resource-ext.h (get_rusage_data): New declaration.
4369         * lib/get-rusage-data.c: New file.
4370         * modules/get-rusage-data: New file.
4371
4372 2011-01-25  Bruno Haible  <bruno@clisp.org>
4373
4374         get-rusage-as: Allow for easier testing.
4375         * lib/resource-ext.h (get_rusage_as): Add comment.
4376         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
4377         (main): New function for interactive testing.
4378
4379 2011-01-25  Bruno Haible  <bruno@clisp.org>
4380
4381         vma-iter: Treat Haiku like BeOS.
4382         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
4383         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
4384
4385 2011-01-25  Eric Blake  <eblake@redhat.com>
4386
4387         c-stack: fix regression on cygwin when libsigsegv is present
4388         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
4389
4390 2011-01-24  Bruno Haible  <bruno@clisp.org>
4391
4392         vma-iter: Avoid empty intervals.
4393         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
4394         on an empty interval.
4395
4396 2011-01-24  Jim Meyering  <meyering@redhat.com>
4397
4398         u64: remove unnecessary #include
4399         * lib/u64.h: Don't include <stddef.h>.  It was not used.
4400
4401 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
4402
4403         Allow the user to avoid the HAVE_RAW_DECL_* macros.
4404         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
4405
4406 2011-01-23  Bruno Haible  <bruno@clisp.org>
4407
4408         New module 'vma-iter'.
4409         * lib/vma-iter.h: New file.
4410         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
4411         * modules/vma-iter: New file.
4412         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
4413         for get_rusage_as_via_iterator.
4414         (vma_iterate_callback): New function.
4415         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
4416         * modules/get-rusage-as (Depends-on): Add vma-iter.
4417
4418 2011-01-23  Bruno Haible  <bruno@clisp.org>
4419
4420         uninorm: Tweak includes.
4421         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
4422         Reported by Jim Meyering.
4423
4424 2011-01-23  Bruno Haible  <bruno@clisp.org>
4425
4426         get-rusage-as: Improve on NetBSD.
4427         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
4428         /proc, like on FreeBSD.
4429
4430 2011-01-23  Jim Meyering  <meyering@redhat.com>
4431
4432         xreadlink.h: remove unnecessary #include
4433         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
4434
4435         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
4436         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
4437
4438 2011-01-23  Bruno Haible  <bruno@clisp.org>
4439
4440         get-rusage-as: Fix bug.
4441         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
4442         original limit when aborting the first loop.
4443
4444 2011-01-23  Bruno Haible  <bruno@clisp.org>
4445
4446         wctype: Ensure valid C syntax.
4447         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
4448         unconditionally, instead of gl_NEXT_HEADERS conditionally.
4449
4450 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
4451
4452         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
4453         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
4454         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
4455         as they are needed only for configure's test case.
4456         This removes two unnecessary symbols from config.h.
4457
4458         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
4459         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
4460         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
4461         AC_CHECK_HEADERS_ONCE on a header that we also invoke
4462         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
4463         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
4464         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
4465         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
4466         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
4467         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
4468         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
4469         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
4470         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
4471         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
4472         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
4473         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4474         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
4475         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
4476
4477 2011-01-21  Eric Blake  <eblake@redhat.com>
4478
4479         maintainer-makefile: work with older git for submodule check
4480         * top/maint.mk (public-submodule-commit): Rewrite to avoid
4481         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
4482         Reported by Matthias Bolte.
4483
4484         bootstrap: minor portability fixes
4485         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
4486         (usage): Omit leading capital and trailing . on help phrases, per
4487         GNU Coding Standards.
4488         (check_versions, top level): Prefix messages with script name.
4489
4490 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
4491
4492         bootstrap: support --no-git option
4493         * build-aux/bootstrap: Add --no-git option, to be used when
4494         --gnulib-srcdir points to the exact desired checkout.
4495
4496 2011-01-21  Eric Blake  <eblake@redhat.com>
4497
4498         strerror_r-posix: work with glibc 2.13
4499         * lib/strerror_r.c (strerror_r): Fix return type.
4500
4501 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4502             Bruno Haible  <bruno@clisp.org>
4503
4504         uN_strstr: New unit tests.
4505         * modules/unistr/u8-strstr-tests: New file.
4506         * modules/unistr/u16-strstr-tests: New file.
4507         * modules/unistr/u32-strstr-tests: New file.
4508         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
4509         * tests/unistr/test-u8-strstr.c: New file.
4510         * tests/unistr/test-u16-strstr.c: New file.
4511         * tests/unistr/test-u32-strstr.c: New file.
4512
4513 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4514             Bruno Haible  <bruno@clisp.org>
4515
4516         Make uN_strstr functions O(n) worst-case.
4517         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
4518         16-bit and 32-bit unit cases, use the unibyte algorithm from
4519         lib/mbsstr.c.
4520         * lib/unistr/u8-strstr.c: Include <string.h>.
4521         (UNIT_IS_UINT8_T): New macro.
4522         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
4523         (U_STRLEN, U_STRNLEN): New macros.
4524         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
4525         (U_STRLEN, U_STRNLEN): New macros.
4526         * modules/unistr/u8-strstr (Depends-on): Add strstr.
4527         (configure.ac): Update required libunistring version.
4528         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
4529         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
4530         malloca.
4531         (configure.ac): Update required libunistring version.
4532         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
4533         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
4534         malloca.
4535         (configure.ac): Update required libunistring version.
4536
4537 2011-01-21  Pádraig Brady  <P@draigBrady.com>
4538             Bruno Haible  <bruno@clisp.org>
4539
4540         Prepare for faster uN_strstr functions.
4541         * lib/str-kmp.h: Support definable UNITs.
4542         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
4543         needle_len argument.
4544         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
4545         * lib/mbscasestr.c (mbscasestr): Likewise.
4546
4547 2011-01-21  Pádraig Brady <P@draigBrady.com>
4548
4549         malloca-tests: make faster by unsetting MALLOC_PERTURB_
4550         * tests/test-malloca.c (main): Unset the environment variable
4551         to greatly speed up the test.
4552         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
4553         * modules/malloca-tests: Depend on unsetenv.
4554
4555 2011-01-21  Pádraig Brady <P@draigBrady.com>
4556
4557         ignore-value: remove stdint dependency
4558         * lib/ignore-value.h: Remove <stdint.h>
4559         * modules/ignore-value: Remove stdint dependency.
4560
4561 2011-01-21  Jim Meyering  <meyering@redhat.com>
4562
4563         maint.mk: adjust variable name to be consistent with other gl_ vars
4564         * top/maint.mk (gl_public_submodule_commit): Rename the variable
4565         to be lower case.
4566
4567 2011-01-20  Jim Meyering  <meyering@redhat.com>
4568
4569         maint.mk: make "check" depend on public-submodule-commit by default
4570         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
4571
4572 2011-01-20  Bruno Haible  <bruno@clisp.org>
4573
4574         mbfile, mbiter: Complete change from 2008-12-21.
4575         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
4576         * m4/mbiter.m4 (gl_MBITER): Likewise.
4577
4578 2011-01-20  Jim Meyering  <meyering@redhat.com>
4579
4580         init.sh: insert space between each function name and "()"
4581         * tests/init.sh: Make it a little easier to see that a function's
4582         name is "warn_", and not "warn" when looking at the first part of
4583         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
4584
4585 2011-01-20  Jim Meyering  <meyering@redhat.com>
4586
4587         mountlist: clean up code formatting
4588         * lib/mountlist.c (read_file_system_list): Split a long line,
4589         correct bracing style, use NULL in place of "(struct statfs *)0",
4590         don't parenthesize return value, add spaces around "=" and after
4591         ";-in-for-stmt".
4592
4593 2011-01-14  Markus Duft <mduft@gentoo.org>
4594
4595         mountlist: add support for Interix
4596         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
4597         Apply statvfs to all entries of /dev/fs.
4598         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
4599         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
4600
4601 2011-01-20  Jim Meyering  <meyering@redhat.com>
4602
4603         maint.mk: improve the public-submodule-commit rule
4604         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
4605         to suppress printing of its commands... unless V=1.
4606         Add git submodule's --quiet option to suppress printing of e.g.,
4607         "Entering gnulib" output.
4608         "cd" into $(srcdir) before running git submodule.
4609
4610 2011-01-20  Bruno Haible  <bruno@clisp.org>
4611
4612         include_next: Fix bug introduced on 2011-01-18.
4613         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
4614         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
4615         ac_cv_header_... variable if the second argument is not 'check'.
4616         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
4617         gl_NEXT_HEADERS_INTERNAL.
4618
4619 2011-01-20  Bruno Haible  <bruno@clisp.org>
4620
4621         Allow the user to avoid the GNULIB_TEST_* macros.
4622         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
4623         Suggested by Paul Eggert.
4624
4625 2011-01-14  Jim Meyering  <meyering@redhat.com>
4626
4627         bootstrap: avoid failure when there is no .gitmodules file
4628         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
4629         has been assigned to, even when its value is the empty string.
4630         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
4631         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
4632         Reported by John W. Eaton <jwe@gnu.org>.
4633
4634 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
4635
4636         assume <ctype.h>, ..., <time.h> exist
4637         For years gnulib has been assuming the existence of the headers
4638         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
4639         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
4640         them, since they don't appear to be needed.
4641         * README (Portability guidelines): Document this.
4642         * lib/flock.c: Assume <fcntl.h> exists.
4643         * lib/regex_internal.h: Assume <locale.h> exists.
4644         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
4645         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
4646         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
4647         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
4648         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
4649         * m4/regex.m4 (gl_REGEX): Likewise.
4650         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
4651         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
4652         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
4653         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
4654         * tests/test-argp.c: Likewise.
4655         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
4656
4657         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
4658         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
4659         AA_APPLE_UNIVERSAL_BUILD.  See
4660         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
4661         * NEWS: Document this.
4662
4663 2011-01-19  Eric Blake  <eblake@redhat.com>
4664
4665         c-stack: assume stack overflow if SA_SIGINFO unsupported
4666         * lib/c-stack.c (SIGACTION_WORKS): Rename...
4667         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
4668         sigaction will work.
4669         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
4670         behavior match Linux.
4671         * tests/test-c-stack.c (main): Prefer NULL for pointers.
4672
4673         stdbool-tests: accomodate Haiku
4674         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
4675
4676         binary-io: fix O_TEXT on Haiku
4677         * modules/binary-io (Depends-on): Add fcntl-h.
4678         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
4679         than blindly undefining O_TEXT.
4680         Reported by Scott McCreary.
4681
4682 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4683
4684         include_next: do not check for standard headers like stddef.h
4685
4686         I found this problem when modifying Emacs to use gnulib.
4687         I noticed that it added HAVE_STDDEF_H to config.h, even though
4688         gnulib always assumes <stddef.h> exists as per README and this
4689         symbol is unnecessary.
4690         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
4691         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
4692         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
4693         faster for headers like stddef.h that are known to exist.
4694         (gl_CHECK_NEXT_HEADERS): Use it.
4695         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
4696         rather than gl_CHECK_NEXT_HEADERS.
4697         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
4698         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
4699
4700 2011-01-18  Eric Blake  <eblake@redhat.com>
4701
4702         ansi-c++-opt: skip C++ dependency style if C++ is unused
4703         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
4704         tests when we know C++ compilation is not desired.
4705         Reported by Scott McCreary.
4706
4707 2011-01-18  Bruno Haible  <bruno@clisp.org>
4708
4709         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
4710         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
4711         (main): Perform test also when getrlimit and setrlimit don't exist or
4712         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
4713         limiting the address space size using setrlimit, compare the address
4714         space size before and after the the test.
4715         * tests/test-dprintf-posix2.c: Likewise.
4716         * tests/test-fprintf-posix3.sh: Update skip messages.
4717         * tests/test-dprintf-posix2.sh: Likewise.
4718         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
4719         * modules/dprintf-posix-tests (Depends-on): Likewise.
4720         Reported by Bruce Korb <bkorb@gnu.org> and
4721         Gary V. Vaughan <gary@gnu.org>.
4722
4723 2011-01-18  Bruno Haible  <bruno@clisp.org>
4724
4725         get-rusage-as: Improvement for Cygwin.
4726         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
4727         areas that are merely reserved.
4728
4729 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
4730
4731         strftime: remove dependencies on multibyte modules
4732
4733         strftime depended on mbrlen, mbsinit, and wchar, but these modules
4734         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
4735         only if __osf__ is defined, and I suspect OSF doesn't need these
4736         other modules.  If my guess is wrong, we'll need to come up with a
4737         variant of strftime that doesn't need the multibyte modules.
4738
4739         I discovered this problem when attempting modify Emacs to use the
4740         strftime module.  With the previous gnulib, this caused Emacs to
4741         need 31 new files, ranging from lib/config.charset to
4742         m4/wint_t.m4.  This was overkill and I expect would be offputting
4743         to the Emacs maintainers.  After this change, only 6 new files are
4744         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
4745         stdbool.m4, and tm_gmtoff.m4.
4746
4747         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
4748         Suggested by Bruno Haible in
4749         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
4750         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
4751         and do not check for wchar.h.
4752         * modules/strftime (Files): Remove m4/mbstate_t.m4.
4753         (Depends-on): Remove mbrlen, mbsinit, wchar.
4754
4755 2011-01-18  Bruno Haible  <bruno@clisp.org>
4756
4757         Tests for module 'get-rusage-as'.
4758         * modules/get-rusage-as-tests: New file.
4759         * tests/test-get-rusage-as.c: New file.
4760
4761         New module 'get-rusage-as'.
4762         * modules/get-rusage-as: New file.
4763         * lib/resource-ext.h: New file.
4764         * lib/get-rusage-as.c: New file.
4765
4766 2011-01-17  Eric Blake  <eblake@redhat.com>
4767
4768         sigaction: relax license from LGPLv3+ to LGPLv2+
4769         * modules/sigaction (License): Relax to LGPLv2+.
4770
4771 2011-01-14  Bruno Haible  <bruno@clisp.org>
4772
4773         filemode: Make function declarations usable in C++ mode.
4774         * lib/filemode.h: Enclose function declarations in extern "C" block.
4775         Reported by John W. Eaton <jwe@gnu.org>.
4776
4777 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
4778
4779         save-cwd: no longer include "xgetcwd.h"
4780         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
4781         This avoids a compilation failure in projects that use save-cwd
4782         without also using the xgetcwd module.
4783
4784 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4785
4786         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
4787         This is so that a program like Emacs, which needs only dtoastr,
4788         does not have to bother with distributing and compiling ftoastr
4789         and ldtoastr.
4790         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
4791         * modules/dtoastr, modules/ldtoastr: New files.
4792         * modules/ftoastr: Now works just for 'float'.
4793         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
4794         (Makefile.am): Remove ftoastr.h (not needed and no effect),
4795         dtoastr.c, ldtoastr.c.
4796
4797 2011-01-11  Jim Meyering  <meyering@redhat.com>
4798
4799         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
4800         There is no need to work around the lack of the fchdir function,
4801         since gnulib can now provide a replacement when required.
4802         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
4803         * modules/save-cwd (Depends-on): Add fchdir.
4804
4805 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
4806
4807         openat, save-cwd: avoid xmalloc
4808
4809         This removes a direct (but undocumented) dependency of openat on
4810         xalloc, along with an indirect dependency via save-cwd.  It also
4811         removes a dependency of save-cwd on xgetcwd, and thereby
4812         indirectly on xalloc.  This change causes the openat substitute
4813         to fall back on save_cwd when memory is tight, and for save_cwd to
4814         fail instead of dying when memory is tight, but that's good enough.
4815         Problem and initial idea for fix reported by Bastien Roucaries in
4816         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
4817
4818         * lib/openat-proc.c: Include stdlib.h (for malloc), not
4819         xalloc.h (for xmalloc).
4820         (openat_proc_name): Use malloc, not xmalloc.
4821         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
4822         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
4823
4824         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
4825         This avoids heap allocation for file names whose lengths are in
4826         the range 512..1023, with the upper bound increasing to at most
4827         4031 depending on the platform's PATH_MAX.  (We do not want
4828         pathmax.h here as it might supply a non-constant PATH_MAX.)
4829         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
4830         Perhaps they should be moved to malloca.h?
4831         (OPENAT_BUFFER_SIZE): Use them.
4832
4833 2011-01-10  Bruno Haible  <bruno@clisp.org>
4834
4835         doc: Update users.txt.
4836         * users.txt: Add recutils.
4837
4838 2011-01-09  Karl Berry  <karl@gnu.org>
4839
4840         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
4841
4842         * doc/configmake.texi: New file.
4843         * doc/gnulib.texi: Include it.
4844         * modules/configmake: Move documentation from here.
4845
4846 2011-01-09  Bruno Haible  <bruno@clisp.org>
4847
4848         Update to Unicode 6.0.0.
4849         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
4850         (get_lbp): Update for Unicode 6.0.0.
4851         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
4852         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
4853         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
4854         U+11001, U+11038..U+11046. Remove U+06DE.
4855         (uc_width): Fix bounds of planes.
4856         * tests/uniwidth/test-uc_width2.sh: Same updates as in
4857         lib/uniwidth/width.c.
4858         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
4859         trailing whitespace removed.
4860         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
4861         without comments, but with the original copyright notice.
4862         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
4863         * lib/unicase/ignorable.h: Likewise.
4864         * lib/unicase/tocasefold.h: Likewise.
4865         * lib/unicase/tolower.h: Likewise.
4866         * lib/unicase/totitle.h: Likewise.
4867         * lib/unicase/toupper.h: Likewise.
4868         * lib/unictype/bidi_of.h: Likewise.
4869         * lib/unictype/blocks.h: Likewise.
4870         * lib/unictype/categ_C.h: Likewise.
4871         * lib/unictype/categ_Cn.h: Likewise.
4872         * lib/unictype/categ_L.h: Likewise.
4873         * lib/unictype/categ_Ll.h: Likewise.
4874         * lib/unictype/categ_Lm.h: Likewise.
4875         * lib/unictype/categ_Lo.h: Likewise.
4876         * lib/unictype/categ_Lu.h: Likewise.
4877         * lib/unictype/categ_M.h: Likewise.
4878         * lib/unictype/categ_Mc.h: Likewise.
4879         * lib/unictype/categ_Me.h: Likewise.
4880         * lib/unictype/categ_Mn.h: Likewise.
4881         * lib/unictype/categ_N.h: Likewise.
4882         * lib/unictype/categ_Nd.h: Likewise.
4883         * lib/unictype/categ_No.h: Likewise.
4884         * lib/unictype/categ_P.h: Likewise.
4885         * lib/unictype/categ_Po.h: Likewise.
4886         * lib/unictype/categ_S.h: Likewise.
4887         * lib/unictype/categ_Sc.h: Likewise.
4888         * lib/unictype/categ_Sk.h: Likewise.
4889         * lib/unictype/categ_Sm.h: Likewise.
4890         * lib/unictype/categ_So.h: Likewise.
4891         * lib/unictype/categ_of.h: Likewise.
4892         * lib/unictype/combining.h: Likewise.
4893         * lib/unictype/ctype_alnum.h: Likewise.
4894         * lib/unictype/ctype_alpha.h: Likewise.
4895         * lib/unictype/ctype_graph.h: Likewise.
4896         * lib/unictype/ctype_lower.h: Likewise.
4897         * lib/unictype/ctype_print.h: Likewise.
4898         * lib/unictype/ctype_punct.h: Likewise.
4899         * lib/unictype/ctype_upper.h: Likewise.
4900         * lib/unictype/decdigit.h: Likewise.
4901         * lib/unictype/digit.h: Likewise.
4902         * lib/unictype/numeric.h: Likewise.
4903         * lib/unictype/pr_alphabetic.h: Likewise.
4904         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
4905         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
4906         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
4907         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
4908         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
4909         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
4910         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
4911         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
4912         * lib/unictype/pr_case_ignorable.h: Likewise.
4913         * lib/unictype/pr_cased.h: Likewise.
4914         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
4915         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
4916         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
4917         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
4918         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
4919         * lib/unictype/pr_combining.h: Likewise.
4920         * lib/unictype/pr_composite.h: Likewise.
4921         * lib/unictype/pr_currency_symbol.h: Likewise.
4922         * lib/unictype/pr_decimal_digit.h: Likewise.
4923         * lib/unictype/pr_deprecated.h: Likewise.
4924         * lib/unictype/pr_format_control.h: Likewise.
4925         * lib/unictype/pr_grapheme_base.h: Likewise.
4926         * lib/unictype/pr_grapheme_extend.h: Likewise.
4927         * lib/unictype/pr_grapheme_link.h: Likewise.
4928         * lib/unictype/pr_id_continue.h: Likewise.
4929         * lib/unictype/pr_id_start.h: Likewise.
4930         * lib/unictype/pr_ideographic.h: Likewise.
4931         * lib/unictype/pr_lowercase.h: Likewise.
4932         * lib/unictype/pr_math.h: Likewise.
4933         * lib/unictype/pr_numeric.h: Likewise.
4934         * lib/unictype/pr_other_alphabetic.h: Likewise.
4935         * lib/unictype/pr_other_id_continue.h: Likewise.
4936         * lib/unictype/pr_other_math.h: Likewise.
4937         * lib/unictype/pr_punctuation.h: Likewise.
4938         * lib/unictype/pr_sentence_terminal.h: Likewise.
4939         * lib/unictype/pr_terminal_punctuation.h: Likewise.
4940         * lib/unictype/pr_unassigned_code_value.h: Likewise.
4941         * lib/unictype/pr_unified_ideograph.h: Likewise.
4942         * lib/unictype/pr_uppercase.h: Likewise.
4943         * lib/unictype/pr_xid_continue.h: Likewise.
4944         * lib/unictype/pr_xid_start.h: Likewise.
4945         * lib/unictype/scripts.h: Likewise.
4946         * lib/unictype/scripts_byname.gperf: Likewise.
4947         * lib/unictype/sy_java_ident.h: Likewise.
4948         * lib/unigbrk/gbrkprop.h: Likewise.
4949         * lib/unilbrk/lbrkprop1.h: Likewise.
4950         * lib/unilbrk/lbrkprop2.h: Likewise.
4951         * lib/uninorm/decomposition-table2.h: Likewise.
4952         * lib/uniwbrk/wbrkprop.h: Likewise.
4953         * tests/unicase/test-cased.c: Likewise.
4954         * tests/unicase/test-ignorable.c: Likewise.
4955         * tests/unicase/test-uc_tolower.c: Likewise.
4956         * tests/unicase/test-uc_totitle.c: Likewise.
4957         * tests/unicase/test-uc_toupper.c: Likewise.
4958         * tests/unictype/test-categ_C.c: Likewise.
4959         * tests/unictype/test-categ_Cn.c: Likewise.
4960         * tests/unictype/test-categ_L.c: Likewise.
4961         * tests/unictype/test-categ_Ll.c: Likewise.
4962         * tests/unictype/test-categ_Lm.c: Likewise.
4963         * tests/unictype/test-categ_Lo.c: Likewise.
4964         * tests/unictype/test-categ_Lu.c: Likewise.
4965         * tests/unictype/test-categ_M.c: Likewise.
4966         * tests/unictype/test-categ_Mc.c: Likewise.
4967         * tests/unictype/test-categ_Me.c: Likewise.
4968         * tests/unictype/test-categ_Mn.c: Likewise.
4969         * tests/unictype/test-categ_N.c: Likewise.
4970         * tests/unictype/test-categ_Nd.c: Likewise.
4971         * tests/unictype/test-categ_No.c: Likewise.
4972         * tests/unictype/test-categ_P.c: Likewise.
4973         * tests/unictype/test-categ_Po.c: Likewise.
4974         * tests/unictype/test-categ_S.c: Likewise.
4975         * tests/unictype/test-categ_Sc.c: Likewise.
4976         * tests/unictype/test-categ_Sk.c: Likewise.
4977         * tests/unictype/test-categ_Sm.c: Likewise.
4978         * tests/unictype/test-categ_So.c: Likewise.
4979         * tests/unictype/test-ctype_alnum.c: Likewise.
4980         * tests/unictype/test-ctype_alpha.c: Likewise.
4981         * tests/unictype/test-ctype_graph.c: Likewise.
4982         * tests/unictype/test-ctype_lower.c: Likewise.
4983         * tests/unictype/test-ctype_print.c: Likewise.
4984         * tests/unictype/test-ctype_punct.c: Likewise.
4985         * tests/unictype/test-ctype_upper.c: Likewise.
4986         * tests/unictype/test-decdigit.h: Likewise.
4987         * tests/unictype/test-digit.h: Likewise.
4988         * tests/unictype/test-numeric.h: Likewise.
4989         * tests/unictype/test-pr_alphabetic.c: Likewise.
4990         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
4991         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
4992         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
4993         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
4994         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
4995         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
4996         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
4997         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
4998         * tests/unictype/test-pr_case_ignorable.c: Likewise.
4999         * tests/unictype/test-pr_cased.c: Likewise.
5000         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
5001         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
5002         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
5003         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
5004         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
5005         * tests/unictype/test-pr_combining.c: Likewise.
5006         * tests/unictype/test-pr_composite.c: Likewise.
5007         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5008         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5009         * tests/unictype/test-pr_deprecated.c: Likewise.
5010         * tests/unictype/test-pr_format_control.c: Likewise.
5011         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5012         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5013         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5014         * tests/unictype/test-pr_id_continue.c: Likewise.
5015         * tests/unictype/test-pr_id_start.c: Likewise.
5016         * tests/unictype/test-pr_ideographic.c: Likewise.
5017         * tests/unictype/test-pr_lowercase.c: Likewise.
5018         * tests/unictype/test-pr_math.c: Likewise.
5019         * tests/unictype/test-pr_numeric.c: Likewise.
5020         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5021         * tests/unictype/test-pr_other_id_continue.c: Likewise.
5022         * tests/unictype/test-pr_other_math.c: Likewise.
5023         * tests/unictype/test-pr_punctuation.c: Likewise.
5024         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5025         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5026         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5027         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5028         * tests/unictype/test-pr_uppercase.c: Likewise.
5029         * tests/unictype/test-pr_xid_continue.c: Likewise.
5030         * tests/unictype/test-pr_xid_start.c: Likewise.
5031         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5032         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5033         changes.
5034         * lib/unictype/categ_Cc.h: Likewise.
5035         * lib/unictype/categ_Cf.h: Likewise.
5036         * lib/unictype/categ_Co.h: Likewise.
5037         * lib/unictype/categ_Cs.h: Likewise.
5038         * lib/unictype/categ_Lt.h: Likewise.
5039         * lib/unictype/categ_Nl.h: Likewise.
5040         * lib/unictype/categ_Pc.h: Likewise.
5041         * lib/unictype/categ_Pd.h: Likewise.
5042         * lib/unictype/categ_Pe.h: Likewise.
5043         * lib/unictype/categ_Pf.h: Likewise.
5044         * lib/unictype/categ_Pi.h: Likewise.
5045         * lib/unictype/categ_Ps.h: Likewise.
5046         * lib/unictype/categ_Z.h: Likewise.
5047         * lib/unictype/categ_Zl.h: Likewise.
5048         * lib/unictype/categ_Zp.h: Likewise.
5049         * lib/unictype/categ_Zs.h: Likewise.
5050         * lib/unictype/ctype_blank.h: Likewise.
5051         * lib/unictype/ctype_cntrl.h: Likewise.
5052         * lib/unictype/ctype_digit.h: Likewise.
5053         * lib/unictype/ctype_space.h: Likewise.
5054         * lib/unictype/ctype_xdigit.h: Likewise.
5055         * lib/unictype/mirror.h: Likewise.
5056         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5057         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5058         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5059         * lib/unictype/pr_bidi_control.h: Likewise.
5060         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5061         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5062         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5063         * lib/unictype/pr_bidi_pdf.h: Likewise.
5064         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5065         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5066         * lib/unictype/pr_dash.h: Likewise.
5067         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5068         * lib/unictype/pr_diacritic.h: Likewise.
5069         * lib/unictype/pr_extender.h: Likewise.
5070         * lib/unictype/pr_hex_digit.h: Likewise.
5071         * lib/unictype/pr_hyphen.h: Likewise.
5072         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5073         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5074         * lib/unictype/pr_ignorable_control.h: Likewise.
5075         * lib/unictype/pr_iso_control.h: Likewise.
5076         * lib/unictype/pr_join_control.h: Likewise.
5077         * lib/unictype/pr_left_of_pair.h: Likewise.
5078         * lib/unictype/pr_line_separator.h: Likewise.
5079         * lib/unictype/pr_logical_order_exception.h: Likewise.
5080         * lib/unictype/pr_non_break.h: Likewise.
5081         * lib/unictype/pr_not_a_character.h: Likewise.
5082         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5083         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5084         * lib/unictype/pr_other_id_start.h: Likewise.
5085         * lib/unictype/pr_other_lowercase.h: Likewise.
5086         * lib/unictype/pr_other_uppercase.h: Likewise.
5087         * lib/unictype/pr_paired_punctuation.h: Likewise.
5088         * lib/unictype/pr_paragraph_separator.h: Likewise.
5089         * lib/unictype/pr_pattern_syntax.h: Likewise.
5090         * lib/unictype/pr_pattern_white_space.h: Likewise.
5091         * lib/unictype/pr_private_use.h: Likewise.
5092         * lib/unictype/pr_quotation_mark.h: Likewise.
5093         * lib/unictype/pr_radical.h: Likewise.
5094         * lib/unictype/pr_soft_dotted.h: Likewise.
5095         * lib/unictype/pr_space.h: Likewise.
5096         * lib/unictype/pr_titlecase.h: Likewise.
5097         * lib/unictype/pr_variation_selector.h: Likewise.
5098         * lib/unictype/pr_white_space.h: Likewise.
5099         * lib/unictype/pr_zero_width.h: Likewise.
5100         * lib/unictype/sy_c_ident.h: Likewise.
5101         * lib/unictype/sy_c_whitespace.h: Likewise.
5102         * lib/unictype/sy_java_whitespace.h: Likewise.
5103         * lib/uninorm/composition-table.gperf: Likewise.
5104         * lib/uninorm/decomposition-table1.h: Likewise.
5105         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
5106         LB8.
5107         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5108         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5109         * modules/unictype/*: Bump version number of expected libunistring
5110         version.
5111
5112 2011-01-09  Bruno Haible  <bruno@clisp.org>
5113
5114         Update to Unicode 5.2.0.
5115         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
5116         trailing whitespace removed.
5117
5118 2011-01-09  Bruno Haible  <bruno@clisp.org>
5119
5120         New Unicode character properties, from Unicode 5.2.0.
5121         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
5122         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
5123         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
5124         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
5125         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
5126         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
5127         uc_is_property_cased, uc_is_property_case_ignorable,
5128         uc_is_property_changes_when_lowercased,
5129         uc_is_property_changes_when_uppercased,
5130         uc_is_property_changes_when_titlecased,
5131         uc_is_property_changes_when_casefolded,
5132         uc_is_property_changes_when_casemapped): New declarations.
5133         * lib/unictype/pr_byname.gperf: Add the new properties.
5134         * modules/unictype/property-byname (Depends-on): Depend on the new
5135         properties modules.
5136         * modules/unictype/property-all (Depends-on): Likewise.
5137         * MODULES.html.sh (Unicode string functions): Add
5138         unictype/property-case-ignorable, unictype/property-cased,
5139         unictype/property-changes-when-casefolded,
5140         unictype/property-changes-when-casemapped,
5141         unictype/property-changes-when-lowercased,
5142         unictype/property-changes-when-titlecased,
5143         unictype/property-changes-when-uppercased.
5144
5145         New module 'unictype/property-changes-when-casemapped'.
5146         * modules/unictype/property-changes-when-casemapped: New file.
5147         * lib/unictype/pr_changes_when_casemapped.c: New file.
5148         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
5149         generated by gen-uni-tables.
5150         * modules/unictype/property-changes-when-casemapped-tests: New file.
5151         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
5152         automatically generated by gen-uni-tables.
5153
5154         New module 'unictype/property-changes-when-casefolded'.
5155         * modules/unictype/property-changes-when-casefolded: New file.
5156         * lib/unictype/pr_changes_when_casefolded.c: New file.
5157         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
5158         generated by gen-uni-tables.
5159         * modules/unictype/property-changes-when-casefolded-tests: New file.
5160         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
5161         automatically generated by gen-uni-tables.
5162
5163         New module 'unictype/property-changes-when-titlecased'.
5164         * modules/unictype/property-changes-when-titlecased: New file.
5165         * lib/unictype/pr_changes_when_titlecased.c: New file.
5166         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
5167         generated by gen-uni-tables.
5168         * modules/unictype/property-changes-when-titlecased-tests: New file.
5169         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
5170         automatically generated by gen-uni-tables.
5171
5172         New module 'unictype/property-changes-when-uppercased'.
5173         * modules/unictype/property-changes-when-uppercased: New file.
5174         * lib/unictype/pr_changes_when_uppercased.c: New file.
5175         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
5176         generated by gen-uni-tables.
5177         * modules/unictype/property-changes-when-uppercased-tests: New file.
5178         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
5179         automatically generated by gen-uni-tables.
5180
5181         New module 'unictype/property-changes-when-lowercased'.
5182         * modules/unictype/property-changes-when-lowercased: New file.
5183         * lib/unictype/pr_changes_when_lowercased.c: New file.
5184         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
5185         generated by gen-uni-tables.
5186         * modules/unictype/property-changes-when-lowercased-tests: New file.
5187         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
5188         automatically generated by gen-uni-tables.
5189
5190         New module 'unictype/property-case-ignorable'.
5191         * modules/unictype/property-case-ignorable: New file.
5192         * lib/unictype/pr_case_ignorable.c: New file.
5193         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
5194         by gen-uni-tables.
5195         * modules/unictype/property-case-ignorable-tests: New file.
5196         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
5197         generated by gen-uni-tables.
5198
5199         New module 'unictype/property-cased'.
5200         * modules/unictype/property-cased: New file.
5201         * lib/unictype/pr_cased.c: New file.
5202         * lib/unictype/pr_cased.h: New file, automatically generated by
5203         gen-uni-tables.
5204         * modules/unictype/property-cased-tests: New file.
5205         * tests/unictype/test-pr_cased.c: New file, automatically generated by
5206         gen-uni-tables.
5207
5208 2011-01-09  Bruno Haible  <bruno@clisp.org>
5209
5210         Update to Unicode 5.2.0.
5211         * lib/gen-uni-tables.c (output_predicate, output_category,
5212         output_combclass, output_bidi_category, output_decimal_digit_test,
5213         output_decimal_digit, output_digit_test, output_digit,
5214         output_numeric_test, output_numeric, output_mirror, output_scripts,
5215         output_scripts_byname, output_blocks, output_ident_category): Fix
5216         comment header.
5217         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
5218         get_wbp.
5219         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
5220         items.
5221         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
5222         Changes_When_Lowercased, Changes_When_Uppercased,
5223         Changes_When_Titlecased, Changes_When_Casefolded,
5224         Changes_When_Casemapped.
5225         (is_property_alphabetic, is_property_default_ignorable_code_point):
5226         Update for Unicode 5.2.0.
5227         (is_property_cased, is_property_case_ignorable,
5228         is_property_changes_when_lowercased,
5229         is_property_changes_when_uppercased,
5230         is_property_changes_when_titlecased,
5231         is_property_changes_when_casefolded,
5232         is_property_changes_when_casemapped): New functions.
5233         (output_properties): Output also the properties cased, case_ignorable,
5234         changes_when_lowercased, changes_when_uppercased,
5235         changes_when_titlecased, changes_when_casefolded,
5236         changes_when_casemapped.
5237         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
5238         Unicode TR#11 revision 17 -> 19.
5239         (LBP_CP): New enumeration value.
5240         (LBP_*): Adjust values accordingly.
5241         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5242         TR#14 revision 22 -> 24.
5243         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
5244         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
5245         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
5246         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
5247         is_WBP_MIDLETTER.
5248         (output_composition_tables): Allow for 24 bits instead of 16 bits in
5249         the code1 and code2 of each composition rule.
5250         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
5251         * lib/unicase/ignorable.h: Likewise.
5252         * lib/unicase/tocasefold.h: Likewise.
5253         * lib/unicase/tolower.h: Likewise.
5254         * lib/unicase/totitle.h: Likewise.
5255         * lib/unicase/toupper.h: Likewise.
5256         * lib/unictype/bidi_of.h: Likewise.
5257         * lib/unictype/blocks.h: Likewise.
5258         * lib/unictype/categ_C.h: Likewise.
5259         * lib/unictype/categ_Cf.h: Likewise.
5260         * lib/unictype/categ_Cn.h: Likewise.
5261         * lib/unictype/categ_L.h: Likewise.
5262         * lib/unictype/categ_Ll.h: Likewise.
5263         * lib/unictype/categ_Lm.h: Likewise.
5264         * lib/unictype/categ_Lo.h: Likewise.
5265         * lib/unictype/categ_Lu.h: Likewise.
5266         * lib/unictype/categ_M.h: Likewise.
5267         * lib/unictype/categ_Mc.h: Likewise.
5268         * lib/unictype/categ_Mn.h: Likewise.
5269         * lib/unictype/categ_N.h: Likewise.
5270         * lib/unictype/categ_Nd.h: Likewise.
5271         * lib/unictype/categ_Nl.h: Likewise.
5272         * lib/unictype/categ_No.h: Likewise.
5273         * lib/unictype/categ_P.h: Likewise.
5274         * lib/unictype/categ_Pd.h: Likewise.
5275         * lib/unictype/categ_Po.h: Likewise.
5276         * lib/unictype/categ_S.h: Likewise.
5277         * lib/unictype/categ_Sc.h: Likewise.
5278         * lib/unictype/categ_So.h: Likewise.
5279         * lib/unictype/categ_of.h: Likewise.
5280         * lib/unictype/combining.h: Likewise.
5281         * lib/unictype/ctype_alnum.h: Likewise.
5282         * lib/unictype/ctype_alpha.h: Likewise.
5283         * lib/unictype/ctype_graph.h: Likewise.
5284         * lib/unictype/ctype_lower.h: Likewise.
5285         * lib/unictype/ctype_print.h: Likewise.
5286         * lib/unictype/ctype_punct.h: Likewise.
5287         * lib/unictype/ctype_upper.h: Likewise.
5288         * lib/unictype/decdigit.h: Likewise.
5289         * lib/unictype/digit.h: Likewise.
5290         * lib/unictype/numeric.h: Likewise.
5291         * lib/unictype/pr_alphabetic.h: Likewise.
5292         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
5293         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
5294         * lib/unictype/pr_bidi_european_digit.h: Likewise.
5295         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
5296         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
5297         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
5298         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
5299         * lib/unictype/pr_combining.h: Likewise.
5300         * lib/unictype/pr_composite.h: Likewise.
5301         * lib/unictype/pr_currency_symbol.h: Likewise.
5302         * lib/unictype/pr_dash.h: Likewise.
5303         * lib/unictype/pr_decimal_digit.h: Likewise.
5304         * lib/unictype/pr_deprecated.h: Likewise.
5305         * lib/unictype/pr_diacritic.h: Likewise.
5306         * lib/unictype/pr_extender.h: Likewise.
5307         * lib/unictype/pr_grapheme_base.h: Likewise.
5308         * lib/unictype/pr_grapheme_extend.h: Likewise.
5309         * lib/unictype/pr_grapheme_link.h: Likewise.
5310         * lib/unictype/pr_id_continue.h: Likewise.
5311         * lib/unictype/pr_id_start.h: Likewise.
5312         * lib/unictype/pr_ideographic.h: Likewise.
5313         * lib/unictype/pr_ignorable_control.h: Likewise.
5314         * lib/unictype/pr_logical_order_exception.h: Likewise.
5315         * lib/unictype/pr_lowercase.h: Likewise.
5316         * lib/unictype/pr_numeric.h: Likewise.
5317         * lib/unictype/pr_other_alphabetic.h: Likewise.
5318         * lib/unictype/pr_punctuation.h: Likewise.
5319         * lib/unictype/pr_sentence_terminal.h: Likewise.
5320         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5321         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5322         * lib/unictype/pr_unified_ideograph.h: Likewise.
5323         * lib/unictype/pr_uppercase.h: Likewise.
5324         * lib/unictype/pr_xid_continue.h: Likewise.
5325         * lib/unictype/pr_xid_start.h: Likewise.
5326         * lib/unictype/pr_zero_width.h: Likewise.
5327         * lib/unictype/scripts.h: Likewise.
5328         * lib/unictype/scripts_byname.gperf: Likewise.
5329         * lib/unictype/sy_java_ident.h: Likewise.
5330         * lib/unigbrk/gbrkprop.h: Likewise.
5331         * lib/unilbrk/lbrkprop1.h: Likewise.
5332         * lib/unilbrk/lbrkprop2.h: Likewise.
5333         * lib/unilbrk/lbrktables.h: Likewise.
5334         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
5335         LBP_CP. Implement rule LB30.
5336         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
5337         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
5338         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
5339         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
5340         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
5341         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
5342         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
5343         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
5344         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
5345         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
5346         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
5347         bits instead of 16 bits in the code1 and code2 of each composition
5348         rule.
5349         (uc_composition): Update for Unicode 5.2.0.
5350         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
5351         * lib/uninorm/decomposition-table2.h: Likewise.
5352         * lib/uniwbrk/wbrkprop.h: Likewise.
5353         * tests/unicase/test-cased.c: Likewise.
5354         * tests/unicase/test-ignorable.c: Likewise.
5355         * tests/unicase/test-uc_tolower.c: Likewise.
5356         * tests/unicase/test-uc_totitle.c: Likewise.
5357         * tests/unicase/test-uc_toupper.c: Likewise.
5358         * tests/unictype/test-categ_C.c: Likewise.
5359         * tests/unictype/test-categ_Cf.c: Likewise.
5360         * tests/unictype/test-categ_Cn.c: Likewise.
5361         * tests/unictype/test-categ_L.c: Likewise.
5362         * tests/unictype/test-categ_Ll.c: Likewise.
5363         * tests/unictype/test-categ_Lm.c: Likewise.
5364         * tests/unictype/test-categ_Lo.c: Likewise.
5365         * tests/unictype/test-categ_Lu.c: Likewise.
5366         * tests/unictype/test-categ_M.c: Likewise.
5367         * tests/unictype/test-categ_Mc.c: Likewise.
5368         * tests/unictype/test-categ_Mn.c: Likewise.
5369         * tests/unictype/test-categ_N.c: Likewise.
5370         * tests/unictype/test-categ_Nd.c: Likewise.
5371         * tests/unictype/test-categ_Nl.c: Likewise.
5372         * tests/unictype/test-categ_No.c: Likewise.
5373         * tests/unictype/test-categ_P.c: Likewise.
5374         * tests/unictype/test-categ_Pd.c: Likewise.
5375         * tests/unictype/test-categ_Po.c: Likewise.
5376         * tests/unictype/test-categ_S.c: Likewise.
5377         * tests/unictype/test-categ_Sc.c: Likewise.
5378         * tests/unictype/test-categ_So.c: Likewise.
5379         * tests/unictype/test-ctype_alnum.c: Likewise.
5380         * tests/unictype/test-ctype_alpha.c: Likewise.
5381         * tests/unictype/test-ctype_graph.c: Likewise.
5382         * tests/unictype/test-ctype_lower.c: Likewise.
5383         * tests/unictype/test-ctype_print.c: Likewise.
5384         * tests/unictype/test-ctype_punct.c: Likewise.
5385         * tests/unictype/test-ctype_upper.c: Likewise.
5386         * tests/unictype/test-decdigit.h: Likewise.
5387         * tests/unictype/test-digit.h: Likewise.
5388         * tests/unictype/test-numeric.h: Likewise.
5389         * tests/unictype/test-pr_alphabetic.c: Likewise.
5390         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5391         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5392         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
5393         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5394         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5395         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5396         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5397         * tests/unictype/test-pr_combining.c: Likewise.
5398         * tests/unictype/test-pr_composite.c: Likewise.
5399         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5400         * tests/unictype/test-pr_dash.c: Likewise.
5401         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5402         * tests/unictype/test-pr_deprecated.c: Likewise.
5403         * tests/unictype/test-pr_diacritic.c: Likewise.
5404         * tests/unictype/test-pr_extender.c: Likewise.
5405         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5406         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5407         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5408         * tests/unictype/test-pr_id_continue.c: Likewise.
5409         * tests/unictype/test-pr_id_start.c: Likewise.
5410         * tests/unictype/test-pr_ideographic.c: Likewise.
5411         * tests/unictype/test-pr_ignorable_control.c: Likewise.
5412         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
5413         * tests/unictype/test-pr_lowercase.c: Likewise.
5414         * tests/unictype/test-pr_numeric.c: Likewise.
5415         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5416         * tests/unictype/test-pr_punctuation.c: Likewise.
5417         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5418         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5419         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5420         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5421         * tests/unictype/test-pr_uppercase.c: Likewise.
5422         * tests/unictype/test-pr_xid_continue.c: Likewise.
5423         * tests/unictype/test-pr_xid_start.c: Likewise.
5424         * tests/unictype/test-pr_zero_width.c: Likewise.
5425         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5426         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
5427         changed behaviour: line breaking is now disallowed between a letter
5428         or '=' and '('.
5429         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
5430         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
5431         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
5432         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
5433         * tests/uniwidth/test-uc_width2.sh: Same updates as in
5434         lib/uniwidth/width.c.
5435         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
5436         without comments, but with the original copyright notice.
5437         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5438         changes.
5439         * lib/unictype/categ_Cc.h: Likewise.
5440         * lib/unictype/categ_Co.h: Likewise.
5441         * lib/unictype/categ_Cs.h: Likewise.
5442         * lib/unictype/categ_Lt.h: Likewise.
5443         * lib/unictype/categ_Me.h: Likewise.
5444         * lib/unictype/categ_Pc.h: Likewise.
5445         * lib/unictype/categ_Pe.h: Likewise.
5446         * lib/unictype/categ_Pf.h: Likewise.
5447         * lib/unictype/categ_Pi.h: Likewise.
5448         * lib/unictype/categ_Ps.h: Likewise.
5449         * lib/unictype/categ_Sk.h: Likewise.
5450         * lib/unictype/categ_Sm.h: Likewise.
5451         * lib/unictype/categ_Z.h: Likewise.
5452         * lib/unictype/categ_Zl.h: Likewise.
5453         * lib/unictype/categ_Zp.h: Likewise.
5454         * lib/unictype/categ_Zs.h: Likewise.
5455         * lib/unictype/ctype_blank.h: Likewise.
5456         * lib/unictype/ctype_cntrl.h: Likewise.
5457         * lib/unictype/ctype_digit.h: Likewise.
5458         * lib/unictype/ctype_space.h: Likewise.
5459         * lib/unictype/ctype_xdigit.h: Likewise.
5460         * lib/unictype/mirror.h: Likewise.
5461         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
5462         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
5463         * lib/unictype/pr_bidi_block_separator.h: Likewise.
5464         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
5465         * lib/unictype/pr_bidi_common_separator.h: Likewise.
5466         * lib/unictype/pr_bidi_control.h: Likewise.
5467         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
5468         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
5469         * lib/unictype/pr_bidi_pdf.h: Likewise.
5470         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
5471         * lib/unictype/pr_bidi_whitespace.h: Likewise.
5472         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
5473         * lib/unictype/pr_format_control.h: Likewise.
5474         * lib/unictype/pr_hex_digit.h: Likewise.
5475         * lib/unictype/pr_hyphen.h: Likewise.
5476         * lib/unictype/pr_ids_binary_operator.h: Likewise.
5477         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
5478         * lib/unictype/pr_iso_control.h: Likewise.
5479         * lib/unictype/pr_join_control.h: Likewise.
5480         * lib/unictype/pr_left_of_pair.h: Likewise.
5481         * lib/unictype/pr_line_separator.h: Likewise.
5482         * lib/unictype/pr_math.h: Likewise.
5483         * lib/unictype/pr_non_break.h: Likewise.
5484         * lib/unictype/pr_not_a_character.h: Likewise.
5485         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
5486         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
5487         * lib/unictype/pr_other_id_continue.h: Likewise.
5488         * lib/unictype/pr_other_id_start.h: Likewise.
5489         * lib/unictype/pr_other_lowercase.h: Likewise.
5490         * lib/unictype/pr_other_math.h: Likewise.
5491         * lib/unictype/pr_other_uppercase.h: Likewise.
5492         * lib/unictype/pr_paired_punctuation.h: Likewise.
5493         * lib/unictype/pr_paragraph_separator.h: Likewise.
5494         * lib/unictype/pr_pattern_syntax.h: Likewise.
5495         * lib/unictype/pr_pattern_white_space.h: Likewise.
5496         * lib/unictype/pr_private_use.h: Likewise.
5497         * lib/unictype/pr_quotation_mark.h: Likewise.
5498         * lib/unictype/pr_radical.h: Likewise.
5499         * lib/unictype/pr_soft_dotted.h: Likewise.
5500         * lib/unictype/pr_space.h: Likewise.
5501         * lib/unictype/pr_titlecase.h: Likewise.
5502         * lib/unictype/pr_variation_selector.h: Likewise.
5503         * lib/unictype/pr_white_space.h: Likewise.
5504         * lib/unictype/sy_c_ident.h: Likewise.
5505         * lib/unictype/sy_c_whitespace.h: Likewise.
5506         * lib/unictype/sy_java_whitespace.h: Likewise.
5507         * modules/uni*/*: Bump version number of expected libunistring version.
5508         Reported by Simon Josefsson.
5509
5510 2011-01-09  Karl Heuer  <kwzh@gnu.org>
5511
5512         useless-if-before-free: fix typo in --help and make the internal,
5513         automatic version date update process work once again.
5514         --help output contained a NUL character instead of the
5515         backslash-zero that was intended.  Also, the "must lie within
5516         the first 8 lines" line is on line 9, and hence not getting
5517         automatically updated.
5518         * build-aux/useless-if-before-free: Fix the former by adding a
5519         backslash, and the latter by condensing the three lines of what-it-does
5520         to a single line, leaving one line of slack for the future.
5521
5522 2011-01-09  Bruno Haible  <bruno@clisp.org>
5523
5524         uniwidth/width: Fix width of U+1D173..U+1D17A.
5525         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
5526         symbolic_width, output_width_property_test): New functions.
5527         (main): Invoke output_nonspacing_property, output_width_property_test.
5528         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
5529         U+1D173..U+1D17A.
5530         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
5531         1.
5532         * modules/uniwidth/*: Bump version number of expected libunistring
5533         version.
5534         * modules/unilbrk/*: Likewise.
5535
5536 2011-01-08  Bruno Haible  <bruno@clisp.org>
5537
5538         uninorm tests: Preserve copyright of Unicode data file.
5539         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
5540         Mention modifications.
5541
5542 2011-01-08  Bruno Haible  <bruno@clisp.org>
5543
5544         gen-uni-tables: Prepare for Unicode 5.2.0.
5545         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
5546         (debug_output_lbp, output_lbp): Update.
5547
5548 2011-01-08  Bruno Haible  <bruno@clisp.org>
5549
5550         unilbrk: Clarify gen-uni-tables.c code.
5551         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
5552         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
5553         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
5554
5555 2011-01-07  Bruno Haible  <bruno@clisp.org>
5556
5557         strtod: Restore errno when successfully parsing Infinity or NaN.
5558         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
5559         restore the original errno.
5560
5561 2011-01-07  Bruno Haible  <bruno@clisp.org>
5562
5563         remove test: Avoid failure on HP-UX 11.
5564         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
5565
5566 2011-01-07  Bruno Haible  <bruno@clisp.org>
5567
5568         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
5569         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
5570         error code.
5571
5572 2011-01-07  Pádraig Brady <P@draigBrady.com>
5573
5574         ignore-value: fixup comments, and add Eric Blake
5575         as an author since he rewrote the macros.
5576         * lib/ignore-value.h (ignore_value):  State that
5577         we now support aggregates.  Also specify exactly
5578         when the GCC warn_unused_result feature was added.
5579
5580 2011-01-06  Eric Blake  <eblake@redhat.com>
5581
5582         ignore-value: support aggregate types
5583         * lib/ignore-value.h (ignore_value): Provide separate gcc
5584         definition.
5585         * modules/ignore-value-tests: New test module.
5586         * tests/test-ignore-value.c: New test.
5587
5588         maint.mk: improve sc_prohibit_strcmp regex
5589         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
5590         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
5591         definition of STRNEQ.
5592
5593         signal: work around Haiku issue with SIGBUS
5594         * lib/siglist.h: Add comment.
5595         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
5596         strsignal's favoring of SIGSEGV.
5597         * tests/test-signal.c (main): Avoid test failure.
5598         * doc/posix-headers/signal.texi (signal.h): Document the issue.
5599         Reported by Scott McCreary.
5600
5601         maint.mk: add pre-release check to ensure submodule commits are public
5602         * top/maint.mk (public-submodule-commit): New rule.
5603         (submodule-checks): New variable.
5604         (alpha beta stable): Depend on the variable.
5605
5606 2011-01-05  Pádraig Brady <P@draigBrady.com>
5607         and Jim Meyering  <meyering@redhat.com>
5608
5609         ignore-value: make ignore_value more generic; deprecate ignore_ptr
5610         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
5611         (ATTRIBUTE_DEPRECATED): Define.
5612         (_ignore_case): New function.
5613         (ignore_value): New macro, to replace the old function.
5614         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
5615         * modules/ignore-value (Depends-on): Add stdint.
5616
5617 2011-01-04  Eric Blake  <eblake@redhat.com>
5618
5619         doc: regenerate INSTALL
5620         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
5621         @firstparagraphindent support, now that autoconf dropped it.
5622         (INSTALL_PRELUDE): Reinstate old macro.
5623         * doc/install.texi: Resync from autoconf.
5624         * doc/INSTALL: Reflect recent autoconf update.
5625         * doc/INSTALL.ISO: Likewise.
5626         * doc/INSTALL.UTF-8: Likewise.
5627         Reported by Karl Berry.
5628
5629 2011-01-04  Bruce Korb  <address@hidden>
5630
5631         git-version-gen: avoid a sub-shell
5632         * build-aux/git-version-gen: Redirect stderr in `...` via
5633         "exec 2>...", rather than via an added sub-shell.
5634
5635 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
5636
5637         git-version-gen: use (...) rather than sh -c '...'
5638         * build-aux/git-version-gen: Rather than hard-coding a shell's name
5639         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
5640
5641 2011-01-03  Jim Meyering  <meyering@redhat.com>
5642
5643         git-version-gen: convert leading TABs to spaces
5644         * build-aux/git-version-gen: Expand leading TABs.
5645
5646         git-version-gen: handle failed "git rev-list"
5647         * build-aux/git-version-gen: Rather than leaking a "fatal" error
5648         from git and proceeding as if it had succeeded but printed no SHA1
5649         checksums, suppress the diagnostic and handle the failure.
5650         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
5651
5652         git-version-gen: include command name in one more diagnostic
5653         * build-aux/git-version-gen: When the required .tarball-version file
5654         was missing or unreadable, you might see the diagnostic from "cat",
5655         but no trace of the name of the invoking script.  Now, you still see
5656         the diagnostic from cat, but also get one from "git-version-gen: ".
5657         Inspired by a patch from Bruce Korb.
5658
5659         update-copyright: adjust test to match changed code
5660         * tests/test-update-copyright.sh: Change test's expected output
5661         to match new actual output.
5662
5663 2011-01-02  Bruno Haible  <bruno@clisp.org>
5664
5665         getlogin_r: Avoid test failure on HP-UX 11.
5666         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
5667         ERANGE when the second argument is zero.
5668         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
5669         portability problem.
5670
5671 2011-01-02  Bruce Korb  <bkorb@gnu.org>
5672
5673         * build-aux/update-copyright: doc Simon's changes
5674
5675 2011-01-02  Simon Josefsson  <simon@josefsson.org>
5676
5677         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
5678         environment variable.
5679
5680 2011-01-02  Bruno Haible  <bruno@clisp.org>
5681
5682         unigbrk: Avoid gcc warnings.
5683         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
5684         unused variable.
5685         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
5686         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
5687         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
5688         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
5689         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
5690         Change type of first argument to 'const char *'.
5691         (main): Remove unused variable.
5692         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
5693         type of first argument to 'const char *'.
5694         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
5695         Likewise.
5696         (main): Change type of variable 's'.
5697         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
5698         to 'int'.
5699
5700 2011-01-02  Bruno Haible  <bruno@clisp.org>
5701
5702         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
5703         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
5704         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
5705         bug.
5706         * lib/pwrite.c: Undo 2010-12-31 patch.
5707         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
5708
5709 2011-01-02  Bruno Haible  <bruno@clisp.org>
5710
5711         pread: Fix test whether it works.
5712         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
5713
5714 2011-01-02  Bruno Haible  <bruno@clisp.org>
5715
5716         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
5717         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
5718         ends in "6". Don't require a specific month name. Try also the locale
5719         names found on HP-UX 11 and Solaris 7.
5720
5721 2011-01-02  Bruno Haible  <bruno@clisp.org>
5722
5723         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
5724         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
5725         C linkage.
5726         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
5727
5728 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5729
5730         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
5731         for consistency, since the "cluster" term is not used elsewhere.
5732         * lib/unigbrk.in.h: Update name.
5733         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
5734         * lib/unigbrk/u16-grapheme-next.c: Update name.
5735         * lib/unigbrk/u16-grapheme-prev.c: Update name.
5736         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
5737         * lib/unigbrk/u32-grapheme-next.c: Update name.
5738         * lib/unigbrk/u32-grapheme-prev.c: Update name.
5739         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
5740         * lib/unigbrk/u8-grapheme-next.c: Update name.
5741         * lib/unigbrk/u8-grapheme-prev.c: Update name.
5742         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
5743         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
5744         Suggested by Bruno Haible.
5745
5746 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5747
5748         Remove module 'u8-grapheme-len' as too redundant with
5749         'u8-grapheme-next'.
5750         * modules/unigbrk/u8-grapheme-len: Delete file.
5751         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
5752         * lib/unigbrk.in.h: Remove prototype for deleted function.
5753         * lib/unigbrk/u8-grapheme-len.c: Delete file.
5754         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
5755
5756         Remove module 'u16-grapheme-len' as too redundant with
5757         'u16-grapheme-next'.
5758         * modules/unigbrk/u16-grapheme-len: Delete file.
5759         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
5760         * lib/unigbrk.in.h: Remove prototype for deleted function.
5761         * lib/unigbrk/u16-grapheme-len.c: Delete file.
5762         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
5763
5764         Remove module 'u32-grapheme-len' as too redundant with
5765         'u32-grapheme-next'.
5766         * modules/unigbrk/u32-grapheme-len: Delete file.
5767         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
5768         * lib/unigbrk.in.h: Remove prototype for deleted function.
5769         * lib/unigbrk/u32-grapheme-len.c: Delete file.
5770         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
5771
5772         Suggested by Bruno Haible.
5773
5774 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
5775
5776         * unigbrk.in.h: Fix typo: "ben" => "been".
5777         Reported by Bruno Haible.
5778
5779 2011-01-01  Jim Meyering  <meyering@redhat.com>
5780
5781         maint: update almost all copyright ranges to include 2011
5782         Run the new "make update-copyright" rule.
5783
5784 2011-01-01  Jim Meyering  <meyering@redhat.com>
5785
5786         maint: update-copyright: exempt doc/INSTALL*
5787         * Makefile (update-copyright): Also exclude doc/INSTALL*,
5788         since they are generated.  Suggested by Bruno Haible.
5789
5790 2011-01-01  Jim Meyering  <meyering@redhat.com>
5791
5792         maint: refine the update-copyright rule
5793         * Makefile (update-copyright): Also exclude any file that includes
5794         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
5795         code that merely generates the comment.
5796
5797 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5798
5799         New module 'u8-grapheme-len'.
5800         * modules/unigbrk/u8-grapheme-len: New file.
5801         * modules/unigbrk/u8-grapheme-len-tests: New file.
5802         * lib/unigbrk.in.h: Add prototype for new function.
5803         * lib/unigbrk/u8-grapheme-len.c: New file.
5804         * tests/unigbrk/test-u8-grapheme-len.c: New file.
5805
5806         New module 'u16-grapheme-len'.
5807         * modules/unigbrk/u16-grapheme-len: New file.
5808         * modules/unigbrk/u16-grapheme-len-tests: New file.
5809         * lib/unigbrk.in.h: Add prototype for new function.
5810         * lib/unigbrk/u16-grapheme-len.c: New file.
5811         * tests/unigbrk/test-u16-grapheme-len.c: New file.
5812
5813         New module 'u32-grapheme-len'.
5814         * modules/unigbrk/u32-grapheme-len: New file.
5815         * modules/unigbrk/u32-grapheme-len-tests: New file.
5816         * lib/unigbrk.in.h: Add prototype for new function.
5817         * lib/unigbrk/u32-grapheme-len.c: New file.
5818         * tests/unigbrk/test-u32-grapheme-len.c: New file.
5819
5820         New module 'u8-grapheme-next'.
5821         * modules/unigbrk/u8-grapheme-next: New file.
5822         * modules/unigbrk/u8-grapheme-next-tests: New file.
5823         * lib/unigbrk.in.h: Add prototype for new function.
5824         * lib/unigbrk/u8-grapheme-next.c: New file.
5825         * tests/unigbrk/test-u8-grapheme-next.c: New file.
5826
5827         New module 'u16-grapheme-next'.
5828         * modules/unigbrk/u16-grapheme-next: New file.
5829         * modules/unigbrk/u16-grapheme-next-tests: New file.
5830         * lib/unigbrk.in.h: Add prototype for new function.
5831         * lib/unigbrk/u16-grapheme-next.c: New file.
5832         * tests/unigbrk/test-u16-grapheme-next.c: New file.
5833
5834         New module 'u32-grapheme-next'.
5835         * modules/unigbrk/u32-grapheme-next: New file.
5836         * modules/unigbrk/u32-grapheme-next-tests: New file.
5837         * lib/unigbrk.in.h: Add prototype for new function.
5838         * lib/unigbrk/u32-grapheme-next.c: New file.
5839         * tests/unigbrk/test-u32-grapheme-next.c: New file.
5840
5841         New module 'u8-grapheme-prev'.
5842         * modules/unigbrk/u8-grapheme-prev: New file.
5843         * modules/unigbrk/u8-grapheme-prev-tests: New file.
5844         * lib/unigbrk.in.h: Add prototype for new function.
5845         * lib/unigbrk/u8-grapheme-prev.c: New file.
5846         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
5847
5848         New module 'u16-grapheme-prev'.
5849         * modules/unigbrk/u16-grapheme-prev: New file.
5850         * modules/unigbrk/u16-grapheme-prev-tests: New file.
5851         * lib/unigbrk.in.h: Add prototype for new function.
5852         * lib/unigbrk/u16-grapheme-prev.c: New file.
5853         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
5854
5855         New module 'u32-grapheme-prev'.
5856         * modules/unigbrk/u32-grapheme-prev: New file.
5857         * modules/unigbrk/u32-grapheme-prev-tests: New file.
5858         * lib/unigbrk.in.h: Add prototype for new function.
5859         * lib/unigbrk/u32-grapheme-prev.c: New file.
5860         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
5861
5862         New module 'u8-grapheme-breaks'.
5863         * modules/unigbrk/u8-grapheme-breaks: New file.
5864         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
5865         * lib/unigbrk.in.h: Add prototype for new function.
5866         * lib/unigbrk/u8-grapheme-breaks.c: New file.
5867         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
5868
5869         New module 'u16-grapheme-breaks'.
5870         * modules/unigbrk/u16-grapheme-breaks: New file.
5871         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
5872         * lib/unigbrk.in.h: Add prototype for new function.
5873         * lib/unigbrk/u16-grapheme-breaks.c: New file.
5874         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
5875
5876         New module 'u32-grapheme-breaks'.
5877         * modules/unigbrk/u32-grapheme-breaks: New file.
5878         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
5879         * lib/unigbrk.in.h: Add prototype for new function.
5880         * lib/unigbrk/u32-grapheme-breaks.c: New file.
5881         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
5882
5883         New module 'ulc-grapheme-breaks'.
5884         * modules/unigbrk/ulc-grapheme-breaks: New file.
5885         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
5886         * m4/locale-ar.m4: New file.
5887         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
5888         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
5889         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
5890
5891 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
5892
5893         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
5894         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
5895         modified how this file was generated before I initially submitted
5896         the module, but failed to regenerate it.  This meant that several
5897         of the level2 entries were wrong.
5898         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
5899         Remove the division-by-2 that is folded into the table now that
5900         gbrkprop.h has been regenerated properly.  Now -1 entries are
5901         handled correctly.
5902
5903         New module 'unigbrk/uc-gbrk-prop-tests'.
5904         * modules/unigbrk/uc-gbrk-prop-tests: New file.
5905         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
5906         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
5907         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
5908
5909 2011-01-01  Bruno Haible  <bruno@clisp.org>
5910
5911         Avoid use of hexadecimal escapes.
5912         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
5913         instead of hexadecimal escapes.
5914
5915 2011-01-01  Jim Meyering  <meyering@redhat.com>
5916
5917         maint: new rule to update copyright year ranges
5918         * Makefile (update-copyright): New rule.
5919
5920         maint: indent with TABs in Makefile
5921         * Makefile: Expand leading sequences of spaces to TABs
5922
5923         version-etc: update the copyright year it reports
5924         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
5925
5926 2010-12-31  Bruno Haible  <bruno@clisp.org>
5927
5928         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
5929         * lib/isfinite.c (zerof, zerod, zerol): New variables.
5930         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
5931         zero.
5932
5933 2010-12-31  Bruno Haible  <bruno@clisp.org>
5934
5935         pwrite: Work around HP-UX 11.11 bug.
5936         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
5937         works and set REPLACE_PWRITE if not.
5938         * lib/pwrite.c (pwrite): Add an implementation that uses the system
5939         function.
5940         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
5941
5942 2010-12-31  Bruno Haible  <bruno@clisp.org>
5943
5944         pread: Work around HP-UX 11 bugs.
5945         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
5946         and set REPLACE_PREAD if not.
5947         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
5948
5949 2010-12-31  Eric Blake  <eblake@redhat.com>
5950
5951         nl_langinfo: fix YESEXPR on Irix 6.5
5952         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
5953         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
5954         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
5955         it.
5956
5957 2010-12-31  Bruno Haible  <bruno@clisp.org>
5958
5959         iconv: Document HP-UX 11 bug.
5960         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
5961
5962 2010-12-31  Bruno Haible  <bruno@clisp.org>
5963
5964         ldexpl: Fix link error on HP-UX 11.
5965         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
5966         LDEXPL_LIBM, using $ISNANL_LIBM.
5967
5968 2010-12-31  Eric Blake  <eblake@redhat.com>
5969
5970         ftello: avoid compilation failure with SunStudio c89
5971         * lib/ftello.c (ftello): Use lseek, not llseek.
5972
5973         tests: avoid failing coreutils tests on cygwin
5974         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
5975         (create_exe_shims_): Return 0 when skipping.
5976
5977 2010-12-31  Bruno Haible  <bruno@clisp.org>
5978
5979         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
5980         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
5981
5982 2010-12-31  Bruno Haible  <bruno@clisp.org>
5983
5984         waitpid: Fix link error in C++ mode.
5985         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
5986
5987 2010-12-31  Bruno Haible  <bruno@clisp.org>
5988
5989         isnan: Use GCC built-ins when possible.
5990         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
5991         __builtin_isnan.
5992         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
5993         (isnan): Define using GCC built-ins for GCC >= 4.0.
5994
5995 2010-12-31  Bruno Haible  <bruno@clisp.org>
5996
5997         isnand: Fix mistake.
5998         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
5999         __builtin_isnand.
6000
6001 2010-12-31  Bruno Haible  <bruno@clisp.org>
6002
6003         open: Avoid C++ error on HP-UX 11.
6004         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
6005
6006 2010-12-31  Bruno Haible  <bruno@clisp.org>
6007
6008         time_r: Add missing declarations on HP-UX 11.
6009         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
6010         instead of HAVE_LOCALTIME_R.
6011         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
6012         HAVE_LOCALTIME_R always.
6013         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
6014         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
6015         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
6016         HAVE_LOCALTIME_R.
6017         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
6018         * doc/posix-functions/localtime_r.texi: Likewise.
6019
6020 2010-12-29  Eric Blake  <eblake@redhat.com>
6021
6022         mountlist: tweak previous commit
6023         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
6024         Reported by Paul Eggert.
6025
6026         mountlist: fix local drive detection on cygwin
6027         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
6028         that works for cygwin.
6029
6030 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
6031
6032         ftoastr, snprintf: ftoastr + snprintf module
6033         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
6034         since the snprintf module now should be good enough here.
6035         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
6036         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
6037         and gl_MODULE_INDICATOR([snprintf]), but the former enables
6038         GNULIB_SNPRINTF only for the test directory, and the latter
6039         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
6040         seems to suffice by itself.
6041
6042 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
6043
6044         alloca: one step towards thread-safety
6045         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
6046         need for a static variable.  All callers changed.  This does not
6047         make the alloca replacement thread-safe, but it's one step.
6048
6049         tests: minor indenting change
6050         * tests/init.sh: Sync from coreutils housekeeping patch
6051         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
6052         to keep lines within 80 columns.
6053
6054 2010-12-28  Jim Meyering  <meyering@redhat.com>
6055
6056         regex: don't infloop on persistent failing calloc
6057         * lib/regexec.c (build_trtable): Return failure indication upon
6058         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
6059         In glibc, this was fixed for version 2.13:
6060         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
6061
6062 2010-12-28  Bruno Haible  <bruno@clisp.org>
6063             Paul Eggert <eggert@cs.ucla.edu>
6064
6065         linkat: Make implementation robust against system behaviour variations.
6066         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
6067         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
6068         way, and to -2 if it needs a generic runtime test.
6069         * lib/linkat.c (solaris_optimized_link_immediate,
6070         solaris_optimized_link_follow): New functions.
6071         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
6072         (check_same_link): Use it.
6073
6074 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
6075
6076         New module 'unigbrk/base'.
6077         * modules/unigbrk/base: New file.
6078         * lib/unigbrk.in.h: New file.
6079
6080         New module 'unigbrk/uc-gbrk-prop'.
6081         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
6082         * modules/unigbrk/uc-gbrk-prop: New file.
6083         * lib/unigbrk/gbrkprop.h: New file.
6084         * lib/unigbrk/uc-gbrk-prop.c: New file.
6085
6086         New module 'unigbrk/uc-is-grapheme-break'.
6087         * modules/unigbrk/uc-is-grapheme-break: New file.
6088         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
6089         * lib/unigbrk/uc-is-grapheme-break.c: New file.
6090         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
6091         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
6092         * tests/unigbrk/GraphemeBreakTest.txt: New file.
6093
6094         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
6095
6096 2010-12-27  Bruno Haible  <bruno@clisp.org>
6097
6098         linkat test: Avoid failure on Solaris 11 2010-11.
6099         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
6100
6101 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6102
6103         utimens: work around glibc rounding bug on more platforms
6104         * lib/utimens.c (fdutimens): Work around rounding bug even if
6105         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
6106         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
6107
6108 2010-12-27  Bruno Haible  <bruno@clisp.org>
6109
6110         select tests: Improve comments.
6111         * tests/test-select.c (do_select): Add comments.
6112
6113 2010-12-27  Bruno Haible  <bruno@clisp.org>
6114
6115         select tests: Safer way of handling timeout.
6116         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
6117         at every invocation.
6118
6119 2010-12-27  Bruno Haible  <bruno@clisp.org>
6120
6121         select tests: Use 'bool' where appropriate.
6122         * tests/test-select.c (connect_to_socket): Change argument type to
6123         'bool'.
6124
6125 2010-12-27  Bruno Haible  <bruno@clisp.org>
6126
6127         select tests: Use existing modules.
6128         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
6129         (configure.ac): Don't test for unistd.h.
6130         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
6131         declared in <unistd.h>.
6132
6133 2010-12-27  Bruno Haible  <bruno@clisp.org>
6134
6135         mbrtowc: Work around a Solaris 7 bug.
6136         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
6137         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
6138         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
6139         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
6140         MBRTOWC_NULL_ARG1_BUG.
6141         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
6142         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
6143         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
6144         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
6145
6146 2010-12-27  Jim Meyering  <meyering@redhat.com>
6147
6148         read-file.c: tweak syntax
6149         * lib/read-file.c (fread_file): Remove space after "*" in function
6150         definitions.
6151
6152 2010-12-27  Bruno Haible  <bruno@clisp.org>
6153
6154         times test: Avoid gcc warnings on OSF/1.
6155         * tests/test-times.c (main): Cast printf arguments from clock_t to
6156         'long int'.
6157
6158 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
6159
6160         utimens: work around glibc rounding bug on older Linux kernels
6161         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
6162         on Linux with a glibc whose utimes might not work, then work
6163         around a longstanding glibc bug involving rounding rather than
6164         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
6165         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6166
6167 2010-12-26  Bruno Haible  <bruno@clisp.org>
6168
6169         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
6170         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
6171         _GL_CXXALIAS_SYS.
6172         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6173
6174 2010-12-26  Bruno Haible  <bruno@clisp.org>
6175
6176         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
6177         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
6178         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
6179         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
6180         looking for the declaration.
6181         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
6182         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
6183         problem.
6184         * doc/posix-functions/inet_pton.texi: Likewise.
6185
6186 2010-12-26  Bruno Haible  <bruno@clisp.org>
6187
6188         arpa_inet: Use the common idioms with C++ support.
6189         * lib/arpa_inet.in.h: Include c++defs.h.
6190         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
6191         support.
6192         * modules/arpa_inet (Depends-on): Add c++defs.
6193         (Makefile.am): Substitute the contents of c++defs.h.
6194         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
6195         * modules/arpa_inet-c++-tests: New file.
6196         * tests/test-arpa_inet-c++.cc: New file.
6197
6198 2010-12-25  Bruno Haible  <bruno@clisp.org>
6199
6200         Fix more C++ link errors on Solaris 8.
6201         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
6202         $(LIB_EACCESS).
6203         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
6204         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
6205         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
6206         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
6207         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
6208
6209 2010-12-25  Bruno Haible  <bruno@clisp.org>
6210
6211         printf-posix: Fix link error when a non-GCC compiler is used.
6212         * lib/stdio.in.h (printf): When not using GCC, override printf
6213         correctly.
6214         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6215
6216 2010-12-25  Bruno Haible  <bruno@clisp.org>
6217
6218         strerror_r-posix: Update doc.
6219         * doc/posix-functions/strerror_r.texi: Update doc about the return
6220         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
6221
6222 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6223
6224         utimens: simplify the logic of the previous change
6225         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
6226         This should not affect whether the test succeeds or fails.
6227
6228         utimens: configure better on hosts with NFS clock skew
6229         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
6230         uses the clock of the local host.  It might use the clock of the
6231         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
6232         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
6233
6234 2010-12-25  Bruno Haible  <bruno@clisp.org>
6235
6236         ptsname test: Avoid failure on Solaris.
6237         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
6238         open a pseudo-terminal; don't use BSD-style ptys.
6239         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
6240
6241 2010-12-25  Bruno Haible  <bruno@clisp.org>
6242
6243         ptsname: Avoid ERANGE failure on some systems.
6244         * lib/ptsname.c (buffer): Increase size.
6245
6246 2010-12-25  Bruno Haible  <bruno@clisp.org>
6247
6248         rename, renameat: Avoid test failures at NFS mounted locations.
6249         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
6250         so that subsequent mkdir calls succeed.
6251
6252 2010-12-25  Bruno Haible  <bruno@clisp.org>
6253
6254         iswblank: Fix C++ link error on Solaris 8.
6255         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
6256         _GL_FUNCDECL_SYS.
6257
6258 2010-12-25  Bruno Haible  <bruno@clisp.org>
6259
6260         unistd: Fix C++ link error on Solaris 8.
6261         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
6262
6263 2010-12-25  Bruno Haible  <bruno@clisp.org>
6264
6265         readlink doc: Mention an old glibc bug.
6266         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
6267
6268 2010-12-25  Bruno Haible  <bruno@clisp.org>
6269
6270         fcntl-h: Fix for use of C++ on glibc systems.
6271         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
6272         also on glibc systems in C++ mode.
6273         Reported by Gary V. Vaughan <gary@gnu.org>.
6274
6275 2010-12-25  Bruno Haible  <bruno@clisp.org>
6276
6277         roundl-ieee: Make it work on OSF/1 5.1 with cc.
6278         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
6279
6280 2010-12-25  Bruno Haible  <bruno@clisp.org>
6281
6282         truncl-ieee: Make it work on OSF/1 5.1 with cc.
6283         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
6284         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
6285         test whether truncl works according to ISO C 99 with IEC 60559.
6286         * m4/truncl-ieee.m4: New file.
6287         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
6288         m4/signbit.m4.
6289         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
6290
6291 2010-12-25  Bruno Haible  <bruno@clisp.org>
6292
6293         ceill-ieee: Make it work on OSF/1 5.1 with cc.
6294         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
6295         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
6296         test whether ceill works according to ISO C 99 with IEC 60559.
6297         * m4/ceill-ieee.m4: New file.
6298         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
6299         m4/signbit.m4.
6300         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
6301
6302 2010-12-25  Bruno Haible  <bruno@clisp.org>
6303
6304         Ensure all prerequisites of <wchar.h> are included.
6305         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
6306         before <wchar.h>.
6307         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
6308         gl_MBRLEN_NUL_RETVAL): Likewise.
6309         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6310         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
6311         AC_FUNC_MBRTOWC): Likewise.
6312         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6313         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
6314         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
6315         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6316         Likewise.
6317         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6318         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
6319         (gl_WCHAR_H): Improve comments.
6320         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
6321
6322 2010-12-25  Bruno Haible  <bruno@clisp.org>
6323
6324         strtok_r: Fix C syntax error in autoconf macro.
6325         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
6326         characters in test program.
6327
6328 2010-12-24  Bruno Haible  <bruno@clisp.org>
6329
6330         ceil, trunc, round: Fix gcc warnings.
6331         * lib/ceil.c (MIN): Undefine before redefining.
6332         * lib/trunc.c (MIN): Likewise.
6333         * lib/round.c (MIN): Likewise.
6334         Include <math.h> first.
6335
6336 2010-12-24  Bruno Haible  <bruno@clisp.org>
6337
6338         select tests: Avoid failures on OSF/1 5.1.
6339         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
6340         failure of closing the last socket; it may fail with ECONNRESET.
6341
6342 2010-12-24  Eric Blake  <eblake@redhat.com>
6343
6344         stdint: avoid HP-UX 10.20 preprocessor bug
6345         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
6346         than #if.
6347         * tests/test-floor2.c (main): Likewise.
6348         Reported by Peter O'Gorman.
6349
6350         pipe: make obsoletion transition easier
6351         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
6352         * modules/pipe (Files): Include revived file.
6353         (Include): Drop reference, to mirror getdate's behavior.
6354
6355 2010-12-24  Bruno Haible  <bruno@clisp.org>
6356
6357         sys_socket: Hide mismatch of declarations on NonStop Kernel.
6358         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
6359         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
6360         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6361
6362 2010-12-24  Bruno Haible  <bruno@clisp.org>
6363
6364         gethostname: Ensure declaration on NonStop Kernel.
6365         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
6366         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6367
6368 2010-12-24  Bruno Haible  <bruno@clisp.org>
6369
6370         sys_select: Ensure all necessary types on NonStop Kernel.
6371         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
6372         include <sys/time.h>.
6373         * doc/posix-headers/sys_select.texi: Mention that it's missing on
6374         NonStop Kernel.
6375         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6376
6377 2010-12-24  Bruno Haible  <bruno@clisp.org>
6378
6379         sys_select: Remove unneeded include.
6380         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
6381         have <sys/select.h>.
6382
6383 2010-12-24  Bruno Haible  <bruno@clisp.org>
6384
6385         gethostname: Provide a fallback for HOST_NAME_MAX.
6386         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
6387         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
6388         instead.
6389         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6390
6391 2010-12-24  Bruno Haible  <bruno@clisp.org>
6392
6393         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
6394         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
6395         (SA_RESTART): Likewise.
6396         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6397
6398 2010-12-24  Bruno Haible  <bruno@clisp.org>
6399
6400         signal: Define NSIG.
6401         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
6402         * tests/test-signal.c (nsig): New variable.
6403         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6404
6405 2010-12-24  Bruno Haible  <bruno@clisp.org>
6406
6407         rename, renameat: Avoid test failures on OSF/1 5.1.
6408         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
6409         alternative error codes.
6410         * tests/test-renameat.c (main): Likewise.
6411
6412 2010-12-24  Bruno Haible  <bruno@clisp.org>
6413
6414         *printf: Detect large precisions bug on Solaris 10/SPARC.
6415         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
6416         by Paul Eggert.
6417         * tests/test-snprintf-posix.h (test_function): Add this test code here
6418         too.
6419         * tests/test-sprintf-posix.h (test_function): Likewise.
6420         * tests/test-vasnprintf-posix.c (test_function): Likewise.
6421         * tests/test-vasprintf-posix.c (test_function): Likewise.
6422         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
6423         around by gnulib.
6424         * doc/posix-functions/printf.texi: Likewise.
6425         * doc/posix-functions/snprintf.texi: Likewise.
6426         * doc/posix-functions/sprintf.texi: Likewise.
6427         * doc/posix-functions/vfprintf.texi: Likewise.
6428         * doc/posix-functions/vprintf.texi: Likewise.
6429         * doc/posix-functions/vsnprintf.texi: Likewise.
6430         * doc/posix-functions/vsprintf.texi: Likewise.
6431         * doc/posix-functions/dprintf.texi: Undo last commit.
6432         * doc/posix-functions/vdprintf.texi: Likewise.
6433
6434 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
6435
6436         tests: port test-fdutimensat.c to Solaris 8
6437         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
6438         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
6439         On Solaris 8, it fails with errno == ENOSYS, because there is no
6440         futimens (so it can't use the fd), and there is no lutimens (so it
6441         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
6442
6443         vsnprintf: make more consistent with snprintf; doc fixes
6444
6445         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
6446         the byte count return problem was promoted from the snprintf-posix
6447         to the snprintf module.
6448         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
6449         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
6450         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
6451         * tests/test-snprintf.c (main): Check the byte count returned.
6452         * tests/test-vsnprintf.c (main): Likewise.
6453
6454 2010-12-23  Eric Blake  <eblake@redhat.com>
6455
6456         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
6457         * modules/sigpipe (License): Relax license.
6458
6459 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
6460
6461         doc: document Solaris printf bug with large float precisions
6462         * doc/posix-functions/dprintf.texi (dprintf):
6463         * doc/posix-functions/fprintf.texi (fprintf):
6464         * doc/posix-functions/printf.texi (printf):
6465         * doc/posix-functions/snprintf.texi (snprintf):
6466         * doc/posix-functions/sprintf.texi (sprintf):
6467         * doc/posix-functions/vdprintf.texi (vdprintf):
6468         * doc/posix-functions/vfprintf.texi (vfprintf):
6469         * doc/posix-functions/vprintf.texi (vprintf):
6470         * doc/posix-functions/vsnprintf.texi (vsnprintf):
6471         * doc/posix-functions/vsprintf.texi (vsprintf):
6472         Mention that these functions mishandle large floating point
6473         precisions on Solaris 10.  The same bug is also present in Solaris
6474         8, and I assume earlier.  This causes "cd gnulib-tests; make
6475         check" to fail on Solaris 8 (and I assume, later) when building
6476         the latest coreutils, in test-vasprintf-posix's call to
6477         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
6478         the wide flavors (e.g., wprintf) so this patch just updates the
6479         documentation for the narrow ones.
6480
6481         test-posixtm.c: add two tests
6482         * tests/test-posixtm.c: Add two tests, to highlight the
6483         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
6484         around this bug; this is merely to document it.
6485
6486 2010-12-22  Bruno Haible  <bruno@clisp.org>
6487
6488         getlogin_r: Work around portability problem on OSF/1.
6489         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
6490         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
6491         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
6492         test for a truncated result.
6493         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
6494         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
6495         * modules/getlogin_r (Depends-on): Add memchr.
6496         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
6497
6498 2010-12-22  Bruno Haible  <bruno@clisp.org>
6499
6500         ptsname: Avoid test failure on OSF/1 5.1.
6501         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
6502         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
6503         (same_slave): New function.
6504         (main): Use it to compare ptsname's result with the expected file name.
6505
6506 2010-12-22  Bruno Haible  <bruno@clisp.org>
6507
6508         Port extended stdio modules to HP NonStop Kernel.
6509         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
6510         macros.
6511         * lib/fbufmode.c: Update comments.
6512         * lib/fflush.c: Likewise.
6513         * lib/fpurge.c: Likewise.
6514         * lib/freadable.c: Likewise.
6515         * lib/freadahead.c: Likewise.
6516         * lib/freading.c: Likewise.
6517         * lib/freadptr.c: Likewise.
6518         * lib/freadseek.c: Likewise.
6519         * lib/fseeko.c: Likewise.
6520         * lib/fseterr.c: Likewise.
6521         * lib/fwritable.c: Likewise.
6522         * lib/fwriting.c: Likewise.
6523         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
6524
6525 2010-12-22  Bruno Haible  <bruno@clisp.org>
6526
6527         ttyname_r: Work around bug on OSF/1 5.1.
6528         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
6529         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
6530         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
6531         present.
6532         * lib/ttyname_r.c (ttyname_r): Update comments.
6533
6534 2010-12-22  Bruno Haible  <bruno@clisp.org>
6535
6536         round: Implement result sign according to IEEE 754.
6537         * lib/round.c (MIN, MINUS_ZERO): New macros.
6538         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
6539         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
6540         * tests/test-round-ieee.c (main): Likewise.
6541         * tests/test-roundl-ieee.c (main): Likewise.
6542
6543         trunc: Implement result sign according to IEEE 754.
6544         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
6545         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
6546         * tests/test-trunc2.c: Include minus-zero.h.
6547         (MINUS_ZERO): New macro.
6548         (trunc_reference): Keep in sync with lib/trunc.c.
6549         * tests/test-truncf2.c: Include minus-zero.h.
6550         (MINUS_ZERO): New macro.
6551         (truncf_reference): Keep in sync with lib/trunc.c.
6552         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
6553         * tests/test-trunc-ieee.c (main): Likewise.
6554         * tests/test-truncl-ieee.c (main): Likewise.
6555
6556         ceil: Implement result sign according to IEEE 754.
6557         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
6558         (FUNC): Return -0.0 for -1 < x < 0.
6559         * tests/test-ceil2.c: Include minus-zero.h.
6560         (MINUS_ZERO): New macro.
6561         (ceil_reference): Keep in sync with lib/ceil.c.
6562         * tests/test-ceilf2.c: Include minus-zero.h.
6563         (MINUS_ZERO): New macro.
6564         (ceilf_reference): Keep in sync with lib/ceil.c.
6565         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
6566         * tests/test-ceil-ieee.c (main): Likewise.
6567         * tests/test-ceill-ieee.c (main): Likewise.
6568
6569         floor: Implement result sign according to IEEE 754.
6570         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
6571         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
6572         * tests/test-floorf2.c (floorf_reference): Likewise.
6573         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
6574         * tests/test-floor-ieee.c (main): Likewise.
6575         * tests/test-floorl-ieee.c (main): Likewise.
6576
6577 2010-12-22  Bruno Haible  <bruno@clisp.org>
6578
6579         getaddrinfo: Update doc.
6580         * doc/posix-functions/gai_strerror.texi: Return type is also different
6581         on AIX and HP-UX.
6582
6583 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
6584
6585         getaddrinfo, inet_ntop: Update doc for Solaris.
6586         * doc/posix-functions/gai_strerror.texi: Return type is also an
6587         issue on Solaris 9 and earlier.
6588         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
6589         on Solaris 10 and earlier.
6590
6591 2010-12-21  Bruno Haible  <bruno@clisp.org>
6592
6593         New module 'roundl-ieee'.
6594         * modules/roundl-ieee: New file.
6595         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
6596         test whether roundl works according to ISO C 99 with IEC 60559.
6597         * m4/roundl-ieee.m4: New file.
6598         * modules/roundl-ieee-tests: New file.
6599         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
6600         * tests/test-roundl.c (main): Remove signbit tests.
6601         * modules/roundl-tests (Depends-on): Remove signbit.
6602         * doc/posix-functions/roundl.texi: Mention the new module.
6603
6604 2010-12-21  Bruno Haible  <bruno@clisp.org>
6605
6606         New module 'truncl-ieee'.
6607         * modules/truncl-ieee: New file.
6608         * modules/truncl-ieee-tests: New file.
6609         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
6610         * tests/test-truncl.c (main): Remove signbit tests.
6611         * modules/truncl-tests (Depends-on): Remove signbit.
6612         * doc/posix-functions/truncl.texi: Mention the new module.
6613
6614 2010-12-21  Bruno Haible  <bruno@clisp.org>
6615
6616         New module 'ceill-ieee'.
6617         * modules/ceill-ieee: New file.
6618         * modules/ceill-ieee-tests: New file.
6619         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
6620         * tests/test-ceill.c (main): Remove signbit tests.
6621         * modules/ceill-tests (Depends-on): Remove signbit.
6622         * doc/posix-functions/ceill.texi: Mention the new module.
6623
6624 2010-12-21  Bruno Haible  <bruno@clisp.org>
6625
6626         New module 'floorl-ieee'.
6627         * modules/floorl-ieee: New file.
6628         * modules/floorl-ieee-tests: New file.
6629         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
6630         * tests/test-floorl.c (main): Remove signbit tests.
6631         * modules/floorl-tests (Depends-on): Remove signbit.
6632         * doc/posix-functions/floorl.texi: Mention the new module.
6633
6634 2010-12-21  Bruno Haible  <bruno@clisp.org>
6635
6636         New module 'round-ieee'.
6637         * modules/round-ieee: New file.
6638         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
6639         whether round works according to ISO C 99 with IEC 60559.
6640         * m4/round-ieee.m4: New file.
6641         * modules/round-ieee-tests: New file.
6642         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
6643         * tests/test-round1.c (main): Remove signbit tests.
6644         * modules/round-tests (Depends-on): Remove 'signbit'.
6645         * doc/posix-functions/round.texi: Mention the new module.
6646
6647 2010-12-21  Bruno Haible  <bruno@clisp.org>
6648
6649         New module 'trunc-ieee'.
6650         * modules/trunc-ieee: New file.
6651         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
6652         whether trunc works according to ISO C 99 with IEC 60559.
6653         * m4/trunc-ieee.m4: New file.
6654         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
6655         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
6656         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
6657         * modules/trunc-ieee-tests: New file.
6658         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
6659         * tests/test-trunc1.c (main): Remove signbit tests.
6660         * modules/trunc-tests (Depends-on): Remove 'signbit'.
6661         * doc/posix-functions/trunc.texi: Mention the new module.
6662
6663 2010-12-21  Bruno Haible  <bruno@clisp.org>
6664
6665         New module 'ceil-ieee'.
6666         * modules/ceil-ieee: New file.
6667         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
6668         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
6669         ISO C 99 with IEC 60559.
6670         * m4/ceil-ieee.m4: New file.
6671         * modules/ceil (Files): Add lib/ceil.c.
6672         (Depends-on): Add 'float'.
6673         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6674         * lib/math.in.h (ceil): New declaration.
6675         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
6676         REPLACE_CEIL.
6677         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
6678         * modules/ceil-ieee-tests: New file.
6679         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
6680         * tests/test-math-c++.cc: Check the signature of 'ceil'.
6681         * doc/posix-functions/ceil.texi: Mention the new module.
6682
6683 2010-12-21  Bruno Haible  <bruno@clisp.org>
6684
6685         New module 'floor-ieee'.
6686         * modules/floor-ieee: New file.
6687         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
6688         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
6689         ISO C 99 with IEC 60559.
6690         * m4/floor-ieee.m4: New file.
6691         * modules/floor (Files): Add lib/floor.c.
6692         (Depends-on): Add 'float'.
6693         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
6694         * lib/math.in.h (floor): New declaration.
6695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
6696         REPLACE_FLOOR.
6697         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
6698         * modules/floor-ieee-tests: New file.
6699         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
6700         * tests/test-math-c++.cc: Check the signature of 'floor'.
6701         * doc/posix-functions/floor.texi: Mention the new module.
6702
6703 2010-12-21  Bruno Haible  <bruno@clisp.org>
6704
6705         New module 'roundf-ieee'.
6706         * modules/roundf-ieee: New file.
6707         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
6708         test whether roundf works according to ISO C 99 with IEC 60559.
6709         * m4/roundf-ieee.m4: New file.
6710         * modules/roundf-ieee-tests: New file.
6711         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
6712         * tests/test-roundf1.c (main): Remove signbit tests.
6713         * modules/roundf-tests (Depends-on): Remove 'signbit'.
6714         * doc/posix-functions/roundf.texi: Mention the new module.
6715
6716 2010-12-21  Bruno Haible  <bruno@clisp.org>
6717
6718         New module 'truncf-ieee'.
6719         * modules/truncf-ieee: New file.
6720         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
6721         test whether truncf works according to ISO C 99 with IEC 60559.
6722         * m4/truncf-ieee.m4: New file.
6723         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
6724         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
6725         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
6726         * modules/truncf-ieee-tests: New file.
6727         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
6728         * tests/test-truncf1.c (main): Remove signbit tests.
6729         * modules/truncf-tests (Depends-on): Remove 'signbit'.
6730         * doc/posix-functions/truncf.texi: Mention the new module.
6731
6732 2010-12-21  Bruno Haible  <bruno@clisp.org>
6733
6734         New module 'ceilf-ieee'.
6735         * modules/ceilf-ieee: New file.
6736         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
6737         test whether ceilf works according to ISO C 99 with IEC 60559.
6738         * m4/ceilf-ieee.m4: New file.
6739         * modules/ceilf-ieee-tests: New file.
6740         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
6741         * tests/test-ceilf1.c (main): Remove signbit tests.
6742         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
6743         * doc/posix-functions/ceilf.texi: Mention the new module.
6744
6745 2010-12-21  Bruno Haible  <bruno@clisp.org>
6746
6747         New module 'floorf-ieee'.
6748         * modules/floorf-ieee: New file.
6749         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
6750         test whether floorf works according to ISO C 99 with IEC 60559.
6751         * m4/floorf-ieee.m4: New file.
6752         * modules/floorf-ieee-tests: New file.
6753         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
6754         * tests/test-floorf1.c (main): Remove signbit tests.
6755         * modules/floorf-tests (Depends-on): Remove 'signbit'.
6756         * doc/posix-functions/floorf.texi: Mention the new module.
6757
6758 2010-12-21  Bruno Haible  <bruno@clisp.org>
6759
6760         Support for minus zero in autoconf macros.
6761         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
6762         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
6763         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
6764         * tests/minus-zero.h: Update comments.
6765
6766 2010-12-21  Bruno Haible  <bruno@clisp.org>
6767
6768         Tests for module 'ceil'.
6769         * modules/ceil-tests: New file.
6770         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
6771         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
6772
6773 2010-12-21  Bruno Haible  <bruno@clisp.org>
6774
6775         Tests for module 'floor'.
6776         * modules/floor-tests: New file.
6777         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
6778         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
6779
6780 2010-12-21  Bruno Haible  <bruno@clisp.org>
6781
6782         math: Fix indentation.
6783         * lib/math.in.h (floorf): Fix indentation.
6784
6785 2010-12-21  Bruno Haible  <bruno@clisp.org>
6786
6787         Fix cross-compilation guesses on Solaris.
6788         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
6789         not match "solaris2.10".
6790         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
6791         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
6792         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
6793
6794 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
6795
6796         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
6797         This fixes a problem observed with the latest coreutils snapshot
6798         that caused a test to fail on Solaris 8.  src/csplit.c's call
6799         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
6800         earlier, instead of returning the number of bytes that would have
6801         been generated; this causes csplit to incorrectly report memory
6802         exhaustion.
6803         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
6804         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
6805         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
6806         comments to match.
6807         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
6808         Fix typo in matching older versions of Solaris: "solaris2.10"
6809         is matched by the shell pattern "solaris2.[0-9]*".  This matters
6810         only for guessing while cross-compiling.
6811         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
6812
6813 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
6814
6815         ftoastr: fix comment again
6816         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6817         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
6818         Also, simplify example a bit by using flags = 0.
6819
6820 2010-12-20  Bruno Haible  <bruno@clisp.org>
6821
6822         round*, trunc*: Update documentation regarding glibc.
6823         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
6824         * doc/posix-functions/round.texi: Likewise.
6825         * doc/posix-functions/roundl.texi: Likewise.
6826         * doc/posix-functions/truncf.texi: Likewise.
6827         * doc/posix-functions/trunc.texi: Likewise.
6828         * doc/posix-functions/truncl.texi: Likewise.
6829
6830 2010-12-20  Bruno Haible  <bruno@clisp.org>
6831
6832         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
6833         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
6834         * doc/posix-functions/round.texi: Likewise.
6835         * doc/posix-functions/roundl.texi: Likewise.
6836
6837 2010-12-20  Bruno Haible  <bruno@clisp.org>
6838
6839         ttyname_r: Add missing declaration on HP-UX 11.
6840         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
6841         HAVE_TTYNAME_R.
6842         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
6843         declared. Set HAVE_TTYNAME_R always.
6844         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6845         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
6846         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
6847         HAVE_TTYNAME_R.
6848         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
6849
6850 2010-12-20  Bruno Haible  <bruno@clisp.org>
6851
6852         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
6853         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
6854         * doc/posix-functions/getlogin_r.texi: Likewise.
6855         * tests/test-getlogin.c: Include <errno.h>.
6856         (main): Avoid test failure on HP-UX 11.11.
6857         * tests/test-getlogin_r.c (main): Likewise.
6858
6859 2010-12-20  Bruno Haible  <bruno@clisp.org>
6860
6861         getlogin_r: Add missing declaration on HP-UX 11.
6862         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
6863         declared also when it exists as a function.
6864         * doc/posix-functions/getlogin_r.texi: Document this workaround.
6865
6866 2010-12-20  Bruno Haible  <bruno@clisp.org>
6867
6868         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
6869         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
6870         through wcrtomb.
6871
6872 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
6873
6874         ftoastr: fix comment
6875         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
6876         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
6877
6878 2010-12-19  Bruno Haible  <bruno@clisp.org>
6879
6880         isnan: Ensure it is a macro.
6881         * lib/math.in.h (isnan): Define as a macro if not already a macro.
6882         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
6883         Solaris.
6884
6885 2010-12-19  Bruno Haible  <bruno@clisp.org>
6886
6887         ldexpl test: Fix link error on OSF/1 5.1.
6888         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
6889
6890 2010-12-19  Bruno Haible  <bruno@clisp.org>
6891
6892         wctype: Make it work in C++ mode on OSF/1 5.1.
6893         * lib/wctype.in.h (iswblank): Declare but not define here.
6894         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
6895         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
6896         * modules/wctype (Files): Add lib/iswblank.c.
6897
6898 2010-12-19  Bruno Haible  <bruno@clisp.org>
6899
6900         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
6901         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
6902         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
6903
6904 2010-12-19  Bruno Haible  <bruno@clisp.org>
6905
6906         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
6907         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
6908         _POSIX_PII_SOCKET.
6909         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
6910         * doc/posix-functions/recvfrom.texi: Likewise.
6911         * doc/posix-functions/send.texi: Likewise.
6912         * doc/posix-functions/sendto.texi: Likewise.
6913
6914 2010-12-19  Bruno Haible  <bruno@clisp.org>
6915
6916         tcgetsid: Add missing declaration on OSF/1 5.1.
6917         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
6918         HAVE_TCGETSID.
6919         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
6920         Don't set HAVE_TCGETSID.
6921         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
6922         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
6923         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
6924         HAVE_TCGETSID.
6925         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
6926
6927 2010-12-19  Bruno Haible  <bruno@clisp.org>
6928
6929         stdio: Fix problem with popen() declaration on OSF/1 5.1.
6930         * lib/stdio.in.h: During the include_next statement, let recursive
6931         includes of this file include only the system header file.
6932
6933 2010-12-19  Bruno Haible  <bruno@clisp.org>
6934
6935         iconv_open: Fix regression from 2010-12-04.
6936         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
6937         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
6938
6939 2010-12-19  Bruno Haible  <bruno@clisp.org>
6940
6941         stdbool test: Avoid a gcc warning.
6942         * tests/test-stdbool.c (main): Fail if e1 is false.
6943         Reported by Jim Meyering.
6944
6945 2010-12-19  Jim Meyering  <meyering@redhat.com>
6946
6947         setenv: restore to working order
6948         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
6949         mistakenly removed.
6950         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
6951         HAVE_SETENV.
6952         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
6953         HAVE_SETENV.
6954
6955 2010-12-19  Bruno Haible  <bruno@clisp.org>
6956
6957         Document some different function declarations on OSF/1 5.1.
6958         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
6959         * doc/posix-functions/inet_ntop.texi: Likewise.
6960         * doc/posix-functions/gethostname.texi: Likewise.
6961         * lib/unistd.in.h (gethostname): Update comment.
6962
6963 2010-12-19  Bruno Haible  <bruno@clisp.org>
6964
6965         doc: Mention vasprintf-posix module.
6966         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
6967         the 'vasprintf-posix' module.
6968         * doc/glibc-functions/vasprintf.texi: Likewise.
6969
6970 2010-12-19  Bruno Haible  <bruno@clisp.org>
6971
6972         unsetenv: Add missing declaration on OSF/1 5.1.
6973         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
6974         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
6975         Don't set HAVE_UNSETENV. In the test program, set _BSD.
6976         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
6977         not HAVE_UNSETENV.
6978         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
6979         HAVE_UNSETENV.
6980         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
6981
6982 2010-12-19  Bruno Haible  <bruno@clisp.org>
6983
6984         setenv: Add missing declaration on OSF/1 5.1.
6985         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
6986         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
6987         declared. Don't set HAVE_SETENV.
6988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
6989         not HAVE_SETENV.
6990         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
6991         HAVE_SETENV.
6992         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
6993
6994 2010-12-19  Bruno Haible  <bruno@clisp.org>
6995
6996         nl_langinfo tests: Avoid gcc warning.
6997         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
6998
6999 2010-12-19  Bruno Haible  <bruno@clisp.org>
7000
7001         mknod: Avoid error in C++ mode on OSF/1 with GCC.
7002         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
7003         _GL_CXXALIAS_SYS.
7004
7005 2010-12-19  Bruno Haible  <bruno@clisp.org>
7006
7007         stdbool: Relax test.
7008         * tests/test-stdbool.c (e): Don't require that casts from a variable's
7009         address to 'bool' work in static initializer, for compilers other than
7010         GCC.
7011
7012 2010-12-19  Bruno Haible  <bruno@clisp.org>
7013
7014         ftello: Add missing declaration on OSF/1 5.1.
7015         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
7016         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
7017         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
7018         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
7019         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
7020
7021 2010-12-19  Bruno Haible  <bruno@clisp.org>
7022
7023         fseeko: Add missing declaration on OSF/1 5.1.
7024         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
7025         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
7026         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
7027         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
7028         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
7029
7030 2010-12-19  Bruno Haible  <bruno@clisp.org>
7031
7032         fchdir: Add missing declaration on OSF/1 5.1.
7033         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
7034         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
7035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
7036         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
7037         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
7038
7039 2010-12-19  Bruno Haible  <bruno@clisp.org>
7040
7041         relocatable-prog-wrapper: Separate from relocatable-prog.
7042         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
7043         uninstall-relocwrapper rule here.
7044         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
7045         Reported by Ian Beckwith <ianb@erislabs.net>.
7046
7047 2010-12-19  Bruno Haible  <bruno@clisp.org>
7048
7049         unistr/u8-mbsnlen: Add missing dependency.
7050         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
7051         Reported by Ian Beckwith <ianb@erislabs.net>.
7052
7053 2010-12-19  Bruno Haible  <bruno@clisp.org>
7054
7055         iconv: Make it possible again to use this module without 'iconv-h'.
7056         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
7057         if it is not defined.
7058         Reported by Ian Beckwith <ianb@erislabs.net>.
7059
7060 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7061
7062         acl: port to Solaris 8 when copying from tmpfs to ufs
7063         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
7064         error number.  Problem observed on Solaris 8 with latest
7065         coreutils, with "mv A B", where A is on a tmpfs file system and B
7066         is on a ufs file system.  This caused coreutils' mv/part-symlink
7067         test to fail.
7068
7069         tests: set fail=0 at start
7070         * tests/init.sh (setup_): Move fail=0 initialization here ...
7071         (mktempd_): ... from here, so that tests can rely on fail being
7072         set to 0 initially.  This fixes a problem in coreutils; see:
7073         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
7074
7075 2010-12-18  Bruno Haible  <bruno@clisp.org>
7076
7077         memmem-simple: Stylistic changes.
7078         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
7079         Fix preprocessor directive indentation.
7080
7081 2010-12-15  Pádraig Brady <P@draigBrady.com>
7082
7083         memmem, memmem-simple: reorganize and expand empty needle check
7084         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
7085         functional checks to memmem-simple so that one has a fully functional
7086         memmem by using just this module.
7087         Restrict the performance only check to the memmem module.
7088         Also expand the empty needle check to ensure the correct
7089         pointer is returned, not just a non NULL pointer.
7090         * doc/glibc-functions/memmem.texi: Rearrange the portability
7091         documentation to correlate with the rearranged checks.
7092         Clarify exactly how the memmem and memmem-simple modules
7093         relate to each other.
7094
7095 2010-12-15  Pádraig Brady <P@draigBrady.com>
7096             Bruno Haible  <bruno@clisp.org>
7097
7098         Improve cross-compilation guesses for uClibc.
7099         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
7100         that uClibc does not have the glibc bug.
7101         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
7102         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
7103
7104 2010-12-14  Eric Blake  <eblake@redhat.com>
7105
7106         configmake: provide fallbacks for oldest supported autotools
7107         * m4/configmake.m4: New file.
7108         * modules/configmake (Files): Ship it.
7109         (configure.ac): Use it to guarantee fallbacks.
7110
7111 2010-12-13  Pádraig Brady <P@draigBrady.com>
7112
7113         read-file: Improve handling of large files
7114         * lib/read-file.c (fread_file): Minimize realloc()s
7115         for regular files, and better manage sizes around SIZE_MAX.
7116
7117 2010-12-13  Eric Blake  <eblake@redhat.com>
7118
7119         cloexec, fcntl: relax license
7120         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
7121         consent from all contributors.
7122         * modules/fcntl (License): Likewise.
7123
7124 2010-12-10  Bruno Haible  <bruno@clisp.org>
7125
7126         Tests for module 'pipe-posix'.
7127         * modules/pipe-posix-tests: New file.
7128         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
7129
7130 2010-12-10  Bruno Haible  <bruno@clisp.org>
7131
7132         pipe-posix: Make it work in C++ mode.
7133         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
7134         (pipe): Use common idiom, not a macro definition.
7135         * lib/pipe.c: New file.
7136         * m4/pipe.m4: New file.
7137         * modules/pipe-posix (Description): Enhance.
7138         (Files): Add lib/pipe.c, m4/pipe.m4.
7139         (configure.ac): Invoke gl_FUNC_PIPE.
7140         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
7141         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
7142         * tests/test-unistd-c++.cc: Check the signature of pipe.
7143
7144 2010-12-10  Bruno Haible  <bruno@clisp.org>
7145
7146         Rename module 'pipe' to 'spawn-pipe'.
7147         * modules/spawn-pipe: New file, renamed from modules/pipe.
7148         (Files, configure.ac, Makefile.am): Update.
7149         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
7150         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
7151         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
7152         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
7153         "spawn-pipe.h" instead of "pipe.h".
7154         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
7155         to gl_SPAWN_PIPE.
7156         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
7157         (Files, Makefile.am): Update.
7158         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
7159         Update.
7160         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
7161         Include "spawn-pipe.h" instead of "pipe.h".
7162         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
7163         * lib/javacomp.c: Likewise.
7164         * lib/javaversion.c: Likewise.
7165         * lib/pipe-filter-gi.c: Likewise.
7166         * lib/pipe-filter-ii.c: Likewise.
7167         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
7168         * modules/javacomp (Depends-on): Likewise.
7169         * modules/javaversion (Depends-on): Likewise.
7170         * modules/pipe-filter-gi (Depends-on): Likewise.
7171         * modules/pipe-filter-ii (Depends-on): Likewise.
7172         * MODULES.html.sh (Executing programs): Update.
7173         * NEWS: Mention the change.
7174
7175 2010-12-10  Eric Blake  <eblake@redhat.com>
7176
7177         pipe-posix: new module
7178         * modules/pipe-posix: New file.
7179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
7180         (gl_UNISTD_H): Check for declaration.
7181         * modules/unistd (Makefile.am): Substitute it.
7182         * lib/unistd.in.h (pipe): Provide it for mingw.
7183         * doc/posix-functions/pipe.texi (pipe): Update documentation.
7184         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
7185
7186 2010-12-07  Bruno Haible  <bruno@clisp.org>
7187
7188         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
7189         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
7190         u8_strcmp_gnu.
7191         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
7192
7193 2010-12-06  Bruno Haible  <bruno@clisp.org>
7194
7195         Update internal documentation.
7196         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
7197
7198 2010-12-04  Bruno Haible  <bruno@clisp.org>
7199
7200         Put more information about failed tests into the test return codes.
7201         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
7202         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
7203         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
7204         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7205         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
7206         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
7207         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7208         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
7209         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
7210         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
7211         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
7212         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
7213         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7214         * m4/stdint.m4 (gl_STDINT_H): Likewise.
7215         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
7216         returns a bit mask.
7217         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
7218         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
7219         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
7220         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
7221         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7222         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
7223         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
7224         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
7225         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
7226         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
7227         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
7228         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
7229         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
7230         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
7231         * m4/link.m4 (gl_FUNC_LINK): Likewise.
7232         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
7233         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
7234         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
7235         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7236         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
7237         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
7238         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
7239         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
7240         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
7241         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
7242         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
7243         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
7244         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
7245         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
7246         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
7247         gl_PRINTF_PRECISION): Likewise.
7248         * m4/regex.m4 (gl_REGEX): Likewise.
7249         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
7250         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
7251         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
7252         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
7253         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
7254         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
7255         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
7256         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
7257         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
7258         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7259         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
7260         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
7261         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
7262         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
7263         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
7264         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
7265         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
7266         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7268         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
7269         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
7270         enumerated value.
7271         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
7272
7273 2010-12-04  Bruno Haible  <bruno@clisp.org>
7274
7275         Update for Solaris 11 2010-11.
7276         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
7277         Express, released in November 2010.
7278
7279 2010-12-04  Bruno Haible  <bruno@clisp.org>
7280
7281         nproc: Relax license.
7282         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
7283         and Paul Eggert.
7284         Requested by Ludovic Courtès <ludo@gnu.org>.
7285
7286 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
7287
7288         utimecmp: fine-grained src to nearby coarse-grained dest
7289
7290         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
7291         and the source is on a file system with higher-resolution time
7292         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
7293         not work, and the time stamps are close together, the algorithm to
7294         determine the exact resolution from the read-back mtime was buggy:
7295         it had a "!=" where it should have had an "==".  This bug has been
7296         in the code ever since it was introduced to gnulib.
7297         Problem reported by Dan Jacobson in
7298         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
7299
7300 2010-11-30  Bruno Haible  <bruno@clisp.org>
7301
7302         strerror_r-posix: Fix autoconf test.
7303         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
7304
7305 2010-11-28  Bruno Haible  <bruno@clisp.org>
7306             Paul Eggert  <eggert@cs.ucla.edu>
7307
7308         Tests for module 'getdomainname'.
7309         * modules/getdomainname-tests: New file.
7310         * tests/test-getdomainname.c: New file, based on
7311         tests/test-gethostname.c.
7312
7313 2010-11-28  Bruno Haible  <bruno@clisp.org>
7314             Paul Eggert  <eggert@cs.ucla.edu>
7315
7316         getdomainname: Use the system function when possible.
7317         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
7318         (getdomainname): Replace if needed. Provide the declaration if it is
7319         missing. Don't use _GL_CXXALIAS_SYS_CAST.
7320         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
7321         (getdomainname): When the system has getdomainname, call the system
7322         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
7323         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
7324         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
7325         found in libnsl. Look for the declaration also in <netdb.h>. Replace
7326         the function if its second argument is of type 'int' or if it is found
7327         in libnsl.
7328         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
7329         <sys/systeminfo.h> and sysinfo().
7330         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
7331         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7332         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
7333         HAVE_GETDOMAINNAME.
7334         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
7335         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
7336         * doc/glibc-functions/getdomainname.texi: Document the problems with
7337         the getdomainname declaration.
7338
7339 2010-11-28  Bruno Haible  <bruno@clisp.org>
7340
7341         sys_socket: Ensure ss_family field on AIX.
7342         * lib/sys_socket.in.h (ss_family): New macro definition.
7343         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
7344         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
7345         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
7346         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7347         * modules/sys_socket (Makefile.am): Substitute
7348         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
7349         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
7350
7351 2010-11-27  Bruno Haible  <bruno@clisp.org>
7352
7353         readline: Improve configure output.
7354         * m4/readline.m4 (gl_FUNC_READLINE): Make the
7355         "checking for readline..." result understandable.
7356
7357 2010-11-27  Bruno Haible  <bruno@clisp.org>
7358
7359         *printf-posix: Detect a bug on Solaris 10/x86.
7360         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
7361         for floating-point output.
7362         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
7363         directive.
7364         * tests/test-snprintf-posix.h (test_function): Likewise.
7365         * tests/test-sprintf-posix.h (test_function): Likewise.
7366         * tests/test-vasprintf-posix.c (test_function): Likewise.
7367         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
7368         * doc/posix-functions/printf.texi: Likewise.
7369         * doc/posix-functions/snprintf.texi: Likewise.
7370         * doc/posix-functions/sprintf.texi: Likewise.
7371         * doc/posix-functions/vfprintf.texi: Likewise.
7372         * doc/posix-functions/vprintf.texi: Likewise.
7373         * doc/posix-functions/vsnprintf.texi: Likewise.
7374         * doc/posix-functions/vsprintf.texi: Likewise.
7375         * doc/glibc-functions/obstack_printf.texi: Likewise.
7376         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
7377
7378 2010-11-27  Bruno Haible  <bruno@clisp.org>
7379
7380         Fix link error when module libunistring-optional is in use.
7381         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
7382         * modules/striconveha-tests (Makefile.am): Likewise.
7383
7384 2010-11-27  Bruno Haible  <bruno@clisp.org>
7385
7386         regex: Mention link dependencies.
7387         * modules/regex (Link): New section.
7388         * modules/rpmatch (Link): Likewise.
7389         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
7390
7391 2010-11-27  Bruno Haible  <bruno@clisp.org>
7392
7393         ftoastr: Fix compilation error on Solaris.
7394         * lib/ftoastr.c: Include <config.h>.
7395
7396 2010-11-27  Bruno Haible  <bruno@clisp.org>
7397
7398         getloadavg: Update documentation.
7399         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
7400
7401 2010-11-27  Bruno Haible  <bruno@clisp.org>
7402
7403         sys_socket: Fix test whether the functions are declared.
7404         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
7405         not <sys/select.h>.
7406
7407 2010-11-27  Bruno Haible  <bruno@clisp.org>
7408
7409         getpass: Make sure to get system declaration on some platforms.
7410         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
7411         gl_USE_SYSTEM_EXTENSIONS.
7412         * modules/getpass (Depends-on): Add extensions.
7413
7414 2010-11-26  Bruno Haible  <bruno@clisp.org>
7415
7416         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
7417         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
7418         'iconv' module is present.
7419         (ICONV_CONST): New macro.
7420         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
7421         ICONV_CONST.
7422         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
7423         set ICONV_CONST.
7424         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
7425         here.
7426         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
7427         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
7428         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
7429         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
7430         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
7431         present.
7432
7433 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
7434
7435         ftoastr: comment fix
7436         * lib/ftoastr.c: "little" -> "little or no" in comment
7437
7438 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
7439
7440         stdint: port to GCC 4.3 + OSX + Octave
7441         On this platform, stdint.h is buggy and defines int64_t to long
7442         long int.  The replacement defined it to long int, causing
7443         problems with C++ style name mangling.  Instead, trust the system
7444         definition if INT64_MAX is defined, and likewise for the unsigned
7445         variant.   Problem reported by Jarno Rajahalme in
7446         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
7447         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
7448         and don't mess with int64_t and INT64_MAX in this case.
7449         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
7450
7451 2010-11-24  Bruno Haible  <bruno@clisp.org>
7452
7453         doc: Corrections regarding MacOS X 10.4 and 10.5.
7454         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
7455         MacOS X.
7456         Reported by Simon Josefsson.
7457
7458 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
7459
7460         Uninstall ".bin" files installed by relocwrapper.
7461         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
7462         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
7463         unless it is already there.
7464
7465 2010-11-21  Bruno Haible  <bruno@clisp.org>
7466
7467         Update for NetBSD 5.0.
7468         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7469         NetBSD; the test fails on NetBSD 5.0.
7470         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7471         about NetBSD.
7472
7473 2010-11-21  Bruno Haible  <bruno@clisp.org>
7474
7475         Update for HP-UX 11.23 and HP-UX 11.31.
7476         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
7477         HP-UX.
7478
7479 2010-11-21  Bruno Haible  <bruno@clisp.org>
7480
7481         Update for MacOS X 10.5.
7482         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
7483         MacOS X; the test fails on MacOS X 10.5.8.
7484         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
7485         about MacOS X.
7486
7487 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
7488
7489         bootstrap: add bootstrap_sync option.
7490         See discussion at
7491         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
7492         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
7493         * build-aux/bootstrap: Accept --bootstrap-sync to update
7494         bootstrap if it is not identical to the local gnulib's
7495         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
7496         enable this by default.  Accept --no-bootstrap-sync to disable
7497         it.
7498
7499 2010-11-20  Bruno Haible  <bruno@clisp.org>
7500
7501         Ensure that <features.h> is included before __GLIBC__ is tested.
7502         * lib/printf-parse.h: Include <features.h>.
7503         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
7504         Reported by Mike Frysinger <vapier@gentoo.org>.
7505
7506         Ensure that <features.h> is included before __GLIBC__ is tested.
7507         * lib/wchar.in.h: Include <features.h>.
7508         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
7509         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
7510         Reported by Mike Frysinger <vapier@gentoo.org>.
7511
7512         Ensure that <features.h> is included before __GLIBC__ is tested.
7513         * lib/arpa_inet.in.h: Include <features.h>.
7514         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
7515         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
7516         Reported by Mike Frysinger <vapier@gentoo.org>.
7517
7518         Ensure that <features.h> is included before __GLIBC__ is tested.
7519         * build-aux/link-warning.h: Include <features.h>.
7520         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
7521         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
7522         Reported by Mike Frysinger <vapier@gentoo.org>.
7523
7524         Ensure that <features.h> is included before __GLIBC__ is tested.
7525         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
7526         Reported by Mike Frysinger <vapier@gentoo.org>.
7527
7528 2010-11-20  Bruno Haible  <bruno@clisp.org>
7529
7530         memmem: Fix autoconf test.
7531         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
7532
7533 2010-11-20  Bruno Haible  <bruno@clisp.org>
7534
7535         Port to uClibc.
7536         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
7537         * lib/fcntl.in.h: Likewise.
7538         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
7539         * lib/mbrtowc.c (mbrtowc): Likewise.
7540         * lib/relocatable.c (find_shared_library_fullname): Likewise.
7541         * lib/strerror_r.c: Likewise.
7542         * lib/unistr/u8-strnlen.c: Likewise.
7543         * lib/vasnprintf.c (decimal_point_char): Likewise.
7544         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
7545         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
7546         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
7547         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
7548         * tests/test-sigaction.c (handler, main): Likewise.
7549         * lib/freading.h: Treat uClibc like a non-glibc platform.
7550         * lib/freading.c: Likewise.
7551         * lib/gettext.h: Likewise.
7552         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
7553         Likewise.
7554         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
7555         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
7556         * lib/propername.c (proper_name_utf8): Likewise.
7557         * lib/spawn.in.h: Likewise.
7558         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
7559         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
7560         mem_cd_iconveh_internal): Likewise.
7561         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
7562         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
7563         strstr, strcasestr): Likewise.
7564         * lib/unicodeio.c (unicode_to_mb): Likewise.
7565         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
7566         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
7567         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
7568         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
7569         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
7570         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
7571         * lib/unistr/u8-stpncpy.c: Likewise.
7572         * lib/vasnprintf.c (VASNPRINTF): Likewise.
7573         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
7574         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
7575         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
7576         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
7577         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
7578         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
7579         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
7580         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
7581         Likewise.
7582         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
7583         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
7584         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
7585         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7586         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
7587         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7588         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7589         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
7590         * tests/test-getopt.h (OPTIND_MIN): Likewise.
7591         * tests/test-striconveha.c (main): Likewise.
7592         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7593         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
7594         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
7595         * doc/posix-functions/getline.texi: Likewise.
7596         Reported by Mike Frysinger <vapier@gentoo.org>.
7597
7598 2010-11-20  Bruno Haible  <bruno@clisp.org>
7599
7600         nproc: Fix condition.
7601         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
7602         HAVE_PTHREAD_AFFINITY_NP.
7603
7604 2010-11-20  Bruno Haible  <bruno@clisp.org>
7605
7606         Fix a comment.
7607         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
7608
7609 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
7610
7611         ftoastr: don't assume snprintf
7612         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
7613         Implement a subset of snprintf here, by using sprintf safely.
7614         * modules/ftoastr (Depends-on): Remove snprintf.
7615
7616 2010-11-19  Jim Meyering  <meyering@redhat.com>
7617
7618         test-rename.h: fix compilation failure
7619         * tests/test-rename.h (test_rename): Add omitted "}".
7620
7621 2010-11-17  Jim Meyering  <meyering@redhat.com>
7622
7623         maint.mk: add a URL discussing the no-@acronym policy
7624         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
7625
7626 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7627
7628         ftoastr: depend on snprintf, improve comments
7629         * lib/ftoastr.c: Also mention Loitsch's draft.
7630         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
7631         needed in the current implementation, but it might simplify
7632         speeding up the code later.
7633         * modules/ftoastr: Depend on snprintf; this improves portability.
7634         Suggested by Bruno Haible in the same email.
7635
7636         ftoastr: port to hosts lacking strtof and strtold
7637         Problem reported by Bruno Haible in
7638         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
7639         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
7640         environment and strtold (and presumably strtof) are not available.
7641         * modules/ftoastr (Files): Add m4/c-strtod.m4.
7642         (configure.ac): Require gl_C99_STRTOLD.
7643
7644 2010-11-18  Bruno Haible  <bruno@clisp.org>
7645
7646         c-strtold: Avoid link error on AIX 7.
7647         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
7648         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
7649         (gl_C_STRTOLD): Test whether strtold_l exists.
7650         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7651
7652 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7653
7654         intprops: new macro INT_BITS_STRLEN_BOUND
7655         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
7656         ftoastr.h.  This exposes an internal of intprops.h that was formerly
7657         not exposed.  Also, it uses a slightly tighter bound than before;
7658         though this makes no practical difference, we might as well be as
7659         tight as we easily can.
7660
7661         ftoastr: new module, for lossless conversion of floats to short strings
7662         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
7663         * modules/ftoastr: New files.
7664
7665 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
7666
7667         bootstrap: port to Solaris sed
7668         * build-aux/bootstrap (get_version): Port to Solaris sed.
7669         See Ralf Wildenhues's note in
7670         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
7671
7672 2010-11-14  Jim Meyering  <meyering@redhat.com>
7673
7674         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
7675         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
7676         and move definition closer to sole use.
7677
7678 2010-11-13  Jim Meyering  <meyering@redhat.com>
7679
7680         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
7681         Now we require at least autoconf-2.59, which means the work-around
7682         is no longer needed.
7683         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
7684         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7685         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
7686         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
7687         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
7688
7689 2010-11-13  Bruno Haible  <bruno@clisp.org>
7690
7691         rename, renameat: Avoid test failures at NFS mounted locations.
7692         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
7693         functions.
7694         (test_rename): Use assert_nonexistent.
7695         * tests/test-rename.c: Include <dirent.h>.
7696         * tests/test-renameat.c: Likewise.
7697         Reported by Gary V. Vaughan <gary@gnu.org>.
7698
7699         rename, renameat: Document Linux bug with NFS
7700         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
7701         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
7702         * doc/posix-functions/renameat.texi: Likewise.
7703         Suggested by Eric Blake.
7704
7705 2010-11-13  Bruno Haible  <bruno@clisp.org>
7706
7707         rename test: Add comments.
7708         * tests/test-rename.h (test_rename): Add structure and comments.
7709
7710 2010-11-13  Eric Blake  <eblake@redhat.com>
7711
7712         maintainer-makefile: cover a few more files
7713         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
7714         scripts generated within C files, for libvirt.
7715
7716 2010-11-13  Bruno Haible  <bruno@clisp.org>
7717
7718         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
7719         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
7720         character, return the number of bytes that belong together, not always
7721         1.
7722         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
7723         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
7724         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
7725         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
7726         number of bytes of an invalid character.
7727         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
7728         (main): Invoke it.
7729         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
7730         results.
7731         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
7732         malformed byte sequences.
7733         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
7734         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
7735         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
7736         Reported by Ben Pfaff and Paolo Bonzini.
7737
7738 2010-11-13  Bruno Haible  <bruno@clisp.org>
7739
7740         openat: Work around glibc bug with fchownat() and empty file names.
7741         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
7742         (gl_FUNC_FCHOWNAT): Invoke it.
7743         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
7744         * doc/posix-functions/fchownat.texi: Document the glibc bug.
7745         Reported by Gary V. Vaughan <gary@gnu.org>.
7746
7747 2010-11-13  Bruno Haible  <bruno@clisp.org>
7748
7749         openat: Ensure autoconf macro ordering.
7750         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
7751         gl_USE_SYSTEM_EXTENSIONS.
7752         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
7753
7754 2010-11-13  Bruno Haible  <bruno@clisp.org>
7755
7756         Update comments.
7757         * lib/unistr/u8-check.c: Update file name in comments.
7758         * lib/unistr/u8-mblen.c: Likewise.
7759         * lib/unistr/u8-prev.c: Likewise.
7760         * lib/unistr/u8-strmblen.c: Likewise.
7761         * lib/unistr/u8-strmbtouc.c: Likewise.
7762
7763 2010-11-13  Jim Meyering  <meyering@redhat.com>
7764
7765         tests: avoid test failure on Solaris 10 due to lack of PATH export
7766         * tests/test-update-copyright.sh: Don't forget to export PATH.
7767
7768         init.sh: ensure that IFS is defined, just in case...
7769         * tests/init.sh (setup_): Ensure that IFS is defined,
7770         so that saving and restoring it works as expected.  This
7771         appears to be useful at least for an old version of dash
7772         from a long time ago (RH 6).  See here for details:
7773         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
7774
7775         maint.mk: tighten "test a == b" check
7776         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
7777         test to files that contain something like #!/bin/sh.
7778         Without this, coreutils would get two false positives in
7779         the comments of C source files.
7780
7781 2010-11-12  Eric Blake  <eblake@redhat.com>
7782
7783         bootstrap: fix typo in previous attempt
7784         * build-aux/bootstrap (buildreq): Correct the grouping.
7785         Reported by Paul Eggert.
7786
7787         maintainer-makefile: prohibit test x == x
7788         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
7789         Based on a report by Matthias Bolte.
7790
7791         bootstrap: allow FreeBSD gzip
7792         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
7793         which has no '.' and goes to stderr.
7794         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
7795         Reported by Matthias Bolte.
7796
7797         maintainer-makefile: check for i18n setup
7798         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
7799         will likely work.
7800
7801 2010-11-12  Bruno Haible  <bruno@clisp.org>
7802
7803         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
7804         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
7805         * lib/nanosleep.c (nanosleep): Likewise.
7806
7807 2010-11-11  Bruno Haible  <bruno@clisp.org>
7808
7809         fcntl-h: Fix for use of C++ on glibc systems.
7810         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7811         also on glibc systems in C++ mode.
7812         Reported by Gary V. Vaughan <gary@gnu.org>.
7813
7814 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
7815
7816         mknod: avoid false failure with dash
7817         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
7818
7819 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
7820
7821         unlink: Fix "is it should" typo in diagnostic.
7822         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
7823         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
7824
7825 2010-11-11  Bruno Haible  <bruno@clisp.org>
7826
7827         Tests for module 'strerror_r-posix'.
7828         * modules/strerror_r-posix-tests: New file.
7829         * tests/test-strerror_r.c: New file.
7830         * tests/test-string-c++.cc: Check the signature of strerror_r.
7831
7832         New module 'strerror_r-posix'.
7833         * lib/string.in.h (strerror_r): New declaration.
7834         * lib/strerror_r.c: New file.
7835         * m4/strerror_r.m4: New file.
7836         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
7837         of strerror_r.
7838         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
7839         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7840         * modules/strerror_r-posix: New file.
7841         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
7842         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
7843         * doc/posix-functions/strerror_r.texi: Mention the new module and the
7844         portability problems.
7845
7846 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
7847
7848         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
7849         line is also considered for output. Quoted function name in shell
7850         command, so temporary files for functions like MyClass::operator()
7851         are removed correctly without errors.
7852
7853 2010-11-09  Bruno Haible  <bruno@clisp.org>
7854
7855         * doc/posix-functions/strerror.texi: List more failing platforms.
7856
7857         * doc/posix-functions/strerror.texi: Add a comment.
7858
7859 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
7860
7861         fdopendir: fix bug on MacOS X when low on file descriptors
7862
7863         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
7864         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
7865         All callers changed.
7866         (fdopendir): Invoke save_cwd at the top level, not after using
7867         multiple dup() calls to use up file descriptors.  Then retry
7868         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
7869         less than the maximum number of open file descriptors, because
7870         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
7871         on Mac OS X 10.6.4 for tar 1.24
7872         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
7873         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
7874         and for tar 1.25
7875         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
7876
7877 2010-11-07  Bruno Haible  <bruno@clisp.org>
7878
7879         vasnprintf: Support I flag on glibc systems.
7880         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
7881         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
7882         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
7883         snprintf function.
7884         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
7885         glibc systems.
7886         * tests/test-vasnprintf-posix3.c: New file.
7887         * modules/vasnprintf-posix-tests (Files): Add it.
7888         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
7889
7890 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
7891
7892         [html] Fix copy/paste bug: Use unique name for compiler warnings.
7893         * MODULES.html.sh: For compiler warnings, use name
7894         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
7895
7896 2010-11-05  Eric Blake  <eblake@redhat.com>
7897
7898         ceil, floor: avoid spurious failure with icc
7899         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
7900         [denormals-as-zero] when optimizing without -mieee-fp option.
7901         * tests/test-floorf2.c (floorf_reference): Likewise.
7902         * tests/test-ceilf1.c (dummy): New function.
7903         (main): Use it to outsmart icc's optimization.
7904         * tests/test-floorf1.c (dummy, main): Likewise.
7905
7906         tests: require working signbit
7907         * modules/ceilf-tests (Depends-on): Add signbit.
7908         * modules/ceill-tests (Depends-on): Likewise.
7909         * modules/floorf-tests (Depends-on): Likewise.
7910         * modules/floorl-tests (Depends-on): Likewise.
7911         * modules/round-tests (Depends-on): Likewise.
7912         * modules/roundf-tests (Depends-on): Likewise.
7913         * modules/roundl-tests (Depends-on): Likewise.
7914         * modules/trunc-tests (Depends-on): Likewise.
7915         * modules/truncf-tests (Depends-on): Likewise.
7916         * modules/truncl-tests (Depends-on): Likewise.
7917
7918         strtod: work around icc bug
7919         * lib/strtod.c (minus_zero): Define to working value.
7920         (strtod): Use it to avoid icc bug.
7921
7922         copysign: enhance tests
7923         * modules/copysign-tests (Files): Add minus-zero.h.
7924         * tests/test-copysign.c (main): Also test zeros.
7925
7926 2010-11-04  Eric Blake  <eblake@redhat.com>
7927
7928         ceil, floor, round, trunc: enhance tests of -0
7929         * tests/test-ceilf1.c (main): Ensure correct sign of result.
7930         * tests/test-ceill.c (main): Likewise.
7931         * tests/test-floorf1.c (main): Likewise.
7932         * tests/test-floorl.c (main): Likewise.
7933         * tests/test-round1.c (main): Likewise.
7934         * tests/test-roundf1.c (main): Likewise.
7935         * tests/test-roundl.c (main): Likewise.
7936         * tests/test-trunc1.c (main): Likewise.
7937         * tests/test-truncf1.c (main): Likewise.
7938         * tests/test-truncl.c (main): Likewise.
7939
7940 2010-11-04  Eric Blake  <eblake@redhat.com>
7941
7942         frexp, tests: work around ICC bug with -zero
7943         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
7944         works with more compilers.
7945         * tests/minus-zero.h: New file.
7946         * modules/ceilf-tests (Files): Include it.
7947         * modules/ceill-tests (Files): Likewise.
7948         * modules/floorf-tests (Files): Likewise.
7949         * modules/floorl-tests (Files): Likewise.
7950         * modules/frexp-nolibm-tests (Files): Likewise.
7951         * modules/frexp-tests (Files): Likewise.
7952         * modules/frexpl-nolibm-tests (Files): Likewise.
7953         * modules/frexpl-tests (Files): Likewise.
7954         * modules/isnan-tests (Files): Likewise.
7955         * modules/isnand-nolibm-tests (Files): Likewise.
7956         * modules/isnand-tests (Files): Likewise.
7957         * modules/isnanf-nolibm-tests (Files): Likewise.
7958         * modules/isnanf-tests (Files): Likewise.
7959         * modules/isnanl-nolibm-tests (Files): Likewise.
7960         * modules/isnanl-tests (Files): Likewise.
7961         * modules/round-tests (Files): Likewise.
7962         * modules/roundf-tests (Files): Likewise.
7963         * modules/roundl-tests (Files): Likewise.
7964         * modules/ldexpl-tests (Files): Likewise.
7965         * modules/signbit-tests (Files): Likewise.
7966         * modules/snprintf-posix-tests (Files): Likewise.
7967         * modules/sprintf-posix-tests (Files): Likewise.
7968         * modules/strtod-tests (Files): Likewise.
7969         * modules/trunc-tests (Files): Likewise.
7970         * modules/truncf-tests (Files): Likewise.
7971         * modules/truncl-tests (Files): Likewise.
7972         * modules/vsnprintf-posix-tests (Files): Likewise.
7973         * modules/vsprintf-posix-tests (Files): Likewise.
7974         * modules/vasnprintf-posix-tests (Files): Likewise.
7975         * modules/vasprintf-posix-tests (Files): Likewise.
7976         * tests/test-ceilf1.c (main): Use it.
7977         * tests/test-ceill.c (main): Likewise.
7978         * tests/test-floorf1.c (main): Likewise.
7979         * tests/test-floorl.c (main): Likewise.
7980         * tests/test-frexp.c (main): Likewise.
7981         * tests/test-frexpl.c (main): Likewise.
7982         * tests/test-isnan.c (main): Likewise.
7983         * tests/test-isnand.h (main): Likewise.
7984         * tests/test-isnanf.h (main): Likewise.
7985         * tests/test-isnanl.h (main): Likewise.
7986         * tests/test-ldexpl.c (main): Likewise.
7987         * tests/test-round.c (main): Likewise.
7988         * tests/test-roundf.c (main): Likewise.
7989         * tests/test-roundl.c (main): Likewise.
7990         * tests/test-signbit.c (test_signbitf, test_signbitd)
7991         (test_signbitl): Likewise.
7992         * tests/test-snprintf-posix.h (test_function): Likewise.
7993         * tests/test-sprintf-posix.h (test_function): Likewise.
7994         * tests/test-strtod.c (main): Likewise.
7995         * tests/test-trunc1.c (main): Likewise.
7996         * tests/test-truncf1.c (main): Likewise.
7997         * tests/test-truncl.c (main): Likewise.
7998
7999         isnanl: work around icc bug
8000         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
8001
8002 2010-11-03  Eric Blake  <eblake@redhat.com>
8003
8004         tests: fix compiler warnings
8005         * tests/test-getopt.h (test_getopt): Fix condition.
8006         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8007         * tests/test-pipe2.c (main): Likewise.
8008         * tests/test-quotearg-simple.c (main): Avoid icc warning.
8009
8010         utimens: fix broken m4 test
8011         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
8012
8013 2010-10-28  Bruno Haible  <bruno@clisp.org>
8014
8015         posix_spawn*, getdtablesize: Relax license.
8016         * modules/posix_spawn (License): Change to LGPLv2+.
8017         * modules/posix_spawnp (License): Likewise.
8018         * modules/posix_spawn-internal (License): Likewise.
8019         * modules/posix_spawnattr_init (License): Likewise.
8020         * modules/posix_spawnattr_getflags (License): Likewise.
8021         * modules/posix_spawnattr_setflags (License): Likewise.
8022         * modules/posix_spawnattr_getpgroup (License): Likewise.
8023         * modules/posix_spawnattr_setpgroup (License): Likewise.
8024         * modules/posix_spawnattr_getschedparam (License): Likewise.
8025         * modules/posix_spawnattr_setschedparam (License): Likewise.
8026         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
8027         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
8028         * modules/posix_spawnattr_getsigdefault (License): Likewise.
8029         * modules/posix_spawnattr_setsigdefault (License): Likewise.
8030         * modules/posix_spawnattr_getsigmask (License): Likewise.
8031         * modules/posix_spawnattr_setsigmask (License): Likewise.
8032         * modules/posix_spawnattr_destroy (License): Likewise.
8033         * modules/posix_spawn_file_actions_init (License): Likewise.
8034         * modules/posix_spawn_file_actions_addclose (License): Likewise.
8035         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
8036         * modules/posix_spawn_file_actions_addopen (License): Likewise.
8037         * modules/posix_spawn_file_actions_destroy (License): Likewise.
8038         * modules/getdtablesize (License): Likewise.
8039         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
8040
8041 2010-10-26  Bruno Haible  <bruno@clisp.org>
8042
8043         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
8044         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
8045         Cygwin and mingw.
8046         Suggested by Eric Blake.
8047
8048 2010-10-26  Bruno Haible  <bruno@clisp.org>
8049
8050         stdio: Work around compilation error due to renameat() on Solaris 10.
8051         * lib/stdio.in.h: Include <unistd.h> on Solaris.
8052         * lib/renameat.c: Don't include <unistd.h> here.
8053         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
8054         Reported by Paul Eggert and Eric Blake.
8055
8056 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
8057
8058         renameat: port to Solaris 10, which declares renameat in unistd.h
8059
8060         * lib/renameat.c: Include unistd.h before stdio.h, because
8061         Solaris 10 declares renameat in unistd.h.  Problem encountered
8062         when building GNU tar 1.24 on Solaris 10.
8063
8064 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
8065
8066         fdopendir: fix C89 compilation
8067         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
8068         compilers.
8069
8070 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
8071
8072         inttostr: simplify by removing unnecessary redundancy
8073         * lib/anytostr.c: Don't include verify.h.
8074         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
8075         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
8076         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
8077         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
8078         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
8079         Likewise.
8080         * modules/inttostr (Depends-on): Remove 'verify'.
8081
8082 2010-10-23  Bruno Haible  <bruno@clisp.org>
8083
8084         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
8085         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
8086         Reported by Eric Blake.
8087
8088 2010-10-23  Bruno Haible  <bruno@clisp.org>
8089
8090         Tests: Fix LOCALE_JA on MirBSD 10.
8091         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
8092         to an UTF-8 locale.
8093         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
8094         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
8095         Reported by Eric Blake.
8096
8097 2010-10-21  Bruno Haible  <bruno@clisp.org>
8098
8099         nl_langinfo test: Avoid test failure on NetBSD 5.
8100         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
8101         Reported by Eric Blake.
8102
8103 2010-10-21  Eric Blake  <eblake@redhat.com>
8104
8105         c-stack: work around libsigsegv 2.8 bug
8106         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
8107         overflow on at least PowerPC64.
8108
8109 2010-10-17  Bruno Haible  <bruno@clisp.org>
8110
8111         userspec: Drop redundant file.
8112         * modules/userspec (Files): Remove lib/inttostr.h.
8113
8114 2010-10-17  Bruno Haible  <bruno@clisp.org>
8115
8116         nl_langinfo tests: Silence some warnings.
8117         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
8118         Reported by Jim Meyering.
8119
8120 2010-10-17  Bruno Haible  <bruno@clisp.org>
8121
8122         Make use of GCC's attribute __alloc_size__.
8123         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
8124         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
8125         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
8126         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
8127         __alloc_size__.
8128         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
8129         Suggested by Jim Meyering.
8130
8131 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
8132
8133         bootstrap: anchor .gitignore entries.
8134         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
8135         with...
8136         (insert_vc_ignore): ... this new function, which prepends `/' to
8137         all .gitignore entries before passing them to
8138         insert_sorted_if_absent.
8139
8140 2010-10-16  Bruno Haible  <bruno@clisp.org>
8141
8142         nextafter: Fix configure check.
8143         * modules/nextafter (configure.ac): Correct expected prototype.
8144
8145 2010-10-16  Bruno Haible  <bruno@clisp.org>
8146
8147         termios: Update documentation.
8148         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
8149
8150 2010-10-16  Bruno Haible  <bruno@clisp.org>
8151
8152         tests: Make them compile with TinyCC.
8153         * tests/test-strstr.c (main): Remove parentheses around array
8154         initializer.
8155
8156 2010-10-15  Eric Blake  <eblake@redhat.com>
8157
8158         ignore-value: make header idempotent
8159         * lib/ignore-value.h: Add double-inclusion guards.
8160         Reported by Stefan Berger.
8161
8162 2010-10-15  Jim Meyering  <meyering@redhat.com>
8163
8164         GNUmakefile: handle "stable" target, not "major"
8165         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
8166         lists in maint.mk and announce-gen.  Without this, "make stable"
8167         would fail to ensure that $(VERSION) is up to date.
8168
8169 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
8170
8171         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
8172         & co.
8173
8174 2010-10-14  Bruno Haible  <bruno@clisp.org>
8175
8176         vasnprintf: Don't set errno to 0.
8177         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
8178         block that sets it to 0.
8179         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
8180
8181 2010-10-14  Bruno Haible  <bruno@clisp.org>
8182
8183         socketlib: Fix.
8184         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
8185         gl_PREREQ_SYS_H_WINSOCK2.
8186         Reported by Ian Beckwith <ianb@erislabs.net>.
8187
8188 2010-10-13  Jim Meyering  <meyering@redhat.com>
8189
8190         test-select-stdin.c: avoid warn_unused_result warnings
8191         * tests/test-select-stdin.c: Include "macros.h".
8192         ASSERT that read and fflush succeed.
8193
8194 2010-10-13  Jim Meyering  <meyering@redhat.com>
8195
8196         git-version-gen: do require git-VC'd files in cwd
8197         * build-aux/git-version-gen: Reject a git version string
8198         if there are no commits associated with the current directory.
8199         This avoids an unlikely false-positive (unrelated dir whose parent
8200         repository also contains a tag matching v*), as pointed out
8201         by Giuseppe Scrivano in
8202         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
8203
8204 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
8205
8206         argv-iter: omit nonconforming declaration
8207         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
8208         enum arg_iter_err declaration, which doesn't conform to C99.
8209         Solaris 10 cc warns about this.
8210
8211 2010-10-13  Eric Blake  <eblake@redhat.com>
8212
8213         termios: fix compilation on mingw
8214         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
8215         (gl_TERMIOS_H): Adjust it on mingw.
8216         * modules/termios (Makefile.am): Substitute new key.
8217         * lib/termios.in.h (includes): Make include_next conditional.
8218         * doc/posix-headers/termios.texi (termios.h): Update
8219         documentation.
8220         Reported by Daniel P. Berrange.
8221
8222 2010-10-13  Jim Meyering  <meyering@redhat.com>
8223
8224         git-version-gen: don't require that .git/ be in the current dir
8225         * build-aux/git-version-gen: Adjust this script so that it works
8226         when run from any working directory beneath the top-level .git/-
8227         containing directory.  Inspired by a patch from Giuseppe Scrivano,
8228         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
8229
8230         test-select: avoid warn_unused_result warnings
8231         * tests/test-select.c: Include "macros.h".
8232         ASSERT that each call to read, write, and pipe succeeds.
8233         While not technically required, also check each "close".
8234         * modules/select-tests (Files): Add tests/macros.h.
8235
8236         test-symlinkat: remove declaration of unused local
8237         * tests/test-symlinkat.c (main): Remove unused local, "buf".
8238
8239         test-inttostr: avoid shadowing warnings
8240         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
8241         and use malloc rather than the stack for the same reason as
8242         mentioned in the comment justifying the other allocation.
8243
8244 2010-10-11  Bruno Haible  <bruno@clisp.org>
8245
8246         stdlib: Allow multiple gnulib generated replacements to coexist.
8247         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
8248         Reported by Sam Steingold <sds@gnu.org>.
8249
8250 2010-10-11  Jim Meyering  <meyering@redhat.com>
8251
8252         fix a documentation typo
8253         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
8254
8255 2010-10-11  Eric Blake  <eblake@redhat.com>
8256
8257         futimens: work around Solaris 11 bug
8258         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
8259         * tests/test-futimens.h (test_futimens): Enhance, rather than
8260         weaken test.
8261         * doc/posix-functions/futimens.texi (futimens): Document the bug.
8262
8263 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
8264
8265         Indentation.
8266         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
8267         higher-level operators more to the left.
8268
8269 2010-10-11  Jim Meyering  <meyering@redhat.com>
8270
8271         test-futimens: avoid unwarranted test failure on Solaris 5.11
8272         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
8273         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
8274         because it tries to dereference the NULL name argument.
8275
8276 2010-10-11  Bruno Haible  <bruno@clisp.org>
8277
8278         Indentation.
8279         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
8280         indentation.
8281
8282 2010-10-11  Jim Meyering  <meyering@redhat.com>
8283
8284         spawn.in.h: make indentation consistent with parentheses
8285         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
8286         Make indentation consistent with parentheses.
8287
8288 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
8289
8290         Fix mismatched parens in previous commit
8291         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
8292         parens.
8293
8294 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
8295
8296         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
8297
8298         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
8299         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
8300         * lib/malloca.c: Include "verify.h".
8301         (verify1): Remove, replacing with a verify call.
8302         * lib/relocwrapper.c (verify1): Likewise.
8303         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
8304         Likewise.
8305         * modules/malloca (Depends-on): Add 'verify'.
8306         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
8307         * modules/vasnprintf (Depends-on): Add 'verify'.
8308         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
8309         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
8310         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
8311         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
8312         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
8313         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
8314         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
8315
8316         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
8317
8318         Formerly the style was sometimes 2*X - 1, because the C standard
8319         was wrongly thought to disallow ?: in integral constant expressions.
8320         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
8321         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
8322         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
8323         * lib/stdint.in.h (_verify_intmax_size): Likewise.
8324         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
8325         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
8326         verify that time_t cannot be floating.
8327
8328 2010-10-08  Eric Blake  <eblake@redhat.com>
8329
8330         time: enforce recent POSIX ruling that time_t is integral
8331         * lib/time.in.h (__time_t_must_be_integral): Detect any
8332         problematic systems, allowing the rest of gnulib to assume POSIX.
8333
8334 2010-10-08  Jim Meyering  <meyering@redhat.com>
8335
8336         fdopendir: fix a bug on systems lacking openat and /proc support
8337         OpenBSD 4.7 is one such system.  The most noticeable effect was
8338         failure of any application making nontrivial use of fts: rm, du,
8339         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
8340           ./rm: traversal failed: `a': Bad file descriptor
8341         Debugging that, you see that even though FD 6 was closed just
8342         prior to the opendir call in fd_clone_opendir, its resulting
8343         dir->dd_fd was 8, rather than the expected value of 6:
8344
8345         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
8346         93                close (fd);
8347         (gdb) n
8348         94                dir = fd_clone_opendir (dupfd);
8349         (gdb) n
8350         95                saved_errno = errno;
8351         (gdb) p dir->dd_fd
8352         $11 = 8
8353
8354         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
8355         The problem is that on OpenBSD, fd_clone_opendir has to resort
8356         to using the old-style save/restore CWD mechanism, due to its
8357         lack of openat/proc support, and *that* would steal the FD (6)
8358         that opendir was supposed to use.
8359
8360         The fix is to squirrel away the desired FD so that save_cwd uses a
8361         different one, and then free the dest FD right before calling opendir.
8362         That guarantees opendir will use the required file descriptor.
8363
8364         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
8365
8366 2010-10-08  Bruno Haible  <bruno@clisp.org>
8367
8368         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
8369         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
8370
8371 2010-10-08  Bruno Haible  <bruno@clisp.org>
8372
8373         nanosleep: Make replacement POSIX compliant.
8374         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
8375         is out of range.
8376         Reported by Jim Meyering.
8377
8378 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
8379
8380         bootstrap: add hook for altering gnulib.mk, for Bison
8381         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
8382         the Bison bootstrapping process can rewrite file names and variables
8383         in this file before later parts of 'bootstrap' use the file.
8384         Bison wants to include lib/gnulib.mk from the top-level makefile,
8385         so it needs the file names in this file to be relative to the top
8386         level, not relative to lib; plus it needs variable names to be
8387         rewritten.
8388         (slurp): Use the new function.
8389
8390         bootstrap: reformat for readability
8391         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
8392
8393 2010-10-08  Eric Blake  <eblake@redhat.com>
8394
8395         docs: update cygwin progress
8396         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
8397         1.7.7.
8398         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
8399         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
8400         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
8401         * doc/posix-functions/carg.texi (carg): Likewise.
8402         * doc/posix-functions/cargf.texi (cargf): Likewise.
8403         * doc/posix-functions/casin.texi (casin): Likewise.
8404         * doc/posix-functions/casinf.texi (casinf): Likewise.
8405         * doc/posix-functions/casinh.texi (casinh): Likewise.
8406         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
8407         * doc/posix-functions/catan.texi (catan): Likewise.
8408         * doc/posix-functions/catanf.texi (catanf): Likewise.
8409         * doc/posix-functions/catanh.texi (catanh): Likewise.
8410         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
8411         * doc/posix-functions/ccos.texi (ccos): Likewise.
8412         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
8413         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
8414         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
8415         * doc/posix-functions/cexp.texi (cexp): Likewise.
8416         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
8417         * doc/posix-functions/cimag.texi (cimag): Likewise.
8418         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
8419         * doc/posix-functions/clog.texi (clog): Likewise.
8420         * doc/posix-functions/clogf.texi (clogf): Likewise.
8421         * doc/posix-functions/conj.texi (conj): Likewise.
8422         * doc/posix-functions/conjf.texi (conjf): Likewise.
8423         * doc/posix-functions/cpow.texi (cpow): Likewise.
8424         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
8425         * doc/posix-functions/cproj.texi (cproj): Likewise.
8426         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
8427         * doc/posix-functions/creal.texi (creal): Likewise.
8428         * doc/posix-functions/crealf.texi (crealf): Likewise.
8429         * doc/posix-functions/csin.texi (csin): Likewise.
8430         * doc/posix-functions/csinf.texi (csinf): Likewise.
8431         * doc/posix-functions/csinh.texi (csinh): Likewise.
8432         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
8433         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
8434         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
8435         * doc/posix-functions/ctan.texi (ctan): Likewise.
8436         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
8437         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
8438         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
8439         * doc/posix-headers/complex.texi (complex.h): Likewise.
8440
8441 2010-10-07  Jim Meyering  <meyering@redhat.com>
8442
8443         parse-datetime: avoid compilation failure on OpenBSD 4.7
8444         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
8445         This works around a compilation failure on OpenBSD 4.7:
8446         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
8447
8448 2010-10-07  Eric Blake  <eblake@redhat.com>
8449
8450         docs: update cygwin progress
8451         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
8452         1.7.6.
8453         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
8454         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
8455         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
8456         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
8457         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
8458         Likewise.
8459         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
8460         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
8461         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
8462         Likewise.
8463         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
8464         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
8465         Likewise.
8466         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
8467         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
8468         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
8469         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
8470         Likewise.
8471         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
8472         Likewise.
8473         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
8474
8475         docs: update parse-datetime history
8476         * doc/parse-datetime.texi (Authors of parse_datetime): Better
8477         documentation of this function's history and alternatives.
8478
8479         cygwin: use more robust version check
8480         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
8481         exclude an eventual cygwin 1.9.1.
8482         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8483         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8484         (gl_FUNC_STRCASESTR): Likewise.
8485         Reported by Bruno Haible.
8486
8487 2010-10-06  Bruno Haible  <bruno@clisp.org>
8488
8489         string, sys_select: Avoid #including large headers unless necessary.
8490         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
8491         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
8492         OSF/1, BeOS, Haiku.
8493         Reported by Jim Meyering.
8494
8495 2010-10-05  Eric Blake  <eblake@redhat.com>
8496
8497         memmem, strstr, strcasestr: fix bug with long periodic needle
8498         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
8499         periodic needle having false positive.
8500         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
8501         and cygwin 1.7.7.
8502         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
8503         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
8504         (gl_FUNC_STRCASESTR): Likewise.
8505         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8506         * tests/test-memmem.c (main): Expose the bug.
8507         * tests/test-strcasestr.c (main): Likewise.
8508         * tests/test-strstr.c (main): Likewise.
8509         * tests/test-c-strcasestr.c (main): Likewise.
8510         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
8511         * doc/posix-functions/strstr.texi (strstr): Likewise.
8512         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
8513         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
8514
8515 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8516
8517         parse-datetime: do some more renaming
8518         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
8519         parse_datetime, not get_date.  Mention the renaming.
8520         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
8521         in comments.
8522         * m4/bison.m4: Likewise.
8523
8524 2010-10-05  Eric Blake  <eblake@redhat.com>
8525
8526         parse-datetime: better name than get_date
8527         * NEWS: Reword the deprecation notice.
8528         * modules/get_date: Rename to modules/parse-datetime.
8529         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
8530         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
8531         * lib/get_date.y: Rename to lib/parse-datetime.y.
8532         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
8533         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
8534         * doc/getdate.texi: Provide fallback wrapper.
8535         * lib/getdate.h: Move guts, and wrap...
8536         * lib/parse-datetime.h: ...new file.
8537         * lib/parse-datetime.y (get_date): Rename...
8538         (parse_datetime): ...to this.
8539         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
8540         (gl_PARSE_DATETIME): ...to this.
8541         * doc/posix-functions/getdate.texi (get_date): Provide fallback
8542         documentation.
8543         * modules/getdate (Files): Provide fallback docs and header.
8544         (Notice, Depends-on): Update references.
8545         * tests/test-parse-datetime.c: Likewise.
8546         * DEPENDENCIES: Likewise.
8547         * MODULES.html.sh (Date and time <time.h>): Likewise.
8548         * doc/parse-datetime.texi (Date input formats)
8549         (Authors of parse_datetime): Likewise.
8550         * modules/parse-datetime (Files, configure.ac, Makefile.am)
8551         (Include): Likewise.
8552         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
8553         * gnulib-tool: Likewise.
8554         * m4/bison.m4 (gl_BISON): Likewise.
8555         Suggested by Bruno Haible.
8556
8557 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
8558
8559         more ports to Solaris tr, which needs [] around ranges
8560         * gnulib-tool: Solaris tr needs [] around ranges.
8561         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8562         * tests/test-pipe-filter-gi1.c (main): Likewise.
8563         * tests/test-pipe-filter-ii1.c (main): Likewise.
8564
8565 2010-10-05  Eric Blake  <eblake@redhat.com>
8566
8567         bootstrap: fix Solaris regression
8568         * build-aux/bootstrap (check_versions): Solaris tr still needs []
8569         around ranges.
8570         Reported by Pádraig Brady.
8571
8572         bootstrap: work with pkg-config
8573         * build-aux/bootstrap (check_versions): Also transliterate - in
8574         prerequisite name.
8575         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
8576         prerequisites that were already found, to avoid confusion.
8577         Reported by Justin Clift.
8578
8579         faccessat: remove unused wrappers
8580         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
8581         presence of these wrappers dragged in -lgen on Solaris.
8582         Reported by Clemens Brogi; fix suggested by Paul Eggert.
8583
8584 2010-10-05  Jim Meyering  <meyering@redhat.com>
8585
8586         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
8587         * Makefile (sc_pragma_columns): New syntax-check rule.
8588
8589 2010-10-04  Bruno Haible  <bruno@clisp.org>
8590
8591         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
8592         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
8593         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
8594         Reported by Bruce Korb and Eric Blake.
8595
8596 2010-10-04  Bruno Haible  <bruno@clisp.org>
8597
8598         threadlib: Make option --with-libpth-prefix work.
8599         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
8600         use $LIBPTH, not just -lpth.
8601
8602 2010-10-04  Bruno Haible  <bruno@clisp.org>
8603
8604         Avoid line length limitation from HP NonStop system header files.
8605         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
8606         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
8607         * lib/ctype.in.h: Likewise.
8608         * lib/dirent.in.h: Likewise.
8609         * lib/errno.in.h: Likewise.
8610         * lib/fcntl.in.h: Likewise.
8611         * lib/float.in.h: Likewise.
8612         * lib/getopt.in.h: Likewise.
8613         * lib/iconv.in.h: Likewise.
8614         * lib/inttypes.in.h: Likewise.
8615         * lib/langinfo.in.h: Likewise.
8616         * lib/locale.in.h: Likewise.
8617         * lib/math.in.h: Likewise.
8618         * lib/netdb.in.h: Likewise.
8619         * lib/netinet_in.in.h: Likewise.
8620         * lib/poll.in.h: Likewise.
8621         * lib/pthread.in.h: Likewise.
8622         * lib/pty.in.h: Likewise.
8623         * lib/sched.in.h: Likewise.
8624         * lib/se-selinux.in.h: Likewise.
8625         * lib/search.in.h: Likewise.
8626         * lib/signal.in.h: Likewise.
8627         * lib/spawn.in.h: Likewise.
8628         * lib/stdarg.in.h: Likewise.
8629         * lib/stddef.in.h: Likewise.
8630         * lib/stdint.in.h: Likewise.
8631         * lib/stdio.in.h: Likewise.
8632         * lib/stdlib.in.h: Likewise.
8633         * lib/string.in.h: Likewise.
8634         * lib/strings.in.h: Likewise.
8635         * lib/sys_file.in.h: Likewise.
8636         * lib/sys_ioctl.in.h: Likewise.
8637         * lib/sys_select.in.h: Likewise.
8638         * lib/sys_socket.in.h: Likewise.
8639         * lib/sys_stat.in.h: Likewise.
8640         * lib/sys_time.in.h: Likewise.
8641         * lib/sys_times.in.h: Likewise.
8642         * lib/sys_utsname.in.h: Likewise.
8643         * lib/sys_wait.in.h: Likewise.
8644         * lib/sysexits.in.h: Likewise.
8645         * lib/termios.in.h: Likewise.
8646         * lib/time.in.h: Likewise.
8647         * lib/unistd.in.h: Likewise.
8648         * lib/wchar.in.h: Likewise.
8649         * lib/wctype.in.h: Likewise.
8650         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
8651         * modules/ctype (Makefile.am): Likewise.
8652         * modules/dirent (Makefile.am): Likewise.
8653         * modules/errno (Makefile.am): Likewise.
8654         * modules/fcntl-h (Makefile.am): Likewise.
8655         * modules/float (Makefile.am): Likewise.
8656         * modules/getopt-posix (Makefile.am): Likewise.
8657         * modules/iconv-h (Makefile.am): Likewise.
8658         * modules/inttypes (Makefile.am): Likewise.
8659         * modules/langinfo (Makefile.am): Likewise.
8660         * modules/locale (Makefile.am): Likewise.
8661         * modules/math (Makefile.am): Likewise.
8662         * modules/netdb (Makefile.am): Likewise.
8663         * modules/netinet_in (Makefile.am): Likewise.
8664         * modules/poll-h (Makefile.am): Likewise.
8665         * modules/pthread (Makefile.am): Likewise.
8666         * modules/pty (Makefile.am): Likewise.
8667         * modules/sched (Makefile.am): Likewise.
8668         * modules/search (Makefile.am): Likewise.
8669         * modules/selinux-h (Makefile.am): Likewise.
8670         * modules/signal (Makefile.am): Likewise.
8671         * modules/spawn (Makefile.am): Likewise.
8672         * modules/stdarg (Makefile.am): Likewise.
8673         * modules/stddef (Makefile.am): Likewise.
8674         * modules/stdint (Makefile.am): Likewise.
8675         * modules/stdio (Makefile.am): Likewise.
8676         * modules/stdlib (Makefile.am): Likewise.
8677         * modules/string (Makefile.am): Likewise.
8678         * modules/strings (Makefile.am): Likewise.
8679         * modules/sys_file (Makefile.am): Likewise.
8680         * modules/sys_ioctl (Makefile.am): Likewise.
8681         * modules/sys_select (Makefile.am): Likewise.
8682         * modules/sys_socket (Makefile.am): Likewise.
8683         * modules/sys_stat (Makefile.am): Likewise.
8684         * modules/sys_time (Makefile.am): Likewise.
8685         * modules/sys_times (Makefile.am): Likewise.
8686         * modules/sys_utsname (Makefile.am): Likewise.
8687         * modules/sys_wait (Makefile.am): Likewise.
8688         * modules/sysexits (Makefile.am): Likewise.
8689         * modules/termios (Makefile.am): Likewise.
8690         * modules/time (Makefile.am): Likewise.
8691         * modules/unistd (Makefile.am): Likewise.
8692         * modules/wchar (Makefile.am): Likewise.
8693         * modules/wctype (Makefile.am): Likewise.
8694
8695 2010-10-04  Bruno Haible  <bruno@clisp.org>
8696
8697         read-file tests: Avoid a test failure on NonStop Kernel.
8698         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
8699         a regular file.
8700         Reported by Joachim Schmitz <schmitz@hp.com>.
8701
8702 2010-10-03  Bruno Haible  <bruno@clisp.org>
8703
8704         gnulib-tool: Fixes for --create-testdir with --libtool.
8705         * gnulib-tool (func_get_automake_snippet): Don't augment
8706         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
8707         an executable.
8708         (func_create_testdir): Handle module 'alloca' like func_import.
8709         Reported by Bruce Korb <bruce.korb@gmail.com>.
8710
8711 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
8712
8713         Avoid some lines longer than 80 characters.
8714         * lib/stdint.in.h: Break long comment lines.
8715         * lib/math.in.h: Likewise.
8716         (_GL_NUM_UINT_WORDS): New macro, for readability.
8717         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
8718         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
8719         * lib/stdlib.in.h: Likewise.
8720         * lib/spawn.in.h: Likewise.
8721         * lib/sys_socket.in.h: Update an URL.
8722         * lib/sys_stat.in.h: Break long line.
8723
8724 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
8725
8726         Improve pmccabe2html.
8727         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
8728         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
8729         when the sources change. Remove the line in the HTML about "Used
8730         ranges" (which implied that there might be other unused ranges),
8731         rename "Resume" to "Summary" (easier to understand for more users).
8732         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
8733         styles, and some unnecessary blank lines.
8734
8735 2010-10-03  Bruno Haible  <bruno@clisp.org>
8736             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8737
8738         acl: Add support for ACLs on NonStop Kernel.
8739         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
8740         Check whether the function aclsort() exists.
8741         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
8742         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
8743         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8744         (acl_nontrivial [HAVE_ACLSORT]: New function.
8745         (file_has_acl): Implement for NonStop Kernel.
8746         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8747         (qset_acl): Implement for NonStop Kernel.
8748         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
8749         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
8750         (main): Implement for NonStop Kernel.
8751         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
8752         Kernel. Handle this flavor.
8753         * tests/test-set-mode-acl.sh: Likewise.
8754         * tests/test-copy-acl.sh: Likewise.
8755         * tests/test-copy-file.sh: Likewise.
8756
8757 2010-10-03  Bruno Haible  <bruno@clisp.org>
8758
8759         Info about ACLs on NonStop Kernel.
8760         * doc/acl-resources.txt: Add info about NonStop Kernel.
8761         References by Joachim Schmitz <schmitz@hp.com>.
8762
8763 2010-10-02  Bruno Haible  <bruno@clisp.org>
8764
8765         Define missing EDQUOT on NonStop Kernel.
8766         * lib/errno.in.h (EDQUOT): Assign a value if missing.
8767         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
8768         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
8769         missing.
8770         * doc/posix-headers/errno.texi: Mention the NSK bug.
8771         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
8772         Reported by Joachim Schmitz <schmitz@hp.com>.
8773
8774 2010-10-02  Bruno Haible  <bruno@clisp.org>
8775
8776         Update doc for POSIX:2008.
8777         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
8778         Update URL of POSIX specification.
8779
8780 2010-10-02  Bruno Haible  <bruno@clisp.org>
8781
8782         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
8783         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
8784         from gnulib, not from Automake.
8785
8786 2010-10-02  Bruno Haible  <bruno@clisp.org>
8787
8788         New module 'system-posix'.
8789         * modules/system-posix: New file.
8790         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
8791         module is present.
8792         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
8793         GNULIB_SYSTEM_POSIX.
8794         * modules/stdlib (Depends-on): Remove sys_wait.
8795         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
8796         * doc/posix-functions/system.texi: Mention the new module.
8797         * doc/posix-headers/stdlib.texi: Likewise.
8798         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
8799         define test_sys_wait_macros to a no-op.
8800         Reported by Sam Steingold <sds@gnu.org>.
8801
8802 2010-09-30  Bruno Haible  <bruno@clisp.org>
8803
8804         More renaming from 'getdate' to 'get_date'.
8805         * doc/get_date.texi: Renamed from doc/getdate.texi.
8806         * modules/get_date (Files): Update.
8807         * MODULES.html.sh (Date and time <time.h>): Update.
8808         * DEPENDENCIES: Update.
8809         * gnulib-tool: Update comment.
8810         * m4/bison.m4 (gl_BISON): Likewise.
8811         * m4/get_date.m4 (gl_GET_DATE): Likewise.
8812
8813 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
8814
8815         bootstrap: support ACLOCAL_FLAGS during aclocal
8816         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
8817         can add additional -I dir for third-party .m4 files.
8818
8819 2010-09-30  Eric Blake  <eblake@redhat.com>
8820
8821         bootstrap: use glibtoolize on MacOS
8822         * build-aux/bootstrap (check_versions): Convert libtool into
8823         libtoolize.
8824         (tool search): Move libtool check earlier, and look for
8825         glibtoolize for MacOS.
8826         (gnulib_tool_options): Auto-add --libtool when appropriate.
8827         Reported by Justin Clift.
8828
8829         poll: fix typo that broke test on MacOS
8830         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
8831         Reported by Justin Clift.
8832
8833         getdate: rename to get_date
8834         Note: getdate.h is not renamed, to minimize client impact.
8835         * modules/getdate: Mark obsolete.  Move old contents...
8836         * modules/get_date: ...to new module name.
8837         * modules/getdate-tests: Move...
8838         * modules/get_date-tests: ...here.
8839         * m4/getdate.m4: Move...
8840         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
8841         * lib/getdate.y: Move...
8842         * lib/get_date.y: ...here.
8843         * tests/test-getdate.c: Move...
8844         * tests/test-get_date.c: ...here.
8845         * doc/posix-functions/getdate.texi (getdate): Update name.
8846         * NEWS: Mention the change.
8847
8848 2010-09-29  Bruno Haible  <bruno@clisp.org>
8849
8850         Separate the module 'waitpid' from the module 'sys_wait'.
8851         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
8852         present.
8853         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
8854         gl_MODULE_INDICATOR_FOR_TESTS.
8855         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
8856         * modules/sys_wait (Depends-on): Remove waitpid.
8857         (Makefile.am): Substitute GNULIB_WAITPID.
8858         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
8859         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
8860         signature only if the 'waitpid' module is present.
8861         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
8862         * NEWS: Mention the change.
8863         * modules/grantpt (Depends-on): Add waitpid.
8864         * modules/wait-process (Depends-on): Likewise.
8865
8866 2010-09-29  Bruno Haible  <bruno@clisp.org>
8867
8868         More tests for module 'sys_wait'.
8869         * modules/sys_wait-c++-tests: New file.
8870         * tests/test-sys_wait-c++.cc: New file.
8871         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
8872         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8873
8874 2010-09-29  Bruno Haible  <bruno@clisp.org>
8875
8876         New module 'waitpid'.
8877         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
8878         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
8879         Don't include <process.h>.
8880         (waitpid): Declare only, using modern idiom.
8881         * m4/waitpid.m4: New file.
8882         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
8883         * modules/waitpid: New file.
8884         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
8885         (Makefile.am): Update.
8886         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
8887
8888 2010-09-28  Bruno Haible  <bruno@clisp.org>
8889
8890         poll: Assume ANSI C.
8891         * lib/poll.c (poll): Use an ANSI C declaration.
8892
8893 2010-09-28  Bruno Haible  <bruno@clisp.org>
8894
8895         poll-h: Create poll.h on all platforms.
8896         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
8897         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
8898         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
8899         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
8900         (gl_REPLACE_POLL_H): Don't set POLL_H.
8901         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
8902         * modules/poll-h (Depends-on): Add include_next.
8903         (Makefile.am): Create poll.h unconditionally. Substitute also
8904         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
8905
8906 2010-09-28  Bruno Haible  <bruno@clisp.org>
8907
8908         Tests for module 'poll-h'.
8909         * modules/poll-h-c++-tests: New file.
8910         * tests/test-poll-h-c++.cc: New file.
8911
8912         Tests for module 'poll-h'.
8913         * modules/poll-h-tests: New file.
8914         * tests/test-poll-h.c: New file.
8915
8916 2010-09-28  Bruno Haible  <bruno@clisp.org>
8917
8918         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
8919         * modules/poll-h (Depends-on): Add 'extensions'.
8920
8921 2010-09-28  Bruno Haible  <bruno@clisp.org>
8922
8923         New module 'poll-h'.
8924         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
8925         (poll): Use modern idiom.
8926         * modules/poll-h: New file.
8927         * modules/poll (Files): Remove lib/poll.in.h.
8928         (Depends-on): Add poll-h.
8929         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
8930         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
8931         * m4/poll_h.m4: New file.
8932         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
8933         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
8934         and invoke gl_REPLACE_POLL_H.
8935         * lib/poll.c: Use common idiom.
8936         * tests/test-poll.c: Likewise.
8937         * doc/posix-headers/poll.texi: Mention the poll-h module.
8938         Suggested by Eric Blake.
8939
8940 2010-09-26  Bruno Haible  <bruno@clisp.org>
8941
8942         sys_wait: Implement WSTOPSIG.
8943         * lib/sys_wait.in.h (WSTOPSIG): New macro.
8944         Reported by Simon Josefsson.
8945
8946 2010-09-26  Simon Josefsson  <simon@josefsson.org>
8947
8948         stdlib, sys_wait: Avoid compilation error on mingw.
8949         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
8950
8951 2010-09-26  Bruno Haible  <bruno@clisp.org>
8952
8953         stdlib tests: Avoid code duplication.
8954         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
8955         * modules/sys_wait-tests (Files): Likewise.
8956         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
8957         * tests/test-stdlib.c: Include test-sys_wait.h.
8958         (main): Invoke test_sys_wait_macros.
8959         * tests/test-sys_wait.c: Include test-sys_wait.h.
8960         (main): Invoke test_sys_wait_macros.
8961
8962 2010-09-25  Simon Josefsson  <simon@josefsson.org>
8963
8964         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
8965         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
8966         sure Windows sockets are working before calling getaddrinfo.
8967         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
8968         * doc/gnulib.texi (Windows sockets): Fix typo.
8969
8970 2010-09-25  Bruno Haible  <bruno@clisp.org>
8971
8972         Tests for module 'regex-quote'.
8973         * modules/regex-quote-tests: New file.
8974         * tests/test-regex-quote.c: New file.
8975
8976         New module 'regex-quote'.
8977         * lib/regex-quote.h: New file.
8978         * lib/regex-quote.c: New file.
8979         * modules/regex-quote: New file.
8980         Suggested by Reuben Thomas <rrt@sc3d.org>.
8981
8982 2010-09-24  Bruno Haible  <bruno@clisp.org>
8983
8984         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
8985         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
8986
8987 2010-09-23  Bruno Haible  <bruno@clisp.org>
8988
8989         setenv: Relax license.
8990         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
8991         Blake.
8992         Requested by Eric Blake.
8993
8994 2010-09-22  Bruno Haible  <bruno@clisp.org>
8995
8996         termios: Relax license.
8997         * modules/termios (License): Change to LGPLv2+.
8998         Requested by Eric Blake.
8999
9000 2010-09-22  Bruno Haible  <bruno@clisp.org>
9001
9002         threadlib: Allow the package to change the default to 'no'.
9003         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
9004         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
9005         Reported by Paul Eggert.
9006
9007 2010-09-22  Pádraig Brady  <P@draigbrady.com>
9008             Bruno Haible  <bruno@clisp.org>
9009
9010         Fix endless loop in mbmemcasecoll.
9011         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
9012         byte.
9013         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
9014
9015 2010-09-22  Bruno Haible  <bruno@clisp.org>
9016
9017         Tests for module 'memcoll'.
9018         * modules/memcoll-tests: New file.
9019         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
9020
9021         memcoll, xmemcoll: Clarify size vs. length.
9022         * modules/memcoll.c (memcoll0): Clarify specification.
9023         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
9024         passed to collate_error.
9025
9026 2010-09-22  Bruno Haible  <bruno@clisp.org>
9027
9028         Tests for module 'memcasecmp'.
9029         * modules/memcasecmp-tests: New file.
9030         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
9031
9032 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9033
9034         * lib/pthread.in.h: Add split double-inclusion guard, and include
9035         system <pthread.h> if there is one.  Use @@-style as in other
9036         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
9037         pthread.h doesn't.
9038         (pthread_mutexattr_destroy, pthread_mutexattr_init):
9039         (pthread_mutexattr_settype, pthread_mutex_trylock):
9040         New static inline functions, if there's no system <pthread.h>.
9041         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
9042         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
9043         Approximate with mutexes if the system lacks spinlocks, as in
9044         MacOS.
9045         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
9046         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
9047         @@-style.  Check for spinlocks separately.
9048         (gl_PTHREAD_DEFAULTS): New macro.
9049         * modules/pthread: Redo to use a more typical style for in.h files.
9050
9051 2010-09-21  Eric Blake  <eblake@redhat.com>
9052
9053         net_if: enhance tests
9054         * tests/test-net_if.c (main): Move signature checks earlier.
9055         Print failures to stderr.
9056         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
9057         Document the bug that we do not yet fix.
9058
9059 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9060
9061         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
9062         about gnulib, not GSS.
9063
9064 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
9065
9066         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
9067         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
9068         for Emacs.
9069         * build-aux/pmccabe2html: Make Makefile.am example code more
9070         cut-and-paste friendly.
9071
9072 2010-09-21  Simon Josefsson  <simon@josefsson.org>
9073
9074         * tests/test-net_if.c: New file.
9075         * modules/net_if-tests: New file.
9076
9077 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
9078
9079         pthread: add pthread_spin_destroy
9080         * lib/pthread.in.h (pthread_spin_destroy): New function.
9081
9082 2010-09-19  Bruno Haible  <bruno@clisp.org>
9083
9084         gnulib-tool: Fix --help output.
9085         * gnulib-tool (func_usage): Fix help message.
9086         Reported by Reuben Thomas <rrt@sc3d.org>.
9087
9088 2010-09-18  Jim Meyering  <meyering@redhat.com>
9089
9090         maint.mk: avoid unexpanded \n in two diagnostics
9091         * top/maint.mk (sc_prohibit_always_true_header_tests):
9092         Don't use a literal \n in a halt=... assignment.  It would not be
9093         expanded, and the two \n bytes would appear in the diagnostic output
9094         rather than the desired newline.  Use halt=$$(printf ... instead.
9095         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
9096
9097 2010-09-18  Bruno Haible  <bruno@clisp.org>
9098
9099         netinet_in: Doc tweak.
9100         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
9101         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9102
9103 2010-09-18  Jim Meyering  <meyering@redhat.com>
9104
9105         init.sh: correct an outdated comment
9106         * tests/init.sh (create_exe_shims_):  s/function/alias/
9107
9108         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
9109         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
9110         a file named "*.exe" is removed between the glob expansion and the
9111         processing of that oddly named file.
9112
9113 2010-09-17  Eric Blake  <eblake@redhat.com>
9114
9115         mirbsd: add some more support
9116         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
9117         in BSD family.
9118         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
9119         devices as OpenBSD.
9120         * m4/host-os.m4 (mirbsd): Add MirBSD.
9121
9122         tests: fix unportable assumption on sys/wait.h
9123         * tests/test-sys_wait.c (main): Relax test.
9124         * tests/test-stdlib.c (main): Likewise.
9125
9126         init.sh: accomodate directory with no .exes
9127         * tests/init.sh: Accomodate directory containing only scripts.
9128
9129         tests: avoid compiler warning
9130         * tests/test-stdlib.c (main): Use the variable.
9131
9132         fdutimens, fdutimensat: update signature, again
9133         * lib/utimens.h (gl_futimens): Delete, and move signature...
9134         (fdutimens): ...here.
9135         (fdutimensat): Rearrange signature.
9136         (lutimensat): Rename variable for clarity.
9137         * lib/fdutimensat.c (fdutimensat): Update signature.
9138         * lib/utimens.c (fdutimens): Likewise.
9139         (gl_futimens): Delete.
9140         (utimens, lutimens): Update callers.
9141         * lib/futimens.c (futimens): Likewise.
9142         * tests/test-fdutimensat.c: Likewise.
9143         * tests/test-utimens.c: Likewise.
9144         * tests/test-futimens.h: Update comment.
9145         * NEWS: Mention this.
9146         Suggested by Paul Eggert.
9147
9148 2010-09-17  Bruno Haible  <bruno@clisp.org>
9149
9150         Take over the maintenance of some older macros from Autoconf.
9151         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
9152         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
9153         GNU Autoconf.
9154         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
9155         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
9156
9157 2010-09-17  Eric Blake  <eblake@redhat.com>
9158
9159         fdutimensat: drop atflag validation
9160         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
9161         with valid fd, to close a race scenario where futimens is
9162         unsupported and FILE was replaced by a symlink.
9163         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
9164         accordingly.
9165         Suggested by Paul Eggert.
9166
9167 2010-09-16  Bruno Haible  <bruno@clisp.org>
9168
9169         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
9170         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
9171
9172 2010-09-16  Bruno Haible  <bruno@clisp.org>
9173
9174         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
9175         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
9176         login_tty exists.
9177         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9178
9179 2010-09-16  Bruno Haible  <bruno@clisp.org>
9180
9181         login_tty: Make the replacement code work on BSD systems.
9182         * lib/login_tty.c: Include <sys/ioctl.h>.
9183         (login_tty): Use ioctl TIOCSCTTY when available.
9184         * modules/login_tty (Depends-on): Add sys_ioctl.
9185         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9186
9187 2010-09-16  Bruno Haible  <bruno@clisp.org>
9188
9189         login_tty: Stricter unit test.
9190         * modules/login_tty-tests (Depends-on): Add tcgetsid.
9191         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
9192         and tcgetsid() after login_tty.
9193         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9194
9195 2010-09-16  Bruno Haible  <bruno@clisp.org>
9196
9197         New module 'tcgetsid'.
9198         * lib/tcgetsid.c: New file.
9199         * m4/tcgetsid.m4: New file.
9200         * modules/tcgetsid: New file.
9201         * modules/termios (Depends-on): Add c++defs, warn-on-use.
9202         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
9203         GNULIB_TCGETSID, HAVE_TCGETSID.
9204         * lib/termios.in.h: Include <sys/types.h>.
9205         (tcgetsid): New declaration.
9206         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
9207         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
9208         * doc/posix-functions/tcgetsid.texi: Mention the new module.
9209         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
9210
9211 2010-09-16  Bruno Haible  <bruno@clisp.org>
9212
9213         Tests for module 'termios'.
9214         * modules/termios-c++-tests: New file.
9215         * modules/termios-tests: New file.
9216         * tests/test-termios-c++.cc: New file.
9217         * tests/test-termios.c: New file.
9218
9219         New module 'termios'.
9220         * modules/termios: New file.
9221         * lib/termios.in.h: New file.
9222         * m4/termios_h.m4: New file.
9223         * doc/posix-headers/termios.texi: Mention the new module.
9224
9225 2010-09-16  Eric Blake  <eblake@redhat.com>
9226
9227         fdutimensat: add an atflag parameter
9228         * lib/fdutimensat.c (fdutimensat): Add new parameter.
9229         * lib/utimens.h (fdutimensat): Update prototype.
9230         * tests/test-fdutimensat.c: Adjust test to match.
9231         * NEWS: Document the change.
9232         Suggested by Paul Eggert.
9233
9234 2010-09-16  Bruno Haible  <bruno@clisp.org>
9235
9236         Fix typos in comments.
9237         * lib/striconveh.h: Fix typo in comment.
9238         * lib/login_tty.c (login_tty): Likewise.
9239
9240 2010-09-15  Bruno Haible  <bruno@clisp.org>
9241
9242         stdlib: clarify MirBSD WEXITSTATUS bug
9243         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
9244         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9245
9246 2010-09-15  Eric Blake  <eblake@redhat.com>
9247
9248         stdlib: work around MirBSD WEXITSTATUS bug
9249         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
9250         * modules/stdlib (Depends-on): Add sys_wait.
9251         * tests/test-sys_wait.c (main): Enhance test.
9252         * tests/test-stdlib.c (main): Likewise.
9253         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
9254
9255         docs: mention MacOS issue with WEXITSTATUS(constant)
9256         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
9257         issue.
9258         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
9259
9260         strnlen: add tests
9261         * modules/strnlen-tests: New file.
9262         * tests/test-strnlen.c: Likewise.
9263
9264 2010-09-14  Bruno Haible  <bruno@clisp.org>
9265
9266         unistr/base: Avoid link errors when module 'libunistring' is also used.
9267         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
9268         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
9269         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
9270         Declare also when HAVE_LIBUNISTRING is set.
9271         Reported by Pádraig Brady <P@draigbrady.com>.
9272
9273 2010-09-14  Eric Blake  <eblake@redhat.com>
9274
9275         test-rawmemchr: make more robust
9276         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
9277         (Depends-on, configure.ac): Add needed prerequisites to use it.
9278         * modules/memchr-tests (Files, Depends-on, configure.ac):
9279         Likewise, to avoid implicit reliance on memchr module prereqs.
9280         * tests/test-memchr.c (main): Ensure proper masking.
9281         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
9282         reads.
9283
9284         memchr: detect glibc Alpha bug
9285         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
9286         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
9287         Alpha.
9288         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
9289         * tests/test-memchr.c (main): Enhance test.
9290         Reported by Nelson H. F. Beebe.
9291
9292 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9293
9294         fts, getcwd, glob: audit for dirfd returning -1
9295         * lib/fts.c (opendir): Remove #define; no longer used.
9296         (opendirat): New arg PDIR_FD.  All callers changed.
9297         (fts_build, _opendir2): Use new opendirat to avoid the need for
9298         dirfd, or for checking whether dirfd returns a negative value.
9299         Don't use opendir; always use openat followed by fdopendir.
9300         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
9301         it.
9302         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
9303         returns -1 here.
9304         * modules/fts (Depends-on): Remove dirfd.
9305         * modules/getcwd (Depends-on): Likewise.
9306
9307 2010-09-13  Eric Blake  <eblake@redhat.com>
9308
9309         float: fix broken MirBSD header
9310         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
9311         * doc/posix-headers/float.texi (float.h): Document it.
9312
9313 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
9314
9315         fts: use O_NOFOLLOW to avoid race condition when opening a directory
9316         * lib/fts.c (opendirat): New arg extra_flags.
9317         (__opendir2): Use it to avoid following symlinks when opening
9318         a directory, if symlinks are not supposed to be followed.  See
9319         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
9320
9321         fdopendir: preserve argument fd before returning
9322         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
9323         (fdopendir_with_dup, fd_clone_opendir): New static functions.
9324         (fdopendir): Use them, arranging for FD to be open to the same
9325         directory that it was when it started.  (It might be temporarily
9326         closed while fdopendir is running, so this not thread- or
9327         signal-safe.)  Be careful to do the right thing even when file
9328         descriptors are scarce and dup fails with errno == EMFILE.  See
9329         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
9330
9331 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
9332
9333         regex: Pass the system regex if its only problem is 32-bit regoff_t.
9334         * NEWS: Document change.
9335         * m4/regex.m4: Disable test for regoff_t size.
9336
9337 2010-09-13  Jim Meyering  <meyering@redhat.com>
9338
9339         fts: don't operate on an invalid file descriptor after failed dup
9340         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
9341         negative file descriptor.
9342
9343 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
9344
9345         savedir: add streamsavedir, deprecate fdsavedir
9346         * NEWS: Mention deprecation of fdsavedir.
9347         * lib/savedir.c (streamsavedir): New extern function, whose name
9348         ends in "savedir" to be consistent with the others.  This differs
9349         from savedirstream in that it doesn't close its argument.  The
9350         next version of GNU tar will use this instead of fdsavedir, to
9351         avoid some race conditions and conserve file descriptors.
9352         (savedirstream): Reimplement as a wrapper around streamsavedir.
9353         (fdsavedir): Add a comment deprecating this function.  As far as
9354         I know, only GNU tar used it, and GNU tar doesn't need it any more.
9355         * lib/savedir.h (streamsavedir): New decl.
9356         (fdsavedir): Add a comment deprecating this.
9357
9358 2010-09-10  Bruno Haible  <bruno@clisp.org>
9359
9360         langinfo: Fix last commit.
9361         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
9362         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
9363         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9364
9365 2010-09-10  Bruno Haible  <bruno@clisp.org>
9366
9367         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
9368         * lib/progreloc.c (O_EXEC): Define fallback.
9369
9370 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
9371
9372         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
9373         * NEWS: Document recent changes to fcntl-h.
9374         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
9375         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
9376         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
9377         Similarly for O_SEARCH; this last was already true, but not documented.
9378         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
9379         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
9380         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
9381         Likewise.
9382         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
9383         is zero, not whether it is defined.
9384         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
9385         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
9386         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
9387
9388 2010-09-10  Bruno Haible  <bruno@clisp.org>
9389
9390         langinfo, nl_langinfo: Fix for IRIX 5.3.
9391         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
9392         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
9393         HAVE_LANGINFO_YESEXPR.
9394         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
9395         HAVE_LANGINFO_YESEXPR.
9396         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
9397         HAVE_LANGINFO_T_FMT_AMPM is 0.
9398         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
9399         HAVE_LANGINFO_YESEXPR is 0.
9400         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
9401         NOEXPR.
9402         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
9403         * doc/posix-functions/nl_langinfo.texi: Likewise.
9404         Reported by Eric Blake.
9405
9406 2010-09-10  Bruno Haible  <bruno@clisp.org>
9407
9408         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
9409         * doc/glibc-functions/login_tty.texi: Mention the include file problem
9410         on FreeBSD 8.0 and OpenBSD 4.6.
9411         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
9412         * m4/pty_h.m4 (gl_PTY_H): Likewise.
9413         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
9414         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
9415         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
9416         ac_includes_default.
9417         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
9418
9419 2010-09-09  Eric Blake  <eblake@redhat.com>
9420
9421         strsignal: work around NetBSD bug
9422         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
9423         * lib/string.in.h (includes): Likewise.
9424         * doc/posix-functions/strsignal.texi (strsignal): Document the
9425         bug.
9426         Reported by Nelson H. F. Beebe.
9427
9428         gnulib-tool: work with NetBSD /bin/sh
9429         * gnulib-tool (func_cache_var, func_cache_lookup_module)
9430         (func_get_description, func_get_comment, func_get_status)
9431         (func_get_notice, func_get_applicability, func_get_filelist)
9432         (func_get_dependencies, func_get_autoconf_early_snippet)
9433         (func_get_autoconf_snippet, func_get_automake_snippet)
9434         (func_get_include_directive, func_get_link_directive)
9435         (func_get_license, func_get_maintainer, func_import): Avoid
9436         shell syntax errors from parsing syntax extensions.
9437
9438 2010-09-09  Bruno Haible  <bruno@clisp.org>
9439
9440         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9441         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
9442         a reliable way to determine whether the 'alias' command works.
9443
9444 2010-09-08  Jim Meyering  <meyering@redhat.com>
9445
9446         init.sh: penalize a set-x-impaired shell; don't disqualify it
9447         * tests/init.sh: Too many shells corrupt application stderr when
9448         you set -x, so we can't afford to disqualify them, since at least
9449         on Irix-6.5, that would disqualify all bourne shells.
9450         Instead, use a two-pass approach.
9451         On the first pass, try to find a shell that meets the stricter
9452         condition that set -x does not corrupt stderr.
9453         If no shell meets the stricter condition, retest each candidate
9454         shell, but without that extra condition.  Finally, when
9455         VERBOSE=yes is requested and set -x might cause trouble, simply
9456         issue a warning and refrain from enabling debug output.
9457
9458 2010-09-08  Eric Blake  <eblake@redhat.com>
9459
9460         unsetenv: fix OpenBSD bug
9461         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
9462         * doc/posix-functions/unsetenv.texi (unsetenv): Update
9463         documentation.
9464         Reported by Jim Meyering.
9465
9466         strtod: work around IRIX 6.5 bug
9467         * lib/strtod.c (strtod): Reparse number on shorter string if
9468         exponent parse was invalid.
9469         * tests/test-strtod.c (main): Add check for "0x1p 2".
9470         Reported by Tom G. Christensen.
9471
9472         getopt: optimize previous patch
9473         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
9474         empty variable.  Speed up awk script.
9475         Reported by Paolo Bonzini.
9476
9477 2010-09-08  Jim Meyering  <meyering@redhat.com>
9478
9479         test.sh: disqualify shells for which set -x corrupts stderr
9480         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
9481         and OpenBSD 4.7.  They make it so with "set -x", environment settings
9482         appear in stderr output.  For example, this command:
9483             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
9484         prints "P=1" on those two systems:
9485
9486 2010-09-08  Bruno Haible  <bruno@clisp.org>
9487
9488         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
9489         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
9490         commands, because some shells ignore redirections when there is an
9491         error in the command lookup.
9492         Reported by Eric Blake.
9493
9494 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
9495
9496         * lib/regex.h: Fix a mention of `regex_compile' (should be
9497         `re_compile_pattern').
9498         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
9499         (re_set_registers): Correct name of parameter in comment.
9500
9501         * doc/regex.texi: Add documentation for missing syntax flags.
9502         Remove commented-out documentation of defunct syntax option
9503         RE_NO_EMPTY_ALTS.
9504         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
9505         Add documentation of re_set_registers.
9506         Document trick to re-use a pattern buffer by setting fastmap manually.
9507         Update documentation of struct re_pattern_buffer per public members.
9508         Uncomment documentation of equivalence class operators and
9509         collating symbol operators, since they are now implemented,
9510         Explain leftmost-longest matching in relation to alternatives.
9511         Tidy documentation of substring matching.
9512         Remove POSIX documentation, which is done better in
9513         glibc, and refer the reader there. Keep BSD API documentation, as
9514         that is not readily available elsewhere.
9515
9516 2010-09-07  Eric Blake  <eblake@redhat.com>
9517
9518         getopt: handle POSIXLY_CORRECT set but not exported
9519         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
9520         export state of POSIXLY_CORRECT, due to bash set -o posix.
9521         Reported by Dustin J. Mitchell.
9522
9523 2010-09-05  Bruno Haible  <bruno@clisp.org>
9524
9525         gnulib-tool: Highlight the changed options.
9526         * gnulib-tool (func_usage): Display the --import, --add-import,
9527         --remove-import explanations in bold font.
9528
9529 2010-09-06  Karl Berry  <karl@gnu.org>
9530
9531         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
9532
9533 2010-09-05  Bruno Haible  <bruno@clisp.org>
9534
9535         uniwidth/width: Update comment.
9536         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
9537         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
9538
9539 2010-09-05  Bruno Haible  <bruno@clisp.org>
9540
9541         isinf, isnan: Relax license.
9542         * modules/isinf (License): Change from GPL to LGPL, with consent from
9543         Ben Pfaff.
9544         * modules/isnan (License): Likewise.
9545         Requested by Ludovic Courtès.
9546
9547 2010-09-04  Bruno Haible  <bruno@clisp.org>
9548
9549         gnulib-tool: Help migration from --import to --add-import or --update.
9550         * gnulib-tool: Emit a verbose error message when --import is used
9551         without any module name.
9552
9553 2010-09-04  Bruno Haible  <bruno@clisp.org>
9554
9555         Update doc about gnulib-tool.
9556         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
9557         'gnulib-tool --update' in more detail.
9558         Reported by Eric Blake.
9559
9560 2010-09-04  Bruno Haible  <bruno@clisp.org>
9561
9562         gnulib-tool: Change --import. New options --add/remove-import.
9563         * gnulib-tool: New options --add-import, --remove-import.
9564         (func_usage): Document them.
9565         (have_associative): Define always.
9566         (func_import): In import mode, don't merge the specified settings with
9567         the cached settings. Implement remove-import mode.
9568         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
9569         Explain when to use them versus --import.
9570         (Simple update): Use --add-import instead of --import.
9571         * NEWS: Mention the change.
9572
9573 2010-09-04  Bruno Haible  <bruno@clisp.org>
9574
9575         * doc/gnulib-tool.texi (Initial import): Update paragraph about
9576         separate gnulib.mk.
9577
9578 2010-09-04  Bruno Haible  <bruno@clisp.org>
9579
9580         gnulib-tool: Don't talk about CVS any more.
9581         * gnulib-tool (func_usage, func_import): Write "version control"
9582         instead of CVS.
9583
9584 2010-09-04  Jim Meyering  <meyering@redhat.com>
9585
9586         maint.mk: avoid obscure sc_copyright_check failure in coreutils
9587         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
9588         false positives (whose names may be ill-chosen) when searching
9589         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
9590         would cause a false-positive.
9591
9592         avoid coreutils "make distcheck" failure
9593         Coreutils tests with an absolute build directory name that contains
9594         a space.  Not quoting this directory name caused a failure.
9595         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
9596         * tests/test-vc-list-files-cvs.sh: Likewise.
9597
9598 2010-09-04  Bruno Haible  <bruno@clisp.org>
9599
9600         gnulib-tool: Avoid error when run in a package without Makefile.am.
9601         * gnulib-tool: When collecting the m4dirs in a package that does not
9602         have a Makefile.am, eliminate those directories that contain no
9603         gnulib-cache.m4. Fix expression that counts these directories.
9604
9605 2010-09-04  Bruno Haible  <bruno@clisp.org>
9606
9607         update-copyright test: Improve output when perl is missing or too old.
9608         * tests/test-update-copyright.sh: Move test of Perl version down after
9609         the test whether Perl exists. Provide an explanation relating Perl's
9610         error message to Automake's SKIP: message.
9611
9612 2010-09-04  Bruno Haible  <bruno@clisp.org>
9613
9614         Don't augment PATH in TESTS_ENVIRONMENT.
9615         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
9616         set abs_aux_dir instead of augmenting PATH.
9617         * modules/vc-list-files-tests (Makefile.am): Likewise.
9618         * tests/test-update-copyright.sh: Augment PATH here.
9619         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
9620         path_prepend_.
9621         * tests/test-vc-list-files-git.sh: Likewise.
9622
9623 2010-09-04  Jim Meyering  <meyering@redhat.com>
9624
9625         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
9626         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
9627
9628 2010-09-04  Bruno Haible  <bruno@clisp.org>
9629
9630         strdup: Fix compilation error in C++ mode.
9631         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
9632         the macro.
9633
9634 2010-09-04  Bruno Haible  <bruno@clisp.org>
9635
9636         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
9637         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
9638         macro into a function.
9639         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
9640
9641 2010-09-04  Bruno Haible  <bruno@clisp.org>
9642
9643         Set PATH_SEPARATOR the same way autoconf does.
9644         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
9645         the value of PATH_SEPARATOR the same way autoconf-generated configure
9646         scripts do.
9647         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
9648         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
9649
9650 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
9651
9652         Set PATH_SEPARATOR the same way autoconf does.
9653         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
9654         the same way autoconf-generated configure scripts do.
9655         * posix-modules: Likewise.
9656
9657 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
9658
9659         hash: fix safe_hasher const typo
9660         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
9661         const; otherwise, there is a type error later.
9662
9663 2010-09-02  Jim Meyering  <meyering@redhat.com>
9664
9665         test-update-copyright.sh: require perl 5.8.0
9666         * tests/test-update-copyright.sh: Require 5.8.0,
9667         which Tom G. Christensen has confirmed is adequate,
9668         while 5.6.1 is not.
9669
9670 2010-09-02  Eric Blake  <eblake@redhat.com>
9671
9672         tests: init.sh improvements for re-exec'ing with zsh
9673         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
9674         -vx through shell re-exec.
9675         Reported by Tom G. Christensen.
9676
9677         wctype: fix typo in previous commit
9678         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
9679         Reported by Ludovic Courtès.
9680
9681 2010-09-02  Jim Meyering  <meyering@redhat.com>
9682
9683         test-update-copyright.sh: skip test if Perl is too old
9684         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
9685         Reported by Tom G. Christensen.
9686
9687 2010-09-02  Bruno Haible  <bruno@clisp.org>
9688
9689         wctype: Avoid compilation error on IRIX 6.5.30.
9690         * lib/wctype.in.h (iswblank): Declare with a replacement if
9691         REPLACE_ISWBLANK is set.
9692         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
9693         declared. Set REPLACE_ISWBLANK.
9694         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
9695         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
9696         * doc/posix-headers/wctype.texi: Likewise.
9697         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9698
9699 2010-09-01  Bruno Haible  <bruno@clisp.org>
9700
9701         New module 'socketlib'.
9702         * modules/socketlib: New file.
9703         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
9704         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
9705         * modules/sockets (Depends-on): Add socketlib.
9706         Suggested by Sam Steingold <sds@gnu.org>.
9707
9708 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
9709
9710         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
9711
9712         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
9713         when one needs search access to a directory but not read access.
9714         On systems where it is available, it works in some cases where
9715         O_RDONLY does not, namely on directories that are searchable but
9716         not readable, and which need only to be searchable.  If O_SEARCH
9717         is not available, fall back to the traditional method of using
9718         O_RDONLY.
9719
9720         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
9721         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
9722         when opening a directory that needs only to be searchable.
9723         * lib/chdir-safer.c (chdir_no_follow): Likewise.
9724         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
9725         * lib/openat-proc.c (openat_proc_name): Likewise.
9726         * lib/openat.c (openat_needs_fchdir): Likewise.
9727         * lib/save-cwd.c (save_cwd): Likewise.
9728         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
9729
9730 2010-08-28  Bruno Haible  <bruno@clisp.org>
9731
9732         New module 'host-cpu-c-abi'.
9733         * modules/host-cpu-c-abi: New file.
9734         * m4/host-cpu-c-abi.m4: New file, based on part of
9735         clisp/src/m4/general.m4.
9736         Requested by Sam Steingold <sds@gnu.org>.
9737
9738 2010-08-31  Eric Blake  <eblake@redhat.com>
9739         and Jim Meyering  <meyering@redhat.com>
9740
9741         hash: factor, and guard against misbehaving hasher function
9742         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
9743         of table->hasher's return value.  Also protect against a hash value
9744         so large that adding it to table->bucket results in a NULL pointer.
9745         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
9746         Use it in place of open-coded check-and-abort.
9747
9748 2010-08-30  Bruno Haible  <bruno@clisp.org>
9749
9750         hash: silence spurious clang warning
9751         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
9752         Reported by Eric Blake.
9753
9754 2010-08-30  Eric Blake  <eblake@redhat.com>
9755
9756         strstr, memmem, strcasestr: avoid leaked shell message
9757         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
9758         FreeBSD.
9759         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
9760         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
9761
9762         tests: silence clang warning
9763         * tests/test-malloca.c (do_allocation): Avoid dead store.
9764
9765 2010-08-29  Bruno Haible  <bruno@clisp.org>
9766
9767         gettext: Fix recent mistake.
9768         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
9769
9770 2010-08-29  Bruno Haible  <bruno@clisp.org>
9771
9772         selinux-h: Offer a --without-selinux option.
9773         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
9774         --without-selinux was specified, skip all tests and define
9775         HAVE_SELINUX_SELINUX_H to 0.
9776         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
9777         set LIB_SELINUX to empty.
9778         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
9779         gl_LIBSELINUX. If --without-selinux was specified, replace
9780         selinux/context.h.
9781         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
9782
9783 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9784             Bruno Haible  <bruno@clisp.org>
9785
9786         Make the module 'realloc-gnu' work again on AIX and OSF/1.
9787         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
9788         of HAVE_REALLOC.
9789         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
9790         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
9791         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
9792         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9793
9794 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9795             Bruno Haible  <bruno@clisp.org>
9796
9797         Make the module 'calloc-gnu' work again on AIX and OSF/1.
9798         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
9799         HAVE_CALLOC.
9800         * lib/xmalloc.c: Update accordingly.
9801         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
9802         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
9803         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
9804
9805 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9806             Bruno Haible  <bruno@clisp.org>
9807
9808         Make the module 'malloc-gnu' work again on AIX and OSF/1.
9809         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
9810         HAVE_MALLOC.
9811         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
9812         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
9813         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
9814
9815 2010-08-29  Bruno Haible  <bruno@clisp.org>
9816
9817         Update modules list.
9818         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
9819         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
9820         (String handling <string.h>): Add astrxfrm.
9821         (File system functions): Add readlinkat.
9822
9823 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9824
9825         Tests for module 'realloc-gnu'.
9826         * modules/realloc-gnu-tests: New file.
9827         * tests/test-realloc-gnu.c: New file.
9828
9829         Tests for module 'calloc-gnu'.
9830         * modules/calloc-gnu-tests: New file.
9831         * tests/test-calloc-gnu.c: New file.
9832
9833         Tests for module 'malloc-gnu'.
9834         * modules/malloc-gnu-tests: New file.
9835         * tests/test-malloc-gnu.c: New file.
9836
9837 2010-08-28  Bruno Haible  <bruno@clisp.org>
9838
9839         Rename module 'realloc' -> 'realloc-gnu'.
9840         * modules/realloc-gnu: New file, copied from modules/realloc.
9841         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
9842         obsolete.
9843         * modules/mgetgroups (Depends-on): Update.
9844         * doc/posix-functions/realloc.texi: Update.
9845         * NEWS: Mention the change.
9846
9847         Rename module 'calloc' -> 'calloc-gnu'.
9848         * modules/calloc-gnu: New file, copied from modules/calloc.
9849         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
9850         obsolete.
9851         * doc/posix-functions/calloc.texi: Update.
9852         * NEWS: Mention the change.
9853
9854         Rename module 'malloc' -> 'malloc-gnu'.
9855         * modules/malloc-gnu: New file, copied from modules/malloc.
9856         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
9857         obsolete.
9858         * modules/argp (Depends-on): Update.
9859         * modules/regex (Depends-on): Update.
9860         * doc/posix-functions/malloc.texi: Update.
9861         * NEWS: Mention the change.
9862
9863 2010-08-28  Eric Blake  <eblake@redhat.com>
9864
9865         pread, pwrite: add missing dependency
9866         * modules/pread (Depends-on): Add extensions.
9867         * modules/pwrite (Depends-on): Likewise.
9868
9869 2010-08-28  Bruno Haible  <bruno@clisp.org>
9870
9871         unistr/u*-strchr: Fix tests dependencies.
9872         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
9873         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
9874         Reported by Ian Beckwith <ianb@erislabs.net>.
9875
9876 2010-08-28  Bruno Haible  <bruno@clisp.org>
9877
9878         read-file: Don't occupy too much unused memory.
9879         * lib/read-file.c (fread_file): Shrink the buffer at the end.
9880
9881 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
9882             Eric Blake  <eblake@redhat.com>
9883             Bruno Haible  <bruno@clisp.org>
9884
9885         read-file: Avoid memory reallocations with regular files.
9886         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
9887         (fread_file): With regular files, use the remaining length as the
9888         initial buffer size.  Check against overflow.
9889         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
9890         sys_stat.
9891
9892 2010-08-28  Bruno Haible  <bruno@clisp.org>
9893
9894         ftello: Relax license.
9895         * modules/ftello (License): Relax to LGPLv2+.
9896         Reported by Eric Blake.
9897
9898 2010-08-28  Bruno Haible  <bruno@clisp.org>
9899
9900         Avoid relocwrapper link errors due to gnulib replacement functions.
9901         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
9902         function.
9903         Reported by Ben Pfaff <blp@cs.stanford.edu>.
9904
9905 2010-08-28  Bruno Haible  <bruno@clisp.org>
9906
9907         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
9908         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
9909         defined.
9910         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
9911         Suggested by Eric Blake.
9912
9913 2010-08-28  Bruno Haible  <bruno@clisp.org>
9914
9915         sys_socket, netdb: Ensure socklen_t gets defined.
9916         * modules/sys_socket (Depends-on): Add socklen.
9917         * modules/netdb (Depends-on): Likewise.
9918         * modules/getaddrinfo (Depends-on): Remove socklen.
9919         * modules/getsockopt (Depends-on): Likewise.
9920         * modules/setsockopt (Depends-on): Likewise.
9921         * tests/test-sys_socket.c: Check that socklen_t is defined.
9922         * tests/test-netdb.c: Likewise.
9923         * m4/socklen.m4: Update comments.
9924         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9925
9926 2010-08-27  Eric Blake  <eblake@redhat.com>
9927
9928         login_tty: add missing dependency
9929         * modules/login_tty (Depends-on): Add pty.
9930
9931 2010-08-26  Eric Blake  <eblake@redhat.com>
9932
9933         lib-symbol-versions: fix m4 quoting
9934         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
9935         format for AC_LINK_IFELSE.
9936
9937         glob: fix compile test
9938         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
9939
9940         btowc: fix missing file
9941         * modules/btowc (Files): Also ship locale-fr.m4.
9942
9943         lseek: fix link test
9944         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
9945         AC_LINK_IFELSE.
9946
9947         include_next: silence autoconf 2.68 warning
9948         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
9949         AC_COMPILE_IFELSE as special.
9950         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
9951         autoconf < 2.68.
9952
9953         acl: fix compilation test
9954         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
9955         AC_COMPILE_IFELSE.
9956
9957 2010-08-26  Bruno Haible  <bruno@clisp.org>
9958
9959         Modernize AC_TRY_RUN invocations.
9960         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
9961         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
9962         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
9963         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
9964         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
9965         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
9966         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
9967         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
9968         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9969         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
9970         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
9971         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
9972         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
9973         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9974         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
9975         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
9976         gl_MBRLEN_NUL_RETVAL): Likewise.
9977         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
9978         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
9979         Likewise.
9980         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
9981         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
9982         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
9983         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
9984         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
9985         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
9986         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
9987         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
9988         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
9989         Likewise.
9990         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
9991         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
9992         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
9993         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
9994         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
9995         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
9996         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
9997         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
9998         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
9999         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10000
10001 2010-08-26  Bruno Haible  <bruno@clisp.org>
10002
10003         Modernize AC_TRY_LINK invocations.
10004         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
10005         AC_TRY_LINK.
10006         * m4/argp.m4 (gl_ARGP): Likewise.
10007         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10008         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10009         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
10010         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
10011         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
10012         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
10013         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10014         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10015         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
10016         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
10017         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
10018         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
10019         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
10020         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10021         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
10022         * m4/hostent.m4 (gl_HOSTENT): Likewise.
10023         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10024         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
10025         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
10026         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
10027         Likewise.
10028         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
10029         Likewise.
10030         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
10031         Likewise.
10032         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
10033         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
10034         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
10035         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10036         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10037         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10038         * m4/servent.m4 (gl_SERVENT): Likewise.
10039         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10040         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10041         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10042         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10043         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10044         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10045         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10046         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10047         * modules/tsearch-tests (configure.ac): Likewise.
10048
10049 2010-08-26  Bruno Haible  <bruno@clisp.org>
10050
10051         Modernize AC_TRY_COMPILE invocations.
10052         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
10053         AC_TRY_COMPILE.
10054         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
10055         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
10056         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
10057         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
10058         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
10059         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
10060         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
10061         * m4/lock.m4 (gl_LOCK): Likewise.
10062         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
10063         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
10064         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
10065         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
10066         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
10067         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
10068         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
10069         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
10070         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
10071         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
10072         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
10073         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
10074         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
10075         extraneous semicolon.
10076
10077 2010-08-26  Jim Meyering  <meyering@redhat.com>
10078
10079         stat-time: relax license LGPL
10080         * modules/stat-time (License): Change from GPL to LGPL,
10081         with consent from all contributors, for use in libguile.
10082         Requested by Ludovic Courtès.
10083
10084 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
10085
10086         poll: return immediately on POLLHUP.
10087         * lib/poll.c (poll): Always set timeout before wait_timeout is
10088         computed.
10089
10090 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10091
10092         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
10093         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
10094         rmdir ("dir/.//"), unlinkat.
10095
10096 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
10097
10098         stdbool: avoid spurious failure with modern xlc
10099         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10100
10101 2010-08-24  Bruno Haible  <bruno@clisp.org>
10102
10103         getloadavg: simplify code
10104         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
10105         gl_have_func. Update comments.
10106
10107 2010-08-24  Eric Blake  <eblake@redhat.com>
10108
10109         getloadavg: don't define SVR4 on cygwin
10110         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
10111         only define SVR4 when -lkvm is required.
10112         Reported by Yaakov Selkowitz.
10113
10114 2010-08-24  Bruno Haible  <bruno@clisp.org>
10115
10116         priv-set: fix comment
10117         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
10118
10119 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
10120
10121         priv-set: fix comments
10122         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
10123         to match code, as suggested by David Bartley in:
10124         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
10125
10126 2010-08-23  Eric Blake  <eblake@redhat.com>
10127
10128         stdbool: avoid rejecting clang
10129         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
10130         * tests/test-stdbool.c: Enable more tests if using the system
10131         <stdbool.h> instead of the gnulib replacement.
10132         (main): Move xlc bug test to a runtime test for all compilers.
10133         Reported by Anders Kaseorg.
10134
10135         argz: fix shell quoting issue
10136         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
10137         Reported by Charles Wilson.
10138
10139 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
10140             Erik Faye-Lund <kusmabite@gmail.com>
10141
10142         poll, select: handle ERROR_BROKEN_PIPE.
10143         * lib/poll.c (win32_compute_revents): Return POLLHUP when
10144         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10145         * lib/select.c (win32_compute_revents): Do not mark a pipe
10146         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
10147
10148 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
10149
10150         fts: allow compilation with C++
10151         * lib/fts_.h: Specify extern "C" linkage with C++.
10152
10153 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10154
10155         Fix gnulib-tool sed script de-commentation for AIX sed.
10156         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
10157         sed.
10158
10159 2010-08-17  Eric Blake  <eblake@redhat.com>
10160
10161         test-stddef: test for (some) offsetof bugs
10162         * tests/test-stddef.c: Enhance test to ensure correct type of
10163         offsetof.
10164         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
10165         that we are not fixing at this time.
10166
10167 2010-08-15  Bruno Haible  <bruno@clisp.org>
10168
10169         stpncpy: Allow stpncpy to be defined as a macro.
10170         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
10171         if it's already correctly declared.
10172         * lib/string.in.h (stpncpy): Undefine before redefining.
10173         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
10174
10175 2010-08-14  Bruno Haible  <bruno@clisp.org>
10176
10177         Rename module 'memxfrm' to 'amemxfrm'.
10178         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
10179         (amemxfrm): Renamed from memxfrm.
10180         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
10181         (amemxfrm): Renamed from memxfrm.
10182         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
10183         * NEWS: Mention the change.
10184         * MODULES.html.sh (String handling <string.h>): Update.
10185         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
10186         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
10187         * lib/unicase/u16-casexfrm.c: Likewise.
10188         * lib/unicase/u32-casexfrm.c: Likewise.
10189         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
10190         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
10191         * lib/uninorm/u16-normxfrm.c: Likewise.
10192         * lib/uninorm/u32-normxfrm.c: Likewise.
10193         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
10194         memxfrm.
10195         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
10196         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
10197         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
10198         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
10199         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
10200         Suggested by Paul Eggert.
10201
10202 2010-08-14  Bruno Haible  <bruno@clisp.org>
10203
10204         Tests for module 'astrxfrm'.
10205         * modules/astrxfrm-tests: New file.
10206         * tests/test-astrxfrm.c: New file.
10207
10208         New module 'astrxfrm'.
10209         * lib/astrxfrm.h: New file.
10210         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
10211         * modules/astrxfrm: New file.
10212
10213 2010-08-14  Reuben Thomas <rrt@sc3d.org>
10214
10215         regex: Tweak doc.
10216         * doc/regex.texi (Overview): Don't mention regex.c.
10217         (GNU Regular Expression Compiling): Likewise.
10218         (Match-end-of-line Operator): Mention 'not_eol'.
10219
10220 2010-08-14  Brian Gough  <bjg@gnu.org>
10221             Bruno Haible  <bruno@clisp.org>
10222
10223         git-merge-changelog: add doc relating to use with bzr and hg.
10224         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
10225
10226 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
10227
10228         pthread: fix pthread.h creation for srcdir != builddir
10229         * modules/pthread (Makefile.am): Fix the rule to work also in a
10230         non-srcdir build.
10231
10232 2010-08-13  Karl Berry  <karl@gnu.org>
10233
10234         * doc/regex.texi (Predefined Syntaxes): @smallexample.
10235         * doc/posix-*/*: force line break before @url of POSIX
10236         specifications.
10237         Suggested by Werner Lemberg.
10238
10239 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
10240
10241         strtod: fix const diagnostic
10242         * lib/strtod.c (strtod): Don't assign const char * to char *,
10243         as this elicits a warning from GCC when warnings are enabled.
10244
10245 2010-08-10  Pádraig Brady <P@draigbrady.com>
10246         and Eric Blake  <eblake@redhat.com>
10247
10248         copy-acl: ignore ENOTSUP on HP-UX
10249         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
10250         so that it is available for HP-UX.
10251         * lib/copy-acl.c (qcopy_acl): Use it.
10252         Reported by Patrick M. Callahan.
10253
10254 2010-08-10  Eric Blake  <eblake@redhat.com>
10255
10256         open, chown: relax license
10257         * modules/open (License): Change to LGPLv2+, with consent by all
10258         authors, for use in augeas.
10259         * modules/chown (License): Likewise.
10260         * modules/lchown (Likewise): Likewise.
10261         Requested by Adam Stokes.
10262
10263 2010-08-09  Karl Berry  <karl@gnu.org>
10264
10265         * build-aux/ar-lib: new file, import from Automake.
10266         * config/srclist.txt: autocheck for updates.
10267
10268 2010-08-09  Eric Blake  <eblake@redhat.com>
10269
10270         readlinkat: adjust client modules
10271         * modules/areadlinkat (Depends-on): Use readlinkat, not
10272         symlinkat.
10273         * modules/areadlinkat-with-size (Depends-on): Likewise.
10274
10275         mknod: be more vocal about danger of running tests as root
10276         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
10277         root, since that is just asking for problems.
10278         Suggested by Bruno Haible, based on a report by Rainer Tammer.
10279
10280         readlinkat: split into its own module
10281         * modules/symlinkat: Split readlinkat...
10282         * modules/readlinkat: ...into separate module.
10283         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
10284         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
10285         * lib/symlinkat.c (readlinkat): Move...
10286         * lib/readlinkat.c: ...into new file.
10287         * modules/symlinkat-tests: Split readlinkat test...
10288         * modules/readlinkat-tests: ...into separate module.
10289         * tests/test-symlinkat.c: Split...
10290         * tests/test-readlinkat.c: ...into new file.
10291         * NEWS: Document the split.
10292         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
10293         * lib/unistd.in.h (readlinkat): Likewise.
10294         Suggested by Bruno Haible.
10295
10296 2010-08-08  Bruno Haible  <bruno@clisp.org>
10297
10298         memxfrm: Speed up.
10299         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
10300         that usually only one call to strxfrm is necessary for each string
10301         part.
10302         Reported by Paul Eggert <eggert@cs.ucla.edu>.
10303
10304 2010-08-07  Karl Berry  <karl@gnu.org>
10305
10306         * doc/posix-headers/limits.texi,
10307         * doc/posix-functions/malloc.texi,
10308         * doc/posix-functions/strsignal.texi: missing @item.
10309         * doc/ld-version-script.texi: spurious leading i.
10310         * doc/regex.texi (Interval Operators): no commas inside @var.
10311
10312 2010-08-01  Bruno Haible  <bruno@clisp.org>
10313
10314         Integrate the regex documentation.
10315         * doc/gnulib.texi: Define 'cn' index.
10316         (Regular expressions): New a chapter that includes regex.texi and
10317         regexprops-generic.texi.
10318         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
10319         syntax.
10320
10321         Whitespace cleanup.
10322         * doc/regex.texi: Remove trailing spaces.
10323
10324         Add regex documentation.
10325         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
10326         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
10327         Written by Kathy A. Hargreaves and Karl Berry.
10328
10329 2010-08-01  Bruno Haible  <bruno@clisp.org>
10330
10331         link: Update documentation.
10332         * doc/posix-functions/link.texi: Update regarding Solaris.
10333
10334 2010-07-31  Bruno Haible  <bruno@clisp.org>
10335
10336         Update modules list.
10337         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
10338         (String handling <string.h>): Add memcmp2, memxfrm.
10339         (Container data structures): Add xlist, xsublist, xoset.
10340         (Core language properties): Add alignof, unused-parameter.
10341         (Process control, Numeric conversion functions <stdlib.h>): Renamed
10342         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
10343         (Unibyte characters <ctype.h>): New section.
10344         (String handling <string.h>): New section.
10345         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
10346         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
10347         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
10348         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
10349         tan, tanh, tanl, y0, y1, yn.
10350         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
10351         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
10352         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
10353         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
10354         unlockpt, vdprintf, vdprintf-posix.
10355         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
10356         (File system functions): Add concat-filename, sys_file, sys_ioctl,
10357         xconcat-filename.
10358         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
10359         getdtablesize, pipe2, pipe2-safer.
10360         (Security): New section.
10361         (Networking functions): Add accept4.
10362         (Signal handling): Add sigpipe.
10363         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
10364         mbmemcasecoll.
10365         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
10366         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
10367         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
10368         pipe-filter-ii.
10369         (Misc): Add argp-version-etc, login_tty, parse-duration.
10370
10371 2010-07-31  Bruno Haible  <bruno@clisp.org>
10372
10373         Improve doc in MODULES.html.
10374         * modules/linkat (Description): Add the word "function".
10375         * modules/mkfifo (Description): Likewise.
10376         * modules/mknod (Description): Likewise.
10377         * modules/remove (Description): Likewise.
10378         * modules/renameat (Description): Likewise.
10379         * modules/stat (Description): Likewise.
10380         * modules/symlink (Description): Likewise.
10381         * modules/unlink (Description): Likewise.
10382
10383 2010-07-31  Bruno Haible  <bruno@clisp.org>
10384
10385         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
10386         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
10387         option --enable/disable-c++ instead of --enable/disable-cxx.
10388         * NEWS: Mention the change.
10389
10390 2010-07-31  Bruno Haible  <bruno@clisp.org>
10391
10392         readlink, areadlink: Relax test a bit.
10393         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
10394         alternative to ENOTDIR.
10395         * tests/test-areadlink.h (test_areadlink): Likewise.
10396         Reported by Rainer Tammer.
10397
10398 2010-07-31  Bruno Haible  <bruno@clisp.org>
10399
10400         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
10401         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
10402         character, perform the search using U_STRCHR.
10403         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
10404         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
10405         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
10406         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
10407         Suggested by Paolo Bonzini.
10408
10409 2010-07-31  Bruno Haible  <bruno@clisp.org>
10410
10411         unistr/u*-strstr: Fix dependencies.
10412         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
10413         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
10414         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
10415
10416 2010-07-31  Bruno Haible  <bruno@clisp.org>
10417
10418         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
10419         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
10420         the beginning of the loop.
10421         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
10422         cases in 'switch' statement.
10423
10424         unistr/u8-strchr: Fix several bugs.
10425         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
10426         the string. When not found, return NULL, not a pointer near the end.
10427
10428         More tests for unistr/u8-strchr.
10429         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
10430         that the function does not read past the first occurrence of the byte
10431         being searched.
10432         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
10433         * tests/unistr/test-u16-strchr.c (main): New function.
10434         * tests/unistr/test-u32-strchr.c (main): New function.
10435
10436 2010-07-31  Bruno Haible  <bruno@clisp.org>
10437
10438         posix-modules: Ignore backup files of documentation files.
10439         * posix-modules: grep only through files named *.texi.
10440
10441 2010-07-31  Bruno Haible  <bruno@clisp.org>
10442
10443         symlinkat: Fix documentation.
10444         * doc/posix-functions/readlinkat.texi: Fix module name.
10445
10446 2010-07-31  Bruno Haible  <bruno@clisp.org>
10447
10448         fchownat: Replace also when chown has the trailing slash bug.
10449         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
10450         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
10451         introduced on 2010-04-10.
10452         Reported by Rainer Tammer.
10453
10454 2010-07-31  Bruno Haible  <bruno@clisp.org>
10455
10456         linkat: Work around AIX 7.1 bug.
10457         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
10458         whether linkat handles trailing slash correctly. If not, replace linkat
10459         and define LINKAT_TRAILING_SLASH_BUG.
10460         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
10461         check whether (fd1,file1) points to a directory if file1 or file2 ends
10462         in a slash. Code taken from lib/link.c.
10463         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
10464         Reported by Rainer Tammer.
10465
10466 2010-07-31  Bruno Haible  <bruno@clisp.org>
10467
10468         Correctly determine whether pow is available in libc on AIX 7 with xlc.
10469         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
10470         This disables an xlc optimization that was causing wrong test results.
10471         Reported by Rainer Tammer.
10472
10473 2010-07-31  Bruno Haible  <bruno@clisp.org>
10474
10475         iconv: Work around AIX 6.1..7.1 bug.
10476         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
10477         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
10478         cross-compiling, guess no on all versions of AIX.
10479         Reported by Rainer Tammer.
10480
10481 2010-07-31  Bruno Haible  <bruno@clisp.org>
10482
10483         readlink: Relax test a bit.
10484         * tests/test-readlink.h (test_readlink): Allow different errno value
10485         when readlink is called with a file name that ends in / and refers to
10486         a file.
10487         Suggested by Eric Blake.
10488         Reported by Rainer Tammer.
10489
10490 2010-07-31  Bruno Haible  <bruno@clisp.org>
10491
10492         copysign: Does not require -lm on glibc systems.
10493         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
10494         gl_COMMON_DOUBLE_MATHFUNC.
10495         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
10496
10497 2010-07-31  Bruno Haible  <bruno@clisp.org>
10498
10499         duplocale: Work around AIX 7.1 bug.
10500         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
10501         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
10502         * lib/duplocale.c (rpl_duplocale): Update comment.
10503         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
10504         Reported by Rainer Tammer.
10505
10506 2010-07-30  Bruno Haible  <bruno@clisp.org>
10507
10508         dirfd: Avoid link error on AIX 7.1.
10509         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
10510         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
10511         exist, set REPLACE_DIRFD.
10512         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
10513         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
10514         * doc/posix-functions/dirfd.texi: Update.
10515         Reported by Rainer Tammer.
10516
10517 2010-07-30  Eric Blake  <eblake@redhat.com>
10518
10519         strtod: next round of AIX fixes
10520         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
10521         exponent.
10522         * tests/test-strtod.c (main): Enhance tests.
10523         * doc/posix-functions/strtod.texi (strtod): Document next bug.
10524         Reported by Rainer Tammer.
10525
10526         futimens: fix configure check
10527         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
10528         Reported by Bruno Haible.
10529
10530 2010-07-30  Bruno Haible  <bruno@clisp.org>
10531
10532         getline: Update regarding AIX.
10533         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
10534         Reported by Rainer Tammer.
10535
10536 2010-07-30  Bruno Haible  <bruno@clisp.org>
10537
10538         wcwidth: Drop replacement on AIX 7.
10539         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
10540         AIX 7.
10541         Reported by Rainer Tammer.
10542
10543 2010-07-30  Bruno Haible  <bruno@clisp.org>
10544
10545         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
10546         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
10547         a 'char *'.
10548         Reported by Rainer Tammer.
10549
10550 2010-07-30  Bruno Haible  <bruno@clisp.org>
10551
10552         unlink: Update regarding AIX.
10553         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
10554         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
10555         Reported by Rainer Tammer.
10556
10557 2010-07-30  Bruno Haible  <bruno@clisp.org>
10558
10559         symlink: Update regarding AIX.
10560         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
10561         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
10562         Reported by Rainer Tammer.
10563
10564 2010-07-30  Bruno Haible  <bruno@clisp.org>
10565
10566         strndup: Update regarding AIX.
10567         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
10568         AIX 7.
10569         Reported by Rainer Tammer.
10570
10571 2010-07-30  Bruno Haible  <bruno@clisp.org>
10572
10573         stat: Update regarding AIX.
10574         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
10575         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
10576         Reported by Rainer Tammer.
10577
10578 2010-07-30  Bruno Haible  <bruno@clisp.org>
10579
10580         truncl: Fix autoconf test.
10581         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
10582         whether truncl works.
10583         Reported by Rainer Tammer.
10584
10585 2010-07-30  Bruno Haible  <bruno@clisp.org>
10586
10587         round: Update regarding AIX.
10588         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
10589         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
10590         Reported by Rainer Tammer.
10591
10592 2010-07-30  Bruno Haible  <bruno@clisp.org>
10593
10594         rename: Update regarding AIX.
10595         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
10596         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
10597         Reported by Rainer Tammer.
10598
10599 2010-07-30  Bruno Haible  <bruno@clisp.org>
10600
10601         printf.m4: Update regarding AIX.
10602         * m4/printf.m4: Update comments regarding AIX.
10603         Reported by Rainer Tammer.
10604
10605 2010-07-30  Bruno Haible  <bruno@clisp.org>
10606
10607         iconv: Update regarding AIX.
10608         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
10609         AIX 7.
10610         Reported by Rainer Tammer.
10611
10612 2010-07-30  Bruno Haible  <bruno@clisp.org>
10613
10614         getopt: Update regarding AIX.
10615         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
10616         no on AIX.
10617         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
10618         Reported by Rainer Tammer.
10619
10620 2010-07-30  Bruno Haible  <bruno@clisp.org>
10621
10622         ldexpl; Update regarding AIX.
10623         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
10624         on AIX 7.
10625         Reported by Rainer Tammer.
10626
10627 2010-07-30  Bruno Haible  <bruno@clisp.org>
10628
10629         frexpl: Update regarding AIX.
10630         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
10631         on AIX 7.
10632         Reported by Rainer Tammer.
10633
10634 2010-07-30  Bruno Haible  <bruno@clisp.org>
10635
10636         open, fopen: Update regarding AIX.
10637         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
10638         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
10639         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
10640         * doc/posix-functions/fopen.texi: Likewise.
10641         Reported by Rainer Tammer.
10642
10643 2010-07-30  Bruno Haible  <bruno@clisp.org>
10644
10645         chown: Update doc regarding AIX.
10646         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
10647         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
10648         Reported by Rainer Tammer.
10649
10650 2010-07-30  Eric Blake  <eblake@redhat.com>
10651
10652         strtod: fix bug in replacement function on AIX
10653         * lib/strtod.c (strtod): Special case broken "0x" parse in
10654         underlying strtod.
10655         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
10656         * doc/posix-functions/strtod.texi (strtod): Likewise.
10657         Reported by Rainer Tammer.
10658
10659 2010-07-30  Bruno Haible  <bruno@clisp.org>
10660
10661         mbrlen: Fix cross-compilation guess for AIX.
10662         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
10663         guess. Leftover from 2008-12-22.
10664
10665 2010-07-30  Bruno Haible  <bruno@clisp.org>
10666
10667         mbrtowc: Fix cross-compilation guess for AIX.
10668         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
10669         guess. Leftover from 2008-12-21.
10670
10671 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
10672
10673         init.sh: work around trap limitation of some shells
10674         * tests/init.sh (setup_): Move exit trap outside of shell function.
10675
10676 2010-07-29  Eric Blake  <eblake@redhat.com>
10677
10678         strtod: aid debugging
10679         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
10680         understanding why strtod is rejected.
10681
10682 2010-07-28  Bruno Haible  <bruno@clisp.org>
10683
10684         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
10685         * lib/unistr/u8-chr.c: Include <string.h>.
10686         * tests/unistr/test-u8-chr.c: Likewise.
10687         * tests/unistr/test-u16-chr.c: Likewise.
10688         * tests/unistr/test-u32-chr.c: Likewise.
10689         * tests/unistr/test-u8-strchr.c: Likewise.
10690         * tests/unistr/test-u16-strchr.c: Likewise.
10691         * tests/unistr/test-u32-strchr.c: Likewise.
10692         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
10693         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
10694         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
10695         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
10696
10697 2010-07-28  Bruno Haible  <bruno@clisp.org>
10698
10699         Use spaces for indentation, not tabs.
10700         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
10701
10702 2010-07-27  Bruno Haible  <bruno@clisp.org>
10703
10704         mbspcasecmp: Fix function specification.
10705         * lib/string.in.h (mbspcasecmp): Fix specification comment.
10706         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
10707         Reported by Eric Blake <eblake@redhat.com>.
10708
10709 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
10710
10711         timespec: use cast and not conditional, as truncation isn't possible
10712         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
10713         instead of a conditional.  Comment about the situation in more detail.
10714         This undoes most of the 2009-10-29 patch.
10715
10716 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
10717
10718         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
10719         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
10720         * lib/unistr/u8-strchr.c: Likewise.
10721         * modules/unistr/u8-chr: Depend on memchr.
10722
10723         unistr/u*-strchr: add tests
10724         * modules/unistr/u8-strchr-tests: New file.
10725         * modules/unistr/u16-strchr-tests: New file.
10726         * modules/unistr/u32-strchr-tests: New file.
10727         * tests/unistr/test-strchr.h: New file.
10728         * tests/unistr/test-u8-strchr.c: New file.
10729         * tests/unistr/test-u16-strchr.c: New file.
10730         * tests/unistr/test-u32-strchr.c: New file.
10731
10732         unistr/u*-chr: test multibyte sequences more
10733         * tests/unistr/test-chr.h: Do complete testing of the characters in the
10734         test vector.
10735         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
10736         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
10737         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
10738
10739         unistr/u*-chr: test multibyte sequences
10740         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
10741
10742         unistr/u*-chr: prepare for multibyte tests
10743         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
10744         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
10745         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
10746         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
10747         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
10748         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
10749
10750 2010-07-18  Bruno Haible  <bruno@clisp.org>
10751
10752         unistr/u8-strchr: Optimize non-ASCII argument case.
10753         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
10754         because the first byte often matches anyway.
10755         Reported by Pádraig Brady <P@draigbrady.com>.
10756
10757 2010-07-15  Karl Berry  <karl@gnu.org>
10758
10759         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
10760
10761 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
10762
10763         getcwd: on Solaris, work better if ancestors are inaccessible
10764         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
10765         buffer and size, try again with a large buffer.  This works better
10766         on Solaris, since its getcwd succeeds even if the path to the root
10767         is inaccessible, and this is helpful in common cases such as .zfs
10768         hidden directories.  Problem reported by J Chapman Flack in
10769         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
10770         Use system getcwd if it's declared, not merely if it's partly
10771         working; use the partly-working test only to avoid needless effort
10772         if the system getcwd fails.
10773         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
10774         comment that was already obsolete and is now even more obsolete.
10775         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
10776         now might call strdup.
10777
10778 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
10779
10780         pthread: Add enough so that coreutils/src/sort.c compiles.
10781         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
10782         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
10783         gnulib. Include <sched.h> and <time.h>, as per POSIX.
10784         Include <sys/types.h>, in case it defines pthread_t.
10785         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
10786         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
10787         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
10788         (pthread_rwlockattr_t, pthread_spinlock_t):
10789         New typedefs, if HAVE_PTHREAD_T is not defined.
10790         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
10791         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
10792         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
10793         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
10794         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
10795         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
10796         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
10797         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
10798         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
10799         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
10800         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
10801         New macros.
10802         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
10803         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
10804         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
10805         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
10806         (pthread_spin_unlock): New dummy functions.
10807         (pthread_create): Return EAGAIN; don't set errno.
10808         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
10809         require AC_C_INLINE.
10810         * modules/pthread (Depends-on): Add sched, time.
10811         (pthread.h): Use AM_V_GEN.
10812
10813 2010-07-13  Bruno Haible  <bruno@clisp.org>
10814
10815         striconveh: Don't malloc memory if the result buffer is sufficient.
10816         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
10817         buffer if its size is sufficient.
10818         Reported by Ludovic Courtès <ludo@gnu.org>.
10819
10820 2010-07-13  Bruno Haible  <bruno@clisp.org>
10821
10822         strtod: Add safety check.
10823         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
10824
10825 2010-07-12  Bruno Haible  <bruno@clisp.org>
10826
10827         Unify tests that set gl_cv_func_ldexpl_no_libm.
10828         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
10829         gl_FUNC_LDEXPL.
10830         (gl_FUNC_LDEXPL): Invoke it.
10831         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10832
10833 2010-07-12  Bruno Haible  <bruno@clisp.org>
10834
10835         Unify tests that set gl_cv_func_ldexp_no_libm.
10836         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
10837         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
10838         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
10839         (configure.ac): Simply invoke gl_FUNC_LDEXP.
10840         * modules/strtod (Files): Add m4/ldexp.m4.
10841
10842 2010-07-12  Bruno Haible  <bruno@clisp.org>
10843
10844         Unify tests that set gl_cv_func_frexpl_no_libm.
10845         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
10846         gl_FUNC_FREXPL_NO_LIBM.
10847         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
10848         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
10849
10850 2010-07-12  Bruno Haible  <bruno@clisp.org>
10851
10852         Unify tests that set gl_cv_func_frexp_no_libm.
10853         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
10854         gl_FUNC_FREXP_NO_LIBM.
10855         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
10856         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10857
10858 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10859
10860         memcoll: clarify sizes versus lengths, document better, and tweak perf
10861         * lib/memcoll.c (strcoll_loop, memcoll0):
10862         Improve quality of descriptive comments.  Name variables
10863         consistently as to whether they are lengths (which do not include
10864         terminating null) versus sizes (which do).
10865         * lib/xmemcoll.c (xmemcoll0): Likewise.
10866         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
10867         returned when s1size == 0; this is easier to compile and saves
10868         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
10869
10870 2010-07-12  Bruno Haible  <bruno@clisp.org>
10871
10872         Tests for module '_Exit'.
10873         * modules/_Exit-tests: New file.
10874         * tests/test-_Exit.sh: New file.
10875         * tests/test-_Exit.c: New file.
10876
10877         New module '_Exit'.
10878         * lib/stdlib.in.h (__attribute__): New macro.
10879         (_Exit): New declaration.
10880         * lib/_Exit.c: New file.
10881         * m4/_Exit.m4: New file.
10882         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
10883         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
10884         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
10885         * modules/_Exit: New file.
10886         * tests/test-stdlib-c++.cc (_Exit): Check signature.
10887         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
10888
10889 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
10890
10891         strtod: make it more-accurate typically, and don't require libm
10892         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
10893         Include limits.h.  Don't include string.h.
10894         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
10895         (locale_isspace): New function, so that no casts are needed to
10896         check whether *s is a space.
10897         (ldexp): Provide an unused dummy if not available.
10898         (scale_radix_exp, parse_number, underlying_strtod): New functions.
10899         (strtod): Use them.  This implementation prefers to use the
10900         underlying strtod if available, falling back on our own code
10901         only to fix known bugs.  This is more likely to produce an
10902         accurate result.  Also, it avoids the use of libm functions.
10903         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
10904         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
10905         was absent, but it caused a test failure with coreutils.
10906         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
10907         with libm.
10908         * modules/strtod (Makefile.am, Link): libm is no longer needed.
10909         * modules/strtod-tests (Makefile.am): Likewise.
10910
10911 2010-07-11  Pádraig Brady  <P@draigBrady.com>
10912             Bruno Haible  <bruno@clisp.org>
10913
10914         unistr/u8-strchr: Optimize ASCII argument case.
10915         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
10916
10917 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
10918
10919         (x)memcoll: minor tweaks
10920         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
10921         is after the type that it qualifies.
10922         (memcoll0): Likewise.
10923         * lib/memcoll.h (memcoll0): Likewise.
10924         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
10925         * lib/xmemcoll.h (xmemcoll0): Likewise.
10926         * lib/memcoll.c (memcoll0): Correct the comment.  This function
10927         differs from memcoll in that the NUL byte is part of the argument.
10928         Omit the abort-checks, as performance is a real issue here.  Plus,
10929         the checks were wrong anyway (an off-by-one error).  Omit local
10930         variable 'diff', as it's a bit clearer that way.
10931         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
10932         no longer needed.
10933
10934 2010-07-08  Chen Guo <chenguo4@yahoo.com>
10935
10936         (x)memcoll: speedup when input is known to be NUL delimited
10937         * lib/memcoll.c: Include stdlib.
10938         (memcoll0) New function.
10939         (strcoll_loop) New function, refactored for use in both memcoll
10940         and memcoll0.
10941         * lib/memcoll.h: Add prototype for memcoll0.
10942         * lib/xmemcoll.c: (xmemcoll0) New function.
10943         (collate_error) New function, refactored for use in both xmemcoll
10944         and xmemcoll0.
10945         * lib/xmemcoll.h: Add prototype for xmemcoll0.
10946         * m4/memcoll.m4: add inline invocation.
10947
10948 2010-07-06  Pádraig Brady  <P@draigBrady.com>
10949
10950         * build-aux/bootstrap: Remove any local translations
10951         from the translation project synchronization directory,
10952         so that local only translations are not distributed.
10953
10954 2010-07-04  Bruno Haible  <bruno@clisp.org>
10955
10956         fsusage: Clarify which code applies to which platforms.
10957         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
10958         platform.
10959         * lib/fsusage.c (get_fs_usage): Likewise.
10960
10961 2010-07-04  Bruno Haible  <bruno@clisp.org>
10962
10963         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
10964         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
10965         Reported by Martin Lambers <marlam@marlam.de>.
10966
10967 2010-07-04  Jim Meyering  <meyering@redhat.com>
10968
10969         hash: once again explicitly disallow insertion of NULL
10970         * lib/hash.c (hash_insert0): Reinstate just-removed test:
10971         inserting a NULL pointer cannot work with these functions.
10972         Add a comment with details.
10973         This reverts part of the 2010-07-01 commit, 5bef1a35
10974         "hash: extend module to deal with non-pointer keys".
10975
10976 2010-07-01  Bruno Haible  <bruno@clisp.org>
10977
10978         stdbool: Update doc.
10979         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
10980         Info from Christian Weisgerber <naddy@mips.inka.de>.
10981
10982 2010-07-01  Jim Meyering  <meyering@redhat.com>
10983
10984         hash: extend module to deal with non-pointer keys
10985         * lib/hash.c (hash_insert0): New interface, much like hash_insert
10986         but that allows insertion of non-pointer entries.
10987         Do not disallow an ENTRY value of NULL.
10988         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
10989         * lib/hash.h (hash_insert0): Declare.
10990
10991 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
10992
10993         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
10994         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
10995         not present (i.e. with autoconf 2.59 and when using gettextize, not
10996         gnulib), require AC_GNU_SOURCE instead.
10997
10998 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
10999
11000         idpriv-drop: Fix tests.
11001         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
11002         not to the test-idpriv-droptemp program.
11003
11004 2010-06-29  Bruno Haible  <bruno@clisp.org>
11005
11006         string: Fix syntax error with g++ 2.96.
11007         * lib/string.in.h (__pure__): Remove definition.
11008         (_GL_ATTRIBUTE_PURE): New macro.
11009         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
11010         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
11011         Reported by Christian Weisgerber <naddy@mips.inka.de>.
11012
11013 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
11014
11015         unitypes: Fix bug introduced on 2010-05-18.
11016         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
11017
11018 2010-06-22  Eric Blake  <eblake@redhat.com>
11019
11020         memmem: slight optimization
11021         * lib/str-two-way.h (critical_factorization): Update comments.
11022         Reduce work during factorization phase.
11023         Reported by Carlos Bueno <carlos@bueno.org>.
11024
11025 2010-06-21  Bruno Haible  <bruno@clisp.org>
11026
11027         Fix HAVE_CALLOC_POSIX misnomer.
11028         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
11029         !HAVE_CALLOC_POSIX.
11030         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
11031         HAVE_CALLOC_POSIX.
11032         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
11033         instead of HAVE_CALLOC_POSIX.
11034         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
11035         HAVE_CALLOC_POSIX.
11036
11037         Use modern idiom for calloc() replacement.
11038         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
11039         AC_FUNC_CALLOC.
11040         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
11041         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
11042         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11043         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
11044         (gl_REPLACE_CALLOC): New macro.
11045
11046 2010-06-21  Bruno Haible  <bruno@clisp.org>
11047
11048         Fix HAVE_REALLOC_POSIX misnomer.
11049         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
11050         !HAVE_REALLOC_POSIX.
11051         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
11052         HAVE_REALLOC_POSIX.
11053         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
11054         instead of HAVE_REALLOC_POSIX.
11055         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
11056         HAVE_REALLOC_POSIX.
11057
11058         Use modern idiom for realloc() replacement.
11059         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
11060         AC_FUNC_REALLOC.
11061         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
11062         Autoconf's AC_FUNC_REALLOC.
11063         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11064         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
11065         (gl_REPLACE_REALLOC): New macro.
11066         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11067
11068 2010-06-21  Bruno Haible  <bruno@clisp.org>
11069
11070         Fix HAVE_MALLOC_POSIX misnomer.
11071         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
11072         !HAVE_MALLOC_POSIX.
11073         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
11074         HAVE_MALLOC_POSIX.
11075         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
11076         instead of HAVE_MALLOC_POSIX.
11077         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
11078         HAVE_MALLOC_POSIX.
11079
11080         Use modern idiom for malloc() replacement.
11081         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
11082         AC_FUNC_MALLOC.
11083         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
11084         Autoconf's AC_FUNC_MALLOC.
11085         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11086         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
11087         (gl_REPLACE_MALLOC): New macro.
11088         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
11089
11090 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
11091
11092         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
11093         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
11094         This macro takes 3 arguments, not 4.
11095
11096 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
11097
11098         ipv6: fix detection under mingw
11099         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
11100         in6_addr.
11101
11102 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
11103
11104         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
11105         that strtod() works when cross-compiling to a glibc version known
11106         to work.
11107
11108 2010-06-15  Bruno Haible  <bruno@clisp.org>
11109
11110         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
11111
11112 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
11113
11114         select: Correct timeout.
11115         * lib/select.c (rpl_select): Compute wait_timeout correctly.
11116
11117 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
11118
11119         git-version-gen: init shell var to avoid env var influence
11120         * build-aux/git-version-gen (v): Init shell var to empty.
11121
11122 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
11123
11124         priv-set: Don't assume that priv.h exists merely because getppriv does.
11125         See Jan Andersen's bug report about AIX 5L in
11126         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
11127         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
11128         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
11129         * lib/priv-set.h: Likewise.
11130         * tests/test-priv-set.c: Likewise.
11131
11132 2010-06-13  Bruno Haible  <bruno@clisp.org>
11133
11134         relocatable: Make it easier to test whether to install wrappers.
11135         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
11136         RELOCATABLE_VIA_WRAPPER.
11137
11138 2010-06-13  Bruno Haible  <bruno@clisp.org>
11139
11140         gnulib-tool: Display specified modules and dependencies differently.
11141         * gnulib-tool (func_show_module_list): New function.
11142         (func_import, func_create_testdir): Invoke it.
11143         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
11144
11145 2010-06-13  Bruno Haible  <bruno@clisp.org>
11146
11147         gnulib-tool: Align code of func_import and func_create_testdir.
11148         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
11149         specified_modules.
11150
11151 2010-06-12  Jim Meyering  <meyering@redhat.com>
11152
11153         test-inttostr: avoid spurious failure on Solaris 9
11154         * tests/test-inttostr.c (main): Skip the test when snprintf fails
11155         to accept "%ju".  Reported by Bruno Haible.
11156
11157 2010-06-11  Jim Meyering  <meyering@redhat.com>
11158
11159         test-sys_socket: mark variables as used more readably
11160         * tests/test-sys_socket.c (main): Mark otherwise unused variables
11161         as "used" explicitly via (void) statement casts.  This is more
11162         readable than using them in an artificial return expression.
11163         Suggestion from Bruno Haible.
11164
11165 2010-06-11  Bruno Haible  <bruno@clisp.org>
11166
11167         Avoid some more warnings from "gcc -Wwrite-strings".
11168         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
11169         to 'const char *'.
11170         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
11171         * tests/test-c-strcasestr.c (main): Likewise.
11172         * tests/test-mbscasestr1.c (main): Likewise.
11173         * tests/test-mbscasestr2.c (main): Likewise.
11174         * tests/test-memmem.c (main): Likewise.
11175         * tests/test-strstr.c (main): Likewise.
11176         * tests/test-strcasestr.c (main): Likewise.
11177
11178 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11179
11180         init.sh: change framework_failure_ to fail with status 99, not 1
11181         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
11182         automake's parallel-tests rule that this is an unexpected failure,
11183         even if the test is listed in XFAIL_TESTS.
11184
11185 2010-06-11  Jim Meyering  <meyering@redhat.com>
11186
11187         test-inttostr: avoid warnings about 4-6KB literal strings
11188         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
11189         Include "macros.h", for its definition of ASSERT.
11190         (CK): s/assert/ASSERT/
11191         * modules/inttostr-tests (Files): Add macros.h.
11192
11193         init.sh: don't use $ME_ or skip_ before they are defined
11194         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
11195         their first uses.  Also hoist their companions: warn_, fail_,
11196         framework_failure_, $stderr_fileno.  Prompted by a patch from
11197         Stefano Lattarini.
11198
11199         test-sys_socket: avoid set-but-not-used warnings from gcc
11200         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
11201         avoid warning about set-but-not-used variables.
11202
11203         test-xvasprintf: avoid 'const' discard warnings
11204         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
11205         "const" when assigning from literal strings.
11206         (test_xasprintf): Add "void" in function argument list to placate
11207         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
11208
11209         tests: avoid compilation warnings in argmatch and exclude tests...
11210         in packages that define ARGMATCH_DIE_DECL, like coreutils.
11211         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
11212         Since it always exits, declare with the "noreturn" attribute.
11213         * tests/test-argmatch.c: Likewise.
11214
11215         tests: avoid 'const' discard warnings in mbsstr tests
11216         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
11217         * tests/test-mbsstr2.c (main): Likewise.
11218
11219         test-verify: avoid warning from gcc's -Wmissing-declarations
11220         * tests/test-verify.c (function): Declare to be static.
11221
11222         test-inttostr.c: include <string.h> for use of strcmp
11223         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
11224
11225         test-linkat: avoid failed assertion on "other" architectures
11226         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
11227         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
11228         sparc: https://bugs.launchpad.net/bugs/591968
11229
11230 2010-06-11  Jim Meyering  <meyering@redhat.com>
11231
11232         printf.m4: avoid autoconf's "Expanded Before Required" warning
11233         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
11234         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
11235         autoconf warning.
11236
11237 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
11238
11239         Replacement header templates are now named with ".in", not "_".
11240         * doc/gnulib-intro.texi: Correct.
11241
11242 2010-06-10  Jim Meyering  <meyering@redhat.com>
11243
11244         inttostr-tests: depend on snprintf, not snprintf-posix
11245         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
11246         snprintf-posix, to avoid this aclocal failure:
11247           missing file gnulib-tests/vasnprintf.c
11248           configure.ac:45: error: expected source file, required through \
11249           AC_LIBSOURCES, not found
11250
11251 2010-06-10  Jim Meyering  <meyering@redhat.com>
11252
11253         inttostr: add a new function, inttostr, and tests
11254         The namesake function was not available.  The existence of the
11255         template file, inttostr.c makes its addition nontrivial.
11256         * lib/anytostr.c: Rename from inttostr.c.
11257         (anytostr): Rename from inttostr.
11258         * lib/inttostr.c: New file.
11259         * modules/inttostr (Files): Add anytostr.c.
11260         (Makefile.am): Set lib_SOURCES instead of ...
11261         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
11262         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
11263         * lib/offtostr.c: Likewise.
11264         * lib/uinttostr.c: Likewise.
11265         * lib/umaxtostr.c: Likewise.
11266         * modules/inttostr-tests: New file.
11267         * tests/test-inttostr.c: New file.  Test these functions.
11268
11269 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
11270             Bruno Haible  <bruno@clisp.org>
11271
11272         Add "Extending Gnulib" chapter to manual.
11273         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
11274         chapter.
11275         (Extending Gnulib): New chapter.
11276         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
11277         chapter.
11278
11279 2010-06-09  Bruno Haible  <bruno@clisp.org>
11280
11281         Avoid relocwrapper link errors due to gnulib replacement functions.
11282         * lib/areadlink.c: Use the system's malloc, realloc functions.
11283         (areadlink): Set errno to ENOMEM explicitly.
11284         * modules/areadlink (Depends-on): Remove malloc-posix.
11285         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11286
11287 2010-06-09  Bruno Haible  <bruno@clisp.org>
11288
11289         Avoid relocwrapper link errors due to gnulib replacement functions.
11290         * lib/canonicalize-lgpl.c: Use the system's malloc function.
11291         * lib/malloca.c: Likewise.
11292         * lib/relocatable.c: Likewise.
11293         * lib/progreloc.c: Use the system's malloc, sprintf functions.
11294         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
11295         * lib/setenv.c: Use the system's malloc, realloc functions.
11296         * lib/strerror.c: Use the system's sprintf function.
11297         Reported by Ben Pfaff <blp@cs.stanford.edu>.
11298
11299 2010-06-04  Bruno Haible  <bruno@clisp.org>
11300
11301         Prefer documented low-level autoconf macro names.
11302         * m4/lib-link.m4: Use m4_translit instead of translit.
11303         * m4/environ.m4: Likewise.
11304         * m4/mathfunc.m4: Likewise.
11305         * m4/onceonly.m4: Likewise.
11306         * m4/stdint.m4: Likewise.
11307         Suggested by Eric Blake.
11308
11309 2010-06-04  Martin Lambers  <marlam@marlam.de>
11310             Bruno Haible  <bruno@clisp.org>
11311
11312         havelib: Allow library names with '+' characters.
11313         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
11314         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
11315
11316 2010-06-09  Bruno Haible  <bruno@clisp.org>
11317
11318         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
11319         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
11320         realloc failed.
11321
11322 2010-06-08  Peter Simons  <simons@cryp.to>
11323
11324         maint.mk: make the news-check rule more configurable
11325         * top/maint.mk (news-check-lines-spec) New variable.
11326         (news-check): Use "sed -n 1,10p" in place of "head".
11327
11328 2010-06-07  Jim Meyering  <meyering@redhat.com>
11329
11330         do-release-commit-and-tag: fix typo in --help
11331         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
11332
11333         regex: avoid new dead-code warning with gcc-4.6.0
11334         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
11335         if-block containing a while-loop.  It's been unused for at least
11336         5 years.
11337
11338 2010-06-05  Bruno Haible  <bruno@clisp.org>
11339
11340         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
11341         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
11342
11343 2010-06-04  Bruno Haible  <bruno@clisp.org>
11344
11345         Update to GNU gettext 0.18.1.
11346         * modules/gettext (configure.ac): Require gettext infrastructure from
11347         version 0.18.1.
11348
11349 2010-06-03  Bruno Haible  <bruno@clisp.org>
11350
11351         Don't use AC_LIBOBJ with file names in subdirectories.
11352         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
11353         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
11354         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
11355         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
11356         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
11357         gl_LIBUNISTRING_LIBSOURCE.
11358         (Makefile.am): Augment lib_SOURCES here, conditionally.
11359         * NEWS: Drop requirement for Automake option 'subdir-objects'.
11360
11361 2010-06-03  Bruno Haible  <bruno@clisp.org>
11362
11363         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
11364         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
11365         expansion does not end with a newline.
11366         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
11367         unnecessary newline.
11368
11369 2010-06-03  Bruno Haible  <bruno@clisp.org>
11370
11371         Reduce dependencies.
11372         * tests/test-quotearg.h: New file, extracted from
11373         tests/test-quotearg.c.
11374         * tests/test-quotearg-simple.c: New file, extracted from
11375         tests/test-quotearg.c.
11376         * tests/test-quotearg.c: Don't include <ctype.h>.
11377         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
11378         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
11379         use_quote_double_quotes, use_quotearg_colon): Moved to
11380         tests/test-quotearg.h.
11381         (results_g, flag_results, custom_quotes, custom_results): Moved
11382         to tests/test-quotearg-simple.c.
11383         (main): Moved the part that does not depend on gettext to
11384         tests/test-quotearg-simple.c. Return 77 if the test cannot be
11385         performed.
11386         * modules/quotearg-simple: New file.
11387         * modules/quotearg-simple-tests: New file.
11388         * modules/quotearg (Depends-on): Add quotearg-simple.
11389         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
11390         (Files): Add tests/test-quotearg.h.
11391         Reported by Paolo Bonzini.
11392
11393 2010-06-03  Bruno Haible  <bruno@clisp.org>
11394
11395         Reduce dependencies.
11396         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
11397
11398 2010-06-03  Bruno Haible  <bruno@clisp.org>
11399
11400         time: Undefine more broken macros.
11401         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
11402         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
11403         Reported by Eric Blake.
11404
11405 2010-06-03  Bruno Haible  <bruno@clisp.org>
11406
11407         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
11408         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
11409         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
11410         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
11411         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
11412         Reported by Ludovic Courtès <ludo@gnu.org>.
11413
11414 2010-06-02  Eric Blake  <eblake@redhat.com>
11415
11416         time: work with mingw + pthreads-win32 library
11417         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
11418         if timespec is defined only in pthread.h.
11419         * modules/time (Makefile.am): Substitute it.
11420         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
11421         <pthread.h>, when needed.
11422         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
11423         from the library.
11424
11425 2010-05-31  Bruno Haible  <bruno@clisp.org>
11426
11427         Avoid expanding two macros in the wrong order.
11428         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
11429         gl_LIBUNISTRING if it is defined.
11430         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
11431         autoconf >= 2.64.
11432         Reported by Ludovic Courtès <ludo@gnu.org>.
11433
11434 2010-05-27  Jim Meyering  <meyering@redhat.com>
11435
11436         maint.mk: also prohibit "#undef" of always-defined symbols
11437         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
11438         Allow more than one space before the symbol name.
11439         (sc_prohibit_always-defined_macros): Use grep's -E, now that
11440         the regexp uses alternation.
11441
11442 2010-05-26  Eric Blake  <eblake@redhat.com>
11443
11444         maint.mk: avoid echo -e
11445         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
11446         Convert all uses of echo -* to printf.
11447         Reported by Matthias Bolte.
11448
11449 2010-05-25  Bruno Haible  <bruno@clisp.org>
11450
11451         Update to GNU gettext 0.18, part 2.
11452         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
11453         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
11454
11455 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11456
11457         Add missing include in test-pwrite.c.
11458         * tests/test-pwrite.c: Include string.h, for strcmp.
11459
11460 2010-05-24  Bruno Haible  <bruno@clisp.org>
11461
11462         * NEWS: Mention requirement for Automake option 'subdir-objects'.
11463
11464 2010-05-24  Bruno Haible  <bruno@clisp.org>
11465
11466         Don't use conversion with transliteration in u{8,16,32}_strcoll.
11467         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
11468         iconveh_error argument.
11469         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
11470         U_STRCONV_TO_LOCALE.
11471         * lib/unistr/u16-strcoll.c: Likewise.
11472         * lib/unistr/u32-strcoll.c: Likewise.
11473         * modules/unistr/u8-strcoll (Depends-on): Add
11474         uniconv/u8-strconv-to-enc, localcharset. Remove
11475         uniconv/u8-strconv-to-locale.
11476         (configure.ac): Bump version number.
11477         * modules/unistr/u16-strcoll (Depends-on): Add
11478         uniconv/u16-strconv-to-enc, localcharset. Remove
11479         uniconv/u16-strconv-to-locale.
11480         (configure.ac): Bump version number.
11481         * modules/unistr/u32-strcoll (Depends-on): Add
11482         uniconv/u32-strconv-to-enc, localcharset. Remove
11483         uniconv/u32-strconv-to-locale.
11484         (configure.ac): Bump version number.
11485
11486 2010-05-24  Bruno Haible  <bruno@clisp.org>
11487
11488         Avoid a test failure on NetBSD 5.0.
11489         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
11490         an iconv() bug.
11491
11492 2010-05-24  Bruno Haible  <bruno@clisp.org>
11493
11494         Adjust #include directive style.
11495         * modules/regex (Includes): Recommend to write <regex.h>.
11496
11497 2010-05-24  Bruno Haible  <bruno@clisp.org>
11498
11499         regex: Don't require alloca.
11500         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
11501         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
11502         only inside if (0).
11503
11504 2010-05-23  Jim Meyering  <meyering@redhat.com>
11505
11506         test-renameat.c: include <sys/stat.h>
11507         * tests/test-renameat.c: Include <sys/stat.h>; required for
11508         definition of S_IS* macros.
11509
11510 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
11511
11512         Update maintainer documentation for 'relocatable-prog' module.
11513         * doc/relocatable-maint.texi: Update.
11514         Comments by Bruno Haible.
11515
11516 2010-05-23  Bruno Haible  <bruno@clisp.org>
11517
11518         git-merge-changelog: Enable --split-merged-entry by default.
11519         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
11520         (usage): Don't mention this option any more.
11521         Reported by Ralf Wildenhues.
11522
11523 2010-05-23  Jim Meyering  <meyering@redhat.com>
11524
11525         test-pwrite: do not leave behind a test file named "out"
11526         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
11527         The trivial-looking use of init.sh is really necessary.
11528         It ensures that the temporary file, "out", is created in
11529         a temporary directory, and removed upon termination.
11530         * tests/test-pwrite.sh: Re-add file.
11531         * modules/pwrite-tests: Reference it.
11532
11533 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11534
11535         Fix output redirection buglet in init.sh.
11536         * tests/init.sh: Fix redirection of stderr.
11537
11538 2010-05-20  Simon Josefsson  <simon@josefsson.org>
11539
11540         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
11541
11542 2010-05-17  Simon Josefsson  <simon@josefsson.org>
11543
11544         * modules/valgrind-tests: New file.
11545         * m4/valgrind-tests.m4: New file.
11546         * doc/valgrind-tests.texi: New file.
11547         * doc/gnulib.texi (Running self-tests under valgrind): New
11548         section.
11549
11550 2010-05-19  Bruno Haible  <bruno@clisp.org>
11551
11552         Clean up dead code in recent commit.
11553         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
11554         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
11555         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
11556         Suggested by Paolo Bonzini.
11557
11558 2010-05-19  Bruno Haible  <bruno@clisp.org>
11559
11560         Avoid valgrind error reports from libunistring.
11561         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
11562         * modules/libunistring (Files): Add it.
11563         * modules/libunistring-optional (Files): Likewise.
11564
11565 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
11566             Bruno Haible  <bruno@clisp.org>
11567
11568         New module 'libunistring-optional'.
11569         * modules/libunistring-optional: New file.
11570         * m4/libunistring-base.m4: New file.
11571         * m4/libunistring-optional.m4: New file.
11572         * lib/unicase.in.h: Renamed from lib/unicase.h.
11573         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
11574         * lib/unictype.in.h: Renamed from lib/unictype.h.
11575         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
11576         * lib/uniname.in.h: Renamed from lib/uniname.h.
11577         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
11578         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
11579         * lib/unistr.in.h: Renamed from lib/unistr.h.
11580         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
11581         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
11582         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
11583         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
11584         gl_LIBUNISTRING. If the library was found, determine the installed
11585         version and set LIBUNISTRING_VERSION.
11586         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
11587         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
11588         handle a configuration option --with-included-libunistring.
11589         * modules/libunistring (Files): Add m4/absolute-header.m4.
11590         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
11591         Add m4/libunistring-base.m4.
11592         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11593         (Makefile.am): Build unicase.h from unicase.in.h.
11594         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
11595         Add m4/libunistring-base.m4.
11596         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11597         (Makefile.am): Build uniconv.h from uniconv.in.h.
11598         * modules/unictype/base (Files): Use unictype.in.h instead of
11599         unictype.h. Add m4/libunistring-base.m4.
11600         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11601         (Makefile.am): Build unictype.h from unictype.in.h.
11602         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
11603         Add m4/libunistring-base.m4.
11604         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11605         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
11606         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
11607         Add m4/libunistring-base.m4.
11608         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11609         (Makefile.am): Build uniname.h from uniname.in.h.
11610         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
11611         Add m4/libunistring-base.m4.
11612         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11613         (Makefile.am): Build uninorm.h from uninorm.in.h.
11614         * modules/unistdio/base (Files): Use unistdio.in.h instead of
11615         unistdio.h. Add m4/libunistring-base.m4.
11616         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11617         (Makefile.am): Build unistdio.h from unistdio.in.h.
11618         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
11619         Add m4/libunistring-base.m4.
11620         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11621         (Makefile.am): Build unistr.h from unistr.in.h.
11622         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
11623         Add m4/libunistring-base.m4.
11624         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11625         (Makefile.am): Build unitypes.h from unitypes.in.h.
11626         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
11627         Add m4/libunistring-base.m4.
11628         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11629         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
11630         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
11631         uniwidth.h. Add m4/libunistring-base.m4.
11632         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
11633         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
11634         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
11635         instead of augmenting lib_SOURCES.
11636         * modules/unicase/empty-suffix-context: Likewise.
11637         * modules/unicase/locale-language: Likewise.
11638         * modules/unicase/tolower: Likewise.
11639         * modules/unicase/totitle: Likewise.
11640         * modules/unicase/toupper: Likewise.
11641         * modules/unicase/u8-casecmp: Likewise.
11642         * modules/unicase/u8-casecoll: Likewise.
11643         * modules/unicase/u8-casefold: Likewise.
11644         * modules/unicase/u8-casexfrm: Likewise.
11645         * modules/unicase/u8-ct-casefold: Likewise.
11646         * modules/unicase/u8-ct-tolower: Likewise.
11647         * modules/unicase/u8-ct-totitle: Likewise.
11648         * modules/unicase/u8-ct-toupper: Likewise.
11649         * modules/unicase/u8-is-cased: Likewise.
11650         * modules/unicase/u8-is-casefolded: Likewise.
11651         * modules/unicase/u8-is-lowercase: Likewise.
11652         * modules/unicase/u8-is-titlecase: Likewise.
11653         * modules/unicase/u8-is-uppercase: Likewise.
11654         * modules/unicase/u8-prefix-context: Likewise.
11655         * modules/unicase/u8-suffix-context: Likewise.
11656         * modules/unicase/u8-tolower: Likewise.
11657         * modules/unicase/u8-totitle: Likewise.
11658         * modules/unicase/u8-toupper: Likewise.
11659         * modules/unicase/u16-casecmp: Likewise.
11660         * modules/unicase/u16-casecoll: Likewise.
11661         * modules/unicase/u16-casefold: Likewise.
11662         * modules/unicase/u16-casexfrm: Likewise.
11663         * modules/unicase/u16-ct-casefold: Likewise.
11664         * modules/unicase/u16-ct-tolower: Likewise.
11665         * modules/unicase/u16-ct-totitle: Likewise.
11666         * modules/unicase/u16-ct-toupper: Likewise.
11667         * modules/unicase/u16-is-cased: Likewise.
11668         * modules/unicase/u16-is-casefolded: Likewise.
11669         * modules/unicase/u16-is-lowercase: Likewise.
11670         * modules/unicase/u16-is-titlecase: Likewise.
11671         * modules/unicase/u16-is-uppercase: Likewise.
11672         * modules/unicase/u16-prefix-context: Likewise.
11673         * modules/unicase/u16-suffix-context: Likewise.
11674         * modules/unicase/u16-tolower: Likewise.
11675         * modules/unicase/u16-totitle: Likewise.
11676         * modules/unicase/u16-toupper: Likewise.
11677         * modules/unicase/u32-casecmp: Likewise.
11678         * modules/unicase/u32-casecoll: Likewise.
11679         * modules/unicase/u32-casefold: Likewise.
11680         * modules/unicase/u32-casexfrm: Likewise.
11681         * modules/unicase/u32-ct-casefold: Likewise.
11682         * modules/unicase/u32-ct-tolower: Likewise.
11683         * modules/unicase/u32-ct-totitle: Likewise.
11684         * modules/unicase/u32-ct-toupper: Likewise.
11685         * modules/unicase/u32-is-cased: Likewise.
11686         * modules/unicase/u32-is-casefolded: Likewise.
11687         * modules/unicase/u32-is-lowercase: Likewise.
11688         * modules/unicase/u32-is-titlecase: Likewise.
11689         * modules/unicase/u32-is-uppercase: Likewise.
11690         * modules/unicase/u32-prefix-context: Likewise.
11691         * modules/unicase/u32-suffix-context: Likewise.
11692         * modules/unicase/u32-tolower: Likewise.
11693         * modules/unicase/u32-totitle: Likewise.
11694         * modules/unicase/u32-toupper: Likewise.
11695         * modules/unicase/ulc-casecmp: Likewise.
11696         * modules/unicase/ulc-casecoll: Likewise.
11697         * modules/unicase/ulc-casexfrm: Likewise.
11698         * modules/uniconv/u8-conv-from-enc: Likewise.
11699         * modules/uniconv/u8-conv-to-enc: Likewise.
11700         * modules/uniconv/u8-strconv-from-enc: Likewise.
11701         * modules/uniconv/u8-strconv-from-locale: Likewise.
11702         * modules/uniconv/u8-strconv-to-enc: Likewise.
11703         * modules/uniconv/u8-strconv-to-locale: Likewise.
11704         * modules/uniconv/u16-conv-from-enc: Likewise.
11705         * modules/uniconv/u16-conv-to-enc: Likewise.
11706         * modules/uniconv/u16-strconv-from-enc: Likewise.
11707         * modules/uniconv/u16-strconv-from-locale: Likewise.
11708         * modules/uniconv/u16-strconv-to-enc: Likewise.
11709         * modules/uniconv/u16-strconv-to-locale: Likewise.
11710         * modules/uniconv/u32-conv-from-enc: Likewise.
11711         * modules/uniconv/u32-conv-to-enc: Likewise.
11712         * modules/uniconv/u32-strconv-from-enc: Likewise.
11713         * modules/uniconv/u32-strconv-from-locale: Likewise.
11714         * modules/uniconv/u32-strconv-to-enc: Likewise.
11715         * modules/uniconv/u32-strconv-to-locale: Likewise.
11716         * modules/unictype/bidicategory-byname: Likewise.
11717         * modules/unictype/bidicategory-name: Likewise.
11718         * modules/unictype/bidicategory-of: Likewise.
11719         * modules/unictype/bidicategory-test: Likewise.
11720         * modules/unictype/block-list: Likewise.
11721         * modules/unictype/block-test: Likewise.
11722         * modules/unictype/category-C: Likewise.
11723         * modules/unictype/category-Cc: Likewise.
11724         * modules/unictype/category-Cf: Likewise.
11725         * modules/unictype/category-Cn: Likewise.
11726         * modules/unictype/category-Co: Likewise.
11727         * modules/unictype/category-Cs: Likewise.
11728         * modules/unictype/category-L: Likewise.
11729         * modules/unictype/category-Ll: Likewise.
11730         * modules/unictype/category-Lm: Likewise.
11731         * modules/unictype/category-Lo: Likewise.
11732         * modules/unictype/category-Lt: Likewise.
11733         * modules/unictype/category-Lu: Likewise.
11734         * modules/unictype/category-M: Likewise.
11735         * modules/unictype/category-Mc: Likewise.
11736         * modules/unictype/category-Me: Likewise.
11737         * modules/unictype/category-Mn: Likewise.
11738         * modules/unictype/category-N: Likewise.
11739         * modules/unictype/category-Nd: Likewise.
11740         * modules/unictype/category-Nl: Likewise.
11741         * modules/unictype/category-No: Likewise.
11742         * modules/unictype/category-P: Likewise.
11743         * modules/unictype/category-Pc: Likewise.
11744         * modules/unictype/category-Pd: Likewise.
11745         * modules/unictype/category-Pe: Likewise.
11746         * modules/unictype/category-Pf: Likewise.
11747         * modules/unictype/category-Pi: Likewise.
11748         * modules/unictype/category-Po: Likewise.
11749         * modules/unictype/category-Ps: Likewise.
11750         * modules/unictype/category-S: Likewise.
11751         * modules/unictype/category-Sc: Likewise.
11752         * modules/unictype/category-Sk: Likewise.
11753         * modules/unictype/category-Sm: Likewise.
11754         * modules/unictype/category-So: Likewise.
11755         * modules/unictype/category-Z: Likewise.
11756         * modules/unictype/category-Zl: Likewise.
11757         * modules/unictype/category-Zp: Likewise.
11758         * modules/unictype/category-Zs: Likewise.
11759         * modules/unictype/category-and: Likewise.
11760         * modules/unictype/category-and-not: Likewise.
11761         * modules/unictype/category-byname: Likewise.
11762         * modules/unictype/category-name: Likewise.
11763         * modules/unictype/category-none: Likewise.
11764         * modules/unictype/category-of: Likewise.
11765         * modules/unictype/category-or: Likewise.
11766         * modules/unictype/category-test: Likewise.
11767         * modules/unictype/combining-class: Likewise.
11768         * modules/unictype/ctype-alnum: Likewise.
11769         * modules/unictype/ctype-alpha: Likewise.
11770         * modules/unictype/ctype-blank: Likewise.
11771         * modules/unictype/ctype-cntrl: Likewise.
11772         * modules/unictype/ctype-digit: Likewise.
11773         * modules/unictype/ctype-graph: Likewise.
11774         * modules/unictype/ctype-lower: Likewise.
11775         * modules/unictype/ctype-print: Likewise.
11776         * modules/unictype/ctype-punct: Likewise.
11777         * modules/unictype/ctype-space: Likewise.
11778         * modules/unictype/ctype-upper: Likewise.
11779         * modules/unictype/ctype-xdigit: Likewise.
11780         * modules/unictype/decimal-digit: Likewise.
11781         * modules/unictype/digit: Likewise.
11782         * modules/unictype/mirror: Likewise.
11783         * modules/unictype/numeric: Likewise.
11784         * modules/unictype/property-alphabetic: Likewise.
11785         * modules/unictype/property-ascii-hex-digit: Likewise.
11786         * modules/unictype/property-bidi-arabic-digit: Likewise.
11787         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
11788         * modules/unictype/property-bidi-block-separator: Likewise.
11789         * modules/unictype/property-bidi-boundary-neutral: Likewise.
11790         * modules/unictype/property-bidi-common-separator: Likewise.
11791         * modules/unictype/property-bidi-control: Likewise.
11792         * modules/unictype/property-bidi-embedding-or-override: Likewise.
11793         * modules/unictype/property-bidi-eur-num-separator: Likewise.
11794         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
11795         * modules/unictype/property-bidi-european-digit: Likewise.
11796         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
11797         * modules/unictype/property-bidi-left-to-right: Likewise.
11798         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
11799         * modules/unictype/property-bidi-other-neutral: Likewise.
11800         * modules/unictype/property-bidi-pdf: Likewise.
11801         * modules/unictype/property-bidi-segment-separator: Likewise.
11802         * modules/unictype/property-bidi-whitespace: Likewise.
11803         * modules/unictype/property-byname: Likewise.
11804         * modules/unictype/property-combining: Likewise.
11805         * modules/unictype/property-composite: Likewise.
11806         * modules/unictype/property-currency-symbol: Likewise.
11807         * modules/unictype/property-dash: Likewise.
11808         * modules/unictype/property-decimal-digit: Likewise.
11809         * modules/unictype/property-default-ignorable-code-point: Likewise.
11810         * modules/unictype/property-deprecated: Likewise.
11811         * modules/unictype/property-diacritic: Likewise.
11812         * modules/unictype/property-extender: Likewise.
11813         * modules/unictype/property-format-control: Likewise.
11814         * modules/unictype/property-grapheme-base: Likewise.
11815         * modules/unictype/property-grapheme-extend: Likewise.
11816         * modules/unictype/property-grapheme-link: Likewise.
11817         * modules/unictype/property-hex-digit: Likewise.
11818         * modules/unictype/property-hyphen: Likewise.
11819         * modules/unictype/property-id-continue: Likewise.
11820         * modules/unictype/property-id-start: Likewise.
11821         * modules/unictype/property-ideographic: Likewise.
11822         * modules/unictype/property-ids-binary-operator: Likewise.
11823         * modules/unictype/property-ids-trinary-operator: Likewise.
11824         * modules/unictype/property-ignorable-control: Likewise.
11825         * modules/unictype/property-iso-control: Likewise.
11826         * modules/unictype/property-join-control: Likewise.
11827         * modules/unictype/property-left-of-pair: Likewise.
11828         * modules/unictype/property-line-separator: Likewise.
11829         * modules/unictype/property-logical-order-exception: Likewise.
11830         * modules/unictype/property-lowercase: Likewise.
11831         * modules/unictype/property-math: Likewise.
11832         * modules/unictype/property-non-break: Likewise.
11833         * modules/unictype/property-not-a-character: Likewise.
11834         * modules/unictype/property-numeric: Likewise.
11835         * modules/unictype/property-other-alphabetic: Likewise.
11836         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
11837         * modules/unictype/property-other-grapheme-extend: Likewise.
11838         * modules/unictype/property-other-id-continue: Likewise.
11839         * modules/unictype/property-other-id-start: Likewise.
11840         * modules/unictype/property-other-lowercase: Likewise.
11841         * modules/unictype/property-other-math: Likewise.
11842         * modules/unictype/property-other-uppercase: Likewise.
11843         * modules/unictype/property-paired-punctuation: Likewise.
11844         * modules/unictype/property-paragraph-separator: Likewise.
11845         * modules/unictype/property-pattern-syntax: Likewise.
11846         * modules/unictype/property-pattern-white-space: Likewise.
11847         * modules/unictype/property-private-use: Likewise.
11848         * modules/unictype/property-punctuation: Likewise.
11849         * modules/unictype/property-quotation-mark: Likewise.
11850         * modules/unictype/property-radical: Likewise.
11851         * modules/unictype/property-sentence-terminal: Likewise.
11852         * modules/unictype/property-soft-dotted: Likewise.
11853         * modules/unictype/property-space: Likewise.
11854         * modules/unictype/property-terminal-punctuation: Likewise.
11855         * modules/unictype/property-test: Likewise.
11856         * modules/unictype/property-titlecase: Likewise.
11857         * modules/unictype/property-unassigned-code-value: Likewise.
11858         * modules/unictype/property-unified-ideograph: Likewise.
11859         * modules/unictype/property-uppercase: Likewise.
11860         * modules/unictype/property-variation-selector: Likewise.
11861         * modules/unictype/property-white-space: Likewise.
11862         * modules/unictype/property-xid-continue: Likewise.
11863         * modules/unictype/property-xid-start: Likewise.
11864         * modules/unictype/property-zero-width: Likewise.
11865         * modules/unictype/scripts: Likewise.
11866         * modules/unictype/syntax-c-ident: Likewise.
11867         * modules/unictype/syntax-c-whitespace: Likewise.
11868         * modules/unictype/syntax-java-ident: Likewise.
11869         * modules/unictype/syntax-java-whitespace: Likewise.
11870         * modules/unilbrk/u8-possible-linebreaks: Likewise.
11871         * modules/unilbrk/u8-width-linebreaks: Likewise.
11872         * modules/unilbrk/u16-possible-linebreaks: Likewise.
11873         * modules/unilbrk/u16-width-linebreaks: Likewise.
11874         * modules/unilbrk/u32-possible-linebreaks: Likewise.
11875         * modules/unilbrk/u32-width-linebreaks: Likewise.
11876         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
11877         * modules/unilbrk/ulc-width-linebreaks: Likewise.
11878         * modules/uniname/uniname: Likewise.
11879         * modules/uninorm/canonical-decomposition: Likewise.
11880         * modules/uninorm/composition: Likewise.
11881         * modules/uninorm/decomposing-form: Likewise.
11882         * modules/uninorm/decomposition: Likewise.
11883         * modules/uninorm/filter: Likewise.
11884         * modules/uninorm/nfc: Likewise.
11885         * modules/uninorm/nfd: Likewise.
11886         * modules/uninorm/nfkc: Likewise.
11887         * modules/uninorm/nfkd: Likewise.
11888         * modules/uninorm/u8-normalize: Likewise.
11889         * modules/uninorm/u8-normcmp: Likewise.
11890         * modules/uninorm/u8-normcoll: Likewise.
11891         * modules/uninorm/u8-normxfrm: Likewise.
11892         * modules/uninorm/u16-normalize: Likewise.
11893         * modules/uninorm/u16-normcmp: Likewise.
11894         * modules/uninorm/u16-normcoll: Likewise.
11895         * modules/uninorm/u16-normxfrm: Likewise.
11896         * modules/uninorm/u32-normalize: Likewise.
11897         * modules/uninorm/u32-normcmp: Likewise.
11898         * modules/uninorm/u32-normcoll: Likewise.
11899         * modules/uninorm/u32-normxfrm: Likewise.
11900         * modules/unistdio/u8-asnprintf: Likewise.
11901         * modules/unistdio/u8-asprintf: Likewise.
11902         * modules/unistdio/u8-snprintf: Likewise.
11903         * modules/unistdio/u8-sprintf: Likewise.
11904         * modules/unistdio/u8-u8-asnprintf: Likewise.
11905         * modules/unistdio/u8-u8-asprintf: Likewise.
11906         * modules/unistdio/u8-u8-snprintf: Likewise.
11907         * modules/unistdio/u8-u8-sprintf: Likewise.
11908         * modules/unistdio/u8-u8-vasnprintf: Likewise.
11909         * modules/unistdio/u8-u8-vasprintf: Likewise.
11910         * modules/unistdio/u8-u8-vsnprintf: Likewise.
11911         * modules/unistdio/u8-u8-vsprintf: Likewise.
11912         * modules/unistdio/u8-vasnprintf: Likewise.
11913         * modules/unistdio/u8-vasprintf: Likewise.
11914         * modules/unistdio/u8-vsnprintf: Likewise.
11915         * modules/unistdio/u8-vsprintf: Likewise.
11916         * modules/unistdio/u16-asnprintf: Likewise.
11917         * modules/unistdio/u16-asprintf: Likewise.
11918         * modules/unistdio/u16-snprintf: Likewise.
11919         * modules/unistdio/u16-sprintf: Likewise.
11920         * modules/unistdio/u16-u16-asnprintf: Likewise.
11921         * modules/unistdio/u16-u16-asprintf: Likewise.
11922         * modules/unistdio/u16-u16-snprintf: Likewise.
11923         * modules/unistdio/u16-u16-sprintf: Likewise.
11924         * modules/unistdio/u16-u16-vasnprintf: Likewise.
11925         * modules/unistdio/u16-u16-vasprintf: Likewise.
11926         * modules/unistdio/u16-u16-vsnprintf: Likewise.
11927         * modules/unistdio/u16-u16-vsprintf: Likewise.
11928         * modules/unistdio/u16-vasnprintf: Likewise.
11929         * modules/unistdio/u16-vasprintf: Likewise.
11930         * modules/unistdio/u16-vsnprintf: Likewise.
11931         * modules/unistdio/u16-vsprintf: Likewise.
11932         * modules/unistdio/u32-asnprintf: Likewise.
11933         * modules/unistdio/u32-asprintf: Likewise.
11934         * modules/unistdio/u32-snprintf: Likewise.
11935         * modules/unistdio/u32-sprintf: Likewise.
11936         * modules/unistdio/u32-u32-asnprintf: Likewise.
11937         * modules/unistdio/u32-u32-asprintf: Likewise.
11938         * modules/unistdio/u32-u32-snprintf: Likewise.
11939         * modules/unistdio/u32-u32-sprintf: Likewise.
11940         * modules/unistdio/u32-u32-vasnprintf: Likewise.
11941         * modules/unistdio/u32-u32-vasprintf: Likewise.
11942         * modules/unistdio/u32-u32-vsnprintf: Likewise.
11943         * modules/unistdio/u32-u32-vsprintf: Likewise.
11944         * modules/unistdio/u32-vasnprintf: Likewise.
11945         * modules/unistdio/u32-vasprintf: Likewise.
11946         * modules/unistdio/u32-vsnprintf: Likewise.
11947         * modules/unistdio/u32-vsprintf: Likewise.
11948         * modules/unistdio/ulc-asnprintf: Likewise.
11949         * modules/unistdio/ulc-asprintf: Likewise.
11950         * modules/unistdio/ulc-fprintf: Likewise.
11951         * modules/unistdio/ulc-snprintf: Likewise.
11952         * modules/unistdio/ulc-sprintf: Likewise.
11953         * modules/unistdio/ulc-vasnprintf: Likewise.
11954         * modules/unistdio/ulc-vasprintf: Likewise.
11955         * modules/unistdio/ulc-vfprintf: Likewise.
11956         * modules/unistdio/ulc-vsnprintf: Likewise.
11957         * modules/unistdio/ulc-vsprintf: Likewise.
11958         * modules/unistr/u8-check: Likewise.
11959         * modules/unistr/u8-chr: Likewise.
11960         * modules/unistr/u8-cmp: Likewise.
11961         * modules/unistr/u8-cmp2: Likewise.
11962         * modules/unistr/u8-cpy: Likewise.
11963         * modules/unistr/u8-cpy-alloc: Likewise.
11964         * modules/unistr/u8-endswith: Likewise.
11965         * modules/unistr/u8-mblen: Likewise.
11966         * modules/unistr/u8-mbsnlen: Likewise.
11967         * modules/unistr/u8-mbtouc: Likewise.
11968         * modules/unistr/u8-mbtouc-unsafe: Likewise.
11969         * modules/unistr/u8-mbtoucr: Likewise.
11970         * modules/unistr/u8-move: Likewise.
11971         * modules/unistr/u8-next: Likewise.
11972         * modules/unistr/u8-prev: Likewise.
11973         * modules/unistr/u8-set: Likewise.
11974         * modules/unistr/u8-startswith: Likewise.
11975         * modules/unistr/u8-stpcpy: Likewise.
11976         * modules/unistr/u8-stpncpy: Likewise.
11977         * modules/unistr/u8-strcat: Likewise.
11978         * modules/unistr/u8-strchr: Likewise.
11979         * modules/unistr/u8-strcmp: Likewise.
11980         * modules/unistr/u8-strcoll: Likewise.
11981         * modules/unistr/u8-strcpy: Likewise.
11982         * modules/unistr/u8-strcspn: Likewise.
11983         * modules/unistr/u8-strdup: Likewise.
11984         * modules/unistr/u8-strlen: Likewise.
11985         * modules/unistr/u8-strmblen: Likewise.
11986         * modules/unistr/u8-strmbtouc: Likewise.
11987         * modules/unistr/u8-strncat: Likewise.
11988         * modules/unistr/u8-strncmp: Likewise.
11989         * modules/unistr/u8-strncpy: Likewise.
11990         * modules/unistr/u8-strnlen: Likewise.
11991         * modules/unistr/u8-strpbrk: Likewise.
11992         * modules/unistr/u8-strrchr: Likewise.
11993         * modules/unistr/u8-strspn: Likewise.
11994         * modules/unistr/u8-strstr: Likewise.
11995         * modules/unistr/u8-strtok: Likewise.
11996         * modules/unistr/u8-to-u16: Likewise.
11997         * modules/unistr/u8-to-u32: Likewise.
11998         * modules/unistr/u8-uctomb: Likewise.
11999         * modules/unistr/u16-check: Likewise.
12000         * modules/unistr/u16-chr: Likewise.
12001         * modules/unistr/u16-cmp: Likewise.
12002         * modules/unistr/u16-cmp2: Likewise.
12003         * modules/unistr/u16-cpy: Likewise.
12004         * modules/unistr/u16-cpy-alloc: Likewise.
12005         * modules/unistr/u16-endswith: Likewise.
12006         * modules/unistr/u16-mblen: Likewise.
12007         * modules/unistr/u16-mbsnlen: Likewise.
12008         * modules/unistr/u16-mbtouc: Likewise.
12009         * modules/unistr/u16-mbtouc-unsafe: Likewise.
12010         * modules/unistr/u16-mbtoucr: Likewise.
12011         * modules/unistr/u16-move: Likewise.
12012         * modules/unistr/u16-next: Likewise.
12013         * modules/unistr/u16-prev: Likewise.
12014         * modules/unistr/u16-set: Likewise.
12015         * modules/unistr/u16-startswith: Likewise.
12016         * modules/unistr/u16-stpcpy: Likewise.
12017         * modules/unistr/u16-stpncpy: Likewise.
12018         * modules/unistr/u16-strcat: Likewise.
12019         * modules/unistr/u16-strchr: Likewise.
12020         * modules/unistr/u16-strcmp: Likewise.
12021         * modules/unistr/u16-strcoll: Likewise.
12022         * modules/unistr/u16-strcpy: Likewise.
12023         * modules/unistr/u16-strcspn: Likewise.
12024         * modules/unistr/u16-strdup: Likewise.
12025         * modules/unistr/u16-strlen: Likewise.
12026         * modules/unistr/u16-strmblen: Likewise.
12027         * modules/unistr/u16-strmbtouc: Likewise.
12028         * modules/unistr/u16-strncat: Likewise.
12029         * modules/unistr/u16-strncmp: Likewise.
12030         * modules/unistr/u16-strncpy: Likewise.
12031         * modules/unistr/u16-strnlen: Likewise.
12032         * modules/unistr/u16-strpbrk: Likewise.
12033         * modules/unistr/u16-strrchr: Likewise.
12034         * modules/unistr/u16-strspn: Likewise.
12035         * modules/unistr/u16-strstr: Likewise.
12036         * modules/unistr/u16-strtok: Likewise.
12037         * modules/unistr/u16-to-u32: Likewise.
12038         * modules/unistr/u16-to-u8: Likewise.
12039         * modules/unistr/u16-uctomb: Likewise.
12040         * modules/unistr/u32-check: Likewise.
12041         * modules/unistr/u32-chr: Likewise.
12042         * modules/unistr/u32-cmp: Likewise.
12043         * modules/unistr/u32-cmp2: Likewise.
12044         * modules/unistr/u32-cpy: Likewise.
12045         * modules/unistr/u32-cpy-alloc: Likewise.
12046         * modules/unistr/u32-endswith: Likewise.
12047         * modules/unistr/u32-mblen: Likewise.
12048         * modules/unistr/u32-mbsnlen: Likewise.
12049         * modules/unistr/u32-mbtouc: Likewise.
12050         * modules/unistr/u32-mbtouc-unsafe: Likewise.
12051         * modules/unistr/u32-mbtoucr: Likewise.
12052         * modules/unistr/u32-move: Likewise.
12053         * modules/unistr/u32-next: Likewise.
12054         * modules/unistr/u32-prev: Likewise.
12055         * modules/unistr/u32-set: Likewise.
12056         * modules/unistr/u32-startswith: Likewise.
12057         * modules/unistr/u32-stpcpy: Likewise.
12058         * modules/unistr/u32-stpncpy: Likewise.
12059         * modules/unistr/u32-strcat: Likewise.
12060         * modules/unistr/u32-strchr: Likewise.
12061         * modules/unistr/u32-strcmp: Likewise.
12062         * modules/unistr/u32-strcoll: Likewise.
12063         * modules/unistr/u32-strcpy: Likewise.
12064         * modules/unistr/u32-strcspn: Likewise.
12065         * modules/unistr/u32-strdup: Likewise.
12066         * modules/unistr/u32-strlen: Likewise.
12067         * modules/unistr/u32-strmblen: Likewise.
12068         * modules/unistr/u32-strmbtouc: Likewise.
12069         * modules/unistr/u32-strncat: Likewise.
12070         * modules/unistr/u32-strncmp: Likewise.
12071         * modules/unistr/u32-strncpy: Likewise.
12072         * modules/unistr/u32-strnlen: Likewise.
12073         * modules/unistr/u32-strpbrk: Likewise.
12074         * modules/unistr/u32-strrchr: Likewise.
12075         * modules/unistr/u32-strspn: Likewise.
12076         * modules/unistr/u32-strstr: Likewise.
12077         * modules/unistr/u32-strtok: Likewise.
12078         * modules/unistr/u32-to-u16: Likewise.
12079         * modules/unistr/u32-to-u8: Likewise.
12080         * modules/unistr/u32-uctomb: Likewise.
12081         * modules/uniwbrk/u8-wordbreaks: Likewise.
12082         * modules/uniwbrk/u16-wordbreaks: Likewise.
12083         * modules/uniwbrk/u32-wordbreaks: Likewise.
12084         * modules/uniwbrk/ulc-wordbreaks: Likewise.
12085         * modules/uniwbrk/wordbreak-property: Likewise.
12086         * modules/uniwidth/u8-strwidth: Likewise.
12087         * modules/uniwidth/u8-width: Likewise.
12088         * modules/uniwidth/u16-strwidth: Likewise.
12089         * modules/uniwidth/u16-width: Likewise.
12090         * modules/uniwidth/u32-strwidth: Likewise.
12091         * modules/uniwidth/u32-width: Likewise.
12092         * modules/uniwidth/width: Likewise.
12093         * modules/unicase/cased-tests (Makefile.am): Link all test programs
12094         with $(LIBUNISTRING).
12095         * modules/unicase/ignorable-tests: Likewise.
12096         * modules/unicase/locale-language-tests: Likewise.
12097         * modules/unicase/tolower-tests: Likewise.
12098         * modules/unicase/totitle-tests: Likewise.
12099         * modules/unicase/toupper-tests: Likewise.
12100         * modules/unicase/u8-casecmp-tests: Likewise.
12101         * modules/unicase/u8-casecoll-tests: Likewise.
12102         * modules/unicase/u8-casefold-tests: Likewise.
12103         * modules/unicase/u8-is-cased-tests: Likewise.
12104         * modules/unicase/u8-is-casefolded-tests: Likewise.
12105         * modules/unicase/u8-is-lowercase-tests: Likewise.
12106         * modules/unicase/u8-is-titlecase-tests: Likewise.
12107         * modules/unicase/u8-is-uppercase-tests: Likewise.
12108         * modules/unicase/u8-tolower-tests: Likewise.
12109         * modules/unicase/u8-totitle-tests: Likewise.
12110         * modules/unicase/u8-toupper-tests: Likewise.
12111         * modules/unicase/u16-casecmp-tests: Likewise.
12112         * modules/unicase/u16-casecoll-tests: Likewise.
12113         * modules/unicase/u16-casefold-tests: Likewise.
12114         * modules/unicase/u16-is-cased-tests: Likewise.
12115         * modules/unicase/u16-is-casefolded-tests: Likewise.
12116         * modules/unicase/u16-is-lowercase-tests: Likewise.
12117         * modules/unicase/u16-is-titlecase-tests: Likewise.
12118         * modules/unicase/u16-is-uppercase-tests: Likewise.
12119         * modules/unicase/u16-tolower-tests: Likewise.
12120         * modules/unicase/u16-totitle-tests: Likewise.
12121         * modules/unicase/u16-toupper-tests: Likewise.
12122         * modules/unicase/u32-casecmp-tests: Likewise.
12123         * modules/unicase/u32-casecoll-tests: Likewise.
12124         * modules/unicase/u32-casefold-tests: Likewise.
12125         * modules/unicase/u32-is-cased-tests: Likewise.
12126         * modules/unicase/u32-is-casefolded-tests: Likewise.
12127         * modules/unicase/u32-is-lowercase-tests: Likewise.
12128         * modules/unicase/u32-is-titlecase-tests: Likewise.
12129         * modules/unicase/u32-is-uppercase-tests: Likewise.
12130         * modules/unicase/u32-tolower-tests: Likewise.
12131         * modules/unicase/u32-totitle-tests: Likewise.
12132         * modules/unicase/u32-toupper-tests: Likewise.
12133         * modules/unicase/ulc-casecmp-tests: Likewise.
12134         * modules/unicase/ulc-casecoll-tests: Likewise.
12135         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
12136         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
12137         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
12138         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
12139         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
12140         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
12141         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
12142         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
12143         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
12144         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
12145         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
12146         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
12147         * modules/unictype/bidicategory-byname-tests: Likewise.
12148         * modules/unictype/bidicategory-name-tests: Likewise.
12149         * modules/unictype/bidicategory-of-tests: Likewise.
12150         * modules/unictype/bidicategory-test-tests: Likewise.
12151         * modules/unictype/block-list-tests: Likewise.
12152         * modules/unictype/block-of-tests: Likewise.
12153         * modules/unictype/block-test-tests: Likewise.
12154         * modules/unictype/category-C-tests: Likewise.
12155         * modules/unictype/category-Cc-tests: Likewise.
12156         * modules/unictype/category-Cf-tests: Likewise.
12157         * modules/unictype/category-Cn-tests: Likewise.
12158         * modules/unictype/category-Co-tests: Likewise.
12159         * modules/unictype/category-Cs-tests: Likewise.
12160         * modules/unictype/category-L-tests: Likewise.
12161         * modules/unictype/category-Ll-tests: Likewise.
12162         * modules/unictype/category-Lm-tests: Likewise.
12163         * modules/unictype/category-Lo-tests: Likewise.
12164         * modules/unictype/category-Lt-tests: Likewise.
12165         * modules/unictype/category-Lu-tests: Likewise.
12166         * modules/unictype/category-M-tests: Likewise.
12167         * modules/unictype/category-Mc-tests: Likewise.
12168         * modules/unictype/category-Me-tests: Likewise.
12169         * modules/unictype/category-Mn-tests: Likewise.
12170         * modules/unictype/category-N-tests: Likewise.
12171         * modules/unictype/category-Nd-tests: Likewise.
12172         * modules/unictype/category-Nl-tests: Likewise.
12173         * modules/unictype/category-No-tests: Likewise.
12174         * modules/unictype/category-P-tests: Likewise.
12175         * modules/unictype/category-Pc-tests: Likewise.
12176         * modules/unictype/category-Pd-tests: Likewise.
12177         * modules/unictype/category-Pe-tests: Likewise.
12178         * modules/unictype/category-Pf-tests: Likewise.
12179         * modules/unictype/category-Pi-tests: Likewise.
12180         * modules/unictype/category-Po-tests: Likewise.
12181         * modules/unictype/category-Ps-tests: Likewise.
12182         * modules/unictype/category-S-tests: Likewise.
12183         * modules/unictype/category-Sc-tests: Likewise.
12184         * modules/unictype/category-Sk-tests: Likewise.
12185         * modules/unictype/category-Sm-tests: Likewise.
12186         * modules/unictype/category-So-tests: Likewise.
12187         * modules/unictype/category-Z-tests: Likewise.
12188         * modules/unictype/category-Zl-tests: Likewise.
12189         * modules/unictype/category-Zp-tests: Likewise.
12190         * modules/unictype/category-Zs-tests: Likewise.
12191         * modules/unictype/category-and-not-tests: Likewise.
12192         * modules/unictype/category-and-tests: Likewise.
12193         * modules/unictype/category-byname-tests: Likewise.
12194         * modules/unictype/category-name-tests: Likewise.
12195         * modules/unictype/category-none-tests: Likewise.
12196         * modules/unictype/category-of-tests: Likewise.
12197         * modules/unictype/category-or-tests: Likewise.
12198         * modules/unictype/category-test-withtable-tests: Likewise.
12199         * modules/unictype/combining-class-tests: Likewise.
12200         * modules/unictype/ctype-alnum-tests: Likewise.
12201         * modules/unictype/ctype-alpha-tests: Likewise.
12202         * modules/unictype/ctype-blank-tests: Likewise.
12203         * modules/unictype/ctype-cntrl-tests: Likewise.
12204         * modules/unictype/ctype-digit-tests: Likewise.
12205         * modules/unictype/ctype-graph-tests: Likewise.
12206         * modules/unictype/ctype-lower-tests: Likewise.
12207         * modules/unictype/ctype-print-tests: Likewise.
12208         * modules/unictype/ctype-punct-tests: Likewise.
12209         * modules/unictype/ctype-space-tests: Likewise.
12210         * modules/unictype/ctype-upper-tests: Likewise.
12211         * modules/unictype/ctype-xdigit-tests: Likewise.
12212         * modules/unictype/decimal-digit-tests: Likewise.
12213         * modules/unictype/digit-tests: Likewise.
12214         * modules/unictype/mirror-tests: Likewise.
12215         * modules/unictype/numeric-tests: Likewise.
12216         * modules/unictype/property-alphabetic-tests: Likewise.
12217         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
12218         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
12219         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
12220         * modules/unictype/property-bidi-block-separator-tests: Likewise.
12221         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
12222         * modules/unictype/property-bidi-common-separator-tests: Likewise.
12223         * modules/unictype/property-bidi-control-tests: Likewise.
12224         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
12225         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
12226         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
12227         * modules/unictype/property-bidi-european-digit-tests: Likewise.
12228         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
12229         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
12230         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
12231         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
12232         * modules/unictype/property-bidi-pdf-tests: Likewise.
12233         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
12234         * modules/unictype/property-bidi-whitespace-tests: Likewise.
12235         * modules/unictype/property-byname-tests: Likewise.
12236         * modules/unictype/property-combining-tests: Likewise.
12237         * modules/unictype/property-composite-tests: Likewise.
12238         * modules/unictype/property-currency-symbol-tests: Likewise.
12239         * modules/unictype/property-dash-tests: Likewise.
12240         * modules/unictype/property-decimal-digit-tests: Likewise.
12241         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
12242         * modules/unictype/property-deprecated-tests: Likewise.
12243         * modules/unictype/property-diacritic-tests: Likewise.
12244         * modules/unictype/property-extender-tests: Likewise.
12245         * modules/unictype/property-format-control-tests: Likewise.
12246         * modules/unictype/property-grapheme-base-tests: Likewise.
12247         * modules/unictype/property-grapheme-extend-tests: Likewise.
12248         * modules/unictype/property-grapheme-link-tests: Likewise.
12249         * modules/unictype/property-hex-digit-tests: Likewise.
12250         * modules/unictype/property-hyphen-tests: Likewise.
12251         * modules/unictype/property-id-continue-tests: Likewise.
12252         * modules/unictype/property-id-start-tests: Likewise.
12253         * modules/unictype/property-ideographic-tests: Likewise.
12254         * modules/unictype/property-ids-binary-operator-tests: Likewise.
12255         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
12256         * modules/unictype/property-ignorable-control-tests: Likewise.
12257         * modules/unictype/property-iso-control-tests: Likewise.
12258         * modules/unictype/property-join-control-tests: Likewise.
12259         * modules/unictype/property-left-of-pair-tests: Likewise.
12260         * modules/unictype/property-line-separator-tests: Likewise.
12261         * modules/unictype/property-logical-order-exception-tests: Likewise.
12262         * modules/unictype/property-lowercase-tests: Likewise.
12263         * modules/unictype/property-math-tests: Likewise.
12264         * modules/unictype/property-non-break-tests: Likewise.
12265         * modules/unictype/property-not-a-character-tests: Likewise.
12266         * modules/unictype/property-numeric-tests: Likewise.
12267         * modules/unictype/property-other-alphabetic-tests: Likewise.
12268         * modules/unictype/property-other-default-ignorable-code-point-tests:
12269         Likewise.
12270         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
12271         * modules/unictype/property-other-id-continue-tests: Likewise.
12272         * modules/unictype/property-other-id-start-tests: Likewise.
12273         * modules/unictype/property-other-lowercase-tests: Likewise.
12274         * modules/unictype/property-other-math-tests: Likewise.
12275         * modules/unictype/property-other-uppercase-tests: Likewise.
12276         * modules/unictype/property-paired-punctuation-tests: Likewise.
12277         * modules/unictype/property-paragraph-separator-tests: Likewise.
12278         * modules/unictype/property-pattern-syntax-tests: Likewise.
12279         * modules/unictype/property-pattern-white-space-tests: Likewise.
12280         * modules/unictype/property-private-use-tests: Likewise.
12281         * modules/unictype/property-punctuation-tests: Likewise.
12282         * modules/unictype/property-quotation-mark-tests: Likewise.
12283         * modules/unictype/property-radical-tests: Likewise.
12284         * modules/unictype/property-sentence-terminal-tests: Likewise.
12285         * modules/unictype/property-soft-dotted-tests: Likewise.
12286         * modules/unictype/property-space-tests: Likewise.
12287         * modules/unictype/property-terminal-punctuation-tests: Likewise.
12288         * modules/unictype/property-test-tests: Likewise.
12289         * modules/unictype/property-titlecase-tests: Likewise.
12290         * modules/unictype/property-unassigned-code-value-tests: Likewise.
12291         * modules/unictype/property-unified-ideograph-tests: Likewise.
12292         * modules/unictype/property-uppercase-tests: Likewise.
12293         * modules/unictype/property-variation-selector-tests: Likewise.
12294         * modules/unictype/property-white-space-tests: Likewise.
12295         * modules/unictype/property-xid-continue-tests: Likewise.
12296         * modules/unictype/property-xid-start-tests: Likewise.
12297         * modules/unictype/property-zero-width-tests: Likewise.
12298         * modules/unictype/scripts-tests: Likewise.
12299         * modules/unictype/syntax-c-ident-tests: Likewise.
12300         * modules/unictype/syntax-c-whitespace-tests: Likewise.
12301         * modules/unictype/syntax-java-ident-tests: Likewise.
12302         * modules/unictype/syntax-java-whitespace-tests: Likewise.
12303         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
12304         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
12305         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
12306         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
12307         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
12308         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
12309         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
12310         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
12311         * modules/uniname/uniname-tests: Likewise.
12312         * modules/uninorm/canonical-decomposition-tests: Likewise.
12313         * modules/uninorm/compat-decomposition-tests: Likewise.
12314         * modules/uninorm/composition-tests: Likewise.
12315         * modules/uninorm/decomposing-form-tests: Likewise.
12316         * modules/uninorm/decomposition-tests: Likewise.
12317         * modules/uninorm/filter-tests: Likewise.
12318         * modules/uninorm/nfc-tests: Likewise.
12319         * modules/uninorm/nfd-tests: Likewise.
12320         * modules/uninorm/nfkc-tests: Likewise.
12321         * modules/uninorm/nfkd-tests: Likewise.
12322         * modules/uninorm/u8-normcmp-tests: Likewise.
12323         * modules/uninorm/u8-normcoll-tests: Likewise.
12324         * modules/uninorm/u16-normcmp-tests: Likewise.
12325         * modules/uninorm/u16-normcoll-tests: Likewise.
12326         * modules/uninorm/u32-normcmp-tests: Likewise.
12327         * modules/uninorm/u32-normcoll-tests: Likewise.
12328         * modules/unistdio/u8-asnprintf-tests: Likewise.
12329         * modules/unistdio/u8-vasnprintf-tests: Likewise.
12330         * modules/unistdio/u8-vasprintf-tests: Likewise.
12331         * modules/unistdio/u8-vsnprintf-tests: Likewise.
12332         * modules/unistdio/u8-vsprintf-tests: Likewise.
12333         * modules/unistdio/u16-asnprintf-tests: Likewise.
12334         * modules/unistdio/u16-vasnprintf-tests: Likewise.
12335         * modules/unistdio/u16-vasprintf-tests: Likewise.
12336         * modules/unistdio/u16-vsnprintf-tests: Likewise.
12337         * modules/unistdio/u16-vsprintf-tests: Likewise.
12338         * modules/unistdio/u32-asnprintf-tests: Likewise.
12339         * modules/unistdio/u32-vasnprintf-tests: Likewise.
12340         * modules/unistdio/u32-vasprintf-tests: Likewise.
12341         * modules/unistdio/u32-vsnprintf-tests: Likewise.
12342         * modules/unistdio/u32-vsprintf-tests: Likewise.
12343         * modules/unistdio/ulc-asnprintf-tests: Likewise.
12344         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
12345         * modules/unistdio/ulc-vasprintf-tests: Likewise.
12346         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
12347         * modules/unistdio/ulc-vsprintf-tests: Likewise.
12348         * modules/unistr/u8-check-tests: Likewise.
12349         * modules/unistr/u8-chr-tests: Likewise.
12350         * modules/unistr/u8-cmp-tests: Likewise.
12351         * modules/unistr/u8-cmp2-tests: Likewise.
12352         * modules/unistr/u8-cpy-alloc-tests: Likewise.
12353         * modules/unistr/u8-cpy-tests: Likewise.
12354         * modules/unistr/u8-mblen-tests: Likewise.
12355         * modules/unistr/u8-mbsnlen-tests: Likewise.
12356         * modules/unistr/u8-mbtouc-tests: Likewise.
12357         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
12358         * modules/unistr/u8-mbtoucr-tests: Likewise.
12359         * modules/unistr/u8-move-tests: Likewise.
12360         * modules/unistr/u8-next-tests: Likewise.
12361         * modules/unistr/u8-prev-tests: Likewise.
12362         * modules/unistr/u8-set-tests: Likewise.
12363         * modules/unistr/u8-stpcpy-tests: Likewise.
12364         * modules/unistr/u8-stpncpy-tests: Likewise.
12365         * modules/unistr/u8-strcat-tests: Likewise.
12366         * modules/unistr/u8-strcmp-tests: Likewise.
12367         * modules/unistr/u8-strcoll-tests: Likewise.
12368         * modules/unistr/u8-strcpy-tests: Likewise.
12369         * modules/unistr/u8-strdup-tests: Likewise.
12370         * modules/unistr/u8-strlen-tests: Likewise.
12371         * modules/unistr/u8-strmblen-tests: Likewise.
12372         * modules/unistr/u8-strmbtouc-tests: Likewise.
12373         * modules/unistr/u8-strncat-tests: Likewise.
12374         * modules/unistr/u8-strncmp-tests: Likewise.
12375         * modules/unistr/u8-strncpy-tests: Likewise.
12376         * modules/unistr/u8-strnlen-tests: Likewise.
12377         * modules/unistr/u8-to-u16-tests: Likewise.
12378         * modules/unistr/u8-to-u32-tests: Likewise.
12379         * modules/unistr/u8-uctomb-tests: Likewise.
12380         * modules/unistr/u16-check-tests: Likewise.
12381         * modules/unistr/u16-chr-tests: Likewise.
12382         * modules/unistr/u16-cmp-tests: Likewise.
12383         * modules/unistr/u16-cmp2-tests: Likewise.
12384         * modules/unistr/u16-cpy-alloc-tests: Likewise.
12385         * modules/unistr/u16-cpy-tests: Likewise.
12386         * modules/unistr/u16-mblen-tests: Likewise.
12387         * modules/unistr/u16-mbsnlen-tests: Likewise.
12388         * modules/unistr/u16-mbtouc-tests: Likewise.
12389         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
12390         * modules/unistr/u16-mbtoucr-tests: Likewise.
12391         * modules/unistr/u16-move-tests: Likewise.
12392         * modules/unistr/u16-next-tests: Likewise.
12393         * modules/unistr/u16-prev-tests: Likewise.
12394         * modules/unistr/u16-set-tests: Likewise.
12395         * modules/unistr/u16-stpcpy-tests: Likewise.
12396         * modules/unistr/u16-stpncpy-tests: Likewise.
12397         * modules/unistr/u16-strcat-tests: Likewise.
12398         * modules/unistr/u16-strcmp-tests: Likewise.
12399         * modules/unistr/u16-strcoll-tests: Likewise.
12400         * modules/unistr/u16-strcpy-tests: Likewise.
12401         * modules/unistr/u16-strdup-tests: Likewise.
12402         * modules/unistr/u16-strlen-tests: Likewise.
12403         * modules/unistr/u16-strmblen-tests: Likewise.
12404         * modules/unistr/u16-strmbtouc-tests: Likewise.
12405         * modules/unistr/u16-strncat-tests: Likewise.
12406         * modules/unistr/u16-strncmp-tests: Likewise.
12407         * modules/unistr/u16-strncpy-tests: Likewise.
12408         * modules/unistr/u16-strnlen-tests: Likewise.
12409         * modules/unistr/u16-to-u32-tests: Likewise.
12410         * modules/unistr/u16-to-u8-tests: Likewise.
12411         * modules/unistr/u16-uctomb-tests: Likewise.
12412         * modules/unistr/u32-check-tests: Likewise.
12413         * modules/unistr/u32-chr-tests: Likewise.
12414         * modules/unistr/u32-cmp-tests: Likewise.
12415         * modules/unistr/u32-cmp2-tests: Likewise.
12416         * modules/unistr/u32-cpy-alloc-tests: Likewise.
12417         * modules/unistr/u32-cpy-tests: Likewise.
12418         * modules/unistr/u32-mblen-tests: Likewise.
12419         * modules/unistr/u32-mbsnlen-tests: Likewise.
12420         * modules/unistr/u32-mbtouc-tests: Likewise.
12421         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
12422         * modules/unistr/u32-mbtoucr-tests: Likewise.
12423         * modules/unistr/u32-move-tests: Likewise.
12424         * modules/unistr/u32-next-tests: Likewise.
12425         * modules/unistr/u32-prev-tests: Likewise.
12426         * modules/unistr/u32-set-tests: Likewise.
12427         * modules/unistr/u32-stpcpy-tests: Likewise.
12428         * modules/unistr/u32-stpncpy-tests: Likewise.
12429         * modules/unistr/u32-strcat-tests: Likewise.
12430         * modules/unistr/u32-strcmp-tests: Likewise.
12431         * modules/unistr/u32-strcoll-tests: Likewise.
12432         * modules/unistr/u32-strcpy-tests: Likewise.
12433         * modules/unistr/u32-strdup-tests: Likewise.
12434         * modules/unistr/u32-strlen-tests: Likewise.
12435         * modules/unistr/u32-strmblen-tests: Likewise.
12436         * modules/unistr/u32-strmbtouc-tests: Likewise.
12437         * modules/unistr/u32-strncat-tests: Likewise.
12438         * modules/unistr/u32-strncmp-tests: Likewise.
12439         * modules/unistr/u32-strncpy-tests: Likewise.
12440         * modules/unistr/u32-strnlen-tests: Likewise.
12441         * modules/unistr/u32-to-u16-tests: Likewise.
12442         * modules/unistr/u32-to-u8-tests: Likewise.
12443         * modules/unistr/u32-uctomb-tests: Likewise.
12444         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
12445         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
12446         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
12447         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
12448         * modules/uniwidth/u8-strwidth-tests: Likewise.
12449         * modules/uniwidth/u8-width-tests: Likewise.
12450         * modules/uniwidth/u16-strwidth-tests: Likewise.
12451         * modules/uniwidth/u16-width-tests: Likewise.
12452         * modules/uniwidth/u32-strwidth-tests: Likewise.
12453         * modules/uniwidth/u32-width-tests: Likewise.
12454         * modules/uniwidth/width-tests: Likewise.
12455
12456 2010-05-18  Richard Jones  <rjones@redhat.com>
12457
12458         doc: users.txt: list hivex
12459         * users.txt: Add hivex.
12460
12461 2010-05-18  Richard Jones  <rjones@redhat.com>
12462
12463         doc: users.txt: list febootstrap
12464         * users.txt: Add febootstrap.
12465
12466 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
12467
12468         bootstrap: fix an error when gnulib is not used as a git submodule
12469         * build-aux/bootstrap (gnulib_path): If its length is zero then
12470         assign "gnulib" to it.
12471         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
12472
12473 2010-05-16  Bruno Haible  <bruno@clisp.org>
12474
12475         Avoid autoconf warnings about AM_ICONV.
12476         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
12477         2.64.
12478
12479 2010-05-16  Bruno Haible  <bruno@clisp.org>
12480
12481         absolute-header: Make the macro usable in more situations.
12482         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
12483         from gl_ABSOLUTE_HEADER.
12484         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
12485
12486 2010-05-16  James Youngman  <jay@gnu.org>
12487
12488         doc: update users.txt
12489         * users.txt: Add CSSC.
12490
12491 2010-05-16  Jim Meyering  <meyering@redhat.com>
12492
12493         init.sh: fix an error in the previous change; add more comments
12494         * tests/init.sh: Compare exit code in loop against 9, not 2.
12495         Patch by Bruno Haible.
12496         Make the two tests more similar by adding an empty "then" clause.
12497         Add comments.
12498
12499         init.sh: avoid unnecessary shell re-exec
12500         * tests/init.sh: Improve the re-exec-required check to first test the
12501         current shell.  If it passes the test, do not search for a shell that
12502         does pass, and do not re-exec.  This test is particularly contorted to
12503         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
12504         of $(...) evokes a syntax error and causes immediate shell exit with
12505         status 2.  Bruno Haible reported that the re-exec made it impossible
12506         to single-step through any init.sh-using script.
12507
12508 2010-05-16  Bruno Haible  <bruno@clisp.org>
12509
12510         Fix collision between gnulib's and libintl's printf replacements.
12511         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
12512         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
12513         (printf): When using GNU C, map the __printf__ function to rpl_printf
12514         via __asm__. When not using GNU C, define rpl_printf instead of
12515         __printf__.
12516         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
12517         commit.
12518         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
12519         commit.
12520         * m4/asm-underscore.m4: New file.
12521         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
12522         * modules/stdio (Files): Add m4/asm-underscore.m4.
12523         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
12524         Reported by Ben Pfaff.
12525
12526 2010-05-16  Bruno Haible  <bruno@clisp.org>
12527
12528         verify: Avoid skipping the test on openSUSE 11.0.
12529         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
12530
12531 2010-05-13  Bruno Haible  <bruno@clisp.org>
12532
12533         Avoid useless warnings from G++.
12534         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
12535         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
12536         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
12537
12538 2010-05-11  Jim Meyering  <meyering@redhat.com>
12539
12540         maint.mk: tweak preceding change
12541         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
12542         regexps tighter by anchoring at EOL, and make the new group "shy"
12543         for slightly decreased overhead.
12544
12545 2010-05-11  Eric Blake  <eblake@redhat.com>
12546
12547         maint.mk: gnulib doesn't guarantee NSIG
12548         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
12549
12550 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
12551
12552         test-pwrite.c: Remove unused variable declaration.
12553         * tests/test-pwrite.c (main): Remove read_buf declaration.
12554
12555         Remove useless test-pwrite.sh file.
12556         * tests/test-pwrite.sh: Delete file.
12557         * modules/pwrite-tests: Remove references.
12558         Reported by Bruno Haible.
12559
12560 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
12561
12562         init.sh: fix a typo
12563         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
12564
12565 2010-05-10  Jim Meyering  <meyering@redhat.com>
12566
12567         maint.mk: avoid using a temporary file in the always-defined-macros check
12568         * top/maint.mk (.re-defmac): Remove rule.
12569         (gl_trap_): Remove definition.
12570         (sc_prohibit_always-defined_macros): Rewrite not to create and
12571         depend on a temporary file.  Instead, depend on GNU grep's ability
12572         to read a list of regular expressions from stdin when given "-f -".
12573
12574 2010-05-09  Bruno Haible  <bruno@clisp.org>
12575
12576         Update to GNU gettext 0.18, part 1.
12577         * m4/gettext.m4: Update to GNU gettext 0.18.
12578         * m4/intl.m4: Likewise.
12579         * m4/po.m4: Likewise.
12580         * modules/gettext (Files): Add m4/fcntl-o.m4.
12581         (configure.ac): Require gettext infrastructure from version 0.18.
12582
12583 2010-05-09  Jim Meyering  <meyering@redhat.com>
12584
12585         init.sh: enable MALLOC_PERTURB_
12586         * tests/init.sh: Enable glibc's malloc-perturbing option.
12587
12588         maint.mk: improve sc_cross_check_PATH_usage_in_tests
12589         With my recent change in init.sh from the two-line form:
12590             -#   : ${srcdir=.}
12591             -#   . "$srcdir/init.sh"; path_prepend_ .
12592             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
12593         I noticed that using the one-line form would cause this test
12594         to fail with a false-positive, or to stop working altogether,
12595         depending on whether help-version changed or all the tests did.
12596         * top/maint.mk (_hv_regex): Remove this definition.
12597         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
12598         (_hv_regex_strong): Use a stronger regex to check for conformance.
12599         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
12600         Give a separate diagnostic for lack of conforming use.
12601
12602         maint.mk: prohibit definition of symbols defined by gnulib
12603         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
12604         definition of symbols defined by gnulib.
12605
12606 2010-05-09  Bruno Haible  <bruno@clisp.org>
12607
12608         acl: Avoid test failure on Cygwin-hosted mingw.
12609         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
12610
12611 2010-05-09  Bruno Haible  <bruno@clisp.org>
12612
12613         error: Use system's fcntl function.
12614         * lib/error.c (fcntl): Undefine.
12615
12616 2010-05-09  Jim Meyering  <meyering@redhat.com>
12617
12618         verify: adjust formatting to be more consistent
12619         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
12620         argument-list '('s, and after one comma.
12621
12622 2010-05-09  Bruno Haible  <bruno@clisp.org>
12623
12624         error: More reliable output on mingw.
12625         * lib/error.c: Include <windows.h>.
12626         (is_open): New function.
12627         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
12628         defined.
12629
12630 2010-05-09  Bruno Haible  <bruno@clisp.org>
12631
12632         vasnprintf: Fix syntax errors in libintl build on mingw.
12633         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
12634         pad_ourselves and prec_ourselves after use.
12635
12636 2010-05-08  Bruno Haible  <bruno@clisp.org>
12637
12638         * lib/config.charset: Update comments for Cygwin 1.7.
12639         * lib/localcharset.c: Likewise.
12640
12641 2010-05-07  Jim Meyering  <meyering@redhat.com>
12642
12643         init.sh: improve comments
12644         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
12645         . "${srcdir=.}/init.sh"; path_prepend_ .
12646         Add a note about path_prepend_ and the alternative of using
12647         TESTS_ENVIRONMENT.
12648
12649 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
12650
12651         exclude: Unescape hashed patterns in wildcard mode.
12652         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
12653         to the hash list.
12654         * tests/test-exclude8.sh: New test case.
12655         * modules/exclude-tests: Add new test.
12656
12657 2010-05-05  Eric Blake  <eblake@redhat.com>
12658
12659         verify: automate tests
12660         * modules/verify-tests: New module.
12661         * tests/test-verify.sh: New file.
12662         * tests/test-verify.c: Guard each negative test with a unique id.
12663         Also avoid warning about unused left hand of comma expressions.
12664
12665 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
12666
12667         Further improvements to verify.h, suggested by Eric Blake.
12668         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
12669         the GL_* versions, to avoid collision with OpenGL.
12670         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
12671         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
12672         than testing merely whether it's defined.
12673
12674         Modify verify.h to pacify gcc -Wredundant_decls.
12675         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
12676         These use the prefix "GL_" since they're likely to be useful elsewhere.
12677         We may need to break them out into a different .h file.
12678         (__COUNTER__): Define to 0 if the compiler doesn't support it.
12679         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
12680         of verify_function__.
12681
12682 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12683
12684         Tests for module pwrite.
12685         * modules/pwrite-tests: New file.
12686         * tests/test-pwrite.sh: New file.
12687         * tests/test-pwrite.c: New file.
12688
12689         New module pwrite.
12690         * lib/unistd.in.h (pwrite): New declaration.
12691         * lib/pwrite.c: New file, from glibc with modifications.
12692         * m4/pwrite.m4: New file.
12693         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
12694         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
12695         REPLACE_PWRITE.
12696         * modules/pwrite: New file.
12697         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
12698         REPLACE_PWRITE.
12699         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
12700         * doc/posix-functions/pwrite.texi: Mention the new module.
12701
12702 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
12703
12704         pread: Update documentation.
12705         * doc/posix-functions/pread.texi: Mention the 'pread' module.
12706
12707 2010-05-04  Eric Blake  <eblake@redhat.com>
12708
12709         docs: update cygwin progress
12710         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
12711         this bug.
12712         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
12713         Added in cygwin 1.7.2.
12714         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
12715         Likewise.
12716         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
12717         Likewise.
12718         * doc/glibc-functions/dup3.texi (dup3): Likewise.
12719         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
12720         * doc/glibc-functions/accept4.texi (accept4): Likewise.
12721         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
12722         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
12723         Mention nproc module.
12724         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
12725         bug in cygwin 1.7.5 addition.
12726         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
12727         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
12728         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
12729         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
12730         1.7.5.
12731         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
12732         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
12733         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
12734         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
12735         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
12736         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
12737         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
12738         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
12739         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
12740         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
12741         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
12742         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
12743         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
12744         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
12745         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
12746         Likewise.
12747         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
12748         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
12749         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
12750         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
12751         Likewise.
12752         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
12753         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
12754         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
12755         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
12756         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
12757         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
12758         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
12759         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
12760         Likewise.
12761         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
12762         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
12763         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
12764         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
12765         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
12766         Likewise.
12767         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
12768         Likewise.
12769         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
12770         Likewise.
12771         * doc/glibc-functions/xdrrec_endofrecord.texi
12772         (xdrrec_endofrecord): Likewise.
12773         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
12774         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
12775         Likewise.
12776         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
12777         Likewise.
12778
12779 2010-05-04  Jim Meyering  <meyering@redhat.com>
12780
12781         gendocs.sh: make its "-s FILE" option more useful
12782         * build-aux/gendocs.sh: When honoring the -s FILE option, update
12783         $PACKAGE to reflect the probably-different basename of "FILE".
12784
12785 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
12786
12787         bootstrap: don't ignore download_po_files failure
12788         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
12789         failure.
12790
12791 2010-05-03  Jim Meyering  <meyering@redhat.com>
12792
12793         maint.mk: allow to pass options to gendocs.sh
12794         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
12795         (gendocs_options_): New overridable variable.
12796
12797         gnu-web-doc-update: don't ignore configure or build failure
12798         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
12799
12800         announce-gen: backslash-escape '@'s in --help output
12801         * build-aux/announce-gen: Fix syntax errors.
12802
12803         maint.mk, announce-gen: allow project-specific announcement mail headers
12804         * top/maint.mk (translation_project_): Define default.
12805         (announcement_Cc_, announcement_mail_headers_): Likewise.
12806         (announcement): Invoke announce-gen with new --mail-headers option.
12807         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
12808
12809         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
12810         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
12811         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
12812         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
12813         line in the "err2" output file when running "make check" in verbose
12814         mode (i.e., with set -x enabled).
12815
12816 2010-05-03  Bruno Haible  <bruno@clisp.org>
12817
12818         wctob: Fix for weird platforms.
12819         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
12820         argument value.
12821
12822 2010-05-03  Jim Meyering  <meyering@redhat.com>
12823
12824         maint.mk: prohibit unwarranted use of <strings.h>
12825         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
12826         strings.h in a file that does not also use strcasecmp, strncasecmp,
12827         ffs or ffsll.
12828
12829         maint.mk: remove obsolete comments
12830         * top/maint.mk: Remove stale, commented-out rules.
12831
12832 2010-05-02  Bruno Haible  <bruno@clisp.org>
12833
12834         wcwidth: Declare also when it's aliased.
12835         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
12836         macro.
12837
12838 2010-05-02  Bruno Haible  <bruno@clisp.org>
12839
12840         Fix regression from 2010-04-25.
12841         * gnulib-tool (func_modules_transitive_closure): Check the status of
12842         all modules, not only of the tests that are of the form foo-tests where
12843         foo is a module.
12844
12845 2010-05-02  Bruno Haible  <bruno@clisp.org>
12846
12847         wctob: Work around nasty Cygwin 1.7.2 bug.
12848         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
12849         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
12850
12851 2010-05-01  Bruno Haible  <bruno@clisp.org>
12852
12853         fpurge: Sharper test.
12854         * tests/test-fpurge.c (main): Add one more ftell check.
12855         * modules/fpurge-tests (Depends-on): Add ftell.
12856         Suggested by Eric Blake.
12857
12858 2010-05-01  Bruno Haible  <bruno@clisp.org>
12859
12860         ftello: Another test.
12861         * tests/test-ftello3.c: New file.
12862         * modules/ftello-tests (Files): Add it.
12863         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12864         MOSTLYCLEANFILES.
12865
12866         ftell: Another test.
12867         * tests/test-ftell3.c: New file.
12868         * modules/ftell-tests (Files): Add it.
12869         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
12870         MOSTLYCLEANFILES.
12871
12872 2010-05-01  Bruno Haible  <bruno@clisp.org>
12873
12874         ftell, ftello: Work around Solaris bug.
12875         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
12876         * lib/ftello.c: Include stdio-impl.h.
12877         (ftello): On Solaris, when _IOWRT is set, compute the result without
12878         looking at _IOREAD.
12879         * modules/ftello (Files): Add lib/stdio-impl.h.
12880         * doc/posix-functions/ftell.texi: Mention Solaris bug.
12881         * doc/posix-functions/ftello.texi: Likewise.
12882         Reported by Eric Blake.
12883
12884 2010-05-01  Bruno Haible  <bruno@clisp.org>
12885
12886         freading: Adapt to special meaning of _IOREAD flag on Solaris.
12887         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
12888         the _IOWRT flag is also set.
12889
12890 2010-05-01  Bruno Haible  <bruno@clisp.org>
12891
12892         Fix doc about a HP-UX stdio bug.
12893         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
12894         * doc/posix-functions/ftello.texi: Likewise.
12895
12896 2010-05-01  Bruno Haible  <bruno@clisp.org>
12897
12898         lseek test: Fix failure on Solaris.
12899         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
12900         output.
12901
12902 2010-04-30  Jim Meyering  <meyering@redhat.com>
12903
12904         bootstrap: don't ignore failure to generate po*/Makevars
12905         * build-aux/bootstrap (with_gettext): Don't ignore failure
12906         to create po/Makevars or runtime-po/Makevars.
12907
12908 2010-04-29  Eric Blake  <eblake@redhat.com>
12909
12910         headers: relax license to LGPLv2+
12911         * modules/fcntl-h (License): Relax license.
12912         * modules/getopt-posix (License): Likewise.
12913         * modules/locale (License): Likewise.
12914         * modules/math (License): Likewise.
12915         * modules/pty (License): Likewise.
12916         * modules/sched (License): Likewise.
12917         * modules/search (License): Likewise.
12918         * modules/spawn (License): Likewise.
12919         * modules/stdarg (License): Likewise.
12920         * modules/sysexits (License): Likewise.
12921
12922 2010-04-29  Jim Meyering  <meyering@redhat.com>
12923
12924         inttypes: relax license to LGPLv2+
12925         * modules/inttypes (License): Relax license.
12926
12927 2010-04-29  Simon Josefsson  <simon@josefsson.org>
12928
12929         * top/maint.mk (indent): Run twice to produce idempotent results.
12930
12931 2010-04-28  Bruno Haible  <bruno@clisp.org>
12932
12933         getdate: Generate getdate.c in the source directory.
12934         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
12935         MOSTLYCLEANFILES.
12936         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
12937
12938 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
12939
12940         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
12941         is not declared as a const *; avoid warnings in that case.
12942
12943 2010-04-28  Eric Blake  <eblake@redhat.com>
12944
12945         canonicalize-lgpl: avoid compiler warning
12946         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
12947         declaration' / 'extraneous semicolon' warning with some compilers.
12948         Reported by Andreas Gruenbacher.
12949
12950 2010-04-28  Jim Meyering  <meyering@redhat.com>
12951
12952         init.sh: ensure a more reliable exit status when exiting via trap
12953         * tests/init.sh (setup_): Don't rely on $? in signal handler.
12954         Inspired by patches from Dmitry V. Levin.
12955         Also trap on signal 3 (SIGQUIT).
12956
12957 2010-04-27  Bruno Haible  <bruno@clisp.org>
12958
12959         Update doc about utimes().
12960         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
12961         'utimens' module.
12962         Reported by Andreas Gruenbacher <agruen@suse.de>.
12963
12964 2010-04-27  Eric Blake  <eblake@redhat.com>
12965
12966         full-read, full-write: relax license
12967         * modules/full-read (License): Drop to LGPLv2+.
12968         * modules/full-write (License): Likewise.
12969         * modules/safe-read (License): Likewise.
12970         * modules/safe-write (License): Likewise.
12971
12972         pthread: mention library for linking
12973         * modules/pthread (Link): Mention $(LIB_PTHREAD).
12974
12975 2010-04-27  Jim Meyering  <meyering@redhat.com>
12976
12977         maint.mk: fix a bug introduced in last change
12978         * top/maint.mk (gl_assured_headers_): Now that all names are on
12979         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
12980         is not anchored to end of word, it should be adequate.
12981
12982         maint.mk: avoid side-effect in latest syntax-check
12983         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
12984         to run commands via $(shell...), and hence to incur cost only when
12985         the new rule is actually run.
12986
12987         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
12988         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
12989         and use that to create a regexp used to detect all #if HAVE_..._H uses.
12990         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
12991         (gl_assured_headers_, az_, AZ_): Define.
12992         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
12993
12994 2010-04-26  Jim Meyering  <jim@meyering.net>
12995             Bruno Haible  <bruno@clisp.org>
12996
12997         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
12998         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
12999         Prompted by an exchange with Gilles Espinasse.
13000
13001 2010-04-26  Jim Meyering  <meyering@redhat.com>
13002
13003         git-version-gen: aesthetic tweak
13004         * build-aux/git-version-gen: Use "$nl" rather than a literal,
13005         so that the command remains on a single line.
13006
13007 2010-04-26  Eric Blake  <eblake@redhat.com>
13008
13009         git-version-gen: allow use on EBCDIC hosts
13010         * build-aux/git-version-gen (dirty): Use literal rather than tying
13011         ourselves to ascii.
13012         Reported by Steve Goetze.
13013
13014 2010-04-25  Bruno Haible  <bruno@clisp.org>
13015
13016         netdb: Add support for GNULIB_POSIXCHECK.
13017         * lib/netdb.in.h: Include warn-on-use.h.
13018         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
13019         functions are used when GNULIB_POSIXCHECK is defined and the
13020         getaddrinfo module is not in use.
13021         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
13022         freeaddrinfo, gai_strerror, getnameinfo are declared.
13023         * modules/netdb (Depends-on): Add warn-on-use.
13024         (Makefile.am): Include warn-on-use.h in netdb.h.
13025
13026 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
13027
13028         build: avoid "make check" failure without .git/ directory
13029         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
13030         there is no .git/ directory.
13031
13032 2010-04-25  Bruno Haible  <bruno@clisp.org>
13033
13034         ptsname: Fix misuse of ttyname_r.
13035         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
13036         of errno.
13037
13038 2010-04-25  Bruno Haible  <bruno@clisp.org>
13039
13040         ttyname_r: Make it work on Solaris 10.
13041         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
13042         if the system function has the POSIX declaration. Test whether the
13043         function fails if the buffer is less than 128 bytes large.
13044         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
13045         system's ttyname_r function. Provide a reasonably large buffer.
13046         * modules/ttyname_r (Depends-on): Add extensions.
13047         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
13048
13049 2010-04-25  Bruno Haible  <bruno@clisp.org>
13050
13051         Use the 'extensions' module for some more functions on Solaris.
13052         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
13053         module.
13054         * doc/posix-functions/ctime_r.texi: Likewise.
13055         * doc/posix-functions/getgrgid_r.texi: Likewise.
13056         * doc/posix-functions/getgrnam_r.texi: Likewise.
13057         * doc/posix-functions/getpwnam_r.texi: Likewise.
13058         * doc/posix-functions/getpwuid_r.texi: Likewise.
13059         * doc/posix-functions/readdir_r.texi: Likewise.
13060         * doc/posix-functions/sigwait.texi: Likewise.
13061         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
13062         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
13063
13064 2010-04-25  Bruno Haible  <bruno@clisp.org>
13065
13066         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
13067         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
13068         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
13069         * lib/ttyname_r.c: Include <limits.h>.
13070         (ttyname_r): Define using the system's ttyname_r function, if it exists
13071         and not on Solaris.
13072         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
13073         set.
13074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
13075         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
13076         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
13077         Reported by Simon Josefsson.
13078
13079 2010-04-25  Bruno Haible  <bruno@clisp.org>
13080
13081         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
13082         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
13083         * doc/posix-functions/ctime_r.texi: Likewise.
13084         * doc/posix-functions/getgrgid_r.texi: Likewise.
13085         * doc/posix-functions/getgrnam_r.texi: Likewise.
13086         * doc/posix-functions/getlogin_r.texi: Likewise.
13087         * doc/posix-functions/getpwnam_r.texi: Likewise.
13088         * doc/posix-functions/getpwuid_r.texi: Likewise.
13089         * doc/posix-functions/readdir_r.texi: Likewise.
13090         * doc/posix-functions/sigwait.texi: Likewise.
13091         * doc/posix-functions/ttyname_r.texi: Likewise.
13092         Reported by Simon Josefsson.
13093
13094 2010-04-25  Bruno Haible  <bruno@clisp.org>
13095
13096         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
13097         * gnulib-tool (func_usage): Document that --with-*-tests options apply
13098         also to --create-testdir.
13099         (func_acceptable): Don't consider the status of *-tests modules here.
13100         (func_modules_transitive_closure): Consider it here, before including a
13101         test module.
13102         (func_import, func_create_testdir): Set inc_all_direct_tests,
13103         inc_all_indirect_tests.
13104         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
13105         --create-testdir and --create-megatestdir.
13106
13107 2010-04-25  Bruno Haible  <bruno@clisp.org>
13108
13109         gnulib-tool: Add --without-*-tests options.
13110         * gnulib-tool (func_usage): Document the --without-*-tests options.
13111         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
13112         excl_unportable_tests): New variables.
13113         Fail if they are specified with --import or --update.
13114         (func_acceptable): Respect the excl_*_tests variables.
13115         (func_import): Set the excl_*_tests variables to empty.
13116
13117 2010-04-25  Simon Josefsson  <simon@josefsson.org>
13118             Bruno Haible  <bruno@clisp.org>
13119
13120         Work around a MacOS X 10.4 bug with openpty.
13121         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
13122         * tests/test-openpty.c (main): Close the master side explicitly.
13123
13124 2010-04-25  Bruno Haible  <bruno@clisp.org>
13125
13126         strnlen: Fix a C++ test error on MacOS X and Solaris.
13127         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
13128         the function is not declared.
13129         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
13130         Simon Josefsson.
13131
13132 2010-04-24  Bruno Haible  <bruno@clisp.org>
13133
13134         Avoid a gcc warning.
13135         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
13136         of correct type for %08lx directive.
13137         Reported by Eric Blake.
13138
13139 2010-04-24  Bruno Haible  <bruno@clisp.org>
13140
13141         vasnprintf: Correct errno value in case of out-of-memory.
13142         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
13143         or sprintf. Use the errno value from SNPRINTF or sprintf.
13144         Reported by Ian Beckwith <ianb@erislabs.net>.
13145
13146 2010-04-24  Bruno Haible  <bruno@clisp.org>
13147
13148         ansi-c++-opt: Find correct compiler when cross-compiling.
13149         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
13150         AC_CHECK_PROGS.
13151         Reported by Simon Josefsson.
13152
13153 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
13154
13155         vc-list-files: Add support for subversion
13156         * build-aux/vc-list-files: Use "svn list" to generate the list of
13157         files controlled by subversion.
13158
13159 2010-04-23  Jim Meyering  <meyering@redhat.com>
13160
13161         vc-list-files tests: convert to use init.sh
13162         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
13163         path_prepend_.
13164         Use Exit, not exit.
13165         Use skip_ rather than open coding it.
13166         Remove trap set-up and compare definitions.
13167         * tests/test-vc-list-files-git.sh: Likewise.
13168         * modules/vc-list-files-tests (Files): Add tests/init.sh.
13169
13170 2010-04-22  Simon Josefsson  <simon@josefsson.org>
13171
13172         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
13173         backup files.
13174
13175 2010-04-21  Simon Josefsson  <simon@josefsson.org>
13176
13177         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
13178
13179 2010-04-20  Eric Blake  <eblake@redhat.com>
13180
13181         tests: be robust to ignored SIGPIPE
13182         * tests/test-select-in.sh: Consume all output.
13183         * tests/test-lseek.sh: Check correct exit status, while avoiding
13184         EPIPE.
13185
13186 2010-04-20  Simon Josefsson  <simon@josefsson.org>
13187             Bruno Haible  <bruno@clisp.org>
13188
13189         visibility: Don't use -fvisibility if it leads to a warning.
13190         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
13191         yes, don't pretend that visibility works if it leads to a warning.
13192         Reported by Mike Gran <spk121@yahoo.com>.
13193
13194 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
13195
13196         * build-aux/bootstrap: Use "git -h" for testing for supported options
13197         instead of "git --help".  The short-form option only shows a summary,
13198         and doesn't layout the full man page.  Grep for the full option name
13199         in the summary, too.
13200
13201 2010-04-19  Bruno Haible  <bruno@clisp.org>
13202
13203         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
13204         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
13205         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
13206         mention of RELOCATABLE_STRIP.
13207         Reported by Sylvain Beucler <beuc@beuc.net>.
13208
13209 2010-04-19  Bruno Haible  <bruno@clisp.org>
13210
13211         * lib/diffseq.h: Fix typo in comment.
13212         Reported by Eric Blake.
13213
13214 2010-04-19  Bruno Haible  <bruno@clisp.org>
13215
13216         ioctl: Move autoconf macro to a .m4 file.
13217         * m4/ioctl.m4: New file, extracted from modules/ioctl.
13218         * modules/ioctl (Files): Add it.
13219         (configure.ac): Simply invoke gl_FUNC_IOCTL.
13220         Reported by Ian Beckwith <ianb@erislabs.net>.
13221
13222 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
13223             Bruno Haible  <bruno@clisp.org>
13224
13225         diffseq: Accommodate use-case with abstract arrays.
13226         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
13227         is not defined.
13228         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
13229         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
13230
13231 2010-04-18  Bruno Haible  <bruno@clisp.org>
13232
13233         * doc/posix-headers/stdbool.texi: More precise wording.
13234
13235 2010-04-17  Jim Meyering  <meyering@redhat.com>
13236
13237         maint.mk: use gnu-style indentation in an embedded perl script
13238         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
13239         Rename variable: s/two/last_two_bytes/
13240
13241 2010-04-16  Eric Blake  <eblake@redhat.com>
13242
13243         test-stdbool: skip test that fails with Solaris CC
13244         * tests/test-stdbool.c (f): Skip test that causes compilation
13245         error under buggy C++ compiler.
13246         * lib/stdbool.in.h: Document the limitation.
13247         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
13248
13249         setenv: allow compilation with C++
13250         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
13251         register keyword.
13252
13253         stdint: allow test to pass with C++
13254         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
13255
13256         getopt: allow compilation with C++
13257         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
13258         struct.
13259         * lib/getopt.c (_getopt_internal_r): Use correct type.
13260         Reported by Dagobert Michelson, via Joel E. Denny.
13261
13262 2010-04-16  Bruno Haible  <bruno@clisp.org>
13263
13264         Override netdb.h always.
13265         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
13266         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
13267         Reported by Ludovic Courtès <ludo@gnu.org>.
13268
13269 2010-04-15  Bruno Haible  <bruno@clisp.org>
13270
13271         openpty: Fix mistake from 2010-03-21.
13272         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
13273         Reported by Simon Josefsson.
13274
13275 2010-04-15  Eric Blake  <eblake@redhat.com>
13276
13277         test-forkpty: fix expected signature
13278         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
13279         Reported by Simon Josefsson.
13280
13281 2010-04-15  Jim Meyering  <meyering@redhat.com>
13282
13283         maint.mk: texinfo_suffix_re_: correct the default regexp
13284         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
13285
13286         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
13287         make it configurable via texinfo_suffix_re_.
13288
13289 2010-04-14  Eric Blake  <eblake@redhat.com>
13290
13291         strtok_r: relax license to LGPLv2+
13292         * modules/strtok_r (License): Relax license.
13293         Reported by Matthias Bolte.
13294
13295 2010-04-14  Simon Josefsson  <simon@josefsson.org>
13296
13297         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
13298         version 1.4.4 by default instead of requiring the libgcrypt
13299         version used during build.  This makes it possible to use the
13300         application with older but still binary compatible libgcrypt
13301         versions.
13302
13303 2010-04-13  Eric Blake  <eblake@redhat.com>
13304
13305         getopt-gnu: match recent glibc fixes and posix ruling
13306         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
13307         '+' handling, when requesting extensions.
13308         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
13309         'W;' handling.
13310         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
13311         * doc/posix-functions/getopt.texi (getopt): Document this.
13312         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13313         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13314         Likewise.
13315
13316         getopt: merge bug fixes from glibc
13317         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
13318         diagnostics.  Honor '+:' correctly.  Reject ';'.
13319
13320         getopt-posix: detect MacOS bug
13321         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
13322         optind when missing a required argument.
13323         * doc/posix-functions/getopt.texi (getopt): Document the bug.
13324         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13325         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13326         Likewise.
13327
13328         getopt-posix: avoid spurious failure on Solaris
13329         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
13330         an indicator that setting optind=1 is sufficient for reset.
13331
13332         getopt-posix: avoid spurious failure on FreeBSD
13333         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
13334         in POSIX mode, since the m4 test uses it.
13335
13336         gnulib-tool: silence warning on BSD sh
13337         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
13338
13339 2010-04-13  Jim Meyering  <meyering@redhat.com>
13340
13341         doc: users.txt: GNU patch now uses gnulib
13342         * users.txt: Add patch.
13343
13344 2010-04-12  Jim Meyering  <meyering@redhat.com>
13345
13346         maint.mk: generate more concise timing data for syntax-check rules
13347         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
13348         " done" from each line that reports a syntax-check test duration.
13349
13350 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
13351
13352         git-version-gen: use "git update-index..." rather than "git status"
13353         * build-aux/git-version-gen: Use git update-index --refresh, not
13354         "git status".  With some versions of git, "git status" would fail
13355         to update the index and result in an unwarranted "-dirty" suffix.
13356
13357 2010-04-11  Jim Meyering  <meyering@redhat.com>
13358
13359         openat: correct formatting (no semantic change)
13360         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
13361         Suggested by Bruno Haible.
13362
13363 2010-04-11  Bruno Haible  <bruno@clisp.org>
13364
13365         Stricter declaration checking in testdirs.
13366         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
13367         If for_tests is true, augment AM_CPPFLAGS to define
13368         GNULIB_STRICT_CHECKING.
13369         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
13370         GNULIB_STRICT_CHECKING is defined, verify that the function is
13371         declared.
13372
13373 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
13374             Bruno Haible  <bruno@clisp.org>
13375
13376         libunistring: Improve configure output.
13377         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
13378         Don't say "consider installing GNU libunistring" when checking again
13379         with libiconv.
13380
13381 2010-04-11  Bruno Haible  <bruno@clisp.org>
13382
13383         libunistring: Correct value of $LTLIBUNISTRING.
13384         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
13385         correct the value of $LTLIBUNISTRING.
13386
13387 2010-04-11  Bruno Haible  <bruno@clisp.org>
13388
13389         havelib: Add static libraries to LIBS in the right order.
13390         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
13391         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
13392
13393 2010-04-11  Bruno Haible  <bruno@clisp.org>
13394
13395         libunistring: Detect libunistring also when it depends on libiconv.
13396         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
13397         the second AC_LIB_HAVE_LINKFLAGS invocation.
13398
13399 2010-04-11  James Youngman  <jay@gnu.org>
13400
13401         close-stream: declare local scalars to be "const"
13402         * lib/close-stream.c (close_stream): Make boolean variables const
13403         to document the fact that we set but do not change them.
13404
13405 2010-04-11  Bruno Haible  <bruno@clisp.org>
13406
13407         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
13408
13409 2010-04-11  Jim Meyering  <meyering@redhat.com>
13410
13411         maint.mk: don't include dist-check.mk
13412         * top/maint.mk: Remove bogus include directive.
13413
13414         maint.mk: improve empty-line-at-EOF check
13415         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
13416         solution, rather than tail+Perl-based one.  The latter would read
13417         a few kilobytes from the end of each file, and did not handle empty
13418         files properly.
13419
13420         maint.mk: print the elapsed time for each syntax-check rule
13421         * top/maint.mk (sc_m_rules_): Save start time in a file.
13422         (sc_z_rules_): New rules: remove temp file and print elapsed time.
13423         (local-check): Interpose the .z rules
13424
13425 2010-04-11  Jim Meyering  <meyering@redhat.com>
13426
13427         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
13428         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
13429         empty file with one that ends in an empty line.
13430
13431 2010-04-10  Bruno Haible  <bruno@clisp.org>
13432
13433         mkdir: Make it work on mingw64.
13434         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
13435         * lib/mkdir.c: Update comment.
13436         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
13437
13438 2010-04-10  Bruno Haible  <bruno@clisp.org>
13439
13440         Don't override improved macro from newer autoconf.
13441         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
13442         autoconf >= 2.62.
13443         Reported by Joel E. Denny <jdenny@clemson.edu>.
13444
13445 2010-04-10  Jim Meyering  <meyering@redhat.com>
13446
13447         maint.mk: new syntax-check rule: prohibit empty lines at end of file
13448         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
13449
13450         maint.mk: correct a diagnostic
13451         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
13452         in diagnostic; now use $prohibit.
13453
13454 2010-04-10  Bruno Haible  <address@hidden>
13455
13456         fchownat: Fix a C++ test error on Solaris 8.
13457         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
13458         the function does not exist.
13459
13460 2010-04-10  Bruno Haible  <bruno@clisp.org>
13461
13462         vasnprintf: Add more tests.
13463         * tests/test-vasnprintf-posix.c: Include <errno.h>.
13464         (test_function): Test converting an invalid wide string.
13465
13466         vasnprintf: Correct handling of unconvertible wide string arguments.
13467         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
13468         VASNPRINTF.
13469         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
13470         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
13471         smaller than the expected maximum need for the directive. Set errno to
13472         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
13473         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
13474         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
13475         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
13476         * modules/vasnprintf (Files): Add m4/printf.m4.
13477         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13478
13479 2010-04-10  Bruno Haible  <bruno@clisp.org>
13480
13481         vasnprintf: Fix crash in %ls directive.
13482         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
13483         string is passed as argument to %ls, with no precision and no width.
13484         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13485
13486 2010-04-10  Bruno Haible  <bruno@clisp.org>
13487
13488         vasnprintf: Fix multiple test failures on mingw.
13489         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
13490         _snprintf, or snwprintf, not _snwprintf.
13491
13492 2010-04-10  Bruno Haible  <bruno@clisp.org>
13493
13494         write: Fix a C++ test error on mingw.
13495         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
13496
13497 2010-04-10  Bruno Haible  <bruno@clisp.org>
13498
13499         vasnprintf test: Reduce code duplication.
13500         * tests/test-vasnprintf.c (test_function): New function, extracted from
13501         test_vasnprintf.
13502         (test_vasnprintf, test_asnprintf): Invoke it.
13503
13504 2010-04-10  Bruno Haible  <bruno@clisp.org>
13505
13506         strnlen: Fix warning in C++ mode on MacOS X.
13507         * lib/string.in.h (strnlen): Use the modern idiom.
13508         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
13509         defining strnlen as a macro already in <config.h>.
13510         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
13511         REPLACE_STRNLEN.
13512         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
13513         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13514
13515 2010-04-08  James Youngman  <jay@gnu.org>
13516
13517         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
13518         the example.
13519
13520 2010-04-09  Jim Meyering  <meyering@redhat.com>
13521
13522         maint.mk: print better diagnostic when there is no $(_hv_file)
13523         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
13524         announce that when $(_hv_file) (aka help-version) does not exist.
13525
13526         init.sh: run tr in the "C" locale to avoid multibyte interpretation
13527         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
13528         not try to interpret its random input bytes.  Jarno Rajahalme reported
13529         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
13530         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
13531         (mktempd_): Likewise, just in case.
13532
13533         ftruncate: add two years to projected module removal date: 2012
13534         * m4/ftruncate.m4: Adjust comments.
13535
13536         ftruncate: mark module as obsolete; even MinGW provides it, now
13537         * modules/ftruncate (Status): Obsolete.
13538         (Notice): Say that.
13539         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
13540         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
13541
13542 2010-04-08  Bruno Haible  <bruno@clisp.org>
13543
13544         Fix side effects from tests-related modules.
13545         * modules/dprintf-posix (Comment): New section.
13546         * modules/fprintf-posix (Comment): Likewise.
13547         * modules/obstack-printf-posix (Comment): Likewise.
13548         * modules/printf-posix (Comment): Likewise.
13549         * modules/snprintf-posix (Comment): Likewise.
13550         * modules/sprintf-posix (Comment): Likewise.
13551         * modules/vasnprintf-posix (Comment): Likewise.
13552         * modules/vasprintf-posix (Comment): Likewise.
13553         * modules/vdprintf-posix (Comment): Likewise.
13554         * modules/vfprintf-posix (Comment): Likewise.
13555         * modules/vprintf-posix (Comment): Likewise.
13556         * modules/vsnprintf-posix (Comment): Likewise.
13557         * modules/vsprintf-posix (Comment): Likewise.
13558         * modules/xprintf-posix (Comment): Likewise.
13559         * modules/xvasprintf-posix (Comment): Likewise.
13560         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
13561         * modules/floorf-tests (Depends-on): Likewise.
13562         * modules/round-tests (Depends-on): Likewise.
13563         * modules/roundf-tests (Depends-on): Likewise.
13564         * modules/trunc-tests (Depends-on): Likewise.
13565         * modules/truncf-tests (Depends-on): Likewise.
13566         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
13567         'fprintf-posix' module is not present.
13568         * tests/test-floorf2.c (check): Likewise.
13569         * tests/test-trunc2.c (check): Likewise.
13570         * tests/test-truncf2.c (check): Likewise.
13571         * tests/test-round2.c (equal): Likewise.
13572         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13573
13574 2010-04-07  Karl Berry  <karl@gnu.org>
13575
13576         * config/srclist.txt,
13577         * config/srclistvars.sh,
13578         * config/srclist-update: doc fixes.
13579
13580 2010-04-07  Jim Meyering  <meyering@redhat.com>
13581
13582         maint.mk: add a PATH crosschecking syntax-check rule
13583         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
13584         Useful if you use a test like the one in help-version (coreutils,
13585         diffutils, grep, gzip) that ensures $(VERSION) matches what is
13586         printed by prog --version.
13587
13588 2010-04-06  Bruno Haible  <bruno@clisp.org>
13589
13590         Fix link error on mingw.
13591         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
13592         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
13593
13594 2010-04-06  Bruno Haible  <bruno@clisp.org>
13595
13596         Assume rmdir exists.
13597         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
13598
13599 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
13600
13601         doc: update users.txt
13602         * users.txt: Add gcal.
13603
13604 2010-04-06  Jim Meyering  <meyering@redhat.com>
13605
13606         init.sh: simply unset TMPDIR rather than risking env -i
13607         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
13608         although it probably works fine on all Unix-based systems, some
13609         systems (Cygwin?) cannot tolerate a totally cleared environment.
13610         Suggestion from Eric Blake.
13611
13612 2010-04-06  Jim Meyering  <meyering@redhat.com>
13613
13614         init.sh: portability fix: use env's POSIX-specified -i option not -u
13615         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
13616         than unportable env -u.  Solaris 5.11's env lacks support for -u.
13617
13618 2010-04-05  Bruno Haible  <bruno@clisp.org>
13619
13620         btowc: Work around Cygwin 1.7.2 bug.
13621         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
13622         does not map NUL to 0.
13623         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
13624
13625 2010-04-05  Bruno Haible  <bruno@clisp.org>
13626
13627         Make the multithread modules work on Cygwin 1.7.2.
13628         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
13629         imported symbols can be declared weak, so that it returns "no" on
13630         Cygwin 1.7.2.
13631
13632 2010-04-05  Bruno Haible  <bruno@clisp.org>
13633
13634         Use the module 'strncat'.
13635         * modules/unistr/u8-strncat (Depends-on): Add strncat.
13636
13637         Tests for module 'strncat'.
13638         * modules/strncat-tests: New file.
13639         * tests/test-strncat.c: New file.
13640
13641         New module 'strncat'.
13642         * lib/string.in.h (strncat): New declaration.
13643         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
13644         * m4/strncat.m4: New file, based on m4/memchr.m4.
13645         * modules/strncat: New file.
13646         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
13647         is declared.
13648         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
13649         REPLACE_STRNCAT.
13650         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
13651         REPLACE_STRNCAT.
13652         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
13653         module.
13654         * tests/test-string-c++.cc: Check signature of strncat.
13655
13656 2010-04-05  Jim Meyering  <meyering@redhat.com>
13657
13658         xstrtoumax-tests: convert to use init.sh
13659         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
13660         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13661         Use Exit, not exit.
13662         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13663
13664         xstrtoimax-tests: convert to use init.sh
13665         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
13666         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13667         Use Exit, not exit.
13668         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13669
13670 2010-04-05  Bruno Haible  <bruno@clisp.org>
13671
13672         sys_socket: Avoid #define replacements in C++ mode.
13673         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
13674         warning to the function if possible, rather than #defining the symbol
13675         to a dysfunctional alias.
13676
13677 2010-04-05  Bruno Haible  <bruno@clisp.org>
13678
13679         fseeko: Fix C++ test error on mingw.
13680         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
13681         gl_FUNC_FSEEKO.
13682         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
13683         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
13684         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
13685         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
13686
13687 2010-04-05  Bruno Haible  <bruno@clisp.org>
13688
13689         duplocale: Improve test output.
13690         * tests/test-duplocale.c (main): Print reason for skipped test.
13691
13692 2010-04-05  Bruno Haible  <bruno@clisp.org>
13693
13694         Assume rmdir exists.
13695         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
13696         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
13697
13698 2010-04-05  Bruno Haible  <bruno@clisp.org>
13699
13700         Fix link error on Solaris 8 with cc.
13701         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
13702
13703 2010-04-05  Bruno Haible  <bruno@clisp.org>
13704
13705         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13706         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
13707
13708 2010-04-05  Bruno Haible  <bruno@clisp.org>
13709
13710         vasprintf: Update documentation.
13711         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
13712
13713 2010-04-05  Bruno Haible  <bruno@clisp.org>
13714
13715         ptsname: Improve test.
13716         * tests/test-ptsname.c (main): Also try the various master names of BSD
13717         systems.
13718
13719 2010-04-05  Bruno Haible  <bruno@clisp.org>
13720
13721         memchr: Avoid a possible C++ test error.
13722         * lib/string.in.h (memchr): Provide declaration if function is missing.
13723         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
13724         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
13725         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
13726         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
13727
13728 2010-04-05  Bruno Haible  <bruno@clisp.org>
13729
13730         strtok_r: Improve idiom.
13731         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
13732         AC_LIBOBJ is used.
13733
13734 2010-04-05  Bruno Haible  <bruno@clisp.org>
13735
13736         strdup: Improve idiom.
13737         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
13738         AC_LIBOBJ is used.
13739         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
13740         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
13741         when AC_LIBOBJ is used.
13742
13743 2010-04-05  Bruno Haible  <bruno@clisp.org>
13744
13745         mbsinit, mbrtowc, wcrtomb: Improve idioms.
13746         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
13747         don't set REPLACE_MBSINIT to 1.
13748         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
13749         don't set REPLACE_MBRTOWC to 1.
13750         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
13751         exist, don't set REPLACE_MBSRTOWCS to 1.
13752         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
13753         exist, don't set REPLACE_MBSNRTOWCS to 1.
13754         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
13755         don't set REPLACE_WCRTOMB to 1.
13756         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
13757         exist, don't set REPLACE_WCSRTOMBS to 1.
13758         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
13759         exist, don't set REPLACE_WCSNRTOMBS to 1.
13760
13761 2010-04-05  Bruno Haible  <bruno@clisp.org>
13762
13763         ldexpl: Improve idiom.
13764         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
13765         make sure to set HAVE_DECL_LDEXPL to 0.
13766
13767 2010-04-05  Jim Meyering  <meyering@redhat.com>
13768
13769         xstrtol-tests: convert to use init.sh
13770         * modules/xstrtol-tests (Files): Add tests/init.sh.
13771         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13772         Use Exit, not exit.
13773         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13774
13775         atexit-tests: convert to use init.sh
13776         * modules/atexit-tests (Files): Add tests/init.sh.
13777         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
13778         Use Exit, not exit.
13779         Remove uses of $EXEEXT and "./" to run a program in the current dir.
13780
13781         init.sh: fix typo
13782         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
13783
13784         init.sh: make it easier for a test script to write to the tty, ...
13785         when using automake's parallel-tests mode.
13786         * tests/init.sh (stderr_fileno_): Define overridable variable.
13787         (warn_): New function, to use it.
13788         (fail_, skip_, framework_failure_): Use warn_.
13789
13790 2010-04-04  Bruno Haible  <bruno@clisp.org>
13791
13792         btowc: Avoid warning.
13793         * lib/btowc.c: Include <stdlib.h>.
13794         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
13795
13796 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13797             Bruno Haible  <bruno@clisp.org>
13798
13799         wchar: Port to NetBSD 1.5.
13800         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
13801         * lib/wctype.in.h (WEOF): Likewise.
13802
13803 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
13804             Bruno Haible  <bruno@clisp.org>
13805
13806         Port extended stdio to NetBSD 1.5.
13807         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
13808         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
13809         older.
13810
13811 2010-04-04  Bruno Haible  <bruno@clisp.org>
13812
13813         string: Remove unused substitution.
13814         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
13815         HAVE_DECL_STRERROR.
13816         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
13817
13818 2010-04-04  Bruno Haible  <bruno@clisp.org>
13819
13820         strtod: Avoid a possible C++ test error.
13821         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
13822         set REPLACE_STRTOD.
13823
13824 2010-04-04  Bruno Haible  <bruno@clisp.org>
13825
13826         strerror: Update documentation.
13827         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
13828
13829 2010-04-04  Bruno Haible  <bruno@clisp.org>
13830
13831         stdio: Fix some C++ test errors on Solaris 8 with GCC.
13832         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
13833         _GL_CXXALIAS_SYS_CAST.
13834
13835 2010-04-04  Bruno Haible  <bruno@clisp.org>
13836
13837         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
13838         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
13839         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
13840         REPLACE_FREXPL to 1.
13841         * doc/posix-functions/frexpl.texi: Update documentation.
13842
13843 2010-04-04  Bruno Haible  <bruno@clisp.org>
13844
13845         math: Fix some C++ test errors on Solaris 8 and Cygwin.
13846         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
13847
13848 2010-04-04  Bruno Haible  <bruno@clisp.org>
13849
13850         Implement nanosleep for native Windows.
13851         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
13852
13853 2010-04-04  Bruno Haible  <bruno@clisp.org>
13854
13855         math: Fix some C++ test errors on Solaris 8.
13856         * lib/math.in.h (truncf, trunc): Use simpler idiom.
13857
13858 2010-04-04  Bruno Haible  <bruno@clisp.org>
13859
13860         math: Fix some C++ test errors on Cygwin.
13861         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
13862         truncl): Provide declaration if the system does not have it.
13863         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
13864         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
13865         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
13866         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
13867         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
13868         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
13869         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
13870         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
13871         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
13872         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
13873         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
13874         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
13875         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
13876         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
13877         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
13878         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
13879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
13880         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13881         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13882         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
13883         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
13884         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
13885
13886 2010-04-04  Bruno Haible  <bruno@clisp.org>
13887
13888         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
13889         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13890         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13891         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13892         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13893         * m4/isinf.m4 (gl_ISINF): Likewise.
13894         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13895
13896 2010-04-04  Bruno Haible  <bruno@clisp.org>
13897
13898         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
13899         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13900
13901 2010-04-04  Bruno Haible  <bruno@clisp.org>
13902
13903         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
13904         * modules/tmpfile (configure.ac): Update.
13905
13906         tmpfile: Fix C++ test error on mingw.
13907         * lib/stdio.in.h (tmpfile): New declaration.
13908         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
13909         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
13910         * modules/tmpfile (Depends-on): Add stdio.
13911         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
13912         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
13913         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
13914         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
13915         REPLACE_TMPFILE.
13916         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
13917
13918 2010-04-04  Bruno Haible  <bruno@clisp.org>
13919
13920         ioctl: Fix C++ test error on mingw.
13921         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
13922         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
13923         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
13924
13925 2010-04-03  Bruno Haible  <bruno@clisp.org>
13926
13927         wcwidth: Fix C++ test error on mingw.
13928         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
13929         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
13930         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
13931
13932 2010-04-03  Bruno Haible  <bruno@clisp.org>
13933
13934         nanosleep: Fix C++ test error on mingw.
13935         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
13936         * lib/time.in.h (nanosleep): Use modern idiom.
13937         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
13938         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
13939         REPLACE_NANOSLEEP to 1.
13940         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
13941         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
13942
13943 2010-04-03  Bruno Haible  <bruno@clisp.org>
13944
13945         strptime: Fix C++ test error on mingw.
13946         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
13947         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
13948         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
13949         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
13950         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
13951         not REPLACE_STRPTIME.
13952         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
13953         REPLACE_STRPTIME.
13954
13955 2010-04-03  Bruno Haible  <bruno@clisp.org>
13956
13957         timegm: Fix C++ test error on mingw.
13958         * lib/time.in.h (timegm): Use modern idiom.
13959         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
13960         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
13961         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
13962         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
13963
13964 2010-04-03  Bruno Haible  <bruno@clisp.org>
13965
13966         timegm: Assume declaration if function exists.
13967         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
13968         if it exists. Don't clobber ac_cv_func_timegm.
13969
13970 2010-04-03  Bruno Haible  <bruno@clisp.org>
13971
13972         time_r: Fix C++ test error on mingw.
13973         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
13974         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
13975         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
13976         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
13977         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
13978
13979 2010-04-03  Bruno Haible  <bruno@clisp.org>
13980
13981         time_r: Minor updates.
13982         * modules/time_r (Description): Mention the provided functions.
13983         * lib/time_r.c: Don't include <string.h>.
13984         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
13985         * doc/posix-functions/localtime_r.texi: Likewise.
13986
13987 2010-04-03  Bruno Haible  <bruno@clisp.org>
13988
13989         time: Fix regression introduced on 2010-03-08.
13990         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
13991         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
13992
13993 2010-04-03  Jim Meyering  <meyering@redhat.com>
13994
13995         maint.mk: don't silently disable project-specific syntax-check rules
13996         * top/maint.mk (_prohibit_regexp): Define, to help people realize
13997         that they need to convert their project-specific syntax-check rules
13998         to use the new _sc_search_regexp.
13999
14000 2010-04-03  Bruno Haible  <bruno@clisp.org>
14001
14002         fchdir: Fix regression introduced on 2010-03-08.
14003         * lib/unistd.in.h (fchdir): Fix declaration.
14004         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
14005         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
14006         REPLACE_FCHDIR.
14007         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
14008         REPLACE_FCHDIR.
14009
14010 2010-04-03  Bruno Haible  <bruno@clisp.org>
14011
14012         getpagesize: Fix C++ test error on mingw.
14013         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
14014         system does not declare the function.
14015         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
14016         declared.
14017         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14018         HAVE_DECL_GETPAGESIZE.
14019         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
14020
14021 2010-04-03  Bruno Haible  <bruno@clisp.org>
14022
14023         stdio: Make C++ tests work on mingw.
14024         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
14025         does not declare the function.
14026
14027 2010-04-03  Bruno Haible  <bruno@clisp.org>
14028
14029         ftello: Fix C++ test error on mingw.
14030         * lib/stdio.in.h (ftello): Use modern idiom.
14031         * lib/ftello.c (ftello): Renamed from rpl_ftello.
14032         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
14033         is missing and that it needs to be replaced.
14034         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
14035         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
14036         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
14037
14038 2010-04-03  Bruno Haible  <bruno@clisp.org>
14039
14040         fseeko: Fix C++ test error on mingw.
14041         * lib/stdio.in.h (fseeko): Use modern idiom.
14042         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
14043         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
14044         is missing and that it needs to be replaced.
14045         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
14046         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
14047         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
14048
14049 2010-04-03  Bruno Haible  <bruno@clisp.org>
14050
14051         mkstemp: Fix C++ test error on mingw.
14052         * lib/stdlib.in.h (mkstemp): Use modern idiom.
14053         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
14054         function is missing and that it needs to be replaced.
14055         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
14056         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
14057
14058 2010-04-03  Bruno Haible  <bruno@clisp.org>
14059
14060         stpncpy: Fix C++ test error on mingw.
14061         * lib/string.in.h (stpncpy): Use modern idiom.
14062         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
14063         function is missing and that it needs to be replaced.
14064         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14065         REPLACE_STPNCPY.
14066         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
14067
14068 2010-04-03  Bruno Haible  <bruno@clisp.org>
14069
14070         sys_stat: Fix C++ test error on mingw.
14071         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
14072         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
14073
14074 2010-04-03  Bruno Haible  <bruno@clisp.org>
14075
14076         pty: Update doc.
14077         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
14078
14079 2010-04-03  Bruno Haible  <bruno@clisp.org>
14080
14081         unistd: Fix C++ test error on mingw.
14082         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
14083
14084 2010-04-03  Bruno Haible  <bruno@clisp.org>
14085
14086         Update doc regarding mingw.
14087         * doc/glibc-functions/openpty.texi: Update regarding mingw.
14088         * doc/glibc-functions/login_tty.texi: Likewise.
14089         * doc/glibc-functions/forkpty.texi: Likewise.
14090
14091 2010-04-03  Bruno Haible  <bruno@clisp.org>
14092
14093         stdlib: Avoid compilation failure of c-strtold on mingw.
14094         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
14095
14096 2010-04-03  Bruno Haible  <bruno@clisp.org>
14097
14098         locale: Make C++ tests work on Cygwin and mingw.
14099         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
14100         cannot provide the function.
14101         Reported by Simon Josefsson.
14102
14103 2010-04-03  Bruno Haible  <bruno@clisp.org>
14104
14105         localename: Port to MacOS X 10.6.
14106         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
14107         memory layout of the locales in MacOS X 10.6 as well.
14108         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
14109
14110 2010-04-02  Bruno Haible  <bruno@clisp.org>
14111
14112         gnulib-tool: Ensure that long-running tests are executed last.
14113         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
14114         running tests after the one for the other tests.
14115
14116 2010-04-02  Bruno Haible  <bruno@clisp.org>
14117
14118         gnulib-tool: Ensure the tests in the main directory are executed first.
14119         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
14120         start with the current directory.
14121
14122 2010-04-02  Bruno Haible  <bruno@clisp.org>
14123
14124         Tests for module 'havelib', moved here from GNU gettext.
14125         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
14126         modifications.
14127         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
14128         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
14129         with modifications.
14130         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
14131         modifications.
14132         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
14133         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
14134         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
14135         with modifications.
14136         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
14137         with modifications.
14138         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
14139         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
14140         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
14141         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
14142         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
14143         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
14144         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
14145         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
14146         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
14147         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
14148         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
14149         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
14150         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
14151         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
14152         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
14153         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
14154         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
14155         with modifications.
14156         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
14157         with modifications.
14158         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
14159         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
14160         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
14161         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
14162         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
14163         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
14164         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
14165         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
14166         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
14167         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
14168         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
14169         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
14170         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
14171         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
14172         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
14173         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
14174         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
14175         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
14176         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
14177         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
14178         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
14179         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
14180         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
14181         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
14182         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
14183         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
14184         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
14185         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
14186         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
14187         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
14188         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
14189         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
14190         * tests/havelib/rpathx/rpathx.c: New file, from
14191         gettext/autoconf-lib-link.
14192         * tests/havelib/rpathx/Makefile.am: New file, from
14193         gettext/autoconf-lib-link.
14194         * tests/havelib/rpathx/configure.ac: New file, from
14195         gettext/autoconf-lib-link with modifications.
14196         * tests/havelib/rpathy/rpathy.c: New file, from
14197         gettext/autoconf-lib-link.
14198         * tests/havelib/rpathy/Makefile.am: New file, from
14199         gettext/autoconf-lib-link.
14200         * tests/havelib/rpathy/configure.ac: New file, from
14201         gettext/autoconf-lib-link with modifications.
14202         * tests/havelib/rpathz/rpathz.c: New file, from
14203         gettext/autoconf-lib-link.
14204         * tests/havelib/rpathz/Makefile.am: New file, from
14205         gettext/autoconf-lib-link.
14206         * tests/havelib/rpathz/configure.ac: New file, from
14207         gettext/autoconf-lib-link with modifications.
14208         * tests/havelib/rpathlx/usex.c: New file, from
14209         gettext/autoconf-lib-link.
14210         * tests/havelib/rpathlx/Makefile.am: New file, from
14211         gettext/autoconf-lib-link.
14212         * tests/havelib/rpathlx/configure.ac: New file, from
14213         gettext/autoconf-lib-link with modifications.
14214         * tests/havelib/rpathly/usey.c: New file, from
14215         gettext/autoconf-lib-link.
14216         * tests/havelib/rpathly/Makefile.am: New file, from
14217         gettext/autoconf-lib-link.
14218         * tests/havelib/rpathly/configure.ac: New file, from
14219         gettext/autoconf-lib-link with modifications.
14220         * tests/havelib/rpathlz/usez.c: New file, from
14221         gettext/autoconf-lib-link.
14222         * tests/havelib/rpathlz/Makefile.am: New file, from
14223         gettext/autoconf-lib-link.
14224         * tests/havelib/rpathlz/configure.ac: New file, from
14225         gettext/autoconf-lib-link with modifications.
14226         * tests/havelib/rpathlyx/usey.c: New file, from
14227         gettext/autoconf-lib-link.
14228         * tests/havelib/rpathlyx/Makefile.am: New file, from
14229         gettext/autoconf-lib-link.
14230         * tests/havelib/rpathlyx/configure.ac: New file, from
14231         gettext/autoconf-lib-link with modifications.
14232         * tests/havelib/rpathlzyx/usez.c: New file, from
14233         gettext/autoconf-lib-link.
14234         * tests/havelib/rpathlzyx/Makefile.am: New file, from
14235         gettext/autoconf-lib-link.
14236         * tests/havelib/rpathlzyx/configure.ac: New file, from
14237         gettext/autoconf-lib-link with modifications.
14238         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
14239         with modifications.
14240
14241 2010-04-02  Bruno Haible  <bruno@clisp.org>
14242
14243         gnulib-tool: Create distributed built sources also for the tests.
14244         * gnulib-tool (func_create_testdir): Also generate distributed built
14245         sources in the tests directory.
14246
14247 2010-04-02  Bruno Haible  <bruno@clisp.org>
14248
14249         gnulib-tool: Obey user's environment variables.
14250         * gnulib-tool (func_create_testdir): When creating built sources,
14251         respect the environment variables for autoconf, automake, etc. given by
14252         the user.
14253
14254 2010-04-02  Bruno Haible  <bruno@clisp.org>
14255
14256         gnulib-tool: Provide the value of --m4-base to modules.
14257         * gnulib-tool (func_import, func_create_testdir): Emit a definition
14258         of gl_m4_base.
14259
14260 2010-04-02  Eric Blake  <eblake@redhat.com>
14261
14262         maint.mk: fix some fallout
14263         * NEWS: Document the incompatible change, and its effect on cfg.mk.
14264         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
14265
14266 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14267
14268         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
14269         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
14270         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
14271         (sc_cast_of_x_alloc_return_value): Likewise.
14272         (sc_cast_of_alloca_return_value): Likewise.
14273         (sc_space_tab): Likewise.
14274         (sc_prohibit_atoi_atof): Likewise.
14275         (sc_prohibit_magic_number_exit): Likewise.
14276         (sc_error_exit_success): Likewise.
14277         (sc_file_system): Likewise.
14278         (sc_prohibit_have_config_h): Likewise.
14279         (sc_require_config_h): Likewise.
14280         (sc_prohibit_HAVE_MBRTOWC): Likewise.
14281         (sc_obsolete_symbols): Likewise.
14282         (sc_changelog): Likewise.
14283         (sc_program_name): Likewise.
14284         (sc_the_the): Likewise.
14285         (sc_trailing_blank): Likewise.
14286         (sc_two_space_separator_in_usage): Likewise.
14287         (sc_useless_cpp_parens): Likewise.
14288         (sc_GPL_version): Likewise.
14289         (sc_GFDL_version): Likewise.
14290         (sc_texinfo_acronym): Likewise.
14291         (sc_prohibit_cvs_keyword): Likewise.
14292         (sc_prohibit_stat_st_blocks): Likewise.
14293         (sc_prohibit_S_IS_definition): Likewise.
14294         (sc_redundant_const): Likewise.
14295         (sc_makefile_TAB_only_indentation): Likewise.
14296         (sc_m4_quote_check): Likewise.
14297         (sc_makefile_path_separator_check): Likewise.
14298         (sc_copyright_check): Likewise.
14299         (sc_Wundef_boolean): Likewise.
14300         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
14301
14302         maint.mk: match 0 or more whitespace-before-function-call '('
14303         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
14304         that have zero or two-and-more spaces between the function name
14305         and the open parenthesis.
14306         (sc_error_message_warn_fatal): Likewise.
14307         (sc_error_message_uppercase): Likewise.
14308         (sc_error_message_period): Likewise.
14309
14310 2010-03-31  Eric Blake  <eblake@redhat.com>
14311
14312         maint.mk: check for [ as well as test
14313         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
14314         Based on a libvirt report by Matthias Bolte.
14315
14316         gnumakefile: don't squelch _version output
14317         * top/GNUmakefile (_version): Create one-shot dependency rather
14318         than using $(shell) when version must be regenerated.
14319         (_autoreconf): Run verbosely, by default.
14320
14321         sys_time: avoid compiler warnings
14322         * lib/sys_time.in.h (includes): Ensure gcc pragma is
14323         unconditional, fixing regression from 2010-03-29.
14324         Reported by Simon Josefsson.
14325
14326 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
14327
14328         maint.mk: s/_header_without_use/_sc_header_without_use/
14329         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
14330         (sc_prohibit_assert_without_use): Use the new name.
14331         (sc_prohibit_close_stream_without_use): Likewise.
14332         (sc_prohibit_getopt_without_use): Likewise.
14333         (sc_prohibit_quotearg_without_use): Likewise.
14334         (sc_prohibit_quote_without_use): Likewise.
14335         (sc_prohibit_long_options_without_use): Likewise.
14336         (sc_prohibit_inttostr_without_use): Likewise.
14337         (sc_prohibit_ignore_value_without_use): Likewise.
14338         (sc_prohibit_error_without_use): Likewise.
14339         (sc_prohibit_xalloc_without_use): Likewise.
14340         (sc_prohibit_hash_without_use): Likewise.
14341         (sc_prohibit_hash_pjw_without_use): Likewise.
14342         (sc_prohibit_safe_read_without_use): Likewise.
14343         (sc_prohibit_argmatch_without_use): Likewise.
14344         (sc_prohibit_canonicalize_without_use): Likewise.
14345         (sc_prohibit_root_dev_ino_without_use): Likewise.
14346         (sc_prohibit_openat_without_use): Likewise.
14347         (sc_prohibit_c_ctype_without_use): Likewise.
14348         (sc_prohibit_signal_without_use): Likewise.
14349         (sc_prohibit_intprops_without_use): Likewise.
14350
14351 2010-03-30  Eric Blake  <eblake@redhat.com>
14352
14353         maint: improve module indicators
14354         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
14355         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
14356         columns, and avoid extra macro expansion.
14357
14358         fdopendir: work around FreeBSD bug
14359         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
14360         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
14361         * modules/dirent (Makefile.am): Substitute it.
14362         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
14363         declaration.
14364         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
14365         fix.
14366         Reported by Christian Weisgerber <naddy@mips.inka.de>.
14367
14368 2010-03-29  Bruno Haible  <bruno@clisp.org>
14369
14370         Emit #pragma system_header after the inclusion guard, not before.
14371         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
14372         guard that spans the entire file, not before. This enables an
14373         optimization in GCC's preprocessor.
14374         * lib/ctype.in.h: Likewise.
14375         * lib/dirent.in.h: Likewise.
14376         * lib/errno.in.h: Likewise.
14377         * lib/float.in.h: Likewise.
14378         * lib/getopt.in.h: Likewise.
14379         * lib/iconv.in.h: Likewise.
14380         * lib/langinfo.in.h: Likewise.
14381         * lib/locale.in.h: Likewise.
14382         * lib/math.in.h: Likewise.
14383         * lib/netdb.in.h: Likewise.
14384         * lib/netinet_in.in.h: Likewise.
14385         * lib/pty.in.h: Likewise.
14386         * lib/sched.in.h: Likewise.
14387         * lib/se-selinux.in.h: Likewise.
14388         * lib/search.in.h: Likewise.
14389         * lib/spawn.in.h: Likewise.
14390         * lib/stdarg.in.h: Likewise.
14391         * lib/stdint.in.h: Likewise.
14392         * lib/string.in.h: Likewise.
14393         * lib/strings.in.h: Likewise.
14394         * lib/sys_file.in.h: Likewise.
14395         * lib/sys_ioctl.in.h: Likewise.
14396         * lib/sys_time.in.h: Likewise.
14397         * lib/sys_times.in.h: Likewise.
14398         * lib/sys_utsname.in.h: Likewise.
14399         * lib/sys_wait.in.h: Likewise.
14400         * lib/sysexits.in.h: Likewise.
14401         * lib/wctype.in.h: Likewise.
14402
14403 2010-03-28  James Youngman  <jay@gnu.org>
14404
14405         save-cwd: don't leak a file descriptor when the caller execs.
14406         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
14407         saved file descriptor.
14408         * modules/save-cwd (Depends-on): Depend on cloexec.
14409
14410 2010-03-29  Bruno Haible  <bruno@clisp.org>
14411
14412         Remove vestiges of fts-lgpl module.
14413         * lib/fts_.h: Assume GNULIB_FTS is 1.
14414         * lib/fts.c: Likewise.
14415         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
14416
14417 2010-03-28  Bruno Haible  <bruno@clisp.org>
14418
14419         Fix definition of tests witness macro.
14420         * gnulib-tool (func_import): Fix definition of witness macro.
14421
14422 2010-03-28  Bruno Haible  <bruno@clisp.org>
14423
14424         Fix ioctl's protoype on glibc systems.
14425         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
14426         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
14427         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
14428         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
14429         signature. If not, arrange to replace the ioctl function.
14430         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
14431         REPLACE_IOCTL.
14432         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
14433         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
14434         Reported by Ludovic Courtès <ludo@gnu.org>.
14435
14436 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
14437
14438         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
14439         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
14440         made it so grep -r --include=GLOB* ... did not work.
14441
14442 2010-03-26  Jim Meyering  <meyering@redhat.com>
14443             Eric Blake  <eblake@redhat.com>
14444
14445         maint.mk: prohibit use of test's -o and -a operators
14446         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
14447
14448 2010-03-28  Bruno Haible  <bruno@clisp.org>
14449
14450         Remove unused GNULIB_XYZ macro definitions.
14451         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
14452         invocation.
14453
14454 2010-03-28  Bruno Haible  <bruno@clisp.org>
14455
14456         Mark privileged tests modules.
14457         * modules/idpriv-drop-tests (Status): New section.
14458         * modules/idpriv-droptemp-tests (Status): New section.
14459
14460 2010-03-28  Bruno Haible  <bruno@clisp.org>
14461
14462         Split C++ tests into separate tests modules.
14463         * modules/dirent-c++-tests: New file, extracted from
14464         modules/dirent-tests.
14465         * modules/dirent-tests: Depend on it.
14466         * modules/fcntl-h-c++-tests: New file, extracted from
14467         modules/fcntl-h-tests.
14468         * modules/fcntl-h-tests: Depend on it.
14469         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
14470         * modules/glob-tests: Depend on it.
14471         * modules/iconv-h-c++-tests: New file, extracted from
14472         modules/iconv-h-tests.
14473         * modules/iconv-h-tests: Depend on it.
14474         * modules/langinfo-c++-tests: New file, extracted from
14475         modules/langinfo-tests.
14476         * modules/langinfo-tests: Depend on it.
14477         * modules/locale-c++-tests: New file, extracted from
14478         modules/locale-tests.
14479         * modules/locale-tests: Depend on it.
14480         * modules/math-c++-tests: New file, extracted from modules/math-tests.
14481         * modules/math-tests: Depend on it.
14482         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
14483         * modules/pty-tests: Depend on it.
14484         * modules/search-c++-tests: New file, extracted from
14485         modules/search-tests.
14486         * modules/search-tests: Depend on it.
14487         * modules/signal-c++-tests: New file, extracted from
14488         modules/signal-tests.
14489         * modules/signal-tests: Depend on it.
14490         * modules/spawn-c++-tests: New file, extracted from
14491         modules/spawn-tests.
14492         * modules/spawn-tests: Depend on it.
14493         * modules/stdio-c++-tests: New file, extracted from
14494         modules/stdio-tests.
14495         * modules/stdio-tests: Depend on it.
14496         * modules/stdlib-c++-tests: New file, extracted from
14497         modules/stdlib-tests.
14498         * modules/stdlib-tests: Depend on it.
14499         * modules/string-c++-tests: New file, extracted from
14500         modules/string-tests.
14501         * modules/string-tests: Depend on it.
14502         * modules/sys_ioctl-c++-tests: New file, extracted from
14503         modules/sys_ioctl-tests.
14504         * modules/sys_ioctl-tests: Depend on it.
14505         * modules/sys_select-c++-tests: New file, extracted from
14506         modules/sys_select-tests.
14507         * modules/sys_select-tests: Depend on it.
14508         * modules/sys_socket-c++-tests: New file, extracted from
14509         modules/sys_socket-tests.
14510         * modules/sys_socket-tests: Depend on it.
14511         * modules/sys_stat-c++-tests: New file, extracted from
14512         modules/sys_stat-tests.
14513         * modules/sys_stat-tests: Depend on it.
14514         * modules/sys_time-c++-tests: New file, extracted from
14515         modules/sys_time-tests.
14516         * modules/sys_time-tests: Depend on it.
14517         * modules/time-c++-tests: New file, extracted from modules/time-tests.
14518         * modules/time-tests: Depend on it.
14519         * modules/unistd-c++-tests: New file, extracted from
14520         modules/unistd-tests.
14521         * modules/unistd-tests: Depend on it.
14522         * modules/wchar-c++-tests: New file, extracted from
14523         modules/wchar-tests.
14524         * modules/wchar-tests: Depend on it.
14525         * modules/wctype-c++-tests: New file, extracted from
14526         modules/wctype-tests.
14527         * modules/wctype-tests: Depend on it.
14528         Reported by Simon Josefsson.
14529
14530 2010-03-28  Bruno Haible  <bruno@clisp.org>
14531
14532         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
14533         * gnulib-tool (func_exists_module): New function, extracted from
14534         func_verify_module.
14535         (func_verify_module): Use it.
14536         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
14537         'foo' only if 'foo' exists.
14538         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
14539         module.
14540
14541 2010-03-28  Bruno Haible  <bruno@clisp.org>
14542
14543         gnulib-tool: Add support for special categories of tests.
14544         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
14545         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
14546         (func_usage): Document them.
14547         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
14548         inc_unportable_tests, inc_all_tests): New variables.
14549         (func_acceptable): Consider these variables.
14550         (func_modules_transitive_closure): Make it work when the 'Status' field
14551         consists of multiple words.
14552         (func_import): Store and restore the values of inc_cxx_tests,
14553         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
14554         inc_all_tests in gnulib-comp.m4.
14555         (func_create_testdir): Set inc_all_tests to true.
14556         * doc/gnulib.texi (Extra tests modules): New section.
14557         Suggested by Jim Meyering.
14558
14559 2010-03-28  Bruno Haible  <bruno@clisp.org>
14560
14561         ansi-c++-opt: Allow turning off the C++ build by default.
14562         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
14563         gl_CXX_CHOICE_DEFAULT_NO is defined.
14564         Requested by Eric Blake.
14565
14566 2010-03-28  Bruno Haible  <bruno@clisp.org>
14567
14568         unistd: Avoid #define replacements in C++ mode.
14569         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
14570         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
14571         setsockopt, shutdown, select): In C++, attach a warning to the function
14572         if possible, rather than #defining the symbol to a dysfunctional alias.
14573         Reported by John W. Eaton <jwe@gnu.org>.
14574
14575 2010-03-28  Bruno Haible  <bruno@clisp.org>
14576
14577         Fix link errors on mingw.
14578         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
14579         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
14580         $(LIBSOCKET).
14581         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
14582         $(LIBSOCKET).
14583
14584 2010-03-28  Bruno Haible  <bruno@clisp.org>
14585             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14586
14587         lib-ignore: Determine different options for different compilers.
14588         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
14589         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
14590         Add comments.
14591         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
14592         * NEWS: Mention the change.
14593
14594 2010-03-27  Bruno Haible  <bruno@clisp.org>
14595
14596         Remove unused GNULIB_XYZ macro definitions.
14597         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
14598         * modules/fseek (configure.ac): Likewise.
14599         * modules/ioctl (configure.ac): Likewise.
14600         * modules/open (configure.ac): Likewise.
14601         * modules/stdlib-safer (configure.ac): Likewise.
14602
14603 2010-03-27  Bruno Haible  <bruno@clisp.org>
14604
14605         Add a remark about certain modules.
14606         * modules/malloc (Comment): New section.
14607         * modules/realloc (Comment): Likewise.
14608         * modules/sigpipe (Comment): Likewise.
14609
14610 2010-03-27  Bruno Haible  <bruno@clisp.org>
14611
14612         Resolve conflict between the two kinds of module indicators.
14613         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
14614         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
14615         * modules/canonicalize (configure.ac): Invoke
14616         gl_MODULE_INDICATOR_FOR_TESTS.
14617         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
14618         GNULIB_XYZ.
14619         * tests/test-dirent-c++.cc: Likewise.
14620         * tests/test-dirent-safer.c: Likewise.
14621         * tests/test-dup2.c: Likewise.
14622         * tests/test-fchdir.c: Likewise.
14623         * tests/test-fcntl-h-c++.cc: Likewise.
14624         * tests/test-getopt.c: Likewise.
14625         * tests/test-getopt.h: Likewise.
14626         * tests/test-langinfo-c++.cc: Likewise.
14627         * tests/test-locale-c++.cc: Likewise.
14628         * tests/test-math-c++.cc: Likewise.
14629         * tests/test-pty-c++.cc: Likewise.
14630         * tests/test-search-c++.cc: Likewise.
14631         * tests/test-signal-c++.cc: Likewise.
14632         * tests/test-spawn-c++.cc: Likewise.
14633         * tests/test-stdio-c++.cc: Likewise.
14634         * tests/test-stdlib-c++.cc: Likewise.
14635         * tests/test-string-c++.cc: Likewise.
14636         * tests/test-sys_ioctl-c++.cc: Likewise.
14637         * tests/test-sys_select-c++.cc: Likewise.
14638         * tests/test-sys_socket-c++.cc: Likewise.
14639         * tests/test-sys_stat-c++.cc: Likewise.
14640         * tests/test-sys_time-c++.cc: Likewise.
14641         * tests/test-time-c++.cc: Likewise.
14642         * tests/test-unistd-c++.cc: Likewise.
14643         * tests/test-wchar-c++.cc: Likewise.
14644         * tests/uninorm/test-u8-nfc.c: Likewise.
14645         * tests/uninorm/test-u8-nfd.c: Likewise.
14646         * tests/uninorm/test-u8-nfkc.c: Likewise.
14647         * tests/uninorm/test-u8-nfkd.c: Likewise.
14648         * tests/uninorm/test-u16-nfc.c: Likewise.
14649         * tests/uninorm/test-u16-nfd.c: Likewise.
14650         * tests/uninorm/test-u16-nfkc.c: Likewise.
14651         * tests/uninorm/test-u16-nfkd.c: Likewise.
14652         * tests/uninorm/test-u32-nfc.c: Likewise.
14653         * tests/uninorm/test-u32-nfc-big.c: Likewise.
14654         * tests/uninorm/test-u32-nfd.c: Likewise.
14655         * tests/uninorm/test-u32-nfd-big.c: Likewise.
14656         * tests/uninorm/test-u32-nfkc.c: Likewise.
14657         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
14658         * tests/uninorm/test-u32-nfkd.c: Likewise.
14659         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
14660         * tests/uninorm/test-u32-normalize-big.c: Likewise.
14661
14662 2010-03-27  Bruno Haible  <bruno@clisp.org>
14663
14664         Distinguish two kinds of module indicators.
14665         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
14666         gl_MODULE_INDICATOR.
14667         (gl_MODULE_INDICATOR): New macro.
14668         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
14669         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
14670         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14671         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14672         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14673         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14674         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14675         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14676         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14677         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14678         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14679         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14680         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14681         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14682         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14683         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14684         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14685         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14686         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14687         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14688         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14689         * modules/cloexec (configure.ac): Likewise.
14690         * modules/getopt-gnu (configure.ac): Likewise.
14691         * modules/uninorm/u8-normalize (configure.ac): Likewise.
14692         * modules/uninorm/u16-normalize (configure.ac): Likewise.
14693         * modules/uninorm/u32-normalize (configure.ac): Likewise.
14694         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
14695
14696 2010-03-27  Bruno Haible  <bruno@clisp.org>
14697
14698         New module description field 'Comment'.
14699         * gnulib-tool: New option --extract-comment.
14700         (func_usage): Document it.
14701         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
14702         (func_get_comment): New function.
14703         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
14704
14705 2010-03-27  Bruno Haible  <bruno@clisp.org>
14706
14707         Addendum to 2010-02-07 commit.
14708         * gnulib-tool (func_usage): Document --extract-applicability option.
14709
14710 2010-03-27  Bruno Haible  <bruno@clisp.org>
14711
14712         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
14713         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
14714         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
14715         rather than link errors.
14716
14717 2010-03-27  Bruno Haible  <bruno@clisp.org>
14718
14719         Avoid side effects from tests-related modules on the compilation of lib.
14720         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
14721         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
14722         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
14723         parameter. Emit into AM_CPPFLAGS a definition of the designated C
14724         macro.
14725         (func_import): Define a witness macro. Assign it a value that depends
14726         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
14727         tests-related modules.
14728         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
14729         Reported by Jim Meyering.
14730
14731 2010-03-27  Bruno Haible  <bruno@clisp.org>
14732
14733         Factorize common .m4 code.
14734         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
14735         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
14736         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
14737         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
14738         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
14739         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
14740         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
14741         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
14742         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
14743         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
14744         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
14745         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
14746         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
14747         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
14748         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
14749         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
14750         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
14751         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
14752         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
14753         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
14754         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
14755         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
14756         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
14757         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
14758         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
14759         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
14760         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
14761         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
14762         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
14763         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
14764         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
14765         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
14766
14767 2010-03-27  Bruno Haible  <bruno@clisp.org>
14768
14769         Fix a compilation error on Cygwin with g++ >= 4.3.
14770         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
14771         if it is undefined or if we alias it to chmod.
14772         (lstat): Don't warn about the use of this function if it is undefined
14773         or if we alias it to stat.
14774         Reported by Simon Josefsson.
14775
14776 2010-03-27  Bruno Haible  <bruno@clisp.org>
14777
14778         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
14779         * modules/getlogin (configure.ac): Update.
14780
14781         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
14782         * modules/getlogin_r (configure.ac): Update.
14783
14784         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
14785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
14786         * modules/inet_ntop (configure.ac): Update.
14787
14788         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
14789         * modules/inet_pton (configure.ac): Update.
14790
14791         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
14792         * modules/mbslen (configure.ac): Update.
14793
14794         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
14795         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
14796         * modules/forkpty (configure.ac): Update.
14797         * modules/openpty (configure.ac): Update.
14798
14799 2010-03-26  Simon Josefsson  <simon@josefsson.org>
14800
14801         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
14802         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
14803
14804 2010-03-25  Eric Blake  <eblake@redhat.com>
14805
14806         maint: use pragma consistently across replacement headers
14807         * lib/ctype.in.h (system_header): Hoist for consistent placement.
14808         * lib/dirent.in.h (system_header): Likewise.
14809         * lib/errno.in.h (system_header): Likewise.
14810         * lib/float.in.h (system_header): Likewise.
14811         * lib/getopt.in.h (system_header): Likewise.
14812         * lib/iconv.in.h (system_header): Likewise.
14813         * lib/inttypes.in.h (system_header): Likewise.
14814         * lib/langinfo.in.h (system_header): Likewise.
14815         * lib/locale.in.h (system_header): Likewise.
14816         * lib/math.in.h (system_header): Likewise.
14817         * lib/netdb.in.h (system_header): Likewise.
14818         * lib/netinet_in.in.h (system_header): Likewise.
14819         * lib/pty.in.h (system_header): Likewise.
14820         * lib/sched.in.h (system_header): Likewise.
14821         * lib/se-selinux.in.h (system_header): Likewise.
14822         * lib/search.in.h (system_header): Likewise.
14823         * lib/spawn.in.h (system_header): Likewise.
14824         * lib/stdarg.in.h (system_header): Likewise.
14825         * lib/stdint.in.h (system_header): Likewise.
14826         * lib/string.in.h (system_header): Likewise.
14827         * lib/strings.in.h (system_header): Likewise.
14828         * lib/sys_file.in.h (system_header): Likewise.
14829         * lib/sys_ioctl.in.h (system_header): Likewise.
14830         * lib/sys_socket.in.h (system_header): Likewise.
14831         * lib/sys_times.in.h (system_header): Likewise.
14832         * lib/sys_utsname.in.h (system_header): Likewise.
14833         * lib/sys_wait.in.h (system_header): Likewise.
14834         * lib/sysexits.in.h (system_header): Likewise.
14835         * lib/unistd.in.h (system_header): Likewise.
14836         * lib/wctype.in.h (system_header): Likewise.
14837
14838         arpa/inet: fix mingw compilation warning
14839         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
14840         Reported by Matthew Bolte.
14841
14842 2010-03-25  Bruno Haible  <bruno@clisp.org>
14843
14844         Avoid collision between gnulib wrapper and libintl wrapper.
14845         * lib/printf.c (printf): Don't define if a printf wrapper is already
14846         defined in intl/printf.c.
14847         Reported by Michel Boaventura <michel@michelboaventura.com>.
14848
14849 2010-03-25  Bruno Haible  <bruno@clisp.org>
14850
14851         Use ANSI C.
14852         * lib/readutmp.h (getutent): Provide ANSI C prototype.
14853
14854 2010-03-25  Bruno Haible  <bruno@clisp.org>
14855
14856         Minor formatting changes.
14857         * lib/acosl.c: Insert space before function argument list.
14858         * lib/argz.c: Likewise.
14859         * lib/asinl.c: Likewise.
14860         * lib/expl.c: Likewise.
14861         * lib/gen-uni-tables.c: Likewise.
14862         * lib/gettext.h: Likewise.
14863         * lib/glthread/lock.h: Likewise.
14864         * lib/tanl.c: Likewise.
14865         * lib/uniname/uniname.c: Likewise.
14866         * tests/test-idpriv-drop.c: Likewise.
14867         * tests/test-idpriv-droptemp.c: Likewise.
14868         * tests/test-lock.c: Likewise.
14869         * tests/test-tls.c: Likewise.
14870         * lib/argp-help.c: Insert space before function-like macro argument
14871         list.
14872         * lib/memcmp.c: Likewise.
14873         * tests/test-base64.c: Likewise.
14874         * lib/localename.c: Insert space before sizeof's argument list.
14875         * lib/safe-alloc.h: Likewise.
14876         * lib/file-set.h: Insert space before macro argument list.
14877         * tests/test-argp.c: Likewise.
14878         * lib/argp-namefrob.h: Insert space before function parameter list.
14879         * lib/getaddrinfo.c: Likewise.
14880         * lib/netdb.in.h: Likewise.
14881         * lib/parse-duration.h: Likewise.
14882         * lib/parse-duration.c: Likewise.
14883         * lib/poll.c: Likewise.
14884         * lib/select.c: Likewise.
14885         * lib/trim.h: Likewise.
14886         * tests/test-usleep.c: Likewise.
14887         * lib/ldexpl.c: Insert space before function parameter list and before
14888         function argument list.
14889         * lib/logl.c: Likewise.
14890         * lib/sqrtl.c: Likewise.
14891         * lib/trim.c: Likewise.
14892         * lib/cosl.c: Use GNU style indentation. Insert space before function
14893         argument list.
14894         * lib/sinl.c: Likewise.
14895         * lib/tsearch.c: Insert space after 'for'.
14896         Reported by Jim Meyering.
14897
14898 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
14899
14900         * maint.mk (sc_Wundef_boolean): Check for the presence of the
14901         config header before grepping, as it's not present before
14902         autoreconf/configure are run.  Reported by Simon Josefsson.
14903
14904 2010-03-23  Bruno Haible  <bruno@clisp.org>
14905
14906         pt_chown: Make it work with automake < 1.11.
14907         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
14908         Reported by Simon Josefsson.
14909
14910 2010-03-23  Bruno Haible  <bruno@clisp.org>
14911
14912         pt_chown: Don't depend on GPLed modules.
14913         * lib/pt_chown.c: Don't include idpriv.h.
14914         (main): Don't drop privileges.
14915         * modules/pt_chown (Depends-on): Remove idpriv-drop.
14916         Reported by Simon Josefsson.
14917
14918 2010-03-24  Simon Josefsson  <simon@josefsson.org>
14919
14920         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
14921         suggestions from karl@freefriends.org (Karl Berry).
14922
14923 2010-03-22  Eric Blake  <eblake@redhat.com>
14924
14925         gethostname: further tweaks
14926         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
14927         are overriding gethostname.
14928         Suggested by Bruno Haible.
14929
14930 2010-03-21  Bruno Haible  <bruno@clisp.org>
14931
14932         Fix comments.
14933         * lib/forkpty.c (rpl_forkpty): Fix comment.
14934         * lib/openpty.c (rpl_openpty): Likewise.
14935         Reported by Eric Blake.
14936
14937 2010-03-22  Eric Blake  <eblake@redhat.com>
14938
14939         gethostname: fix build on mingw
14940         * lib/unistd.in.h (includes): Work around fact that mingw
14941         <winsock2.h> re-includes <unistd.h>, by avoiding any
14942         redeclarations if we are being included by <winsock2.h>.
14943         Reported by Matthias Bolte.
14944
14945 2010-03-21  Bruno Haible  <bruno@clisp.org>
14946
14947         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14948         * lib/forkpty.c (forkpty): New replacement function, from glibc with
14949         modifications.
14950         * lib/pty.in.h (forkpty): Update declaration. Add comments.
14951         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
14952         provide the replacement.
14953         * modules/forkpty (Depends-on): Add openpty, login_tty.
14954         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
14955         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
14956         * doc/glibc-functions/forkpty.texi: More supported platforms.
14957         * config/srclist.txt: Add forkpty.c (commented).
14958
14959 2010-03-21  Bruno Haible  <bruno@clisp.org>
14960
14961         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
14962         (Makefile.am): Verify that PTY_LIB is defined.
14963
14964         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
14965
14966 2010-03-21  Bruno Haible  <bruno@clisp.org>
14967
14968         Tests for module 'login_tty'.
14969         * modules/login_tty-tests: New file.
14970         * tests/test-login_tty.c: New file.
14971
14972         New module 'login_tty'.
14973         * lib/login_tty.c: New file.
14974         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
14975         * modules/login_tty: New file.
14976         * doc/glibc-functions/login_tty.texi: Mention the new module.
14977
14978 2010-03-21  Bruno Haible  <bruno@clisp.org>
14979
14980         login_tty: Documentation.
14981         * doc/glibc-functions/login_tty.texi: New file.
14982         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
14983
14984 2010-03-21  Bruno Haible  <bruno@clisp.org>
14985
14986         pty: Consistent macro naming.
14987         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
14988         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
14989         * modules/pty (configure.ac): Update.
14990
14991 2010-03-21  Bruno Haible  <bruno@clisp.org>
14992
14993         Tests for openpty: Make stricter.
14994         * tests/test-openpty.c (main): Add test of canonical processing and
14995         erase.
14996         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
14997
14998         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
14999         * lib/openpty.c (openpty): New replacement function.
15000         * lib/pty.in.h: Include <termios.h>.
15001         (openpty): Update declaration. Add comments.
15002         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
15003         is not declared, arrange to provide the replacement. Check for _getpty
15004         and posix_openpt.
15005         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
15006         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
15007         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
15008         * modules/pty-tests (test_pty_c___LDADD): New variable.
15009         * doc/glibc-functions/openpty.texi: More supported platforms.
15010
15011 2010-03-21  Bruno Haible  <bruno@clisp.org>
15012
15013         setenv: Tweaks.
15014         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
15015         the test program.
15016         * doc/posix-functions/setenv.texi: Update platforms list.
15017
15018 2010-03-21  Bruno Haible  <bruno@clisp.org>
15019
15020         New module 'unlockpt'.
15021         * lib/unlockpt.c: New file, from glibc with modifications.
15022         * m4/unlockpt.m4: New file.
15023         * modules/unlockpt: New file.
15024         * lib/stdlib.in.h (unlockpt): New declaration.
15025         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
15026         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
15027         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
15028         HAVE_UNLOCKPT.
15029         * doc/posix-functions/unlockpt.texi: Mention the new module.
15030         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
15031         * config/srclist.txt: Add unlockpt.c (commented).
15032
15033 2010-03-21  Jim Meyering  <meyering@redhat.com>
15034
15035         maint.mk: prohibit inclusion of "intprops.h" without use
15036         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
15037
15038 2010-03-21  Bruno Haible  <bruno@clisp.org>
15039
15040         New module 'grantpt'.
15041         * lib/grantpt.c: New file, from glibc with modifications.
15042         * m4/grantpt.m4: New file.
15043         * modules/grantpt: New file.
15044         * lib/stdlib.in.h (grantpt): New declaration.
15045         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
15046         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
15047         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
15048         HAVE_GRANTPT.
15049         * doc/posix-functions/grantpt.texi: Mention the new module.
15050         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
15051         * config/srclist.txt: Add grantpt.c (commented).
15052
15053 2010-03-21  Bruno Haible  <bruno@clisp.org>
15054
15055         New module 'pt_chown'.
15056         * lib/pt_chown.c: New file, from glibc with modifications.
15057         * lib/pty-private.h: New file, from glibc with modifications.
15058         * modules/pt_chown: New file.
15059         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
15060
15061 2010-03-21  Bruno Haible  <bruno@clisp.org>
15062
15063         Tests for module 'ptsname'.
15064         * modules/ptsname-tests: New file.
15065         * tests/test-ptsname.c: New file.
15066
15067         New module 'ptsname'.
15068         * lib/ptsname.c: New file, from glibc with modifications.
15069         * m4/ptsname.m4: New file.
15070         * modules/ptsname: New file.
15071         * lib/stdlib.in.h (ptsname): New declaration.
15072         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
15073         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
15074         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
15075         HAVE_PTSNAME.
15076         * doc/posix-functions/ptsname.texi: Mention the new module.
15077         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
15078         * config/srclist.txt: Add ptsname.c (commented).
15079
15080 2010-03-21  Bruno Haible  <bruno@clisp.org>
15081
15082         Tests for module 'ttyname_r'.
15083         * modules/ttyname_r-tests: New file.
15084         * tests/test-ttyname_r.c: New file.
15085
15086         New module 'ttyname_r'.
15087         * lib/ttyname_r.c: New file.
15088         * m4/ttyname_r.m4: New file.
15089         * modules/ttyname_r: New file.
15090         * lib/unistd.in.h (ttyname_r): New declaration.
15091         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
15092         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
15093         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
15094         HAVE_TTYNAME_R.
15095         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
15096         * doc/posix-functions/ttyname_r.texi: Mention the new module.
15097
15098 2010-03-20  Bruno Haible  <bruno@clisp.org>
15099
15100         signal: Undefine macro definitions in C++ mode.
15101         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
15102         sigfillset): Undefine macro definitions from the system header in C++
15103         mode.
15104         Reported by John W. Eaton <jwe@gnu.org>.
15105
15106 2010-03-20  Bruno Haible  <bruno@clisp.org>
15107
15108         Ensure no #include statements inside extern "C" { ... }.
15109         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
15110         contain #include statements.
15111         * lib/time.in.h: Likewise.
15112
15113 2010-03-20  Bruno Haible  <bruno@clisp.org>
15114
15115         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
15116         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
15117         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
15118         Reported by John W. Eaton <jwe@gnu.org>.
15119
15120 2010-03-20  Bruno Haible  <bruno@clisp.org>
15121
15122         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
15123         Reported by Jim Meyering.
15124
15125 2010-03-20  Bruno Haible  <bruno@clisp.org>
15126
15127         pipe: Set errno upon failure.
15128         * lib/pipe.h: Specify that when -1 is returned, errno is set.
15129         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
15130         errno value in error message.
15131
15132 2010-03-20  Bruno Haible  <bruno@clisp.org>
15133             Jim Meyering  <meyering@redhat.com>
15134
15135         lchown: Avoid "unused variable" warning.
15136         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
15137
15138 2010-03-20  Bruno Haible  <bruno@clisp.org>
15139
15140         Work around unlink() bug on MacOS X 10.5.6.
15141         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
15142         attempting to unlink a parent directory.
15143         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
15144         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
15145         activate for the replacement function.
15146         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
15147
15148 2010-03-20  Bruno Haible  <bruno@clisp.org>
15149
15150         Fix link errors on Solaris 8.
15151         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
15152         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
15153
15154 2010-03-19  Jim Meyering  <meyering@redhat.com>
15155
15156         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
15157         The _LIBC implementation of build_range_exp correctly honors the
15158         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
15159         However, the non-_LIBC implementation would ignore that syntax-bit
15160         flag and return REG_ERANGE unconditionally.
15161         This change makes it honor that flag.
15162         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
15163         Make two pointer parameters "const".
15164         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
15165         (parse_bracket_exp): Update caller.
15166
15167         regex.m4: correct the reversed range endpoint ([b-a]) test
15168         * m4/regex.m4: When requiring that [b-a] evoke failure,
15169         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
15170         test pass once again for x86-based systems.
15171
15172 2010-03-19  Bruno Haible  <bruno@clisp.org>
15173
15174         scandir: Fix link error on Solaris 8.
15175         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
15176         macros.
15177
15178 2010-03-19  Bruno Haible  <bruno@clisp.org>
15179
15180         getusershell: Fix documentation.
15181         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
15182         module.
15183         * doc/glibc-functions/setusershell.texi: Likewise.
15184
15185         getusershell: Provide declaration, missing on Solaris 9.
15186         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
15187         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
15188         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
15189         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
15190         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
15191         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
15192         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
15193         HAVE_GETUSERSHELL.
15194         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
15195
15196 2010-03-19  Bruno Haible  <bruno@clisp.org>
15197
15198         wctype: Provide iswblank function.
15199         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
15200         exists and is fine.
15201         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
15202         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
15203         * tests/test-wctype.c (main): Re-enable the iswblank tests.
15204         * doc/posix-functions/iswblank.texi: Update.
15205
15206 2010-03-19  Bruno Haible  <bruno@clisp.org>
15207
15208         Tests of module 'pty' in C++ mode.
15209         * modules/pty-tests: New file.
15210         * tests/test-pty-c++.cc: New file.
15211         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15212
15213 2010-03-19  Eric Blake  <eblake@redhat.com>
15214
15215         logb: fix documentation
15216         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
15217         1.5 declaration bug.
15218
15219         forkpty, openpty: prefer glibc's const-safe prototype
15220         * lib/forkpty.c (rpl_forkpty): New file.
15221         * lib/openpty.c (rpl_openpty): Likewise.
15222         * modules/forkpty (Files): Distribute it.
15223         * modules/openpty (Files): Likewise.
15224         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
15225         check...
15226         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
15227         replacement for for non-const BSD signature.
15228         * modules/pty (Makefile.am): Substitute witnesses.
15229         * lib/pty.in.h (forkpty, openpty): Declare replacements.
15230         * tests/test-forkpty.c: Update signature check.
15231         * tests/test-openpty.c: Likewise.
15232         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
15233         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15234
15235         forkpty, openpty: split functions into new modules
15236         * modules/pty (Makefile.am): Substitute new witnesses.
15237         (Libraries): Move library detection...
15238         * modules/forkpty: ...into new module.
15239         * modules/openpty: Another new module.
15240         * modules/pty-tests: Rename and split...
15241         * modules/forkpty-tests: ...to this...
15242         * modules/openpty-tests: ...and this.
15243         * tests/test-pty.c: Rename and split...
15244         * tests/test-forkpty.c: ...to this...
15245         * tests/test-openpty.c: ...and this.
15246         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
15247         (gl_PTY): Split library searching...
15248         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
15249         (gl_FORKPTY, gl_OPENPTY): New macros.
15250         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
15251         * NEWS: Mention the split.
15252         * MODULES.html.sh (Misc): Document the modules.
15253         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
15254         * doc/glibc-functions/openpty.texi (openpty): Likewise.
15255
15256         pty: improve replacement header
15257         * lib/pty.in.h: New file.
15258         * modules/pty (Files): Ship it.
15259         (Makefile.am): Always build replacement.
15260         * m4/pty.m4: Rename...
15261         * m4/pty_h.m4: ...to this.
15262         (gl_PTY): Modernize setting of witness macros; update check of
15263         forkpty to take proper advantage of cache.
15264         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
15265
15266         getopt: avoid compiler warning
15267         * lib/getopt.c (attribute_hidden): Remove unused macro.
15268
15269 2010-03-18  Bruno Haible  <bruno@clisp.org>
15270
15271         Fix link errors on Solaris 8.
15272         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
15273         * modules/search-tests (test_search_c___LDADD): Likewise.
15274         * modules/signal-tests (test_signal_c___LDADD): Likewise.
15275         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
15276         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
15277         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
15278         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
15279         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
15280         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
15281
15282 2010-03-18  Bruno Haible  <bruno@clisp.org>
15283
15284         Fix bug introduced on 2010-03-14.
15285         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
15286         (gl_SPAWN_H): Require it.
15287         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
15288         Reported by Simon Josefsson.
15289
15290 2010-03-18  Bruno Haible  <bruno@clisp.org>
15291
15292         Fix typo introduced on 2009-12-31.
15293         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
15294         posix_spawn_file_actions_adddup2.
15295
15296 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
15297         and Eric Blake  <eblake@redhat.com>
15298
15299         test-vc-list-files-git: make more robust
15300         * tests/test-vc-list-files-git.sh: Unset problematic environment
15301         variables.  Chain commands together.
15302
15303 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
15304
15305         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
15306         `AC_CHECK_DECL' invocation.
15307
15308 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
15309
15310         * lib/inttostr.c (inttostr): Make sure the invocation of verify
15311         appears before executable statements. Suggested by Petr Sumbera
15312         <Petr.Sumbera@Sun.COM>.
15313
15314 2010-03-14  Bruno Haible  <bruno@clisp.org>
15315
15316         * tests/test-flock.c (test_exclusive): Comment out a test that causes
15317         portability problems. Instead use a simpler test.
15318         (main): Check that invalid arguments are rejected only on Linux.
15319
15320 2010-03-14  Bruno Haible  <bruno@clisp.org>
15321
15322         Fix bug introduced on 2009-12-31.
15323         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
15324         gl_PREREQ_SYS_H_WINSOCK2 always.
15325         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
15326         SYS_SOCKET_H variable.
15327         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
15328         Update comments.
15329         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
15330         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
15331         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
15332         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15333         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
15334
15335 2010-03-14  Bruno Haible  <bruno@clisp.org>
15336
15337         Fix values returned by sinl, cosl.
15338         * lib/trigl.h: Add specification comments.
15339         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
15340         that combines the values from the precomputed table with the values of
15341         the Chebyshev polynomials.
15342
15343 2010-03-14  Bruno Haible  <bruno@clisp.org>
15344
15345         Fix compilation error when modules 'posix_spawn[p]' are not used.
15346         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
15347         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
15348
15349 2010-03-14  Bruno Haible  <bruno@clisp.org>
15350
15351         Fix compilation error on mingw when module 'time_r' is not used.
15352         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
15353         is 1.
15354         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
15355         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
15356         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
15357         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
15358
15359 2010-03-14  Bruno Haible  <bruno@clisp.org>
15360
15361         Fix compilation error with Sun C.
15362         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
15363         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
15364         instead of GCC specific ULONG_LONG_MAX.
15365         * lib/xstrtoll.c: Likewise.
15366         * lib/xstrtoull.c: Likewise.
15367
15368 2010-03-13  Bruno Haible  <bruno@clisp.org>
15369
15370         Allow the user to disable C++ code and tests.
15371         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
15372         (gl_PROG_ANSI_CXX): Require it.
15373
15374 2010-03-13  Bruno Haible  <bruno@clisp.org>
15375
15376         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
15377         cases.
15378
15379 2010-03-13  Bruno Haible  <bruno@clisp.org>
15380
15381         Test that gnulib does not break the standard C++ headers.
15382         * tests/test-locale-c++2.cc: New file.
15383         * modules/locale-tests (Files): Add it.
15384         (Makefile.am): Compile it for test-locale-c++.
15385         * tests/test-math-c++2.cc: New file.
15386         * modules/math-tests (Files): Add it.
15387         (Makefile.am): Compile it for test-math-c++.
15388         * tests/test-signal-c++2.cc: New file.
15389         * modules/signal-tests (Files): Add it.
15390         (Makefile.am): Compile it for test-signal-c++.
15391         * tests/test-stdio-c++2.cc: New file.
15392         * modules/stdio-tests (Files): Add it.
15393         (Makefile.am): Compile it for test-stdio-c++.
15394         * tests/test-stdlib-c++2.cc: New file.
15395         * modules/stdlib-tests (Files): Add it.
15396         (Makefile.am): Compile it for test-stdlib-c++.
15397         * tests/test-string-c++2.cc: New file.
15398         * modules/string-tests (Files): Add it.
15399         (Makefile.am): Compile it for test-string-c++.
15400         * tests/test-time-c++2.cc: New file.
15401         * modules/time-tests (Files): Add it.
15402         (Makefile.am): Compile it for test-time-c++.
15403         Reported by John W. Eaton <jwe@gnu.org>.
15404
15405 2010-03-13  Bruno Haible  <bruno@clisp.org>
15406
15407         * gnulib-tool (func_usage): Clarify which options are available for
15408         --create-testdir and --create-megatestdir.
15409
15410 2010-03-13  Bruno Haible  <bruno@clisp.org>
15411
15412         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
15413         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
15414         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
15415         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
15416         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
15417         when appropriate.
15418         Reported by Jim Meyering.
15419
15420 2010-03-12  Simon Josefsson  <simon@josefsson.org>
15421
15422         * gnulib-tool (func_import): Explain origin of code.
15423
15424 2010-03-12  Bruno Haible  <bruno@clisp.org>
15425
15426         Fix problem with automake's definition of CXXLINK.
15427         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
15428         Reported by Simon Josefsson and Ludovic Courtès.
15429
15430 2010-03-12  Bruno Haible  <bruno@clisp.org>
15431
15432         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
15433         stable releases.
15434
15435 2010-03-11  Bruno Haible  <bruno@clisp.org>
15436
15437         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
15438         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
15439         whether the system provides one variant or multiple variants of the
15440         function.
15441         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
15442         C++ compilers.
15443         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
15444         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
15445         Reported by Jim Meyering.
15446
15447 2010-03-09  Simon Josefsson  <simon@josefsson.org>
15448
15449         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
15450
15451 2010-03-08  Bruno Haible  <bruno@clisp.org>
15452
15453         gnulib-tool: Add support for --libtool in --create-testdir.
15454         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
15455         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
15456
15457 2010-03-08  Eric Blake  <eblake@redhat.com>
15458
15459         gnulib-tool.texi: mention possibility of git submodule
15460         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
15461         submodules.
15462         * doc/.gitignore: Ignore another generated file.
15463
15464 2010-03-08  Karl Berry  <karl@gnu.org>
15465
15466         * doc/gnulib-tool.texi (VCS Issues): Mention third option
15467         of committing gnulib files while skipping others.
15468
15469 2010-03-07  Bruno Haible  <bruno@clisp.org>
15470
15471         Tests of module 'wctype' in C++ mode.
15472         * tests/test-wctype-c++.cc: New file.
15473         * modules/wctype-tests (Files): Add it and tests/signature.h.
15474         (Depends-on): Add ansi-c++-opt.
15475         (Makefile.am): Arrange to compile and run test-wctype-c++.
15476
15477         Tests of module 'wchar' in C++ mode.
15478         * tests/test-wchar-c++.cc: New file.
15479         * modules/wchar-tests (Files): Add it and tests/signature.h.
15480         (Depends-on): Add ansi-c++-opt.
15481         (Makefile.am): Arrange to compile and run test-wchar-c++.
15482         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
15483         gl_MODULE_INDICATOR.
15484
15485         Tests of module 'unistd' in C++ mode.
15486         * tests/test-unistd-c++.cc: New file.
15487         * modules/unistd-tests (Files): Add it and tests/signature.h.
15488         (Depends-on): Add ansi-c++-opt.
15489         (Makefile.am): Arrange to compile and run test-unistd-c++.
15490         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
15491         gl_MODULE_INDICATOR.
15492
15493         Tests of module 'time' in C++ mode.
15494         * tests/test-time-c++.cc: New file.
15495         * modules/time-tests (Files): Add it and tests/signature.h.
15496         (Depends-on): Add ansi-c++-opt.
15497         (Makefile.am): Arrange to compile and run test-time-c++.
15498         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15499
15500         Tests of module 'sys_time' in C++ mode.
15501         * tests/test-sys_time-c++.cc: New file.
15502         * modules/sys_time-tests (Files): Add it and tests/signature.h.
15503         (Depends-on): Add ansi-c++-opt.
15504         (Makefile.am): Arrange to compile and run test-sys_time-c++.
15505         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
15506         gl_MODULE_INDICATOR.
15507
15508         Tests of module 'sys_stat' in C++ mode.
15509         * tests/test-sys_stat-c++.cc: New file.
15510         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
15511         (Depends-on): Add ansi-c++-opt.
15512         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
15513         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
15514         gl_MODULE_INDICATOR.
15515
15516         Tests of module 'sys_socket' in C++ mode.
15517         * tests/test-sys_socket-c++.cc: New file.
15518         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
15519         (Depends-on): Add ansi-c++-opt.
15520         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
15521         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
15522         gl_MODULE_INDICATOR.
15523
15524         Tests of module 'sys_select' in C++ mode.
15525         * tests/test-sys_select-c++.cc: New file.
15526         * modules/sys_select-tests (Files): Add it and tests/signature.h.
15527         (Depends-on): Add ansi-c++-opt.
15528         (Makefile.am): Arrange to compile and run test-sys_select-c++.
15529         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
15530         gl_MODULE_INDICATOR.
15531
15532         Tests of module 'sys_ioctl' in C++ mode.
15533         * tests/test-sys_ioctl-c++.cc: New file.
15534         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
15535         (Depends-on): Add ansi-c++-opt.
15536         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
15537         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
15538         gl_MODULE_INDICATOR.
15539
15540         Tests of module 'string' in C++ mode.
15541         * tests/test-string-c++.cc: New file.
15542         * modules/string-tests (Files): Add it and tests/signature.h.
15543         (Depends-on): Add ansi-c++-opt.
15544         (Makefile.am): Arrange to compile and run test-string-c++.
15545         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
15546         gl_MODULE_INDICATOR.
15547
15548         Tests of module 'stdlib' in C++ mode.
15549         * tests/test-stdlib-c++.cc: New file.
15550         * modules/stdlib-tests (Files): Add it and tests/signature.h.
15551         (Depends-on): Add ansi-c++-opt.
15552         (Makefile.am): Arrange to compile and run test-stdlib-c++.
15553         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
15554         gl_MODULE_INDICATOR.
15555
15556         Tests of module 'stdio' in C++ mode.
15557         * tests/test-stdio-c++.cc: New file.
15558         * modules/stdio-tests (Files): Add it and tests/signature.h.
15559         (Depends-on): Add ansi-c++-opt.
15560         (Makefile.am): Arrange to compile and run test-stdio-c++.
15561         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
15562         gl_MODULE_INDICATOR.
15563
15564         Tests of module 'spawn' in C++ mode.
15565         * tests/test-spawn-c++.cc: New file.
15566         * modules/spawn-tests (Files): Add it and tests/signature.h.
15567         (Depends-on): Add ansi-c++-opt.
15568         (Makefile.am): Arrange to compile and run test-spawn-c++.
15569         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
15570         gl_MODULE_INDICATOR.
15571
15572         Tests of module 'signal' in C++ mode.
15573         * tests/test-signal-c++.cc: New file.
15574         * modules/signal-tests (Files): Add it and tests/signature.h.
15575         (Depends-on): Add ansi-c++-opt.
15576         (Makefile.am): Arrange to compile and run test-signal-c++.
15577         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
15578         gl_MODULE_INDICATOR.
15579
15580         Tests of module 'search' in C++ mode.
15581         * tests/test-search-c++.cc: New file.
15582         * modules/search-tests (Files): Add it and tests/signature.h.
15583         (Depends-on): Add ansi-c++-opt.
15584         (Makefile.am): Arrange to compile and run test-search-c++.
15585         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
15586         gl_MODULE_INDICATOR.
15587
15588         Tests of module 'math' in C++ mode.
15589         * tests/test-math-c++.cc: New file.
15590         * modules/math-tests (Files): Add it and tests/signature.h.
15591         (Depends-on): Add ansi-c++-opt.
15592         (Makefile.am): Arrange to compile and run test-math-c++.
15593         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
15594
15595         Tests of module 'locale' in C++ mode.
15596         * tests/test-locale-c++.cc: New file.
15597         * modules/locale-tests (Files): Add it and tests/signature.h.
15598         (Depends-on): Add ansi-c++-opt.
15599         (Makefile.am): Arrange to compile and run test-locale-c++.
15600         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
15601         gl_MODULE_INDICATOR.
15602
15603         Tests of module 'langinfo' in C++ mode.
15604         * tests/test-langinfo-c++.cc: New file.
15605         * modules/langinfo-tests (Files): Add it and tests/signature.h.
15606         (Depends-on): Add ansi-c++-opt.
15607         (Makefile.am): Arrange to compile and run test-langinfo-c++.
15608         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
15609         gl_MODULE_INDICATOR.
15610
15611         Tests of module 'iconv-h' in C++ mode.
15612         * tests/test-iconv-h-c++.cc: New file.
15613         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
15614         (Depends-on): Add ansi-c++-opt.
15615         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
15616
15617         Tests of module 'glob' in C++ mode.
15618         * tests/test-glob-c++.cc: New file.
15619         * modules/glob-tests (Files): Add it.
15620         (Depends-on): Add ansi-c++-opt.
15621         (Makefile.am): Arrange to compile and run test-glob-c++.
15622
15623         Tests of module 'fcntl-h' in C++ mode.
15624         * tests/test-fcntl-h-c++.cc: New file.
15625         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
15626         (Depends-on): Add ansi-c++-opt.
15627         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
15628         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
15629         gl_MODULE_INDICATOR.
15630
15631         Tests of module 'dirent' in C++ mode.
15632         * tests/test-dirent-c++.cc: New file.
15633         * modules/dirent-tests (Files): Add it and tests/signature.h.
15634         (Depends-on): Add ansi-c++-opt.
15635         (Makefile.am): Arrange to compile and run test-dirent-c++.
15636         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
15637         gl_MODULE_INDICATOR.
15638
15639         New module 'ansi-c++-opt'.
15640         * modules/ansi-c++-opt: New file.
15641         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
15642
15643         Document C++ namespace mode.
15644         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
15645
15646         wctype: Avoid #define replacements in C++ mode.
15647         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
15648         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
15649         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
15650         In C++, define a namespaced alias symbol.
15651         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
15652         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
15653         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
15654         rule.
15655
15656         wchar: Avoid #define replacements in C++ mode.
15657         * lib/wchar.in.h: Include c++defs.h.
15658         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
15659         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
15660         symbol.
15661         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
15662         * modules/wchar (Depends-on): Add c++defs.
15663         (Makefile.am): Update wchar.h rule.
15664
15665         unistd: Avoid #define replacements in C++ mode.
15666         * lib/unistd.in.h: Include c++defs.h.
15667         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
15668         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
15669         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
15670         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
15671         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
15672         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
15673         symbol.
15674         (environ): Update.
15675         * modules/unistd (Depends-on): Add c++defs.
15676         (Makefile.am): Update unistd.h rule.
15677
15678         time: Avoid #define replacements in C++ mode.
15679         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
15680         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
15681         define a namespaced alias symbol.
15682         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
15683         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
15684         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
15685         * modules/time (Depends-on): Add c++defs, warn-on-use.
15686         (Makefile.am): Update time.h rule.
15687         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
15688         * modules/nanosleep (configure.ac): Likewise.
15689         * modules/strptime (configure.ac): Likewise.
15690         * modules/timegm (configure.ac): Likewise.
15691
15692         sys_time: Avoid #define replacements in C++ mode.
15693         * lib/sys_time.in.h: Include c++defs.h.
15694         (gettimeofday): In C++, define a namespaced alias symbol.
15695         * modules/sys_time (Depends-on): Add c++defs.
15696         (Makefile.am): Update sys/time.h rule.
15697
15698         sys_stat: Avoid #define replacements in C++ mode.
15699         * lib/sys_stat.in.h: Include c++defs.h.
15700         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
15701         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
15702         namespaced alias symbol.
15703         In C++, define a namespaced alias symbol.
15704         * modules/sys_stat (Depends-on): Add c++defs.
15705         (Makefile.am): Update sys/stat.h rule.
15706
15707         sys_socket: Avoid #define replacements in C++ mode.
15708         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
15709         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
15710         definitions also when the system has a <sys/socket.h>.
15711         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15712         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
15713         In C++, define a namespaced alias symbol.
15714         * modules/sys_socket (Depends-on): Add c++defs.
15715         (Makefile.am): Update sys/socket.h rule.
15716
15717         sys_select: Avoid #define replacements in C++ mode.
15718         * lib/sys_select.in.h: Include c++defs.h. Enable the function
15719         definitions also when the system has a <sys/select.h>.
15720         (select): In C++, define a namespaced alias symbol.
15721         * modules/sys_select (Depends-on): Add c++defs.
15722         (Makefile.am): Update sys/select.h rule.
15723
15724         sys_ioctl: Avoid #define replacements in C++ mode.
15725         * lib/sys_ioctl.in.h: Include c++defs.h.
15726         (ioctl): In C++, define a namespaced alias symbol.
15727         * modules/sys_ioctl (Depends-on): Add c++defs.
15728         (Makefile.am): Update sys/ioctl.h rule.
15729
15730         string: Avoid #define replacements in C++ mode.
15731         * lib/string.in.h: Include c++defs.h.
15732         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
15733         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
15734         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
15735         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
15736         strsignal, strverscmp): In C++, define a namespaced alias symbol.
15737         * modules/string (Depends-on): Add c++defs.
15738         (Makefile.am): Update string.h rule.
15739
15740         stdlib: Avoid #define replacements in C++ mode.
15741         * lib/stdlib.in.h: Include c++defs.h.
15742         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
15743         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
15744         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
15745         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
15746         symbol.
15747         * modules/stdlib (Depends-on): Add c++defs.
15748         (Makefile.am): Update stdlib.h rule.
15749
15750         stdio: Avoid #define replacements in C++ mode.
15751         * lib/stdio.in.h: Include c++defs.h.
15752         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
15753         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
15754         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
15755         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
15756         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
15757         namespaced alias symbol.
15758         * modules/stdio (Depends-on): Add c++defs.
15759         (Makefile.am): Update stdio.h rule.
15760
15761         spawn: Avoid #define replacements in C++ mode.
15762         * lib/spawn.in.h: Include c++defs.h.
15763         (posix_spawn, posix_spawnp, posix_spawnattr_init,
15764         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
15765         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
15766         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
15767         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
15768         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
15769         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
15770         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
15771         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
15772         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
15773         In C++, define a namespaced alias symbol.
15774         * modules/spawn (Depends-on): Add c++defs.
15775         (Makefile.am): Update spawn.h rule.
15776
15777         signal: Avoid #define replacements in C++ mode.
15778         * lib/signal.in.h: Include c++defs.h.
15779         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
15780         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
15781         namespaced alias symbol.
15782         * modules/signal (Depends-on): Add c++defs.
15783         (Makefile.am): Update signal.h rule.
15784
15785         search: Avoid #define replacements in C++ mode.
15786         * lib/search.in.h: Include c++defs.h.
15787         (_gl_search_compar_fn, _gl_search_action_fn): New types.
15788         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
15789         symbol.
15790         * modules/search (Depends-on): Add c++defs.
15791         (Makefile.am): Update search.h rule.
15792
15793         math: Avoid #define replacements in C++ mode.
15794         * lib/math.in.h: Include c++defs.h.
15795         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
15796         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
15797         trunc, truncl): In C++, define a namespaced alias symbol.
15798         * modules/math (Depends-on): Add c++defs.
15799         (Makefile.am): Update math.h rule.
15800
15801         locale: Avoid #define replacements in C++ mode.
15802         * lib/locale.in.h: Include c++defs.h.
15803         (duplocale): In C++, define a namespaced alias symbol.
15804         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
15805         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
15806         * modules/locale (Depends-on): Add c++defs.
15807         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
15808
15809         langinfo: Avoid #define replacements in C++ mode.
15810         * lib/langinfo.in.h: Include c++defs.h.
15811         (nl_langinfo): In C++, define a namespaced alias symbol.
15812         * modules/langinfo (Depends-on): Add c++defs.
15813         (Makefile.am): Update langinfo.h rule.
15814
15815         iconv-h: Avoid #define replacements in C++ mode.
15816         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
15817         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
15818         symbol.
15819         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
15820         whenever iconv is present.
15821         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
15822         (Makefile.am): Update iconv.h rule.
15823
15824         glob: Avoid #define replacements in C++ mode.
15825         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
15826         (_gl_glob_errfunc_fn): New type.
15827         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
15828         symbol.
15829         * modules/glob (Depends-on): Add c++defs, warn-on-use.
15830         (Makefile.am): Update glob.h rule.
15831
15832         fcntl-h: Avoid #define replacements in C++ mode.
15833         * lib/fcntl.in.h: Include c++defs.h.
15834         (fcntl, open, openat): In C++, define a namespaced alias symbol.
15835         * modules/fcntl-h (Depends-on): Add c++defs.
15836         (Makefile.am): Update fcntl.h rule.
15837
15838         dirent: Avoid #define replacements in C++ mode.
15839         * lib/dirent.in.h: Include c++defs.h.
15840         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
15841         namespaced alias symbol.
15842         (dirfd): Update declaration.
15843         * modules/dirent (Depends-on): Add c++defs.
15844         (Makefile.am): Update dirent.h rule.
15845
15846         ctype: Make it usable in C++ code.
15847         * lib/ctype.in.h: Include c++defs.h.
15848         (isblank): Declare as extern "C".
15849         * modules/ctype (Depends-on): Add c++defs.
15850         (Makefile.am): Update ctype.h rule.
15851
15852         New module 'c++defs'.
15853         * modules/c++defs: New file.
15854         * build-aux/c++defs.h: New file.
15855         Reported by John W. Eaton <jwe@gnu.org>.
15856
15857 2010-03-07  Bruno Haible  <bruno@clisp.org>
15858
15859         logb: Provide missing declaration for Cygwin.
15860         * lib/math.in.h (logb): New declaration.
15861         * m4/logb.m4: New file.
15862         * modules/logb (Files): Add m4/logb.m4.
15863         (Depends-on): Add math.
15864         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
15865         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
15866         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
15867         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
15868         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
15869
15870 2010-03-07  Bruno Haible  <bruno@clisp.org>
15871
15872         Fix test-cond link error.
15873         * tests/test-cond.c: Include <stdio.h>.
15874
15875 2010-03-07  Bruno Haible  <bruno@clisp.org>
15876
15877         Fix test-dirent-safer link error.
15878         * modules/dirent-safer-tests (Makefile.am): Define
15879         test_dirent_safer_LDADD.
15880
15881 2010-03-07  Bruno Haible  <bruno@clisp.org>
15882
15883         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
15884         among default module list.
15885
15886 2010-03-07  Bruno Haible  <bruno@clisp.org>
15887
15888         Fix link error on platforms with GNU libiconv.
15889         * modules/unistr/u8-strcoll-tests (Makefile): Define
15890         test_u8_strcoll_LDADD.
15891         * modules/unistr/u16-strcoll-tests (Makefile): Define
15892         test_u16_strcoll_LDADD.
15893         * modules/unistr/u32-strcoll-tests (Makefile): Define
15894         test_u32_strcoll_LDADD.
15895
15896 2010-03-07  Bruno Haible  <bruno@clisp.org>
15897
15898         Use POSIX declarations for socket functions.
15899         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
15900         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
15901         rpl_sendto): Change declaration to match POSIX.
15902         * lib/connect.c (rpl_connect): Likewise.
15903         * lib/accept.c (rpl_accept): Likewise.
15904         * lib/bind.c (rpl_bind): Likewise.
15905         * lib/getpeername.c (rpl_getpeername): Likewise.
15906         * lib/getsockname.c (rpl_getsockname): Likewise.
15907         * lib/recv.c (rpl_recv): Likewise.
15908         * lib/send.c (rpl_send): Likewise.
15909         * lib/recvfrom.c (rpl_recvfrom): Likewise.
15910         * lib/sendto.c (rpl_sendto): Likewise.
15911
15912 2010-03-06  Bruno Haible  <bruno@clisp.org>
15913
15914         Clarify access, euidaccess, faccessat.
15915         * doc/posix-functions/faccessat.texi: Mention security problem under
15916         "Other problems", not "Portability problems".
15917         * doc/posix-functions/access.texi: Likewise. Mention a related security
15918         problem.
15919         * doc/glibc-functions/euidaccess.texi: Mention security problems.
15920         * lib/euidaccess.c: Add comments about platforms.
15921         * lib/unistd.in.h (access, euidaccess): Add warnings.
15922
15923 2010-03-07  Bruno Haible  <bruno@clisp.org>
15924
15925         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
15926         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
15927         (POSIX_SPAWN_SETSCHEDULER): Likewise.
15928         (POSIX_SPAWN_USEVFORK): Define in a way that works when
15929         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15930         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
15931         declare when POSIX_SPAWN_SETSCHEDULER is zero.
15932         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
15933         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
15934         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
15935         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
15936         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
15937         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
15938         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
15939         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
15940         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
15941         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
15942         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
15943         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
15944         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
15945         Likewise.
15946         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
15947         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
15948         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
15949         Likewise.
15950         * tests/test-spawn.c (main): Make it work when
15951         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
15952
15953 2010-03-07  Bruno Haible  <bruno@clisp.org>
15954
15955         Fix incorrect Makefile.am generation in German locale.
15956         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
15957         Execute sed command with character range in C locale.
15958
15959 2010-03-06  Bruno Haible  <bruno@clisp.org>
15960
15961         Tests for module 'iconv-h'.
15962         * modules/iconv-h-tests: New file.
15963         * tests/test-iconv-h.c: New file.
15964
15965         New module 'iconv-h'.
15966         * modules/iconv-h: New file.
15967         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
15968         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
15969         (configure.ac): Remove gl_ICONV_H.
15970         (Makefile.am): Remove rule for iconv.h.
15971
15972 2010-03-06  Bruno Haible  <bruno@clisp.org>
15973
15974         More consistent naming of *.m4 files.
15975         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
15976         * modules/wctype (Files): Update.
15977
15978         More consistent naming of *.m4 files.
15979         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
15980         * modules/wchar (Files): Update.
15981
15982 2010-03-06  Jim Meyering  <meyering@redhat.com>
15983
15984         euidaccess: relax license to LGPLv2+
15985         * modules/euidaccess (License): Relax to LGPLv2+.
15986
15987 2010-03-06  Bruno Haible  <bruno@clisp.org>
15988
15989         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
15990         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
15991         (Makefile.am): Augment lib_SOURCES instead.
15992
15993 2010-03-04  Jim Meyering  <meyering@redhat.com>
15994
15995         utime: remove obsolete module
15996         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
15997         unnecessary for years, and has been marked as obsolete for 10 months.
15998         * modules/utime: Remove file.
15999         * lib/utime.c: Remove file.
16000         * m4/utime.m4: Remove file.
16001         * m4/utimes-null.m4: Remove file.
16002         * doc/posix-functions/utime.texi (utime): Remove reference to
16003         the module.  Move the sole "fixed by gnulib" item into the
16004         "problems not fixed by Gnulib" list.
16005         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
16006
16007 2010-03-05  Simon Josefsson  <simon@josefsson.org>
16008
16009         * modules/exit (License): Relax license to LGPLv2+.
16010         (Status): Mark as obsolete.
16011         * NEWS: Mention deprecated 'exit' module.
16012         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
16013         of now obsolete 'exit'.
16014
16015 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16016
16017         fts-lgpl: remove unused module
16018         * modules/fts-lgpl: Remove.
16019         * MODULES.html.sh (func_all_modules): Adjust.
16020         * check-module (find_included_lib_files): Adjust.
16021         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
16022
16023 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
16024
16025         copy-acl: enhance Solaris ACL error handling
16026         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
16027         * lib/set-mode-acl.c (qset_acl): Likewise.
16028
16029 2010-03-02  Bruno Haible  <bruno@clisp.org>
16030
16031         spawn: Don't override the system defined values on FreeBSD 8.
16032         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
16033         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
16034         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
16035         if HAVE_POSIX_SPAWN is 1.
16036         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
16037
16038 2010-03-01  Bruno Haible  <bruno@clisp.org>
16039
16040         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
16041         regarding Automake.
16042
16043 2010-02-25  Bruno Haible  <bruno@clisp.org>
16044
16045         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
16046         * gnulib-tool: Define 'echo' as a function only before the ksh alias
16047         setting, not afterwards.
16048         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
16049
16050 2010-02-24  Eric Blake  <eblake@redhat.com>
16051
16052         bootstrap, git-version-gen: use timestamp
16053         * build-aux/git-version-gen (scriptversion): Force UTC.
16054         * build-aux/bootstrap (scriptversion): New variable.
16055
16056         bootstrap: allow older git
16057         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
16058         older than 1.6.4.  Requested by the libvirt project.
16059
16060 2010-02-23  Eric Blake  <eblake@redhat.com>
16061
16062         warn-on-use: work with old autoconf
16063         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
16064         AS_VAR semantics of autoconf 2.60.
16065         Reported by Bruno Haible.
16066
16067         bootstrap: improve some comments
16068         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
16069         clarification comments.
16070
16071         gettimeofday: provide correct function
16072         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
16073         when replacement is declared, otherwise provide gettimeofday.
16074         Reported by Michael Goffioul.
16075
16076 2010-02-23  Jim Meyering  <meyering@redhat.com>
16077
16078         lib-ignore: relax license to "unlimited", not LGPLv2+
16079         * modules/lib-ignore (License): Relax to "unlimited".
16080
16081 2010-02-23  Jim Meyering  <meyering@redhat.com>
16082
16083         lib-ignore: relax license to LGPLv2+
16084         * modules/lib-ignore (License): Relax to LGPLv2+.
16085
16086 2010-02-22  Eric Blake  <eblake@redhat.com>
16087
16088         lseek: avoid bash 3.2 broken pipe bug
16089         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
16090         warning from bash 3.2.
16091         Reported by Ben Pfaff, with analysis from Bruno Haible.
16092
16093         bootstrap: support non-FSF copyright holder
16094         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
16095         bootstrap.conf override of COPYRIGHT_HOLDER.
16096         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
16097
16098         bootstrap: interoperate with gettext 0.14.1
16099         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
16100
16101         bootstrap: allow for alternate submodule location
16102         * build-aux/bootstrap (gnulib_path): New variable; use instead of
16103         hardcoding submodule location.
16104         (gnulib_mk): Allow direct use of Makefile.am.
16105
16106         bootstrap: use GNULIB_SRCDIR to reduce disk usage
16107         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
16108         rather than reconfiguring where the submodule points.
16109
16110         gettimeofday: restore support for platforms that lack function
16111         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
16112         replacement if function is missing.
16113         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
16114         * modules/sys_time (Makefile.am): Substitute it.
16115         * lib/sys_time.in.h (gettimeofday): Check it.
16116         Reported by Michael Goffioul.
16117
16118 2010-02-21  Bruno Haible  <bruno@clisp.org>
16119
16120         * lib/stdio.in.h (obstack_printf): Fix typo.
16121
16122 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
16123
16124         vc-list-files: use bzr ls's -R option
16125         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
16126         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
16127
16128 2010-02-21  Jim Meyering  <meyering@redhat.com>
16129
16130         init.sh: fix EXEEXT shims to work also for names like test-prog
16131         * tests/init.sh: Re-exec a better shell, when needed.
16132         If the current shell lacks support for posix $(...), an init.sh-using
16133         test will now try to find a shell that supports that.  If EXEEXT is
16134         nonempty, we also require support for hyphen-in-alias-name and shell
16135         substitutions like ${var#glob}.  Failure to find such a shell results
16136         in a skipped test.
16137
16138 2010-02-21  Bruno Haible  <bruno@clisp.org>
16139
16140         Really work around around "broken pipe" error message from bash 3.2.
16141         * gnulib-tool (func_reset_sigpipe): Remove function.
16142         (echo): In bash 3.2, define to a function that uses printf.
16143         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
16144
16145 2010-02-20  Bruno Haible  <bruno@clisp.org>
16146
16147         Restore support for automake 1.9.6 with autoconf 2.61.
16148         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
16149         Reported by James Youngman <jay@gnu.org>.
16150
16151 2010-02-20  Bruno Haible  <bruno@clisp.org>
16152
16153         Improve *printf warning condition.
16154         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
16155         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
16156         and the function is overridden due to SIGPIPE emulation.
16157
16158 2010-02-20  Bruno Haible  <bruno@clisp.org>
16159
16160         * lib/stdio.in.h: Tweak comments.
16161
16162 2010-02-19  Bruno Haible  <bruno@clisp.org>
16163
16164         Make it easier to find modules. New gnulib-tool option '--find'.
16165         * gnulib-tool: New option --find.
16166         (func_usage): Document it.
16167         (func_sanitize_modulelist): New function, extracted from
16168         func_all_modules.
16169         (func_all_modules): Invoke it.
16170         * doc/gnulib-tool.texi (Which modules?): New node.
16171
16172 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
16173
16174         * lib/sys_select.in.h: Provide select replacement even if
16175         sys/select.h exists on a system, for Interix.
16176
16177 2010-02-18  Jim Meyering  <meyering@redhat.com>
16178
16179         init.sh: don't use $(...) just yet
16180         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
16181         to accommodate e.g., Solaris' /bin/sh.
16182
16183 2010-02-17  Bruno Haible  <bruno@clisp.org>
16184
16185         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
16186         Reported by Ludovic Courtès <ludo@gnu.org>.
16187
16188 2010-02-16  Simon Josefsson  <simon@josefsson.org>
16189
16190         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
16191         linking with -lintl.
16192
16193 2010-02-17  Simon Josefsson  <simon@josefsson.org>
16194
16195         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
16196         if not provided by the system's netdb.h.  Reported by
16197         ludo@gnu.org (Ludovic Courtès).
16198
16199 2010-02-15  Jim Meyering  <meyering@redhat.com>
16200
16201         init.sh: improve portability and efficiency
16202         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
16203         "dummy" in a for loop.
16204         Use '!', not '^' to select the complement of a character set used
16205         in a "case" statement.
16206         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
16207         Suggestions from Eric Blake.
16208
16209         init.sh: automatically accommodate programs with the .exe suffix
16210         Automatically arrange for an invocation of "prog" to execute the
16211         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
16212         may use the simpler "prog", yet still work when built on a system
16213         that requires specifying the added suffix.
16214         Do this by constructing a function named "prog" that invokes
16215         "prog.exe" for each .exe file in selected directories.
16216         * tests/init.sh (find_exe_basenames_): New function.
16217         (create_exe_shim_functions_): New function.
16218         (path_prepend_): Use it.
16219
16220         maint.mk: mark syntax-check sc_*.m rules as .PHONY
16221         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
16222         "make -t syntax-check" doesn't create a ton of sc_*.m files.
16223
16224 2010-02-14  Jim Meyering  <meyering@redhat.com>
16225
16226         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
16227         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
16228         (sc_prohibit_hash_pjw_without_use): New rule.
16229
16230         maint.mk: allow the default upload destination dir to be overridden
16231         * top/maint.mk (upload_dest_dir_): Define with a default that
16232         preserves the status quo.
16233         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
16234         Reported by Peter Simons.
16235
16236         maint.mk: prohibit inclusion of "hash.h" without_use
16237         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
16238
16239 2010-02-10  Jim Meyering  <meyering@redhat.com>
16240
16241         maint.mk: prohibit inclusion of "ignore-value.h" without_use
16242         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
16243
16244 2010-02-09  Eric Blake  <ebb9@byu.net>
16245         and Bruno Haible  <bruno@clisp.org>
16246
16247         obstack-printf-posix: ensure declaration
16248         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
16249         extracted from gl_FUNC_OBSTACK_PRINTF.
16250         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
16251         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
16252         Likewise.
16253         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
16254         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
16255         0.
16256
16257 2010-02-08  Bruno Haible  <bruno@clisp.org>
16258
16259         gnulib-tool: Fix typo in 2010-02-07 commit.
16260         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
16261         Reported by Eric Blake.
16262
16263 2010-02-07  Bruno Haible  <bruno@clisp.org>
16264
16265         gnulib-tool: Fix up caching patches.
16266         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
16267         option --no-cache. Use associative arrays when supported by the shell.
16268         (sed_comments): New variable.
16269         (modcache): Renamed from do_cache.
16270         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
16271         abbreviate unnecessarily.
16272         (have_associative): New variable.
16273         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
16274         way also for ksh and zsh.
16275         (func_init_sed_convert_to_cache_statements): New function, extracted
16276         from func_cache_lookup_module. Add support for associative arrays.
16277         Don't set the c_MODULE_cached variable here. Ignore all lines before
16278         the first field header. Remove only the final newline, not all trailing
16279         newlines. Support empty fields correctly. Limit the use of 'eval' to
16280         assignments.
16281         (func_get_description, func_get_status, func_get_notice,
16282         func_get_applicability, func_get_filelist, func_get_dependencies,
16283         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
16284         func_get_automake_snippet, func_get_include_directive,
16285         func_get_link_directive, func_get_license, func_get_maintainer):
16286         Update documentation. List the unoptimized code first. Add support for
16287         associative arrays. Limit the use of 'eval' to assignments.
16288         (func_get_applicability): Undo stylistic pessimisations.
16289         (func_get_automake_snippet, func_get_include_directive): Reduce code
16290         duplication.
16291         (func_modules_transitive_closure, func_modules_add_dummy,
16292         func_modules_notice, func_modules_to_filelist, func_add_file,
16293         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
16294         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
16295         func_create_testdir, func_create_megatestdir): Update documentation.
16296
16297 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16298
16299         * gnulib-tool (func_cache_lookup_module): Store the module name
16300         belonging to the cache variable; error out if two different
16301         module names map to the same cache variable name.
16302
16303 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16304
16305         gnulib-tool: Make caching optional.
16306         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
16307         Update matching short versions of --no-changelog.
16308         (func_usage): Update.
16309         (sed_extract_cache_prog): Renamed from ...
16310         (sed_extract_prog): ... this; revert to old extraction script.
16311         (func_get_description, func_get_status)
16312         (func_get_notice, func_get_applicability, func_get_filelist)
16313         (func_get_dependencies, func_get_autoconf_early_snippet)
16314         (func_get_autoconf_snippet, func_get_automake_snippet)
16315         (func_get_include_directive, func_get_link_directive)
16316         (func_get_license, func_get_maintainer): If $do_cache is false,
16317         use old, non-caching extraction scripts.
16318         Suggestion by Bruno Haible.
16319
16320 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16321
16322         gnulib-tool: cache module metainformation.
16323         * gnulib-tool (sed_extract_prog): Match newline before each
16324         header, and rewrite header to a shell variable suffix.
16325         (func_cache_var, func_cache_lookup_module): New functions,
16326         to turn a module name into a cache variable prefix, and to
16327         look up and cache module metainformation.
16328         (func_get_description, func_get_status)
16329         (func_get_notice, func_get_applicability, func_get_filelist)
16330         (func_get_dependencies, func_get_autoconf_early_snippet)
16331         (func_get_autoconf_snippet, func_get_automake_snippet)
16332         (func_get_include_directive, func_get_link_directive)
16333         (func_get_license, func_get_maintainer): Use
16334         func_cache_lookup_module.
16335
16336 2010-02-07  Bruno Haible  <bruno@clisp.org>
16337
16338         fnctl: Fix missing dependency.
16339         * modules/fcntl (Depends-on): Add getdtablesize.
16340         Reported by John W. Eaton <jwe@gnu.org>.
16341
16342 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16343
16344         Argp: fix recognition of short alias options.
16345
16346         * lib/argp-parse.c (convert_options): Fix improper use of
16347         `|' between character values.
16348         * tests/test-argp.c (group1_option): New alias option
16349         --read (-r).
16350         (group1_parser): Special handling for 'r'.
16351         (test15): New test case.
16352         (test_fun): Add test15.
16353         * tests/test-argp-2.sh: Update expected --help and --usage
16354         outputs.
16355
16356 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
16357
16358         * tests/test-argp.c: Fix indentation.
16359
16360 2010-02-04  Eric Blake  <ebb9@byu.net>
16361
16362         gettimeofday: expose type of second argument
16363         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
16364         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
16365         * tests/test-gettimeofday.c: Use it to silence warning.
16366         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
16367         the issue.
16368
16369 2010-02-03  Jim Meyering  <meyering@redhat.com>
16370
16371         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
16372         * lib/regcomp.c (TYPE_SIGNED): Define.
16373         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
16374
16375         regcomp.c: avoid a new -Wshadow warning
16376         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
16377
16378 2010-02-01  Jim Meyering  <meyering@redhat.com>
16379
16380         removing useless parentheses in cpp #define directives
16381         For motivation, see commit c0221df4, "define STREQ(a,b)
16382         consistently, removing useless parentheses"
16383         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
16384         * lib/mountlist.c (MNT_IGNORE): Likewise.
16385         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
16386
16387 2010-02-01  Eric Blake  <ebb9@byu.net>
16388
16389         sys_time: use link-warning
16390         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
16391         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
16392         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
16393         * modules/sys_time (Depends-on): Add warn-on-use.
16394         (Makefile.am): Always build replacement.
16395         (configure.ac): Update substitutions.
16396         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
16397         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
16398         bother with SYS_TIME_H.
16399         * modules/gettimeofday (configure.ac): Declare indicator.
16400         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
16401         in use.
16402
16403         closein-tests: silence compiler warning
16404         * tests/test-closein.c (main): Ignore fread result.
16405         * modules/closein-tests (Depends-on): Add ignore-value.
16406
16407         tests: silence warning about system return
16408         * tests/test-areadlink-with-size.c (main): Ignore system result.
16409         * tests/test-areadlink.c (main): Likewise.
16410         * tests/test-areadlinkat-with-size.c (main): Likewise.
16411         * tests/test-areadlinkat.c (main): Likewise.
16412         * tests/test-canonicalize-lgpl.c (main): Likewise.
16413         * tests/test-canonicalize.c (main): Likewise.
16414         * tests/test-chown.c (main): Likewise.
16415         * tests/test-fchownat.c (main): Likewise.
16416         * tests/test-fdutimensat.c (main): Likewise.
16417         * tests/test-fstatat.c (main): Likewise.
16418         * tests/test-futimens.c (main): Likewise.
16419         * tests/test-lchown.c (main): Likewise.
16420         * tests/test-link.c (main): Likewise.
16421         * tests/test-linkat.c (main): Likewise.
16422         * tests/test-lstat.c (main): Likewise.
16423         * tests/test-mkdir.c (main): Likewise.
16424         * tests/test-mkdirat.c (main): Likewise.
16425         * tests/test-mkfifo.c (main): Likewise.
16426         * tests/test-mkfifoat.c (main): Likewise.
16427         * tests/test-mknod.c (main): Likewise.
16428         * tests/test-readlink.c (main): Likewise.
16429         * tests/test-remove.c (main): Likewise.
16430         * tests/test-rename.c (main): Likewise.
16431         * tests/test-renameat.c (main): Likewise.
16432         * tests/test-rmdir.c (main): Likewise.
16433         * tests/test-symlink.c (main): Likewise.
16434         * tests/test-symlinkat.c (main): Likewise.
16435         * tests/test-unlink.c (main): Likewise.
16436         * tests/test-unlinkat.c (main): Likewise.
16437         * tests/test-utimens.c (main): Likewise.
16438         * tests/test-utimensat.c (main): Likewise.
16439         * modules/areadlink-tests (Depends-on): Add ignore-value.
16440         * modules/areadlink-with-size-tests (Depends-on): Likewise.
16441         * modules/areadlinkat-tests (Depends-on): Likewise.
16442         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
16443         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16444         * modules/canonicalize-tests (Depends-on): Likewise.
16445         * modules/chown-tests (Depends-on): Likewise.
16446         * modules/fdutimensat-tests (Depends-on): Likewise.
16447         * modules/futimens-tests (Depends-on): Likewise.
16448         * modules/lchown-tests (Depends-on): Likewise.
16449         * modules/link-tests (Depends-on): Likewise.
16450         * modules/linkat-tests (Depends-on): Likewise.
16451         * modules/lstat-tests (Depends-on): Likewise.
16452         * modules/mkdir-tests (Depends-on): Likewise.
16453         * modules/mkfifo-tests (Depends-on): Likewise.
16454         * modules/mkfifoat-tests (Depends-on): Likewise.
16455         * modules/mknod-tests (Depends-on): Likewise.
16456         * modules/openat-tests (Depends-on): Likewise.
16457         * modules/readlink-tests (Depends-on): Likewise.
16458         * modules/remove-tests (Depends-on): Likewise.
16459         * modules/rename-tests (Depends-on): Likewise.
16460         * modules/renameat-tests (Depends-on): Likewise.
16461         * modules/rmdir-tests (Depends-on): Likewise.
16462         * modules/symlink-tests (Depends-on): Likewise.
16463         * modules/symlinkat-tests (Depends-on): Likewise.
16464         * modules/unlink-tests (Depends-on): Likewise.
16465         * modules/utimens-tests (Depends-on): Likewise.
16466         * modules/utimensat-tests (Depends-on): Likewise.
16467
16468 2010-01-31  Bruno Haible  <bruno@clisp.org>
16469
16470         Perform the same test for many <math.h> functions.
16471         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
16472         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
16473         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
16474         of gl_MATHFUNC.
16475         * modules/acos (configure.ac): Likewise.
16476         * modules/asin (configure.ac): Likewise.
16477         * modules/atan (configure.ac): Likewise.
16478         * modules/atan2 (configure.ac): Likewise.
16479         * modules/cbrt (configure.ac): Likewise.
16480         * modules/copysign (configure.ac): Likewise.
16481         * modules/cos (configure.ac): Likewise.
16482         * modules/cosh (configure.ac): Likewise.
16483         * modules/erf (configure.ac): Likewise.
16484         * modules/erfc (configure.ac): Likewise.
16485         * modules/exp (configure.ac): Likewise.
16486         * modules/fmod (configure.ac): Likewise.
16487         * modules/hypot (configure.ac): Likewise.
16488         * modules/j0 (configure.ac): Likewise.
16489         * modules/j1 (configure.ac): Likewise.
16490         * modules/jn (configure.ac): Likewise.
16491         * modules/lgamma (configure.ac): Likewise.
16492         * modules/log (configure.ac): Likewise.
16493         * modules/log10 (configure.ac): Likewise.
16494         * modules/log1p (configure.ac): Likewise.
16495         * modules/pow (configure.ac): Likewise.
16496         * modules/remainder (configure.ac): Likewise.
16497         * modules/sin (configure.ac): Likewise.
16498         * modules/sinh (configure.ac): Likewise.
16499         * modules/tan (configure.ac): Likewise.
16500         * modules/tanh (configure.ac): Likewise.
16501         * modules/y0 (configure.ac): Likewise.
16502         * modules/y1 (configure.ac): Likewise.
16503         * modules/yn (configure.ac): Likewise.
16504         Suggested by Paolo Bonzini.
16505
16506 2010-01-31  Bruno Haible  <bruno@clisp.org>
16507
16508         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
16509
16510 2010-01-31  Bruno Haible  <bruno@clisp.org>
16511
16512         Work around getdelim() bug on FreeBSD 8.0.
16513         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
16514         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
16515         not work.
16516         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
16517         is 1.
16518         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
16519         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
16520         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
16521         a non-zero size.
16522         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
16523
16524 2010-01-31  Bruno Haible  <bruno@clisp.org>
16525
16526         Work around getline() bug on FreeBSD 8.0.
16527         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
16528         and a non-zero size.
16529         * tests/test-getline.c (main): Likewise.
16530         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
16531         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
16532
16533 2010-01-28  Eric Blake  <ebb9@byu.net>
16534
16535         regex: fix build failure
16536         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
16537         platforms.
16538
16539 2010-01-28  Jim Meyering  <meyering@redhat.com>
16540
16541         regex: do not ignore memory allocation failure
16542         * lib/regex_internal.c (create_cd_newstate): Detect
16543         re_node_set_init_copy failure.   Extracted from glibc commit
16544         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16545
16546         regex: sync more white-space changes from libc
16547         * lib/regex_internal.c: White-space only changes.
16548         * lib/regexec.c: Likewise.
16549
16550         regex: add many uses of __attribute_warn_unused_result__
16551         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
16552         * lib/regexec.c: Likewise.
16553         Extracted from a messy glibc commit.
16554
16555         regcomp.c: spelling and merge-artifact from glibc
16556         * lib/regcomp.c: Merge remainder of glibc's
16557         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16558
16559         regcomp.c: sync white-space changes from glibc
16560         * lib/regcomp.c: Merge to accommodate white space
16561         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
16562
16563         regcomp.c: do not ignore internal return values
16564         * lib/regcomp.c: Do not ignore internal return values.
16565         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
16566         but without its white-space changes and spelling fixes.
16567
16568         regex_internal.h: define __attribute_warn_unused_result__
16569         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
16570
16571         maint: add a syntax-check rule to check for vulnerable Makefile.in
16572         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
16573
16574 2010-01-27  Jim Meyering  <meyering@redhat.com>
16575
16576         ncftpput-ftp: clean up spaces
16577         * build-aux/ncftpput-ftp: Make Copyright line consistent.
16578         Remove trailing blanks.
16579
16580 2010-01-27  Simon Josefsson  <simon@josefsson.org>
16581
16582         * build-aux/git-version-gen: Fix copyright statement.
16583         * build-aux/gnupload: Likewise.
16584         * tests/test-arcfour.c: Likewise.
16585         * tests/test-arctwo.c: Likewise.
16586         * tests/test-count-one-bits.c: Likewise.
16587         * tests/test-crc.c: Likewise.
16588         * tests/test-des.c: Likewise.
16589         * tests/test-gc-arcfour.c: Likewise.
16590         * tests/test-gc-arctwo.c: Likewise.
16591         * tests/test-gc-des.c: Likewise.
16592         * tests/test-gc-hmac-md5.c: Likewise.
16593         * tests/test-gc-hmac-sha1.c: Likewise.
16594         * tests/test-gc-md2.c: Likewise.
16595         * tests/test-gc-md4.c: Likewise.
16596         * tests/test-gc-md5.c: Likewise.
16597         * tests/test-gc-pbkdf2-sha1.c: Likewise.
16598         * tests/test-gc-rijndael.c: Likewise.
16599         * tests/test-gc-sha1.c: Likewise.
16600         * tests/test-gc.c: Likewise.
16601         * tests/test-gethostname.c: Likewise.
16602         * tests/test-gettimeofday.c: Likewise.
16603         * tests/test-hash.c: Likewise.
16604         * tests/test-hmac-md5.c: Likewise.
16605         * tests/test-hmac-sha1.c: Likewise.
16606         * tests/test-md2.c: Likewise.
16607         * tests/test-md4.c: Likewise.
16608         * tests/test-md5.c: Likewise.
16609         * tests/test-memchr.c: Likewise.
16610         * tests/test-memchr2.c: Likewise.
16611         * tests/test-memcmp.c: Likewise.
16612         * tests/test-memmem.c: Likewise.
16613         * tests/test-memrchr.c: Likewise.
16614         * tests/test-rawmemchr.c: Likewise.
16615         * tests/test-read-file.c: Likewise.
16616         * tests/test-rijndael.c: Likewise.
16617         * tests/test-sockets.c: Likewise.
16618         * tests/test-strchrnul.c: Likewise.
16619         * tests/test-strstr.c: Likewise.
16620         * tests/test-strtod.c: Likewise.
16621         * build-aux/ncftpput-ftp: Likewise.
16622
16623 2010-01-26  Eric Blake  <ebb9@byu.net>
16624
16625         ignore-value: update recommended header name
16626         * modules/ignore-value (Include): Only use <> for headers that
16627         exist in glibc.
16628
16629 2010-01-26  Jim Meyering  <meyering@redhat.com>
16630
16631         test-userspec.c: avoid compiler warnings
16632         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
16633         and "initialization discards qualifiers..." warnings.
16634         Put the first "uid" in its own scope, and make char* members "const".
16635
16636 2010-01-25  Bruno Haible  <bruno@clisp.org>
16637
16638         gnulib-tool: Make warning diagnostics consistent.
16639         * gnulib-tool (func_warning): New function.
16640         Use it everywhere where gnulib-tool produces output to stderr and it is
16641         not a fatal error.
16642
16643 2010-01-25  Bruno Haible  <bruno@clisp.org>
16644
16645         Fix test dependencies.
16646         * modules/xstrtol-tests (Depends-on): Add inttypes.
16647         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
16648
16649 2010-01-25 Pádraig Brady <P@draigBrady.com>
16650
16651         syntax-check: detect incorrect boolean macro values in config.h
16652         * modules/maintainer-makefile (configure.ac): Parameterize the location
16653         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
16654         The logic is from Eric Blake and the location indicated by Jim Meyering.
16655         Note the more natural CONFIG_HEADER name is prohibited by automake
16656         for backwards compatibility reasons.
16657         * top/maint.mk (sc_Wundef_boolean): New rule.
16658
16659 2010-01-25  Jim Meyering  <meyering@redhat.com>
16660
16661         bootstrap: detect MacOS 10.6's shasum, too
16662         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
16663         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
16664
16665 2010-01-23  Jim Meyering  <meyering@redhat.com>
16666
16667         xstrtoll: new module
16668         * modules/xstrtoll: New file.
16669         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
16670         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
16671         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
16672         ./configure fails if you use this module and lack "long long".
16673         * modules/xstrtoll-tests: New module.
16674         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
16675         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
16676         new init.sh-based test framework.
16677
16678 2010-01-24  Bruno Haible  <bruno@clisp.org>
16679
16680         Tests for module 'yn'.
16681         * modules/yn-tests: New file.
16682         * tests/test-yn.c: New file.
16683
16684         Tests for module 'y1'.
16685         * modules/y1-tests: New file.
16686         * tests/test-y1.c: New file.
16687
16688         Tests for module 'y0'.
16689         * modules/y0-tests: New file.
16690         * tests/test-y0.c: New file.
16691
16692         Tests for module 'tanh'.
16693         * modules/tanh-tests: New file.
16694         * tests/test-tanh.c: New file.
16695
16696         Tests for module 'tan'.
16697         * modules/tan-tests: New file.
16698         * tests/test-tan.c: New file.
16699
16700         Tests for module 'sqrt'.
16701         * modules/sqrt-tests: New file.
16702         * tests/test-sqrt.c: New file.
16703
16704         Tests for module 'sinh'.
16705         * modules/sinh-tests: New file.
16706         * tests/test-sinh.c: New file.
16707
16708         Tests for module 'sin'.
16709         * modules/sin-tests: New file.
16710         * tests/test-sin.c: New file.
16711
16712         Tests for module 'rint'.
16713         * modules/rint-tests: New file.
16714         * tests/test-rint.c: New file.
16715
16716         Tests for module 'remainder'.
16717         * modules/remainder-tests: New file.
16718         * tests/test-remainder.c: New file.
16719
16720         Tests for module 'pow'.
16721         * modules/pow-tests: New file.
16722         * tests/test-pow.c: New file.
16723
16724         Tests for module 'nextafter'.
16725         * modules/nextafter-tests: New file.
16726         * tests/test-nextafter.c: New file.
16727
16728         Tests for module 'modf'.
16729         * modules/modf-tests: New file.
16730         * tests/test-modf.c: New file.
16731
16732         Tests for module 'logb'.
16733         * modules/logb-tests: New file.
16734         * tests/test-logb.c: New file.
16735
16736         Tests for module 'log1p'.
16737         * modules/log1p-tests: New file.
16738         * tests/test-log1p.c: New file.
16739
16740         Tests for module 'log10'.
16741         * modules/log10-tests: New file.
16742         * tests/test-log10.c: New file.
16743
16744         Tests for module 'log'.
16745         * modules/log-tests: New file.
16746         * tests/test-log.c: New file.
16747
16748         Tests for module 'lgamma'.
16749         * modules/lgamma-tests: New file.
16750         * tests/test-lgamma.c: New file.
16751
16752         Tests for module 'ldexp'.
16753         * modules/ldexp-tests: New file.
16754         * tests/test-ldexp.c: New file.
16755
16756         Tests for module 'jn'.
16757         * modules/jn-tests: New file.
16758         * tests/test-jn.c: New file.
16759
16760         Tests for module 'j1'.
16761         * modules/j1-tests: New file.
16762         * tests/test-j1.c: New file.
16763
16764         Tests for module 'j0'.
16765         * modules/j0-tests: New file.
16766         * tests/test-j0.c: New file.
16767
16768         Tests for module 'hypot'.
16769         * modules/hypot-tests: New file.
16770         * tests/test-hypot.c: New file.
16771
16772         Tests for module 'fmod'.
16773         * modules/fmod-tests: New file.
16774         * tests/test-fmod.c: New file.
16775
16776         Tests for module 'fabs'.
16777         * modules/fabs-tests: New file.
16778         * tests/test-fabs.c: New file.
16779
16780         Tests for module 'exp'.
16781         * modules/exp-tests: New file.
16782         * tests/test-exp.c: New file.
16783
16784         Tests for module 'erfc'.
16785         * modules/erfc-tests: New file.
16786         * tests/test-erfc.c: New file.
16787
16788         Tests for module 'erf'.
16789         * modules/erf-tests: New file.
16790         * tests/test-erf.c: New file.
16791
16792         Tests for module 'cosh'.
16793         * modules/cosh-tests: New file.
16794         * tests/test-cosh.c: New file.
16795
16796         Tests for module 'cos'.
16797         * modules/cos-tests: New file.
16798         * tests/test-cos.c: New file.
16799
16800         Tests for module 'copysign'.
16801         * modules/copysign-tests: New file.
16802         * tests/test-copysign.c: New file.
16803
16804         Tests for module 'cbrt'.
16805         * modules/cbrt-tests: New file.
16806         * tests/test-cbrt.c: New file.
16807
16808         Tests for module 'atan2'.
16809         * modules/atan2-tests: New file.
16810         * tests/test-atan2.c: New file.
16811
16812         Tests for module 'atan'.
16813         * modules/atan-tests: New file.
16814         * tests/test-atan.c: New file.
16815
16816         Tests for module 'asin'.
16817         * modules/asin-tests: New file.
16818         * tests/test-asin.c: New file.
16819
16820         Tests for module 'acos'.
16821         * modules/acos-tests: New file.
16822         * tests/test-acos.c: New file.
16823
16824 2010-01-24  Bruno Haible  <bruno@clisp.org>
16825
16826         Fix tests for common <math.h> functions.
16827         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
16828         code snippet that references the function pointer, rather than merely
16829         calling the function. Substitute the FUNC_LIBM variable.
16830         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
16831         * modules/acos (configure.ac): Likewise.
16832         * modules/asin (configure.ac): Likewise.
16833         * modules/atan (configure.ac): Likewise.
16834         * modules/atan2 (configure.ac): Likewise.
16835         * modules/cbrt (configure.ac): Likewise.
16836         * modules/copysign (configure.ac): Likewise.
16837         * modules/cos (configure.ac): Likewise.
16838         * modules/cosh (configure.ac): Likewise.
16839         * modules/erf (configure.ac): Likewise.
16840         * modules/erfc (configure.ac): Likewise.
16841         * modules/exp (configure.ac): Likewise.
16842         * modules/fabs (configure.ac): Likewise.
16843         * modules/fmod (configure.ac): Likewise.
16844         * modules/hypot (configure.ac): Likewise.
16845         * modules/j0 (configure.ac): Likewise.
16846         * modules/j1 (configure.ac): Likewise.
16847         * modules/jn (configure.ac): Likewise.
16848         * modules/ldexp (configure.ac): Likewise.
16849         * modules/lgamma (configure.ac): Likewise.
16850         * modules/log (configure.ac): Likewise.
16851         * modules/log10 (configure.ac): Likewise.
16852         * modules/log1p (configure.ac): Likewise.
16853         * modules/logb (configure.ac): Likewise.
16854         * modules/modf (configure.ac): Likewise.
16855         * modules/nextafter (configure.ac): Likewise.
16856         * modules/pow (configure.ac): Likewise.
16857         * modules/remainder (configure.ac): Likewise.
16858         * modules/rint (configure.ac): Likewise.
16859         * modules/sin (configure.ac): Likewise.
16860         * modules/sinh (configure.ac): Likewise.
16861         * modules/tan (configure.ac): Likewise.
16862         * modules/tanh (configure.ac): Likewise.
16863         * modules/y0 (configure.ac): Likewise.
16864         * modules/y1 (configure.ac): Likewise.
16865         * modules/yn (configure.ac): Likewise.
16866
16867 2010-01-24  Bruno Haible  <bruno@clisp.org>
16868
16869         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
16870         * tests/test-acosl.c (x): New variable.
16871         (main): Store argument in x and fetch it from x.
16872         * tests/test-asinl.c (x): New variable.
16873         (main): Store argument in x and fetch it from x.
16874         * tests/test-atanl.c (x): New variable.
16875         (main): Store argument in x and fetch it from x.
16876         * tests/test-cosl.c (x): New variable.
16877         (main): Store argument in x and fetch it from x.
16878         * tests/test-expl.c (x): New variable.
16879         (main): Store argument in x and fetch it from x.
16880         * tests/test-logl.c (x): New variable.
16881         (main): Store argument in x and fetch it from x.
16882         * tests/test-sinl.c (x): New variable.
16883         (main): Store argument in x and fetch it from x.
16884         * tests/test-sqrtl.c (x): New variable.
16885         (main): Store argument in x and fetch it from x.
16886         * tests/test-tanl.c (x): New variable.
16887         (main): Store argument in x and fetch it from x.
16888
16889 2010-01-24  Bruno Haible  <bruno@clisp.org>
16890
16891         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
16892         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
16893         assignments to the initial TESTS_ENVIRONMENT.
16894         * doc/gnulib.texi (Unit test modules): Document it.
16895         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
16896         TESTS_ENVIRONMENT.
16897         * modules/btowc-tests (Makefile.am): Likewise.
16898         * modules/c-stack-tests (Makefile.am): Likewise.
16899         * modules/c-strcase-tests (Makefile.am): Likewise.
16900         * modules/copy-file-tests (Makefile.am): Likewise.
16901         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
16902         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
16903         * modules/mbrtowc-tests (Makefile.am): Likewise.
16904         * modules/mbscasecmp-tests (Makefile.am): Likewise.
16905         * modules/mbscasestr-tests (Makefile.am): Likewise.
16906         * modules/mbschr-tests (Makefile.am): Likewise.
16907         * modules/mbscspn-tests (Makefile.am): Likewise.
16908         * modules/mbsinit-tests (Makefile.am): Likewise.
16909         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
16910         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
16911         * modules/mbspbrk-tests (Makefile.am): Likewise.
16912         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
16913         * modules/mbsrchr-tests (Makefile.am): Likewise.
16914         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
16915         * modules/mbsspn-tests (Makefile.am): Likewise.
16916         * modules/mbsstr-tests (Makefile.am): Likewise.
16917         * modules/nl_langinfo-tests (Makefile.am): Likewise.
16918         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
16919         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
16920         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
16921         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
16922         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
16923         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
16924         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
16925         * modules/wcrtomb-tests (Makefile.am): Likewise.
16926         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
16927         * modules/wcsrtombs-tests (Makefile.am): Likewise.
16928         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
16929         assignments from TESTS_ENVIRONMENT.
16930         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
16931         augmentation.
16932         * modules/argp-version-etc-tests (Makefile.am): Likewise.
16933         * modules/atexit-tests (Makefile.am): Likewise.
16934         * modules/binary-io-tests (Makefile.am): Likewise.
16935         * modules/closein-tests (Makefile.am): Likewise.
16936         * modules/dprintf-posix-tests (Makefile.am): Likewise.
16937         * modules/exclude-tests (Makefile.am): Likewise.
16938         * modules/fflush-tests (Makefile.am): Likewise.
16939         * modules/fpending-tests (Makefile.am): Likewise.
16940         * modules/fprintf-posix-tests (Makefile.am): Likewise.
16941         * modules/freadahead-tests (Makefile.am): Likewise.
16942         * modules/freadptr-tests (Makefile.am): Likewise.
16943         * modules/freadseek-tests (Makefile.am): Likewise.
16944         * modules/fseek-tests (Makefile.am): Likewise.
16945         * modules/fseeko-tests (Makefile.am): Likewise.
16946         * modules/ftell-tests (Makefile.am): Likewise.
16947         * modules/ftello-tests (Makefile.am): Likewise.
16948         * modules/idpriv-drop-tests (Makefile.am): Likewise.
16949         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
16950         * modules/lseek-tests (Makefile.am): Likewise.
16951         * modules/parse-duration-tests (Makefile.am): Likewise.
16952         * modules/perror-tests (Makefile.am): Likewise.
16953         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
16954         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
16955         * modules/pipe-tests (Makefile.am): Likewise.
16956         * modules/pread-tests (Makefile.am): Likewise.
16957         * modules/printf-posix-tests (Makefile.am): Likewise.
16958         * modules/select-tests (Makefile.am): Likewise.
16959         * modules/sigpipe-tests (Makefile.am): Likewise.
16960         * modules/tsearch-tests (Makefile.am): Likewise.
16961         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
16962         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
16963         * modules/uniname/uniname-tests (Makefile.am): Likewise.
16964         * modules/uniwidth/width-tests (Makefile.am): Likewise.
16965         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
16966         * modules/version-etc-tests (Makefile.am): Likewise.
16967         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
16968         * modules/vprintf-posix-tests (Makefile.am): Likewise.
16969         * modules/xalloc-die-tests (Makefile.am): Likewise.
16970         * modules/xprintf-posix-tests (Makefile.am): Likewise.
16971         * modules/xstrtoimax-tests (Makefile.am): Likewise.
16972         * modules/xstrtol-tests (Makefile.am): Likewise.
16973         * modules/xstrtoumax-tests (Makefile.am): Likewise.
16974         * modules/yesno-tests (Makefile.am): Likewise.
16975         Suggested by Jim Meyering.
16976
16977 2010-01-24  Bruno Haible  <bruno@clisp.org>
16978
16979         More documentation.
16980         * doc/gnulib.texi (Writing modules): New chapter.
16981         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
16982         the new chapter.
16983
16984 2010-01-24  Jim Meyering  <meyering@redhat.com>
16985
16986         maint.mk: do not prepend "./" after filtering
16987         * top/maint.mk (_prepend_srcdir_prefix): New variable
16988         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
16989         "./" when $(srcdir) is ".".
16990
16991         define STREQ(a,b) consistently, removing useless parentheses
16992         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
16993         since the only risk is that "a" or "b" contains an unparenthesized
16994         comma, but if either did that, STREQ would have 3 or more arguments.
16995         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
16996         * lib/fts.c (STREQ): Remove unnecessary parentheses.
16997         * lib/hash-triple.c (STREQ): Likewise.
16998         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
16999         * lib/getugroups.c (STREQ): Likewise.
17000
17001 2010-01-23  Jim Meyering  <meyering@redhat.com>
17002
17003         maint.mk: fix syntax-check in a non-srcdir build directory
17004         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
17005         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
17006
17007 2010-01-22  Jim Meyering  <meyering@redhat.com>
17008
17009         userspec: add unit tests
17010         * tests/test-userspec.c: New file.
17011         * modules/userspec-tests: Likewise.
17012
17013 2010-01-21  Jim Meyering  <meyering@redhat.com>
17014
17015         maint.mk: handle source file names containing "." robustly
17016         * top/maint.mk (_dot_escaped_srcdir): Define.
17017         (VC_LIST): Use it in LHS of sed substitution.
17018
17019 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
17020
17021         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
17022         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
17023         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
17024         from a non-srcdir build.
17025
17026 2010-01-20  Eric Blake  <ebb9@byu.net>
17027
17028         warn-on-use: use instead of link-warning
17029         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
17030         * modules/unistd (Depends-on, Makefile.am): Likewise.
17031         * modules/arpa_inet (Depends-on): Replace link-warning with
17032         warn-on-use.
17033         (Makefile.am): Update rules accordingly.
17034         * modules/ctype (Depends-on, Makefile.am): Likewise.
17035         * modules/dirent (Depends-on, Makefile.am): Likewise.
17036         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
17037         * modules/inttypes (Depends-on, Makefile.am): Likewise.
17038         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17039         * modules/locale (Depends-on, Makefile.am): Likewise.
17040         * modules/math (Depends-on, Makefile.am): Likewise.
17041         * modules/search (Depends-on, Makefile.am): Likewise.
17042         * modules/signal (Depends-on, Makefile.am): Likewise.
17043         * modules/spawn (Depends-on, Makefile.am): Likewise.
17044         * modules/stdlib (Depends-on, Makefile.am): Likewise.
17045         * modules/string (Depends-on, Makefile.am): Likewise.
17046         * modules/strings (Depends-on, Makefile.am): Likewise.
17047         * modules/sys_file (Depends-on, Makefile.am): Likewise.
17048         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
17049         * modules/sys_select (Depends-on, Makefile.am): Likewise.
17050         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
17051         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
17052         * modules/sys_times (Depends-on, Makefile.am): Likewise.
17053         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
17054         * modules/wchar (Depends-on, Makefile.am): Likewise.
17055         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
17056         should be poisoned.
17057         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
17058         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
17059         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
17060         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
17061         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
17062         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
17063         * m4/math_h.m4 (gl_MATH_H): Likewise.
17064         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
17065         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
17066         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
17067         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
17068         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
17069         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
17070         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
17071         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
17072         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
17073         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
17074         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
17075         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
17076         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
17077         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
17078         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
17079         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
17080         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
17081         GL_LINK_WARNING.
17082         * lib/ctype.in.h: Likewise.
17083         * lib/dirent.in.h: Likewise.
17084         * lib/fcntl.in.h: Likewise.
17085         * lib/inttypes.in.h: Likewise.
17086         * lib/langinfo.in.h: Likewise.
17087         * lib/locale.in.h: Likewise.
17088         * lib/math.in.h: Likewise.
17089         * lib/search.in.h: Likewise.
17090         * lib/signal.in.h: Likewise.
17091         * lib/spawn.in.h: Likewise.
17092         * lib/stdio.in.h: Likewise.
17093         * lib/stdlib.in.h: Likewise.
17094         * lib/string.in.h: Likewise.
17095         * lib/strings.in.h: Likewise.
17096         * lib/sys_file.in.h: Likewise.
17097         * lib/sys_ioctl.in.h: Likewise.
17098         * lib/sys_select.in.h: Likewise.
17099         * lib/sys_socket.in.h: Likewise.
17100         * lib/sys_stat.in.h: Likewise.
17101         * lib/sys_times.in.h: Likewise.
17102         * lib/sys_utsname.in.h: Likewise.
17103         * lib/unistd.in.h: Likewise.
17104         * lib/wchar.in.h: Likewise.
17105
17106 2010-01-20  Bruno Haible  <bruno@clisp.org>
17107
17108         Avoid duplicate -lm.
17109         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
17110         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
17111         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
17112         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
17113         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
17114         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
17115         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
17116         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
17117         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
17118         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
17119         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
17120         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
17121         Reported by Paolo Bonzini.
17122
17123 2010-01-19  Bruno Haible  <bruno@clisp.org>
17124
17125         langinfo, nl_langinfo: Relicense under LGPLv2+.
17126         * modules/langinfo (License): Change to LGPLv2+.
17127         * modules/nl_langinfo (License): Likewise.
17128         Patch by David Lutterkort <lutter@redhat.com>.
17129
17130 2010-01-19  Bruno Haible  <bruno@clisp.org>
17131
17132         Avoid compilation error with cc on OSF/1 5.1.
17133         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
17134         statement, not before.
17135         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17136
17137 2010-01-18  Bruno Haible  <bruno@clisp.org>
17138
17139         Avoid a link error due to the __printf__ symbol.
17140         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
17141         and 2.6.x.
17142         (__format__, __printf__): Remove definitions.
17143         * lib/argp-fmtstream.h: Likewise.
17144         * lib/argp.h: Likewise.
17145         * lib/error.h: Likewise.
17146         * lib/vasnprintf.h: Likewise.
17147         * lib/xprintf.h: Likewise.
17148         * lib/xvasprintf.h: Likewise.
17149         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17150
17151 2010-01-18  Bruno Haible  <bruno@clisp.org>
17152
17153         Tests for module 'tanl'.
17154         * modules/tanl-tests: New file.
17155         * tests/test-tanl.c: New file.
17156
17157         Tests for module 'sqrtl'.
17158         * modules/sqrtl-tests: New file.
17159         * tests/test-sqrtl.c: New file.
17160
17161         Tests for module 'sinl'.
17162         * modules/sinl-tests: New file.
17163         * tests/test-sinl.c: New file.
17164
17165         Tests for module 'logl'.
17166         * modules/logl-tests: New file.
17167         * tests/test-logl.c: New file.
17168
17169         Tests for module 'expl'.
17170         * modules/expl-tests: New file.
17171         * tests/test-expl.c: New file.
17172
17173         Tests for module 'cosl'.
17174         * modules/cosl-tests: New file.
17175         * tests/test-cosl.c: New file.
17176
17177         Tests for module 'atanl'.
17178         * modules/atanl-tests: New file.
17179         * tests/test-atanl.c: New file.
17180
17181         Tests for module 'asinl'.
17182         * modules/asinl-tests: New file.
17183         * tests/test-asinl.c: New file.
17184
17185         Tests for module 'acosl'.
17186         * modules/acosl-tests: New file.
17187         * tests/test-acosl.c: New file.
17188
17189         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17190         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
17191         tanl): Use the standard gnulib idiom.
17192         * lib/cosl.c: Don't include trigl.c and sincosl.c.
17193         * lib/sinl.c: Likewise.
17194         * lib/tanl.c: Don't include trigl.c.
17195         (kernel_tanl): Make static.
17196         * lib/sincosl.c: Include trigl.h first.
17197         * lib/trigl.c: Likewise.
17198         * m4/acosl.m4: New file.
17199         * m4/asinl.m4: New file.
17200         * m4/atanl.m4: New file.
17201         * m4/cosl.m4: New file.
17202         * m4/expl.m4: New file.
17203         * m4/logl.m4: New file.
17204         * m4/sinl.m4: New file.
17205         * m4/sqrtl.m4: New file.
17206         * m4/tanl.m4: New file.
17207         * m4/mathl.m4: Remove file.
17208         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
17209         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
17210         Don't initialize GNULIB_MATHL.
17211         * modules/acosl: New file.
17212         * modules/asinl: New file.
17213         * modules/atanl: New file.
17214         * modules/cosl: New file.
17215         * modules/expl: New file.
17216         * modules/logl: New file.
17217         * modules/sinl: New file.
17218         * modules/sqrtl: New file.
17219         * modules/tanl: New file.
17220         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
17221         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
17222         substitute GNULIB_MATHL.
17223         * modules/mathl: Rewritten.
17224         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
17225         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
17226         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
17227         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
17228         * doc/posix-functions/expl.texi: Mention the 'expl' module.
17229         * doc/posix-functions/logl.texi: Mention the 'logl' module.
17230         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
17231         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
17232         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
17233
17234 2010-01-18  Bruno Haible  <bruno@clisp.org>
17235
17236         sqrt: Make gl_FUNC_SQRT requirable.
17237         * m4/sqrt.m4: New file.
17238         * modules/sqrt (Files): Add it.
17239         (configure.ac): Invoke gl_FUNC_SQRT.
17240
17241 2010-01-18  Bruno Haible  <bruno@clisp.org>
17242
17243         New modules for common <math.h> functions.
17244         * m4/mathfunc.m4: New file.
17245         * modules/acos: New file.
17246         * modules/asin: New file.
17247         * modules/atan: New file.
17248         * modules/atan2: New file.
17249         * modules/cbrt: New file.
17250         * modules/copysign: New file.
17251         * modules/cos: New file.
17252         * modules/cosh: New file.
17253         * modules/erf: New file.
17254         * modules/erfc: New file.
17255         * modules/exp: New file.
17256         * modules/fabs: New file.
17257         * modules/fmod: New file.
17258         * modules/hypot: New file.
17259         * modules/j0: New file.
17260         * modules/j1: New file.
17261         * modules/jn: New file.
17262         * modules/ldexp: New file.
17263         * modules/lgamma: New file.
17264         * modules/log: New file.
17265         * modules/log10: New file.
17266         * modules/log1p: New file.
17267         * modules/logb: New file.
17268         * modules/modf: New file.
17269         * modules/nextafter: New file.
17270         * modules/pow: New file.
17271         * modules/remainder: New file.
17272         * modules/rint: New file.
17273         * modules/sin: New file.
17274         * modules/sinh: New file.
17275         * modules/sqrt: New file.
17276         * modules/tan: New file.
17277         * modules/tanh: New file.
17278         * modules/y0: New file.
17279         * modules/y1: New file.
17280         * modules/yn: New file.
17281         * doc/posix-functions/acos.texi: Mention the 'acos' module.
17282         * doc/posix-functions/asin.texi: Mention the 'asin' module.
17283         * doc/posix-functions/atan.texi: Mention the 'atan' module.
17284         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
17285         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
17286         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
17287         * doc/posix-functions/cos.texi: Mention the 'cos' module.
17288         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
17289         * doc/posix-functions/erf.texi: Mention the 'erf' module.
17290         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
17291         * doc/posix-functions/exp.texi: Mention the 'exp' module.
17292         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
17293         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
17294         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
17295         * doc/posix-functions/j0.texi: Mention the 'j0' module.
17296         * doc/posix-functions/j1.texi: Mention the 'j1' module.
17297         * doc/posix-functions/jn.texi: Mention the 'jn' module.
17298         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
17299         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
17300         * doc/posix-functions/log.texi: Mention the 'log' module.
17301         * doc/posix-functions/log10.texi: Mention the 'log10' module.
17302         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
17303         * doc/posix-functions/logb.texi: Mention the 'logb' module.
17304         * doc/posix-functions/modf.texi: Mention the 'modf' module.
17305         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
17306         * doc/posix-functions/pow.texi: Mention the 'pow' module.
17307         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
17308         * doc/posix-functions/rint.texi: Mention the 'rint' module.
17309         * doc/posix-functions/sin.texi: Mention the 'sin' module.
17310         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
17311         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
17312         * doc/posix-functions/tan.texi: Mention the 'tan' module.
17313         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
17314         * doc/posix-functions/y0.texi: Mention the 'y0' module.
17315         * doc/posix-functions/y1.texi: Mention the 'y1' module.
17316         * doc/posix-functions/yn.texi: Mention the 'yn' module.
17317
17318 2010-01-18  Jim Meyering  <meyering@redhat.com>
17319
17320         ignore-value: relax license to LGPLv2+
17321         * modules/ignore-value (License): Relax to LGPLv2+.
17322
17323         getdate: don't leak when TZ contains two or more '"'s
17324         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
17325         double quote in TZ after the first one.
17326
17327         readtokens: do not leak internal token_lengths buffer
17328         * lib/readtokens.c (readtokens): Free the local, lengths,
17329         when the supplied "token_lengths" parameter is NULL.
17330
17331 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17332
17333         Fix a couple of missing LIBTHREAD link failures on AIX.
17334         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
17335         $(LIBTHREAD).
17336         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
17337
17338         Link test-poll against INET_PTON_LIB.
17339         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
17340         for inet_pton on Solaris 10.
17341
17342 2010-01-17  Bruno Haible  <bruno@clisp.org>
17343
17344         unistdio/*-sprintf: Fix typo in module description.
17345         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
17346         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
17347         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
17348         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
17349         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
17350         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
17351         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
17352         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17353
17354 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17355
17356         gnulib-tool: fix filelist for AIX, HP-UX ksh.
17357         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
17358         variables in shell case patterns, for AIX and HP-UX ksh.
17359
17360         Split large sed scripts, for HP-UX sed.
17361         * modules/stdio: Split sed scripts around 50 sed commands,
17362         to avoid HP-UX limit of 99 commands, in the near future.
17363         * modules/string: Likewise.
17364         * modules/unistd: Likewise.
17365
17366         gnulib-tool: avoid writing in the current directory.
17367         * gnulib-tool (func_emit_lib_Makefile_am)
17368         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
17369         not in the current directory, so concurrent gnulib-tool
17370         instances do not interfere.
17371
17372 2010-01-16  Jim Meyering  <meyering@redhat.com>
17373
17374         doc: update users.txt
17375         * users.txt: Add grep.
17376         (diffutils, gzip): Update URLs.
17377
17378 2010-01-12  Bruno Haible  <bruno@clisp.org>
17379
17380         posix_spawn: Avoid test failure on Cygwin.
17381         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
17382         characters.
17383         Reported by Simon Josefsson.
17384
17385 2010-01-12  Bruno Haible  <bruno@clisp.org>
17386
17387         * tests/test-cond.c (main): When skipping the test, show the reason.
17388
17389 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17390
17391         * lib/striconv.c (str_cd_iconv): Avoid if before free.
17392
17393 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17394
17395         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
17396         VC_LIST_ALWAYS_EXCLUDE_REGEX.
17397
17398 2010-01-12  Eric Blake  <ebb9@byu.net>
17399
17400         build: guarantee AS_VAR_IF
17401         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
17402         (gl_AS_VAR_IF): Move...
17403         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
17404         Reported by Simon Josefsson.
17405
17406 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17407
17408         * lib/stdio.in.h: Fix typo.
17409
17410 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17411
17412         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
17413         libgpg-error.
17414
17415 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17416
17417         * tests/test-xalloc-die.sh: Use $EXEEXT.
17418
17419 2010-01-12  Simon Josefsson  <simon@josefsson.org>
17420             Bruno Haible  <bruno@clisp.org>
17421
17422         getlogin, getlogin_r: Avoid test failure.
17423         * tests/test-getlogin.c: Include <stdio.h>.
17424         (main): Skip the test when the function fails because stdin is not a
17425         tty.
17426         * tests/test-getlogin_r.c: Include <stdio.h>.
17427         (main): Skip the test when the function fails because stdin is not a
17428         tty.
17429
17430 2010-01-11  Eric Blake  <ebb9@byu.net>
17431
17432         tests: avoid more large file warnings
17433         * tests/test-fflush.c: Avoid warning about ftell use.
17434         * tests/test-fseek.c: Avoid warning about fseek use.
17435
17436 2010-01-10  Bruno Haible  <bruno@clisp.org>
17437
17438         nproc: Work better on Linux when /proc and /sys are not mounted.
17439         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
17440         as lower bound when, on glibc/Linux systems,
17441         sysconf (_SC_NPROCESSORS_CONF) returns 1.
17442         Suggested by Pádraig Brady <P@draigbrady.com>.
17443         Reported by Dmitry V. Levin <ldv@altlinux.org>.
17444
17445         nproc: Refactor.
17446         * lib/nproc.c (num_processors_via_affinity_mask): New function,
17447         extracted from num_processors.
17448         (num_processors): Call it.
17449
17450 2010-01-11  Jim Meyering  <meyering@redhat.com>
17451
17452         utimecmp: avoid new warning from upcoming gcc-4.5.0
17453         * lib/utimecmp.c (BILLION): Define using #define rather than an
17454         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
17455
17456 2010-01-11  Eric Blake  <ebb9@byu.net>
17457
17458         math: add portability warnings for classification macros
17459         * modules/math (Depends-on): Add warn-on-use.
17460         (Makefile.am): Provide new substitutions.
17461         * m4/math_h.m4 (gl_MATH_H): Require inline.
17462         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
17463         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
17464         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
17465         implement warnings.
17466
17467         unistd: warn on use of environ without module
17468         * modules/unistd (Depends-on): Add warn-on-use.
17469         (Makefile.am): Provide new substitutions.
17470         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
17471         * lib/unistd.in.h (environ): Wrap with a warning helper function.
17472
17473         stdio: warn on suspicious uses
17474         * modules/stdio (Depends-on): Add warn-on-use.
17475         (Makefile.am): Provide new substitutions.
17476         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
17477         fseeko.
17478         * lib/stdio.in.h (gets): Always warn on use.
17479         (fseek, ftell): Adjust when warnings are issued, and honor
17480         _GL_NO_LARGE_FILES as a way to silence the warning.
17481         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
17482         any warning about large file offsets.
17483         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
17484         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
17485         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
17486         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
17487         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
17488         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
17489         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
17490         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
17491
17492         warn-on-use: new module
17493         * modules/warn-on-use: New file.
17494         * build-aux/warn-on-use.h: Likewise.
17495         * m4/warn-on-use.m4: Likewise.
17496         * MODULES.html.sh (Support for building): Mention it.
17497
17498 2010-01-10  Bruno Haible  <bruno@clisp.org>
17499
17500         Tests for module 'unistr/u32-strdup'.
17501         * modules/unistr/u32-strdup-tests: New file.
17502         * tests/unistr/test-u32-strdup.c: New file.
17503
17504         Tests for module 'unistr/u16-strdup'.
17505         * modules/unistr/u16-strdup-tests: New file.
17506         * tests/unistr/test-u16-strdup.c: New file.
17507
17508         Tests for module 'unistr/u8-strdup'.
17509         * modules/unistr/u8-strdup-tests: New file.
17510         * tests/unistr/test-u8-strdup.c: New file.
17511         * tests/unistr/test-strdup.h: New file.
17512
17513         Tests for module 'unistr/u32-strncmp'.
17514         * modules/unistr/u32-strncmp-tests: New file.
17515         * tests/unistr/test-u32-strncmp.c: New file.
17516
17517         Tests for module 'unistr/u16-strncmp'.
17518         * modules/unistr/u16-strncmp-tests: New file.
17519         * tests/unistr/test-u16-strncmp.c: New file.
17520
17521         Tests for module 'unistr/u8-strncmp'.
17522         * modules/unistr/u8-strncmp-tests: New file.
17523         * tests/unistr/test-u8-strncmp.c: New file.
17524         * tests/unistr/test-strncmp.h: New file.
17525
17526         Tests for module 'unistr/u32-strcoll'.
17527         * modules/unistr/u32-strcoll-tests: New file.
17528         * tests/unistr/test-u32-strcoll.c: New file.
17529
17530         Tests for module 'unistr/u16-strcoll'.
17531         * modules/unistr/u16-strcoll-tests: New file.
17532         * tests/unistr/test-u16-strcoll.c: New file.
17533
17534         Tests for module 'unistr/u8-strcoll'.
17535         * modules/unistr/u8-strcoll-tests: New file.
17536         * tests/unistr/test-u8-strcoll.c: New file.
17537
17538         Tests for module 'unistr/u32-strcmp'.
17539         * modules/unistr/u32-strcmp-tests: New file.
17540         * tests/unistr/test-u32-strcmp.c: New file.
17541         * tests/unistr/test-u32-strcmp.h: New file.
17542
17543         Tests for module 'unistr/u16-strcmp'.
17544         * modules/unistr/u16-strcmp-tests: New file.
17545         * tests/unistr/test-u16-strcmp.c: New file.
17546         * tests/unistr/test-u16-strcmp.h: New file.
17547
17548         Tests for module 'unistr/u8-strcmp'.
17549         * modules/unistr/u8-strcmp-tests: New file.
17550         * tests/unistr/test-u8-strcmp.c: New file.
17551         * tests/unistr/test-u8-strcmp.h: New file.
17552         * tests/unistr/test-strcmp.h: New file.
17553
17554         Tests for module 'unistr/u32-strncat'.
17555         * modules/unistr/u32-strncat-tests: New file.
17556         * tests/unistr/test-u32-strncat.c: New file.
17557
17558         Tests for module 'unistr/u16-strncat'.
17559         * modules/unistr/u16-strncat-tests: New file.
17560         * tests/unistr/test-u16-strncat.c: New file.
17561
17562         Tests for module 'unistr/u8-strncat'.
17563         * modules/unistr/u8-strncat-tests: New file.
17564         * tests/unistr/test-u8-strncat.c: New file.
17565         * tests/unistr/test-strncat.h: New file.
17566
17567         Tests for module 'unistr/u32-strcat'.
17568         * modules/unistr/u32-strcat-tests: New file.
17569         * tests/unistr/test-u32-strcat.c: New file.
17570
17571         Tests for module 'unistr/u16-strcat'.
17572         * modules/unistr/u16-strcat-tests: New file.
17573         * tests/unistr/test-u16-strcat.c: New file.
17574
17575         Tests for module 'unistr/u8-strcat'.
17576         * modules/unistr/u8-strcat-tests: New file.
17577         * tests/unistr/test-u8-strcat.c: New file.
17578         * tests/unistr/test-strcat.h: New file.
17579
17580         Tests for module 'unistr/u32-stpncpy'.
17581         * modules/unistr/u32-stpncpy-tests: New file.
17582         * tests/unistr/test-u32-stpncpy.c: New file.
17583
17584         Tests for module 'unistr/u16-stpncpy'.
17585         * modules/unistr/u16-stpncpy-tests: New file.
17586         * tests/unistr/test-u16-stpncpy.c: New file.
17587
17588         Tests for module 'unistr/u8-stpncpy'.
17589         * modules/unistr/u8-stpncpy-tests: New file.
17590         * tests/unistr/test-u8-stpncpy.c: New file.
17591         * tests/unistr/test-stpncpy.h: New file.
17592
17593         Tests for module 'unistr/u32-strncpy'.
17594         * modules/unistr/u32-strncpy-tests: New file.
17595         * tests/unistr/test-u32-strncpy.c: New file.
17596
17597         Tests for module 'unistr/u16-strncpy'.
17598         * modules/unistr/u16-strncpy-tests: New file.
17599         * tests/unistr/test-u16-strncpy.c: New file.
17600
17601         Tests for module 'unistr/u8-strncpy'.
17602         * modules/unistr/u8-strncpy-tests: New file.
17603         * tests/unistr/test-u8-strncpy.c: New file.
17604         * tests/unistr/test-strncpy.h: New file.
17605
17606         Tests for module 'unistr/u32-stpcpy'.
17607         * modules/unistr/u32-stpcpy-tests: New file.
17608         * tests/unistr/test-u32-stpcpy.c: New file.
17609
17610         Tests for module 'unistr/u16-stpcpy'.
17611         * modules/unistr/u16-stpcpy-tests: New file.
17612         * tests/unistr/test-u16-stpcpy.c: New file.
17613
17614         Tests for module 'unistr/u8-stpcpy'.
17615         * modules/unistr/u8-stpcpy-tests: New file.
17616         * tests/unistr/test-u8-stpcpy.c: New file.
17617         * tests/unistr/test-stpcpy.h: New file.
17618
17619         Tests for module 'unistr/u32-strcpy'.
17620         * modules/unistr/u32-strcpy-tests: New file.
17621         * tests/unistr/test-u32-strcpy.c: New file.
17622
17623         Tests for module 'unistr/u16-strcpy'.
17624         * modules/unistr/u16-strcpy-tests: New file.
17625         * tests/unistr/test-u16-strcpy.c: New file.
17626
17627         Tests for module 'unistr/u8-strcpy'.
17628         * modules/unistr/u8-strcpy-tests: New file.
17629         * tests/unistr/test-u8-strcpy.c: New file.
17630         * tests/unistr/test-strcpy.h: New file.
17631
17632         Tests for module 'unistr/u32-strnlen'.
17633         * modules/unistr/u32-strnlen-tests: New file.
17634         * tests/unistr/test-u32-strnlen.c: New file.
17635
17636         Tests for module 'unistr/u16-strnlen'.
17637         * modules/unistr/u16-strnlen-tests: New file.
17638         * tests/unistr/test-u16-strnlen.c: New file.
17639
17640         Tests for module 'unistr/u8-strnlen'.
17641         * modules/unistr/u8-strnlen-tests: New file.
17642         * tests/unistr/test-u8-strnlen.c: New file.
17643         * tests/unistr/test-strnlen.h: New file.
17644
17645         Tests for module 'unistr/u32-strlen'.
17646         * modules/unistr/u32-strlen-tests: New file.
17647         * tests/unistr/test-u32-strlen.c: New file.
17648
17649         Tests for module 'unistr/u16-strlen'.
17650         * modules/unistr/u16-strlen-tests: New file.
17651         * tests/unistr/test-u16-strlen.c: New file.
17652
17653         Tests for module 'unistr/u8-strlen'.
17654         * modules/unistr/u8-strlen-tests: New file.
17655         * tests/unistr/test-u8-strlen.c: New file.
17656
17657         Tests for module 'unistr/u32-prev'.
17658         * modules/unistr/u32-prev-tests: New file.
17659         * tests/unistr/test-u32-prev.c: New file.
17660
17661         Tests for module 'unistr/u16-prev'.
17662         * modules/unistr/u16-prev-tests: New file.
17663         * tests/unistr/test-u16-prev.c: New file.
17664
17665         Tests for module 'unistr/u8-prev'.
17666         * modules/unistr/u8-prev-tests: New file.
17667         * tests/unistr/test-u8-prev.c: New file.
17668
17669         Tests for module 'unistr/u32-next'.
17670         * modules/unistr/u32-next-tests: New file.
17671         * tests/unistr/test-u32-next.c: New file.
17672
17673         Tests for module 'unistr/u16-next'.
17674         * modules/unistr/u16-next-tests: New file.
17675         * tests/unistr/test-u16-next.c: New file.
17676
17677         Tests for module 'unistr/u8-next'.
17678         * modules/unistr/u8-next-tests: New file.
17679         * tests/unistr/test-u8-next.c: New file.
17680
17681         Tests for module 'unistr/u32-strmbtouc'.
17682         * modules/unistr/u32-strmbtouc-tests: New file.
17683         * tests/unistr/test-u32-strmbtouc.c: New file.
17684
17685         Tests for module 'unistr/u16-strmbtouc'.
17686         * modules/unistr/u16-strmbtouc-tests: New file.
17687         * tests/unistr/test-u16-strmbtouc.c: New file.
17688
17689         Tests for module 'unistr/u8-strmbtouc'.
17690         * modules/unistr/u8-strmbtouc-tests: New file.
17691         * tests/unistr/test-u8-strmbtouc.c: New file.
17692
17693         Tests for module 'unistr/u32-strmblen'.
17694         * modules/unistr/u32-strmblen-tests: New file.
17695         * tests/unistr/test-u32-strmblen.c: New file.
17696
17697         Tests for module 'unistr/u16-strmblen'.
17698         * modules/unistr/u16-strmblen-tests: New file.
17699         * tests/unistr/test-u16-strmblen.c: New file.
17700
17701         Tests for module 'unistr/u8-strmblen'.
17702         * modules/unistr/u8-strmblen-tests: New file.
17703         * tests/unistr/test-u8-strmblen.c: New file.
17704
17705         Tests for module 'unistr/u32-cpy-alloc'.
17706         * modules/unistr/u32-cpy-alloc-tests: New file.
17707         * tests/unistr/test-u32-cpy-alloc.c: New file.
17708
17709         Tests for module 'unistr/u16-cpy-alloc'.
17710         * modules/unistr/u16-cpy-alloc-tests: New file.
17711         * tests/unistr/test-u16-cpy-alloc.c: New file.
17712
17713         Tests for module 'unistr/u8-cpy-alloc'.
17714         * modules/unistr/u8-cpy-alloc-tests: New file.
17715         * tests/unistr/test-u8-cpy-alloc.c: New file.
17716         * tests/unistr/test-cpy-alloc.h: New file.
17717
17718         Tests for module 'unistr/u32-mbsnlen'.
17719         * modules/unistr/u32-mbsnlen-tests: New file.
17720         * tests/unistr/test-u32-mbsnlen.c: New file.
17721
17722         Tests for module 'unistr/u16-mbsnlen'.
17723         * modules/unistr/u16-mbsnlen-tests: New file.
17724         * tests/unistr/test-u16-mbsnlen.c: New file.
17725
17726         Tests for module 'unistr/u8-mbsnlen'.
17727         * modules/unistr/u8-mbsnlen-tests: New file.
17728         * tests/unistr/test-u8-mbsnlen.c: New file.
17729
17730         Tests for module 'unistr/u32-chr'.
17731         * modules/unistr/u32-chr-tests: New file.
17732         * tests/unistr/test-u32-chr.c: New file.
17733
17734         Tests for module 'unistr/u16-chr'.
17735         * modules/unistr/u16-chr-tests: New file.
17736         * tests/unistr/test-u16-chr.c: New file.
17737
17738         Tests for module 'unistr/u8-chr'.
17739         * modules/unistr/u8-chr-tests: New file.
17740         * tests/unistr/test-u8-chr.c: New file.
17741         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
17742
17743         Tests for module 'unistr/u32-cmp2'.
17744         * modules/unistr/u32-cmp2-tests: New file.
17745         * tests/unistr/test-u32-cmp2.c: New file.
17746
17747         Tests for module 'unistr/u16-cmp2'.
17748         * modules/unistr/u16-cmp2-tests: New file.
17749         * tests/unistr/test-u16-cmp2.c: New file.
17750
17751         Tests for module 'unistr/u8-cmp2'.
17752         * modules/unistr/u8-cmp2-tests: New file.
17753         * tests/unistr/test-u8-cmp2.c: New file.
17754         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
17755
17756         Tests for module 'unistr/u32-cmp'.
17757         * modules/unistr/u32-cmp-tests: New file.
17758         * tests/unistr/test-u32-cmp.c: New file.
17759
17760         Tests for module 'unistr/u16-cmp'.
17761         * modules/unistr/u16-cmp-tests: New file.
17762         * tests/unistr/test-u16-cmp.c: New file.
17763
17764         Tests for module 'unistr/u8-cmp'.
17765         * modules/unistr/u8-cmp-tests: New file.
17766         * tests/unistr/test-u8-cmp.c: New file.
17767         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
17768
17769         Tests for module 'unistr/u32-set'.
17770         * modules/unistr/u32-set-tests: New file.
17771         * tests/unistr/test-u32-set.c: New file.
17772
17773         Tests for module 'unistr/u16-set'.
17774         * modules/unistr/u16-set-tests: New file.
17775         * tests/unistr/test-u16-set.c: New file.
17776
17777         Tests for module 'unistr/u8-set'.
17778         * modules/unistr/u8-set-tests: New file.
17779         * tests/unistr/test-u8-set.c: New file.
17780         * tests/unistr/test-set.h: New file.
17781
17782         Tests for module 'unistr/u32-move'.
17783         * modules/unistr/u32-move-tests: New file.
17784         * tests/unistr/test-u32-move.c: New file.
17785
17786         Tests for module 'unistr/u16-move'.
17787         * modules/unistr/u16-move-tests: New file.
17788         * tests/unistr/test-u16-move.c: New file.
17789
17790         Tests for module 'unistr/u8-move'.
17791         * modules/unistr/u8-move-tests: New file.
17792         * tests/unistr/test-u8-move.c: New file.
17793         * tests/unistr/test-move.h: New file.
17794
17795         Tests for module 'unistr/u32-cpy'.
17796         * modules/unistr/u32-cpy-tests: New file.
17797         * tests/unistr/test-u32-cpy.c: New file.
17798
17799         Tests for module 'unistr/u16-cpy'.
17800         * modules/unistr/u16-cpy-tests: New file.
17801         * tests/unistr/test-u16-cpy.c: New file.
17802
17803         Tests for module 'unistr/u8-cpy'.
17804         * modules/unistr/u8-cpy-tests: New file.
17805         * tests/unistr/test-u8-cpy.c: New file.
17806         * tests/unistr/test-cpy.h: New file.
17807
17808 2010-01-09  Bruno Haible  <bruno@clisp.org>
17809
17810         Tests for module 'unistr/u32-uctomb'.
17811         * modules/unistr/u32-uctomb-tests: New file.
17812         * tests/unistr/test-u32-uctomb.c: New file.
17813
17814         Tests for module 'unistr/u16-uctomb'.
17815         * modules/unistr/u16-uctomb-tests: New file.
17816         * tests/unistr/test-u16-uctomb.c: New file.
17817
17818         Tests for module 'unistr/u8-uctomb'.
17819         * modules/unistr/u8-uctomb-tests: New file.
17820         * tests/unistr/test-u8-uctomb.c: New file.
17821
17822         Tests for module 'unistr/u32-mbtoucr'.
17823         * modules/unistr/u32-mbtoucr-tests: New file.
17824         * tests/unistr/test-u32-mbtoucr.c: New file.
17825
17826         Tests for module 'unistr/u16-mbtoucr'.
17827         * modules/unistr/u16-mbtoucr-tests: New file.
17828         * tests/unistr/test-u16-mbtoucr.c: New file.
17829
17830         Tests for module 'unistr/u8-mbtoucr'.
17831         * modules/unistr/u8-mbtoucr-tests: New file.
17832         * tests/unistr/test-u8-mbtoucr.c: New file.
17833
17834         Tests for module 'unistr/u32-mbtouc'.
17835         * modules/unistr/u32-mbtouc-tests: New file.
17836         * tests/unistr/test-u32-mbtouc.c: New file.
17837
17838         Tests for module 'unistr/u16-mbtouc'.
17839         * modules/unistr/u16-mbtouc-tests: New file.
17840         * tests/unistr/test-u16-mbtouc.c: New file.
17841
17842         Tests for module 'unistr/u8-mbtouc'.
17843         * modules/unistr/u8-mbtouc-tests: New file.
17844         * tests/unistr/test-u8-mbtouc.c: New file.
17845
17846         Tests for module 'unistr/u32-mbtouc-unsafe'.
17847         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
17848         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
17849         * tests/unistr/test-u32-mbtouc.h: New file.
17850
17851         Tests for module 'unistr/u16-mbtouc-unsafe'.
17852         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
17853         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
17854         * tests/unistr/test-u16-mbtouc.h: New file.
17855
17856         Tests for module 'unistr/u8-mbtouc-unsafe'.
17857         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
17858         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
17859         * tests/unistr/test-u8-mbtouc.h: New file.
17860
17861         Tests for module 'unistr/u32-mblen'.
17862         * modules/unistr/u32-mblen-tests: New file.
17863         * tests/unistr/test-u32-mblen.c: New file.
17864
17865         Tests for module 'unistr/u16-mblen'.
17866         * modules/unistr/u16-mblen-tests: New file.
17867         * tests/unistr/test-u16-mblen.c: New file.
17868
17869         Tests for module 'unistr/u8-mblen'.
17870         * modules/unistr/u8-mblen-tests: New file.
17871         * tests/unistr/test-u8-mblen.c: New file.
17872
17873         Tests for module 'unistr/u32-to-u16'.
17874         * modules/unistr/u32-to-u16-tests: New file.
17875         * tests/unistr/test-u32-to-u16.c: New file.
17876
17877         Tests for module 'unistr/u32-to-u8'.
17878         * modules/unistr/u32-to-u8-tests: New file.
17879         * tests/unistr/test-u32-to-u8.c: New file.
17880
17881         Tests for module 'unistr/u16-to-u32'.
17882         * modules/unistr/u16-to-u32-tests: New file.
17883         * tests/unistr/test-u16-to-u32.c: New file.
17884
17885         Tests for module 'unistr/u16-to-u8'.
17886         * modules/unistr/u16-to-u8-tests: New file.
17887         * tests/unistr/test-u16-to-u8.c: New file.
17888
17889         Tests for module 'unistr/u8-to-u32'.
17890         * modules/unistr/u8-to-u32-tests: New file.
17891         * tests/unistr/test-u8-to-u32.c: New file.
17892
17893         Tests for module 'unistr/u8-to-u16'.
17894         * modules/unistr/u8-to-u16-tests: New file.
17895         * tests/unistr/test-u8-to-u16.c: New file.
17896
17897         Tests for module 'unistr/u32-check'.
17898         * modules/unistr/u32-check-tests: New file.
17899         * tests/unistr/test-u32-check.c: New file.
17900
17901         Tests for module 'unistr/u16-check'.
17902         * modules/unistr/u16-check-tests: New file.
17903         * tests/unistr/test-u16-check.c: New file.
17904
17905         Tests for module 'unistr/u8-check'.
17906         * modules/unistr/u8-check-tests: New file.
17907         * tests/unistr/test-u8-check.c: New file.
17908
17909         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
17910         (category_equals): New function.
17911         (main): Add more tests.
17912         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
17913
17914         * tests/unictype/test-bidi_byname.c (main): Add more tests.
17915
17916 2010-01-10  Bruno Haible  <bruno@clisp.org>
17917
17918         unistr/u*-strcoll: Try harder to distinguish different strings.
17919         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
17920         compare s1 and s2 to see if they are different.
17921
17922 2010-01-10  Bruno Haible  <bruno@clisp.org>
17923
17924         unistr/u*-stpncpy: Fix the return value.
17925         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
17926         description of the return value consistent with stpncpy in glibc.
17927         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
17928         written non-NUL unit.
17929
17930 2010-01-10  Bruno Haible  <bruno@clisp.org>
17931
17932         unistr/u*-next: Add missing dependencies.
17933         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
17934         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
17935         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
17936
17937 2010-01-10  Bruno Haible  <bruno@clisp.org>
17938
17939         unistr/u8-mbsnlen: Fix return value for incomplete character.
17940         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
17941         u8_mblen.
17942         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
17943         Remove unistr/u8-mblen.
17944         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
17945         u16_mblen.
17946         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
17947         Remove unistr/u16-mblen.
17948
17949 2010-01-10  Bruno Haible  <bruno@clisp.org>
17950
17951         wchar: Fix compilation error when <wchar.h> is used from coreutils.
17952         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
17953         Reported by Brian Gough <bjg@gnu.org> and
17954         Chris Clayton <chris2553@googlemail.com> via
17955         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
17956
17957 2010-01-09  Bruno Haible  <bruno@clisp.org>
17958
17959         unistr/u16-to-u32: Reject invalid input.
17960         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
17961         u16_mbtouc.
17962         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
17963         Remove unistr/u16-mbtouc.
17964
17965         unistr/u16-to-u8: Reject invalid input.
17966         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
17967         u16_mbtouc.
17968         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
17969         Remove unistr/u16-mbtouc.
17970
17971         unistr/u8-to-u32: Reject invalid input.
17972         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
17973         u8_mbtouc.
17974         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
17975         Remove unistr/u8-mbtouc.
17976
17977         unistr/u8-to-u16: Reject invalid input.
17978         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
17979         u8_mbtouc.
17980         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
17981         Remove unistr/u8-mbtouc.
17982
17983 2010-01-09  Bruno Haible  <bruno@clisp.org>
17984
17985         Tests for module 'getlogin'.
17986         * modules/getlogin-tests: New file.
17987         * tests/test-getlogin.c: New file.
17988
17989         New module 'getlogin'.
17990         * lib/unistd.in.h (getlogin): New declaration.
17991         * lib/getlogin.c: New file.
17992         * m4/getlogin.m4: New file.
17993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
17994         HAVE_GETLOGIN.
17995         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
17996         HAVE_GETLOGIN.
17997         * modules/getlogin: New file.
17998         * doc/posix-functions/getlogin.texi: Mention the new module.
17999         Reported by John W. Eaton <jwe@gnu.org>.
18000
18001 2010-01-09  Bruno Haible  <bruno@clisp.org>
18002
18003         getlogin_r: Support for native Windows.
18004         * lib/getlogin_r.c: Include <windows.h>
18005         (getlogin_r): Implement for native Windows.
18006         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
18007         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
18008         via John W. Eaton <jwe@gnu.org>.
18009
18010 2010-01-09  Bruno Haible  <bruno@clisp.org>
18011
18012         getlogin_r: Small fixes.
18013         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
18014         succeeds.
18015         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
18016         before testing whether getlogin_r is declared. No need to set
18017         HAVE_DECL_GETLOGIN_R to 1.
18018         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
18019
18020 2010-01-09  Bruno Haible  <bruno@clisp.org>
18021
18022         * lib/unistd.in.h (getlogin_r): Add comment.
18023
18024 2010-01-09  Bruno Haible  <bruno@clisp.org>
18025
18026         Tests for module 'getlogin_r'.
18027         * modules/getlogin_r-tests: New file.
18028         * tests/test-getlogin_r.c: New file.
18029
18030 2010-01-09  Jim Meyering  <meyering@redhat.com>
18031
18032         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
18033         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
18034         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
18035
18036 2010-01-08  Simon Josefsson  <simon@josefsson.org>
18037
18038         * lib/dup2.c (rpl_dup2): Improve comment.
18039
18040 2010-01-08  Eric Blake  <ebb9@byu.net>
18041
18042         maint.mk: allow packages to add makefile @@ exceptions
18043         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
18044         (sc_makefile_check): Rename...
18045         (sc_makefile_at_at_check): ...to this, and use hook.
18046
18047         dup2: work around mingw bug
18048         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
18049         Reported by Simon Josefsson.
18050
18051 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
18052
18053         glob: Fix C++ compilation.
18054         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
18055         C++.
18056
18057 2010-01-07  Bruno Haible  <bruno@clisp.org>
18058
18059         Fix indentation of wctype.in.h, broken since 2007-01-06.
18060         * lib/wctype.in.h: Fix indentation of preprocessor directives.
18061
18062 2010-01-07  Bruno Haible  <bruno@clisp.org>
18063
18064         mbslen: Avoid collision with system function.
18065         * lib/string.in.h [MirBSD]: Include <wchar.h>.
18066         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
18067         * m4/mbslen.m4: New file.
18068         * modules/mbslen (Files): Add it.
18069         (configure.ac): Invoke gl_MBSLEN.
18070         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
18071         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
18072         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
18073         via Ian Beckwith <ianb@erislabs.net>.
18074
18075 2010-01-07  Bruno Haible  <bruno@clisp.org>
18076
18077         dirent: Document the last fix.
18078         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
18079
18080 2010-01-07  Bruno Haible  <bruno@clisp.org>
18081
18082         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
18083         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
18084         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
18085         va_list are defined.
18086         * doc/posix-headers/stdio.texi: Document the bug of missing types.
18087         Reported by Eric Blake.
18088
18089 2010-01-07  Bruno Haible  <bruno@clisp.org>
18090
18091         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
18092         * modules/xlist (Depends-on): Add 'list',
18093         * modules/xoset (Depends-on): Add 'oset'.
18094         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18095
18096 2010-01-07  Bruno Haible  <bruno@clisp.org>
18097
18098         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
18099         * doc/posix-functions/strncasecmp.texi: Likewise.
18100
18101 2010-01-07  Bruno Haible  <bruno@clisp.org>
18102
18103         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
18104
18105 2010-01-07  John W. Eaton  <jwe@octave.org>
18106
18107         wctype: allow C++ use
18108         * lib/wctype.in.h: Add extern "C" block for C++.
18109
18110 2010-01-06  Eric Blake  <ebb9@byu.net>
18111
18112         maint.mk: detect incorrect GFDL usage
18113         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
18114
18115 2010-01-06  Jim Meyering  <meyering@redhat.com>
18116         and Eric Blake  <ebb9@byu.net>
18117
18118         maint.mk: ignore multi-line copyright in NEWS
18119         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
18120
18121 2010-01-06  Eric Blake  <ebb9@byu.net>
18122
18123         select: add missing dependency
18124         * modules/select-tests (Depends-on): Move sockets dependency...
18125         * modules/select (Depends-on): ...here.
18126         Reported by Ian Beckwith.
18127
18128         doc: regenerate INSTALL
18129         * doc/INSTALL: Reflect recent autoconf update.
18130         * doc/INSTALL.ISO: Likewise.
18131         * doc/INSTALL.UTF-8: Likewise.
18132
18133         pread: fix compilation on glibc
18134         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
18135         Reported by Ralf Wildenhues.
18136
18137         dirent: fix test failure
18138         * lib/dirent.in.h (includes): Guarantee ino_t.
18139         Reported by Ralf Wildenhues.
18140
18141 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
18142
18143         linkat, renameat: avoid bad free
18144         * lib/at-func2.c (at_func2): Fix typo.
18145         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
18146
18147 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18148
18149         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
18150         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
18151         to avoid failure of symlink test later.
18152
18153 2010-01-06  Eric Blake  <ebb9@byu.net>
18154
18155         stdio, unistd: guarantee ssize_t
18156         * lib/unistd.in.h (includes): Ensure that types required by POSIX
18157         2008 are exposed when needed.
18158         * lib/stdio.in.h (includes): Likewise.
18159         Reported by Ralf Wildenhues.
18160
18161 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
18162
18163         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
18164         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
18165         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
18166
18167 2010-01-06  Jim Meyering  <meyering@redhat.com>
18168
18169         readtokens: this module *does* require xalloc.h
18170         It uses only functions that were omitted by the old syntax-check rule.
18171         * lib/readtokens.c: Include "xalloc.h" once again.
18172         * modules/readtokens (Depends-on): Add xalloc.
18173         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
18174
18175 2010-01-05  Eric Blake  <ebb9@byu.net>
18176
18177         maint: support 'make announcement' from a VPATH build
18178         * top/maint.mk (announcement): Look for correct NEWS file.
18179
18180 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
18181
18182         utimens (fdutimens): ignore a negative FD, per contract
18183         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
18184         when we have a valid file descriptor.  Otherwise, using a brand
18185         new glibc (with just-patched futimens that now fails with EBADF)
18186         would cause this function to fail with ENOSYS.
18187         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
18188         See also http://bugzilla.redhat.com/552320.
18189
18190 2010-01-05  Eric Blake  <ebb9@byu.net>
18191
18192         strcase: document what it provides
18193         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
18194         gnulib module.
18195         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
18196         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
18197
18198 2010-01-05  Jim Meyering  <meyering@redhat.com>
18199
18200         maint: remove useless inclusions of "xalloc.h"
18201         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
18202         * lib/readtokens.c: Likewise.
18203         * lib/same.c: Likewise.
18204         * modules/getloadavg (Depends-on): Remove xalloc.
18205         * modules/readtokens: Likewise.
18206         * modules/same: Likewise.
18207
18208         maint.mk: include 4 more function names in alloca.h-checking regexp
18209         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
18210         regexp.  Before, we would give a false-positive (saying alloca.h
18211         is included unnecessarily) when the only uses involved omitted symbols.
18212
18213         xalloc.h: use consistent formatting
18214         * lib/xalloc.h: Move declarations to start in the first column.
18215
18216 2010-01-05  Eric Blake  <ebb9@byu.net>
18217
18218         mkdir: avoid xalloc
18219         * lib/mkdir.c (includes): Drop unused header.
18220         Reported by John W. Eaton.
18221
18222 2010-01-04  Jim Meyering  <meyering@redhat.com>
18223
18224         nl_langinfo: avoid configure-time syntax error
18225         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
18226         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
18227         the empty string.  Don't let that provoke a shell syntax error.
18228
18229         regcomp, regexec, fnmatch: avoid array bounds read error
18230         * lib/regcomp.c (build_equiv_class): From glibc:
18231         Use only the low 24 bits of a findidx return value as an index
18232         into the weights array.  Patch by Ulrich Drepper:
18233         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
18234         * lib/regexec.c (check_node_accept_bytes): Likewise.
18235         * lib/fnmatch_loop.c (FCT): Likewise.
18236
18237         regcomp: skip collseq lookup when there are no rules
18238         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
18239         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
18240
18241         regcomp: recognize ill-formed { } expressions
18242         * lib/regcomp.c (parse_dup_op): From glibc:
18243         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
18244
18245         regcomp: fix typo in comment
18246         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
18247         s/satisfy/satisfies/.
18248
18249         regcomp: sync from glibc: remove dead store
18250         * lib/regcomp.c (duplicate_node_closure): Remove useless
18251         search_duplicated_node call and dead store.
18252
18253         regcomp: sync from glibc; always use nl_langinfo
18254         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
18255         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
18256         * modules/regex (Depends-on): Add nl_langinfo.
18257
18258 2010-01-04  Eric Blake  <ebb9@byu.net>
18259
18260         fdopendir: fix configure test
18261         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
18262
18263 2010-01-01  Bruno Haible  <bruno@clisp.org>
18264
18265         wchar: Remove unused configure check.
18266         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
18267
18268 2010-01-01  Eric Blake  <ebb9@byu.net>
18269
18270         headers: make check of system header explicit
18271         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
18272         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
18273         ourselves.
18274         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18275         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18276         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
18277         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
18278         internals.
18279         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
18280         missing.
18281         Suggested by Bruno Haible.
18282
18283 2010-01-01  Jim Meyering  <meyering@redhat.com>
18284
18285         ChangeLog: tweak to eliminate unnecessary copyright line
18286         * ChangeLog: Remove a copyright line that was mistakenly updated
18287         by today's update-copyright run.  Reported by Eric Blake.
18288
18289         test-update-copyright: don't let envvar setting cause test failure
18290         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18291
18292 2010-01-01  Bruno Haible  <bruno@clisp.org>
18293
18294         localename: Avoid gcc warning.
18295         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
18296         function if it is not used.
18297
18298 2010-01-01  Jim Meyering  <meyering@redhat.com>
18299
18300         update nearly all FSF copyright year lists to include 2010
18301         Use the same procedure as for 2009, outlined in
18302         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
18303
18304         version-etc: set COPYRIGHT_YEAR to 2010
18305         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
18306
18307 2009-12-31  Eric Blake  <ebb9@byu.net>
18308
18309         doc: correct availability of cygwin 1.5.x getopt
18310         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
18311         variables.
18312         * doc/posix-functions/opterr.texi (opterr): Likewise.
18313         * doc/posix-functions/optind.texi (optind): Likewise.
18314         * doc/posix-functions/optopt.texi (optopt): Likewise.
18315         * doc/posix-functions/tzname.texi (tzname): Likewise.
18316
18317         openat: update maintainer
18318         * modules/openat (Maintainer): Add myself.
18319
18320         utimens: avoid shadowing warning
18321         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
18322         buffers into one, to avoid shadowing, as well as avoiding a
18323         redundant stat.
18324         Reported by Jim Meyering.
18325
18326         test-dup2: avoid compiler warning
18327         * tests/test-dup2.c (is_inheritable): Only define if used.
18328
18329 2010-01-01  Bruno Haible  <bruno@clisp.org>
18330
18331         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
18332         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
18333         defined, use wctomb instead of wcrtomb.
18334
18335 2010-01-01  Bruno Haible  <bruno@clisp.org>
18336
18337         iconv: Reject native Solaris iconv.
18338         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
18339         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
18340
18341 2009-12-31  Bruno Haible  <bruno@clisp.org>
18342
18343         * tests/test-signal.c (main): Remove test of 'SIG'.
18344
18345 2009-12-31  Bruno Haible  <bruno@clisp.org>
18346
18347         spawn: Fix incomplete fix.
18348         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18349         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18350         warnings for GNULIB_POSIXCHECK again.
18351         Reported by Eric Blake.
18352
18353 2009-12-31  Bruno Haible  <bruno@clisp.org>
18354
18355         Avoid namespace pollution on glibc systems.
18356         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
18357         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
18358         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
18359         glibc systems.
18360
18361 2009-12-31  Bruno Haible  <bruno@clisp.org>
18362
18363         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
18364         (gl_REPLACE_WCHAR_H): Turn into a no-op.
18365         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
18366         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18367         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18368         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18369         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18370
18371 2009-12-31  Bruno Haible  <bruno@clisp.org>
18372
18373         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
18374         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
18375         afterwards.
18376
18377 2009-12-31  Bruno Haible  <bruno@clisp.org>
18378
18379         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
18380         SYS_UTSNAME_H.
18381
18382 2009-12-31  Bruno Haible  <bruno@clisp.org>
18383
18384         spawn: Fix misapplied patch.
18385         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
18386         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
18387         warnings for GNULIB_POSIXCHECK.
18388
18389 2009-12-31  Bruno Haible  <bruno@clisp.org>
18390
18391         times: Update after sys_times changed.
18392         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
18393         * modules/times (Files): Add it.
18394         (configure.ac): Invoke gl_FUNC_TIMES.
18395
18396 2009-12-31  Bruno Haible  <bruno@clisp.org>
18397
18398         Use AC_C_INLINE where necessary.
18399         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
18400         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
18401         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
18402         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
18403         * m4/mbfile.m4 (gl_MBFILE): Likewise.
18404         * m4/mbiter.m4 (gl_MBITER): Likewise.
18405         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
18406         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18407         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
18408         * modules/u64 (configure.ac): Likewise.
18409
18410 2009-12-31  Bruno Haible  <bruno@clisp.org>
18411
18412         Use AC_C_INLINE instead of module 'inline' where possible.
18413         * modules/inline (Description): Clarify purpose.
18414         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
18415         * modules/count-one-bits (Depends-on): Remove inline.
18416         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
18417         * modules/openat (Depends-on): Remove inline.
18418         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
18419         instead of depending on module 'inline'.
18420         * modules/filevercmp (Depends-on, configure.ac): Likewise.
18421         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
18422         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
18423         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
18424         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
18425         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
18426         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
18427         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
18428         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
18429         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
18430         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
18431         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
18432         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
18433         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
18434         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
18435         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
18436         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
18437         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
18438         Likewise.
18439         * modules/unictype/property-ascii-hex-digit (Depends-on,
18440         configure.ac): Likewise.
18441         * modules/unictype/property-bidi-arabic-digit (Depends-on,
18442         configure.ac): Likewise.
18443         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
18444         configure.ac): Likewise.
18445         * modules/unictype/property-bidi-block-separator (Depends-on,
18446         configure.ac): Likewise.
18447         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
18448         configure.ac): Likewise.
18449         * modules/unictype/property-bidi-common-separator (Depends-on,
18450         configure.ac): Likewise.
18451         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
18452         Likewise.
18453         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
18454         configure.ac): Likewise.
18455         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
18456         configure.ac): Likewise.
18457         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
18458         configure.ac): Likewise.
18459         * modules/unictype/property-bidi-european-digit (Depends-on,
18460         configure.ac): Likewise.
18461         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
18462         configure.ac): Likewise.
18463         * modules/unictype/property-bidi-left-to-right (Depends-on,
18464         configure.ac): Likewise.
18465         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
18466         configure.ac): Likewise.
18467         * modules/unictype/property-bidi-other-neutral (Depends-on,
18468         configure.ac): Likewise.
18469         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
18470         Likewise.
18471         * modules/unictype/property-bidi-segment-separator (Depends-on,
18472         configure.ac): Likewise.
18473         * modules/unictype/property-bidi-whitespace (Depends-on,
18474         configure.ac): Likewise.
18475         * modules/unictype/property-combining (Depends-on, configure.ac):
18476         Likewise.
18477         * modules/unictype/property-composite (Depends-on, configure.ac):
18478         Likewise.
18479         * modules/unictype/property-currency-symbol (Depends-on,
18480         configure.ac): Likewise.
18481         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
18482         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
18483         Likewise.
18484         * modules/unictype/property-default-ignorable-code-point (Depends-on,
18485         configure.ac): Likewise.
18486         * modules/unictype/property-deprecated (Depends-on, configure.ac):
18487         Likewise.
18488         * modules/unictype/property-diacritic (Depends-on, configure.ac):
18489         Likewise.
18490         * modules/unictype/property-extender (Depends-on, configure.ac):
18491         Likewise.
18492         * modules/unictype/property-format-control (Depends-on, configure.ac):
18493         Likewise.
18494         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
18495         Likewise.
18496         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
18497         Likewise.
18498         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
18499         Likewise.
18500         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
18501         Likewise.
18502         * modules/unictype/property-hyphen (Depends-on, configure.ac):
18503         Likewise.
18504         * modules/unictype/property-id-continue (Depends-on, configure.ac):
18505         Likewise.
18506         * modules/unictype/property-id-start (Depends-on, configure.ac):
18507         Likewise.
18508         * modules/unictype/property-ideographic (Depends-on, configure.ac):
18509         Likewise.
18510         * modules/unictype/property-ids-binary-operator (Depends-on,
18511         configure.ac): Likewise.
18512         * modules/unictype/property-ids-trinary-operator (Depends-on,
18513         configure.ac): Likewise.
18514         * modules/unictype/property-ignorable-control (Depends-on,
18515         configure.ac): Likewise.
18516         * modules/unictype/property-iso-control (Depends-on, configure.ac):
18517         Likewise.
18518         * modules/unictype/property-join-control (Depends-on, configure.ac):
18519         Likewise.
18520         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
18521         Likewise.
18522         * modules/unictype/property-line-separator (Depends-on, configure.ac):
18523         Likewise.
18524         * modules/unictype/property-logical-order-exception (Depends-on,
18525         configure.ac): Likewise.
18526         * modules/unictype/property-lowercase (Depends-on, configure.ac):
18527         Likewise.
18528         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
18529         * modules/unictype/property-non-break (Depends-on, configure.ac):
18530         Likewise.
18531         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
18532         Likewise.
18533         * modules/unictype/property-numeric (Depends-on, configure.ac):
18534         Likewise.
18535         * modules/unictype/property-other-alphabetic (Depends-on,
18536         configure.ac): Likewise.
18537         * modules/unictype/property-other-default-ignorable-code-point
18538         (Depends-on, configure.ac): Likewise.
18539         * modules/unictype/property-other-grapheme-extend (Depends-on,
18540         configure.ac): Likewise.
18541         * modules/unictype/property-other-id-continue (Depends-on,
18542         configure.ac): Likewise.
18543         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
18544         Likewise.
18545         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
18546         Likewise.
18547         * modules/unictype/property-other-math (Depends-on, configure.ac):
18548         Likewise.
18549         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
18550         Likewise.
18551         * modules/unictype/property-paired-punctuation (Depends-on,
18552         configure.ac): Likewise.
18553         * modules/unictype/property-paragraph-separator (Depends-on,
18554         configure.ac): Likewise.
18555         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
18556         Likewise.
18557         * modules/unictype/property-pattern-white-space (Depends-on,
18558         configure.ac): Likewise.
18559         * modules/unictype/property-private-use (Depends-on, configure.ac):
18560         Likewise.
18561         * modules/unictype/property-punctuation (Depends-on, configure.ac):
18562         Likewise.
18563         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
18564         Likewise.
18565         * modules/unictype/property-radical (Depends-on, configure.ac):
18566         Likewise.
18567         * modules/unictype/property-sentence-terminal (Depends-on,
18568         configure.ac): Likewise.
18569         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
18570         Likewise.
18571         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
18572         * modules/unictype/property-terminal-punctuation (Depends-on,
18573         configure.ac): Likewise.
18574         * modules/unictype/property-titlecase (Depends-on, configure.ac):
18575         Likewise.
18576         * modules/unictype/property-unassigned-code-value (Depends-on,
18577         configure.ac): Likewise.
18578         * modules/unictype/property-unified-ideograph (Depends-on,
18579         configure.ac): Likewise.
18580         * modules/unictype/property-uppercase (Depends-on, configure.ac):
18581         Likewise.
18582         * modules/unictype/property-variation-selector (Depends-on,
18583         configure.ac): Likewise.
18584         * modules/unictype/property-white-space (Depends-on, configure.ac):
18585         Likewise.
18586         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
18587         Likewise.
18588         * modules/unictype/property-xid-start (Depends-on, configure.ac):
18589         Likewise.
18590         * modules/unictype/property-zero-width (Depends-on, configure.ac):
18591         Likewise.
18592         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
18593         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
18594         Likewise.
18595
18596 2009-12-31  Bruno Haible  <bruno@clisp.org>
18597
18598         Remove unnecessary AC_C_INLINE invocation.
18599         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
18600         since 2009-08-21.
18601
18602 2009-12-31  Jim Meyering  <meyering@redhat.com>
18603
18604         maint.mk: don't require explicit gpg_key_ID in cfg.mk
18605         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
18606         With this change, we can all remove the gpg_key_ID = ... definition
18607         from our respective cfg.mk files.
18608
18609         maint.mk: create announcement template in ~/, not in /tmp
18610         * top/maint.mk (emit_upload_commands): Adjust.
18611         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
18612         Remove temporary file, .ci-msg.
18613
18614 2009-12-31  Eric Blake  <ebb9@byu.net>
18615
18616         link-warning: always build headers with link warnings
18617         * modules/arpa_inet (Makefile.am): Always build replacement
18618         header.
18619         * modules/ctype (Makefile.am): Likewise.
18620         * modules/dirent (Makefile.am): Likewise.
18621         * modules/inttypes (Makefile.am): Likewise.
18622         * modules/langinfo (Makefile.am): Likewise.
18623         * modules/locale (Makefile.am): Likewise.
18624         * modules/spawn (Makefile.am): Likewise.
18625         * modules/sys_file (Makefile.am): Likewise.
18626         * modules/sys_ioctl (Makefile.am): Likewise.
18627         * modules/sys_select (Makefile.am): Likewise.
18628         * modules/sys_socket (Makefile.am): Likewise.
18629         * modules/sys_times (Makefile.am): Likewise.
18630         * modules/sys_utsname (Makefile.am): Likewise.
18631         * modules/sys_wait (Makefile.am): Likewise.
18632         * modules/wchar (Makefile.am): Likewise.
18633         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
18634         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
18635         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
18636         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
18637         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
18638         Likewise.
18639         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18640         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18641         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
18642         Likewise.
18643         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
18644         Likewise.
18645         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
18646         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
18647         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
18648         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18649         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18650         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
18651         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
18652         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
18653         (gl_WCHAR_H_DEFAULTS): Likewise.
18654
18655 2009-12-31  Eric Blake  <ebb9@byu.net>
18656
18657         signal, spawn: use link warnings
18658         * lib/signal.in.h (sigset_t): Make unconditional.
18659         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
18660         (sigpending, sigprocmask, sigaction): Add link warnings.
18661         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
18662         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
18663         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
18664         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
18665         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
18666         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
18667         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
18668         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
18669         (posix_spawn_file_actions_destroy)
18670         (posix_spawn_file_actions_addopen)
18671         (posix_spawn_file_actions_addclose)
18672         (posix_spawn_file_actions_adddup2): Likewise.
18673         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
18674         * tests/test-signal.c (main): Enhance test.
18675
18676         spawn: improve wrapper support
18677         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
18678         (gl_SPAWN_H_DEFAULTS): New defaults.
18679         * modules/spawn (Makefile.am): Substitute them.
18680         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
18681         Only declare if missing or broken.
18682
18683         sys_times, sys_utsname: use include_next
18684         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
18685         header.
18686         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
18687         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
18688         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
18689         * modules/sys_times (Depends-on): Add include_next.
18690         (Makefile.am): Substitute additional values.
18691         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18692         * lib/sys_times.in.h (includes): Include native header, if
18693         available.
18694         * lib/sys_utsname.in.h (includes): Likewise.
18695         * tests/test-sys_times.c (main): Enhance test.
18696
18697         fdutimensat: revert prior patch
18698         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
18699         utimens.h.
18700         Reported by Bruno Haible.
18701
18702 2009-12-30  Eric Blake  <ebb9@byu.net>
18703
18704         sys_wait: drop link-warning dependency
18705         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
18706         link-warning efforts.
18707         * lib/sys_wait.in.h: Likewise.
18708
18709         fdutimensat: remove bogus dependency
18710         * modules/fdutimensat (Depends-on): Drop inline.
18711
18712         unistd: fix typo
18713         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
18714
18715 2009-12-30  Bruno Haible  <bruno@clisp.org>
18716
18717         Fix compilation error with Solaris cc.
18718         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
18719         * lib/unicase/u16-is-invariant.c: Likewise.
18720         * lib/unicase/u32-is-invariant.c: Likewise.
18721         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
18722
18723 2009-12-30  Bruno Haible  <bruno@clisp.org>
18724
18725         Fix test crash.
18726         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
18727         locales.
18728         Reported by Simon Josefsson <simon@josefsson.org>.
18729
18730 2009-12-30  Bruno Haible  <bruno@clisp.org>
18731
18732         Fix compilation error on most platforms.
18733         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
18734         Reported by Simon Josefsson <simon@josefsson.org>
18735         and Nelson H. F. Beebe <beebe@math.utah.edu>.
18736
18737 2009-12-30  Eric Blake  <ebb9@byu.net>
18738
18739         futimens, utimensat: work around ntfs-3g bug
18740         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
18741         a ctime bug is present, and expand workaround to cover ntfs-3g.
18742         * lib/utimens.c (fdutimens, lutimens): Likewise.
18743         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
18744         (validate_timespec): Adjust return value.
18745         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
18746         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
18747         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
18748
18749 2009-12-29  Eric Blake  <ebb9@byu.net>
18750
18751         link-warning: make usage consistent
18752         * modules/ctype (Depends-on): Add link-warning.
18753         (Makefile.am): Update rules accordingly.
18754         * modules/langinfo (Depends-on, Makefile.am): Likewise.
18755         * modules/locale (Depends-on, Makefile.am): Likewise.
18756         * modules/sys_file (Makefile.am): Likewise.
18757         * modules/getopt-posix (Makefile.am): Delete unused link warning
18758         efforts.
18759         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
18760         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
18761         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
18762         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
18763
18764         stdio: remove unused variables
18765         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
18766         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
18767         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
18768
18769         tests: test more substitute headers
18770         * modules/ctype-tests: New file.
18771         * modules/dirent-tests: Likewise.
18772         * modules/spawn-tests: Likewise.
18773         * modules/sys_file-tests: Likewise.
18774         * modules/sys_ioctl-tests: Likewise.
18775         * modules/sys_wait-tests: Likewise.
18776         * tests/test-ctype.c: Likewise.
18777         * tests/test-dirent.c: Likewise.
18778         * tests/test-spawn.c: Likewise.
18779         * tests/test-sys_file.c: Likewise.
18780         * tests/test-sys_ioctl.c: Likewise.
18781         * tests/test-sys_wait.c: Likewise.
18782         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
18783         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
18784         whether or not flock is in use.
18785
18786         tests: remove License section from module
18787         * modules/arpa_inet-tests: Remove unneeded section.
18788         * modules/byteswap-tests: Likewise.
18789         * modules/ceilf-tests: Likewise.
18790         * modules/ceill-tests: Likewise.
18791         * modules/crypto/des-tests: Likewise.
18792         * modules/crypto/gc-arcfour-tests: Likewise.
18793         * modules/crypto/gc-arctwo-tests: Likewise.
18794         * modules/crypto/gc-des-tests: Likewise.
18795         * modules/crypto/gc-hmac-md5-tests: Likewise.
18796         * modules/crypto/gc-hmac-sha1-tests: Likewise.
18797         * modules/crypto/gc-md2-tests: Likewise.
18798         * modules/crypto/gc-md4-tests: Likewise.
18799         * modules/crypto/gc-md5-tests: Likewise.
18800         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
18801         * modules/crypto/gc-rijndael-tests: Likewise.
18802         * modules/crypto/gc-sha1-tests: Likewise.
18803         * modules/crypto/gc-tests: Likewise.
18804         * modules/crypto/md2-tests: Likewise.
18805         * modules/crypto/md4-tests: Likewise.
18806         * modules/fcntl-h-tests: Likewise.
18807         * modules/floorf-tests: Likewise.
18808         * modules/floorl-tests: Likewise.
18809         * modules/frexp-nolibm-tests: Likewise.
18810         * modules/frexp-tests: Likewise.
18811         * modules/frexpl-nolibm-tests: Likewise.
18812         * modules/frexpl-tests: Likewise.
18813         * modules/getaddrinfo-tests: Likewise.
18814         * modules/inttypes-tests: Likewise.
18815         * modules/isfinite-tests: Likewise.
18816         * modules/isinf-tests: Likewise.
18817         * modules/ldexpl-tests: Likewise.
18818         * modules/locale-tests: Likewise.
18819         * modules/math-tests: Likewise.
18820         * modules/netdb-tests: Likewise.
18821         * modules/netinet_in-tests: Likewise.
18822         * modules/printf-frexp-tests: Likewise.
18823         * modules/printf-frexpl-tests: Likewise.
18824         * modules/priv-set-tests: Likewise.
18825         * modules/random_r-tests: Likewise.
18826         * modules/round-tests: Likewise.
18827         * modules/roundf-tests: Likewise.
18828         * modules/roundl-tests: Likewise.
18829         * modules/search-tests: Likewise.
18830         * modules/select-tests: Likewise.
18831         * modules/signal-tests: Likewise.
18832         * modules/stdbool-tests: Likewise.
18833         * modules/stddef-tests: Likewise.
18834         * modules/stdint-tests: Likewise.
18835         * modules/stdio-tests: Likewise.
18836         * modules/stdlib-tests: Likewise.
18837         * modules/string-tests: Likewise.
18838         * modules/strings-tests: Likewise.
18839         * modules/sys_select-tests: Likewise.
18840         * modules/sys_socket-tests: Likewise.
18841         * modules/sys_stat-tests: Likewise.
18842         * modules/sys_time-tests: Likewise.
18843         * modules/sys_utsname-tests: Likewise.
18844         * modules/sysexits-tests: Likewise.
18845         * modules/time-tests: Likewise.
18846         * modules/trunc-tests: Likewise.
18847         * modules/truncf-tests: Likewise.
18848         * modules/truncl-tests: Likewise.
18849         * modules/tsearch-tests: Likewise.
18850         * modules/unistd-tests: Likewise.
18851         * modules/wchar-tests: Likewise.
18852         * modules/wctype-tests: Likewise.
18853
18854         tests: fix license on several tests
18855         * tests/test-des.c: Update to GPLv3+.
18856         * tests/test-flock.c: Likewise.
18857         * tests/test-fsync.c: Likewise.
18858         * tests/test-futimens.h: Likewise.
18859         * tests/test-gc-arcfour.c: Likewise.
18860         * tests/test-gc-arctwo.c: Likewise.
18861         * tests/test-gc-des.c: Likewise.
18862         * tests/test-gc-hmac-md5.c: Likewise.
18863         * tests/test-gc-hmac-sha1.c: Likewise.
18864         * tests/test-gc-md2.c: Likewise.
18865         * tests/test-gc-md4.c: Likewise.
18866         * tests/test-gc-md5.c: Likewise.
18867         * tests/test-gc-pbkdf2-sha1.c: Likewise.
18868         * tests/test-gc-rijndael.c: Likewise.
18869         * tests/test-gc-sha1.c: Likewise.
18870         * tests/test-gc.c: Likewise.
18871         * tests/test-getcwd.c: Likewise.
18872         * tests/test-link.c: Likewise.
18873         * tests/test-link.h: Likewise.
18874         * tests/test-lutimens.h: Likewise.
18875         * tests/test-md2.c: Likewise.
18876         * tests/test-md4.c: Likewise.
18877         * tests/test-mkdir.h: Likewise.
18878         * tests/test-rename.c: Likewise.
18879         * tests/test-rename.h: Likewise.
18880         * tests/test-safe-alloc.c: Likewise.
18881         * tests/test-utimens-common.h: Likewise.
18882         * tests/test-utimens.h: Likewise.
18883
18884         maint: sync license texts
18885         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
18886         * doc/gpl-3.0.texi: Revert copyright year update.
18887         * doc/lgpl-3.0.texi: Likewise.
18888
18889 2009-12-29  Jim Meyering  <meyering@redhat.com>
18890
18891         update nearly all FSF copyright year lists to include 2009
18892         The files named by the following are exempted:
18893             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
18894               test -f "$dst" && { echo "$dst"; continue; }
18895               test -d "$dst" || continue
18896               echo "$dst"/$(basename "$src")
18897             done > exempt
18898             git ls-files tests/unictype >> exempt
18899         In the remaining files, convert to all-interval notation if
18900         - there is already at least one year interval like 2000-2003
18901         - the file is maintained by me
18902         - the file is in lib/uni*/, where that style already prevails
18903         Otherwise, use update-copyright's default.
18904
18905 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18906         and Eric Blake  <ebb9@byu.net>
18907
18908         tests: don't require debug system() to pass
18909         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
18910         * tests/test-rmdir.h (test_rmdir_func): Likewise.
18911         * tests/test-unlink.h (test_unlink_func): Likewise.
18912         * tests/test-fstatat.c (main): ...into callers.
18913         * tests/test-lstat.c (main): Likewise.
18914         * tests/test-rmdir.c (main): Likewise.
18915         * tests/test-unlink.c (main): Likewise.
18916         * tests/test-unlinkat.c (main): Likewise.
18917         * tests/test-areadlink-with-size.c (main): Don't require a
18918         debug-only system call to pass, aiding cross-testing to mingw.
18919         * tests/test-areadlink.c (main): Likewise.
18920         * tests/test-areadlinkat-with-size.c (main): Likewise.
18921         * tests/test-areadlinkat.c (main): Likewise.
18922         * tests/test-canonicalize-lgpl.c (main): Likewise.
18923         * tests/test-canonicalize.c (main): Likewise.
18924         * tests/test-chown.c (main): Likewise.
18925         * tests/test-fchownat.c (main): Likewise.
18926         * tests/test-lchown.c (main): Likewise.
18927         * tests/test-fdutimensat.c (main): Likewise.
18928         * tests/test-futimens.c (main): Likewise.
18929         * tests/test-link.c (main): Likewise.
18930         * tests/test-linkat.c (main): Likewise.
18931         * tests/test-mkdir.c (main): Likewise.
18932         * tests/test-mkdirat.c (main): Likewise.
18933         * tests/test-mkfifo.c (main): Likewise.
18934         * tests/test-mkfifoat.c (main): Likewise.
18935         * tests/test-mknod.c (main): Likewise.
18936         * tests/test-readlink.c (main): Likewise.
18937         * tests/test-remove.c (main): Likewise.
18938         * tests/test-rename.c (main): Likewise.
18939         * tests/test-renameat.c (main): Likewise.
18940         * tests/test-symlink.c (main): Likewise.
18941         * tests/test-symlinkat.c (main): Likewise.
18942         * tests/test-utimens.c (main): Likewise.
18943         * tests/test-utimensat.c (main): Likewise.
18944
18945 2009-12-29  Simon Josefsson  <simon@josefsson.org>
18946
18947         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
18948         on $(UNUSED_PARAMETER_H) to avoid build failure.
18949
18950 2009-12-28  Jim Meyering  <meyering@redhat.com>
18951
18952         update-copyright: you may specify a max. line length other than 72
18953         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
18954
18955         maint: use consistent FSF copyright line syntax
18956         * lib/posixtm.c: Add missing comma in FSF copyright line.
18957         * lib/posixtm.h: Likewise.
18958         * lib/getugroups.c: Add missing ", Inc.".
18959
18960         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
18961         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
18962         FSF copyright line.  Remove trailing blanks.
18963
18964 2009-12-28  Eric Blake  <ebb9@byu.net>
18965
18966         test-dup2: reduce dependencies
18967         * modules/cloexec (Configure.ac): Set witness.
18968         * modules/dup2-tests (Depends-on): Drop cloexec.
18969         * tests/test-dup2.c (main): Skip portion of test if cloexec module
18970         not present.
18971         Suggested by Bruno Haible.
18972
18973 2009-12-26  Bruno Haible  <bruno@clisp.org>
18974
18975         Remove an unneeded dependency.
18976         * modules/fseterr (Depends-on): Remove dup2.
18977
18978 2009-12-26  Eric Blake  <ebb9@byu.net>
18979
18980         tests: use macros.h in more places
18981         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
18982         (ASSERT_STREAM): Provide default of stderr.
18983         * tests/test-dirent-safer.c: Include macros.h, using alternate
18984         stream for assertions.
18985         * tests/test-dup-safer.c: Likewise.
18986         * tests/test-freopen-safer.c: Likewise.
18987         * tests/test-getopt.c: Likewise.
18988         * tests/test-openat-safer.c: Likewise.
18989         * tests/test-pipe.c: Likewise.
18990         * tests/test-popen-safer.c: Likewise.
18991         * modules/dirent-safer-tests (Files): Include macros.h.
18992         * modules/unistd-safer-tests (Files): Likewise.
18993         * modules/freopen-safer-tests (Files): Likewise.
18994         * modules/getopt-posix-tests (Files): Likewise.
18995         * modules/openat-safer-tests (Files): Likewise.
18996         * modules/pipe-tests (Files): Likewise.
18997
18998 2009-12-26  Bruno Haible  <bruno@clisp.org>
18999
19000         javacomp: Portability fix.
19001         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
19002         that it also works on Solaris.
19003
19004 2009-12-26  Bruno Haible  <bruno@clisp.org>
19005
19006         localename: Fix storage allocation of gl_locale_name_thread's result.
19007         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
19008         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
19009         all platforms that have 'uselocale'.
19010         (gl_locale_name_thread_unsafe): New function, extracted from
19011         gl_locale_name_thread.
19012         (gl_locale_name_thread): Call struniq on all platforms that have
19013         'uselocale'.
19014         * tests/test-localename.c (test_locale_name_thread): Check that the
19015         resulting strings are permanently allocated.
19016         * modules/localename-tests (Depends-on): Add strdup.
19017
19018 2009-12-26  Bruno Haible  <bruno@clisp.org>
19019
19020         * tests/test-localename.c (categories): Fill in the strings.
19021
19022 2009-12-26  Jim Meyering  <meyering@redhat.com>
19023
19024         isdir: complete the removal of m4/isdir.m4
19025         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
19026
19027         isdir: clean up, since at least grep still uses it
19028         * lib/isdir.c: Include "isdir.h".
19029         (S_ISDIR): Remove now-unneeded definition.
19030         * modules/isdir (Files): Add lib/isdir.h.
19031         * lib/isdir.h: New file, with declaration.
19032         * m4/isdir.m4: Remove file -- unneeded.
19033
19034 2009-12-25  Bruno Haible  <bruno@clisp.org>
19035
19036         selinux-h: Make generated .h files standalone.
19037         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
19038         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
19039         * lib/se-selinux.in.h: Likewise.
19040         * modules/selinux-h (Depends-on): Add unused-parameter.
19041         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
19042         selinux/selinux.h and selinux/context.h.
19043         Suggested by Eric Blake.
19044
19045 2009-12-25  Bruno Haible  <bruno@clisp.org>
19046
19047         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
19048         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
19049         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
19050         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
19051         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
19052
19053 2009-12-24  Bruno Haible  <bruno@clisp.org>
19054
19055         openat: Fix warning.
19056         * lib/openat-proc.c: Include <unistd.h>.
19057
19058 2009-12-24  Bruno Haible  <bruno@clisp.org>
19059
19060         New module 'unused-parameter'.
19061         * build-aux/unused-parameter.h: New file, extracted from earlier
19062         gnulib-common.m4.
19063         * modules/unused-parameter: New file.
19064         * lib/unistr.h: Include unused-parameter.h.
19065         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
19066         _GL_UNUSED.
19067         * modules/unistr/base (Depends-on): Add unused-parameter.
19068
19069 2009-12-24  Bruno Haible  <bruno@clisp.org>
19070
19071         Add missing dependencies to 'extensions' module.
19072         * m4/extensions.m4: Add comment.
19073         * modules/accept4 (Depends-on): Add extensions.
19074         * modules/dup3 (Depends-on): Likewise.
19075         * modules/fcntl (Depends-on): Likewise.
19076         * modules/futimens (Depends-on): Likewise.
19077         * modules/mknod (Depends-on): Likewise.
19078         * modules/pipe2 (Depends-on): Likewise.
19079         * modules/stat-time (Depends-on): Likewise.
19080         * modules/strcasestr-simple (Depends-on): Likewise.
19081         * modules/strsignal (Depends-on): Likewise.
19082         * modules/utimensat (Depends-on): Likewise.
19083         * modules/localcharset (Depends-on): Likewise. Needed because of
19084         gl_FCNTL_O_FLAGS.
19085         * modules/wcrtomb (Depends-on): Likewise. Needed because of
19086         AC_TYPE_MBSTATE_T.
19087         * modules/wcsnrtombs (Depends-on): Likewise.
19088         * modules/wcsrtombs (Depends-on): Likewise.
19089
19090 2009-12-24  Bruno Haible  <bruno@clisp.org>
19091
19092         binary-io: Avoid gcc warning due to SET_BINARY.
19093         * lib/binary-io.h (SET_BINARY): Cast the result to void.
19094         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
19095
19096 2009-12-24  Bruno Haible  <bruno@clisp.org>
19097
19098         Avoid future namespace pollution on glibc systems.
19099         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
19100         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
19101         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
19102         glibc systems.
19103
19104 2009-12-24  Bruno Haible  <bruno@clisp.org>
19105
19106         Refactor common macros used in tests.
19107         * tests/macros.h: New file.
19108         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
19109         and/or <stdlib.h>, if appropriate.
19110         (ASSERT, SIZEOF): Remove macros.
19111         * tests/test-areadlink-with-size.c: Likewise.
19112         * tests/test-areadlinkat.c: Likewise.
19113         * tests/test-areadlinkat-with-size.c: Likewise.
19114         * tests/test-argmatch.c: Likewise.
19115         * tests/test-argv-iter.c: Likewise.
19116         * tests/test-array-mergesort.c: Likewise.
19117         * tests/test-array_list.c: Likewise.
19118         * tests/test-array_oset.c: Likewise.
19119         * tests/test-avltree_list.c: Likewise.
19120         * tests/test-avltree_oset.c: Likewise.
19121         * tests/test-avltreehash_list.c: Likewise.
19122         * tests/test-base64.c: Likewise.
19123         * tests/test-binary-io.c: Likewise.
19124         * tests/test-bitrotate.c: Likewise.
19125         * tests/test-btowc.c: Likewise.
19126         * tests/test-byteswap.c: Likewise.
19127         * tests/test-c-ctype.c: Likewise.
19128         * tests/test-c-stack.c: Likewise.
19129         * tests/test-c-strcasecmp.c: Likewise.
19130         * tests/test-c-strcasestr.c: Likewise.
19131         * tests/test-c-strncasecmp.c: Likewise.
19132         * tests/test-c-strstr.c: Likewise.
19133         * tests/test-canonicalize-lgpl.c: Likewise.
19134         * tests/test-canonicalize.c: Likewise.
19135         * tests/test-carray_list.c: Likewise.
19136         * tests/test-ceilf1.c: Likewise.
19137         * tests/test-ceilf2.c: Likewise.
19138         * tests/test-ceill.c: Likewise.
19139         * tests/test-chown.c: Likewise.
19140         * tests/test-cloexec.c: Likewise.
19141         * tests/test-copy-acl.c: Likewise.
19142         * tests/test-copy-file.c: Likewise.
19143         * tests/test-count-one-bits.c: Likewise.
19144         * tests/test-dprintf-posix.c: Likewise.
19145         * tests/test-dup2.c: Likewise.
19146         * tests/test-dup3.c: Likewise.
19147         * tests/test-duplocale.c: Likewise.
19148         * tests/test-fbufmode.c: Likewise.
19149         * tests/test-fchdir.c: Likewise.
19150         * tests/test-fchownat.c: Likewise.
19151         * tests/test-fcntl-safer.c: Likewise.
19152         * tests/test-fcntl.c: Likewise.
19153         * tests/test-fdopendir.c: Likewise.
19154         * tests/test-fdutimensat.c: Likewise.
19155         * tests/test-fflush2.c: Likewise.
19156         * tests/test-file-has-acl.c: Likewise.
19157         * tests/test-filevercmp.c: Likewise.
19158         * tests/test-flock.c: Likewise.
19159         * tests/test-floorf1.c: Likewise.
19160         * tests/test-floorf2.c: Likewise.
19161         * tests/test-floorl.c: Likewise.
19162         * tests/test-fnmatch.c: Likewise.
19163         * tests/test-fopen.h: Likewise.
19164         * tests/test-fpending.c: Likewise.
19165         * tests/test-fprintf-posix.c: Likewise.
19166         * tests/test-fpurge.c: Likewise.
19167         * tests/test-freadable.c: Likewise.
19168         * tests/test-freadahead.c: Likewise.
19169         * tests/test-freading.c: Likewise.
19170         * tests/test-freadptr.c: Likewise.
19171         * tests/test-freadptr2.c: Likewise.
19172         * tests/test-freadseek.c: Likewise.
19173         * tests/test-freopen.c: Likewise.
19174         * tests/test-frexp.c: Likewise.
19175         * tests/test-frexpl.c: Likewise.
19176         * tests/test-fseek.c: Likewise.
19177         * tests/test-fseeko.c: Likewise.
19178         * tests/test-fstatat.c: Likewise.
19179         * tests/test-fstrcmp.c: Likewise.
19180         * tests/test-fsync.c: Likewise.
19181         * tests/test-ftell.c: Likewise.
19182         * tests/test-ftello.c: Likewise.
19183         * tests/test-func.c: Likewise.
19184         * tests/test-futimens.c: Likewise.
19185         * tests/test-fwritable.c: Likewise.
19186         * tests/test-fwriting.c: Likewise.
19187         * tests/test-getcwd.c: Likewise.
19188         * tests/test-getdate.c: Likewise.
19189         * tests/test-getdelim.c: Likewise.
19190         * tests/test-getdtablesize.c: Likewise.
19191         * tests/test-getgroups.c: Likewise.
19192         * tests/test-getline.c: Likewise.
19193         * tests/test-getndelim2.c: Likewise.
19194         * tests/test-glob.c: Likewise.
19195         * tests/test-hash.c: Likewise.
19196         * tests/test-i-ring.c: Likewise.
19197         * tests/test-iconv-utf.c: Likewise.
19198         * tests/test-iconv.c: Likewise.
19199         * tests/test-idpriv-drop.c: Likewise.
19200         * tests/test-idpriv-droptemp.c: Likewise.
19201         * tests/test-inet_ntop.c: Likewise.
19202         * tests/test-inet_pton.c: Likewise.
19203         * tests/test-isblank.c: Likewise.
19204         * tests/test-isfinite.c: Likewise.
19205         * tests/test-isinf.c: Likewise.
19206         * tests/test-isnan.c: Likewise.
19207         * tests/test-isnand.h: Likewise.
19208         * tests/test-isnanf.h: Likewise.
19209         * tests/test-isnanl.h: Likewise.
19210         * tests/test-lchown.c: Likewise.
19211         * tests/test-ldexpl.c: Likewise.
19212         * tests/test-link.c: Likewise.
19213         * tests/test-linkat.c: Likewise.
19214         * tests/test-linked_list.c: Likewise.
19215         * tests/test-linkedhash_list.c: Likewise.
19216         * tests/test-localename.c: Likewise.
19217         * tests/test-lseek.c: Likewise.
19218         * tests/test-lstat.c: Likewise.
19219         * tests/test-mbmemcasecmp.c: Likewise.
19220         * tests/test-mbmemcasecoll.c: Likewise.
19221         * tests/test-mbrtowc.c: Likewise.
19222         * tests/test-mbscasecmp.c: Likewise.
19223         * tests/test-mbscasestr1.c: Likewise.
19224         * tests/test-mbscasestr2.c: Likewise.
19225         * tests/test-mbscasestr3.c: Likewise.
19226         * tests/test-mbscasestr4.c: Likewise.
19227         * tests/test-mbschr.c: Likewise.
19228         * tests/test-mbscspn.c: Likewise.
19229         * tests/test-mbsinit.c: Likewise.
19230         * tests/test-mbsncasecmp.c: Likewise.
19231         * tests/test-mbsnrtowcs.c: Likewise.
19232         * tests/test-mbspbrk.c: Likewise.
19233         * tests/test-mbspcasecmp.c: Likewise.
19234         * tests/test-mbsrchr.c: Likewise.
19235         * tests/test-mbsrtowcs.c: Likewise.
19236         * tests/test-mbsspn.c: Likewise.
19237         * tests/test-mbsstr1.c: Likewise.
19238         * tests/test-mbsstr2.c: Likewise.
19239         * tests/test-mbsstr3.c: Likewise.
19240         * tests/test-memchr.c: Likewise.
19241         * tests/test-memchr2.c: Likewise.
19242         * tests/test-memcmp.c: Likewise.
19243         * tests/test-memmem.c: Likewise.
19244         * tests/test-memrchr.c: Likewise.
19245         * tests/test-mkdir.c: Likewise.
19246         * tests/test-mkdirat.c: Likewise.
19247         * tests/test-mkfifo.c: Likewise.
19248         * tests/test-mkfifoat.c: Likewise.
19249         * tests/test-mknod.c: Likewise.
19250         * tests/test-nanosleep.c: Likewise.
19251         * tests/test-nl_langinfo.c: Likewise.
19252         * tests/test-obstack-printf.c: Likewise.
19253         * tests/test-open.c: Likewise.
19254         * tests/test-openat.c: Likewise.
19255         * tests/test-pipe-filter-gi1.c: Likewise.
19256         * tests/test-pipe-filter-gi2-main.c: Likewise.
19257         * tests/test-pipe-filter-ii1.c: Likewise.
19258         * tests/test-pipe-filter-ii2-main.c: Likewise.
19259         * tests/test-pipe2.c: Likewise.
19260         * tests/test-popen.h: Likewise.
19261         * tests/test-posixtm.c: Likewise.
19262         * tests/test-pread.c: Likewise.
19263         * tests/test-printf-frexp.c: Likewise.
19264         * tests/test-printf-frexpl.c: Likewise.
19265         * tests/test-printf-posix.c: Likewise.
19266         * tests/test-priv-set.c: Likewise.
19267         * tests/test-quotearg.c: Likewise.
19268         * tests/test-random_r.c: Likewise.
19269         * tests/test-rawmemchr.c: Likewise.
19270         * tests/test-rbtree_list.c: Likewise.
19271         * tests/test-rbtree_oset.c: Likewise.
19272         * tests/test-rbtreehash_list.c: Likewise.
19273         * tests/test-readlink.c: Likewise.
19274         * tests/test-remove.c: Likewise.
19275         * tests/test-rename.c: Likewise.
19276         * tests/test-renameat.c: Likewise.
19277         * tests/test-rmdir.c: Likewise.
19278         * tests/test-round1.c: Likewise.
19279         * tests/test-roundf1.c: Likewise.
19280         * tests/test-roundl.c: Likewise.
19281         * tests/test-safe-alloc.c: Likewise.
19282         * tests/test-sameacls.c: Likewise.
19283         * tests/test-set-mode-acl.c: Likewise.
19284         * tests/test-setenv.c: Likewise.
19285         * tests/test-sigaction.c: Likewise.
19286         * tests/test-signbit.c: Likewise.
19287         * tests/test-sleep.c: Likewise.
19288         * tests/test-snprintf-posix.c: Likewise.
19289         * tests/test-snprintf.c: Likewise.
19290         * tests/test-sprintf-posix.c: Likewise.
19291         * tests/test-stat-time.c: Likewise.
19292         * tests/test-stat.c: Likewise.
19293         * tests/test-strcasestr.c: Likewise.
19294         * tests/test-strchrnul.c: Likewise.
19295         * tests/test-strerror.c: Likewise.
19296         * tests/test-striconv.c: Likewise.
19297         * tests/test-striconveh.c: Likewise.
19298         * tests/test-striconveha.c: Likewise.
19299         * tests/test-strsignal.c: Likewise.
19300         * tests/test-strstr.c: Likewise.
19301         * tests/test-strtod.c: Likewise.
19302         * tests/test-strverscmp.c: Likewise.
19303         * tests/test-symlink.c: Likewise.
19304         * tests/test-symlinkat.c: Likewise.
19305         * tests/test-trunc1.c: Likewise.
19306         * tests/test-trunc2.c: Likewise.
19307         * tests/test-truncf1.c: Likewise.
19308         * tests/test-truncf2.c: Likewise.
19309         * tests/test-truncl.c: Likewise.
19310         * tests/test-uname.c: Likewise.
19311         * tests/test-unlink.c: Likewise.
19312         * tests/test-unlinkat.c: Likewise.
19313         * tests/test-unsetenv.c: Likewise.
19314         * tests/test-usleep.c: Likewise.
19315         * tests/test-utimens.c: Likewise.
19316         * tests/test-utimensat.c: Likewise.
19317         * tests/test-vasnprintf-posix.c: Likewise.
19318         * tests/test-vasnprintf-posix2.c: Likewise.
19319         * tests/test-vasnprintf.c: Likewise.
19320         * tests/test-vasprintf-posix.c: Likewise.
19321         * tests/test-vasprintf.c: Likewise.
19322         * tests/test-vdprintf-posix.c: Likewise.
19323         * tests/test-vfprintf-posix.c: Likewise.
19324         * tests/test-vprintf-posix.c: Likewise.
19325         * tests/test-vsnprintf-posix.c: Likewise.
19326         * tests/test-vsnprintf.c: Likewise.
19327         * tests/test-vsprintf-posix.c: Likewise.
19328         * tests/test-wcrtomb.c: Likewise.
19329         * tests/test-wcsnrtombs.c: Likewise.
19330         * tests/test-wcsrtombs.c: Likewise.
19331         * tests/test-wctype.c: Likewise.
19332         * tests/test-wcwidth.c: Likewise.
19333         * tests/test-xfprintf-posix.c: Likewise.
19334         * tests/test-xmemdup0.c: Likewise.
19335         * tests/test-xprintf-posix.c: Likewise.
19336         * tests/test-xvasprintf.c: Likewise.
19337         * tests/unicase/test-locale-language.c: Likewise.
19338         * tests/unicase/test-mapping-part1.h: Likewise.
19339         * tests/unicase/test-predicate-part1.h: Likewise.
19340         * tests/unicase/test-u8-casecmp.c: Likewise.
19341         * tests/unicase/test-u8-casecoll.c: Likewise.
19342         * tests/unicase/test-u8-casefold.c: Likewise.
19343         * tests/unicase/test-u8-is-cased.c: Likewise.
19344         * tests/unicase/test-u8-is-casefolded.c: Likewise.
19345         * tests/unicase/test-u8-is-lowercase.c: Likewise.
19346         * tests/unicase/test-u8-is-titlecase.c: Likewise.
19347         * tests/unicase/test-u8-is-uppercase.c: Likewise.
19348         * tests/unicase/test-u8-tolower.c: Likewise.
19349         * tests/unicase/test-u8-totitle.c: Likewise.
19350         * tests/unicase/test-u8-toupper.c: Likewise.
19351         * tests/unicase/test-u16-casecmp.c: Likewise.
19352         * tests/unicase/test-u16-casecoll.c: Likewise.
19353         * tests/unicase/test-u16-casefold.c: Likewise.
19354         * tests/unicase/test-u16-is-cased.c: Likewise.
19355         * tests/unicase/test-u16-is-casefolded.c: Likewise.
19356         * tests/unicase/test-u16-is-lowercase.c: Likewise.
19357         * tests/unicase/test-u16-is-titlecase.c: Likewise.
19358         * tests/unicase/test-u16-is-uppercase.c: Likewise.
19359         * tests/unicase/test-u16-tolower.c: Likewise.
19360         * tests/unicase/test-u16-totitle.c: Likewise.
19361         * tests/unicase/test-u16-toupper.c: Likewise.
19362         * tests/unicase/test-u32-casecmp.c: Likewise.
19363         * tests/unicase/test-u32-casecoll.c: Likewise.
19364         * tests/unicase/test-u32-casefold.c: Likewise.
19365         * tests/unicase/test-u32-is-cased.c: Likewise.
19366         * tests/unicase/test-u32-is-casefolded.c: Likewise.
19367         * tests/unicase/test-u32-is-lowercase.c: Likewise.
19368         * tests/unicase/test-u32-is-titlecase.c: Likewise.
19369         * tests/unicase/test-u32-is-uppercase.c: Likewise.
19370         * tests/unicase/test-u32-tolower.c: Likewise.
19371         * tests/unicase/test-u32-totitle.c: Likewise.
19372         * tests/unicase/test-u32-toupper.c: Likewise.
19373         * tests/unicase/test-ulc-casecmp.c: Likewise.
19374         * tests/unicase/test-ulc-casecoll.c: Likewise.
19375         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
19376         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
19377         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
19378         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
19379         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
19380         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
19381         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
19382         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
19383         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
19384         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
19385         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
19386         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
19387         * tests/unictype/test-bidi_byname.c: Likewise.
19388         * tests/unictype/test-bidi_name.c: Likewise.
19389         * tests/unictype/test-bidi_of.c: Likewise.
19390         * tests/unictype/test-bidi_test.c: Likewise.
19391         * tests/unictype/test-block_list.c: Likewise.
19392         * tests/unictype/test-block_of.c: Likewise.
19393         * tests/unictype/test-block_test.c: Likewise.
19394         * tests/unictype/test-categ_and.c: Likewise.
19395         * tests/unictype/test-categ_and_not.c: Likewise.
19396         * tests/unictype/test-categ_byname.c: Likewise.
19397         * tests/unictype/test-categ_name.c: Likewise.
19398         * tests/unictype/test-categ_none.c: Likewise.
19399         * tests/unictype/test-categ_of.c: Likewise.
19400         * tests/unictype/test-categ_or.c: Likewise.
19401         * tests/unictype/test-categ_test_withtable.c: Likewise.
19402         * tests/unictype/test-combining.c: Likewise.
19403         * tests/unictype/test-decdigit.c: Likewise.
19404         * tests/unictype/test-digit.c: Likewise.
19405         * tests/unictype/test-mirror.c: Likewise.
19406         * tests/unictype/test-numeric.c: Likewise.
19407         * tests/unictype/test-pr_byname.c: Likewise.
19408         * tests/unictype/test-pr_test.c: Likewise.
19409         * tests/unictype/test-predicate-part1.h: Likewise.
19410         * tests/unictype/test-scripts.c: Likewise.
19411         * tests/unictype/test-sy_c_ident.c: Likewise.
19412         * tests/unictype/test-sy_java_ident.c: Likewise.
19413         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
19414         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
19415         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
19416         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
19417         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
19418         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
19419         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
19420         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
19421         * tests/uninorm/test-canonical-decomposition.c: Likewise.
19422         * tests/uninorm/test-compat-decomposition.c: Likewise.
19423         * tests/uninorm/test-composition.c: Likewise.
19424         * tests/uninorm/test-decomposing-form.c: Likewise.
19425         * tests/uninorm/test-decomposition.c: Likewise.
19426         * tests/uninorm/test-u8-nfc.c: Likewise.
19427         * tests/uninorm/test-u8-nfd.c: Likewise.
19428         * tests/uninorm/test-u8-nfkc.c: Likewise.
19429         * tests/uninorm/test-u8-nfkd.c: Likewise.
19430         * tests/uninorm/test-u8-normcmp.c: Likewise.
19431         * tests/uninorm/test-u8-normcoll.c: Likewise.
19432         * tests/uninorm/test-u16-nfc.c: Likewise.
19433         * tests/uninorm/test-u16-nfd.c: Likewise.
19434         * tests/uninorm/test-u16-nfkc.c: Likewise.
19435         * tests/uninorm/test-u16-nfkd.c: Likewise.
19436         * tests/uninorm/test-u16-normcmp.c: Likewise.
19437         * tests/uninorm/test-u16-normcoll.c: Likewise.
19438         * tests/uninorm/test-u32-nfc.c: Likewise.
19439         * tests/uninorm/test-u32-nfd.c: Likewise.
19440         * tests/uninorm/test-u32-nfkc.c: Likewise.
19441         * tests/uninorm/test-u32-nfkd.c: Likewise.
19442         * tests/uninorm/test-u32-normalize-big.c: Likewise.
19443         * tests/uninorm/test-u32-normcmp.c: Likewise.
19444         * tests/uninorm/test-u32-normcoll.c: Likewise.
19445         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
19446         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
19447         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
19448         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
19449         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
19450         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
19451         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
19452         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
19453         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
19454         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
19455         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
19456         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
19457         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
19458         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
19459         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
19460         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
19461         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
19462         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
19463         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
19464         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
19465         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
19466         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
19467         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
19468         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
19469         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
19470         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
19471         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
19472         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
19473         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
19474         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
19475         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
19476         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
19477         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
19478         * tests/uniwidth/test-u8-strwidth.c: Likewise.
19479         * tests/uniwidth/test-u8-width.c: Likewise.
19480         * tests/uniwidth/test-u16-strwidth.c: Likewise.
19481         * tests/uniwidth/test-u16-width.c: Likewise.
19482         * tests/uniwidth/test-u32-strwidth.c: Likewise.
19483         * tests/uniwidth/test-u32-width.c: Likewise.
19484         * tests/uniwidth/test-uc_width.c: Likewise.
19485         * tests/uniwidth/test-uc_width2.c: Likewise.
19486         * modules/acl-tests (Files): Add tests/macros.h.
19487         * modules/areadlink-tests (Files): Likewise.
19488         * modules/areadlink-with-size-tests (Files): Likewise.
19489         * modules/areadlinkat-tests (Files): Likewise.
19490         * modules/areadlinkat-with-size-tests (Files): Likewise.
19491         * modules/argmatch-tests (Files): Likewise.
19492         * modules/argv-iter-tests (Files): Likewise.
19493         * modules/array-list-tests (Files): Likewise.
19494         * modules/array-mergesort-tests (Files): Likewise.
19495         * modules/array-oset-tests (Files): Likewise.
19496         * modules/avltree-list-tests (Files): Likewise.
19497         * modules/avltree-oset-tests (Files): Likewise.
19498         * modules/avltreehash-list-tests (Files): Likewise.
19499         * modules/base64-tests (Files): Likewise.
19500         * modules/binary-io-tests (Files): Likewise.
19501         * modules/bitrotate-tests (Files): Likewise.
19502         * modules/btowc-tests (Files): Likewise.
19503         * modules/byteswap-tests (Files): Likewise.
19504         * modules/c-ctype-tests (Files): Likewise.
19505         * modules/c-stack-tests (Files): Likewise.
19506         * modules/c-strcase-tests (Files): Likewise.
19507         * modules/c-strcasestr-tests (Files): Likewise.
19508         * modules/c-strstr-tests (Files): Likewise.
19509         * modules/canonicalize-lgpl-tests (Files): Likewise.
19510         * modules/canonicalize-tests (Files): Likewise.
19511         * modules/carray-list-tests (Files): Likewise.
19512         * modules/ceilf-tests (Files): Likewise.
19513         * modules/ceill-tests (Files): Likewise.
19514         * modules/chown-tests (Files): Likewise.
19515         * modules/cloexec-tests (Files): Likewise.
19516         * modules/copy-file-tests (Files): Likewise.
19517         * modules/count-one-bits-tests (Files): Likewise.
19518         * modules/dprintf-posix-tests (Files): Likewise.
19519         * modules/dup2-tests (Files): Likewise.
19520         * modules/dup3-tests (Files): Likewise.
19521         * modules/duplocale-tests (Files): Likewise.
19522         * modules/fbufmode-tests (Files): Likewise.
19523         * modules/fchdir-tests (Files): Likewise.
19524         * modules/fcntl-safer-tests (Files): Likewise.
19525         * modules/fcntl-tests (Files): Likewise.
19526         * modules/fdopendir-tests (Files): Likewise.
19527         * modules/fdutimensat-tests (Files): Likewise.
19528         * modules/fflush-tests (Files): Likewise.
19529         * modules/filevercmp-tests (Files): Likewise.
19530         * modules/flock-tests (Files): Likewise.
19531         * modules/floorf-tests (Files): Likewise.
19532         * modules/floorl-tests (Files): Likewise.
19533         * modules/fnmatch-tests (Files): Likewise.
19534         * modules/fopen-safer-tests (Files): Likewise.
19535         * modules/fopen-tests (Files): Likewise.
19536         * modules/fpending-tests (Files): Likewise.
19537         * modules/fprintf-posix-tests (Files): Likewise.
19538         * modules/fpurge-tests (Files): Likewise.
19539         * modules/freadable-tests (Files): Likewise.
19540         * modules/freadahead-tests (Files): Likewise.
19541         * modules/freading-tests (Files): Likewise.
19542         * modules/freadptr-tests (Files): Likewise.
19543         * modules/freadseek-tests (Files): Likewise.
19544         * modules/freopen-tests (Files): Likewise.
19545         * modules/frexp-nolibm-tests (Files): Likewise.
19546         * modules/frexp-tests (Files): Likewise.
19547         * modules/frexpl-nolibm-tests (Files): Likewise.
19548         * modules/frexpl-tests (Files): Likewise.
19549         * modules/fseek-tests (Files): Likewise.
19550         * modules/fseeko-tests (Files): Likewise.
19551         * modules/fstrcmp-tests (Files): Likewise.
19552         * modules/fsync-tests (Files): Likewise.
19553         * modules/ftell-tests (Files): Likewise.
19554         * modules/ftello-tests (Files): Likewise.
19555         * modules/func-tests (Files): Likewise.
19556         * modules/futimens-tests (Files): Likewise.
19557         * modules/fwritable-tests (Files): Likewise.
19558         * modules/fwriting-tests (Files): Likewise.
19559         * modules/getcwd-tests (Files): Likewise.
19560         * modules/getdate-tests (Files): Likewise.
19561         * modules/getdelim-tests (Files): Likewise.
19562         * modules/getdtablesize-tests (Files): Likewise.
19563         * modules/getgroups-tests (Files): Likewise.
19564         * modules/getline-tests (Files): Likewise.
19565         * modules/getndelim2-tests (Files): Likewise.
19566         * modules/glob-tests (Files): Likewise.
19567         * modules/hash-tests (Files): Likewise.
19568         * modules/i-ring-tests (Files): Likewise.
19569         * modules/iconv-tests (Files): Likewise.
19570         * modules/iconv_open-utf-tests (Files): Likewise.
19571         * modules/idpriv-drop-tests (Files): Likewise.
19572         * modules/idpriv-droptemp-tests (Files): Likewise.
19573         * modules/inet_ntop-tests (Files): Likewise.
19574         * modules/inet_pton-tests (Files): Likewise.
19575         * modules/isblank-tests (Files): Likewise.
19576         * modules/isfinite-tests (Files): Likewise.
19577         * modules/isinf-tests (Files): Likewise.
19578         * modules/isnan-tests (Files): Likewise.
19579         * modules/isnand-nolibm-tests (Files): Likewise.
19580         * modules/isnand-tests (Files): Likewise.
19581         * modules/isnanf-nolibm-tests (Files): Likewise.
19582         * modules/isnanf-tests (Files): Likewise.
19583         * modules/isnanl-nolibm-tests (Files): Likewise.
19584         * modules/isnanl-tests (Files): Likewise.
19585         * modules/lchown-tests (Files): Likewise.
19586         * modules/ldexpl-tests (Files): Likewise.
19587         * modules/link-tests (Files): Likewise.
19588         * modules/linkat-tests (Files): Likewise.
19589         * modules/linked-list-tests (Files): Likewise.
19590         * modules/linkedhash-list-tests (Files): Likewise.
19591         * modules/localename-tests (Files): Likewise.
19592         * modules/lseek-tests (Files): Likewise.
19593         * modules/lstat-tests (Files): Likewise.
19594         * modules/mbmemcasecmp-tests (Files): Likewise.
19595         * modules/mbmemcasecoll-tests (Files): Likewise.
19596         * modules/mbrtowc-tests (Files): Likewise.
19597         * modules/mbscasecmp-tests (Files): Likewise.
19598         * modules/mbscasestr-tests (Files): Likewise.
19599         * modules/mbschr-tests (Files): Likewise.
19600         * modules/mbscspn-tests (Files): Likewise.
19601         * modules/mbsinit-tests (Files): Likewise.
19602         * modules/mbsncasecmp-tests (Files): Likewise.
19603         * modules/mbsnrtowcs-tests (Files): Likewise.
19604         * modules/mbspbrk-tests (Files): Likewise.
19605         * modules/mbspcasecmp-tests (Files): Likewise.
19606         * modules/mbsrchr-tests (Files): Likewise.
19607         * modules/mbsrtowcs-tests (Files): Likewise.
19608         * modules/mbsspn-tests (Files): Likewise.
19609         * modules/mbsstr-tests (Files): Likewise.
19610         * modules/memchr-tests (Files): Likewise.
19611         * modules/memchr2-tests (Files): Likewise.
19612         * modules/memcmp-tests (Files): Likewise.
19613         * modules/memmem-tests (Files): Likewise.
19614         * modules/memrchr-tests (Files): Likewise.
19615         * modules/mkdir-tests (Files): Likewise.
19616         * modules/mkfifo-tests (Files): Likewise.
19617         * modules/mkfifoat-tests (Files): Likewise.
19618         * modules/mknod-tests (Files): Likewise.
19619         * modules/nanosleep-tests (Files): Likewise.
19620         * modules/nl_langinfo-tests (Files): Likewise.
19621         * modules/obstack-printf-tests (Files): Likewise.
19622         * modules/open-tests (Files): Likewise.
19623         * modules/openat-tests (Files): Likewise.
19624         * modules/pipe-filter-gi-tests (Files): Likewise.
19625         * modules/pipe-filter-ii-tests (Files): Likewise.
19626         * modules/pipe2-tests (Files): Likewise.
19627         * modules/popen-safer-tests (Files): Likewise.
19628         * modules/popen-tests (Files): Likewise.
19629         * modules/posixtm-tests (Files): Likewise.
19630         * modules/pread-tests (Files): Likewise.
19631         * modules/printf-frexp-tests (Files): Likewise.
19632         * modules/printf-frexpl-tests (Files): Likewise.
19633         * modules/printf-posix-tests (Files): Likewise.
19634         * modules/priv-set-tests (Files): Likewise.
19635         * modules/quotearg-tests (Files): Likewise.
19636         * modules/random_r-tests (Files): Likewise.
19637         * modules/rawmemchr-tests (Files): Likewise.
19638         * modules/rbtree-list-tests (Files): Likewise.
19639         * modules/rbtree-oset-tests (Files): Likewise.
19640         * modules/rbtreehash-list-tests (Files): Likewise.
19641         * modules/readlink-tests (Files): Likewise.
19642         * modules/remove-tests (Files): Likewise.
19643         * modules/rename-tests (Files): Likewise.
19644         * modules/renameat-tests (Files): Likewise.
19645         * modules/rmdir-tests (Files): Likewise.
19646         * modules/round-tests (Files): Likewise.
19647         * modules/roundf-tests (Files): Likewise.
19648         * modules/roundl-tests (Files): Likewise.
19649         * modules/safe-alloc-tests (Files): Likewise.
19650         * modules/setenv-tests (Files): Likewise.
19651         * modules/sigaction-tests (Files): Likewise.
19652         * modules/signbit-tests (Files): Likewise.
19653         * modules/sleep-tests (Files): Likewise.
19654         * modules/snprintf-posix-tests (Files): Likewise.
19655         * modules/snprintf-tests (Files): Likewise.
19656         * modules/sprintf-posix-tests (Files): Likewise.
19657         * modules/stat-tests (Files): Likewise.
19658         * modules/stat-time-tests (Files): Likewise.
19659         * modules/strcasestr-tests (Files): Likewise.
19660         * modules/strchrnul-tests (Files): Likewise.
19661         * modules/strerror-tests (Files): Likewise.
19662         * modules/striconv-tests (Files): Likewise.
19663         * modules/striconveh-tests (Files): Likewise.
19664         * modules/striconveha-tests (Files): Likewise.
19665         * modules/strsignal-tests (Files): Likewise.
19666         * modules/strstr-tests (Files): Likewise.
19667         * modules/strtod-tests (Files): Likewise.
19668         * modules/strverscmp-tests (Files): Likewise.
19669         * modules/symlink-tests (Files): Likewise.
19670         * modules/symlinkat-tests (Files): Likewise.
19671         * modules/trunc-tests (Files): Likewise.
19672         * modules/truncf-tests (Files): Likewise.
19673         * modules/truncl-tests (Files): Likewise.
19674         * modules/uname-tests (Files): Likewise.
19675         * modules/unicase/cased-tests (Files): Likewise.
19676         * modules/unicase/ignorable-tests (Files): Likewise.
19677         * modules/unicase/locale-language-tests (Files): Likewise.
19678         * modules/unicase/tolower-tests (Files): Likewise.
19679         * modules/unicase/totitle-tests (Files): Likewise.
19680         * modules/unicase/toupper-tests (Files): Likewise.
19681         * modules/unicase/u8-casecmp-tests (Files): Likewise.
19682         * modules/unicase/u8-casecoll-tests (Files): Likewise.
19683         * modules/unicase/u8-casefold-tests (Files): Likewise.
19684         * modules/unicase/u8-is-cased-tests (Files): Likewise.
19685         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
19686         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
19687         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
19688         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
19689         * modules/unicase/u8-tolower-tests (Files): Likewise.
19690         * modules/unicase/u8-totitle-tests (Files): Likewise.
19691         * modules/unicase/u8-toupper-tests (Files): Likewise.
19692         * modules/unicase/u16-casecmp-tests (Files): Likewise.
19693         * modules/unicase/u16-casecoll-tests (Files): Likewise.
19694         * modules/unicase/u16-casefold-tests (Files): Likewise.
19695         * modules/unicase/u16-is-cased-tests (Files): Likewise.
19696         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
19697         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
19698         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
19699         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
19700         * modules/unicase/u16-tolower-tests (Files): Likewise.
19701         * modules/unicase/u16-totitle-tests (Files): Likewise.
19702         * modules/unicase/u16-toupper-tests (Files): Likewise.
19703         * modules/unicase/u32-casecmp-tests (Files): Likewise.
19704         * modules/unicase/u32-casecoll-tests (Files): Likewise.
19705         * modules/unicase/u32-casefold-tests (Files): Likewise.
19706         * modules/unicase/u32-is-cased-tests (Files): Likewise.
19707         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
19708         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
19709         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
19710         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
19711         * modules/unicase/u32-tolower-tests (Files): Likewise.
19712         * modules/unicase/u32-totitle-tests (Files): Likewise.
19713         * modules/unicase/u32-toupper-tests (Files): Likewise.
19714         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
19715         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
19716         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
19717         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
19718         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
19719         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
19720         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
19721         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
19722         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
19723         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
19724         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
19725         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
19726         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
19727         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
19728         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
19729         * modules/unictype/bidicategory-name-tests (Files): Likewise.
19730         * modules/unictype/bidicategory-of-tests (Files): Likewise.
19731         * modules/unictype/bidicategory-test-tests (Files): Likewise.
19732         * modules/unictype/block-list-tests (Files): Likewise.
19733         * modules/unictype/block-of-tests (Files): Likewise.
19734         * modules/unictype/block-test-tests (Files): Likewise.
19735         * modules/unictype/category-C-tests (Files): Likewise.
19736         * modules/unictype/category-Cc-tests (Files): Likewise.
19737         * modules/unictype/category-Cf-tests (Files): Likewise.
19738         * modules/unictype/category-Cn-tests (Files): Likewise.
19739         * modules/unictype/category-Co-tests (Files): Likewise.
19740         * modules/unictype/category-Cs-tests (Files): Likewise.
19741         * modules/unictype/category-L-tests (Files): Likewise.
19742         * modules/unictype/category-Ll-tests (Files): Likewise.
19743         * modules/unictype/category-Lm-tests (Files): Likewise.
19744         * modules/unictype/category-Lo-tests (Files): Likewise.
19745         * modules/unictype/category-Lt-tests (Files): Likewise.
19746         * modules/unictype/category-Lu-tests (Files): Likewise.
19747         * modules/unictype/category-M-tests (Files): Likewise.
19748         * modules/unictype/category-Mc-tests (Files): Likewise.
19749         * modules/unictype/category-Me-tests (Files): Likewise.
19750         * modules/unictype/category-Mn-tests (Files): Likewise.
19751         * modules/unictype/category-N-tests (Files): Likewise.
19752         * modules/unictype/category-Nd-tests (Files): Likewise.
19753         * modules/unictype/category-Nl-tests (Files): Likewise.
19754         * modules/unictype/category-No-tests (Files): Likewise.
19755         * modules/unictype/category-P-tests (Files): Likewise.
19756         * modules/unictype/category-Pc-tests (Files): Likewise.
19757         * modules/unictype/category-Pd-tests (Files): Likewise.
19758         * modules/unictype/category-Pe-tests (Files): Likewise.
19759         * modules/unictype/category-Pf-tests (Files): Likewise.
19760         * modules/unictype/category-Pi-tests (Files): Likewise.
19761         * modules/unictype/category-Po-tests (Files): Likewise.
19762         * modules/unictype/category-Ps-tests (Files): Likewise.
19763         * modules/unictype/category-S-tests (Files): Likewise.
19764         * modules/unictype/category-Sc-tests (Files): Likewise.
19765         * modules/unictype/category-Sk-tests (Files): Likewise.
19766         * modules/unictype/category-Sm-tests (Files): Likewise.
19767         * modules/unictype/category-So-tests (Files): Likewise.
19768         * modules/unictype/category-Z-tests (Files): Likewise.
19769         * modules/unictype/category-Zl-tests (Files): Likewise.
19770         * modules/unictype/category-Zp-tests (Files): Likewise.
19771         * modules/unictype/category-Zs-tests (Files): Likewise.
19772         * modules/unictype/category-and-not-tests (Files): Likewise.
19773         * modules/unictype/category-and-tests (Files): Likewise.
19774         * modules/unictype/category-byname-tests (Files): Likewise.
19775         * modules/unictype/category-name-tests (Files): Likewise.
19776         * modules/unictype/category-none-tests (Files): Likewise.
19777         * modules/unictype/category-of-tests (Files): Likewise.
19778         * modules/unictype/category-or-tests (Files): Likewise.
19779         * modules/unictype/category-test-withtable-tests (Files): Likewise.
19780         * modules/unictype/combining-class-tests (Files): Likewise.
19781         * modules/unictype/ctype-alnum-tests (Files): Likewise.
19782         * modules/unictype/ctype-alpha-tests (Files): Likewise.
19783         * modules/unictype/ctype-blank-tests (Files): Likewise.
19784         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
19785         * modules/unictype/ctype-digit-tests (Files): Likewise.
19786         * modules/unictype/ctype-graph-tests (Files): Likewise.
19787         * modules/unictype/ctype-lower-tests (Files): Likewise.
19788         * modules/unictype/ctype-print-tests (Files): Likewise.
19789         * modules/unictype/ctype-punct-tests (Files): Likewise.
19790         * modules/unictype/ctype-space-tests (Files): Likewise.
19791         * modules/unictype/ctype-upper-tests (Files): Likewise.
19792         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
19793         * modules/unictype/decimal-digit-tests (Files): Likewise.
19794         * modules/unictype/digit-tests (Files): Likewise.
19795         * modules/unictype/mirror-tests (Files): Likewise.
19796         * modules/unictype/numeric-tests (Files): Likewise.
19797         * modules/unictype/property-alphabetic-tests (Files): Likewise.
19798         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
19799         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
19800         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
19801         Likewise.
19802         * modules/unictype/property-bidi-block-separator-tests (Files):
19803         Likewise.
19804         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
19805         Likewise.
19806         * modules/unictype/property-bidi-common-separator-tests (Files):
19807         Likewise.
19808         * modules/unictype/property-bidi-control-tests (Files): Likewise.
19809         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
19810         Likewise.
19811         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
19812         Likewise.
19813         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
19814         Likewise.
19815         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
19816         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
19817         Likewise.
19818         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
19819         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
19820         Likewise.
19821         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
19822         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
19823         * modules/unictype/property-bidi-segment-separator-tests (Files):
19824         Likewise.
19825         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
19826         * modules/unictype/property-byname-tests (Files): Likewise.
19827         * modules/unictype/property-combining-tests (Files): Likewise.
19828         * modules/unictype/property-composite-tests (Files): Likewise.
19829         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
19830         * modules/unictype/property-dash-tests (Files): Likewise.
19831         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
19832         * modules/unictype/property-default-ignorable-code-point-tests (Files):
19833         Likewise.
19834         * modules/unictype/property-deprecated-tests (Files): Likewise.
19835         * modules/unictype/property-diacritic-tests (Files): Likewise.
19836         * modules/unictype/property-extender-tests (Files): Likewise.
19837         * modules/unictype/property-format-control-tests (Files): Likewise.
19838         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
19839         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
19840         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
19841         * modules/unictype/property-hex-digit-tests (Files): Likewise.
19842         * modules/unictype/property-hyphen-tests (Files): Likewise.
19843         * modules/unictype/property-id-continue-tests (Files): Likewise.
19844         * modules/unictype/property-id-start-tests (Files): Likewise.
19845         * modules/unictype/property-ideographic-tests (Files): Likewise.
19846         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
19847         * modules/unictype/property-ids-trinary-operator-tests (Files):
19848         Likewise.
19849         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
19850         * modules/unictype/property-iso-control-tests (Files): Likewise.
19851         * modules/unictype/property-join-control-tests (Files): Likewise.
19852         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
19853         * modules/unictype/property-line-separator-tests (Files): Likewise.
19854         * modules/unictype/property-logical-order-exception-tests (Files):
19855         Likewise.
19856         * modules/unictype/property-lowercase-tests (Files): Likewise.
19857         * modules/unictype/property-math-tests (Files): Likewise.
19858         * modules/unictype/property-non-break-tests (Files): Likewise.
19859         * modules/unictype/property-not-a-character-tests (Files): Likewise.
19860         * modules/unictype/property-numeric-tests (Files): Likewise.
19861         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
19862         * modules/unictype/property-other-default-ignorable-code-point-tests
19863         (Files): Likewise.
19864         * modules/unictype/property-other-grapheme-extend-tests (Files):
19865         Likewise.
19866         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
19867         * modules/unictype/property-other-id-start-tests (Files): Likewise.
19868         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
19869         * modules/unictype/property-other-math-tests (Files): Likewise.
19870         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
19871         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
19872         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
19873         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
19874         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
19875         * modules/unictype/property-private-use-tests (Files): Likewise.
19876         * modules/unictype/property-punctuation-tests (Files): Likewise.
19877         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
19878         * modules/unictype/property-radical-tests (Files): Likewise.
19879         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
19880         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
19881         * modules/unictype/property-space-tests (Files): Likewise.
19882         * modules/unictype/property-terminal-punctuation-tests (Files):
19883         Likewise.
19884         * modules/unictype/property-test-tests (Files): Likewise.
19885         * modules/unictype/property-titlecase-tests (Files): Likewise.
19886         * modules/unictype/property-unassigned-code-value-tests (Files):
19887         Likewise.
19888         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
19889         * modules/unictype/property-uppercase-tests (Files): Likewise.
19890         * modules/unictype/property-variation-selector-tests (Files): Likewise.
19891         * modules/unictype/property-white-space-tests (Files): Likewise.
19892         * modules/unictype/property-xid-continue-tests (Files): Likewise.
19893         * modules/unictype/property-xid-start-tests (Files): Likewise.
19894         * modules/unictype/property-zero-width-tests (Files): Likewise.
19895         * modules/unictype/scripts-tests (Files): Likewise.
19896         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
19897         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
19898         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
19899         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
19900         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
19901         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
19902         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
19903         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
19904         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
19905         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
19906         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
19907         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
19908         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
19909         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
19910         * modules/uninorm/composition-tests (Files): Likewise.
19911         * modules/uninorm/decomposing-form-tests (Files): Likewise.
19912         * modules/uninorm/decomposition-tests (Files): Likewise.
19913         * modules/uninorm/filter-tests (Files): Likewise.
19914         * modules/uninorm/nfc-tests (Files): Likewise.
19915         * modules/uninorm/nfd-tests (Files): Likewise.
19916         * modules/uninorm/nfkc-tests (Files): Likewise.
19917         * modules/uninorm/nfkd-tests (Files): Likewise.
19918         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
19919         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
19920         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
19921         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
19922         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
19923         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
19924         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
19925         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
19926         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
19927         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
19928         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
19929         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
19930         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
19931         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
19932         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
19933         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
19934         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
19935         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
19936         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
19937         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
19938         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
19939         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
19940         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
19941         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
19942         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
19943         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
19944         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
19945         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
19946         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
19947         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
19948         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
19949         * modules/uniwidth/u8-width-tests (Files): Likewise.
19950         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
19951         * modules/uniwidth/u16-width-tests (Files): Likewise.
19952         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
19953         * modules/uniwidth/u32-width-tests (Files): Likewise.
19954         * modules/uniwidth/width-tests (Files): Likewise.
19955         * modules/unlink-tests (Files): Likewise.
19956         * modules/unsetenv-tests (Files): Likewise.
19957         * modules/usleep-tests (Files): Likewise.
19958         * modules/utimens-tests (Files): Likewise.
19959         * modules/utimensat-tests (Files): Likewise.
19960         * modules/vasnprintf-posix-tests (Files): Likewise.
19961         * modules/vasnprintf-tests (Files): Likewise.
19962         * modules/vasprintf-posix-tests (Files): Likewise.
19963         * modules/vasprintf-tests (Files): Likewise.
19964         * modules/vdprintf-posix-tests (Files): Likewise.
19965         * modules/vfprintf-posix-tests (Files): Likewise.
19966         * modules/vprintf-posix-tests (Files): Likewise.
19967         * modules/vsnprintf-posix-tests (Files): Likewise.
19968         * modules/vsnprintf-tests (Files): Likewise.
19969         * modules/vsprintf-posix-tests (Files): Likewise.
19970         * modules/wcrtomb-tests (Files): Likewise.
19971         * modules/wcsnrtombs-tests (Files): Likewise.
19972         * modules/wcsrtombs-tests (Files): Likewise.
19973         * modules/wctype-tests (Files): Likewise.
19974         * modules/wcwidth-tests (Files): Likewise.
19975         * modules/xmemdup0-tests (Files): Likewise.
19976         * modules/xprintf-posix-tests (Files): Likewise.
19977         * modules/xvasprintf-tests (Files): Likewise.
19978
19979 2009-12-24  Eric Blake  <ebb9@byu.net>
19980
19981         test-nanosleep: fix typo
19982         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
19983         patch.
19984         Reported by Bruno Haible.
19985
19986 2009-12-24  Bruno Haible  <bruno@clisp.org>
19987
19988         Reduce namespace pollution on glibc systems.
19989         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
19990         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
19991         systems.
19992         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
19993         <getopt.h> on glibc systems.
19994         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
19995         systems.
19996         * lib/fcntl.c: Include <unistd.h> here instead.
19997
19998 2009-12-24  Bruno Haible  <bruno@clisp.org>
19999
20000         * lib/stdlib.in.h (includes): Fix typo in today's commit.
20001
20002 2009-12-24  Eric Blake  <ebb9@byu.net>
20003
20004         tests: add signature checks
20005         * tests/signature.h (SIGNATURE_CHECK): New file.
20006         * modules/atexit-tests (Files): Use it.
20007         * modules/btowc-tests (Files): Likewise.
20008         * modules/canonicalize-lgpl-tests (Files): Likewise.
20009         * modules/ceilf-tests (Files): Likewise.
20010         * modules/ceill-tests (Files): Likewise.
20011         * modules/chown-tests (Files): Likewise.
20012         * modules/dprintf-posix-tests (Files): Likewise.
20013         * modules/dup2-tests (Files): Likewise.
20014         * modules/dup3-tests (Files): Likewise.
20015         * modules/duplocale-tests (Files): Likewise.
20016         * modules/fchdir-tests (Files): Likewise.
20017         * modules/fcntl-tests (Files): Likewise.
20018         * modules/fdopendir-tests (Files): Likewise.
20019         * modules/fflush-tests (Files): Likewise.
20020         * modules/flock-tests (Files): Likewise.
20021         * modules/floorf-tests (Files): Likewise.
20022         * modules/floorl-tests (Files): Likewise.
20023         * modules/fnmatch-tests (Files): Likewise.
20024         * modules/fopen-tests (Files): Likewise.
20025         * modules/fprintf-posix-tests (Files): Likewise.
20026         * modules/freopen-tests (Files): Likewise.
20027         * modules/frexp-nolibm-tests (Files): Likewise.
20028         * modules/frexp-tests (Files): Likewise.
20029         * modules/frexpl-nolibm-tests (Files): Likewise.
20030         * modules/frexpl-tests (Files): Likewise.
20031         * modules/fseek-tests (Files): Likewise.
20032         * modules/fseeko-tests (Files): Likewise.
20033         * modules/fsync-tests (Files): Likewise.
20034         * modules/ftell-tests (Files): Likewise.
20035         * modules/ftello-tests (Files): Likewise.
20036         * modules/futimens-tests (Files): Likewise.
20037         * modules/getaddrinfo-tests (Files): Likewise.
20038         * modules/getcwd-tests (Files): Likewise.
20039         * modules/getdelim-tests (Files): Likewise.
20040         * modules/getdtablesize-tests (Files): Likewise.
20041         * modules/getgroups-tests (Files): Likewise.
20042         * modules/gethostname-tests (Files): Likewise.
20043         * modules/getline-tests (Files): Likewise.
20044         * modules/getopt-posix-tests (Files): Likewise.
20045         * modules/gettimeofday-tests (Files): Likewise.
20046         * modules/glob-tests (Files): Likewise.
20047         * modules/iconv-tests (Files): Likewise.
20048         * modules/inet_ntop-tests (Files): Likewise.
20049         * modules/inet_pton-tests (Files): Likewise.
20050         * modules/isblank-tests (Files): Likewise.
20051         * modules/lchown-tests (Files): Likewise.
20052         * modules/ldexpl-tests (Files): Likewise.
20053         * modules/link-tests (Files): Likewise.
20054         * modules/linkat-tests (Files): Likewise.
20055         * modules/lseek-tests (Files): Likewise.
20056         * modules/lstat-tests (Files): Likewise.
20057         * modules/mbrtowc-tests (Files): Likewise.
20058         * modules/mbsinit-tests (Files): Likewise.
20059         * modules/mbsnrtowcs-tests (Files): Likewise.
20060         * modules/mbsrtowcs-tests (Files): Likewise.
20061         * modules/memchr-tests (Files): Likewise.
20062         * modules/memcmp-tests (Files): Likewise.
20063         * modules/memmem-tests (Files): Likewise.
20064         * modules/memrchr-tests (Files): Likewise.
20065         * modules/mkdir-tests (Files): Likewise.
20066         * modules/mkfifo-tests (Files): Likewise.
20067         * modules/mkfifoat-tests (Files): Likewise.
20068         * modules/mknod-tests (Files): Likewise.
20069         * modules/nanosleep-tests (Files): Likewise.
20070         * modules/nl_langinfo-tests (Files): Likewise.
20071         * modules/obstack-printf-tests (Files): Likewise.
20072         * modules/open-tests (Files): Likewise.
20073         * modules/openat-tests (Files): Likewise.
20074         * modules/perror-tests (Files): Likewise.
20075         * modules/pipe2-tests (Files): Likewise.
20076         * modules/poll-tests (Files): Likewise.
20077         * modules/popen-tests (Files): Likewise.
20078         * modules/posix_spawn-tests (Files): Likewise.
20079         * modules/posix_spawnp-tests (Files): Likewise.
20080         * modules/pread-tests (Files): Likewise.
20081         * modules/printf-posix-tests (Files): Likewise.
20082         * modules/pty-tests (Files): Likewise.
20083         * modules/random_r-tests (Files): Likewise.
20084         * modules/rawmemchr-tests (Files): Likewise.
20085         * modules/readlink-tests (Files): Likewise.
20086         * modules/remove-tests (Files): Likewise.
20087         * modules/rename-tests (Files): Likewise.
20088         * modules/renameat-tests (Files): Likewise.
20089         * modules/rmdir-tests (Files): Likewise.
20090         * modules/round-tests (Files): Likewise.
20091         * modules/roundf-tests (Files): Likewise.
20092         * modules/roundl-tests (Files): Likewise.
20093         * modules/select-tests (Files): Likewise.
20094         * modules/setenv-tests (Files): Likewise.
20095         * modules/sigaction-tests (Files): Likewise.
20096         * modules/sleep-tests (Files): Likewise.
20097         * modules/snprintf-posix-tests (Files): Likewise.
20098         * modules/snprintf-tests (Files): Likewise.
20099         * modules/sprintf-posix-tests (Files): Likewise.
20100         * modules/stat-tests (Files): Likewise.
20101         * modules/strcasestr-tests (Files): Likewise.
20102         * modules/strchrnul-tests (Files): Likewise.
20103         * modules/strerror-tests (Files): Likewise.
20104         * modules/strsignal-tests (Files): Likewise.
20105         * modules/strstr-tests (Files): Likewise.
20106         * modules/strtod-tests (Files): Likewise.
20107         * modules/strverscmp-tests (Files): Likewise.
20108         * modules/symlink-tests (Files): Likewise.
20109         * modules/symlinkat-tests (Files): Likewise.
20110         * modules/times-tests (Files): Likewise.
20111         * modules/trunc-tests (Files): Likewise.
20112         * modules/truncf-tests (Files): Likewise.
20113         * modules/truncl-tests (Files): Likewise.
20114         * modules/tsearch-tests (Files): Likewise.
20115         * modules/uname-tests (Files): Likewise.
20116         * modules/unlink-tests (Files): Likewise.
20117         * modules/unsetenv-tests (Files): Likewise.
20118         * modules/usleep-tests (Files): Likewise.
20119         * modules/utimensat-tests (Files): Likewise.
20120         * modules/vasprintf-tests (Files): Likewise.
20121         * modules/vdprintf-posix-tests (Files): Likewise.
20122         * modules/vfprintf-posix-tests (Files): Likewise.
20123         * modules/vprintf-posix-tests (Files): Likewise.
20124         * modules/vsnprintf-posix-tests (Files): Likewise.
20125         * modules/vsnprintf-tests (Files): Likewise.
20126         * modules/vsprintf-posix-tests (Files): Likewise.
20127         * modules/wcrtomb-tests (Files): Likewise.
20128         * modules/wcsnrtombs-tests (Files): Likewise.
20129         * modules/wcsrtombs-tests (Files): Likewise.
20130         * modules/wcwidth-tests (Files): Likewise.
20131         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
20132         * tests/test-isinf.c (isinf): Likewise.
20133         * tests/test-isnan.c (isnan): Likewise.
20134         * tests/test-signbit.c (signbit): Likewise.
20135         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
20136         declaration, either as macro or with correct signature.
20137         (select): Ensure function under test is declared with correct
20138         signature in correct header.
20139         * tests/test-atexit.c (atexit): Likewise.
20140         * tests/test-btowc.c (btowc): Likewise.
20141         * tests/test-canonicalize-lgpl.c (realpath)
20142         (canonicalize_file_name): Likewise.
20143         * tests/test-ceilf1.c (ceilf): Likewise.
20144         * tests/test-ceill.c (ceill): Likewise.
20145         * tests/test-chown.c (chown): Likewise.
20146         * tests/test-dprintf-posix.c (dprintf): Likewise.
20147         * tests/test-dup2.c (dup2): Likewise.
20148         * tests/test-dup3.c (dup3): Likewise.
20149         * tests/test-duplocale.c (duplocale): Likewise.
20150         * tests/test-fchdir.c (fchdir): Likewise.
20151         * tests/test-fchownat.c (fchownat): Likewise.
20152         * tests/test-fcntl.c (fcntl): Likewise.
20153         * tests/test-fdopendir.c (fdopendir): Likewise.
20154         * tests/test-fflush.c (fflush): Likewise.
20155         * tests/test-flock.c (flock): Likewise.
20156         * tests/test-floorf1.c (floorf): Likewise.
20157         * tests/test-floorl.c (floorl): Likewise.
20158         * tests/test-fnmatch.c (fnmatch): Likewise.
20159         * tests/test-fopen.c (fopen): Likewise.
20160         * tests/test-fprintf-posix.c (fprintf): Likewise.
20161         * tests/test-freopen.c (freopen): Likewise.
20162         * tests/test-frexp.c (frexp): Likewise.
20163         * tests/test-frexpl.c (frexpl): Likewise.
20164         * tests/test-fseek.c (fseek): Likewise.
20165         * tests/test-fseeko.c (fseeko): Likewise.
20166         * tests/test-fstatat.c (fstatat): Likewise.
20167         * tests/test-fsync.c (fsync): Likewise.
20168         * tests/test-ftell.c (ftell): Likewise.
20169         * tests/test-ftello.c (ftello): Likewise.
20170         * tests/test-futimens.c (futimens): Likewise.
20171         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
20172         (gai_strerror): Likewise.
20173         * tests/test-getcwd.c (getcwd): Likewise.
20174         * tests/test-getdelim.c (getdelim): Likewise.
20175         * tests/test-getdtablesize.c (getdtablesize): Likewise.
20176         * tests/test-getgroups.c (getgroups): Likewise.
20177         * tests/test-gethostname.c (gethostname): Likewise.
20178         * tests/test-getline.c (getline): Likewise.
20179         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
20180         Likewise.
20181         * tests/test-gettimeofday.c (gettimeofday): Likewise.
20182         * tests/test-glob.c (glob, globfree): Likewise.
20183         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
20184         * tests/test-inet_ntop.c (inet_ntop): Likewise.
20185         * tests/test-inet_pton.c (inet_pton): Likewise.
20186         * tests/test-isblank.c (isblank): Likewise.
20187         * tests/test-lchown.c (lchown): Likewise.
20188         * tests/test-ldexpl.c (ldexpl): Likewise.
20189         * tests/test-link.c (link): Likewise.
20190         * tests/test-linkat.c (linkat): Likewise.
20191         * tests/test-lseek.c (lseek): Likewise.
20192         * tests/test-lstat.c (lstat): Likewise.
20193         * tests/test-mbrtowc.c (mbrtowc): Likewise.
20194         * tests/test-mbsinit.c (mbsinit): Likewise.
20195         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
20196         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
20197         * tests/test-memchr.c (memchr): Likewise.
20198         * tests/test-memcmp.c (memcmp): Likewise.
20199         * tests/test-memmem.c (memmem): Likewise.
20200         * tests/test-memrchr.c (memrchr): Likewise.
20201         * tests/test-mkdir.c (mkdir): Likewise.
20202         * tests/test-mkdirat.c (mkdirat): Likewise.
20203         * tests/test-mkfifo.c (mkfifo): Likewise.
20204         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
20205         * tests/test-mknod.c (mknod): Likewise.
20206         * tests/test-nanosleep.c (nanosleep): Likewise.
20207         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
20208         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
20209         Likewise.
20210         * tests/test-open.c (open): Likewise.
20211         * tests/test-openat.c (openat): Likewise.
20212         * tests/test-perror.c (perror): Likewise.
20213         * tests/test-pipe2.c (pipe2): Likewise.
20214         * tests/test-poll.c (poll): Likewise.
20215         * tests/test-popen.c (popen, pclose): Likewise.
20216         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
20217         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
20218         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
20219         (posix_spawn_file_actions_destroy)
20220         (posix_spawn_file_actions_addclose)
20221         (posix_spawn_file_actions_addopen)
20222         (posix_spawn_file_actions_adddup2): Likewise.
20223         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
20224         * tests/test-pread.c (pread): Likewise.
20225         * tests/test-printf-posix.c (printf): Likewise.
20226         * tests/test-pty.c (openpty, forkpty): Likewise.
20227         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
20228         (random_r): Likewise.
20229         * tests/test-rawmemchr.c (rawmemchr): Likewise.
20230         * tests/test-readlink.c (readlink): Likewise.
20231         * tests/test-remove.c (remove): Likewise.
20232         * tests/test-rename.c (rename): Likewise.
20233         * tests/test-renameat.c (renameat): Likewise.
20234         * tests/test-rmdir.c (rmdir): Likewise.
20235         * tests/test-round1.c (round): Likewise.
20236         * tests/test-roundf1.c (roundf): Likewise.
20237         * tests/test-roundl.c (roundl): Likewise.
20238         * tests/test-setenv.c (setenv): Likewise.
20239         * tests/test-sigaction.c (sigaction): Likewise.
20240         * tests/test-sleep.c (sleep): Likewise.
20241         * tests/test-snprintf.c (snprintf): Likewise.
20242         * tests/test-sprintf-posix.c (sprintf): Likewise.
20243         * tests/test-stat.c (stat): Likewise.
20244         * tests/test-stpncpy.c (stpncpy): Likewise.
20245         * tests/test-strcasestr.c (strcasestr): Likewise.
20246         * tests/test-strchrnul.c (strchrnul): Likewise.
20247         * tests/test-strerror.c (strerror): Likewise.
20248         * tests/test-strsignal.c (strsignal): Likewise.
20249         * tests/test-strstr.c (strstr): Likewise.
20250         * tests/test-strtod.c (strtod): Likewise.
20251         * tests/test-strverscmp.c (strverscmp): Likewise.
20252         * tests/test-symlink.c (symlink): Likewise.
20253         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
20254         * tests/test-times.c (times): Likewise.
20255         * tests/test-trunc1.c (trunc): Likewise.
20256         * tests/test-truncf1.c (truncf): Likewise.
20257         * tests/test-truncl.c (truncl): Likewise.
20258         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
20259         Likewise.
20260         * tests/test-uname.c (uname): Likewise.
20261         * tests/test-unlink.c (unlink): Likewise.
20262         * tests/test-unlinkat.c (unlinkat): Likewise.
20263         * tests/test-unsetenv.c (unsetenv): Likewise.
20264         * tests/test-usleep.c (usleep): Likewise.
20265         * tests/test-utimensat.c (utimensat): Likewise.
20266         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
20267         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
20268         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
20269         * tests/test-vprintf-posix.c (vprintf): Likewise.
20270         * tests/test-vsnprintf.c (vsnprintf): Likewise.
20271         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
20272         * tests/test-wcrtomb.c (wcrtomb): Likewise.
20273         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
20274         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
20275         * tests/test-wcwidth.c (wcwidth): Likewise.
20276
20277         build: pull in conditional headers during GNULIB_POSIXCHECK
20278         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
20279         definitions from any conditionally-included headers.
20280         * lib/stdlib.in.h (includes): Likewise.
20281         * lib/unistd.in.h (includes): Likewise.
20282
20283 2009-12-24  Bruno Haible  <bruno@clisp.org>
20284
20285         * tests/test-argv-iter.c: Include header file being tested immediately
20286         after config.h.
20287         * tests/test-base64.c: Likewise.
20288         * tests/test-flock.c: Likewise.
20289         * tests/test-fsync.c: Likewise.
20290         * tests/test-getdate.c: Likewise.
20291         * tests/test-getndelim2.c: Likewise.
20292         * tests/test-isfinite.c: Likewise.
20293         * tests/test-isinf.c: Likewise.
20294         * tests/test-strerror.c: Likewise.
20295         * tests/test-strsignal.c: Likewise.
20296
20297 2009-12-23  Eric Blake  <ebb9@byu.net>
20298
20299         unistd: work around cygwin bug
20300         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
20301         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
20302         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
20303
20304 2009-12-23  Bruno Haible  <bruno@clisp.org>
20305
20306         localename: More tests.
20307         * tests/test-localename.c (SIZEOF): New macro.
20308         (categories): New variable.
20309         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
20310         test_locale_name_default): Add test w.r.t. thread locale.
20311         (test_locale_name_thread): New function.
20312         (main): Invoke it.
20313
20314         localename: Make aware of thread locale.
20315         * lib/localename.h (gl_locale_name_thread): New declaration.
20316         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
20317         behaviour with respect to thread locale.
20318         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
20319         <langinfo.h>, glthread/lock.h.
20320         (SIZE_BITS): New macro.
20321         (string_hash): New function.
20322         (struct hash_node): New type.
20323         (HASH_TABLE_SIZE): New macro.
20324         (struniq_hash_table, struniq_lock): New variables.
20325         (struniq): New function.
20326         (gl_locale_name_thread): New function.
20327         (gl_locale_name): Invoke it.
20328         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
20329         * modules/localename (Depends-on): Add lock.
20330         Reported by Mike Gran <spk121@yahoo.com>.
20331
20332 2009-12-23  Eric Blake  <ebb9@byu.net>
20333
20334         va-args: new module
20335         * modules/va-args: New file.
20336         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
20337         * MODULES.html.sh (Core language properties): Mention it.
20338
20339         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
20340         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
20341         named alias for __attribute__((__unused__)).
20342         * lib/chown.c: Update client.
20343         * lib/fchmodat.c: Likewise.
20344         * lib/fts.c: Likewise.
20345         * lib/getdate.y: Likewise.
20346         * lib/getgroups.c: Likewise.
20347         * lib/getopt.c: Likewise.
20348         * lib/getugroups.c: Likewise.
20349         * lib/mkdir.c: Likewise.
20350         * lib/mkfifo.c: Likewise.
20351         * lib/mkfifoat.c: Likewise.
20352         * lib/mknod.c: Likewise.
20353         * lib/mknodat.c: Likewise.
20354         * lib/readlink.c: Likewise.
20355         * lib/se-context.in.h: Likewise.
20356         * lib/se-selinux.in.h: Likewise.
20357         * lib/sockets.c: Likewise.
20358         * lib/symlink.c: Likewise.
20359         * lib/symlinkat.c: Likewise.
20360         * lib/unicodeio.c: Likewise.
20361         * lib/unistr.h: Likewise.
20362         * tests/test-areadlink.c: Likewise.
20363         * tests/test-areadlinkat.c: Likewise.
20364         * tests/test-filenamecat.c: Likewise.
20365         * tests/test-fseeko.c: Likewise.
20366         * tests/test-ftello.c: Likewise.
20367         * tests/test-getdate.c: Likewise.
20368         * tests/test-getgroups.c: Likewise.
20369         * tests/test-gethostname.c: Likewise.
20370         * tests/test-quotearg.c: Likewise.
20371         * tests/test-version-etc.c: Likewise.
20372         * tests/test-xalloc-die.c: Likewise.
20373         * tests/test-xfprintf-posix.c: Likewise.
20374         * tests/test-xprintf-posix.c: Likewise.
20375         * tests/test-xvasprintf.c: Likewise.
20376
20377         tests: avoid compiler warnings
20378         * tests/test-fcntl.c (main): Delete unused parameters.
20379         * tests/test-freopen-safer.c (main): Likewise.
20380         * tests/test-xalloc-die.c (main): Mark unused parameters.
20381         * tests/test-fseeko.c (main): Likewise.
20382         * tests/test-ftello.c (main): Likewise.
20383         * tests/test-nanosleep.c (main): Avoid declaration warning.
20384         * tests/test-sleep.c (main): Likewise.
20385         * tests/test-unsetenv.c (main): Silence warning about string
20386         literal.
20387         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
20388
20389 2009-12-23  Bruno Haible  <bruno@clisp.org>
20390
20391         * tests/test-localename.c (test_locale_name): New function, extracted
20392         from main. Also test mixed situations.
20393         (test_locale_name_posix, test_locale_name_environ,
20394         test_locale_name_default): New functions.
20395         (main): Invoke them all.
20396         * modules/localename-tests (configure.ac): Test for newlocale.
20397
20398 2009-12-23  Bruno Haible  <bruno@clisp.org>
20399
20400         unistd: Ensure getcwd gets declared before being overridden.
20401         * lib/unistd.in.h: Conditionally include <io.h>.
20402
20403 2009-12-22  Bruno Haible  <bruno@clisp.org>
20404
20405         wchar: Diagnose broken combination of glibc and gcc versions and flags.
20406         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
20407         (gl_WCHAR_H): Invoke it.
20408         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
20409         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
20410         Reported by Karl Berry <karl@freefriends.org>.
20411
20412 2009-12-22  Eric Blake  <ebb9@byu.net>
20413
20414         math, unistd: avoid redundant includes
20415         * lib/math.in.h (isnan): No need to re-include <math.h>.
20416         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
20417
20418         getsubopt: work around cygwin bug
20419         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
20420         avoid conflicting with system getsubopt.
20421         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
20422         bug.
20423
20424         getopt: synchronize from glibc
20425         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
20426         parameter order.  Adjust all callers.
20427         (_getopt_internal_r, main): Adjust quoting in error messages.
20428         Drop considerations for outdated POSIX 1003.2 error message.
20429         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
20430         callers.
20431         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
20432
20433         test-getopt: test stderr behavior
20434         * modules/getopt-posix-tests (Depends-on): Add dup2.
20435         * tests/test-getopt.c (ASSERT): Avoid stderr.
20436         (main): Move stderr to a temporary file.
20437         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
20438         Instead, add parameter to inform caller if output occurred.
20439         (test_getopt): Adjust all existing tests to expect silence, and
20440         add new tests of leading ":".
20441         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20442         glibc shortcomings with leading "-:" or "+:" in optstring.
20443         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20444         Likewise.
20445         * doc/posix-functions/getopt.texi (getopt): Likewise.
20446
20447         test-getopt: enhance test
20448         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
20449         supports optind=0.
20450         * tests/test-getopt.c (OPTIND_MIN): Move...
20451         * tests/test-getopt.h (OPTIND_MIN): ...here.
20452         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
20453         Require that optind=0 works, since modern BSD supports it in
20454         addition to optreset, and since coreutils expects it.
20455         (test_getopt_long_only): New test.
20456         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
20457         glibc shortcomings with 'W;', and enforcement of optind=0.
20458         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
20459         Likewise.
20460
20461 2009-12-21  Bruno Haible  <bruno@clisp.org>
20462
20463         localename: Improvements for MacOS X and Cygwin.
20464         * lib/localename.h (gl_locale_name_environ): New declaration.
20465         * lib/localename.c (gl_locale_name_environ): New function, extracted from
20466         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
20467         (gl_locale_name_posix): Invoke it.
20468         (gl_locale_name_default): Add comments. Use Windows native API also on
20469         Cygwin.
20470
20471 2009-12-21  Bruno Haible  <bruno@clisp.org>
20472
20473         Update list of Win32 locale ids.
20474         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
20475         (LANG_SAMI): Renamed from LANG_SAAMI.
20476         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
20477         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
20478         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
20479         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
20480         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
20481         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
20482         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
20483         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
20484         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
20485         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
20486         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
20487         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
20488         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
20489         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
20490         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
20491         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
20492         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
20493         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
20494         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
20495         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
20496         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
20497         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
20498         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
20499         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
20500         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
20501         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
20502         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
20503         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
20504         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
20505         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
20506         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
20507         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
20508         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
20509         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
20510         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
20511         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
20512         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
20513         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
20514         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
20515         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
20516         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
20517         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
20518         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
20519         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
20520         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
20521         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
20522         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
20523         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
20524         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
20525         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
20526         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
20527         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
20528         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
20529         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
20530         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
20531         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
20532         Add more languages and countries for Sami, Sorbian. Add more countries
20533         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
20534         for Pashto. Change country for Syriac, Tswana.
20535
20536 2009-12-21  Eric Blake  <ebb9@byu.net>
20537
20538         test-utimens: avoid spurious failure
20539         * tests/test-chown.h (nap): Factor...
20540         * tests/nap.h: ...into new file.
20541         * tests/test-lchown.h (nap): Avoid duplication.
20542         * tests/test-utimens-common.h (nap): Use shared implementation,
20543         necessary on file systems with 1-second resolution.
20544         * modules/chown-tests (Files): Include new file.
20545         * modules/fdutimensat-tests (Files): Likewise.
20546         * modules/futimens-tests (Files): Likewise.
20547         * modules/lchown-tests (Files): Likewise.
20548         * modules/openat-tests (Files): Likewise.
20549         * modules/utimens-tests (Files): Likewise.
20550         * modules/utimensat-tests (Files): Likewise.
20551
20552 2009-12-19  Eric Blake  <ebb9@byu.net>
20553
20554         futimens, utimensat: work around Linux bug
20555         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
20556         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
20557         * lib/utimensat.c (rpl_utimensat): Work around it.
20558         * lib/futimens.c (rpl_futimens): Adjust comment.
20559
20560         utimens: work around Linux ctime bug
20561         * lib/utimens.c (detect_ctime_bug): New helper function.
20562         (update_timespec): Differentiate between workaround needed for
20563         this bug vs. what is needed for systems that lack utimensat.
20564         (fdutimens, lutimens): Work around bug.
20565
20566         utimens: check for ctime update
20567         * tests/test-utimens-common.h (check_ctime): Define.
20568         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
20569         * tests/test-futimens.h (test_futimens): Likewise.
20570         * tests/test-lutimens.h (test_lutimens): Likewise.
20571         * doc/posix-functions/futimens.texi (futimens): Document the bug.
20572         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
20573
20574 2009-12-19  Bruno Haible  <bruno@clisp.org>
20575
20576         dprintf-posix: Check against memory leak fixed on 2009-12-15.
20577         * tests/test-dprintf-posix2.sh: New file.
20578         * tests/test-dprintf-posix2.c: New file.
20579         * modules/dprintf-posix-tests (Files): Add them.
20580         (configure.ac): Check for getrlimit and setrlimit.
20581         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
20582
20583 2009-12-19  Bruno Haible  <bruno@clisp.org>
20584
20585         fprintf-posix: Check against memory leak fixed on 2009-12-15.
20586         * tests/test-fprintf-posix3.sh: New file.
20587         * tests/test-fprintf-posix3.c: New file.
20588         * modules/fprintf-posix-tests (Files): Add them.
20589         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
20590
20591 2009-12-19  Eric Blake  <ebb9@byu.net>
20592
20593         dirfd: fix prototype
20594         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
20595         * lib/dirfd.c (dirfd): Likewise.
20596
20597         canonicalize: reduce memory usage
20598         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
20599         allocation to size.
20600         Reported by Solar Designer <solar@openwall.com>.
20601
20602 2009-12-19  Bruno Haible  <bruno@clisp.org>
20603
20604         New module attribute 'Applicability'.
20605         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
20606         * gnulib-tool: New option --extract-applicability.
20607         (func_usage): Document it.
20608         (sed_extract_prog): Recognize it.
20609         (func_get_applicability): New function.
20610         (func_import): Generalize handling of 'link-warning' module.
20611         * modules/link-warning (Applicability): New section.
20612         * modules/arg-nonnull (Applicability): New section.
20613         Repoted by Simon Josefsson <simon@josefsson.org>.
20614
20615 2009-12-19  Bruno Haible  <bruno@clisp.org>
20616
20617         fflush: tweak
20618         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
20619         * lib/fseeko.c (rpl_fseeko): Likewise.
20620
20621 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
20622
20623         * lib/gl_list.h: Fix typo in comment.
20624
20625 2009-12-16  Eric Blake  <ebb9@byu.net>
20626
20627         fcntl: use to simplify other modules
20628         * modules/cloexec (Depends-on): Add fcntl.
20629         * modules/fchdir (Depends-on): Likewise.
20630         * modules/fd-safer-flag (Depends-on): Likewise.
20631         * modules/unistd-safer (Depends-on): Likewise.
20632         * modules/dup3 (configure.ac): Set module indicator.
20633         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
20634         missing.
20635         * lib/fchdir.c (_gl_register_dup): Fix comment.
20636         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
20637         * lib/dup-safer.c (dup_safer): Likewise.
20638         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
20639         * lib/dup3.c (dup3): Likewise.
20640         * tests/test-fchdir.c (main): Enhance test.
20641         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
20642
20643         fcntl: port portions of fcntl to mingw
20644         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
20645         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
20646         replacement for mingw.
20647         * modules/fcntl (Description): Update.
20648         (Depends-on): Add dup2.
20649         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
20650         * modules/fcntl-h (Makefile.am): Substitute it.
20651         * lib/fcntl.in.h (fcntl): Update declaration.
20652         (F_DUPFD, F_GETFD): New macros, when needed.
20653         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
20654         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
20655         * tests/test-fcntl.c (check_flags, main): Enhance test for items
20656         we now guarantee.
20657
20658         fcntl: work around cygwin bug in F_DUPFD
20659         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
20660         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
20661         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
20662         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
20663         * doc/posix-functions/fcntl.texi (fcntl): Document it.
20664
20665         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
20666         * modules/fcntl (Files): List new files.
20667         (configure.ac): Run a test.
20668         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
20669         * lib/fcntl.c (rpl_fcntl): Likewise.
20670         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
20671         (gl_FCNTL_H): Always replace fcntl.h.
20672         * modules/fcntl-h (Makefile.am): Substitute witnesses.
20673         * lib/fcntl.in.h (fcntl): Declare replacement.
20674         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
20675         needed, plus a witness.
20676         * doc/posix-functions/fcntl.texi (fcntl): Document this.
20677         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
20678         * tests/test-fcntl.c: New file.
20679         * modules/fcntl-tests: Likewise.
20680
20681         binary-io: avoid potential compilation warning
20682         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
20683         directives.
20684
20685         fflush: avoid compilation error on NetBSD
20686         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
20687         between off_t and fpos_t, since the latter is sometimes a struct.
20688         * lib/fseeko.c (rpl_fseeko): Likewise.
20689         Reported by Alexander Nasonov <alnsn@yandex.ru>.
20690
20691 2009-12-15  Eric Blake  <ebb9@byu.net>
20692
20693         fcntl-h, stdio, sys_ioctl: fix declarations
20694         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
20695         function must not take arguments.
20696         * lib/sys_ioctl.in.h (ioctl): Likewise.
20697         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
20698         (open): Add a link warning.
20699
20700 2009-12-15  Jim Meyering  <meyering@redhat.com>
20701
20702         areadlink, areadlink-with-size: relax license to LGPLv2+
20703         * modules/areadlink (License): Relax to LGPLv2+.
20704         * modules/areadlink-with-size (License): Likewise.
20705
20706 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
20707             Bruno Haible  <bruno@clisp.org>
20708
20709         *printf: Fix memory leak.
20710         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
20711         * lib/vfprintf.c (vfprintf): Likewise.
20712         * lib/dprintf.c (dprintf): Likewise.
20713         * lib/vdprintf.c (vdprintf): Likewise.
20714
20715 2009-12-14  Eric Blake  <ebb9@byu.net>
20716
20717         accept4: adjust module dependencies
20718         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
20719
20720         utimens: one more try at avoiding compiler warning
20721         * lib/utimens.c (lutimens): Lower scope of result.
20722
20723 2009-12-13  Bruno Haible  <bruno@clisp.org>
20724
20725         Move the malloc checking from module 'list' to new module 'xlist'.
20726         * modules/xlist: New file.
20727         * lib/gl_xlist.h: New file.
20728         * lib/gl_xlist.c: New file.
20729         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
20730         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
20731         gl_list_add_last, gl_list_add_before, gl_list_add_after,
20732         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
20733         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
20734         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
20735         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
20736         gl_sortedlist_nx_add): New declarations.
20737         (struct gl_list_implementation): Rename and change methods accordingly.
20738         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
20739         (gl_list_nx_create): Renamed from gl_list_create.
20740         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20741         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20742         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20743         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20744         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20745         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20746         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20747         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20748         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
20749         gl_list_create_empty.
20750         (gl_list_nx_create): Renamed from gl_list_create.
20751         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
20752         (gl_list_nx_set_at): Renamed from gl_list_set_at.
20753         (gl_list_nx_add_first): Renamed from gl_list_add_first.
20754         (gl_list_nx_add_last): Renamed from gl_list_add_last.
20755         (gl_list_nx_add_before): Renamed from gl_list_add_before.
20756         (gl_list_nx_add_after): Renamed from gl_list_add_after.
20757         (gl_list_nx_add_at): Renamed from gl_list_add_at.
20758         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
20759         * lib/gl_array_list.c: Don't include xalloc.h.
20760         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
20761         NULL upon out-of-memory.
20762         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
20763         out-of-memory.
20764         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
20765         Change return type to 'int'.
20766         (gl_array_nx_set_at): Renamed from gl_array_set_at.
20767         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20768         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
20769         upon out-of-memory.
20770         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
20771         upon out-of-memory.
20772         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
20773         upon out-of-memory.
20774         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
20775         upon out-of-memory.
20776         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
20777         out-of-memory.
20778         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
20779         Update.
20780         (gl_array_list_implementation): Update.
20781         * lib/gl_carray_list.c: Don't include xalloc.h.
20782         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
20783         Return NULL upon out-of-memory.
20784         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
20785         out-of-memory.
20786         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
20787         Change return type to 'int'.
20788         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
20789         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
20790         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
20791         upon out-of-memory.
20792         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
20793         upon out-of-memory.
20794         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
20795         out-of-memory.
20796         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
20797         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
20798         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
20799         Update.
20800         (gl_carray_list_implementation): Update.
20801         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
20802         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
20803         gl_linked_create_empty. Return NULL upon out-of-memory.
20804         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
20805         out-of-memory.
20806         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
20807         Change return type to 'int'. Return -1 upon out-of-memory.
20808         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
20809         out-of-memory.
20810         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
20811         upon out-of-memory.
20812         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
20813         upon out-of-memory.
20814         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
20815         NULL upon out-of-memory.
20816         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
20817         upon out-of-memory.
20818         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
20819         out-of-memory.
20820         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
20821         Update.
20822         * lib/gl_linked_list.c: Don't include xalloc.h.
20823         (gl_linked_list_implementation): Update.
20824         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
20825         (add_to_bucket): Change return type to 'int'.
20826         (gl_linkedhash_list_implementation): Update.
20827         * lib/gl_anytree_list1.h (free_subtree): New function.
20828         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
20829         gl_tree_create_empty. Return NULL upon out-of-memory.
20830         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
20831         Change return type to 'int'. Return -1 upon out-of-memory.
20832         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
20833         out-of-memory.
20834         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
20835         (gl_tree_remove_node): New function, moved here from
20836         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
20837         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
20838         Update.
20839         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
20840         malloc, not xmalloc. Return NULL upon out-of-memory.
20841         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20842         out-of-memory.
20843         (gl_tree_remove_node_from_tree): New function, extracted from
20844         gl_tree_remove_node.
20845         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20846         upon out-of-memory.
20847         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20848         out-of-memory.
20849         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20850         upon out-of-memory.
20851         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20852         upon out-of-memory.
20853         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20854         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
20855         not xmalloc. Return NULL upon out-of-memory.
20856         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
20857         out-of-memory.
20858         (gl_tree_remove_node_from_tree): New function, extracted from
20859         gl_tree_remove_node.
20860         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
20861         upon out-of-memory.
20862         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
20863         out-of-memory.
20864         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
20865         upon out-of-memory.
20866         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
20867         upon out-of-memory.
20868         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
20869         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
20870         gl_anytree_list1.h before gl_anyavltree_list2.h.
20871         (gl_avltree_list_implementation): Update.
20872         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
20873         gl_anytree_list1.h before gl_anyavltree_list2.h.
20874         (gl_rbtree_list_implementation): Update.
20875         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
20876         Change return type to 'int'. Return -1 upon out-of-memory. Use
20877         __builtin_expect.
20878         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
20879         (gl_avltreehash_list_implementation): Update.
20880         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
20881         (gl_rbtreehash_list_implementation): Update.
20882         * modules/array-list (Depends-on): Remove xalloc.
20883         * modules/carray-list (Depends-on): Likewise.
20884         * modules/linked-list (Depends-on): Likewise.
20885         * modules/linkedhash-list (Depends-on): Likewise.
20886         * modules/avltree-list (Depends-on): Likewise.
20887         * modules/rbtree-list (Depends-on): Likewise.
20888         * modules/avltreehash-list (Depends-on): Likewise.
20889         * modules/rbtreehash-list (Depends-on): Likewise.
20890
20891         * modules/xsublist: New file.
20892         * lib/gl_xsublist.h: New file.
20893         * lib/gl_xsublist.c: New file.
20894         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
20895         (gl_sublist_nx_create): New declaration.
20896         * lib/gl_sublist.c: Don't include xalloc.h.
20897         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
20898         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
20899         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
20900         Change return type to 'int'. Return -1 upon out-of-memory.
20901         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
20902         upon out-of-memory.
20903         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
20904         NULL upon out-of-memory.
20905         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
20906         upon out-of-memory.
20907         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
20908         NULL upon out-of-memory.
20909         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
20910         NULL upon out-of-memory.
20911         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
20912         upon out-of-memory.
20913         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
20914         (gl_sublist_list_implementation): Update.
20915         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
20916         upon out-of-memory.
20917         * modules/sublist (Depends-on): Remove xalloc.
20918
20919         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
20920         * tests/test-carray_list.c: Likewise.
20921         * tests/test-linked_list.c: Likewise.
20922         * tests/test-linkedhash_list.c: Likewise.
20923         * tests/test-avltree_list.c: Likewise.
20924         * tests/test-rbtree_list.c: Likewise.
20925         * tests/test-avltreehash_list.c: Likewise.
20926         * tests/test-rbtreehash_list.c: Likewise.
20927         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
20928         * modules/carray-list-tests (Makefile.am): Likewise.
20929         * modules/linked-list-tests (Makefile.am): Likewise.
20930         * modules/linkedhash-list-tests (Makefile.am): Likewise.
20931         * modules/avltree-list-tests (Makefile.am): Likewise.
20932         * modules/rbtree-list-tests (Makefile.am): Likewise.
20933         * modules/avltreehash-list-tests (Makefile.am): Likewise.
20934         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
20935
20936         * NEWS: Mention the changes.
20937
20938         * lib/clean-temp.c: Include gl_xlist.h.
20939         * modules/clean-temp (Depends-on): Add xlist.
20940
20941         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
20942         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
20943
20944         * tests/test-array_oset.c: Include gl_xlist.h.
20945         * modules/array-oset-tests (Depends-on): Add xlist.
20946
20947         Reported by José E. Marchesi <jemarch@gnu.org>.
20948
20949 2009-12-13  Bruno Haible  <bruno@clisp.org>
20950
20951         Move the malloc checking from module 'oset' to new module 'xoset'.
20952         * modules/xoset: New file.
20953         * lib/gl_xoset.h: New file.
20954         * lib/gl_xoset.c: New file.
20955         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
20956         declarations.
20957         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
20958         (struct gl_oset_implementation): Rename and change methods accordingly.
20959         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
20960         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20961         'int'. Mark as __warn_unused_result__.
20962         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
20963         gl_oset_create_empty.
20964         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
20965         'int'.
20966         * lib/gl_array_oset.c: Don't include xalloc.h.
20967         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
20968         malloc, not xmalloc.
20969         (grow): Change return type to 'int'. Don't call xalloc_die.
20970         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
20971         to 'int'.
20972         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
20973         'int'.
20974         (gl_array_oset_implementation): Update.
20975         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
20976         gl_tree_create_empty.
20977         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
20978         'int'.
20979         * lib/gl_avltree_oset.c: Don't include xalloc.h.
20980         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20981         xmalloc.
20982         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20983         not xmalloc.
20984         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20985         xmalloc.
20986         (gl_avltree_oset_implementation): Update.
20987         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
20988         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
20989         xmalloc.
20990         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
20991         not xmalloc.
20992         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
20993         xmalloc.
20994         (gl_rbtree_oset_implementation): Update.
20995         * modules/array-oset (Depends-on): Remove xalloc.
20996         * modules/avltree-oset (Depends-on): Likewise.
20997         * modules/rbtree-oset (Depends-on): Likewise.
20998         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
20999         * tests/test-avltree_oset.c: Likewise.
21000         * tests/test-rbtree_oset.c: Likewise.
21001         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
21002         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
21003         * modules/rbtree-oset-tests (Makefile.am): Likewise.
21004         * NEWS: Mention the change.
21005
21006 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
21007
21008         maint.mk: allow a project to override release-prep commands
21009         * top/maint.mk (alpha, beta, stable): Move release-preparatory
21010         commands into a new rule.
21011         (release-prep): New rule.
21012         (release-prep-hook): New overridable variable.
21013
21014 2009-12-13  Bruno Haible  <bruno@clisp.org>
21015
21016         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
21017
21018 2009-12-13  Jim Meyering  <meyering@redhat.com>
21019
21020         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
21021         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
21022
21023 2009-12-12  Bruno Haible  <bruno@clisp.org>
21024
21025         duplocale: Tweak.
21026         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
21027
21028 2009-12-12  Karl Berry  <karl@gnu.org>
21029
21030         * config/srclist.txt (strtoll.c): tab changes, no more sync.
21031
21032 2009-12-12  Bruno Haible  <bruno@clisp.org>
21033
21034         * m4/po.m4: Undo incorrect untabification.
21035
21036 2009-12-12  Bruno Haible  <bruno@clisp.org>
21037
21038         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
21039         * modules/c-strtod (Depends-on): Add locale.
21040         * modules/c-strtold (Depends-on): Likewise.
21041
21042 2009-12-12  Bruno Haible  <bruno@clisp.org>
21043
21044         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
21045
21046 2009-12-11  Eric Blake  <ebb9@byu.net>
21047
21048         setenv: relax requirement in light of POSIX ruling
21049         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
21050         not NULL.
21051         * tests/test-setenv.c (main): Relax test.
21052         * tests/test-unsetenv.c (main): Likewise.
21053         * doc/posix-functions/setenv.texi (setenv): Document this.
21054         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
21055
21056 2009-12-11  Bruno Haible  <bruno@clisp.org>
21057
21058         New module 'fd-safer-flag'.
21059         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
21060         * lib/dup-safer.c (dup_safer_flag): Remove function.
21061         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
21062         * lib/fd-safer.c (fd_safer_flag): Remove function.
21063         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
21064         * modules/cloexec (configure.ac): Drop indicator macro.
21065         * modules/fd-safer-flag: New file.
21066         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
21067         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
21068         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
21069
21070 2009-12-11  Bruno Haible  <bruno@clisp.org>
21071
21072         Tests for module 'nl_langinfo'.
21073         * modules/nl_langinfo-tests: New file.
21074         * tests/test-nl_langinfo.sh: New file.
21075         * tests/test-nl_langinfo.c: New file.
21076
21077         New module 'nl_langinfo'.
21078         * lib/nl_langinfo.c: New file.
21079         * m4/nl_langinfo.m4: New file.
21080         * modules/nl_langinfo: New file.
21081         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
21082
21083 2009-12-11  Bruno Haible  <bruno@clisp.org>
21084
21085         Tests for module 'langinfo'.
21086         * modules/langinfo-tests: New file.
21087         * tests/test-langinfo.c: New file.
21088
21089         New module 'langinfo'.
21090         * lib/langinfo.in.h: New file.
21091         * m4/langinfo_h.m4: New file.
21092         * modules/langinfo: New file.
21093         * doc/posix-headers/langinfo.texi: Mention the new module.
21094
21095 2009-12-11  Bruno Haible  <bruno@clisp.org>
21096
21097         * lib/config.charset: Untabify.
21098
21099 2009-12-11  Bruno Haible  <bruno@clisp.org>
21100
21101         * modules/unistd-safer (configure.ac): Drop indicator macro.
21102
21103 2009-12-11  Bruno Haible  <bruno@clisp.org>
21104
21105         Move pipe2-safer code to its own file.
21106         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
21107         * lib/pipe-safer.c (pipe2_safer): Remove function.
21108         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
21109         (Makefile.am): Add it to lib_SOURCES.
21110
21111 2009-12-10  Bruno Haible  <bruno@clisp.org>
21112
21113         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
21114
21115 2009-12-10  Bruno Haible  <bruno@clisp.org>
21116
21117         Declare which arguments expect non-NULL values, for GCC and clang.
21118         * build-aux/arg-nonnull.h: New file.
21119         * modules/arg-nonnull: New file.
21120         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
21121         (inet_ntop, inet_pton): Use it.
21122         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
21123         (closedir, dirfd, opendir, scandir, alphasort): Use it.
21124         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
21125         (open, openat): Use it.
21126         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
21127         (fnmatch): Use it.
21128         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
21129         (getopt, getopt_long, getopt_long_only): Use it.
21130         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
21131         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
21132         Use it.
21133         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
21134         (iconv_open): Use it.
21135         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
21136         (strtoimax, strtoumax): Use it.
21137         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
21138         (duplocale): Use it.
21139         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
21140         (frexp, frexpl): Use it.
21141         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
21142         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
21143         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
21144         (tsearch, tfind, tdelete, twalk): Use it.
21145         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
21146         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
21147         sigpending): Use it.
21148         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
21149         (posix_spawn, posix_spawnp, posix_spawnattr_init,
21150         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
21151         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
21152         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
21153         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
21154         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
21155         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
21156         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
21157         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
21158         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
21159         Use it.
21160         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
21161         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
21162         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
21163         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
21164         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
21165         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
21166         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
21167         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
21168         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
21169         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
21170         strtoull, unsetenv): Use it.
21171         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
21172         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
21173         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
21174         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
21175         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
21176         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
21177         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
21178         (strcasecmp, strncasecmp): Use it.
21179         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
21180         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
21181         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
21182         rpl_setsockopt): Use it.
21183         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
21184         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
21185         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
21186         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
21187         (gettimeofday): Use it.
21188         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
21189         (times): Use it.
21190         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
21191         (uname): Use it.
21192         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
21193         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
21194         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
21195         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
21196         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
21197         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
21198         unlinkat, write): Use it.
21199         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
21200         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
21201         * lib/argv-iter.h: Include arg-nonnull.h.
21202         (_ATTRIBUTE_NONNULL_): Remove macro.
21203         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
21204         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
21205         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
21206         optimization.
21207         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
21208         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
21209         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
21210         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
21211         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
21212         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
21213         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
21214         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
21215         * modules/arpa_inet (Depends-on): Add arg-nonnull.
21216         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
21217         * modules/dirent (Depends-on): Add arg-nonnull.
21218         (Makefile.am): Insert arg-nonnull.h into dirent.h.
21219         * modules/fcntl-h (Depends-on): Add arg-nonnull.
21220         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
21221         * modules/fnmatch (Depends-on): Add arg-nonnull.
21222         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
21223         * modules/getopt-posix (Depends-on): Add arg-nonnull.
21224         (Makefile.am): Insert arg-nonnull.h into getopt.h.
21225         * modules/glob (Depends-on): Add arg-nonnull.
21226         (Makefile.am): Insert arg-nonnull.h into glob.h.
21227         * modules/iconv_open (Depends-on): Add arg-nonnull.
21228         (Makefile.am): Insert arg-nonnull.h into iconv.h.
21229         * modules/inttypes (Depends-on): Add arg-nonnull.
21230         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
21231         * modules/locale (Depends-on): Add arg-nonnull.
21232         (Makefile.am): Insert arg-nonnull.h into locale.h.
21233         * modules/math (Depends-on): Add arg-nonnull.
21234         (Makefile.am): Insert arg-nonnull.h into math.h.
21235         * modules/netdb (Depends-on): Add arg-nonnull.
21236         (Makefile.am): Insert arg-nonnull.h into netdb.h.
21237         * modules/search (Depends-on): Add arg-nonnull.
21238         (Makefile.am): Insert arg-nonnull.h into search.h.
21239         * modules/signal (Depends-on): Add arg-nonnull.
21240         (Makefile.am): Insert arg-nonnull.h into signal.h.
21241         * modules/spawn (Depends-on): Add arg-nonnull.
21242         (Makefile.am): Insert arg-nonnull.h into spawn.h.
21243         * modules/stdio (Depends-on): Add arg-nonnull.
21244         (Makefile.am): Insert arg-nonnull.h into stdio.h.
21245         * modules/stdlib (Depends-on): Add arg-nonnull.
21246         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
21247         * modules/string (Depends-on): Add arg-nonnull.
21248         (Makefile.am): Insert arg-nonnull.h into string.h.
21249         * modules/strings (Depends-on): Add arg-nonnull.
21250         (Makefile.am): Insert arg-nonnull.h into strings.h.
21251         * modules/sys_socket (Depends-on): Add arg-nonnull.
21252         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
21253         * modules/sys_stat (Depends-on): Add arg-nonnull.
21254         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
21255         * modules/sys_time (Depends-on): Add arg-nonnull.
21256         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
21257         * modules/sys_times (Depends-on): Add arg-nonnull.
21258         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
21259         * modules/sys_utsname (Depends-on): Add arg-nonnull.
21260         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
21261         * modules/time (Depends-on): Add arg-nonnull.
21262         (Makefile.am): Insert arg-nonnull.h into time.h.
21263         * modules/unistd (Depends-on): Add arg-nonnull.
21264         (Makefile.am): Insert arg-nonnull.h into unistd.h.
21265         * modules/wchar (Depends-on): Add arg-nonnull.
21266         (Makefile.am): Insert arg-nonnull.h into wchar.h.
21267         * modules/argv-iter (Depends-on): Add arg-nonnull.
21268         * tests/test-canonicalize.c (null_ptr): New function.
21269         (main): Use it.
21270         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
21271         (main): Use it.
21272         * tests/test-memmem.c (null_ptr): New function.
21273         (main): Use it.
21274         Reported by Jim Meyering.
21275
21276 2009-12-10  Bruno Haible  <bruno@clisp.org>
21277
21278         Use spaces for indentation, not tabs.
21279         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
21280         * m4/*.m4: Untabify.
21281         * build-aux/*.h: Untabify.
21282         * tests/**/*.[hc]: Untabify.
21283         * README: New section "Indent with spaces, not TABs", based on
21284         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
21285         * NEWS: Mention the change.
21286
21287 2009-12-10  Bruno Haible  <bruno@clisp.org>
21288
21289         pty test: Fix link error.
21290         * modules/pty-tests (Makefile.am): Add the default LDADD value to
21291         test_pty_LDADD.
21292
21293 2009-12-07  Simon Josefsson  <simon@josefsson.org>
21294
21295         * modules/pty: New file.
21296         * modules/pty-tests: New file.
21297         * m4/pty.m4: New file.
21298         * tests/test-pty.c: New file.
21299         * doc/glibc-headers/pty.texi: Modified.
21300         * doc/glibc-functions/forkpty.texi: Modified.
21301         * doc/glibc-functions/openpty.texi: Modified.
21302
21303 2009-12-10  Bruno Haible  <bruno@clisp.org>
21304
21305         Avoid syntax error in C++ mode.
21306         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
21307
21308 2009-12-10  Bruno Haible  <bruno@clisp.org>
21309
21310         Use sed with option -e.
21311         * gnulib-tool (func_version, func_emit_copyright_notice,
21312         func_emit_initmacro_end, func_import, func_create_testdir): Pass
21313         option -e to sed.
21314         * modules/link-warning (Makefile.am): Likewise.
21315
21316 2009-12-10  Jim Meyering  <meyering@redhat.com>
21317
21318         mgetgroups: do not write bytes beyond end of malloc'd buffer
21319         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
21320         username, we call getgroups with a one-element-shorter buffer,
21321         but still told it the length was original, max_n_groups.
21322
21323 2009-12-09  Eric Blake  <ebb9@byu.net>
21324
21325         cloexec: relax license
21326         * modules/cloexec (Maintainer): Add myself.
21327         (License): Use LGPL, not GPL.
21328
21329         link-warning: optimize generation
21330         * modules/link-warning (Makefile.am): Reduce process usage.
21331
21332 2009-12-09  Bruno Haible  <bruno@clisp.org>
21333
21334         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
21335         workaround was added on 2009-11-17.
21336
21337 2009-12-09  Jim Meyering  <meyering@redhat.com>
21338             Bruno Haible  <bruno@clisp.org>
21339
21340         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
21341         * modules/link-warning (Makefile.am): Make the comment-removing sed
21342         command more robust in the face of bootstrap-prepended comment lines.
21343
21344 2009-12-09  Bruno Haible  <bruno@clisp.org>
21345
21346         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
21347         most one group.
21348
21349 2009-12-09  Simon Josefsson <simon@josefsson.org>
21350             Bruno Haible  <bruno@clisp.org>
21351
21352         * build-aux/link-warning.h: Add copyright notice.
21353         * modules/link-warning (Makefile.am): Generate link-warning.h from
21354         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
21355         * NEWS: Mention change in link-warning module.
21356         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
21357         * modules/dirent (Makefile.am): Add dependency to dirent.h.
21358         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
21359         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
21360         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
21361         * modules/math (Makefile.am): Add dependency to math.h.
21362         * modules/search (Makefile.am): Add dependency to search.h.
21363         * modules/signal (Makefile.am): Add dependency to signal.h.
21364         * modules/spawn (Makefile.am): Add dependency to spawn.h.
21365         * modules/stdio (Makefile.am): Add dependency to stdio.h.
21366         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
21367         * modules/string (Makefile.am): Add dependency to string.h.
21368         * modules/strings (Makefile.am): Add dependency to strings.h.
21369         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
21370         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
21371         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
21372         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
21373         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
21374         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
21375         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
21376         * modules/unistd (Makefile.am): Add dependency to unistd.h.
21377         * modules/wchar (Makefile.am): Add dependency to wchar.h.
21378
21379 2009-12-09  Bruno Haible  <bruno@clisp.org>
21380
21381         fchdir: Optimize away rpl_fstat when possible.
21382         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
21383         REPLACE_OPEN_DIRECTORY.
21384         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
21385
21386 2009-12-09  Bruno Haible  <bruno@clisp.org>
21387
21388         * lib/fchdir.c: Update comment.
21389
21390 2009-12-09  Bruno Haible  <bruno@clisp.org>
21391
21392         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
21393
21394 2009-12-08  Eric Blake  <ebb9@byu.net>
21395
21396         fchdir: avoid memory leak on re-registration.
21397         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
21398
21399 2009-12-08  Jim Meyering  <meyering@redhat.com>
21400
21401         init.sh: avoid Solaris 10 /bin/sh portability problem
21402         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
21403         sourced script:
21404           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
21405           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
21406           bar
21407         tests/init.sh relied on that, accepting a --set-path=DIR argument,
21408         and two tests used that idiom.
21409         * tests/init.sh: Update suggested usage comments.
21410         (path_prepend_): New function, to be used in place
21411         of the --src-path=DIR option.
21412         (setup_): Move PATH-prepending code into path_prepend_.
21413         * tests/test-pread.sh: Adapt to new usage.
21414         * tests/test-xalloc-die.sh: Likewise.
21415
21416 2009-12-08  Simon Josefsson  <simon@josefsson.org>
21417
21418         * doc/gnulib.texi (Glibc pty.h): Add.
21419         * doc/glibc-functions/forkpty.texi: Add.
21420         * doc/glibc-functions/openpty.texi: Add.
21421         Suggested by Bruno Haible.
21422
21423 2009-12-08  Eric Blake  <ebb9@byu.net>
21424
21425         fchdir: fix logic bugs
21426         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
21427         * tests/test-fchdir.c (main): Enhance test.
21428         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
21429         is in use.
21430
21431         dup2: fix logic bugs
21432         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
21433         REPLACE_DUP2 to decide when rpl_dup2 is needed.
21434         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
21435         exists.
21436         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
21437
21438 2009-12-07  Eric Blake  <ebb9@byu.net>
21439
21440         unlink: fix m4 detection
21441         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
21442
21443         unistd-safer: add unit test
21444         * modules/unistd-safer-tests: New file.
21445         * tests/test-dup-safer.c: Likewise.
21446         * tests/test-cloexec.c (setmode): Avoid compiler warning.
21447         * tests/test-dup2.c (setmode): Likewise.
21448         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
21449
21450         cloexec: preserve text vs. binary across dup_cloexec
21451         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
21452         mode.
21453         * modules/dup2-tests (Depends-on): Add binary-io.
21454         * modules/cloexec-tests (Depends-on): Likewise.
21455         * tests/test-dup2.c (setmode, is_mode): New helpers.
21456         (main): Add tests that translation mode is preserved.
21457         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
21458         Reported by Bruno Haible.
21459
21460         mgetgroups: reduce duplicate listings
21461         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
21462         resulting array.
21463         * tests/test-chown.h (test_chown): Simplify client.
21464         * tests/test-lchown.h (test_lchown): Likewise.
21465
21466 2009-12-06  Bruno Haible  <bruno@clisp.org>
21467
21468         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
21469         value.
21470
21471 2009-12-06  Bruno Haible  <bruno@clisp.org>
21472
21473         * lib/progname.c: Include stdio.h, stdlib.h.
21474         (set_program_name): Reject a NULL argument.
21475
21476 2009-12-05  Eric Blake  <ebb9@byu.net>
21477
21478         pipe2-safer: new module
21479         * modules/pipe2-safer: New file.
21480         * lib/unistd-safer.h (pipe2_safer): New prototype.
21481         * lib/unistd--.h (pipe2): New wrapper.
21482         * lib/pipe-safer.c (pipe2_safer): New function.
21483         * modules/pipe (Depends-on): Add pipe2-safer.
21484         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
21485
21486         stdlib-safer: preserve cloexec flag for mkostemp[s]
21487         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
21488         fd_safer_flag.
21489
21490         unistd-safer: allow preservation of cloexec status via flag
21491         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
21492         prototypes.
21493         * lib/dup-safer.c (dup_safer_flag): New function.
21494         * lib/fd-safer.c (fd_safer_flag): Likewise.
21495         * modules/cloexec (configure.ac): Set witness.
21496
21497         test-dup2: enhance test
21498         * modules/dup2-tests (Depends-on): Add cloexec.
21499         * tests/test-dup2.c (main): Enhance test.
21500
21501         cloexec: add dup_cloexec
21502         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
21503         header and comments.
21504         * lib/cloexec.c (set_cloexec_flag): Add comments.
21505         (dup_cloexec): New function, with mingw implementation borrowed
21506         from...
21507         * lib/w32spawn.h (dup_noinherit): ...here.
21508         * modules/execute (Depends-on): Add cloexec.
21509         * modules/pipe (Depends-on): Likewise.
21510         * modules/cloexec (Depends-on): Add dup2.
21511         * modules/cloexec-tests (Files): New file.
21512         * tests/test-cloexec.c: Likewise.
21513
21514         test-xalloc-die: fix test for mingw
21515         * modules/xalloc-die-tests (Files): Add tests/init.sh.
21516         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
21517         directory and .exe suffix off argv[0] output.
21518
21519         test-fseeko: fix test for mingw
21520         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
21521         than undefining fseek, so test will pass on mingw.
21522
21523 2009-12-05  Bruno Haible  <bruno@clisp.org>
21524
21525         * lib/progname.h (set_program_name): Clarify specification.
21526         * lib/progname.c (set_program_name): Likewise.
21527         Reported by Jim Meyering.
21528
21529 2009-12-05  Jim Meyering  <meyering@redhat.com>
21530
21531         maint.mk: backslash-escape parens in default regexp
21532         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
21533         backslash-escape the literal parentheses.
21534
21535         maint.mk: news-date-check: use grep -E
21536         * top/maint.mk (today): Define a Make variable, not a...
21537         (news-date-check): ...shell variable.
21538         (news-date-regexp): Use the Make variable.
21539         Use grep's -E option.  Change the failing diagnostic to mention
21540         the variable, $(news-date-regexp).
21541
21542 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
21543
21544         maintainer-makefile: allow customization of NEWS entry format
21545         * top/maint.mk (news-date-regexp): New overridable variable.
21546         (news-date-check): Use it.
21547
21548 2009-12-04  Eric Blake  <ebb9@byu.net>
21549
21550         mgetgroups: add xgetgroups, and avoid ENOSYS failures
21551         * lib/mgetgroups.h (xgetgroups): New prototype.
21552         * lib/mgetgroups.c (xgetgroups): New wrapper.
21553         (mgetgroups): Handle ENOSYS.
21554         * modules/mgetgroups (Depends-on): Add realloc.
21555         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
21556
21557         mgetgroups: avoid argument promotion issues with -1
21558         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
21559         for invalid gid_t.
21560         * tests/test-chown.h (getegid, test_chown): Likewise.
21561         * tests/test-lchown.h (getegid, test_lchown): Likewise.
21562
21563 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
21564
21565         exclude: Fix header file problems.
21566         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
21567
21568 2009-12-01  Jim Meyering  <meyering@redhat.com>
21569
21570         fts: fts_open: do not let an empty string cause immediate failure
21571         This is required in support of GNU rm, for which the command
21572         "rm A '' B" must process and remove both A and B, in spite of
21573         the empty string argument.
21574         * lib/fts.c (fts_open): Do not let the presence of an empty string
21575         cause fts_open to fail immediately.  Most fts-using tools must be
21576         able to process all arguments, in order, and can be expected to
21577         diagnose such arguments themselves.
21578
21579 2009-11-30  Eric Blake  <ebb9@byu.net>
21580
21581         utimens: fix compilation error
21582         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
21583         Declare variable at right scope.
21584
21585 2009-11-29  Jim Meyering  <meyering@redhat.com>
21586
21587         bootstrap: handle perl-5.11's changed --version output
21588         * build-aux/bootstrap (get_version): Handle perl separately,
21589         since perl-5.11's --version output is different.
21590
21591 2009-11-28  Jim Meyering  <meyering@redhat.com>
21592
21593         userspec: depend on the inttostr module, too
21594         * modules/userspec (Depends-on): Add inttostr.
21595
21596         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
21597         * lib/userspec.c (parse_with_separator): Do not accept a user ID
21598         number of MAXUID when it evaluates to (uid_t) -1.
21599         Likewise for group ID.  Reported by Matt McCutchen in
21600         <http://savannah.gnu.org/bugs/?28113>
21601
21602         userspec: reformat to use spaces, not TABs
21603         * lib/userspec.c: Expand TABs to spaces.
21604         Add Emacs' "indent-tabs-mode: nil" hint.
21605
21606 2009-11-27  Eric Blake  <ebb9@byu.net>
21607
21608         getopt-gnu: flush out another BSD bug
21609         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
21610         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
21611         flush out BSD bug.
21612         * tests/test-getopt.h (test_getopt): End lists with NULL.
21613         * tests/test-getopt_long.h (test_getopt_long): Likewise.
21614         (test_getopt_long_posix): Enhance test.
21615         * modules/getopt-posix-tests (Depends-on): Add stdbool.
21616         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
21617         getopt-gnu.
21618         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21619         Likewise.
21620
21621 2009-11-27  Simon Josefsson  <simon@josefsson.org>
21622
21623         * modules/idpriv-droptemp-tests (Notice): Fix text.
21624
21625 2009-11-27  Jim Meyering  <meyering@redhat.com>
21626
21627         test-xalloc-die: avoid spurious failure due to libtool argv difference
21628         In a libtool-enabled project, this test would fail due to a difference
21629         in the emitted program name, e.g.,
21630         -test-xalloc-die: memory exhausted
21631         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
21632         Use program to avoid that.
21633         * modules/xalloc-die-tests (Depends-on): Add progname.
21634         * tests/test-xalloc-die.c: Include progname.h".
21635         (program_name): Remove decl.
21636         (main): Call set_program_name.
21637         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
21638
21639 2009-11-26  Richard Jones  <rjones@redhat.com>
21640
21641         w32sock: leave win32 error in place.
21642         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
21643
21644 2009-11-26  Eric Blake  <ebb9@byu.net>
21645
21646         init.sh: suggest to use skip_ and fail_ functions in comments
21647         * tests/init.sh: Add a sentence.
21648
21649 2009-11-25  Bruno Haible  <bruno@clisp.org>
21650
21651         init.sh: add documentation in comments
21652         * tests/init.sh: Add some developer and user documentation.
21653
21654 2009-11-26  Jim Meyering  <meyering@redhat.com>
21655
21656         init.sh: accommodate even those who specify bogus srcdir manually
21657         * tests/init.sh: Normally, srcdir is guaranteed by automake and
21658         configure-time tests to be sanitized, so that there is no need to
21659         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
21660         (with no double quotes) suffices.  However, since tests may be
21661         invoked manually, and since you may explicitly set srcdir to the
21662         name of a directory containing spaces, do quote its uses here.
21663         * tests/test-pread.sh: Likewise.
21664         Suggested by Bruno Haible.
21665
21666         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
21667         * tests/test-pread.sh: Write no data into the pipe, because
21668         test-pread actually reads none.  This avoids a diagnostic,
21669         "bash: echo: write error: Broken pipe", that arises in the unusual
21670         event something is ignoring SIGPIPE, and might be interpreted
21671         as some sort of failure.  Reported by Bruno Haible.
21672
21673 2009-11-25  Jim Meyering  <meyering@redhat.com>
21674
21675         test-pread: cover failure with ESPIPE and EINVAL
21676         * tests/test-pread.c (main): Test for failure, too.
21677         * tests/test-pread.sh: Invoke with stdin on a pipe.
21678         Suggested by Eric Blake.
21679
21680         pread: improvement and fix
21681         * modules/pread (Depends-on): Depend on lseek, for portability to
21682         e.g., mingw.  Suggested by Eric Blake.
21683         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
21684
21685         unistd.in.h: correct declaration of pread
21686         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
21687         Reported by Richard W.M. Jones.
21688
21689         test-pread.sh: distribute the test script
21690         * modules/pread-tests (Files): Include test-pread.sh.
21691
21692         test-pread.sh: clean up
21693         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
21694         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
21695         That is unnecessary, since it's always ".".
21696         Suggestion from Eric Blake.
21697
21698         test-pread.sh: make executable
21699         * tests/test-pread.sh: Set executable bit.
21700         Reported by Eric Blake.
21701
21702         correct typo in test-pread.sh
21703         * tests/test-pread.sh: Add #! line.
21704
21705         test pread
21706         * tests/test-pread.c: New file.
21707         * tests/test-pread.sh: Likewise.
21708         * modules/pread-tests: Likewise.
21709
21710         pread: new module
21711         * modules/pread: New file.
21712         * lib/unistd.in.h (pread): Define/declare.
21713         * lib/pread.c (pread): New file.
21714         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
21715         * modules/unistd (Makefile.am): Substitute witnesses.
21716         * doc/posix-functions/pread.texi (pread): Update.
21717         * MODULES.html.sh: Add pread.
21718
21719 2009-11-25  Jim Meyering  <meyering@redhat.com>
21720
21721         tests/init.sh: new file to be used via most *.sh tests
21722         * tests/init.sh: New file.
21723
21724 2009-11-25  Eric Blake  <ebb9@byu.net>
21725
21726         utimens: work around older Linux failure with symlinks
21727         * lib/utimens.c (lutimensat_works_really): New variable.
21728         (fdutimens, lutimens): Use it to manage kernels that support
21729         nanosecond times on files, but not on symlinks.
21730         Reported by OndÅ™ej Vašík.
21731
21732         utimes: fix configure grammar
21733         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
21734
21735 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
21736
21737         regex: Fix fastmap for multibyte character ranges.
21738         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
21739         characters when a multibyte character range is included.
21740
21741 2009-11-22  Andy Wingo  <wingo@pobox.com>
21742
21743         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
21744         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
21745
21746 2009-11-24  Bruno Haible  <bruno@clisp.org>
21747
21748         doc: Most *_l functions exist in MacOS X 10.5.
21749         * doc/posix-functions/duplocale.texi: Update platforms list.
21750         * doc/posix-functions/freelocale.texi: Likewise.
21751         * doc/posix-functions/newlocale.texi: Likewise.
21752         * doc/posix-functions/uselocale.texi: Likewise.
21753         * doc/posix-functions/isalnum_l.texi: Likewise.
21754         * doc/posix-functions/isalpha_l.texi: Likewise.
21755         * doc/posix-functions/isblank_l.texi: Likewise.
21756         * doc/posix-functions/iscntrl_l.texi: Likewise.
21757         * doc/posix-functions/isdigit_l.texi: Likewise.
21758         * doc/posix-functions/isgraph_l.texi: Likewise.
21759         * doc/posix-functions/islower_l.texi: Likewise.
21760         * doc/posix-functions/isprint_l.texi: Likewise.
21761         * doc/posix-functions/ispunct_l.texi: Likewise.
21762         * doc/posix-functions/isspace_l.texi: Likewise.
21763         * doc/posix-functions/isupper_l.texi: Likewise.
21764         * doc/posix-functions/iswalnum_l.texi: Likewise.
21765         * doc/posix-functions/iswalpha_l.texi: Likewise.
21766         * doc/posix-functions/iswblank_l.texi: Likewise.
21767         * doc/posix-functions/iswcntrl_l.texi: Likewise.
21768         * doc/posix-functions/iswctype_l.texi: Likewise.
21769         * doc/posix-functions/iswdigit_l.texi: Likewise.
21770         * doc/posix-functions/iswgraph_l.texi: Likewise.
21771         * doc/posix-functions/iswlower_l.texi: Likewise.
21772         * doc/posix-functions/iswprint_l.texi: Likewise.
21773         * doc/posix-functions/iswpunct_l.texi: Likewise.
21774         * doc/posix-functions/iswspace_l.texi: Likewise.
21775         * doc/posix-functions/iswupper_l.texi: Likewise.
21776         * doc/posix-functions/iswxdigit_l.texi: Likewise.
21777         * doc/posix-functions/isxdigit_l.texi: Likewise.
21778         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
21779         * doc/posix-functions/strcasecmp_l.texi: Likewise.
21780         * doc/posix-functions/strcoll_l.texi: Likewise.
21781         * doc/posix-functions/strfmon_l.texi: Likewise.
21782         * doc/posix-functions/strftime_l.texi: Likewise.
21783         * doc/posix-functions/strncasecmp_l.texi: Likewise.
21784         * doc/posix-functions/strxfrm_l.texi: Likewise.
21785         * doc/posix-functions/tolower_l.texi: Likewise.
21786         * doc/posix-functions/toupper_l.texi: Likewise.
21787         * doc/posix-functions/towctrans_l.texi: Likewise.
21788         * doc/posix-functions/towlower_l.texi: Likewise.
21789         * doc/posix-functions/towupper_l.texi: Likewise.
21790         * doc/posix-functions/wcscoll_l.texi: Likewise.
21791         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
21792         * doc/posix-functions/wctrans_l.texi: Likewise.
21793         * doc/posix-functions/wctype_l.texi: Likewise.
21794         * doc/glibc-functions/strptime_l.texi: Likewise.
21795         * doc/glibc-functions/strtod_l.texi: Likewise.
21796         * doc/glibc-functions/strtof_l.texi: Likewise.
21797         * doc/glibc-functions/strtol_l.texi: Likewise.
21798         * doc/glibc-functions/strtold_l.texi: Likewise.
21799         * doc/glibc-functions/strtoll_l.texi: Likewise.
21800         * doc/glibc-functions/strtoul_l.texi: Likewise.
21801         * doc/glibc-functions/strtoull_l.texi: Likewise.
21802         * doc/glibc-functions/wcsftime_l.texi: Likewise.
21803         * doc/glibc-functions/wcstod_l.texi: Likewise.
21804         * doc/glibc-functions/wcstof_l.texi: Likewise.
21805         * doc/glibc-functions/wcstol_l.texi: Likewise.
21806         * doc/glibc-functions/wcstold_l.texi: Likewise.
21807         * doc/glibc-functions/wcstoll_l.texi: Likewise.
21808         * doc/glibc-functions/wcstoul_l.texi: Likewise.
21809         * doc/glibc-functions/wcstoull_l.texi: Likewise.
21810
21811 2009-11-24  Bruno Haible  <bruno@clisp.org>
21812
21813         duplocale: Fix logic bug.
21814         * lib/duplocale.c: Don't include <langinfo.h>.
21815         (_NL_LOCALE_NAME): Remove macro.
21816         (rpl_duplocale): Use setlocale instead of nl_langinfo.
21817         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
21818
21819 2009-11-23  Jim Meyering  <meyering@redhat.com>
21820
21821         test-update-copyright: don't hard-code /usr/bin/perl
21822         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
21823         perl to print the current year.  Gilles Espinasse reported that
21824         the replaced use of perl was hard-coded as /usr/bin/perl.
21825
21826 2009-11-23  Bruno Haible  <bruno@clisp.org>
21827
21828         duplocale: Add support for glibc 2.3.x.
21829         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
21830
21831 2009-11-22  Bruno Haible  <bruno@clisp.org>
21832
21833         vasnprintf: Tiny optimization.
21834         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
21835         MacOS X.
21836
21837 2009-11-22  Bruno Haible  <bruno@clisp.org>
21838
21839         Tests for module 'duplocale'.
21840         * modules/duplocale-tests: New file.
21841         * tests/test-duplocale.c: New file.
21842
21843         New module 'duplocale'.
21844         * m4/duplocale.m4: New file.
21845         * lib/locale.in.h (duplocale): New declaration.
21846         * lib/duplocale.c: New file.
21847         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
21848         gl_LOCALE_H_DEFAULTS): New macros.
21849         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
21850         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
21851         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
21852         REPLACE_DUPLOCALE.
21853         * modules/duplocale: New file.
21854         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
21855
21856 2009-11-22  Bruno Haible  <bruno@clisp.org>
21857
21858         * modules/locale-tests (configure.ac): Test for newlocale function.
21859         * tests/test-locale.c: When the system has extended locale functions,
21860         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
21861
21862         locale: Make locale_t available when possible.
21863         * lib/locale.in.h: Include <xlocale.h> when it exists.
21864         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
21865         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
21866         * modules/locale (Depends-on): Add extensions.
21867         (Makefile.am): Also substitute HAVE_XLOCALE_H.
21868         * doc/posix-headers/locale.texi: Document the problem with locale_t.
21869
21870 2009-11-22  Bruno Haible  <bruno@clisp.org>
21871
21872         Add comments.
21873         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
21874         invocation.
21875         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
21876         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
21877         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
21878
21879 2009-11-22  Bruno Haible  <bruno@clisp.org>
21880
21881         error: account for the possibility of freopen (stdout).
21882         * lib/error.c: Include <unistd.h>.
21883         (flush_stdout): New function, extracted from error and error_at_line.
21884         Determine stdout's fd dynamically.
21885         (error, error_at_line): Invoke flush_stdout.
21886         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
21887         * modules/error (Depends-on): Add unistd.
21888
21889 2009-11-22  Bruno Haible  <bruno@clisp.org>
21890
21891         diffseq: Add comment.
21892         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
21893
21894 2009-11-22  Jim Meyering  <meyering@redhat.com>
21895
21896         c-stack: avoid defining an unused static function
21897         * lib/c-stack.c (find_stack_direction): Do not define this function
21898         when it will not be used.
21899
21900         diffseq: avoid spurious gcc warnings
21901         * lib/diffseq.h (IF_LINT2): Define.
21902         (compareseq): Use it to initialize two members of "part".
21903         This avoids two used-uninitialized warnings.
21904
21905 2009-11-21  Jim Meyering  <meyering@redhat.com>
21906
21907         c-stack: avoid "ignoring return value of `write'" warning
21908         * lib/c-stack.c: Include "ignore-value.h".
21909         (die): Explicitly ignore each write return value.
21910         * modules/c-stack (Depends-on): Add ignore-value.
21911
21912 2009-11-21  Bruno Haible  <bruno@clisp.org>
21913
21914         diffseq: reduce scope of variable 'best'.
21915         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
21916         variable, earlier used for two different purposes.
21917
21918 2009-11-21  Jim Meyering  <meyering@redhat.com>
21919
21920         diffseq: remove useless assignment to "best"
21921         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
21922         assignment.  At that point "best" is already guaranteed to be zero.
21923
21924 2009-11-20  Eric Blake  <ebb9@byu.net>
21925
21926         build: mention ftp redirector in release announcements
21927         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
21928         values that used to come from cfg.mk; mention FTP redirect URL.
21929         * build-aux/announce-gen: Mention the mirror list.
21930         Suggested by Karl Berry.
21931
21932         nanosleep: improve port to mingw
21933         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
21934         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
21935         LIB_NANOSLEEP, but only when needed.
21936         * modules/select (Link): Document LIBSOCKET.
21937         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
21938         enough.
21939
21940         nanosleep: work around cygwin bug
21941         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
21942         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
21943         bug.
21944         (getnow): Delete, not needed.
21945         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
21946         LIB_CLOCK_GETTIME.
21947         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
21948         clock-time, gettime.
21949         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
21950         bug.
21951         * modules/nanosleep-tests: New test.
21952         * tests/test-nanosleep.c: New file.
21953
21954         sleep: work around cygwin bug
21955         * lib/sleep.c (rpl_sleep): Work around the bug.
21956         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
21957         (gl_PREREQ_SLEEP): Delete unused macro.
21958         * modules/sleep (Depends-on): Add verify.
21959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
21960         * modules/unistd (Makefile.am): Substitute witness.
21961         * lib/unistd.in.h (sleep): Update prototype.
21962         * doc/posix-functions/sleep.texi (sleep): Document the bug.
21963         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
21964         * modules/sleep-tests (Depends-on): Check for alarm.
21965
21966 2009-11-20  Jim Meyering  <meyering@redhat.com>
21967
21968         maint.mk: improve sc_prohibit_magic_number_exit
21969         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
21970         so it does not match uses like System.exit(1).
21971         Add comments showing how to correct all offenders.
21972
21973 2009-11-19  Eric Blake  <ebb9@byu.net>
21974
21975         xalloc-die-tests: add missing library
21976         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
21977
21978         test-xvasprintf: silence compiler warnings
21979         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
21980         empty string from gcc.
21981
21982 2009-11-19  Jim Meyering  <meyering@redhat.com>
21983
21984         xfreopen: new module, from coreutils
21985         * modules/xfreopen: New module.
21986         * lib/xfreopen.c: New file.
21987         * lib/xfreopen.h: New file.
21988         * MODULES.html.sh (File stream based Input/Output"): Add it.
21989
21990 2009-11-19  Eric Blake  <ebb9@byu.net>
21991
21992         manywarnings: depend on warnings
21993         * modules/manywarnings (Depends-on): Add warnings.
21994
21995         build: avoid compiler warnings
21996         * lib/select.c (rpl_select): Delete unused variable.
21997         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
21998
21999 2009-11-18  Eric Blake  <ebb9@byu.net>
22000
22001         tests: avoid false negative with --with-packager
22002         * tests/test-version-etc.sh: Discard packager information.
22003         * tests/test-argp-version-etc-1.sh: Likewise.
22004         Reported by Mike Frysinger.
22005
22006         utimens: fix regression on Solaris
22007         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
22008         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
22009         can only change fd timestamps via futimesat.  Instead, use an
22010         additional witness macro to avoid BSD bug.
22011         Reported by Jim Meyering.
22012
22013 2009-11-17  Eric Blake  <ebb9@byu.net>
22014
22015         usleep: use it to simplify tests
22016         * modules/stat-time-tests (Depends-on): Add usleep.
22017         (configure.ac): Drop usleep check.
22018         * modules/chown-tests (Depends-on, configure.ac): Likewise.
22019         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
22020         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
22021         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
22022         * modules/openat-tests (Depends-on, configure.ac): Likewise.
22023         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
22024         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
22025         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
22026         Likewise.
22027         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
22028         * tests/test-lchown.h (nap): Likewise.
22029         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
22030         * tests/test-stat-time.c (nap): Likewise.
22031         * tests/test-utimens-common.h (nap): Update comments.
22032
22033         usleep: new module
22034         * modules/usleep: New file.
22035         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22036         * lib/usleep.c (usleep): Likewise.
22037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22038         * modules/unistd (Makefile.am): Substitute witnesses.
22039         * lib/unistd.in.h (usleep): Add declaration.
22040         * doc/pastposix-functions/usleep.texi (usleep): Document this.
22041         * MODULES.html.sh (Date and time): Likewise.
22042         * modules/usleep-tests (Depends-on): New test.
22043         * tests/test-usleep.c: New file.
22044
22045         chown: work around OpenBSD bug
22046         * lib/chown.c (rpl_chown): Work around the bug.
22047         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
22048         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
22049         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
22050         * modules/chown (Depends-on): Add stdbool.
22051         * modules/lchown (Depends-on): Likewise.
22052         * doc/posix-functions/chown.texi (chown): Document the bug.
22053         * doc/posix-functions/lchown.texi (lchown): Likewise.
22054         * tests/test-lchown.h (test_chown): Relax test.
22055
22056         mkstemp: avoid conflict with C++ keyword template
22057         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
22058         * lib/mkostemp.c (mkostemp): Likewise.
22059         * lib/mkostemps.c (mkostemps): Likewise.
22060         * lib/mkstemp.c (mkstemp): Likewise.
22061         * lib/mkstemps.c (mkstemps): Likewise.
22062
22063         xalloc-die-tests: optimize
22064         * tests/test-xalloc-die.sh: Reduce number of processes.
22065
22066 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22067
22068         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
22069         patch from ludo@gnu.org (Ludovic Courtès).
22070
22071 2009-11-17  Jim Meyering  <meyering@redhat.com>
22072
22073         version-etc: use proper license string
22074         * modules/version-etc (License): Use LGPL, not LGPLv3+.
22075         * modules/version-etc-fsf: Likewise.
22076
22077 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22078
22079         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
22080         printed to stdout.  Deal with EOL differences.
22081
22082 2009-11-17  Eric Blake  <ebb9@byu.net>
22083
22084         unsetenv: work around Solaris bug
22085         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
22086         * lib/unsetenv.c (rpl_unsetenv): Work around it.
22087         Reported by Jim Meyering.
22088
22089         vasnprintf: avoid compiler warnings
22090         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
22091         variables.
22092         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
22093
22094 2009-11-17  Simon Josefsson  <simon@josefsson.org>
22095
22096         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
22097         settings since xalloc-die is no longer the self test,
22098         xalloc-die.sh is.
22099
22100 2009-11-17  Jim Meyering  <meyering@redhat.com>
22101
22102         test-xalloc-die.sh: make the code agree with the commit log
22103         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
22104         at the end, just in case you happen to have a test-xalloc-die
22105         program in some other PATH directory.
22106
22107         test-xalloc-die.sh: fix a portability bug
22108         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
22109         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
22110         Otherwise, argv[0] (as often seen in diagnostics) would be too
22111         system-dependent, sometimes with, and sometimes without the leading "./".
22112
22113         version-etc-fsf: relax license to LGPLv3+
22114         * modules/version-etc-fsf (License): Relax license.
22115
22116 2009-11-16  Eric Blake  <ebb9@byu.net>
22117
22118         xalloc-die-tests: avoid printing null pointer
22119         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
22120         shell script.
22121         * tests/test-xalloc-die.c (program_name): Declare.
22122         * tests/test-xalloc-die.sh (tmpfiles): New file.
22123
22124         setenv, unsetenv: work around various bugs
22125         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
22126         (setenv) [HAVE_SETENV]: Work around bugs.
22127         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
22128         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
22129         for bugs.
22130         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
22131         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
22132         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
22133         * modules/stdlib (Makefile.am): Update substitutions.
22134         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
22135         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
22136         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22137         * modules/setenv-tests: New test.
22138         * modules/unsetenv-tests: Likewise.
22139         * tests/test-setenv.c: New file.
22140         * tests/test-unsetenv.c: Likewise.
22141
22142 2009-11-16  Jim Meyering  <meyering@redhat.com>
22143
22144         version-etc: relax license to LGPLv3+
22145         * modules/version-etc (License): Relax license.
22146
22147         better AC_REQUIRE expanded-before-required-warning avoidance
22148         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
22149         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
22150         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
22151         which is no longer needed.
22152
22153 2009-11-16  Eric Blake  <ebb9@byu.net>
22154
22155         test-freading: clean up temporary file
22156         * tests/test-freading.c (main): Remove file on success, and use
22157         ASSERT more liberally.
22158         Reported by Jim Meyering.
22159
22160 2009-11-16  Jim Meyering  <meyering@redhat.com>
22161
22162         avoid new AC_REQUIRE expanded-before-required warnings
22163         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
22164         merely using it.
22165         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
22166         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
22167
22168 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22169
22170         * tests/test-xalloc-die.c: New file.
22171         * modules/xalloc-die-tests: New file.
22172         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
22173         XFAIL_TESTS so it can be appended by modules.
22174
22175 2009-11-15  Simon Josefsson  <simon@josefsson.org>
22176
22177         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
22178         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
22179
22180 2009-11-14  Eric Blake  <ebb9@byu.net>
22181
22182         fnmatch: avoid compiler warning
22183         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
22184         to silence compiler warning about mismatch signedness in ?:.
22185         Reported by Robert Millan.
22186
22187         intprops: add double-inclusion guard
22188         * lib/intprops.h: Allow idempotent includes.
22189         Suggested by Bruce Korb.
22190
22191         openat: detect Solaris fchownat bug
22192         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
22193         penalizing glibc chownat when only lchownat is broken.
22194         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
22195         trailing slash bugs.
22196         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
22197         * modules/openat-tests (Files): Include more files.
22198         (Depends-on): Add mgetgroups, sleep, stat-time.
22199         (configure.ac): Add additional checks.
22200         (Makefile.am): Build new test.
22201         * tests/test-fchownat.c: New file.
22202
22203         lchown: detect Solaris and FreeBSD bug
22204         * lib/lchown.c (rpl_lchown): Work around bug.
22205         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
22206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22207         * modules/unistd (Makefile.am): Populate it.
22208         * lib/unistd.in.h (lchown): Update declaration.
22209         * doc/posix-functions/lchown.texi (lchown): Document the bug.
22210         * modules/lchown-tests: New file.
22211         * tests/test-lchown.h (test_lchown): Likewise.
22212         * tests/test-lchown.c (main): Likewise.
22213
22214         chown: detect Solaris and FreeBSD bug
22215         * lib/chown.c (rpl_chown): Work around bug.
22216         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
22217         (gl_PREREQ_CHOWN): Delete.
22218         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
22219         * modules/unistd (Makefile.am): Populate it.
22220         * lib/unistd.in.h (chown): Update declaration.
22221         * lib/lchown.c (chown): Update client.
22222         * modules/lchown (Depends-on): Add lstat.
22223         * doc/posix-functions/chown.texi (chown): Document the bug.
22224         * doc/posix-functions/getgroups.texi (getgroups): Document
22225         getgroups pitfall.
22226         * modules/chown-tests: New file.
22227         * tests/test-chown.h (test_chown): Likewise.
22228         * tests/test-chown.c (main): Likewise.
22229
22230 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
22231
22232         gnulib-tool: correctly detect absence of m4 directories
22233         * gnulib-tool: Avoid extra newline on data passed to wc -l.
22234
22235 2009-11-14  Jim Meyering  <meyering@redhat.com>
22236
22237         maint.mk: Prohibit inclusion of "xalloc.h" without use.
22238         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
22239
22240 2009-11-14  John W. Eaton  <jwe@gnu.org>
22241
22242         strftime.h: wrap funtion declaration in extern "C" block
22243         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
22244
22245 2009-11-13  Eric Blake  <ebb9@byu.net>
22246
22247         getgroups: avoid compiler warning
22248         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
22249
22250         getgroups: work around FreeBSD bug
22251         * lib/getgroups.c (rpl_getgroups): Work around the bug.
22252         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
22253         * doc/posix-functions/getgroups.texi (getgroups): Document it.
22254         * tests/test-getgroups.c (main): Fix buffer overrun.
22255
22256         getgroups: avoid compilation failure
22257         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
22258         * modules/getgroups (Depends-on): Add stdint.
22259
22260 2009-11-13  Jim Meyering  <meyering@redhat.com>
22261
22262         test-getgroups: avoid compilation failure
22263         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
22264
22265 2009-11-13  Eric Blake  <ebb9@byu.net>
22266
22267         mgetgroups: new module, taken from coreutils
22268         * modules/mgetgroups: New file.
22269         * lib/mgetgroups.h: Likewise.
22270         * lib/mgetgroups.c (mgetgroups): Likewise.
22271         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
22272         * MODULES.html.sh (Users and groups): Mention it.
22273
22274         getgroups: don't expose GETGROUPS_T to user
22275         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
22276         an element at a time if GETGROUPS_T is wrong size.
22277         * lib/getugroups.h (getugroups): Change signature.
22278         * lib/unistd.in.h (getgroups): Likewise.
22279         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
22280         signature needs fixing.
22281         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
22282         AC_TYPE_GETGROUPS.
22283         * modules/group-member (Depends-on): Add getgroups.
22284         * lib/group-member.c (group_info, get_group_info): Use gid_t.
22285         (group_member): Rely on getgroups replacement.
22286         * lib/getugroups.c (getugroups): Use gid_t.
22287         * tests/test-getgroups.c (main): Likewise.
22288         * NEWS: Mention the signature change.
22289         * doc/posix-functions/getgroups.texi (getgroups): Mention the
22290         problem with signature.
22291         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
22292         GETGROUPS_T is still useful for setgroups.
22293
22294         getgroups, getugroups: provide stubs for mingw
22295         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
22296         * lib/getugroups.c (getugroups): Likewise.
22297         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
22298         function.  Modernize replacement scheme.
22299         (gl_PREREQ_GETGROUPS): Delete.
22300         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
22301         * modules/getgroups (configure.ac): Declare witness.
22302         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22303         * modules/unistd (Depends-on): Substitute witness.
22304         * lib/unistd.in.h (getgroups): Declare replacement.
22305
22306         getgroups: avoid calling exit
22307         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
22308         drop xalloc.
22309         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
22310         dependencies.
22311         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
22312         exiting, in the rare case of malloc failure.
22313
22314         getgroups: fix logic error
22315         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
22316         has more than 20 groups.
22317         * modules/getgroups-tests: New test.
22318         * tests/test-getgroups.c: New file.
22319
22320 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22321
22322         * tests/test-base64.c: Improve.
22323
22324 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22325
22326         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
22327         Blake <ebb9@byu.net>.
22328
22329 2009-11-13  Simon Josefsson  <simon@josefsson.org>
22330
22331         * tests/test-xvasprintf.c: Add %s%s related checks.
22332
22333 2009-11-12  Eric Blake  <ebb9@byu.net>
22334
22335         version-etc: match standards.texi style
22336         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
22337         and use <> only for URLs.
22338
22339 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
22340
22341         fts: do not fail on a submount during traversal
22342         * lib/fts.c (fts_build): Read the stat info again after opening
22343         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
22344         Original report at http://bugzilla.redhat.com/501848.
22345
22346 2009-11-12  Jim Meyering  <meyering@redhat.com>
22347
22348         bootstrap: sync from coreutils
22349         * build-aux/bootstrap (bootstrap_epilogue): New function.
22350         Use git_modules_config in one more place.  This make bootstrap's
22351         --gnulib-srcdir option more useful for testing.
22352
22353         bootstrap: generalize autoheader check
22354         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
22355         AC_CONFIG_HEADERS.
22356
22357 2009-11-11  Eric Blake  <ebb9@byu.net>
22358
22359         mkfifoat: use new modules for Solaris and BSD bugs
22360         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
22361         * lib/mkfifoat.c (mknodat): Split...
22362         * lib/mknodat.c (mknodat): ...into new file.
22363         * modules/mkfifoat (Files): Ship new file.
22364         (Depends-on): Add mkfifo, mknod.
22365         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
22366         (Depends-on): Add symlink.
22367         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
22368         redundant with test_mkfifo.h.
22369         (do_mkfifoat, do_mknodat): New helpers.
22370
22371         mknod: new module
22372         * modules/mknod: New file.
22373         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
22374         * lib/mknod.c (mknod): Likewise.
22375         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22376         defaults.
22377         * modules/sys_stat (Makefile.am): Substitute them.
22378         * lib/sys_stat.in.h (mknod): Declare replacement.
22379         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22380         Document it.
22381         * doc/posix-functions/mknod.texi (mknod): Likewise.
22382         * modules/mknod-tests: New test.
22383         * tests/test-mknod.c: Likewise.
22384
22385         mkfifo: new module
22386         * modules/mkfifo: New file.
22387         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22388         * lib/mkfifo.c (mkfifo): Likewise.
22389         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
22390         defaults.
22391         * modules/sys_stat (Makefile.am): Substitute them.
22392         * lib/sys_stat.in.h (mkfifo): Declare replacement.
22393         * MODULES.html.sh (Support for systems lacking POSIX:2008):
22394         Document it.
22395         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
22396         * modules/mkfifo-tests: New test.
22397         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
22398         from test-mkfifoat.c.
22399         * tests/test-mkfifo.c: New file.
22400
22401         readlink: detect FreeBSD bug
22402         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
22403         slash on symlink.
22404         * doc/posix-functions/readlink.texi (readlink): Document the bug.
22405         * tests/test-readlink.h (test_readlink): Enhance test.
22406
22407         symlink: detect FreeBSD bug
22408         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
22409         slash on symlink.
22410         * doc/posix-functions/symlink.texi (symlink): Document the bug.
22411         * tests/test-symlink.h (test_symlink): Enhance test.
22412
22413 2009-11-10  Eric Blake  <ebb9@byu.net>
22414
22415         link: detect FreeBSD bug
22416         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
22417         symlink.
22418         * doc/posix-functions/link.texi (link): Document the bug.
22419         * tests/test-link.h (test_link): Enhance test.
22420         * tests/test-linkat.c (main): Update caller.
22421
22422         unlink, remove: detect FreeBSD bug
22423         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
22424         slash on symlink.
22425         * doc/posix-functions/unlink.texi (unlink): Document the bug.
22426         * doc/posix-functions/remove.texi (remove): Likewise.
22427         * tests/test-unlink.h (test_unlink): Enhance test.
22428         * tests/test-remove.c (main): Likewise.
22429
22430 2009-11-09  Eric Blake  <ebb9@byu.net>
22431
22432         rename: detect FreeBSD bug
22433         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
22434         slash on symlink.
22435         * modules/renameat-tests (Depends-on): Add filenamecat.
22436         * tests/test-rename.h (test_rename): Allow one more errno.
22437         * tests/test-renameat.c (main): Likewise.
22438         * doc/posix-functions/rename.texi (rename): Document the bug.
22439
22440         open: detect FreeBSD bug
22441         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
22442         symlink.
22443         * doc/posix-functions/open.texi (open): Document the bug.
22444         * doc/posix-functions/utimes.texi (utimes): Likewise.
22445         * tests/test-open.h (test_open): Add parameters, and test symlink
22446         handling.
22447         * tests/test-open.c (main): Adjust caller.
22448         * tests/test-fcntl-safer.c (main): Likewise.
22449         * modules/open-tests (Depends-on): Add stdbool, symlink.
22450         * modules/fcntl-safer-tests (Depends-on): Likewise.
22451         * tests/test-openat.c (main): Add test-open tests.
22452
22453         stat: detect FreeBSD bug
22454         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
22455         symlink.
22456         * doc/posix-functions/stat.texi (stat): Document the bug.
22457         * tests/test-stat.h (test_stat_func): Add argument.
22458         * tests/test-stat.c (main): Adjust caller.
22459         * tests/test-fstatat.c (main): Likewise.
22460         * modules/stat-tests (Depends-on): Add stdbool, symlink.
22461         Reported by Jim Meyering.
22462
22463 2009-11-09  James Youngman  <jay@gnu.org>
22464
22465         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
22466         * lib/strftime.c: Correct placement of #include "ignore-value.h".
22467
22468 2009-11-08  Jim Meyering  <meyering@redhat.com>
22469
22470         utimens: remove invalid futimesat call
22471         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
22472         It used the file descriptor of the target file as the DIR_FD
22473         parameter and NULL as the file name.  That caused failure with
22474         errno == EFAULT on FreeBSD-8.0-rc2
22475
22476 2009-11-07  Eric Blake  <ebb9@byu.net>
22477
22478         fflush, freadseek: use fseeko, not fseek
22479         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
22480         (clear_ungetc_buffer): Avoid potential problems on large files.
22481         * lib/freadseek.c (freadseek): Likewise.
22482         * modules/freadseek (Depends-on): Add fseeko.
22483         * modules/fseek (configure.ac): Set a witness.
22484         * tests/test-fflush.c (main): Use fseeko.
22485         * tests/test-fpurge.c (fseek): Disable link warning.
22486         * tests/test-freadable.c (fseek): Likewise.
22487         * tests/test-freading.c (fseek): Likewise.
22488         * tests/test-fseeko.c (fseek): Likewise.
22489         * tests/test-ftell.c (fseek): Likewise.
22490         * tests/test-ftello.c (fseek): Likewise.
22491         * tests/test-fwritable.c (fseek): Likewise.
22492         * tests/test-fwriting.c (fseek): Likewise.
22493
22494 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22495
22496         * modules/memchr (Depends-on): Drop getpagesize dependency.
22497
22498 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22499
22500         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
22501         Reported by Ludovic Courtès.
22502         * build-aux/pmccabe2html: Improve example usage.
22503         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
22504
22505 2009-11-06  Jim Meyering  <meyering@redhat.com>
22506
22507         do-release-commit-and-tag: New module.
22508         Automate the release-commit and tag process.
22509         * build-aux/do-release-commit-and-tag: New script, from coreutils.
22510         * modules/do-release-commit-and-tag: New file.
22511         * MODULES.html.sh (Support for maintaining and releasing): Add it.
22512
22513 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22514
22515         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
22516         because test-select.c uses inet_pton.
22517
22518 2009-11-06  Simon Josefsson  <simon@josefsson.org>
22519
22520         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
22521         GETADDRINFO_LIB.  Bump serial number.
22522         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
22523         Suggested by Eric Blake <ebb9@byu.net>.
22524
22525 2009-11-05  Eric Blake  <ebb9@byu.net>
22526
22527         strtod: detect darwin bug
22528         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
22529         Reported by Leo Davis.
22530
22531         freopen-safer: new module
22532         * modules/freopen-safer: New module.
22533         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
22534         * lib/freopen-safer.c (freopen_safer): New file.
22535         * lib/stdio-safer.h (freopen_safer): New declaration.
22536         * lib/stdio--.h (freopen): New override.
22537         * MODULES.html.sh (File stream based Input/Output): Mention it.
22538         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
22539         freopen-safer module.
22540         * doc/posix-functions/stderr.texi (stderr): Likewise.
22541         * doc/posix-functions/stdin.texi (stdin): Likewise.
22542         * doc/posix-functions/stdout.texi (stdout): Likewise.
22543         * modules/freopen-safer-tests: New test.
22544         * tests/test-reopen-safer.c: New file.
22545
22546 2009-11-05  Jim Meyering  <meyering@redhat.com>
22547
22548         maint.mk: Prohibit inclusion of "close-stream.h" without use.
22549         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
22550
22551 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22552
22553         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
22554
22555 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22556
22557         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
22558
22559 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22560
22561         Fix link error.
22562         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
22563         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22564
22565 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22566
22567         * tests/test-func.c: Also test value of __func__.
22568
22569 2009-11-05  Simon Josefsson  <simon@josefsson.org>
22570
22571         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
22572         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
22573
22574 2009-11-05  Bruno Haible  <bruno@clisp.org>
22575
22576         Fix link error.
22577         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
22578         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
22579         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
22580
22581 2009-11-05  Bruno Haible  <bruno@clisp.org>
22582
22583         Tests for module 'inet_pton'.
22584         * modules/inet_pton-tests: New file.
22585         * tests/test-inet_pton.c: New file.
22586
22587 2009-11-05  Bruno Haible  <bruno@clisp.org>
22588
22589         Tests for module 'inet_ntop'.
22590         * modules/inet_ntop-tests: New file.
22591         * tests/test-inet_ntop.c: New file.
22592
22593 2009-11-04  Eric Blake  <ebb9@byu.net>
22594
22595         stdlib-safer: wrap all mkstemp variants
22596         * modules/mkostemp (configure.ac): Set witness.
22597         * modules/mkostemps (configure.ac): Likewise.
22598         * modules/mkstemps (configure.ac): Likewise.
22599         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
22600         (mkstemps_safer): Wrap more functions.
22601         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
22602         wrapping.
22603         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
22604         (mkstemps_safer): Implement the wrappers.
22605
22606         mkstemps, mkostemps: new modules
22607         * modules/mkostemps: New module.
22608         * modules/mkstemps: Likewise.
22609         * lib/mkostemps.c (mkostemps): New file.
22610         * lib/mkstemps.c (mkstemps): Likewise.
22611         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
22612         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
22613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
22614         * modules/stdlib (Makefile.am): Substitute them.
22615         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
22616         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
22617         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
22618         * doc/gnulib.texi (Glibc stdlib.h): Include them.
22619         * MODULES.html.sh (File system functions): Mention them.
22620
22621         tempname: resync from glibc
22622         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
22623         same values for __GT_FILE as glibc.  Abort even when assertions
22624         are disabled.
22625         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
22626         match its value otherwise.  Allow idempotent inclusion.
22627         * lib/mkdtemp.c (mkdtemp): Adjust caller.
22628         * lib/mkostemp.c (mkostemp): Likewise.
22629         * lib/mkstemp.c (mkstemp): Likewise.
22630         * lib/tmpfile.c (tmpfile): Likewise.
22631         * NEWS: Document this.
22632
22633         utimens: fix use of futimens on older Linux
22634         * lib/utimens.c (fdutimens): Use updated, rather than original,
22635         timespec to avoid bug in older Linux kernel.
22636         Reported by Simon Josefsson.
22637
22638 2009-11-04  Bruno Haible  <bruno@clisp.org>
22639
22640         Make num_processors more flexible and consistent.
22641         * lib/nproc.h (enum nproc_query): New type.
22642         (num_processors): Add a 'query' argument.
22643         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
22644         (num_processors): Add a 'query' argument. Test the value of the
22645         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
22646         mingw, count the number of CPUs available for the current process.
22647         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
22648         Check for sched_getaffinity and sched_getaffinity_np.
22649         * modules/nproc (Depends-on): Add c-ctype, extensions.
22650         * NEWS: Mention the change.
22651
22652 2009-11-03  Bruno Haible  <bruno@clisp.org>
22653
22654         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
22655
22656 2009-11-03  Jim Meyering  <meyering@redhat.com>
22657
22658         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
22659         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
22660         if it is defined.
22661
22662 2009-11-02  Eric Blake  <ebb9@byu.net>
22663
22664         mktime, timegm: share common declaration
22665         * lib/mktime-internal.h: New file.
22666         * lib/mktime.c: Use it rather than open-coding a declaration.
22667         * lib/timegm.c: Likewise.
22668         * modules/mktime (Files): Ship it.
22669         * modules/timegm (Files): Likewise.
22670         Suggested by Bruno Haible.
22671
22672         test-update-copyright: update test to match script changes
22673         * tests/test-update-copyright.sh: Avoid hard-coding perl
22674         location.  Don't update *.bak created by earlier runs.
22675
22676 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
22677             Simon Josefsson  <simon@josefsson.org>
22678             Bruno Haible  <bruno@clisp.org>
22679
22680         Fix link error on Solaris 8.
22681         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
22682         also in libnsl. Define also INET_PTON_LIB.
22683         * modules/inet_pton (Link): New section.
22684
22685 2009-11-02  Simon Josefsson  <simon@josefsson.org>
22686             Bruno Haible  <bruno@clisp.org>
22687
22688         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
22689         * modules/inet_ntop (Link): New section.
22690         Reported by Boyan Kasarov <bkasarov@gmail.com>.
22691
22692 2009-11-02  Eric Blake  <ebb9@byu.net>
22693
22694         maint: avoid compiler warnings in m4 macros
22695         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
22696         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
22697
22698 2009-11-02  Simon Josefsson  <simon@josefsson.org>
22699
22700         * m4/pmccabe2html.m4: Remove file.
22701         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
22702         function.  Change maintainer.
22703         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
22704         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
22705         Courtès).
22706
22707 2009-10-31  Eric Blake  <ebb9@byu.net>
22708
22709         fseeko: fix m4 regression
22710         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
22711         regression from 2009-10-27.
22712         Reported by Ralf Wildenhues.
22713
22714 2009-10-31  Jim Meyering  <meyering@redhat.com>
22715
22716         inttostr: aesthetics and improved (compile-time) safety
22717         Define inttype_is_signed rather than inttype_is_unsigned,
22718         since the sole use is via "#if inttype_is_signed".
22719         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
22720         inttype_is_unsigned.
22721         * lib/offtostr.c (inttype_is_signed): Likewise.
22722         * lib/uinttostr.c (inttype_is_signed): Likewise.
22723         * lib/umaxtostr.c (inttype_is_signed): Likewise.
22724         * lib/inttostr.c (inttostr): Use verify to cross-check the
22725         inttype_is_signed value and the signedness of the actual type.
22726         * modules/inttostr (Depends-on): Add verify.
22727
22728 2009-10-30  Eric Blake  <ebb9@byu.net>
22729
22730         build: avoid compiler warnings
22731         * lib/fchmodat.c (lchmod): Mark unused variables.
22732         * lib/getopt.c (_getopt_initialize): Likewise.
22733         * lib/mktime.c (__mktime_internal): Provide prototype.
22734         * lib/inttostr.c (inttostr): Avoid compiler warning even with
22735         older gcc that do not understand #pragma GCC diagnostic.
22736         * lib/uinttostr.c (inttype_is_unsigned): Define.
22737         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
22738
22739 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
22740
22741         stat: fix compilation on AIX
22742         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
22743         only see struct stat64.
22744
22745 2009-10-30  Eric Blake  <ebb9@byu.net>
22746
22747         exclude: make more robust
22748         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
22749         rather than masking a coding bug.
22750         Suggested by Bruno Haible.
22751
22752 2009-10-30  Jim Meyering  <meyering@redhat.com>
22753
22754         perl scripts: remove #!/usr/bin/perl in favor of more portable...
22755         Rather than putting #!/usr/bin/perl on the first line,
22756         start with a variant of what's recommended by "man perlrun" that
22757         invokes the first "perl" program from your shell's search path.
22758         * build-aux/gitlog-to-changelog: Replace #!... as above.
22759         Add a "Local Variables" perl mode setting.
22760         Prompted by a patch from Ludovic Courtès.
22761         Improved by Eric Blake.
22762         * build-aux/useless-if-before-free: Likewise.
22763         * build-aux/announce-gen: Likewise.
22764         * build-aux/update-copyright: Likewise.
22765
22766 2009-10-29  Eric Blake  <ebb9@byu.net>
22767
22768         filenamecat-lgpl: adjust clients
22769         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
22770         filenamecat.
22771         * modules/renameat (Depends-on): Likewise.
22772
22773         filenamecat: split into filenamecat-lgpl
22774         * modules/filenamecat-lgpl: New module.
22775         * modules/filenamecat (Files): Move library-safe files into
22776         filenamecat-lgpl.
22777         (Depends-on): Add filenamecat-lgpl.
22778         (configure.ac): Declare witness.
22779         * lib/filenamecat.h (file_name_concat): Only declare when using
22780         GPL module.
22781         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
22782         Move...
22783         * lib/filenamecat-lgpl.c: ...into new file.
22784         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
22785         (gl_FILE_NAME_CONCAT): Use it.
22786         * MODULES.html.sh (File system functions): Mention new module.
22787
22788         argp: avoid memory leak
22789         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
22790         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
22791         base_name, since the latter malloc()s and can call exit().
22792         Leak introduced 2006-07-03.
22793
22794         dirname-lgpl: adjust clients that don't need full dirname
22795         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
22796         * modules/filenamecat (Depends-on): Likewise.
22797         * modules/linkat (Depends-on): Likewise.
22798         * modules/mkancesdirs (Depends-on): Likewise.
22799         * modules/mkdir (Depends-on): Likewise.
22800         * modules/openat (Depends-on): Likewise.
22801         * modules/savewd (Depends-on): Likewise.
22802         * modules/rename (Depends-on): Likewise.
22803         (License): Relax license.
22804         * modules/mkdir-tests (Depends-on): Drop progname.
22805         (Makefile.am): Delete unneeded LDADD.
22806         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
22807
22808         dirname: split into dirname-lgpl
22809         * modules/dirname-lgpl: New module.
22810         * modules/dirname (Files): Move library-safe files into
22811         dirname-lgpl.
22812         (Depends-on): Add dirname-lgpl.
22813         (configure.ac): Declare witness.
22814         * modules/double-slash-root (License): Relax license.
22815         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
22816         module.
22817         * lib/dirname.c (dir_len, mdir_name): Move...
22818         * lib/dirname-lgpl.c: ...into new file.
22819         * lib/basename.c (last_component, base_len): Move...
22820         * lib/basename-lgpl.c: ...into new file.
22821         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
22822         (gl_DIRNAME): Use it.
22823         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
22824         Mention new module.
22825         * modules/dirname-tests (Depends-on): Add progname.
22826         * tests/test-dirname.c (program_name): Delete.
22827
22828         mkdir: make safe for libraries
22829         * modules/mkdir (Depends-on): Drop xalloc.
22830         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
22831         exit.
22832
22833         tests: avoid some compiler warnings
22834         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
22835         literals.
22836         * tests/test-memchr.c (main): Avoid type mismatch.
22837         * tests/test-arpa_inet.c (main): Avoid unused parameters.
22838         * tests/test-base64.c (main): Likewise.
22839         * tests/test-getdelim.c (main): Likewise.
22840         * tests/test-gethostname.c (main): Likewise.
22841         * tests/test-getline.c (main): Likewise.
22842         * tests/test-netinet_in.c (main): Likewise.
22843         * tests/test-select.c (open_server_socket, main): Likewise.
22844         * tests/test-select-stdin.c (main): Likewise.
22845         * tests/test-sockets.c (main): Likewise.
22846         * tests/test-strsignal.c (main): Likewise.
22847         * tests/test-sys_select.c (main): Likewise.
22848         * tests/test-sys_socket.c (main): Likewise.
22849         * tests/test-u64.c (main): Likewise.
22850         * tests/test-xfprintf-posix.c (main): Likewise.
22851         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
22852
22853         sockets: avoid compiler warning
22854         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
22855
22856         maint: detect usage(1) and other suspicious exits
22857         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
22858
22859 2009-10-29  Jim Meyering  <meyering@redhat.com>
22860
22861         timespec: long-to-int truncation could make timespec_cmp malfunction
22862         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
22863         a multiple of 2^32 nanoseconds as no difference.
22864
22865 2009-10-28  Jim Meyering  <meyering@redhat.com>
22866
22867         fprintftime: wrap macro code argument in "do {...} while(0)"
22868         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
22869         cpy macro must be a statement that can be followed by a semicolon.
22870         Now that the else clause contains a comment and is hence longer
22871         than one line, I require curly braces.  That in turn requires
22872         that we wrap this code block in the standard do...while(0).
22873
22874         fprintftime: remove stray semicolon from previous change
22875         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
22876
22877         fprintftime: avoid a warning about ignored fwrite return value
22878         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
22879         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
22880         that is unsafe.
22881         * modules/fprintftime (Depends-on): Add ignore-value.
22882
22883         exclude: avoid an unwarranted warning
22884         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
22885
22886 2009-10-27  Eric Blake  <ebb9@byu.net>
22887
22888         fseek: avoid compilation failure when fflush is replaced
22889         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
22890         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
22891         module is in use.
22892         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
22893         module is not in use; since REPLACE_FSEEK worked otherwise.
22894         (GNULIB_FTELLO): Likewise for ftell.
22895         Reported by Ian Beckwith and others.
22896
22897 2009-10-27  Bruno Haible  <bruno@clisp.org>
22898
22899         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
22900         Reported by Jim Meyering.
22901
22902 2009-10-27  Jim Meyering  <jim@meyering.net>
22903             Bruno Haible  <bruno@clisp.org>
22904
22905         Avoid warning despite dropping the return value of fwrite.
22906         * lib/unicodeio.c: Include ignore-value.h.
22907         (fwrite_success_callback): Explicitly ignore fwrite's return value.
22908         * modules/unicodeio (Depends-on): Add ignore-value.
22909
22910 2009-10-26  Eric Blake  <ebb9@byu.net>
22911
22912         areadlinkat: fix fallback path
22913         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
22914         pointer and zero.
22915
22916 2009-10-22  Pádraig Brady  <P@draigBrady.com>
22917
22918         Use a better IO block size for modern systems
22919         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
22920         * lib/md2.c: Likewise.
22921         * lib/md4.c: Likewise.
22922         * lib/md5.c: Likewise.
22923         * lib/sha1.c: Likewise.
22924         * lib/sha256.c: Likewise.
22925         * lib/sha512.c: Likewise.
22926
22927 2009-10-22  Eric Blake  <ebb9@byu.net>
22928
22929         tests: avoid several compiler warnings
22930         * tests/test-getcwd.c (main): Avoid buffer underflow.
22931         * tests/test-getdate.c (main): String literals are not safe with
22932         putenv, so use setenv.  Declare unused argument.
22933         * modules/getdate-tests (Depends-on): Add setenv.
22934         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
22935         problems with string literals in char *.
22936         * tests/test-hash.c (main): Avoid shadowing declaration.
22937         (insert_new): Treat string literals as char const *.
22938         * tests/test-getopt.h (test_getopt): Likewise.
22939         (getopt_loop): Alter types to minimize casting elsewhere.
22940         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
22941         (test_getopt_long_posix): Likewise.
22942         (do_getopt_long): Add wrapper to minimize casting.
22943         * tests/test-atexit.c (clear_temp_file): Use void.
22944         * tests/test-areadlink-with-size.c (main): Declare unused
22945         arguments.
22946         * tests/test-areadlink.c (main): Likewise.
22947         * tests/test-areadlinkat-with-size.c (main): Likewise.
22948         * tests/test-areadlinkat.c (main): Likewise.
22949         * tests/test-canonicalize-lgpl.c (main): Likewise.
22950         * tests/test-canonicalize.c (main): Likewise.
22951         * tests/test-dirent-safer.c (main): Likewise.
22952         * tests/test-dirname.c (main): Likewise.
22953         * tests/test-dup2.c (main): Likewise.
22954         * tests/test-fchdir.c (main): Likewise.
22955         * tests/test-fcntl-h.c (main): Likewise.
22956         * tests/test-fcntl-safer.c (main): Likewise.
22957         * tests/test-fdopendir.c (main): Likewise.
22958         * tests/test-fdutimensat.c (main): Likewise.
22959         * tests/test-fflush.c (main): Likewise.
22960         * tests/test-filenamecat.c (main): Likewise.
22961         * tests/test-filevercmp.c (main): Likewise.
22962         * tests/test-fopen-safer.c (main): Likewise.
22963         * tests/test-fopen.c (main): Likewise.
22964         * tests/test-fpending.c (main): Likewise.
22965         * tests/test-fpurge.c (main): Likewise.
22966         * tests/test-freading.c (main): Likewise.
22967         * tests/test-fstatat.c (main): Likewise.
22968         * tests/test-fsync.c (main): Likewise.
22969         * tests/test-futimens.c (main): Likewise.
22970         * tests/test-getndelim2.c (main): Likewise.
22971         * tests/test-gettimeofday.c (main): Likewise.
22972         * tests/test-getopt.c (main): Likewise.
22973         * tests/test-i-ring.c (main): Likewise.
22974         * tests/test-inttypes.c (main): Likewise.
22975         * tests/test-link.c (main): Likewise.
22976         * tests/test-lstat.c (main): Likewise.
22977         * tests/test-math.c (main): Likewise.
22978         * tests/test-md5.c (main): Likewise.
22979         * tests/test-memchr2.c (main): Likewise.
22980         * tests/test-memrchr.c (main): Likewise.
22981         * tests/test-mkdir.c (main): Likewise.
22982         * tests/test-mkdirat.c (main): Likewise.
22983         * tests/test-mkfifoat.c (main): Likewise.
22984         * tests/test-open.c (main): Likewise.
22985         * tests/test-openat-safer.c (main): Likewise.
22986         * tests/test-openat.c (main): Likewise.
22987         * tests/test-quotearg.c (main): Likewise.
22988         * tests/test-rawmemchr.c (main): Likewise.
22989         * tests/test-readlink.c (main): Likewise.
22990         * tests/test-remove.c (main): Likewise.
22991         * tests/test-rename.c (main): Likewise.
22992         * tests/test-renameat.c (main): Likewise.
22993         * tests/test-rmdir.c (main): Likewise.
22994         * tests/test-sha1.c (main): Likewise.
22995         * tests/test-signal.c (main): Likewise.
22996         * tests/test-sigaction.c (main): Likewise.
22997         * tests/test-stat.c (main): Likewise.
22998         * tests/test-stat-time.c (main): Likewise.
22999         * tests/test-stddef.c (main): Likewise.
23000         * tests/test-stdint.c (main): Likewise.
23001         * tests/test-stdio.c (main): Likewise.
23002         * tests/test-stdlib.c (main): Likewise.
23003         * tests/test-strchrnul.c (main): Likewise.
23004         * tests/test-strerror.c (main): Likewise.
23005         * tests/test-string.c (main): Likewise.
23006         * tests/test-strtod.c (main): Likewise.
23007         * tests/test-strverscmp.c (main): Likewise.
23008         * tests/test-symlink.c (main): Likewise.
23009         * tests/test-symlinkat.c (main): Likewise.
23010         * tests/test-sys_stat.c (main): Likewise.
23011         * tests/test-sys_time.c (main): Likewise.
23012         * tests/test-time.c (main): Likewise.
23013         * tests/test-unistd.c (main): Likewise.
23014         * tests/test-unlink.c (main): Likewise.
23015         * tests/test-unlinkat.c (main): Likewise.
23016         * tests/test-utimens.c (main): Likewise.
23017         * tests/test-utimensat.c (main): Likewise.
23018         * tests/test-version-etc.c (main): Likewise.
23019         * tests/test-wchar.c (main): Likewise.
23020         * tests/test-wctype.c (main): Likewise.
23021         * tests/test-xprintf-posix.c (main): Likewise.
23022         * tests/test-posixtm.c (main): Likewise.
23023         (STREQ): Delete unused macro.
23024         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
23025         shadowed variables.
23026         * tests/test-memchr.c (main): Likewise.
23027
23028 2009-10-21  Eric Blake  <ebb9@byu.net>
23029
23030         areadlinkat: avoid failure on older glibc
23031         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
23032         rather than mis-comparing 0 against FUNC_RESULT of char*.
23033
23034 2009-10-21  Bruno Haible  <bruno@clisp.org>
23035
23036         * modules/stpncpy (License): Relicense under LGPLv2+.
23037         Reported by David Lutterkort <lutter@redhat.com>.
23038
23039 2009-10-20  Eric Blake  <ebb9@byu.net>
23040
23041         utimensat: work around Solaris 9 bug
23042         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
23043         has trailing slash bugs.
23044         * tests/test-lutimens.h (test_lutimens): Enhance test.
23045         * tests/test-utimens.h (test_utimens): Likewise.
23046         * doc/posix-functions/utime.texi (utime): Enhance documentation.
23047         * doc/posix-functions/utimes.texi (utimes): Likewise.
23048         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23049         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
23050         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
23051         * doc/posix-functions/futimens.texi (futimens): Likewise.
23052
23053         fdutimensat: new module
23054         * modules/fdutimensat: New file.
23055         * lib/fdutimensat.c (fdutimensat): Likewise.
23056         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
23057         * MODULES.html.sh (File system functions): Mention module.
23058         * modules/fdutimensat-tests: New test.
23059         * tests/test-fdutimensat.c: Likewise.
23060
23061         doc: regenerate INSTALL
23062         * doc/INSTALL: Reflect recent autoconf update.
23063         * doc/INSTALL.ISO: Likewise.
23064         * doc/INSTALL.UTF-8: Likewise.
23065
23066 2009-10-20  Pádraig Brady  <P@draigBrady.com>
23067
23068         acl: warn if ACL support is not detected
23069         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
23070
23071 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
23072
23073         * lib/nproc.h: Add extern "C" block for C++.
23074
23075 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
23076             Bruno Haible  <bruno@clisp.org>
23077
23078         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
23079         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
23080         * doc/posix-functions/isalpha.texi: Likewise.
23081         * doc/posix-functions/isblank.texi: Likewise.
23082         * doc/posix-functions/iscntrl.texi: Likewise.
23083         * doc/posix-functions/isdigit.texi: Likewise.
23084         * doc/posix-functions/isgraph.texi: Likewise.
23085         * doc/posix-functions/islower.texi: Likewise.
23086         * doc/posix-functions/isprint.texi: Likewise.
23087         * doc/posix-functions/ispunct.texi: Likewise.
23088         * doc/posix-functions/isspace.texi: Likewise.
23089         * doc/posix-functions/isupper.texi: Likewise.
23090         * doc/posix-functions/isxdigit.texi: Likewise.
23091
23092 2009-10-18  Bruno Haible  <bruno@clisp.org>
23093
23094         Tests for module 'isblank'.
23095         * modules/isblank-tests: New file.
23096         * tests/test-isblank.c: New file.
23097
23098         New module 'isblank'.
23099         * lib/isblank.c: New file.
23100         * m4/isblank.m4: New file.
23101         * modules/isblank: New file.
23102         * doc/posix-functions/isblank.texi: Mention the new module.
23103
23104 2009-10-18  Bruno Haible  <bruno@clisp.org>
23105
23106         New module 'ctype'.
23107         * lib/ctype.in.h: New file.
23108         * m4/ctype.m4: New file.
23109         * modules/ctype: New file.
23110         * doc/posix-headers/ctype.texi: Mention the new module.
23111
23112 2009-10-18  Jim Meyering  <meyering@redhat.com>
23113
23114         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
23115         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
23116         right after its initialization, rather than farther down.
23117         Keeping these in close proximity makes it easier to ensure
23118         that each such variable is initialized.  E.g.,
23119
23120             LIB_CLOCK_GETTIME=
23121             AC_SUBST([LIB_CLOCK_GETTIME])
23122
23123         This change also increments these serial numbers.
23124         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
23125         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23126         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23127
23128 2009-10-18  Bruno Haible  <bruno@clisp.org>
23129
23130         Don't let environment variables perturb build.
23131         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
23132         (gl_PREREQ_GETHRXTIME): ... not here.
23133
23134 2009-10-18  Bruno Haible  <bruno@clisp.org>
23135
23136         Avoid symlink attack in localcharset module.
23137         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
23138         (O_NOFOLLOW): Define fallback.
23139         (get_charset_aliases): Don't open the file if it is a symbolic link.
23140         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
23141         gl_FCNTL_H.
23142         (gl_FCNTL_H): Require it.
23143         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
23144         * modules/localcharset (Files): Add m4/fcntl_h.m4.
23145         Reported by Fergal Glynn <fglynn@veracode.com>.
23146
23147 2009-10-18  Bruno Haible  <bruno@clisp.org>
23148
23149         Implement nproc for mingw.
23150         * lib/nproc.c: Include <windows.h>
23151         (num_processors): On native Windows platforms, try GetSystemInfo.
23152
23153 2009-10-18  Bruno Haible  <bruno@clisp.org>
23154
23155         Implement nproc for IRIX.
23156         * lib/nproc.c: Include <sys/sysmp.h>.
23157         (num_processors): On IRIX systems, try sysmp.
23158         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
23159
23160 2009-10-18  Bruno Haible  <bruno@clisp.org>
23161
23162         Implement nproc for HP-UX.
23163         * lib/nproc.c: Include <sys/pstat.h>
23164         (num_processors): On HP-UX systems, try pstat_getdynamic.
23165         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
23166         pstat_getdynamic.
23167
23168 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
23169             Bruno Haible  <bruno@clisp.org>
23170
23171         Implement nproc for NetBSD, OpenBSD.
23172         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
23173         (ARRAY_SIZE): New macro.
23174         (num_processors): On BSD systems, try sysctl of HW_NCPU.
23175         * m4/nproc.m4: New file.
23176         * modules/nproc (Files): Add m4/nproc.m4.
23177         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
23178         (Makefile.am): Instead, augment lib_SOURCES.
23179
23180 2009-10-18  Bruno Haible  <bruno@clisp.org>
23181
23182         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
23183         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
23184         sys/param.h.
23185
23186 2009-10-16  Eric Blake  <ebb9@byu.net>
23187
23188         utimensat: new module
23189         * modules/utimensat: New file.
23190         * lib/utimensat.c (utimensat): Likewise.
23191         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
23192         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
23193         so we can work around Linux bugs.
23194         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23195         * modules/sys_stat (Makefile.am): Substitute them.
23196         * lib/sys_stat.in.h (utimensat): Declare it.
23197         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23198         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23199         * modules/utimensat-tests: New test.
23200         * tests/test-utimensat.c: Likewise.
23201
23202         utimens: let lutimens work on non-symlinks
23203         * lib/utimens.c (lutimens): Fall back to utimens rather than
23204         failing with ENOSYS, when file is not a symlink.
23205         (utimens): Reduce redirection.
23206         * tests/test-lutimens.h (test_lutimens): Update test to cover
23207         non-symlinks.
23208         * tests/test-utimens.h (test_utimens): Update test to cover
23209         symlinks.
23210         * tests/test-utimens.c (main): Update caller.
23211
23212         utimens: cache whether utimensat syscall works
23213         * lib/utimens.c (utimensat_works_really): New cache variable.
23214         (fdutimens, lutimens): Use it to avoid failing syscall.
23215
23216         test-stat-time, test-utimens: improve portability
23217         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
23218         ext4 on alpha, and for cygwin.
23219         * tests/test-utimens-common.h: New file.
23220         (nap): Factor delays into single function.
23221         * tests/test-lutimens.h (test_lutimens): Use new header.
23222         * tests/test-futimens.h (test_futimens): Likewise.
23223         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
23224         timestamps to occur from same machine, as was done previously for
23225         test_utimens.
23226         * modules/utimens-tests (Files): Ship new file.
23227         * modules/futimens-tests (Files): Likewise.
23228         Reported in part by Jim Meyering.
23229
23230         sys_stat: sort replacement declarations
23231         * lib/sys_stat.in.h: Sort declarations.
23232         * lib/futimens.c (futimens): Fix typo.
23233
23234 2009-10-15  Jim Meyering  <meyering@redhat.com>
23235
23236         don't let environment settings perturb build
23237         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
23238         could cause a configure-time and/or build-time malfunction.
23239         Typically, a configure-time function-in-library test is performed
23240         via code like this:
23241
23242           LIB_VAR=
23243           AC_SUBST([LIB_VAR])
23244           prefix_saved_LIBS=$LIBS
23245             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
23246                        [test "$ac_cv_search_FUNC" = "none required" ||
23247                         LIB_VAR=$ac_cv_search_FUNC])
23248           LIBS=$prefix_saved_LIBS
23249
23250         However, in each of the files affected by this change, the LIB_VAR=
23251         initialization was omitted.  Thus, when set in the environment, its
23252         value would propagate into generated Makefiles when FUNC is not found
23253         in LIB_NAME.
23254         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
23255         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
23256         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23257
23258 2009-10-14  Eric Blake  <ebb9@byu.net>
23259
23260         fchdir: avoid infinite recursion in mingw
23261         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
23262         recursing.
23263
23264         test-stat-time: port to mingw
23265         * tests/test-stat-time.c (force_unlink): Return a value.
23266         (test_ctime) [W32]: Fix compilation error.
23267         (nap): Don't call usleep with too large an argument.  Use
23268         force_unlink.
23269         * doc/pastposix-functions/usleep.texi (usleep): Document the
23270         portability issue.
23271
23272 2009-10-13  Jim Meyering  <meyering@redhat.com>
23273
23274         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
23275         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
23276         * modules/pipe-filter-ii: Likewise.
23277         * modules/sys_socket-tests: Likewise.
23278         * modules/tsearch-tests: Likewise.
23279         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
23280         (check): Depend on it.
23281
23282 2009-10-12  Eric Blake  <ebb9@byu.net>
23283
23284         utimens-tests: port to NFS file systems
23285         * tests/test-utimens.h (test_utimens): Refactor utimecmp
23286         comparisons to avoid spurious failures from timestamp drift
23287         between NFS machines.
23288
23289 2009-10-12  Eric Blake  <ebb9@byu.net>
23290
23291         stat-time-tests: minor cleanups
23292         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
23293         * tests/test-stat-time.c (nap): Separate assignment from call.
23294         Suggested by Paolo Bonzini and Bruno Haible.
23295
23296         sys_stat: guarantee struct timespec
23297         * lib/sys_stat.in.h (includes): Always include <time.h>
23298         * modules/sys_stat (Depends-on): Add time.
23299         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
23300         mode_t permission values.
23301         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
23302         get at subsecond timestamps.
23303
23304 2009-10-10  Eric Blake  <ebb9@byu.net>
23305
23306         futimens: new module
23307         * modules/futimens: New file.
23308         * lib/futimens.c (futimens): Likewise.
23309         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
23310         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
23311         we can work around Linux bugs.
23312         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
23313         * modules/sys_stat (Makefile.am): Substitute them.
23314         * lib/sys_stat.in.h (futimens): Declare it.
23315         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23316         * doc/posix-functions/futimens.texi (futimens): Likewise.
23317         * modules/futimens-tests: New test.
23318         * tests/test-futimens.c: Likewise.
23319
23320         utimens: introduce fdutimens
23321         * lib/utimens.h (fdutimens): New prototype.
23322         * lib/utimens.c (gl_futimens): Move guts...
23323         (fdutimens): ...to new interface.
23324         * tests/test-utimens.c (do_fdutimens): Use it.
23325
23326         utimens: add UTIME_NOW and UTIME_OMIT support
23327         * lib/utimens.c (validate_timespec, update_timespec): New helper
23328         functions.
23329         (gl_futimens, lutimens): Use them.
23330         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
23331         stdbool, sys_stat.
23332         (Link): Mention resulting library dependency.
23333         * modules/utimecmp (Link): Likewise.
23334         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
23335         (Makefile.am): Pick up library dependency.
23336         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
23337         definition.
23338         * tests/test-sys_stat.c: Test the definitions.
23339         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
23340         * NEWS: Document library dependency.
23341
23342         utimecmp: support symlink timestamps
23343         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
23344         hashing when possible.  Use pathconf when available.
23345         (SYSCALL_RESOLUTION): Recognize tighter resolution.
23346         * modules/utimecmp (Depends-on): Add lstat.
23347
23348         utimens: add lutimens interface
23349         * lib/utimens.c (lutimens): New function.
23350         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
23351         * lib/utimens.h (lutimens): Declare new interface.
23352         * tests/test-utimens.c (main): Enhance test.
23353         * tests/test-lutimens.h (test_lutimens): New file.
23354         * modules/utimens-tests (Files): Distribute it.
23355         (Depends-on): Add symlink.
23356         (configure.ac): Check for usleep.
23357
23358         utimens: validate futimens usage
23359         * lib/utimens.c (gl_futimens): Require valid fd up front, using
23360         fewer syscalls on failure later on.  Avoid compiler warning on
23361         mingw.
23362         * modules/utimens (Depends-on): Add dup2.
23363
23364         utimens: add test
23365         * modules/utimens-tests: New test.
23366         * tests/test-utimens.h: New file.
23367         * tests/test-futimens.h: Likewise.
23368         * tests/test-utimens.c: Likewise.
23369
23370         doc: mention timestamp portability issues
23371         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
23372         instead.
23373         * doc/posix-functions/utime.texi (utime): Likewise.
23374         * doc/posix-functions/utimes.texi (utimes): Likewise.
23375         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
23376         instead.
23377         * doc/posix-functions/futimens.texi (futimens): Mention utimens
23378         module.
23379         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
23380         Mention weakness with symlink timestamps.
23381         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
23382         to utimensat/futimens instead.
23383         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
23384
23385         test-dup2: enhance test
23386         * tests/test-dup2.c (main): Also check AT_FDCWD.
23387
23388         test-stat-time: avoid more spurious failures
23389         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
23390         xfs; and avoid race if the two timestamps cross quantization edge.
23391
23392         relocatable: prefer 'file system' over 'filesystem'
23393         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
23394         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
23395         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
23396         * doc/relocatable.texi (Enabling Relocatability): Likewise.
23397         * lib/relocatable.c (compute_curr_prefix): Likewise.
23398
23399 2009-10-10  Jim Meyering  <meyering@redhat.com>
23400
23401         stat-time-tests: check for the usleep function
23402         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
23403
23404 2009-10-10  Bruno Haible  <bruno@clisp.org>
23405
23406         * modules/xnanosleep: Put the Link section after the Include section.
23407
23408 2009-10-09  Eric Blake  <ebb9@byu.net>
23409
23410         dup2: work around FreeBSD 6.1 bug
23411         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
23412         * doc/posix-functions/dup2.texi (dup2): Document it.
23413         Reported by Nelson H. F. Beebe and Jim Meyering.
23414
23415         test-stat-time: port to buggy NFS clients
23416         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
23417         (test_ctime): Also skip test if mtime and ctime are skewed.
23418
23419         maint: prefer 'file system' over 'filesystem'
23420         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
23421         * doc/posix-functions/lstat.texi (lstat): Likewise.
23422         * lib/file-has-acl.c (file_has_acl): Likewise.
23423         * lib/fwriteerror.c [TEST]: Likewise.
23424         * tests/test-areadlink.h (test_areadlink): Likewise.
23425         * tests/test-areadlinkat-with-size.c (main): Likewise.
23426         * tests/test-areadlinkat.c (main): Likewise.
23427         * tests/test-canonicalize-lgpl.c (main): Likewise.
23428         * tests/test-canonicalize.c (main): Likewise.
23429         * tests/test-fstatat.c (main): Likewise.
23430         * tests/test-linkat.c (main): Likewise.
23431         * tests/test-lstat.h (test_lstat_func): Likewise.
23432         * tests/test-mkdir.h (test_mkdir): Likewise.
23433         * tests/test-readlink.h (test_readlink): Likewise.
23434         * tests/test-remove.c (main): Likewise.
23435         * tests/test-rename.h (test_rename): Likewise.
23436         * tests/test-renameat.c (main): Likewise.
23437         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23438         * tests/test-symlink.h (test_symlink): Likewise.
23439         * tests/test-symlinkat.c (main): Likewise.
23440         * tests/test-unlink.h (test_unlink_func): Likewise.
23441         * tests/test-unlinkat.c (main): Likewise.
23442
23443         maint: make realtime library usage explicit
23444         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
23445         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
23446         * modules/settime (Link): Likewise.
23447         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
23448
23449         test-stat-time: speed up execution
23450         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
23451         warning on mingw.
23452         (nap): New helper function.
23453         (prepare_test): Use it to reduce sleep time.
23454         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
23455         execution.
23456         * modules/stat-time-tests (configure.ac): Check for usleep.
23457
23458 2009-10-09  Jim Meyering  <meyering@redhat.com>
23459
23460         selinux-h: always use getfilecon wrappers
23461         * lib/getfilecon.c: New file.
23462         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
23463         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
23464         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
23465         (fgetfilecon): Provide a stub.
23466         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
23467         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
23468         file unconditionally.
23469         When <selinux/selinux.h> is found, arrange to use wrappers.
23470         * modules/selinux-h (Files): Add getfilecon.c.
23471         (Makefile.am): Substitute include-next-related bits
23472         into the now-always-generated selinux/selinux.h file.
23473         * doc/glibc-functions/lgetfilecon.texi: New file.
23474         * doc/glibc-functions/fgetfilecon.texi: New file.
23475         * doc/glibc-functions/getfilecon.texi: New file.
23476         * doc/glibc-functions/getfilecon-desc.texi: New file.
23477         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
23478         which to pull in the new files.
23479         * MODULES.html.sh (Misc): Add selinux-h.
23480
23481 2009-10-08  Jim Meyering  <meyering@redhat.com>
23482
23483         unistd: fix comment typo
23484         * lib/unistd.in.h (euidaccess): Fix a comment typo.
23485
23486 2009-10-08  Eric Blake  <ebb9@byu.net>
23487
23488         areadlink: use SIZE_MAX consistently
23489         * modules/areadlink (Depends-on): Add stdint.
23490         * modules/areadlink-with-size (Depends-on): Likewise.
23491         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
23492         gives NULL; drop sys/types, since unistd gives size_t; and add
23493         stdint for SIZE_MAX.
23494         (SIZE_MAX): Rely on headers.
23495         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
23496         and add stdint.
23497         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
23498         (SIZE_MAX): Likewise.
23499         (INITIAL_BUF_SIZE): Turn into enum.
23500         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
23501
23502 2009-10-08  Jim Meyering  <meyering@redhat.com>
23503
23504         areadlinkat: avoid compilation failure
23505         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
23506         Fix typo in comment.
23507
23508 2009-10-07  Eric Blake  <ebb9@byu.net>
23509
23510         areadlinkat-with-size: new module
23511         * modules/areadlinkat-with-size: New module.
23512         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
23513         * lib/areadlink.h (areadlinkat): Declare it.
23514         * MODULES.html.sh (File system functions): Mention it.
23515         * modules/areadlinkat-with-size-tests: New test.
23516         * tests/test-areadlinkat-with-size.c: New file.
23517
23518         xreadlinkat: new module
23519         * modules/xreadlinkat: New module.
23520         * lib/xreadlinkat.c (xreadlinkat): New file.
23521         * lib/xreadlink.h (xreadlinkat): Declare it.
23522         * MODULES.html.sh (File system functions): Mention it.
23523
23524         areadlinkat: new module
23525         * lib/at-func.c (FUNC_FAIL): New define.
23526         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
23527         * modules/areadlinkat: New module.
23528         * lib/linkat.c (areadlinkat): Move...
23529         * lib/areadlinkat.c (areadlinkat): ...to new file.
23530         * lib/areadlink.h (areadlinkat): Declare it.
23531         * modules/linkat (Depends-on): Add areadlinkat.
23532         * MODULES.html.sh (File system functions): Mention it.
23533         * modules/areadlinkat-tests: New test.
23534         * tests/test-areadlinkat.c: New file.
23535
23536         areadlink, areadlink-with-size: add tests
23537         * modules/areadlink-tests: New test.
23538         * modules/areadlink-with-size-tests: Likewise.
23539         * tests/test-areadlink.h: New file.
23540         * tests/test-areadlink.c: Likewise.
23541         * tests/test-areadlink-with-size.c: Likewise.
23542
23543         maint: minor cleanups
23544         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
23545         _UNUSED_PARAMETER_ instead.
23546         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
23547         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
23548         * modules/linkat-tests (Files): Distribute test-link.h.
23549
23550         openat, utimens: whitespace cleanup
23551         * lib/openat.c: Prefer space throughout, rather than mix of 8
23552         spaces vs. tabs.
23553         * lib/at-func.c: Likewise.
23554         * lib/utimens.c: Likewise.
23555
23556         openat: avoid using wrong fd
23557         * lib/openat.c (openat_permissive): Reject user's fd if saving the
23558         working directory chooses same fd.
23559         * lib/at-func.c (AT_FUNC_NAME): Likewise.
23560
23561         mkdir, mkdirat: fix cygwin 1.5.x bug
23562         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
23563         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
23564         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
23565         bug.
23566         (gl_PREREQ_MKDIR): Delete unused macro.
23567         * modules/mkdir (Files): Track file rename.
23568         (configure.ac): Update macro name.
23569         * modules/openat (Depends-on): Add mkdir.
23570         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
23571
23572         mkdir, mkdirat: add tests
23573         * modules/mkdir-tests: New test.
23574         * tests/test-mkdir.h: New file.
23575         * tests/test-mkdir.c: Likewise.
23576         * tests/test-mkdirat.c: Likewise.
23577         * modules/openat-tests (Files): Add new files.
23578         (Makefile.am): Run new test.
23579
23580 2009-10-06  Eric Blake  <ebb9@byu.net>
23581
23582         doc: tweak *at function documentation
23583         * doc/posix-functions/faccessat.texi (faccessat): Mention
23584         known issue with replacement.
23585         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
23586         * doc/posix-functions/linkat.texi (linkat): Likewise.
23587         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
23588         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
23589         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
23590         * doc/posix-functions/renameat.texi (renameat): Likewise.
23591         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
23592
23593         openat: fix GNU/Hurd bug in unlinkat
23594         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
23595         broken.
23596         * doc/posix-functions/unlink.texi (unlink): Document this.
23597         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
23598
23599         fdopendir: fix GNU/Hurd bug
23600         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
23601         allowing non-directory fds.
23602         * lib/fdopendir.c (rpl_fdopendir): Work around it.
23603         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
23604         * modules/dirent (Makefile.am): Substitute it.
23605         * lib/dirent.in.h (fdopendir): Declare replacement.
23606         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
23607         * tests/test-fdopendir.c (main): Test something other than
23608         /dev/null, since on Hurd that behaves like a directory.
23609
23610         test-symlink: port to GNU/Hurd
23611         * tests/test-symlink.h (test_symlink): Relax expected errno.
23612
23613         doc: tweak more cygwin information
23614         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
23615         now compatible with glibc.
23616         * doc/posix-functions/getopt.texi (getopt): Likewise.
23617
23618         getopt-gnu: add another test
23619         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
23620         guarantee behavior relied on by m4.
23621         * tests/test-getopt.c (main): Use it.
23622         * modules/getopt-posix-tests (Depends-on): Add setenv.
23623         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
23624
23625         getopt: fix compilation on darwin
23626         * lib/getopt.in.h (includes): Leave breadcrumbs during system
23627         include.
23628         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
23629         Reported by Ludovic Courtès.
23630
23631 2009-10-06  Bruno Haible  <bruno@clisp.org>
23632
23633         * modules/size_max (Description): Discourage its use.
23634         Reported by Simon Josefsson.
23635
23636 2009-10-06  Jim Meyering  <meyering@redhat.com>
23637
23638         linkat: avoid compilation failure
23639         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
23640
23641 2009-10-05  Eric Blake  <ebb9@byu.net>
23642
23643         linkat: support Linux 2.6.17
23644         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
23645         linkat on Linux, but allow cache variable override.
23646         * lib/linkat.c (rpl_linkat): Define override.
23647         * modules/linkat (Depends-on): Add symlinkat.
23648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
23649         * modules/unistd (Makefile.am): Substitute it.
23650         * lib/unistd.in.h (linkat): Declare replacement.
23651         Reported by Pádraig Brady.
23652
23653         quotearg: port test to systems with C.UTF-8 locale
23654         * tests/test-quotearg.c (struct result_strings): Add another
23655         member, differentiating between C.ASCII and C.UTF-8 handling.
23656         (compare_strings): Add parameter.
23657         (main): Adjust all callers.
23658
23659         getopt: avoid clash with FreeBSD _getopt_internal
23660         * lib/getopt.in.h (_getopt_internal): Override the name.
23661         * lib/getopt_int.h (includes): Pick up any overrides.
23662         Reported by Reuben Thomas.
23663
23664         hash: allow C89 compilation
23665         * lib/hash.c (check_tuning): Move declaration before statement.
23666         Reported by Reuben Thomas.
23667
23668 2009-10-05  Karl Berry  <karl@gnu.org>
23669
23670         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
23671
23672 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
23673             Bruno Haible  <bruno@clisp.org>
23674
23675         * lib/uname.c (uname): Use a table-driven algorithm to compute
23676         Windows NT versions.
23677
23678 2009-10-04  Bruno Haible  <bruno@clisp.org>
23679
23680         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
23681         program_invocation_short_name.
23682         * modules/progname (configure.ac): Test for presence of
23683         program_invocation_short_name.
23684         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
23685
23686 2009-10-04  Bruno Haible  <bruno@clisp.org>
23687
23688         * lib/progname.c (set_program_name): Fix comment.
23689         Reported by Jim Meyering.
23690
23691 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
23692             Bruno Haible  <bruno@clisp.org>
23693
23694         * lib/uname.c: Include <string.h>.
23695         (uname): Do only one call to GetVersionEx in the common case.
23696
23697 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
23698             Bruno Haible  <bruno@clisp.org>
23699
23700         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
23701         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
23702         (uname): Add support for Windows CE and various non-x86 CPU types.
23703
23704 2009-10-03  Bruno Haible  <bruno@clisp.org>
23705
23706         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
23707         invocation to tests/configure.ac.
23708         Reported by Ian Beckwith <ianb@erislabs.net>.
23709
23710 2009-10-02  Eric Blake  <ebb9@byu.net>
23711
23712         fchdir: avoid compiler warning
23713         * lib/fchdir.c (canonicalize_file_name)
23714         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
23715
23716         test-open: support mingw errno values
23717         * tests/test-open.h (test_open): Relax test.
23718         * tests/test-fopen.h (test_fopen): Likewise.
23719         * tests/test-openat-safer.c (main): Likewise.
23720
23721         open: fix opening directory on mingw
23722         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
23723
23724         test-open: on GNU/Hurd, /dev/null is a directory
23725         * tests/test-fopen.h (main): Rename...
23726         (test_fopen): ...to this.  Use a guaranteed non-directory when
23727         confirming open behavior on trailing slash.
23728         * tests/test-openat-safer.c (main): Likewise.
23729         * tests/test-open.h (main): Likewise....
23730         (test_open): ...to this.
23731         * tests/test-fopen.c (main): Adjust caller.
23732         * tests/test-fopen-safer.c (main): Likewise.
23733         * tests/test-open.c (main): Likewise.
23734         * tests/test-fcntl-safer.c (main): Likewise.
23735         Reported by Samuel Thibault.
23736
23737         rename, fchdir: don't ignore chdir failure
23738         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
23739         * lib/rename.c (rpl_rename) [W32]: Likewise.
23740         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
23741         an empty destination directory if source cannot be renamed,
23742         although there is still possibility for failure.
23743         * doc/posix-functions/rename.texi (rename): Document the race.
23744         Reported by Jim Meyering.
23745
23746         maint: cleanup whitespace in recent commits
23747         * lib/rename.c (rpl_rename): Remove tabs.
23748         * tests/test-link.h (test_link): Likewise.
23749         * lib/fchdir.c (get_name): Likewise.
23750         Reported by Jim Meyering.
23751
23752 2009-10-02  Ben Pfaff  <blp@gnu.org>
23753
23754         relocatable-prog-wrapper: Add missing dependency on
23755         double-slash-root.
23756         * modules/relocatable-prog-wrapper: Add dependency.
23757         Reported by Ian Beckwith <ianb@erislabs.net>.
23758
23759 2009-10-02  Eric Blake  <ebb9@byu.net>
23760
23761         renameat: fix Solaris bugs
23762         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
23763         needed fixing.
23764         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
23765         * modules/stdio (Makefile.am): Substitute it.
23766         * lib/stdio.in.h (renameat): Declare replacement.
23767         * lib/renameat.c (rpl_renameat): Implement fix.
23768
23769         renameat: new module
23770         * modules/renameat: New file.
23771         * lib/renameat.c (renameat): Likewise.
23772         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
23773         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
23774         * modules/stdio (Makefile.am): Substitute them.
23775         * lib/stdio.in.h (renameat): Declare it.
23776         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23777         * doc/posix-functions/renameat.texi (renameat): Likewise.
23778         * modules/renameat-tests: New test.
23779         * tests/test-renameat.c: Likewise.
23780
23781         rename: fix mingw bugs
23782         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
23783         directory overwrite bugs.
23784
23785         rename: fix another cygwin 1.5 bug
23786         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
23787         checks.
23788         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
23789         unnecessary cygwin workarounds.  Also work around bug with moving
23790         full directory onto an empty one.
23791         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
23792
23793         rename-dest-slash: merge into rename module
23794         * modules/rename-dest-slash (Status): Mark obsolete.
23795         (Depends-on): Add rename.
23796         (Files): Let rename do it all.
23797         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
23798         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
23799         * m4/rename-dest-slash.m4: ...so this file can be deleted.
23800         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
23801         * lib/rename.c (rpl_rename): Update comments.
23802
23803         rename: fix cygwin 1.5.x bugs
23804         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
23805         * lib/rename.c (rpl_rename): Work around them.
23806         * modules/rename (Depends-on): Add same-inode.
23807
23808         rename: fix Solaris 10 bug
23809         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23810         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
23811         was the only bug.
23812
23813         rename: fix Solaris 9 bug
23814         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
23815         on non-directory.  Avoid calling exit.
23816         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
23817         strdup.
23818         * modules/rename-tests (Depends-on): Drop lstat.
23819         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
23820         (gl_PREREQ_RENAME): Delete unused macro.
23821
23822         rename-dest-slash: fix NetBSD bug
23823         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
23824         links.
23825         * modules/rename-dest-slash (Depends-on): Add same-inode.
23826
23827         rename-tests: new test, exposes several platform bugs
23828         * modules/rename-tests: New file.
23829         * tests/test-rename.h: Likewise.
23830         * tests/test-rename.c: Likewise.
23831         * doc/posix-functions/rename.texi (rename): Improve documentation,
23832         including bugs that will eventually be fixed in gnulib.
23833
23834 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
23835
23836         * lib/uname.c: Include <stdlib.h>
23837         (uname): Assume version info is available.
23838
23839 2009-10-02  Jim Meyering  <meyering@redhat.com>
23840
23841         gnu-web-doc-update: correct --help output
23842         * build-aux/gnu-web-doc-update: Make --help output relevant.
23843
23844         gnu-web-doc-update: add standard options
23845         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
23846
23847         gnu-web-doc-update: New module.
23848         Use this script to automatically update the on-line web documentation
23849         for your GNU project at http://www.gnu.org/software/$pkg/manual/
23850         * modules/gnu-web-doc-update: New file, from coreutils.
23851         * build-aux/gnu-web-doc-update: New script.
23852
23853 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
23854
23855         link: LoadLibrary is not needed.
23856         * lib/link.c: Use GetModuleHandle.
23857
23858 2009-10-01  Eric Blake  <ebb9@byu.net>
23859
23860         getopt: bump serial number
23861         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
23862         change.
23863
23864         tests: tighten link, rmdir, and remove tests
23865         * tests/test-link.h (includes): No need to use <config.h> here.
23866         Clean up if directory hard link was created, otherwise test for
23867         trailing '.'.
23868         * tests/test-linkat.c (main): Simplify.
23869         * tests/test-remove.c (main): Enhance test for trailing '.'.
23870         * tests/test-rmdir.h (test_rmdir_func): Likewise.
23871
23872 2009-10-01  Jim Meyering  <meyering@redhat.com>
23873
23874         maint.mk: requiring "make major" was annoying, for a "minor" release.
23875         What is intended is "stable", to contrast with alpha and beta,
23876         so require "make stable", not "make major".
23877         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
23878         (get_tool_versions): Likewise.
23879         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
23880
23881 2009-09-30  Ben Pfaff  <blp@gnu.org>
23882
23883         Fix broken build of replacement for Windows tmpfile().
23884         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
23885         flags argument added along with the 'mkostemp' module.
23886
23887 2009-09-28  Bruno Haible  <bruno@clisp.org>
23888
23889         Avoid identifier clash with POSIX function 'remove' defined as a macro.
23890         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
23891         to 'remove_elt'.
23892         (gl_list_remove): Update.
23893         * lib/gl_list.c (gl_list_remove): Update.
23894         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
23895         to 'remove_elt'.
23896         (gl_oset_remove): Update.
23897         * lib/gl_list.c (gl_oset_remove): Update.
23898         Reported by Eric Blake.
23899
23900 2009-09-28  Eric Blake  <ebb9@byu.net>
23901
23902         doc: mention yet more cygwin 1.7 status
23903         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
23904         cygwin.
23905         * doc/glibc-functions/execvpe.texi (execvpe): New file.
23906         * doc/gnulib.texi (Glibc unistd.h): Mention it.
23907
23908         argp: fix test failure
23909         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
23910         that are not upper-case.  Pass correct range to tolower.
23911
23912 2009-09-27  Jim Meyering  <meyering@redhat.com>
23913
23914         test-yesno: work around sparc-dash here-document infelicity
23915         Without this change, the literal \177 byte in a here document
23916         would make dash 0.5.5.1-3 access uninitialized memory.
23917         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
23918         Instead, use a marker, "@", and filter through tr to create the desired
23919         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
23920
23921 2009-09-27  Bruno Haible  <bruno@clisp.org>
23922
23923         Disable untested support for new flavours of ACLs on AIX.
23924         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
23925         progress.
23926         * lib/set-mode-acl.c (qset_acl): Likewise.
23927
23928 2008-12-07  Bruno Haible  <bruno@clisp.org>
23929
23930         Add support for new flavours of ACLs on AIX. (Untested.)
23931         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
23932         (file_has_acl): Add support for newer AIX.
23933         * lib/set-mode-acl.c (qset_acl): Likewise.
23934         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
23935         Rainer Tammer <tammer@tammer.net>.
23936
23937 2009-09-26  Eric Blake  <ebb9@byu.net>
23938
23939         argp: fix compilation of getopt
23940         * lib/getopt.in.h (includes): Use different guard than glibc.
23941         Reported by Sergey Poznyakoff.
23942
23943         doc: mention more cygwin 1.7 status
23944         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
23945         bug.
23946         * doc/posix-functions/execl.texi (execl): Likewise.
23947         * doc/posix-functions/execle.texi (execle): Likewise.
23948         * doc/posix-functions/execlp.texi (execlp): Likewise.
23949         * doc/posix-functions/execv.texi (execv): Likewise.
23950         * doc/posix-functions/execve.texi (execve): Likewise.
23951         * doc/posix-functions/execvp.texi (execvp): Likewise.
23952         * doc/glibc-functions/canonicalize_file_name.texi
23953         (canonicalize_file_name): Cygwin 1.7 now provides this.
23954         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
23955         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
23956         on AT_SYMLINK_NOFOLLOW.
23957
23958 2009-09-24  Eric Blake  <ebb9@byu.net>
23959
23960         test-linkat: make test more robust
23961         * tests/test-linkat.c (main): Avoid collision with EEXIST.
23962
23963         getopt: fix inclusion guards for cygwin
23964         * modules/getopt-posix (Depends-on): Add include-next.
23965         (Makefile.am): Substitute more items in replacement header.
23966         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
23967         <getopt.h>.
23968         * lib/getopt.in.h (includes): Use split inclusion guard, and
23969         prefer <getopt.h> over include <unistd.h> when one is present.
23970         (option): Also override name of 'struct option'.
23971
23972         same-inode: revert prior change; it is not yet ready
23973         * NEWS: Undo mention of this change.
23974         * lib/same-inode.h (same-inode.h): Undo tri-state change.
23975         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
23976         * lib/cycle-check.c (cycle_check): Likewise.
23977         * lib/same.c (same_name): Likewise.
23978         * lib/at-func2.c (at_func2): Likewise.
23979
23980 2009-09-23  Eric Blake  <ebb9@byu.net>
23981
23982         linkat: new module
23983         * modules/linkat: New file.
23984         * lib/at-func2.c (at_func2): Likewise.
23985         * lib/linkat.c (linkat): Likewise.
23986         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
23987         * lib/openat-priv.h (at_func2): Add declaration.
23988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
23989         * modules/unistd (Makefile.am): Substitute them.
23990         * lib/unistd.in.h (linkat): Declare it.
23991         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
23992         * doc/posix-functions/linkat.texi (linkat): Likewise.
23993         * doc/posix-functions/link.texi (link): Tweak wording.
23994         * tests/test-link.c (main): Move guts...
23995         * tests/test-link.h (test_link): ...into new file.
23996         * modules/linkat-tests: New test.
23997         * tests/test-linkat.c: Likewise.
23998         * modules/link-tests (Files): Ship new file.
23999         (Depends-on): Add stdbool.
24000
24001         dirname: add library-safe mdir_name
24002         * lib/dirname.h (mdir_name): New prototype.
24003         * lib/dirname.c (dir_name): Move guts...
24004         (mdir_name): ...to new function that avoids xalloc_die.
24005
24006         fchdir: another mingw fix
24007         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
24008         * lib/fchdir.c (get_name): New helper method; skips canonicalize
24009         on mingw (where it has not yet been ported), and make it optional
24010         elsewhere.
24011         (_gl_register_fd): Use it.
24012
24013         same-inode: make SAME_INODE tri-state, to port to mingw
24014         * NEWS: Mention this change.
24015         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
24016         st_ino always being 0.
24017         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24018         * lib/cycle-check.c (cycle_check): Likewise.
24019         * lib/same.c (same_name): Likewise.
24020
24021         lstat: avoid mingw compilation error
24022         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
24023         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
24024         lstat ourselves.
24025         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
24026         was adequate.
24027         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
24028         the checks for lstat.
24029         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
24030
24031         link: fix test failure on Solaris 9
24032         * lib/link.c (rpl_link): Don't assume link will catch bogus
24033         trailing slash on source.
24034
24035         test-symlinkat: enhance test
24036         * tests/test-readlink.c (main): Move guts...
24037         * tests/test-readlink.h (test_readlink): ...into new file.
24038         * tests/test-symlink.c (main): Move guts...
24039         * tests/test-symlink.h (test_symlink): ...into new file.
24040         * tests/test-symlinkat.c (main): Use new files for further
24041         coverage.
24042         (do_symlink, do_readlink): New helper functions.
24043         * modules/symlink-tests (Files): Ship new file.
24044         (Depends-on): Add stdbool.
24045         * modules/readlink-tests (Files): Ship new file.
24046         (Depends-on): Add stdbool.
24047         * modules/symlinkat-tests (Files): Use new files.
24048
24049 2009-09-23  Eric Blake  <ebb9@byu.net>
24050
24051         readlink: document portability issue with symlink length
24052         * doc/posix-functions/lstat.texi (lstat): Mention that some file
24053         systems have bogus st_size on symlinks, and mention the
24054         areadlink-with-size module.
24055         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24056         * doc/posix-functions/readlink.texi (readlink): Mention the
24057         areadlink module, and ERANGE failure.
24058         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24059         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
24060
24061         readlink: fix Solaris 9 bug with trailing slash
24062         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
24063         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
24064         * doc/posix-functions/readlink.texi (readlink): Document this.
24065         * modules/readlink-tests: New test.
24066         * tests/test-readlink.c: Likewise.
24067
24068         readlink: fix cygwin 1.5.x bug with return type
24069         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
24070         * lib/unistd.in.h (readlink): Use ssize_t.
24071         * lib/readlink.c (readlink): Likewise.
24072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24073         * modules/unistd (Makefile.am): Substitute it.
24074         * lib/unistd.in.h (readlink): Declare replacement.
24075         * doc/posix-functions/readlink.texi (readlink): Document this.
24076
24077         symlink: use throughout gnulib
24078         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
24079         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
24080         symlink is not used.
24081         * modules/symlinkat (Depends-on): Add symlink.
24082         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24083         * modules/canonicalize-tests (Depends-on): Likewise.
24084         * modules/lstat-tests (Depends-on): Likewise.
24085         * modules/openat-tests (Depends-on): Likewise.
24086         * modules/remove-tests (Depends-on): Likewise.
24087         * modules/rmdir-tests (Depends-on): Likewise.
24088         * modules/unlink-tests (Depends-on): Likewise.
24089         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
24090         * tests/test-canonicalize.c (symlink): Likewise.
24091         * tests/test-fstatat.c (symlink): Likewise.
24092         * tests/test-lstat.c (symlink): Likewise.
24093         * tests/test-remove.c (symlink): Likewise.
24094         * tests/test-rmdir.c (symlink): Likewise.
24095         * tests/test-unlink.c (symlink): Likewise.
24096         * tests/test-unlinkat.c (symlink): Likewise.
24097
24098         symlink: new module, for Solaris 9 bug
24099         * modules/symlink: New file.
24100         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
24101         * lib/symlink.c: Likewise.
24102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
24103         * modules/unistd (Makefile.am): Substitute them.
24104         * lib/unistd.in.h (symlink): Declare replacement.
24105         * MODULES.html.sh (File system functions): Mention it.
24106         * doc/posix-functions/symlink.texi (symlink): Likewise.
24107         * modules/symlink-tests: New test.
24108         * tests/test-symlink.c: Likewise.
24109
24110 2009-09-23  Bruno Haible  <bruno@clisp.org>
24111
24112         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
24113         when needed.
24114         Test case: gnulib-tool --import --with-tests atexit inttypes.
24115         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
24116
24117 2009-09-23  Bruno Haible  <bruno@clisp.org>
24118
24119         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
24120         subcommand, not in a subshell.
24121
24122 2009-09-22  Eric Blake  <ebb9@byu.net>
24123
24124         unistd: sort replacement declarations
24125         * lib/unistd.in.h: Sort declarations.
24126
24127         open, openat: minor optimization
24128         * lib/open.c (open): If open succeeded, len is non-zero.
24129         * lib/openat.c (rpl_openat): Likewise.
24130
24131         link-follow: ensure correct result
24132         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
24133         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
24134         distinguish between possible failures.
24135
24136 2009-09-21  Eric Blake  <ebb9@byu.net>
24137
24138         fts: avoid compiler warning
24139         * lib/fts.c (dirent_inode_sort_may_be_useful)
24140         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
24141
24142 2009-09-19  Bruno Haible  <bruno@clisp.org>
24143
24144         * lib/progreloc.c (canonicalize_file_name): New declaration.
24145
24146 2009-09-19  Eric Blake  <ebb9@byu.net>
24147
24148         link: fix quoting
24149         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
24150
24151         openat: fix openat bugs on Solaris 9
24152         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
24153         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
24154         * modules/openat (Depends-on): Add open.
24155         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
24156         * modules/fcntl-h (Makefile.am): Substitute it.
24157         * lib/fcntl.in.h (openat): Declare replacement.
24158         * doc/posix-functions/openat.texi (openat): Document this.
24159
24160         openat: move fstatat and unlinkat into correct files
24161         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
24162         compiled.
24163         * lib/openat.c (fstatat, unlinkat): Move...
24164         * lib/fstatat.c (fstatat): ...into correct files.
24165         * lib/unlinkat.c (unlinkat): Likewise.
24166
24167         openat: fix unlinkat bugs on Solaris 9
24168         * lib/unlinkat.c (unlinkat): New file.
24169         * modules/openat (Depends-on): Add unlink.
24170         (Files): Distribute it.
24171         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
24172         trailing slash behavior is broken.
24173         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
24174         * modules/unistd (Makefile.am): Substitute it.
24175         * lib/unistd.in.h (unlinkat): Declare replacement.
24176         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
24177
24178         openat: fix fstatat bugs on Solaris 9
24179         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
24180         stat.
24181         * doc/posix-functions/fstatat.texi (fstatat): Document this.
24182
24183         test-unlinkat: enhance test, to expose Solaris 9 bug
24184         * tests/test-unlink.c (main): Factor guts...
24185         * tests/test-unlink.h (test_rmdir_func): ...into new file.
24186         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
24187         * tests/test-rmdir.c (main): Adjust caller.
24188         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
24189         (unlinker): New helper function.
24190         (rmdirat): Enhance check.
24191         * modules/rmdir-tests (Depends-on): Add stdbool.
24192         * modules/unlink-tests (Depends-on): Likewise.
24193         (Files): Add test-unlink.h.
24194         * modules/openat-tests (Files): Likewise.
24195         (Depends-on): Add unlinkdir.
24196
24197         test-fstatat: new test, to expose Solaris 9 bugs
24198         * tests/test-stat.c (main): Factor guts...
24199         * tests/test-stat.h (test_stat_func): ...into new file.
24200         * tests/test-lstat.c (main): Factor guts...
24201         * tests/test-lstat.h (test_lstat_func): ...into new file.
24202         * tests/test-fstatat.c: New file.
24203         * modules/stat-tests (Files): Add test-stat.h.
24204         * modules/lstat-tests (Files): Add test-lstat.h.
24205         (Depends-on): Add stdbool.
24206         * modules/openat-tests (Depends-on): Add pathmax.
24207         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
24208         (Makefile.am): Run new test.
24209
24210         remove: new module, for mingw and Solaris 9 bugs
24211         * modules/remove: New file.
24212         * lib/remove.c: Likewise.
24213         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
24214         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
24215         * modules/stdio (Makefile.am): Use them.
24216         * lib/stdio.in.h (remove): Declare replacement.
24217         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24218         * doc/posix-functions/remove.texi (remove): Likewise.
24219         * modules/remove-tests: New test.
24220         * tests/test-remove.c: Likewise.
24221
24222         unlink: new module, for Solaris 9 bug
24223         * modules/unlink: New file.
24224         * lib/unlink.c: Likewise.
24225         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
24226         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24227         * modules/unistd (Makefile.am): Use them.
24228         * lib/unistd.in.h (stat): Declare replacement.
24229         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24230         * doc/posix-functions/unlink.texi (unlink): Likewise.
24231         * modules/unlink-tests: New test.
24232         * tests/test-unlink.c: Likewise.
24233
24234         lstat: fix Solaris 9 bug
24235         * lib/lstat.c (lstat): Also check for trailing slash on
24236         non-symlink, non-directories.  Use stat module to simplify logic.
24237         * doc/posix-functions/lstat.texi (lstat): Document it.
24238         * modules/lstat-tests (Depends-on): Add errno, same-inode.
24239         (configure.ac): Check for symlink.
24240         * tests/test-lstat.c (main): Add more tests.
24241
24242         stat: add as dependency to other modules
24243         * modules/chown (Depends-on): Add stat.
24244         * modules/euidaccess (Depends-on): Likewise.
24245         * modules/fchdir (Depends-on): Likewise.
24246         * modules/isdir (Depends-on): Likewise.
24247         * modules/link (Depends-on): Likewise.
24248         * modules/lstat (Depends-on): Likewise.
24249         * modules/mkdir-p (Depends-on): Likewise.
24250         * modules/modechange (Depends-on): Likewise.
24251         * modules/open (Depends-on): Likewise.
24252         * modules/readlink (Depends-on): Likewise.
24253         * modules/same (Depends-on): Likewise.
24254
24255         stat: fix Solaris 9 bug
24256         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
24257         slash.
24258         * lib/stat.c (rpl_stat): Work around it.
24259         * doc/posix-functions/stat.texi (stat): Update documentation.
24260
24261         stat: new module, for mingw bug
24262         * modules/stat: New file.
24263         * lib/stat.c: Likewise.
24264         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
24265         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24266         * modules/sys_stat (Makefile.am): Use them.
24267         * lib/sys_stat.in.h (stat): Declare replacement.
24268         * lib/openat.c (fstatat): Deal with lstat and stat being function
24269         macros.
24270         * modules/openat (Depends-on): Add inline.
24271         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24272         * doc/posix-functions/stat.texi (stat): Likewise.
24273         * modules/stat-tests: New test.
24274         * tests/test-stat.c: Likewise.
24275
24276 2009-09-19  Jim Meyering  <meyering@redhat.com>
24277
24278         syntax-check: detect unnecessary inclusion of canonicalize.h
24279         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
24280
24281 2009-09-19  Eric Blake  <ebb9@byu.net>
24282
24283         canonicalize-lgpl: adjust clients to use correct header
24284         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24285         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
24286         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
24287         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
24288         * lib/progreloc.c (includes): Likewise.
24289
24290 2009-09-19  Jim Meyering  <meyering@redhat.com>
24291
24292         test-posixtm.c: correct a comment
24293         * tests/test-posixtm.c: Correct first-line comment.
24294         Spotted by Eric Blake.
24295
24296 2009-09-16  Jim Meyering  <meyering@redhat.com>
24297
24298         posixtm-tests: make T const-correct; add a test case
24299         * tests/test-posixtm.c (T): Declare const.
24300         Add a test for -(2^31+1).
24301         Remove useless can-succeed-only-in-2002 test.
24302
24303         posixtm-tests: adjust the sole failing test
24304         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
24305         expected output matches what mktime now produces.  Cross-checked via
24306         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
24307
24308         posixtm: move #ifdef'd tests into a new module
24309         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
24310         * tests/test-posixtm.c: ... this new file.
24311         * modules/posixtm-tests: New module.
24312
24313 2009-09-19  Eric Blake  <ebb9@byu.net>
24314
24315         openat: simplify use of at-func.c
24316         * lib/at-func.c (includes): Include prerequisites here, to
24317         simplify requirements on client files.
24318         * lib/openat-priv.h: Add double-inclusion guard.
24319         * lib/faccessat.c (includes): Simplify.
24320         * lib/fchmodat.c (includes): Likewise.
24321         * lib/fchownat.c (includes): Likewise.
24322         * lib/mkdirat.c (includes): Likewise.
24323         * lib/mkfifoat.c (includes): Likewise.
24324         * lib/symlinkat.c (includes): Likewise.
24325
24326         openat: allow return of fd 0
24327         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
24328         * modules/save-cwd (Depends-on): Replace fcntl-safer with
24329         unistd-safer.
24330         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
24331         <fcntl.h>; this module does not leak fds.
24332         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
24333         must be allowed to return 0, leaving openat_safer to add the
24334         safety.
24335         (openat_permissive): Avoid writing to just-opened fd 2 if
24336         restoring the current directory fails.
24337         * lib/openat-die.c (openat_restore_fail): Add comment.
24338         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
24339         (save_cwd): Guarantee safe fd, but without use of open_safer.
24340         * tests/test-openat.c: New test.
24341         * modules/openat-tests (Files, Makefile.am): Distribute and build
24342         new file.
24343
24344         relocatable-prog-wrapper: fix build
24345         * modules/relocatable-prog-wrapper (Files): Update name of
24346         canonicalize m4 file, broken on 2009-09-17.
24347         Reported by emad hajjar <aleppos@hotmail.com>.
24348
24349 2009-09-19  Bruno Haible  <bruno@clisp.org>
24350
24351         * lib/safe-alloc.h: Use the standard header with GPL copyright.
24352         * lib/safe-alloc.c: Likewise.
24353         Reported by Ian Beckwith <ianb@erislabs.net>.
24354
24355 2009-09-18  Bruno Haible  <bruno@clisp.org>
24356
24357         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
24358         Reported by <erobles@sensacd.com.mx>.
24359
24360 2009-09-17  Eric Blake  <ebb9@byu.net>
24361
24362         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
24363         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
24364         slashes when checking if last component is missing.
24365         * tests/test-canonicalize.c (main): Test this.
24366
24367         canonicalize, canonicalize-lgpl: honor // if distinct from /
24368         * modules/canonicalize (Files): Add double-slash-root.m4.
24369         * modules/canonicalize-lgpl (Files): Likewise.
24370         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
24371         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
24372         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
24373         fallback definition.
24374         (canonicalize_filename_mode): Use it to protect //.
24375         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
24376         (__realpath): Likewise.
24377         * tests/test-canonicalize.c (main): Test this.
24378         * tests/test-canonicalize-lgpl.c (main): Likewise.
24379         * modules/canonicalize-tests (Depends-on): Add same-inode.
24380         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
24381
24382         canonicalize-lgpl: fix glibc bug with trailing slash
24383         * m4/canonicalize-lgpl.m4: Move contents...
24384         * m4/canonicalize.m4: ...here.
24385         (gl_CANONICALIZE_LGPL): Factor realpath check...
24386         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
24387         glibc 2.3.5 bug, fixed 2005-04-27.
24388         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
24389         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
24390         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
24391         * modules/canonicalize-lgpl (Files): Manage file rename.
24392         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24393         * modules/stdlib (Makefile.am): Substitute witness.
24394         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
24395         is needed.
24396         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
24397         replacement is required.
24398         * lib/canonicalize.c (canonicalize_file_name): Likewise.
24399         * doc/glibc-functions/canonicalize_file_name.texi
24400         (canonicalize_file_name): Document this.
24401         * doc/posix-functions/realpath.texi (realpath): Likewise.
24402
24403         canonicalize-lgpl: reject non-directory with trailing slash
24404         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
24405         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
24406         catches failures in glibc 2.3.5.
24407         * tests/test-canonicalize.c (main): Likewise.
24408
24409         canonicalize-lgpl: use native realpath if it works
24410         * lib/canonicalize-lgpl.c (realpath): Guard with
24411         FUNC_REALPATH_WORKS.
24412         * lib/stdlib.in.h (realpath): Make declaration optional based on
24413         HAVE_REALPATH.
24414         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
24415         native realpath works.
24416         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
24417         * modules/stdlib (Makefile.am): Substitute witness.
24418
24419         canonicalize, canonicalize-lgpl: use <stdlib.h>
24420         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
24421         (Include): Mention <stdlib.h>.
24422         (configure.ac): Mention functions we provide.
24423         * modules/canonicalize (configure.ac): Likewise.
24424         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
24425         realpath if canonicalize_file_name is missing.
24426         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
24427         * modules/stdlib (Makefile.am): Substitute witnesses.
24428         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
24429         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
24430         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
24431         * NEWS: Document this.
24432         * doc/glibc-functions/canonicalize_file_name.texi
24433         (canonicalize_file_name): Likewise.
24434         * doc/posix-functions/realpath.texi (realpath): Likewise.
24435         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
24436
24437         test-canonicalize: consolidate into single C program
24438         * tests/test-canonicalize.sh: Delete; move setup into...
24439         * tests/test-canonicalize.c (main): ...the program, making it
24440         easier to run in debugger.  Add some tests.
24441         * modules/canonicalize-tests (Files): Remove unused file.
24442         (Depends-on): Add progname.
24443         (configure.ac, Makefile.am): Simplify.
24444
24445         test-canonicalize-lgpl: consolidate into single C program
24446         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
24447         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
24448         easier to run in debugger.  Add some tests.
24449         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
24450         (configure.ac, Makefile.am): Simplify.
24451
24452         canonicalize: avoid resolvepath
24453         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
24454         unnecessary checks.
24455         * lib/canonicalize.c (includes): Simplify.
24456         (canonicalize_file_name): Drop resolvepath implementation.
24457         * modules/canonicalize (Depends-on): Drop filenamecat.
24458
24459         canonicalize: don't lose errno
24460         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
24461         over calls to free.
24462
24463         canonicalize: simplify errno handling
24464         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
24465         assignment.
24466
24467         canonicalize, canonicalize-lgpl: update module dependencies
24468         * modules/canonicalize (Depends-on): Add extensions, lstat,
24469         pathmax, stdlib.
24470         (Files): Drop pathmax.h.
24471         (configure.ac): Adjust macro name.
24472         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
24473         lstat, stdlib, sys_stat.
24474         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
24475         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
24476         extensions.
24477         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
24478         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
24479         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
24480         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
24481         declaration, if available.
24482         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
24483         we can rely on the readlink module.
24484         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
24485         (includes): Use <unistd.h> unconditionally.
24486
24487 2009-09-17  Eric Blake  <ebb9@byu.net>
24488
24489         maint: make Include sections of modules consistent
24490         * modules/alloca: Use only header name; no need to list #include.
24491         * modules/alloca-opt: Likewise.
24492         * modules/arpa_inet: Likewise.
24493         * modules/canon-host: Likewise.
24494         * modules/configmake: Likewise.
24495         * modules/dirent: Likewise.
24496         * modules/eealloc: Likewise.
24497         * modules/environ: Likewise.
24498         * modules/fchdir: Likewise.
24499         * modules/fcntl: Likewise.
24500         * modules/fcntl-h: Likewise.
24501         * modules/gethrxtime: Likewise.
24502         * modules/gettime: Likewise.
24503         * modules/ignore-value: Likewise.
24504         * modules/inet_ntop: Likewise.
24505         * modules/inet_pton: Likewise.
24506         * modules/inttypes: Likewise.
24507         * modules/isnand-nolibm: Likewise.
24508         * modules/isnanf-nolibm: Likewise.
24509         * modules/mbchar: Likewise.
24510         * modules/mbfile: Likewise.
24511         * modules/mbiter: Likewise.
24512         * modules/mbuiter: Likewise.
24513         * modules/netdb: Likewise.
24514         * modules/netinet_in: Likewise.
24515         * modules/nproc: Likewise.
24516         * modules/pagealign_alloc: Likewise.
24517         * modules/poll: Likewise.
24518         * modules/printf-frexp: Likewise.
24519         * modules/pthread: Likewise.
24520         * modules/putenv: Likewise.
24521         * modules/random_r: Likewise.
24522         * modules/relocatable-prog: Likewise.
24523         * modules/search: Likewise.
24524         * modules/select: Likewise.
24525         * modules/selinux-h: Likewise.
24526         * modules/settime: Likewise.
24527         * modules/signal: Likewise.
24528         * modules/size_max: Likewise.
24529         * modules/socklen: Likewise.
24530         * modules/ssize_t: Likewise.
24531         * modules/stdarg: Likewise.
24532         * modules/stdbool: Likewise.
24533         * modules/stddef: Likewise.
24534         * modules/stdint: Likewise.
24535         * modules/stdio: Likewise.
24536         * modules/stdlib: Likewise.
24537         * modules/string: Likewise.
24538         * modules/strings: Likewise.
24539         * modules/sys_file: Likewise.
24540         * modules/sys_ioctl: Likewise.
24541         * modules/sys_select: Likewise.
24542         * modules/sys_socket: Likewise.
24543         * modules/sys_stat: Likewise.
24544         * modules/sys_time: Likewise.
24545         * modules/sys_times: Likewise.
24546         * modules/sys_utsname: Likewise.
24547         * modules/sys_wait: Likewise.
24548         * modules/sysexits: Likewise.
24549         * modules/time: Likewise.
24550         * modules/times: Likewise.
24551         * modules/tmpfile: Likewise.
24552         * modules/trim: Likewise.
24553         * modules/unistd: Likewise.
24554         * modules/wchar: Likewise.
24555         * modules/wctype: Likewise.
24556
24557 2009-09-17  Bruno Haible  <bruno@clisp.org>
24558
24559         Make getdate.y compile on QNX and NetBSD 5 / i386.
24560         * m4/getdate.m4 (gl_GETDATE): Conditionally define
24561         TIME_T_FITS_IN_LONG_INT.
24562         * lib/getdate.y (long_time_t): New type.
24563         (relative_time): Change type of 'seconds' field to long_time_t.
24564         (get_date): Update types of local variables. Check against overflow
24565         during conversion from long_time_t to time_t.
24566         Reported by Matt Kraai <kraai@ftbfs.org>
24567         and Hasso Tepper <hasso@netbsd.org>.
24568
24569 2009-09-17  Bruno Haible  <bruno@clisp.org>
24570
24571         * modules/COPYING: Update copyright years.
24572         * modules/README: Likeiwse.
24573         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
24574         Reported by Ian Beckwith <ianb@erislabs.net>.
24575
24576 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
24577
24578         * users.txt: Update references for gnuit package.
24579
24580 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
24581
24582         * m4/getdelim.m4: Fix typo in copyright line.
24583
24584 2009-09-17  Bruno Haible  <bruno@clisp.org>
24585
24586         * lib/atoll.c: Use the standard header with GPL copyright.
24587         * lib/argz.in.h: Likewise.
24588         * lib/glob.c: Likewise.
24589         * lib/glob-libc.h: Likewise.
24590         * lib/random_r.c: Likewise.
24591         * lib/siglist.h: Likewise.
24592         * lib/strsignal.c: Likewise.
24593         Reported by Ian Beckwith <ianb@erislabs.net>.
24594
24595 2009-09-17  Eric Blake  <ebb9@byu.net>
24596
24597         rmdir: ensure correct dependency order
24598         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
24599
24600 2009-09-17  Bruno Haible  <bruno@clisp.org>
24601
24602         Disable assertion that fails on NetBSD 5 / i386.
24603         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
24604         Reported by Sam Steingold <sds@gnu.org>
24605         and Hasso Tepper <hasso@netbsd.org>.
24606
24607 2009-09-16  Eric Blake  <ebb9@byu.net>
24608
24609         unlinkdir: port to mingw
24610         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
24611         on which no one can unlink a directory.
24612
24613         stdlib: sort witness names
24614         * modules/stdlib (Makefile.am): Sort replacements.
24615         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
24616         * lib/stdlib.in.h: Likewise.
24617
24618         parse-duration-tests: avoid link failure
24619         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
24620         LIBINTL.
24621         Reported by Tom G. Christensen.
24622
24623         openat-tests: ensure unlinkat behaves like rmdir
24624         * tests/test-rmdir.c (main): Factor guts...
24625         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
24626         * modules/rmdir-tests (Files): Ship new file.
24627         * modules/openat-tests: New test.
24628         * tests/test-unlinkat.c: Likewise.
24629
24630         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
24631         * modules/rmdir-errno (Status, Notice): Now obsolete.
24632
24633         rmdir: work around cygwin 1.5.x and mingw bugs
24634         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
24635         * lib/rmdir.c (rmdir): Work around it.
24636         * modules/rmdir (Status, Notice): No longer obsolete.
24637         (Files): Add dos.m4.
24638         (Depends-on): Add unistd.
24639         (configure.ac): Set witnesses.
24640         (License): Relax to LGPLv2+.
24641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
24642         * modules/unistd (Makefile.am): Substitute witnesses.
24643         * lib/unistd.in.h (rmdir): Declare replacement.
24644         * doc/posix-functions/rmdir.texi (rmdir): Document this.
24645         * modules/rmdir-tests: New tests.
24646         * tests/test-rmdir.c: Likewise.
24647
24648 2009-09-15  Eric Blake  <ebb9@byu.net>
24649
24650         fchdir: improve use of replacement functions
24651         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
24652         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
24653         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
24654         REPLACE_CLOSEDIR.
24655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
24656         * modules/sys_stat (Makefile.am): Substitute correct witness.
24657         * modules/dirent (Makefile.am): Likewise.
24658         * modules/unistd (Makefile.am): Likewise.
24659         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
24660         * lib/unistd.in.h (dup): Likewise.
24661         * lib/sys_stat.in.h (fstat): Likewise.
24662
24663         maint: ignore gnulib-tool temp files
24664         * .gitignore: Ignore files created during gnulib-tool --test.
24665
24666 2009-09-13  Jim Meyering  <meyering@redhat.com>
24667
24668         posixtm: don't reject a time that specify "60" as the number of seconds
24669         * lib/posixtm.c (posixtime): The code to reject invalid dates
24670         would also reject a time specified with the .60 suffix.
24671         But POSIX allows that, in order to accommodate leap seconds.
24672         So don't reject it.
24673         (main): Adjust tests accordingly.
24674         * modules/posixtm (Depends-on): Add stpcpy.
24675
24676 2009-09-11  Jim Meyering  <meyering@redhat.com>
24677
24678         announce-gen: include [$release_type] in emitted Subject:
24679         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
24680         e.g., [stable] in the emitted Subject: line.
24681
24682 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24683
24684         Remove obsolete macros from several modules.
24685         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
24686         obsolete Autoconf macros with their modern counterparts.
24687         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
24688         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
24689         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
24690         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
24691         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
24692         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24693         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
24694         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
24695         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
24696         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
24697         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
24698         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
24699         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
24700         * m4/sockets.m4 (gl_SOCKETS): Likewise.
24701         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
24702         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
24703         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
24704         * m4/time_r.m4 (gl_TIME_R): Likewise.
24705         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
24706         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
24707         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
24708
24709         Fix copyright header in build-aux scripts.
24710         * build-aux/git-version-gen: Fix copyright header to match GPLv3
24711         recommendation.
24712         * build-aux/ncftpput-ftp: Likewise.
24713         * build-aux/update-copyright: Likewise.
24714
24715 2009-09-09  Eric Blake  <ebb9@byu.net>
24716
24717         test-link: allow Linux choice of errno
24718         * tests/test-link.c (main): Relax test for alternate error.
24719
24720         strndup: fix improper m4 caching
24721         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
24722         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
24723         (gl_PREREQ_STRNDUP): Delete.
24724         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
24725         * modules/string (Makefile.am): Substitute it.
24726         * lib/string.in.h (strndup): Modernize prototype.
24727
24728         getcwd: port to mingw
24729         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
24730         different from the POSIX assumptions made throughout the getcwd
24731         module; fortunately, the mingw getcwd does not need replacement.
24732         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
24733         * modules/getcwd-tests: New test.
24734         * tests/test-getcwd.c: Likewise.
24735
24736         link: fix platform bugs
24737         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
24738         * lib/link.c (link): Work around them.  Fix related mingw bug.
24739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
24740         * modules/unistd (Makefile.am): Substitute it.
24741         * lib/unistd.in.h (link): Declare replacement.
24742         * doc/posix-functions/link.texi (link): Document this.
24743         * modules/link (Depends-on): Add strdup-posix, sys_stat.
24744
24745         test-link: consolidate into single C program, test more cases
24746         * tests/test-link.sh: Delete.
24747         * tests/test-link.c: Test more error conditions.  Exposes bugs on
24748         at least Cygwin and Solaris.
24749         * modules/link-tests (Files): Remove unused file.
24750         (Depends-on): Add errno, sys_stat.
24751         (Makefile.am): Simplify.
24752
24753 2009-09-08  Bruno Haible  <bruno@clisp.org>
24754
24755         Work around towlower, towupper bug on mingw.
24756         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
24757         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
24758         * doc/posix-functions/towlower.texi: Mention the mingw bug.
24759         * doc/posix-functions/towupper.texi: Likewise.
24760         Reported by Eric Blake.
24761
24762 2009-09-08  Jim Meyering  <meyering@redhat.com>
24763
24764         build: don't try to run autoheader if we don't use it
24765         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
24766         is not used in configure.ac.
24767
24768 2009-09-08  Eric Blake  <ebb9@byu.net>
24769
24770         euidaccess: fix compilation error
24771         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
24772
24773         rawmemchr: relax license
24774         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
24775         okay.
24776         Reported by Jim Meyering.
24777
24778         mkfifoat: new module
24779         * modules/mkfifoat: New file.
24780         * lib/mkfifoat.c: Likewise.
24781         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
24782         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24783         * modules/sys_stat (Makefile.am): Use them.
24784         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
24785         * MODULES.html.sh (File system functions): Mention module.
24786         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24787         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24788         * modules/mkfifoat-tests: New test.
24789         * tests/test-mkfifoat.c: Likewise.
24790
24791         strchrnul: relax license
24792         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
24793         okay.
24794         Reported by Jim Meyering.
24795
24796 2009-09-08  Eric Blake  <ebb9@byu.net>
24797
24798         fstatat: fix compilation on Solaris
24799         * lib/fstatat.c (includes): Add fcntl.h.
24800         Reported by Pádraig Brady.
24801
24802 2009-09-07  Eric Blake  <ebb9@byu.net>
24803
24804         rename: modernize replacement
24805         * modules/rename (Depends-on): Add stdio.
24806         (configure.ac): Declare witness.
24807         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
24808         stdio take care of replacement.
24809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24810         * modules/stdio (Makefile.am): Substitute them.
24811         * lib/stdio.in.h (rename): Declare replacement.
24812         * lib/rename.c (includes): Allow cross-compilation to non-windows
24813         machines.
24814         * doc/posix-functions/rename.texi (rename): Improve
24815         documentation.
24816
24817         stdio: sort witness names
24818         * modules/stdio (Makefile.am): Sort replacements.
24819         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
24820         * lib/stdio.in.h: Likewise.
24821
24822         getcwd: minor cleanups
24823         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
24824         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
24825
24826         openat: provide more convenience names
24827         * modules/faccessat (configure.ac): Add C witness.
24828         * lib/unistd.in.h (readlinkat): Fix typo.
24829         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
24830         convenience wrappers.
24831         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
24832         wrappers in syntax checks.
24833
24834 2009-09-06  Eric Blake  <ebb9@byu.net>
24835
24836         doc: fix comments in recent patches
24837         * lib/faccessat.c: Mention correct function.
24838         * lib/fchmodat.c: Likewise.
24839         * lib/fchownat.c: Likewise.
24840         * lib/symlinkat.c: Likewise.
24841         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
24842         constants.
24843
24844         faccessat, symlinkat: continue cleanup of previous patch
24845         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
24846         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
24847         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
24848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
24849         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
24850         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
24851         set.
24852
24853 2009-09-06  Bruno Haible  <bruno@clisp.org>
24854
24855         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
24856         (fstatat): Declare if GNULIB_FSTATAT is set.
24857         (mkdirat): Declare if GNULIB_MKDIRAT is set.
24858         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
24859         (unlinkat): Declare if GNULIB_UNLINKAT is set.
24860         * modules/fcntl-h (Files): Remove m4/openat.m4.
24861         * modules/sys_stat (Files): Remove m4/openat.m4.
24862         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
24863         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
24864         * modules/unistd (Files): Remove m4/openat.m4.
24865         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
24866         GNULIB_OPENAT.
24867         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
24868         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
24869         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
24870         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
24871         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
24872         gl_OPENAT_DEFAULTS.
24873         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
24874         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
24875         Don't require gl_OPENAT_DEFAULTS.
24876         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
24877         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
24878         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
24879         (gl_OPENAT_DEFAULTS): Remove macro.
24880
24881 2009-09-06  Bruno Haible  <bruno@clisp.org>
24882
24883         * modules/openat (configure.ac): Remove unneeded witness.
24884
24885 2009-09-06  Bruno Haible  <bruno@clisp.org>
24886
24887         Set errno to ENOSYS when a function is entirely unsupported.
24888         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
24889         EOPNOTSUPP.
24890         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
24891         * modules/chown (Depends-on): Remove errno.
24892
24893 2009-09-06  Bruno Haible  <bruno@clisp.org>
24894
24895         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
24896
24897 2009-09-06  Bruno Haible  <bruno@clisp.org>
24898
24899         * lib/sys_stat.in.h: Fix preprocessor command indentation.
24900
24901 2009-09-06  Ben Pfaff  <blp@gnu.org>
24902             Bruno Haible  <bruno@clisp.org>
24903
24904         Work around a glibc bug in strtok_r.
24905         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
24906         Undefine if UNDEFINE_STRTOK_R is set.
24907         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
24908         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
24909         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
24910         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
24911         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
24912         UNDEFINE_STRTOK_R.
24913         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
24914
24915 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
24916
24917         exclude: minor fix
24918         * lib/exclude.c: Include wctype.h
24919
24920 2009-09-06  Akim Demaille  <demaille@gostai.com>
24921
24922         bootstrap: improve error message
24923         * build-aux/bootstrap (find_tool): Upon failure, report the list
24924         of candidates.
24925         Honor the initial value of the envvar.
24926
24927 2009-09-05  Eric Blake  <ebb9@byu.net>
24928
24929         symlinkat: new module
24930         * modules/symlinkat: New file.
24931         * lib/symlinkat.c: Likewise.
24932         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
24933         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24934         * modules/unistd (Makefile.am): Use them.
24935         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
24936         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
24937         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
24938         * MODULES.html.sh (File system functions): Mention module.
24939         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24940         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24941         * modules/symlinkat-tests: New test.
24942         * tests/test-symlinkat.c: Likewise.
24943
24944         test-openat-safer: add more checks
24945         * tests/test-openat-safer.c (main): Check more code paths.
24946
24947 2009-09-05  Jim Meyering  <meyering@redhat.com>
24948
24949         syntax-check: detect unnecessary inclusion of openat.h
24950         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
24951
24952 2009-09-05  Bruno Haible  <bruno@clisp.org>
24953
24954         Support towlower, towupper.
24955         * doc/posix-functions/towlower.texi: Mention module wctype.
24956         * doc/posix-functions/towupper.texi: Likewise.
24957         * lib/wctype.in.h (towlower, towupper): New functions.
24958         * tests/test-wctype.c: Include stdio.h, stdlib.h.
24959         (ASSERT): New macro.
24960         (e): New variable.
24961         (main): Test also towlower, towupper. Test WEOF argument.
24962         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
24963
24964 2009-09-05  Bruno Haible  <bruno@clisp.org>
24965
24966         Fix conversion behaviour when the input is invalid.
24967         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
24968         mark occurring in first pass of indirect conversion.
24969         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
24970         input.
24971         Found by clang's static analyzer.
24972
24973 2009-09-05  Bruno Haible  <bruno@clisp.org>
24974
24975         * tests/test-striconveh.c (main): Test indirect conversion on platforms
24976         where direct conversion is possible.
24977
24978 2009-09-04  Eric Blake  <ebb9@byu.net>
24979
24980         openat: fail with ENOENT on empty name
24981         * lib/openat-proc.c (openat_proc_name): Special-case the empty
24982         buffer.
24983
24984         link-follow: fix logic bug in prior patch
24985         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
24986         reversed sense of yes and no in prior patch.  Avoid confusing
24987         compilation failure with desired semantics.
24988
24989         link-follow: accomodate mingw and cross-compilation
24990         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
24991         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
24992         cross-compilation results to -1, to make linkat easier to
24993         implement when cross-compiling.  Trivially support mingw.
24994         * modules/link-follow (configure.ac): Call new name.
24995         * NEWS: Mention this.
24996
24997 2009-09-03  Eric Blake  <ebb9@byu.net>
24998
24999         faccessat: compile replacement
25000         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
25001         needed.
25002
25003         fts: fix compilation error
25004         * lib/fts.c (includes): Re-add "openat.h", for
25005         openat_needs_fchdir.
25006
25007         faccessat: new module
25008         * modules/faccessat: New file.
25009         * lib/faccessat.c: Likewise.
25010         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25011         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25012         * modules/unistd (Makefile.am): Use it.
25013         * lib/unistd.in.h (faccessat): Declare it.
25014         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
25015         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
25016         * MODULES.html.sh (File system functions): Mention it.
25017         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
25018         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
25019
25020         euidaccess: prefer POSIX over non-standard implementation
25021         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
25022         * lib/euidaccess.c (euidaccess): Use it if available.
25023
25024         openat: make template easier to use
25025         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
25026         AT_FUNC_F2 to be undefined.
25027         (VALIDATE_FLAG): New macro; use it to reject bad flags.
25028         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
25029         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
25030         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
25031         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
25032         Likewise.
25033         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
25034         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
25035         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
25036         Likewise.
25037
25038         openat: declare in POSIX headers
25039         * NEWS: Mention this.
25040         * modules/openat (configure.ac): Declare witnesses.
25041         (Depends-on): Add fcntl-h, sys_stat, unistd.
25042         (Include): Mention correct headers.
25043         * modules/fcntl-h (Depends-on): Add link-warning.
25044         (Files): Add openat.m4.
25045         (Makefile.am): Substitute witnesses.
25046         * modules/sys_stat (Files, Makefile.am): Likewise.
25047         * modules/unistd (Files, Makefile.am): Likewise.
25048         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
25049         (gl_OPENAT_DEFAULTS): New macro.
25050         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
25051         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
25052         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
25053         (SYS_STAT_H): Remove unused variable.
25054         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
25055         * lib/fcntl--.h (includes): Remove unneeded header.
25056         * lib/openat-safer.c (includes): Likewise.
25057         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
25058         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
25059         appropriate headers.
25060         (__OPENAT_PREFIX): Delete.
25061         * lib/fcntl.in.h (openat): Provide declaration.
25062         (AT_FDCWD): Fix Solaris bug.
25063         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
25064         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
25065         * lib/fchmodat.c (includes):  Adjust to find declaration.
25066         * lib/fchownat.c (includes): Likewise.
25067         * lib/mkdirat.c (includes): Likewise.
25068         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
25069         still visible.
25070
25071 2009-09-02  Eric Blake  <ebb9@byu.net>
25072
25073         errno: use consistently
25074         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
25075         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
25076         * lib/canonicalize.c (ELOOP): Likewise.
25077         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
25078         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
25079         * lib/lchown.c (EOPNOTSUPP): Likewise.
25080         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
25081         * lib/savewd.c (ESTALE): Likewise.
25082         * lib/settime.c (ENOSYS): Likewise.
25083         * lib/utimens.c (ENOSYS): Likewise.
25084         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
25085         * lib/chdir-safer.c (ELOOP): Likewise.
25086         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
25087         * modules/c-stack (Depends-on): Add errno.
25088         * modules/canonicalize (Depends-on): Likewise.
25089         * modules/chdir-safer (Depends-on): Likewise.
25090         * modules/fdopendir (Depends-on): Likewise.
25091         * modules/inet_ntop (Depends-on): Likewise.
25092         * modules/inet_pton (Depends-on): Likewise.
25093         * modules/lchown (Depends-on): Likewise.
25094         * modules/openat (Depends-on): Likewise.
25095         * modules/savewd (Depends-on): Likewise.
25096         * modules/settime (Depends-on): Likewise.
25097         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
25098
25099         fts: avoid leaking fds
25100         * modules/fts (Depends-on): Add cloexec.
25101         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
25102         flag.
25103
25104         fts: make directory fds more robust
25105         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
25106         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
25107
25108         backupfile, chdir-long, fts, savedir: make safer
25109         * lib/backupfile.c (includes): Use "dirent--.h", since
25110         numbered_backup can write to stderr during readdir.
25111         * lib/savedir.c (includes): Likewise.
25112         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
25113         emulation can write to stderr on failure.
25114         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
25115         * lib/getcwd.c: Document why opendir_safer is unused.
25116         * lib/glob.c: Likewise.
25117         * lib/scandir.c: Likewise.
25118         * lib/openat-proc.c: Likewise, for open_safer.
25119         * modules/backupfile (Depends-on): Add dirent-safer.
25120         * modules/savedir (Depends-on): Likewise.
25121         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
25122         * modules/chdir-long (Depends-on): Add openat-safer.
25123
25124         openat-safer: new module
25125         * modules/openat-safer: New file.
25126         * lib/openat-safer.c: Likewise.
25127         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
25128         * lib/fcntl-safer.h (openat_safer): Declare.
25129         * lib/fcntl--.h (openat): Override.
25130         * MODULES.html.sh (File descriptor based I/O): Mention it.
25131         * lib/openat.h: Add double-inclusion guards.
25132         * lib/openat.c (includes): Only include "fcntl-safer.h", not
25133         "fcntl--.h", so we can implement openat.
25134         * modules/openat-safer-tests: New test.
25135         * tests/test-openat-safer.c: New file.
25136
25137         dirent-safer: new module
25138         * modules/dirent-safer: New file.
25139         * lib/dirent--.h: Likewise.
25140         * lib/dirent-safer.h: Likewise.
25141         * lib/opendir-safer.c: Likewise.
25142         * m4/dirent-safer.m4: Likewise.
25143         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
25144         * modules/dirent-safer-tests: New test.
25145         * tests/test-dirent-safer.c: New file.
25146         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
25147
25148         fdopendir: optimize on mingw
25149         * lib/unistd.in.h (_gl_directory_name): New prototype.
25150         * lib/fchdir.c (_gl_directory_name): Implement it.
25151         (fchdir): Use it to simplify implementation.
25152         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
25153         fchdir, when available, to avoid calling [f]chdir().
25154
25155         fdopendir: split into its own module
25156         * lib/openat.c (fdopendir): Move...
25157         * lib/fdopendir.c: ...into new file.
25158         * modules/fdopendir: New module.
25159         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
25160         * modules/openat (Depends-on): Add fdopendir.
25161         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
25162         fdopendir here.
25163         * modules/savedir (Depends-on): Only need fdopendir, not full
25164         openat.
25165         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
25166         * lib/openat.h (fdopendir): Drop prototype.
25167         * lib/dirent.in.h (fdopendir): Provide prototype.
25168         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
25169         * modules/dirent (Makefile.am): Substitute them.
25170         * MODULES.html.sh (File system functions): Mention it.
25171         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
25172         * modules/fdopendir-tests: New file.
25173         * tests/test-fdopendir.c: Likewise.
25174
25175         fchdir: use more consistent macro convention
25176         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
25177         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
25178         REPLACE_FCHDIR, rather than relying on config.h macros.
25179         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
25180         inside a single make-time REPLACE_FCHDIR block, rather than using
25181         the config.h FCHDIR_REPLACEMENT.
25182         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
25183         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
25184         Manage fstat replacement.
25185         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
25186         REPLACE_FCHDIR.
25187         * modules/sys_stat (Files): Add m4/unistd_h.m4.
25188         (Makefile.am): Substitute REPLACE_FCHDIR.
25189         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
25190         FCHDIR_REPLACEMENT.
25191         * lib/dup-safer.c (dup_safer): Likewise.
25192         * lib/dup2.c (rpl_dup2): Likewise.
25193         * lib/dup3.c (rpl_dup3): Likewise.
25194         * lib/open.c (rpl_open): Likewise.
25195
25196         fchdir: simplify error handling, and support dup3
25197         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
25198         stdbool, malloc-posix, realloc-posix.
25199         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
25200         (ensure_dirs_slot): Return false on allocation failure.
25201         (rpl_dup2): Delete.
25202         (_gl_register_dup): New function.
25203         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
25204         (_gl_register_fd): Close fd on allocation failure.
25205         * lib/fcntl.in.h (_gl_register_fd): Update signature.
25206         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
25207         prototype.
25208         (rpl_dup2_fchdir): Delete prototype.
25209         * lib/open.c (open): Update caller.
25210         * lib/dup2.c (dup2): Track fchdir metadata.
25211         * lib/dup3.c (dup3): Likewise.
25212         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
25213         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
25214
25215 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25216
25217         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
25218         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
25219         don't pass arguments to AC_OUTPUT.
25220
25221 2009-09-02  Bruno Haible  <bruno@clisp.org>
25222
25223         * modules/mkdtemp (License): Relicense under LGPLv2+.
25224         Reported by Paolo Bonzini.
25225
25226 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25227
25228         Replace uses of obsolete autoconf macros in Jim's modules.
25229         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
25230         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
25231         can evoke a warning from autoconf when run with -Wobsolete
25232         enabled.  They were declared obsolete for good reasons (see
25233         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
25234         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
25235         should not continue using the deprecated macros.
25236         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
25237         obsolete Autoconf macros with modern counterparts.
25238         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25239         * m4/dos.m4 (gl_AC_DOS): Likewise.
25240         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
25241         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25242         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
25243         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
25244         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
25245         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
25246         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
25247         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
25248         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
25249         Likewise.
25250         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25251         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
25252         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
25253         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
25254         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
25255         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
25256
25257 2009-09-01  Eric Blake  <ebb9@byu.net>
25258
25259         fchdir: fix off-by-one bug in previous patch
25260         * lib/fchdir.c (rpl_fstat): Use correct bounds.
25261         (_gl_unregister_fd): Delete useless if.
25262
25263 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
25264
25265         maint.mk: sort the list of syntax-check rules
25266         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
25267         easier to get a sense of progress when the rules are run sequentially
25268         and take a long time.
25269
25270 2009-09-01  Simon Josefsson  <simon@josefsson.org>
25271
25272         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
25273         * modules/netinet_in: Likewise.
25274         * modules/sys_file: Likewise.
25275         * modules/sys_ioctl: Likewise.
25276         * modules/sys_select: Likewise.
25277         * modules/sys_socket: Likewise.
25278         * modules/sys_stat: Likewise.
25279         * modules/sys_time: Likewise.
25280         * modules/sys_times: Likewise.
25281         * modules/sys_utsname: Likewise.
25282         * modules/sys_wait: Likewise.
25283
25284 2009-09-01  Jim Meyering  <meyering@redhat.com>
25285
25286         fts: help ensure that return values are not ignored
25287         * lib/fts_.h (__GNUC_PREREQ): Define.
25288         (__attribute_warn_unused_result__): Define.
25289         (fts_children, fts_close, fts_open, fts_read): Declare with
25290         __attribute_warn_unused_result__.
25291
25292         fts: fts_close now fails also when closing a dir file descriptor fails
25293         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
25294         and propagate to caller, along with errno.
25295
25296         announce-gen: correct formatting in --help output
25297         * build-aux/announce-gen (usage): Move the one-line description in
25298         --help output "up", to where it belongs, just after Usage:.
25299
25300 2009-08-31  Eric Blake  <ebb9@byu.net>
25301
25302         fchdir: port to mingw
25303         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
25304         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
25305         opened, then use a substitute.
25306         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
25307         replacement.
25308         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
25309         (_gl_register_fd): No need to check stat if open already filters
25310         all directories.
25311         (fchdir): Fix error condition to match POSIX.
25312         * modules/fchdir (Depends-on): Add sys_stat.
25313         * doc/posix-functions/open.texi (open): Document the limitation.
25314         * modules/fchdir-tests: New file.
25315         * tests/test-fchdir.c: Likewise.
25316
25317         canonicalize: allow cross-testing from cygwin to mingw
25318         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
25319         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
25320         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
25321         Likewise.
25322         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
25323         target does not support symlinks.
25324         * tests/test-canonicalize-lgpl.sh: Likewise.
25325
25326         chown: avoid compilation warning on mingw
25327         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
25328         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
25329         mingw.
25330         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
25331         * modules/chown (Depends-on): Add errno.
25332
25333 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
25334
25335         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
25336         command.
25337
25338 2009-08-31  Jim Meyering  <meyering@redhat.com>
25339
25340         canonicalize: remove useless initialization
25341         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
25342         initialization of local, "end".
25343
25344 2009-08-30  Bruno Haible  <bruno@clisp.org>
25345
25346         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
25347         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
25348         ENOSYS.
25349
25350 2009-08-30  Bruno Haible  <bruno@clisp.org>
25351
25352         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
25353         /usr/xpg4/bin/tr when it exists.
25354         * tests/test-pipe-filter-gi1.sh: Likewise.
25355
25356 2009-08-30  Bruno Haible  <bruno@clisp.org>
25357
25358         Work around deficient /usr/bin/id program on Solaris.
25359         * tests/test-file-has-acl.sh (ID): New variable.
25360         * tests/test-set-mode-acl.sh (ID): Likewise.
25361         * tests/test-copy-acl.sh (ID): Likewise.
25362         * tests/test-copy-file.sh (ID): Likewise.
25363
25364 2009-08-30  Bruno Haible  <bruno@clisp.org>
25365
25366         New module 'xstriconveh'.
25367         * lib/xstriconveh.h: New file.
25368         * lib/xstriconveh.c: New file.
25369         * modules/xstriconveh: New file.
25370
25371 2009-08-30  Bruno Haible  <bruno@clisp.org>
25372
25373         Make it easier to use mem_cd_iconveh.
25374         * lib/striconveh.h (iconveh_t): New type.
25375         (iconveh_open, iconveh_close): New declarations.
25376         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25377         with a single 'const iconveh_t *' argument.
25378         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
25379         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
25380         with a single 'const iconveh_t *' argument.
25381         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
25382         * tests/test-striconveh.c (main): Update.
25383         * NEWS: Mention the change.
25384
25385 2009-08-30  Bruno Haible  <bruno@clisp.org>
25386
25387         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
25388         problem.
25389
25390 2009-08-30  Bruno Haible  <bruno@clisp.org>
25391
25392         Work around iconv_open problem on Solaris.
25393         * lib/iconv_open-solaris.gperf: New file.
25394         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
25395         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
25396         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
25397         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
25398         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
25399         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
25400
25401 2009-08-29  Jim Meyering  <meyering@redhat.com>
25402
25403         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
25404         * top/maint.mk (cvs-check): Remove target; it was just an alias
25405         to the better-named vc-diff-check.
25406         (maintainer-distcheck): Remove rule.  It was used only from
25407         the (alpha/beta/major) target, and all of its commands but one
25408         were coreutils-specific.
25409         (vc-dist): Remove rule.
25410         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
25411         Run vc-diff-check, not vc-dist.
25412         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
25413
25414 2009-08-27  Bruno Haible  <bruno@clisp.org>
25415
25416         * tests/test-bitrotate.c (main): Remove test that uses a shift count
25417         of 0.
25418
25419 2009-08-27  Bruno Haible  <bruno@clisp.org>
25420
25421         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
25422         compilers.
25423         * doc/func.texi: Document the SunPRO C bug.
25424
25425 2009-08-27  Bruno Haible  <bruno@clisp.org>
25426
25427         Fix link error on Solaris.
25428         * tests/test-parse-duration.c (xstrdup): Remove function.
25429
25430 2009-08-26  Pádraig Brady  <P@draigbrady.com>
25431
25432         ignore-value: handle pointer types, too
25433         * lib/ignore-value.h (__attribute__): Remove definition.
25434         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
25435         of a more concise and more-often effective "(void) i" statement.
25436         (ignore_ptr): New function to suppress warnings from functions that
25437         return pointers, and to make it explicit that one function doesn't
25438         handle all cases.
25439
25440 2009-08-25  Bruno Haible  <bruno@clisp.org>
25441
25442         dup2: work around a Linux bug.
25443         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
25444         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
25445         * doc/posix-functions/dup2.texi: Mention the Linux bug.
25446         Reported by Simon Josefsson.
25447
25448 2009-08-25  Jim Meyering  <meyering@redhat.com>
25449
25450         libguestfs uses gnulib
25451         * users.txt: Add libguestfs.
25452
25453 2009-08-24  Eric Blake  <ebb9@byu.net>
25454
25455         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
25456         * lib/pipe2.c (includes): Add binary-io.h.
25457         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
25458
25459 2009-08-24  Bruno Haible  <bruno@clisp.org>
25460
25461         Tolerate declared but missing accept4 syscall.
25462         * lib/accept4.c (accept4): Invoke original accept4 function first, if
25463         available.
25464         * lib/sys_socket.in.h (accept4): If the function is already present,
25465         override it.
25466         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
25467         * modules/accept4 (Makefile.am): Compile accept4.c always.
25468         Reported by Paolo Bonzini and Eric Blake.
25469
25470 2009-08-23  Bruno Haible  <bruno@clisp.org>
25471
25472         New module 'accept4'.
25473         * lib/sys_socket.in.h (accept4): New declaration.
25474         * lib/accept4.c: New file.
25475         * m4/accept4.m4: New file.
25476         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25477         GNULIB_ACCEPT4, HAVE_ACCEPT4.
25478         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
25479         HAVE_ACCEPT4.
25480         * modules/accept4: New file.
25481         * doc/glibc-functions/accept4.texi: Mention the new module.
25482
25483 2009-08-24  Jim Meyering  <meyering@redhat.com>
25484
25485         progname: also set global program_invocation_name, when possible
25486         Before this change, a libtool-enabled program that calls glibc's
25487         error function would report the program name as
25488         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
25489         * modules/progname (configure.ac): Check for a declaration of
25490         program_invocation_name.
25491         * lib/progname.c:  Include <errno.h>.
25492         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
25493         Set program_invocation_name.
25494
25495 2009-08-23  Bruno Haible  <bruno@clisp.org>
25496
25497         * lib/dup3.c: Include <string.h>.
25498
25499 2009-08-23  Bruno Haible  <bruno@clisp.org>
25500
25501         * lib/dup3.c (dup3): Test only once whether the system actually exists.
25502         * lib/pipe2.c (pipe2): Likewise.
25503         Suggested by Eric Blake.
25504
25505 2009-08-23  Bruno Haible  <bruno@clisp.org>
25506
25507         Tolerate declared but missing dup3 syscall.
25508         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
25509         * lib/unistd.in.h (dup3): If the function is already present,
25510         override it.
25511         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
25512         * modules/dup3 (Makefile.am): Compile dup3.c always.
25513         Reported by Paolo Bonzini.
25514
25515 2009-08-23  Bruno Haible  <bruno@clisp.org>
25516
25517         Tolerate declared but missing pipe2 syscall.
25518         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
25519         available.
25520         * lib/unistd.in.h (pipe2): If the function is already present,
25521         override it.
25522         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
25523         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
25524         Reported by Paolo Bonzini.
25525
25526 2009-08-23  Bruno Haible  <bruno@clisp.org>
25527
25528         * lib/pipe2.c (pipe2): Move #ifs inside function.
25529
25530 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25531
25532         quotearg: document limitations of quote_these_too
25533         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
25534         those limitations are created.
25535         * lib/quotearg.h (set_char_quoting): Document that digits and
25536         letters that are special after backslash are not permitted.
25537         (quotearg_char): Cross-reference set_char_quoting documentation.
25538
25539 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
25540
25541         quotearg: implement custom_quoting_style
25542         * lib/quotearg.c: (struct quoting_options): Add left_quote and
25543         right_quote fields.
25544         (set_custom_quoting): New public function.
25545         (quotearg_buffer_restyled): Add left_quote and right_quote
25546         arguments, handle them very much like locale quoting, and update
25547         all uses.
25548         (quotearg_n_custom): New public function.
25549         (quotearg_n_custom_mem): New public function.
25550         (quotearg_custom): New public function.
25551         (quotearg_custom_mem): New public function.
25552         * lib/quotearg.h: Prototype and document new public functions.
25553         (enum quoting_style): For escape_quoting_style and
25554         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
25555         ignored even though they're otherwise like c_quoting_style.
25556         Add custom_quoting_style member and document with comparison to
25557         clocale_quoting_style.
25558         * tests/test-quotearg.c (custom_quotes): New array.
25559         (custom_results): New array.
25560         (main): Extend to test custom quoting.
25561
25562 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25563
25564         quotearg: fix right quote escaping when it's in quote_these_too
25565         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
25566         quote, be sure to prepend only one backslash.
25567         * tests/test-quotearg.c (use_quote_double_quotes): New function.
25568         (main): Test it.
25569
25570 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
25571
25572         quotearg-tests: test escaping of embedded locale quotes
25573         * tests/test-quotearg.c (struct result_strings): Add member for
25574         new input.
25575         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
25576         (inputs): Add new input.
25577         (results_g): Add expected results.
25578         (flag_results): Likewise.
25579         (locale_results): Likewise.
25580         (compare_strings): Check those.
25581
25582 2009-08-23  Bruno Haible  <bruno@clisp.org>
25583
25584         Tests for module 'dup3'.
25585         * modules/dup3-tests: New file.
25586         * tests/test-dup3.c: New file.
25587
25588         New module 'dup3'.
25589         * lib/unistd.in.h (dup3): New declaration.
25590         * lib/dup3.c: New file.
25591         * m4/dup3.m4: New file.
25592         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
25593         HAVE_DUP3.
25594         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
25595         * modules/dup3: New file.
25596         * doc/glibc-functions/dup3.texi: Mention the new module.
25597
25598 2009-08-23  Bruno Haible  <bruno@clisp.org>
25599
25600         Tweak the dup2 test.
25601         * tests/test-dup2.c (main): Create the test file empty. Verify that an
25602         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
25603         the test file is still empty. Fix argument order of lseek.
25604
25605 2009-08-23  Bruno Haible  <bruno@clisp.org>
25606
25607         Avoid test link errors when the modules getopt-gnu, gettext are used.
25608         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
25609         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25610
25611 2009-08-23  Bruno Haible  <bruno@clisp.org>
25612
25613         Fix getdtablesize() on mingw.
25614         * lib/getdtablesize.c (getdtablesize): Implement differently.
25615         * lib/unistd.in.h (getdtablesize): Improve comment.
25616
25617 2009-08-23  Bruno Haible  <bruno@clisp.org>
25618
25619         New module 'mkostemp'.
25620         Based on Ulrich Drepper's 2007-08-10 change in glibc.
25621         * lib/stdlib.in.h (mksotemp): New declaration.
25622         * lib/mkostemp.c: New file, from glibc with modifications.
25623         * lib/tempname.h (GT_FILE): Remove outdated comment.
25624         (gen_tempname): Add flags argument.
25625         * lib/tempname.c (__GT_BIGFILE): Remove macro.
25626         (__GT_FILE): Map to 1.
25627         (small_open, large_open): Remove macros.
25628         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
25629         * lib/mkstemp.c (mkstemp): Update.
25630         * lib/mkdtemp.c (mkdtemp): Likewise.
25631         * m4/mkostemp.m4: New file.
25632         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
25633         HAVE_MKOSTEMP.
25634         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
25635         HAVE_MKOSTEMP.
25636         * modules/mkostemp: New file, based on modules/mkstemp.
25637         * doc/glibc-functions/mkostemp.texi: Mention the new module.
25638         * NEWS: Mention the change.
25639
25640 2009-08-23  Bruno Haible  <bruno@clisp.org>
25641
25642         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
25643         Reported by Eric Blake.
25644
25645 2009-08-23  Bruno Haible  <bruno@clisp.org>
25646
25647         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
25648         Reported by Eric Blake.
25649
25650 2009-08-23  Bruno Haible  <bruno@clisp.org>
25651
25652         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
25653         * modules/pipe2 (Depends-on): Likewise.
25654
25655 2009-08-23  Eric Blake  <ebb9@byu.net>
25656
25657         fcntl-h: add O_TTY_INIT support
25658         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
25659         * tests/test-fcntl-h.c (o): Test it.
25660         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25661
25662         fcntl-h: rename from fcntl, in preparation for fcntl(2)
25663         * modules/fcntl: Move <fcntl.h> header replacement...
25664         * modules/fcntl-h: ...to new name, so as not to collide with
25665         like-named function.
25666         * tests/test-fcntl.c: Rename...
25667         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
25668         * modules/fcntl-tests: Rename...
25669         * modules/fcntl-h-tests: ...to this.  Update test file name.
25670         * modules/chdir-long (Depends-on): Update clients.
25671         * modules/chdir-safer (Depends-on): Likewise.
25672         * modules/fcntl-safer (Depends-on): Likewise.
25673         * modules/fts (Depends-on): Likewise.
25674         * modules/mkancesdirs (Depends-on): Likewise.
25675         * modules/mkdir-p (Depends-on): Likewise.
25676         * modules/open (Depends-on): Likewise.
25677         * modules/savewd (Depends-on): Likewise.
25678         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
25679         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
25680
25681 2009-08-22  Bruno Haible  <bruno@clisp.org>
25682
25683         * modules/binary-io (License): Relicense under LGPL.
25684         * modules/pipe2 (License): Likewise.
25685
25686 2009-08-22  Bruno Haible  <bruno@clisp.org>
25687
25688         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
25689         return value.
25690         * lib/pipe-filter-gi.c (filter_init): Likewise.
25691         Reported by Eric Blake.
25692
25693 2009-08-22  Bruno Haible  <bruno@clisp.org>
25694
25695         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
25696         * modules/pipe (Depends-on): Add pipe2.
25697
25698 2009-08-22  Bruno Haible  <bruno@clisp.org>
25699
25700         Tests for module 'pipe2'.
25701         * modules/pipe2-tests: New file.
25702         * tests/test-pipe2.c: New file.
25703
25704         New module 'pipe2'.
25705         * lib/unistd.in.h (pipe2): New declaration.
25706         * lib/pipe2.c: New file.
25707         * m4/pipe2.m4: New file.
25708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
25709         HAVE_PIPE2.
25710         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
25711         * modules/pipe2: New file.
25712         * doc/glibc-functions/pipe2.texi: Mention the new module.
25713
25714 2009-08-22  Bruno Haible  <bruno@clisp.org>
25715
25716         Reference some new glibc functions.
25717         * doc/glibc-functions/accept4.texi: New file.
25718         * doc/glibc-functions/dup3.texi: New file.
25719         * doc/glibc-functions/mkostemp.texi: New file.
25720         * doc/glibc-functions/pipe2.texi: New file.
25721         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
25722         (Glibc sys/socket.h): Refer to accept4.
25723         (Glibc unistd.h): Refer to dup3, pipe2.
25724         Reported by Eric Blake.
25725
25726 2009-08-22  Jim Meyering  <meyering@redhat.com>
25727             Bruno Haible  <bruno@clisp.org>
25728
25729         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
25730         This makes it so packages using automake-1.11's silent-rules option
25731         can print e.g., a single "GEN    configmake.h" line, rather than
25732         the 30+ statements that perform the job.  If you want to see the
25733         actual commands, you can still run "make V=1".
25734         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
25735         so that make output is abbreviated when those variables are defined
25736         appropriately.
25737         * modules/argz: Likewise.
25738         * modules/arpa_inet: Likewise.
25739         * modules/byteswap: Likewise.
25740         * modules/configmake: Likewise.
25741         * modules/dirent: Likewise.
25742         * modules/errno: Likewise.
25743         * modules/fcntl: Likewise.
25744         * modules/float: Likewise.
25745         * modules/fnmatch: Likewise.
25746         * modules/getopt-posix: Likewise.
25747         * modules/glob: Likewise.
25748         * modules/iconv_open: Likewise.
25749         * modules/inttypes: Likewise.
25750         * modules/localcharset: Likewise.
25751         * modules/locale: Likewise.
25752         * modules/math: Likewise.
25753         * modules/netdb: Likewise.
25754         * modules/netinet_in: Likewise.
25755         * modules/poll: Likewise.
25756         * modules/posix_spawnp-tests: Likewise.
25757         * modules/sched: Likewise.
25758         * modules/search: Likewise.
25759         * modules/selinux-h: Likewise.
25760         * modules/signal: Likewise.
25761         * modules/spawn: Likewise.
25762         * modules/stdarg: Likewise.
25763         * modules/stdbool: Likewise.
25764         * modules/stddef: Likewise.
25765         * modules/stdint: Likewise.
25766         * modules/stdio: Likewise.
25767         * modules/stdlib: Likewise.
25768         * modules/string: Likewise.
25769         * modules/strings: Likewise.
25770         * modules/sys_file: Likewise.
25771         * modules/sys_ioctl: Likewise.
25772         * modules/sys_select: Likewise.
25773         * modules/sys_socket: Likewise.
25774         * modules/sys_stat: Likewise.
25775         * modules/sys_time: Likewise.
25776         * modules/sys_times: Likewise.
25777         * modules/sys_utsname: Likewise.
25778         * modules/sys_wait: Likewise.
25779         * modules/sysexits: Likewise.
25780         * modules/time: Likewise.
25781         * modules/unistd: Likewise.
25782         * modules/wchar: Likewise.
25783         * modules/wctype: Likewise.
25784
25785 2009-08-22  Jim Meyering  <meyering@redhat.com>
25786
25787         announce-gen: detect write failure
25788         * build-aux/announce-gen: Add Coda at end.
25789         Remove equivalent-but-more-verbose block at top.
25790
25791 2009-08-19  Akim Demaille  <demaille@gostai.com>
25792
25793         bootstrap: --help to stdout.
25794         * bootstrap (usage): Don't send --help to stderr.
25795         Use a here doc instead of a long string.
25796
25797 2009-08-21  Eric Blake  <ebb9@byu.net>
25798
25799         test-popen-safer: split from test-popen
25800         * tests/test-popen.c (main): Move...
25801         * tests/test-popen.h: ...into new file.
25802         * tests/test-popen-safer2.c: New file.
25803         * modules/popen-tests (Files): Add test-popen.h.
25804         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
25805         Suggested by Bruno Haible.
25806
25807         test-fcntl-safer: split from test-open
25808         * tests/test-open.c (main): Move...
25809         * tests/test-open.h: ...into new file.
25810         * tests/test-fcntl-safer.c: New file.
25811         * modules/open-tests (Files): Add test-open.h.
25812         * modules/fcntl-safer-tests: New file.
25813         Suggested by Bruno Haible.
25814
25815         test-fopen-safer: split from test-fopen
25816         * tests/test-fopen.c (main): Move...
25817         * tests/test-fopen.h: ...into new file.
25818         * tests/test-fopen-safer.c: New file.
25819         * modules/fopen-tests (Files): Add test-fopen.h.
25820         * modules/fopen-safer-tests: New file.
25821         Suggested by Bruno Haible.
25822
25823 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25824
25825         popen-safer: test O_CLOEXEC at run-time.
25826         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
25827
25828 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
25829
25830         fcntl: move more flags to the header
25831         * lib/cloexec.c: Do not define FD_CLOEXEC here.
25832         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
25833         * lib/fcntl.in.h: Do both things here.
25834
25835 2009-08-21  Jim Meyering  <meyering@redhat.com>
25836
25837         consistently remove $@-t before redirecting to it
25838         * modules/argz: Remove $@-t and $@ before redirecting to the former.
25839         * modules/alloca-opt: Likewise.
25840         * modules/byteswap: Likewise.
25841         * modules/fnmatch: Likewise.
25842         * modules/getopt-posix: Likewise.
25843         * modules/glob: Likewise.
25844         * modules/poll: Likewise.
25845         * modules/posix_spawnp-tests: Likewise.
25846         * modules/sys_socket: Likewise.
25847         * modules/sysexits: Likewise.
25848
25849 2009-08-21  Eric Blake  <ebb9@byu.net>
25850
25851         popen: simplify access to original popen
25852         * lib/popen.c (rpl_popen): No need to worry about popen being a
25853         macro.
25854         Reported by Bruno Haible.
25855
25856 2009-08-20  Eric Blake  <ebb9@byu.net>
25857
25858         build: avoid some compiler warnings
25859         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
25860         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
25861         type.
25862         (new_exclude_segment, excluded_file_pattern_p)
25863         (excluded_file_name_p): Reduce scope.
25864         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
25865         old-style declaration.
25866
25867 2009-08-20  Simon Josefsson  <simon@josefsson.org>
25868
25869         * tests/test-exclude1.sh: Handle Windows EOL.
25870         * tests/test-exclude2.sh: Likewise.
25871         * tests/test-exclude3.sh: Likewise.
25872         * tests/test-exclude4.sh: Likewise.
25873         * tests/test-exclude5.sh: Likewise.
25874         * tests/test-exclude6.sh: Likewise.
25875         * tests/test-exclude7.sh: Likewise.
25876
25877 2009-08-19  Akim Demaille  <demaille@gostai.com>
25878
25879         bootstrap: find sha1sum when named gsha1sum.
25880         * bootstrap (find_tool): New.
25881         ($SHA1SUM): New.
25882         Use it.
25883
25884 2009-08-20  Jim Meyering  <meyering@redhat.com>
25885
25886         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
25887         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
25888         expression that converts "." in a file name to "\." in the resulting
25889         regexp.  Start with a dummy statement, so that prior shell variable
25890         definitions are expanded portably.  Reported by Simon Josefsson.
25891
25892 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
25893
25894         Fix polling for writeability of a screen buffer.
25895         * lib/poll.c: Distinguish input and screen buffers for the
25896         Win32 implementation.
25897         * lib/select.c: Likewise.
25898
25899 2009-08-19  Eric Blake  <ebb9@byu.net>
25900
25901         popen-safer: prevent popen from clobbering std descriptors
25902         * modules/popen-safer: New file.
25903         * lib/popen-safer.c: Likewise.
25904         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
25905         * lib/stdio--.h (popen): Provide override.
25906         * lib/stdio-safer.h (popen_safer): Provide declaration.
25907         * tests/test-popen.c (includes): Partially test this.
25908         * modules/popen-safer-tests: New file, for more tests.
25909         * tests/test-popen-safer.c: Likewise.
25910         * MODULES.html.sh (file stream based Input/Output): Mention it.
25911
25912         tests: test some of the *-safer modules
25913         * modules/fopen-safer (Depends-on): Add fopen.
25914         * modules/fcntl-safer (Depends-on): Add fcntl.
25915         * modules/stdlib-safer (Depends-on): Add stdlib.
25916         (configure.ac): Set indicator.
25917         * modules/unistd-safer (configure.ac): Likewise.
25918         * modules/tmpfile-safer (configure.ac): Likewise.
25919         (Depends-on): Add tmpfile.
25920         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
25921         active.
25922         * tests/test-fopen.c (includes): Test safer versions when they are
25923         in use.
25924         * tests/test-open.c (includes): Likewise.
25925
25926         popen: fix cygwin 1.5 bug when stdin closed
25927         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
25928         * modules/popen: New file.
25929         * modules/popen-tests: Likewise.
25930         * tests/test-popen.c: Likewise.
25931         * m4/popen.m4: Likewise.
25932         * lib/popen.c: Likewise.
25933         * lib/stdio.in.h (popen): New declaration.
25934         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
25935         * modules/stdio (Makefile.am): Likewise.
25936         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
25937
25938 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
25939
25940         maint.mk: give full control over update-copyright exclusions
25941         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
25942         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
25943         (update-copyright): Don't force inclusion of top-level
25944         ChangeLog.  Don't force exclusion of all COPYING files, but make
25945         them the default exclusion instead.
25946
25947 2009-08-16  Bruno Haible  <bruno@clisp.org>
25948
25949         Fix test failures on Solaris 10.
25950         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
25951         tests when Solaris iconv() is used.
25952         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
25953         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
25954         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
25955         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
25956         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
25957
25958 2009-08-16  Bruno Haible  <bruno@clisp.org>
25959
25960         Fix test failures on Solaris 10.
25961         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
25962         'tr' program and pass it as first argument.
25963         * tests/test-pipe-filter-gi1.sh: Likewise.
25964         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
25965         program as first argument.
25966         * tests/test-pipe-filter-gi1.c (main): Likewise.
25967
25968 2009-08-16  Eric Blake  <ebb9@byu.net>
25969
25970         fpurge: fix previous commits
25971         * modules/fpurge (Makefile.am): Make replacement conditional,
25972         partially reverting 2007-04-29 change; missed in previous
25973         attempt.
25974         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
25975         is missing.
25976
25977 2009-08-16  Bruno Haible  <bruno@clisp.org>
25978
25979         Clarify fpurge's effect on the file position.
25980         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
25981         * tests/test-fpurge.c (main): Make a second pass for checking the file
25982         position.
25983
25984 2009-08-16  Bruno Haible  <bruno@clisp.org>
25985
25986         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
25987         declaration of fpurge is missing.
25988         * tests/test-fpurge.c (main): Check that the file has not more contents
25989         than expected. Close the file before removing it.
25990
25991 2009-08-15  Eric Blake  <ebb9@byu.net>
25992
25993         fpurge: don't wrap working cygwin implementation
25994         * lib/fpurge.c (fpurge): Fix comment typo.
25995         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
25996         1.7 to avoid replacement.
25997         * tests/test-fpurge.c (main): Enhance test.
25998
25999 2009-08-15  Eric Blake  <ebb9@byu.net>
26000         and Jim Meyering  <meyering@redhat.com>
26001
26002         test-update-copyright: skip if perl is insufficient
26003         * tests/test-update-copyright.sh: Failure to run maintainer tool
26004         should not cause testsuite failure on cygwin 1.5.
26005
26006 2009-08-14  Eric Blake  <ebb9@byu.net>
26007
26008         doc: mention more functions added in cygwin 1.7.0
26009         * doc/posix-headers/limits.texi (limits.h): Update for recent
26010         cygwin additions.
26011         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
26012         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
26013         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
26014         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
26015         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
26016
26017 2009-08-14  Eric Blake  <ebb9@byu.net>
26018
26019         maint.mk: simplify update-copyright rule
26020         * top/maint.mk (update-copyright-local): Delete, and document how
26021         to do it in cfg.mk instead.
26022         (update-copyright-exclude-regexp): Delete, and document how to do
26023         it in .x-update-copyright instead.
26024         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
26025         exclude ChangeLog.
26026
26027 2009-08-14  Bruno Haible  <bruno@clisp.org>
26028
26029         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
26030
26031 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26032
26033         maint.mk: support update-copyright-env
26034         * top/maint.mk (update-copyright-env): Define place-holder.
26035         (update-copyright): Expand $(update-copyright-env) before
26036         invoking update-copyright.
26037
26038 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26039
26040         update-copyright: implement forced reformatting
26041         * build-aux/update-copyright: Implement and document
26042         UPDATE_COPYRIGHT_FORCE.
26043         * tests/test-update-copyright.sh: Test it.
26044
26045 2009-08-14  Eric Blake  <ebb9@byu.net>
26046         and Bruno Haible  <bruno@clisp.org>
26047
26048         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
26049         * tests/test-locale.c: Revert previous patch related to NULL.
26050         * tests/test-stdio.c: Likewise.
26051         * tests/test-stdlib.c: Likewise.
26052         * tests/test-string.c: Likewise.
26053         * tests/test-unistd.c: Likewise.
26054         * modules/time-tests (Depends-on): Add verify.
26055         * modules/wchar-tests (Depends-on): Likewise.
26056         * tests/test-time.c: Test for NULL compliance.
26057         * tests/test-wchar.c: Likewise.
26058         * modules/locale (Depends-on): Add stddef.
26059         * modules/stdio (Depends-on): Likewise.
26060         * modules/stdlib (Depends-on): Likewise.
26061         * modules/string (Depends-on): Likewise.
26062         * modules/time (Depends-on): Likewise.
26063         * modules/unistd (Depends-on): Likewise.
26064         * modules/wchar (Depends-on): Likewise.
26065         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
26066         * lib/stdlib.in.h (includes): Likewise.
26067         * lib/string.in.h (includes): Likewise.
26068         * lib/time.in.h (includes): Likewise.
26069         * lib/unistd.in.h (includes): Likewise.
26070         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
26071         replaced.
26072         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26073         * m4/stddef_h.m4: New file.
26074         * modules/stddef: Likewise.
26075         * lib/stddef.in.h: Likewise.
26076         * modules/stddef-tests: Likewise.
26077         * tests/test-stddef.c: Likewise.
26078         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
26079         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
26080         * doc/posix-headers/locale.texi (locale.h): Likewise.
26081         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
26082         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
26083         * doc/posix-headers/string.texi (string.h): Likewise.
26084         * doc/posix-headers/time.texi (time.h): Likewise.
26085         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
26086         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
26087
26088 2009-08-14  Eric Blake  <ebb9@byu.net>
26089
26090         doc: improve git diff of texinfo files
26091         * .gitattributes: Add rule for *.texi files, with hint on how to
26092         use it.
26093         Copied from m4, and based on a report by Bruno Haible.
26094
26095 2009-08-14  Bruno Haible  <bruno@clisp.org>
26096
26097         Disable multithread support by default on Cygwin 1.5.x for real.
26098         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
26099
26100 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26101
26102         update-copyright: much ado about intervals
26103         * build-aux/update-copyright: Implement and document
26104         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
26105         of copyright year intervals.
26106         Also, document UPDATE_COPYRIGHT_YEAR.
26107         * tests/test-update-copyright.sh: Test it.
26108
26109         update-copyright: convert 2-digit to 4-digit years
26110         * build-aux/update-copyright: Implement and document.
26111         * tests/test-update-copyright.sh: Update.
26112
26113 2009-08-14  Jim Meyering  <meyering@redhat.com>
26114
26115         test-exclude: avoid coreutils "make check" failure
26116         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
26117         just as in test-argmatch.c.
26118
26119 2009-08-13  Eric Blake  <ebb9@byu.net>
26120
26121         test-dup2: fix bad assumption
26122         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
26123         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
26124
26125         test-version-etc: fix CRLF portability issue
26126         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
26127         recognize \r.
26128         * tests/test-argp-version-etc-1.sh: Likewise.
26129
26130         getopt: update client modules
26131         * modules/argp (Depends-on): Use getopt-gnu.
26132         * modules/git-merge-changelog (Depends-on): Likewise.
26133         * modules/long-options (Depends-on): Likewise.
26134         * modules/xstrtol (Depends-on): Likewise.
26135
26136 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26137
26138         * tests/test-version-etc.sh: Don't fail on different
26139         project/version.  Don't fail on CRLF differences.  Rewrite to use
26140         multiple -e instead of multiple sed forks, suggested by Eric Blake
26141         <ebb9@byu.net>.
26142         * tests/test-argp-version-etc-1.sh: Likewise.
26143
26144 2009-08-13  Simon Josefsson  <simon@josefsson.org>
26145
26146         * tests/test-version-etc.sh: Don't fail on different
26147         project/version.
26148
26149 2009-08-12  Bruno Haible  <bruno@clisp.org>
26150
26151         Tests for modules 'getopt-posix', 'getopt-gnu'.
26152         * modules/getopt-posix-tests: New file.
26153         * tests/test-getopt.c: New file.
26154         * tests/test-getopt.h: New file.
26155         * tests/test-getopt_long.h: New file.
26156
26157         New modules 'getopt-posix', 'getopt-gnu'.
26158         * modules/getopt-gnu: New file, renamed from modules/getopt.
26159         * modules/getopt-posix: New file.
26160         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
26161         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
26162         (gl_GETOPT): Remove macro.
26163         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
26164         Disable the test against BSD systems that declare optreset. Test
26165         against mingw bug. Test against lack of support of optional arguments
26166         on many platforms.
26167         * doc/glibc-headers/getopt.texi: Update module name and list of
26168         relevant platforms.
26169         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
26170         'getopt-gnu' and more portability problems.
26171         * NEWS: Mention the changes.
26172
26173 2009-08-12  Bruno Haible  <bruno@clisp.org>
26174
26175         Ensure that optarg etc. get declared by <unistd.h>.
26176         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
26177         AC_USE_SYSTEM_EXTENSIONS.
26178         * modules/getopt (Depends-on): Add 'extensions'.
26179
26180 2009-08-12  Bruno Haible  <bruno@clisp.org>
26181
26182         Avoid test link errors.
26183         * modules/pipe-filter-ii-tests (Makefile.am): Define
26184         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
26185         * modules/pipe-filter-gi-tests (Makefile.am): Define
26186         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
26187         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26188
26189 2009-08-12  Bruno Haible  <bruno@clisp.org>
26190
26191         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
26192         gl_GETOPT_SUBSTITUTE before.
26193         (gl_GETOPT): Use it.
26194         * m4/argp.m4 (gl_ARGP): Update.
26195         Reported by Sergey Poznyakoff.
26196
26197         * m4/getopt.m4: Reorder macros.
26198         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
26199         (gl_GETOPT_SUBSTITUTE): Remove macro.
26200
26201 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26202
26203         Minor improvement in gitlog-to-changelog
26204
26205         * build-aux/gitlog-to-changelog: New option `--format' makes
26206         output format string configurable.
26207
26208 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
26209
26210         Optimize exclude: use hash tables for non-wildcard patterns.
26211
26212         * lib/exclude.c: Include hash.h and mbuiter.h
26213         (struct exclude_pattern, exclude_segment): New data types.
26214         (struct exclude): Rewrite.
26215         (fnmatch_pattern_has_wildcards): New function.
26216         (new_exclude_segment, free_exclude_segment): New functions.
26217         (excluded_file_pattern_p, excluded_file_name_p): New functions.
26218         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
26219         * lib/exclude.h (is_fnmatch_pattern): New prototype.
26220         * modules/exclude: Depend on hash and mbuiter.
26221
26222         * modules/exclude-tests: New file.
26223         * tests/test-exclude.c: New file.
26224         * tests/test-exclude1.sh: New file.
26225         * tests/test-exclude2.sh: New file.
26226         * tests/test-exclude3.sh: New file.
26227         * tests/test-exclude4.sh: New file.
26228         * tests/test-exclude5.sh: New file.
26229         * tests/test-exclude6.sh: New file.
26230         * tests/test-exclude7.sh: New file.
26231
26232 2009-08-12  Bruno Haible  <bruno@clisp.org>
26233
26234         Ensure that getopt() gets declared by <unistd.h>.
26235         * lib/unistd.in.h: Conditionally include getopt.h.
26236         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
26237         Set GNULIB_UNISTD_H_GETOPT.
26238         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26239         GNULIB_UNISTD_H_GETOPT.
26240         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
26241
26242 2009-08-12  Bruno Haible  <bruno@clisp.org>
26243
26244         Clarify logic.
26245         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
26246         gl_replace_getopt instead of GETOPT_H.
26247
26248 2009-08-12  Bruno Haible  <bruno@clisp.org>
26249
26250         * m4/getopt.m4: Add comments.
26251
26252 2009-08-12  Bruno Haible  <bruno@clisp.org>
26253
26254         Disable multithread support by default on Cygwin 1.5.x.
26255         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
26256         set gl_use_threads=no if not specified otherwise.
26257
26258 2009-08-11  Bruno Haible  <bruno@clisp.org>
26259
26260         Avoid compilation error on NetBSD 5.0.
26261         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
26262         * tests/test-stdio.c: Likewise.
26263         * tests/test-stdlib.c: Likewise.
26264         * tests/test-string.c: Likewise.
26265         * tests/test-unistd.c: Likewise.
26266         Reported by Greg Troxel <gdt@ir.bbn.com>
26267         at <https://savannah.gnu.org/support/?106973>.
26268
26269 2009-08-11  Bruno Haible  <bruno@clisp.org>
26270
26271         * modules/dup2-tests (Depends-on): Remove close.
26272
26273         Undo 2009-07-19 commit.
26274         * modules/acl-tests (Depends-on): Remove close.
26275         * modules/binary-io-tests (Depends-on): Likewise.
26276         * modules/closein-tests (Depends-on): Likewise.
26277         * modules/flock-tests (Depends-on): Likewise.
26278         * modules/fsync-tests (Depends-on): Likewise.
26279         * modules/lseek-tests (Depends-on): Likewise.
26280         * modules/pipe-tests (Depends-on): Likewise.
26281         * modules/posix_spawn-tests (Depends-on): Likewise.
26282         * modules/posix_spawnp-tests (Depends-on): Likewise.
26283         * modules/stat-time-tests (Depends-on): Likewise.
26284         * modules/yesno-tests (Depends-on): Likewise.
26285
26286 2009-08-10  Bruno Haible  <bruno@clisp.org>
26287
26288         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
26289
26290 2009-08-10  Bruno Haible  <bruno@clisp.org>
26291
26292         Fix a gcc warning.
26293         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
26294
26295 2009-08-10  Bruno Haible  <bruno@clisp.org>
26296
26297         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
26298         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
26299         not only the first time.
26300         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
26301         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
26302         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
26303         is 1, not only the the first time.
26304
26305 2009-08-10  Bruno Haible  <bruno@clisp.org>
26306
26307         Make it possible to use module 'gethostname' without module 'close'.
26308         * lib/unistd.in.h (close): Evoke a link error only if
26309         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26310         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26311         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26312         * modules/unistd (Makefile.am): Substitute
26313         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26314         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
26315         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
26316         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
26317         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26318         * modules/sys_ioctl (Makefile.am): Substitute
26319         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26320         * modules/socket (configure.ac): On native Windows, set
26321         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
26322         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
26323         Reported by Sam Steingold <sds@gnu.org>.
26324
26325 2009-08-10  Bruno Haible  <bruno@clisp.org>
26326
26327         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
26328         * modules/ioctl (configure.ac): Likewise.
26329
26330 2009-08-10  Bruno Haible  <bruno@clisp.org>
26331
26332         Avoid collision between gnulib wrapper and libintl wrapper.
26333         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
26334         already defined in intl/printf.c.
26335         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
26336         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
26337
26338 2009-08-09  Bruno Haible  <bruno@clisp.org>
26339
26340         Make <sys/select.h> really self-contained, also on Solaris 10.
26341         * lib/sys_select.in.h: Include <string.h>.
26342         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
26343         Solaris 10 problem.
26344         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
26345         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
26346         Reported by Jim Meyering.
26347
26348 2009-08-09  Bruno Haible  <bruno@clisp.org>
26349
26350         Avoid warnings from 'aclocal' that are due to a use of macro name
26351         AM_XGETTEXT_OPTION that is not defined in automake.
26352         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
26353         automake.
26354         * modules/error (configure.ac): Likewise.
26355         * modules/propername (configure.ac): Likewise.
26356         * modules/vasprintf (configure.ac): Likewise.
26357         * modules/verror (configure.ac): Likewise.
26358         * modules/xprintf (configure.ac): Likewise.
26359         * modules/xvasprintf (configure.ac): Likewise.
26360
26361 2009-08-08  Bruno Haible  <bruno@clisp.org>
26362
26363         Avoid compilation error in C++ mode.
26364         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
26365         Reported by Sam Steingold <sds@gnu.org>.
26366
26367 2009-08-08  Bruno Haible  <bruno@clisp.org>
26368
26369         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
26370         for the various Unix platforms.
26371         * doc/posix-headers/limits.texi: Update platforms list regarding
26372         HOST_NAME_MAX.
26373         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26374
26375 2009-08-07  Jim Meyering  <meyering@redhat.com>
26376
26377         selinux-at: fix typo in a comment
26378         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
26379         Spotted by Paolo Bonzini.
26380
26381         selinux-at: remove redundant m4 code, add documentation
26382         * modules/selinux-at (configure.ac): Remove redundant code.
26383         LIB_SELINUX is already set via the dependent module, selinux-h.
26384         (Include): Add quotes around selinux-at.h.
26385         * lib/selinux-at.h: Add documentation.
26386         Reported by Bruno Haible in
26387         http://marc.info/?l=gnulib-bug&m=124958988300749
26388
26389 2009-08-07  Bruno Haible  <bruno@clisp.org>
26390
26391         Avoid link error on MacOS X 10.3 and 10.4.
26392         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
26393         on non-ELF systems.
26394         * lib/argp-pv.c (argp_program_version): Likewise.
26395         Reported by Simon Josefsson.
26396
26397 2009-08-07  Simon Josefsson  <simon@josefsson.org>
26398
26399         * tests/test-version-etc.sh: Use $EXEEXT.
26400
26401 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
26402
26403         update-copyright: update documentation to point to maint.mk
26404         * build-aux/update-copyright: Here.
26405
26406 2009-08-06  Jim Meyering  <meyering@redhat.com>
26407
26408         maint.mk: support update-copyright-local
26409         * top/maint.mk (update-copyright-local): Define place-holder.
26410         (update-copyright): Depend on $(update-copyright-local).
26411
26412 2009-08-06  Jim Meyering  <meyering@redhat.com>
26413
26414         selinux-at: new module
26415         Initially written for coreutils, this module will soon be
26416         used by findutils, too.
26417         * MODULES.html.sh [Misc]: Add selinux-at.
26418         * lib/selinux-at.h: New file, from coreutils.
26419         * lib/selinux-at.c: Likewise.
26420         * modules/selinux-at: Likewise.
26421         (License): Change from LGPL to GPL, since it depends
26422         on the GPL'd openat module.
26423
26424         doc: update README
26425         * README: Remove references to cogito.
26426         Remove cvs-repo-updating instructions from 2007.
26427         Don't imply that CVS is better if you have limited disk space.
26428
26429 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26430
26431         update-copyright: support C-style comments
26432         * build-aux/update-copyright: Implement and document.
26433         * tests/test-update-copyright.sh: Test.
26434
26435 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26436
26437         update-copyright: support omitted "(C)"
26438         * build-aux/update-copyright: Implement and document.  Also,
26439         allow variable whitespace before "(C)".
26440         * tests/test-update-copyright.sh: Test.
26441
26442 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26443
26444         update-copyright: don't trip on non-FSF copyright statements
26445         * build-aux/update-copyright: Fix so that the first correctly
26446         formatted FSF copyright statement is recognized no matter what
26447         appears before it.  Update documentation.
26448         * tests/test-update-copyright.sh: Test that.
26449
26450 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26451
26452         update-copyright: clean up code a little
26453         * build-aux/update-copyright: Append "_re" to the name of any
26454         variable holding a regular expression.
26455         Replace "old" and "new" with "stmt" in variable names.
26456         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
26457         handled correctly.
26458         Format code more consistently.
26459
26460 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
26461
26462         update-copyright-tests: improve portability
26463         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
26464         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
26465
26466 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26467
26468         update-copyright: support @copyright{} and &copy;
26469         * build-aux/update-copyright: Implement and document.
26470         * tests/test-update-copyright.sh: Test.
26471
26472 2009-08-04  Jim Meyering  <meyering@redhat.com>
26473
26474         update-copyright-tests: correctly test EOL=\r\n handling
26475         * tests/test-update-copyright.sh: Put \r at the end of some lines
26476         for the dos-eol tests.  Based on a patch by Joel E. Denny.
26477
26478         maint.mk: make update-copyright exclusion list more configurable
26479         * top/maint.mk (update-copyright): Default to excluding COPYING,
26480         but allow an override, in case someone does want to update that file.
26481
26482         maint.mk: don't update copyright date in COPYING
26483         * top/maint.mk (update-copyright): Exclude COPYING.
26484
26485         maint.mk: add a copyright-updating rule
26486         * top/maint.mk (update-copyright): New rule.
26487         Derived from coreutils/Makefile.am.
26488
26489         update-copyright: rename some variables
26490         * build-aux/update-copyright: Rename a few variables for clarity.
26491         Tweak syntax.  List Joel E. Denny as coauthor.
26492
26493 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
26494
26495         update-copyright: fix bug for 2-digit last year and add tests
26496         * build-aux/update-copyright: Fix bug.
26497         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
26498         specified.
26499         * modules/update-copyright-tests: New
26500         * tests/test-update-copyright.sh: New.
26501
26502 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26503
26504         update-copyright: handle leading tabs in line prefix
26505         * build-aux/update-copyright: Count leading tabs as 8 spaces
26506         when computing margin.  This helps with the formatting of
26507         ChangeLogs, for example.
26508         Fix documentation a little.
26509
26510 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26511
26512         update-copyright: support EOL=\r\n
26513         * build-aux/update-copyright: Implement that.
26514
26515 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
26516
26517         update-copyright: automatically format copyright statements
26518         * build-aux/update-copyright: Implement that.
26519         Also, be a little more predictable and safer by always failing
26520         when the full copyright format is not perfectly recognized as an
26521         unbroken whole.  Discussed at
26522         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
26523         Rewrite documentation.
26524
26525 2009-08-03  Bruno Haible  <bruno@clisp.org>
26526
26527         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
26528
26529 2009-08-02  Bruno Haible  <bruno@clisp.org>
26530
26531         Tests for module 'uname'.
26532         * modules/uname-tests: New file.
26533         * tests/test-uname.c: New file.
26534
26535         New module 'uname'.
26536         * lib/uname.c: New file.
26537         * m4/uname.m4: New file.
26538         * modules/uname: New file.
26539         * doc/posix-functions/uname.texi: Mention the new module.
26540
26541 2009-08-02  Bruno Haible  <bruno@clisp.org>
26542
26543         Tests for module 'sys_utsname'.
26544         * modules/sys_utsname-tests: New file.
26545         * tests/test-sys_utsname.c: New file.
26546
26547         New module 'sys_utsname'.
26548         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
26549         * m4/sys_utsname_h.m4: New file.
26550         * modules/sys_utsname: New file.
26551         * doc/posix-headers/sys_utsname.texi: Mention the new module.
26552
26553 2009-08-02  Bruno Haible  <bruno@clisp.org>
26554
26555         Implicitly initialize the sockets library.
26556         * lib/gethostname.c: Include sockets.h.
26557         (rpl_gethostname): Invoke gl_sockets_startup.
26558         * lib/socket.c: Include sockets.h.
26559         (rpl_socket): Invoke gl_sockets_startup.
26560         * modules/gethostname (Depends-on): Add sockets.
26561         * modules/socket (Depends-on): Likewise.
26562         * tests/test-poll.c: Don't include sockets.h.
26563         (main): Don't invoke gl_sockets_startup.
26564         * tests/test-select.c: Don't include sockets.h.
26565         (main): Don't invoke gl_sockets_startup.
26566
26567 2009-08-02  Bruno Haible  <bruno@clisp.org>
26568
26569         Allow multiple calls to gl_sockets_startup.
26570         * lib/sockets.c (initialized_sockets_version): New variable.
26571         (gl_sockets_startup): Do nothing if already called for this or a higher
26572         version.
26573         (gl_sockets_cleanup): Reset initialized_sockets_version.
26574
26575 2009-08-03  Simon Josefsson  <simon@josefsson.org>
26576
26577         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
26578         different project/version.
26579
26580 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
26581             Bruno Haible  <bruno@clisp.org>
26582
26583         Tests for module 'pipe-filter-gi'.
26584         * modules/pipe-filter-gi-tests: New file.
26585         * tests/test-pipe-filter-gi1.sh: New file.
26586         * tests/test-pipe-filter-gi1.c: New file.
26587         * tests/test-pipe-filter-gi2.sh: New file.
26588         * tests/test-pipe-filter-gi2-main.c: New file.
26589         * tests/test-pipe-filter-gi2-child.c: New file.
26590
26591         New module 'pipe-filter-gi'.
26592         * lib/pipe-filter-gi.c: New file.
26593         * modules/pipe-filter-gi: New file.
26594
26595 2009-08-02  Bruno Haible  <bruno@clisp.org>
26596             Paolo Bonzini  <bonzini@gnu.org>
26597
26598         Tests for module 'pipe-filter-ii'.
26599         * modules/pipe-filter-ii-tests: New file.
26600         * tests/test-pipe-filter-ii1.sh: New file.
26601         * tests/test-pipe-filter-ii1.c: New file.
26602         * tests/test-pipe-filter-ii2.sh: New file.
26603         * tests/test-pipe-filter-ii2-main.c: New file.
26604         * tests/test-pipe-filter-ii2-child.c: New file.
26605
26606         New module 'pipe-filter-ii'.
26607         * lib/pipe-filter.h: New file.
26608         * lib/pipe-filter-ii.c: New file.
26609         * lib/pipe-filter-aux.h: New file.
26610         * modules/pipe-filter-ii: New file.
26611
26612 2009-08-02  Simon Josefsson  <simon@josefsson.org>
26613
26614         * lib/gc-libgcrypt.c: Change copyright to FSF.
26615         * lib/gc-gnulib.c: Likewise.
26616
26617 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
26618
26619         * lib/gethostname.c: Include limits.h.
26620
26621 2009-08-02  Simon Josefsson  <simon@josefsson.org>
26622             Bruno Haible  <bruno@clisp.org>
26623
26624         Ensure HOST_NAME_MAX as part of the gethostname module.
26625         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
26626         define also HOST_NAME_MAX.
26627         * tests/test-gethostname.c: Include <limits.h>.
26628         (main): Check also HOST_NAME_MAX.
26629         * doc/posix-headers/limits.texi: Document the mingw problem.
26630
26631 2009-08-02  Bruno Haible  <bruno@clisp.org>
26632
26633         * lib/gethostname.c (gethostname): Fix handling of large len argument.
26634         Add comments.
26635
26636 2009-03-31  Simon Josefsson  <simon@josefsson.org>
26637
26638         * lib/gethostname.c: Add Windows wrapper.
26639         * m4/gethostname.m4: Look for gethostname in -lws2_32.
26640         * modules/gethostname: Depend on sys_socket & errno, for also
26641         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
26642         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
26643
26644 2009-07-31  Jim Meyering  <meyering@redhat.com>
26645
26646         getloadavg: fix symbol name in comment
26647         * lib/getloadavg.c: Correct a typo I introduced when adding
26648         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
26649         Matt Kraai spotted the problem.
26650
26651 2009-07-29  Matt Kraai  <mkraai@beckman.com>
26652
26653         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
26654         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
26655         code also if ! defined N_NAME_POINTER.
26656         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
26657         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
26658         but the n_name member is a 12-byte array.
26659
26660 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
26661
26662         update-copyright: generalize comment handling
26663         * build-aux/update-copyright: Handle copyright statements
26664         within more comment styles.
26665         Document usage.
26666         Report any file with an external copyright holder or parse failure.
26667
26668 2009-07-29  Jim Meyering  <meyering@redhat.com>
26669
26670         mktime: correct setting of REPLACE_MKTIME
26671         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
26672
26673         update-copyright: new module
26674         * modules/update-copyright: New file.
26675         * build-aux/update-copyright: New file.
26676         * MODULES.html.sh (maint+release support): Add update-copyright.
26677
26678 2009-07-27  Bruno Haible  <bruno@clisp.org>
26679
26680         Fix compilation error when <ctime> is used and mktime is replaced.
26681         * lib/time.in.h (mktime): New declaration.
26682         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
26683         REPLACE_MKTIME instead of defining mktime in config.h.
26684         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
26685         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
26686         Reported by Ross McFarland <rwmcfa1@neces.com>.
26687
26688 2009-07-27  Bruno Haible  <bruno@clisp.org>
26689
26690         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
26691         Reported by Matt Kraai <mkraai@beckman.com>.
26692
26693 2009-07-25  Jim Meyering  <meyering@redhat.com>
26694
26695         maint.mk: avoid warnings about missing files
26696         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
26697         diagnostic when .prev-version does not exist.
26698         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
26699         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
26700         nonexistent cfg.mk.
26701         Suggestions from Simon Josefsson.
26702
26703 2009-07-25  Bruno Haible  <bruno@clisp.org>
26704
26705         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
26706         defined as macros. Needed on QNX 6.4.1.
26707         Reported by Matt Kraai <mkraai@beckman.com>.
26708
26709 2009-07-23  Jim Meyering  <meyering@redhat.com>
26710
26711         maint.mk: invoke "make dist" with a working value of XZ_OPT
26712         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
26713
26714 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
26715
26716         Make fseeko.c compile on QNX.
26717         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
26718
26719 2009-07-22  Peter Simons  <simons@cryp.to>
26720
26721         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
26722         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
26723         * lib/md4.h: Likewise.
26724         * lib/md5.h: Likewise.
26725         * lib/sha1.h: Likewise.
26726         * lib/sha256.h: Likewise.
26727         * lib/sha512.h: Likewise.
26728
26729         tests-sha1: don't assign literal string to 'char *' variable
26730         * tests/test-sha1.c (main): Declare locals with "const" to match
26731         attributes of the right hand side.
26732
26733 2009-07-21  Eric Blake  <ebb9@byu.net>
26734
26735         dup2: fix more mingw problems
26736         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
26737         fd to itself.
26738         * doc/posix-functions/dup2.texi (dup2): Document the bug.
26739         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
26740         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
26741         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
26742         care of mingw bugs.
26743
26744 2009-07-21  Jim Meyering  <meyering@redhat.com>
26745
26746         vc-list-files: avoid failure when /bin/sh is dash
26747         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
26748         On some Debian based systems, /bin/sh is a symlink to dash, and running
26749         this command would omit the "/" following each 'tests' prefix:
26750           dash -x build-aux/vc-list-files -C . tests
26751         That is because bash and dash work differently:
26752           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
26753           bash ok
26754           dash odd
26755
26756 2009-07-21  Eric Blake  <ebb9@byu.net>
26757
26758         dup2-tests: test previous patch
26759         * modules/dup2-tests: New file.
26760         * tests/test-dup2.c: Likewise.
26761         * tests/test-open.c (main): Avoid unspecified behavior.
26762         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
26763         test.
26764
26765         dup2: work around mingw and cygwin 1.5 bug
26766         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
26767         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
26768         * modules/unistd (Makefile.am): Substitute it.
26769         * lib/unistd.in.h (dup2): Declare the replacement.
26770         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
26771         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
26772         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
26773         * modules/execute (Depends-on): Add dup2.
26774         * modules/fseterr (Depends-on): Likewise.
26775         * modules/pipe (Depends-on): Likewise.
26776         * modules/posix_spawn-internal (Depends-on): Likewise.
26777
26778 2009-07-21  Bruno Haible  <bruno@clisp.org>
26779
26780         * modules/.gitattributes: New file.
26781
26782 2009-07-20  Bruno Haible  <bruno@clisp.org>
26783
26784         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
26785         (main): Use it.
26786
26787 2009-07-20  Eric Blake  <ebb9@byu.net>
26788
26789         test-pipe: make a bit more robust.
26790         * tests/test-pipe.c (myerr): Allow error messages regardless of
26791         what we do to stderr.
26792         (test_pipe): Rearrange to avoid deadlock.
26793         (child_main): Try a larger read, to ensure we avoided deadlock.
26794         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
26795         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
26796         if misused.
26797
26798 2009-07-19  Jim Meyering  <meyering@redhat.com>
26799
26800         fts: avoid false-positive cycle-detection
26801         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
26802         for each new command line argument.
26803
26804 2009-07-19  Bruno Haible  <bruno@clisp.org>
26805
26806         Fix build error on mingw with the modules sys_select and unistd.
26807         * modules/acl-tests (Depends-on): Add close.
26808         * modules/binary-io-tests (Depends-on): Likewise.
26809         * modules/closein-tests (Depends-on): Likewise.
26810         * modules/flock-tests (Depends-on): Likewise.
26811         * modules/fsync-tests (Depends-on): Likewise.
26812         * modules/lseek-tests (Depends-on): Likewise.
26813         * modules/pipe-tests (Depends-on): Likewise.
26814         * modules/posix_spawn-tests (Depends-on): Likewise.
26815         * modules/posix_spawnp-tests (Depends-on): Likewise.
26816         * modules/stat-time-tests (Depends-on): Likewise.
26817         * modules/yesno-tests (Depends-on): Likewise.
26818
26819 2009-07-19  Bruno Haible  <bruno@clisp.org>
26820
26821         Unify conditionals.
26822         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
26823         macros, not at the compiler macros.
26824         * lib/pipe.c: Likewise.
26825         * lib/execute.c: Likewise.
26826         * lib/spawni.c: Likewise.
26827
26828 2009-07-19  Bruno Haible  <bruno@clisp.org>
26829
26830         Fix handling of closed stdin/stdout/stderr on mingw.
26831         * lib/w32spawn.h: Include unistd.h.
26832         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
26833         file descriptor with O_NOINHERIT flag.
26834         (fd_safer_noinherit): New function, based on fd-safer.c.
26835         (dup_safer_noinherit): New function, based on dup-safer.c.
26836         (undup_safer_noinherit): New function.
26837         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
26838         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
26839         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
26840         instead of fd_safer.
26841         * tests/test-pipe.c: Include <windows.h>.
26842         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
26843
26844         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
26845         from main.
26846         (test_pipe): Pass an extra argument for disambiguation.
26847         (main): Invoke parent_main or child_main.
26848
26849         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
26850         consistently.
26851
26852 2009-07-18  Eric Blake  <ebb9@byu.net>
26853
26854         test-pipe: fix mingw build
26855         * tests/test-pipe.c (main): Avoid fcntl on mingw.
26856
26857 2009-07-18  Bruno Haible  <bruno@clisp.org>
26858
26859         * modules/pipe-tests (Makefile.am): Fix typo.
26860
26861 2009-07-18  Eric Blake  <ebb9@byu.net>
26862
26863         error: fix mingw build
26864         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
26865         Reported by Bruno Haible.
26866
26867         error: avoid undefined use of stdout
26868         * lib/error.c (error, error_at_line): Check that fd 1 is open
26869         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
26870         is handling faults and the close_stdout module wants to report the
26871         detection of closed stdout as an error.
26872
26873 2009-07-17  Eric Blake  <ebb9@byu.net>
26874
26875         pipe: be robust in face of closed fds
26876         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
26877         should cause child to misbehave.
26878         * modules/pipe-tests: New module.
26879         * tests/test-pipe.c: New file.
26880         * tests/test-pipe.sh: New file.
26881         Reported by Akim Demaille.
26882
26883 2009-07-14  Bruno Haible  <bruno@clisp.org>
26884
26885         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
26886         Reported by anonymous kc.
26887
26888 2009-07-07  Jim Meyering  <meyering@redhat.com>
26889
26890         maint.mk: don't look for translatable strings in *.m4 or *.mk
26891         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
26892         when searching for translatable strings.
26893
26894 2009-07-05  Jim Meyering  <meyering@redhat.com>
26895
26896         remove superfluous parentheses in STREQ definition
26897         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
26898         * lib/getugroups.c (STREQ): Likewise.
26899         * lib/fnmatch.c (STREQ): Likewise.
26900         Spotted by Bruno Haible.
26901
26902 2009-07-04  Jim Meyering  <meyering@redhat.com>
26903
26904         argv-iter: new module
26905         * MODULES.html.sh: Add argv-iter.
26906         * lib/argv-iter.c, lib/argv-iter.h: New files.
26907         * modules/argv-iter: New file.
26908         * modules/argv-iter-tests: New file.
26909         * tests/test-argv-iter.c: Test it.
26910
26911 2009-07-04  Bruno Haible  <bruno@clisp.org>
26912
26913         Fix assertion.
26914         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
26915         contains more exact copies of a given entry than file2, leave the extra
26916         copies unpaired rather than aborting.
26917         Reported by Eric Blake.
26918
26919 2009-07-02  Bruno Haible  <bruno@clisp.org>
26920
26921         Speedup git-merge-changelog for git cherry-pick.
26922         * lib/git-merge-changelog.c (struct entries_mapping): New type.
26923         (entries_mapping_get): New function, extracted from compute_mapping.
26924         (entries_mapping_reverse_get): New function.
26925         (compute_mapping): Add a 'full' argument. Return the result in a
26926         'struct entries_mapping'.
26927         (main): Update. Access the mappings through entries_mapping_get.
26928         Reported by Eric Blake.
26929
26930 2009-07-02  Bruno Haible  <bruno@clisp.org>
26931
26932         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
26933         best_i.
26934
26935 2009-07-02  Bruno Haible  <bruno@clisp.org>
26936
26937         Speed up approximate search for matching ChangeLog entries.
26938         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
26939         argument. Call fstrcmp_bounded instead of fstrcmp.
26940         (compute_mapping, try_split_merged_entry, main): Update callers.
26941
26942 2009-07-02  Bruno Haible  <bruno@clisp.org>
26943
26944         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
26945
26946 2009-06-30  Bruno Haible  <bruno@clisp.org>
26947
26948         Reduce the number of uc_is_cased calls.
26949         * lib/unicase.h (casing_suffix_context_t): Add
26950         'first_char_except_ignorable' field.
26951         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
26952         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
26953         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
26954         Update initializer.
26955         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
26956         case-ignorable characters.
26957         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
26958         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
26959         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
26960         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
26961         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
26962
26963 2009-06-30  Bruno Haible  <bruno@clisp.org>
26964
26965         Tests for module 'unicase/ignorable'.
26966         * modules/unicase/ignorable-tests: New file.
26967         * tests/unicase/test-ignorable.c: New file, generated by
26968         gen-uni-tables.
26969
26970         Tests for module 'unicase/cased'.
26971         * modules/unicase/cased-tests: New file.
26972         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
26973         * tests/unicase/test-predicate-part1.h: New file, derived from
26974         tests/unictype/test-predicate-part1.h.
26975         * tests/unicase/test-predicate-part2.h: New file, same as
26976         tests/unictype/test-predicate-part2.h.
26977
26978         Fix evaluation of "Before C" condition of FINAL_SIGMA.
26979         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
26980         (output_casing_properties): New function.
26981         (main): Call it.
26982         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
26983         * lib/unicase/cased.c: Include unictype/bitmap.h.
26984         (uc_is_cased): Define through a bitmap lookup.
26985         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
26986         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
26987         (uc_is_case_ignorable): Define through a bitmap lookup.
26988         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
26989         lib/unictype/bitmap.h.
26990         (Depends-on): Add inline. Clean up.
26991         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
26992         lib/unictype/bitmap.h.
26993         (Depends-on): Add inline. Clean up.
26994         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
26995         recognition.
26996         * tests/unicase/test-u16-tolower.c (main): Likewise.
26997         * tests/unicase/test-u32-tolower.c (main): Likewise.
26998
26999 2009-06-30  Bruno Haible  <bruno@clisp.org>
27000
27001         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
27002         * lib/unicase/u16-casemap.c: Likewise.
27003         * lib/unicase/u32-casemap.c: Likewise.
27004
27005 2009-06-29  Bruno Haible  <bruno@clisp.org>
27006
27007         Define u32_casefold as a wrapper around u32_ct_casefold.
27008         * lib/unicase/u32-casefold.c: Update.
27009         * modules/unicase/u32-casefold (Depends-on): Add
27010         unicase/u32-ct-casefold, unicase/empty-prefix-context,
27011         unicase/empty-suffix-context. Clean up.
27012
27013         Define u16_casefold as a wrapper around u16_ct_casefold.
27014         * lib/unicase/u16-casefold.c: Update.
27015         * modules/unicase/u16-casefold (Depends-on): Add
27016         unicase/u16-ct-casefold, unicase/empty-prefix-context,
27017         unicase/empty-suffix-context. Clean up.
27018
27019         Define u8_casefold as a wrapper around u8_ct_casefold.
27020         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
27021         * lib/unicase/u8-casefold.c: Update.
27022         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
27023         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27024
27025         Define u32_totitle as a wrapper around u32_ct_totitle.
27026         * lib/unicase/u32-totitle.c: Update.
27027         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
27028         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27029
27030         Define u16_totitle as a wrapper around u16_ct_totitle.
27031         * lib/unicase/u16-totitle.c: Update.
27032         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
27033         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27034
27035         Define u8_totitle as a wrapper around u8_ct_totitle.
27036         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
27037         functions.
27038         (FUNC): Delegate to U_CT_TOTITLE.
27039         * lib/unicase/u8-totitle.c: Update.
27040         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
27041         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27042
27043         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
27044         invocation.
27045         * modules/unicase/u32-tolower (Depends-on): Add
27046         unicase/empty-prefix-context, unicase/empty-suffix-context.
27047
27048         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
27049         invocation.
27050         * modules/unicase/u16-tolower (Depends-on): Add
27051         unicase/empty-prefix-context, unicase/empty-suffix-context.
27052
27053         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
27054         * modules/unicase/u8-tolower (Depends-on): Add
27055         unicase/empty-prefix-context, unicase/empty-suffix-context.
27056
27057         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
27058         invocation.
27059         * modules/unicase/u32-toupper (Depends-on): Add
27060         unicase/empty-prefix-context, unicase/empty-suffix-context.
27061
27062         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
27063         invocation.
27064         * modules/unicase/u16-toupper (Depends-on): Add
27065         unicase/empty-prefix-context, unicase/empty-suffix-context.
27066
27067         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
27068         * modules/unicase/u8-toupper (Depends-on): Add
27069         unicase/empty-prefix-context, unicase/empty-suffix-context.
27070
27071         New module 'unicase/u32-ct-casefold'.
27072         * lib/unicase/u32-ct-casefold.c: New file.
27073         * modules/unicase/u32-ct-casefold: New file.
27074
27075         New module 'unicase/u16-ct-casefold'.
27076         * lib/unicase/u16-ct-casefold.c: New file.
27077         * modules/unicase/u16-ct-casefold: New file.
27078
27079         New module 'unicase/u8-ct-casefold'.
27080         * lib/unicase/u8-ct-casefold.c: New file.
27081         * lib/unicase/u-ct-casefold.h: New file, derived from
27082         lib/unicase/u-casefold.h.
27083         * modules/unicase/u8-ct-casefold: New file.
27084
27085         New module 'unicase/u32-ct-totitle'.
27086         * lib/unicase/u32-ct-totitle.c: New file.
27087         * modules/unicase/u32-ct-totitle: New file.
27088
27089         New module 'unicase/u16-ct-totitle'.
27090         * lib/unicase/u16-ct-totitle.c: New file.
27091         * modules/unicase/u16-ct-totitle: New file.
27092
27093         New module 'unicase/u8-ct-totitle'.
27094         * lib/unicase/u8-ct-totitle.c: New file.
27095         * lib/unicase/u-ct-totitle.h: New file, derived from
27096         lib/unicase/u-totitle.h.
27097         * modules/unicase/u8-ct-totitle: New file.
27098
27099         New module 'unicase/u32-ct-tolower'.
27100         * lib/unicase/u32-ct-tolower.c: New file.
27101         * modules/unicase/u32-ct-tolower: New file.
27102
27103         New module 'unicase/u16-ct-tolower'.
27104         * lib/unicase/u16-ct-tolower.c: New file.
27105         * modules/unicase/u16-ct-tolower: New file.
27106
27107         New module 'unicase/u8-ct-tolower'.
27108         * lib/unicase/u8-ct-tolower.c: New file.
27109         * modules/unicase/u8-ct-tolower: New file.
27110
27111         New module 'unicase/u32-ct-toupper'.
27112         * lib/unicase/u32-ct-toupper.c: New file.
27113         * modules/unicase/u32-ct-toupper: New file.
27114
27115         New module 'unicase/u16-ct-toupper'.
27116         * lib/unicase/u16-ct-toupper.c: New file.
27117         * modules/unicase/u16-ct-toupper: New file.
27118
27119         New module 'unicase/u8-ct-toupper'.
27120         * lib/unicase/u8-ct-toupper.c: New file.
27121         * modules/unicase/u8-ct-toupper: New file.
27122
27123         Add context arguments to u*_casemap functions.
27124         * lib/unicase/unicasemap.h: Include unicase.h.
27125         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
27126         suffix_context arguments.
27127         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
27128         functions.
27129         (FUNC): Add prefix_context and suffix_context arguments. Use
27130         uc_is_cased and uc_is_case_ignorable.
27131         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
27132         * lib/unicase/u16-casemap.c: Likewise.
27133         * lib/unicase/u32-casemap.c: Likewise.
27134         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
27135         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27136         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
27137         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27138         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
27139         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
27140
27141         New module 'unicase/u32-suffix-context'.
27142         * lib/unicase/u32-suffix-context.c: New file.
27143         * modules/unicase/u32-suffix-context: New file.
27144
27145         New module 'unicase/u16-suffix-context'.
27146         * lib/unicase/u16-suffix-context.c: New file.
27147         * modules/unicase/u16-suffix-context: New file.
27148
27149         New module 'unicase/u8-suffix-context'.
27150         * lib/unicase/u8-suffix-context.c: New file.
27151         * lib/unicase/u-suffix-context.h: New file.
27152         * modules/unicase/u8-suffix-context: New file.
27153
27154         New module 'unicase/empty-suffix-context'.
27155         * lib/unicase/empty-suffix-context.c: New file.
27156         * modules/unicase/empty-suffix-context: New file.
27157
27158         New module 'unicase/u32-prefix-context'.
27159         * lib/unicase/u32-prefix-context.c: New file.
27160         * modules/unicase/u32-prefix-context: New file.
27161
27162         New module 'unicase/u16-prefix-context'.
27163         * lib/unicase/u16-prefix-context.c: New file.
27164         * modules/unicase/u16-prefix-context: New file.
27165
27166         New module 'unicase/u8-prefix-context'.
27167         * lib/unicase/u8-prefix-context.c: New file.
27168         * lib/unicase/u-prefix-context.h: New file.
27169         * lib/unicase/context.h: New file.
27170         * modules/unicase/u8-prefix-context: New file.
27171
27172         New module 'unicase/empty-prefix-context'.
27173         * lib/unicase/empty-prefix-context.c: New file.
27174         * modules/unicase/empty-prefix-context: New file.
27175
27176         New module 'unicase/ignorable'.
27177         * lib/unicase/ignorable.c: New file.
27178         * modules/unicase/ignorable: New file.
27179
27180         New module 'unicase/cased'.
27181         * lib/unicase/caseprop.h: New file.
27182         * lib/unicase/cased.c: New file.
27183         * modules/unicase/cased: New file.
27184
27185         New functions for case mapping of substrings.
27186         * lib/unicase.h (casing_prefix_context_t): New type.
27187         (unicase_empty_prefix_context): New variable.
27188         (u8_casing_prefix_context, u16_casing_prefix_context,
27189         u32_casing_prefix_context, u8_casing_prefixes_context,
27190         u16_casing_prefixes_context, u32_casing_prefixes_context): New
27191         declarations.
27192         (casing_suffix_context_t): New type.
27193         (unicase_empty_suffix_context): New variable.
27194         (u8_casing_suffix_context, u16_casing_suffix_context,
27195         u32_casing_suffix_context, u8_casing_suffixes_context,
27196         u16_casing_suffixes_context, u32_casing_suffixes_context,
27197         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
27198         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
27199         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
27200         declarations.
27201
27202 2009-06-28  Jim Meyering  <meyering@redhat.com>
27203
27204         boostrap: indent only with spaces
27205         * build-aux/bootstrap: Indent only with spaces, never TABs.
27206
27207         bootstrap: split long lines
27208         * build-aux/bootstrap: Keep line length < 80.
27209
27210         bootstrap: sync from coreutils
27211         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
27212         just as autoreconf does.  Verify a list of prerequisite
27213         package-name,version-number pairs if defined in bootstrap.conf.
27214         Refer to README-prereq, if prerequisites are not satisfied.
27215
27216 2009-06-27  Eric Blake  <ebb9@byu.net>
27217
27218         tests: add test for bogus NULL definition
27219         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
27220         * tests/test-stdlib.c: Likewise.
27221         * tests/test-string.c: Likewise.
27222         * tests/test-locale.c: Likewise.
27223         * tests/test-unistd.c: Likewise.
27224         * modules/stdio-tests (Depends-on): Add verify.
27225         * modules/stdlib-tests (Depends-on): Likewise.
27226         * modules/string-tests (Depends-on): Likewise.
27227         * modules/locale-tests (Depends-on): Likewise.
27228         * modules/unistd-tests (Depends-on): Likewise.
27229
27230 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
27231
27232         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
27233         self-explaining comment.
27234         * m4/selinux-selinux-h: Update serial.
27235         (gl_LIBSELINUX): New macro, adding a warning for missing development
27236         packages to code extracted from...
27237         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
27238         Add warning for missing development packages here, too.
27239
27240 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
27241
27242         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
27243
27244 2009-06-25  Eric Blake  <ebb9@byu.net>
27245
27246         version-etc: fix regression
27247         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
27248         gcc.
27249         (version_etc): Use it, to catch bugs with trailing NULL.
27250         * lib/version-etc.c (version_etc_arn): Delete unused argument.
27251         (version_etc_va): Fix logic bug.
27252         * modules/version-etc-tests: Add test.
27253         * tests/test-version-etc.c: New file.
27254         * tests/test-version-etc.sh: Likewise.
27255
27256 2009-06-25  Sam Steingold  <sds@gnu.org>
27257
27258         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
27259         mbtowc declaration.
27260
27261 2009-06-25  Eric Blake  <ebb9@byu.net>
27262
27263         fpurge: migrate into <stdio.h>
27264         * lib/fpurge.h: Delete...
27265         * lib/stdio.in.h (fpurge): ...and declare here, instead.
27266         * lib/fpurge.c (fpurge): Change declaring header.
27267         * modules/fpurge (Files): Drop deleted file.
27268         (Depends-on): Add stdio.
27269         (configure.ac): Set witness.
27270         * modules/stdio (Makefile.am): Support fpurge macros.
27271         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
27272         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
27273         * lib/fflush.c: Update client.
27274         * tests/test-fpurge.c: Likewise.
27275         * NEWS: Mention the change.
27276
27277 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27278
27279         * lib/argp-version-etc.c (program_authors): Add const
27280         qualifier.
27281         * lib/version-etc.c: Fix typos in the comments.
27282         * modules/argp-version-etc: Depends on version-etc.
27283
27284 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27285
27286         argp-version-etc: new module.
27287
27288         * lib/argp-version-etc.c: New file.
27289         * lib/argp-version-etc.h: New file.
27290         * modules/argp-version-etc: New file.
27291         * modules/argp-version-etc-tests: New file.
27292         * tests/test-argp-version-etc.c: New test.
27293         * tests/test-argp-version-etc-1.sh: New test.
27294
27295 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
27296
27297         Provide additional interfaces and documentation for version-etc
27298         module.
27299
27300         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
27301         interfaces.
27302         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
27303         prototypes.
27304
27305 2009-06-24  Bruno Haible  <bruno@clisp.org>
27306
27307         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
27308         HAVE_LIB${NAME} macro.
27309         Reported by Sam Steingold <sds@gnu.org>.
27310
27311 2009-06-23  Simon Josefsson  <simon@josefsson.org>
27312
27313         * modules/hash-tests (test_hash_LDADD): Link to libintl when
27314         needed.
27315
27316 2009-06-21  Bruno Haible  <bruno@clisp.org>
27317
27318         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
27319         work.
27320         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
27321         together with LIB${NAME}, LTLIB${NAME}.
27322         Reported by Sam Steingold <sds@gnu.org>.
27323
27324 2009-06-20  Jim Meyering  <meyering@redhat.com>
27325
27326         tests: make sc_require_test_exit_idiom more generic
27327         * top/maint.mk (Exit_witness_file): New overridable variable.
27328         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
27329         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
27330
27331 2009-06-19  Jim Meyering  <meyering@redhat.com>
27332
27333         hash: reverse order of src/dst parameters in an internal interface
27334         * lib/hash.c (transfer_entries): Reverse order of parameters to
27335         put DST before SRC.  Adjust callers.
27336
27337         tests: test-hash: avoid wholesale duplication
27338         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
27339         Instead, use a loop and add a single conditional.
27340
27341         tests: test-hash: allow seed selection via a command line argument
27342         * tests/test-hash.c (get_seed): New function.
27343         (main): Use it.
27344
27345 2009-06-19  Eric Blake  <ebb9@byu.net>
27346
27347         hash: avoid memory leak on allocation failure
27348         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
27349         failure.  Factor repeated algorithm...
27350         (transfer_entries): ...into new helper routine.
27351         (hash_delete): React to hash_rehash return value.
27352
27353         hash: reduce memory pressure in hash_rehash no-op case
27354         * lib/hash.c (next_prime): Avoid overflow.
27355         (hash_initialize): Factor bucket size computation...
27356         (compute_bucket_size): ...into new helper function.
27357         (hash_rehash): Use new function and open coding to reduce memory
27358         pressure, and avoid a memory leak in USE_OBSTACK code.
27359         Reported by Jim Meyering.
27360
27361 2009-06-18  Eric Blake  <ebb9@byu.net>
27362
27363         hash: make rotation more obvious
27364         * modules/hash (Depends-on): Add bitrotate and stdint.
27365         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
27366         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
27367         (SIZE_MAX): Rely on headers for definition.
27368         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
27369         (raw_hasher): Use rotr_sz.
27370         Suggested by Jim Meyering.
27371
27372         hash: fix memory leak in last patch
27373         * lib/hash.c (hash_rehash): Avoid memory leak.
27374
27375         hash: avoid no-op rehashing
27376         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
27377
27378         hash: provide default callback functions
27379         * lib/hash.c (raw_hasher, raw_comparator): New functions.
27380         (hash_initialize): Use them as defaults.
27381         * tests/test-hash.c (main): Test this.
27382
27383         hash: minor optimization
27384         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
27385         when possible.
27386         (hash_initialize): Document this promise.
27387         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
27388         * tests/test-hash.c (hash_compare_strings): Test this.
27389
27390 2009-06-18  Bruno Haible  <bruno@clisp.org>
27391
27392         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
27393         going to be replaced anyway.
27394
27395 2009-06-18  Bruno Haible  <bruno@clisp.org>
27396
27397         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
27398         in one place.
27399         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
27400         be replaced anyway.
27401
27402 2009-06-18  Eric Blake  <ebb9@byu.net>
27403
27404         hash: check for resize before insertion
27405         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
27406         threshold before insertion, so that a pathological hash_rehash
27407         that fills every bucket can still trigger another rehash.
27408
27409 2009-06-18  Jim Meyering  <meyering@redhat.com>
27410
27411         hash-tests: add a loop around the small tests
27412         * tests/test-hash.c (main): Repeat small tests with selected
27413         small initial table sizes.
27414
27415 2009-06-17  Eric Blake  <ebb9@byu.net>
27416
27417         hash: minor cleanups
27418         * lib/hash.h (hash_entry): Make opaque, by moving...
27419         * lib/hash.c (hash_entry): ...here.
27420         (hash_insert): Clarify restrictions on what can be inserted.
27421         (hash_get_next): Clarify when it is safe to remove an element
27422         during traversal.
27423         (check_tuning): Skip verification when tuning is known safe.
27424         (hash_initialize): Clarify restrictions on tuning.
27425
27426 2009-06-17  Jim Meyering  <jim@meyering.net>
27427         and Eric Blake  <ebb9@byu.net>
27428
27429         hash-tests: new module
27430         * modules/hash-tests: New file.
27431         * tests/test-hash.c: New file.
27432
27433 2009-06-17  Eric Blake  <ebb9@byu.net>
27434
27435         strstr-simple: document new module
27436         * MODULES.html.sh: Document new module.
27437
27438         strstr, strcasestr: replace on platforms with broken memchr
27439         * modules/strstr: Split into...
27440         * modules/strstr-simple: ...new module that does not care about
27441         performance, but does care about glibc bug.
27442         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
27443         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
27444         if platform memchr is broken, per Debian bug 521737.
27445         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
27446         memchr.
27447         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
27448         * doc/posix-functions/strstr.texi (strstr): Document the fix.
27449         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27450         * modules/mountlist (Depends-on): Add strstr-simple.
27451         * modules/gen-uni-tables (Depends-on): Likewise.
27452         * modules/argz (Depends-on): Add strstr.
27453
27454 2009-06-17  Bruno Haible  <bruno@clisp.org>
27455
27456         * modules/posix_spawn-internal (Depends-on): Add errno.
27457
27458 2009-06-17  Bruno Haible  <bruno@clisp.org>
27459
27460         Define missing ESTALE on Interix 3.5.
27461         * lib/errno.in.h (ESTALE): Assign a value if missing.
27462         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
27463         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
27464         missing.
27465         * doc/posix-headers/errno.texi: Mention the Interix bug.
27466         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
27467
27468 2009-06-15  Eric Blake  <ebb9@byu.net>
27469
27470         memchr, memchr2: add valgrind exception
27471         * lib/memchr.valgrind: New file.
27472         * lib/memchr2.valgrind: New file.
27473         * modules/memchr (Files): Distribute valgrind file.
27474         * modules/memchr2 (Files): Likewise.
27475
27476         docs: memchr is no longer obsolete
27477         * MODULES.html.sh: Move memchr from obsolete to string.h section.
27478         * lib/string.in.h (memchr): Simplify logic.
27479
27480 2009-06-14  Jim Meyering  <meyering@redhat.com>
27481
27482         link-follow: fix the "checking..." message to not mention trailing slash
27483         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
27484         never considered trailing slashes.
27485
27486 2009-06-14  Bruno Haible  <bruno@clisp.org>
27487
27488         * m4/memchr.m4: Mention also the bug on IA-64.
27489         * doc/posix-functions/memchr.texi: Likewise.
27490
27491 2009-06-12  Eric Blake  <ebb9@byu.net>
27492
27493         memchr: detect broken x86_64 and alpha implementations
27494         * modules/memchr-tests (Depends-on): Move mmap detection...
27495         * modules/memchr (Depends-on): ...here.
27496         (configure.ac): Set indicator.
27497         * lib/string.in.h (memchr): Declare replacement.
27498         * modules/string (Makefile.am): Trigger replacement.
27499         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
27500         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
27501         bugs.
27502         * doc/posix-functions/memchr.texi (memchr): Document the bug.
27503         * modules/getpagesize (License): Relax license.
27504
27505 2009-06-11  Bruno Haible  <bruno@clisp.org>
27506
27507         * lib/idpriv.h: Add more references.
27508
27509 2009-06-08  Bruno Haible  <bruno@clisp.org>
27510
27511         Tests for module 'idpriv-droptemp'.
27512         * modules/idpriv-droptemp-tests: New file.
27513         * tests/test-idpriv-droptemp.sh: New file.
27514         * tests/test-idpriv-droptemp.su.sh: New file.
27515         * tests/test-idpriv-droptemp.c: New file.
27516
27517         New module 'idpriv-droptemp'.
27518         * lib/idpriv-droptemp.c: New file.
27519         * modules/idpriv-droptemp: New file.
27520
27521 2009-06-08  Bruno Haible  <bruno@clisp.org>
27522
27523         Tests for module 'idpriv-drop'.
27524         * modules/idpriv-drop-tests: New file.
27525         * tests/test-idpriv-drop.sh: New file.
27526         * tests/test-idpriv-drop.su.sh: New file.
27527         * tests/test-idpriv-drop.c: New file.
27528
27529         New module 'idpriv-drop'.
27530         * lib/idpriv.h: New file.
27531         * lib-idpriv-drop.c: New file.
27532         * m4/idpriv.m4: New file.
27533         * modules/idpriv-drop: New file.
27534
27535 2009-06-08  Bruno Haible  <bruno@clisp.org>
27536
27537         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
27538         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27539         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27540         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27541         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27542         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27543         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27544
27545 2009-06-08  Eric Blake  <ebb9@byu.net>
27546
27547         test-strstr: use memory fence, when possible
27548         * tests/test-strstr.c (main): Use memory fence, in order to be
27549         more likely to trigger Debian bug 521737.
27550         * modules/strstr-tests (Files): Pull in additional files.
27551
27552         memchr: no longer obsolete, for wider field testing
27553         * modules/memchr (Status, Notice): Delete, this module is no
27554         longer obsolete.
27555         * modules/vasnprintf (Depends-on): Add memchr.
27556
27557 2009-06-07  Jim Meyering  <meyering@redhat.com>
27558
27559         hash: declare some functions with the warn_unused_result attribute
27560         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
27561
27562 2009-06-07  Bruno Haible  <bruno@clisp.org>
27563
27564         * tests/test-alignof.c: Don't test int64_t if it does not exist.
27565         Reported by Eric Blake.
27566
27567 2009-06-06  Eric Blake  <ebb9@byu.net>
27568
27569         test-alignof: fix typo with long double
27570         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
27571         compiler error.
27572
27573 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
27574
27575         Escape non-texinfo { and }s.
27576         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
27577         markup error.
27578
27579 2009-06-04  Jim Meyering  <meyering@redhat.com>
27580
27581         gitlog-to-changelog: don't infloop on an empty commit log
27582         * build-aux/gitlog-to-changelog: Warn about an empty log message.
27583         Reported by Boris Petersen <transacid@centerim.org>.
27584
27585 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
27586
27587         version-etc: extend for packagers
27588         Add three new configure options, intended for packagers:
27589           --with-packager="packager name"
27590           --with-packager-version="packager-specific version"
27591           --with-packager-bug-reports="packager bug reporting"
27592         An example with coreutils:
27593           $ ./configure \
27594             --with-packager=Gentoo \
27595             --with-packager-bug-report=http://bugs.gentoo.org/ \
27596             --with-packager-version="patchset 1.6"
27597           $ ./src/ls --version | head -n2
27598           ls (GNU coreutils) 7.1-dirty
27599           Packaged by Gentoo (patchset 1.6)
27600         Note that the bug reporting info via --help doesn't show up because
27601         coreutils uses its own custom emit_bug_reporting_address() implementation
27602         in src/system.h.  If it didn't, it'd look like:
27603           $ ./src/ls --help | tail -n4
27604           Report bugs to <bug-coreutils@gnu.org>.
27605           Report Gentoo bugs to <http://bugs.gentoo.org/>.
27606           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
27607           General help using GNU software: <http://www.gnu.org/gethelp/>.
27608         * lib/version-etc.c: Print new information, if provided.
27609         * m4/version-etc.m4: New file.
27610         * modules/version-etc (Files): Add m4/version-etc.m4.
27611         (configure.ac): Add gl_VERSION_ETC.
27612
27613 2009-05-31  Bruno Haible  <bruno@clisp.org>
27614
27615         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
27616         and 'int64_t'.
27617         * modules/alignof-tests (Dependencies): Add stdint.
27618         Reported by Eric Blake.
27619
27620 2009-05-31  Bruno Haible  <bruno@clisp.org>
27621
27622         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
27623         restriction due to compiler bugs.
27624         Reported by Eric Blake.
27625
27626 2009-05-31  Simon Josefsson  <simon@josefsson.org>
27627             Bruno Haible  <bruno@clisp.org>
27628
27629         Fix test-alignof failure.
27630         * lib/alignof.h (alignof_slot): New macro.
27631         (alignof_type): New macro, with the same semantics as the previous
27632         'alignof'.
27633         (alignof): Alias to alignof_slot.
27634         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
27635         check that the results are usable as constant expressions.
27636
27637 2009-05-31  Bruno Haible  <bruno@clisp.org>
27638
27639         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
27640         * tests/test-memchr.c (main): Check that memchr does not read past the
27641         first occurrence of the byte.
27642         * tests/test-strstr.c (main): Update comment.
27643         Suggested by Eric Blake.
27644
27645 2009-05-30  Bruno Haible  <bruno@clisp.org>
27646
27647         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
27648         detail how to use dumpbin.
27649         Reported by David Byron <dbyron@dbyron.com>.
27650
27651 2009-06-02  Simon Josefsson  <simon@josefsson.org>
27652
27653         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
27654
27655 2009-06-02  Simon Josefsson  <simon@josefsson.org>
27656
27657         * m4/manywarnings.m4: Add GCC 4.4 warnings.
27658
27659 2009-05-28  Bruno Haible  <bruno@clisp.org>
27660
27661         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
27662         build-aux/ files.
27663
27664 2009-05-28  Simon Josefsson  <simon@josefsson.org>
27665
27666         * gnulib-tool (func_import): Transform license on build-aux/ files too.
27667
27668 2009-05-27  Simon Josefsson  <simon@josefsson.org>
27669
27670         * gnulib-tool (sed_transform_main_lib_file)
27671         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
27672         regexps.
27673
27674 2009-05-26  Simon Josefsson  <simon@josefsson.org>
27675
27676         * tests/test-strstr.c: Add another self-test.
27677         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
27678         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
27679
27680 2009-05-23  Bruno Haible  <bruno@clisp.org>
27681
27682         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
27683         change.
27684
27685 2009-05-21  Bruno Haible  <bruno@clisp.org>
27686
27687         Simplify use of mode_t varargs.
27688         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
27689         uses 'mode_t' or 'int'.
27690         * lib/openat.c (openat): Likewise.
27691         * lib/open-safer.c (open_safer): Likewise.
27692         * m4/mode_t.m4: New file.
27693         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
27694         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
27695         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
27696         * modules/open (Files): Add m4/mode_t.m4.
27697         * modules/openat (Files): Likewise.
27698         * modules/fcntl-safer (Files): Likewise.
27699         Suggested by Eric Blake.
27700
27701 2009-05-21  Pádraig Brady  <P@draigbrady.com>
27702
27703         * doc/glibc-functions/fallocate.texi: New file.
27704         * doc/gnulib.texi: Include it.
27705
27706 2009-05-21  Eric Blake  <ebb9@byu.net>
27707             Bruno Haible  <bruno@clisp.org>
27708
27709         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
27710         invocations.
27711         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
27712
27713 2009-05-21  Eric Blake  <ebb9@byu.net>
27714             Bruno Haible  <bruno@clisp.org>
27715
27716         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
27717         include_next. Fix of 2008-11-20 commit.
27718         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
27719         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
27720         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
27721         NEXT_MATH_H.
27722         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
27723         instead of NEXT_MATH_H.
27724
27725 2009-05-21  Bruno Haible  <bruno@clisp.org>
27726
27727         Avoid redefinition warnings for SIZE_MAX.
27728         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
27729         Reported by Simon Josefsson.
27730
27731 2009-05-21  Bruno Haible  <bruno@clisp.org>
27732
27733         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
27734         AC_CACHE_VAL.
27735
27736 2009-05-20  Bruno Haible  <bruno@clisp.org>
27737
27738         Make zeroptr.h work on mingw.
27739         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
27740         mprotect.
27741         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
27742         * modules/memchr2-tests (configure.ac): Likewise.
27743         * modules/memcmp-tests (configure.ac): Likewise.
27744         * modules/memmem-tests (configure.ac): Likewise.
27745         * modules/memrchr-tests (configure.ac): Likewise.
27746         Reported by Simon Josefsson.
27747
27748 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27749
27750         * tests/test-glob.c: Include string.h for strcmp prototype.
27751
27752 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27753
27754         * modules/getdelim (Depends-on): Add explicit stdint, although it
27755         was implicitly already pulled in via realloc-posix.
27756         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
27757
27758 2009-05-20  Simon Josefsson  <simon@josefsson.org>
27759
27760         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
27761         G. Christensen" <tgc@jupiterrise.com>.
27762         * m4/sys_socket_h.m4: Check for sa_family_t.
27763         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
27764         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
27765         * tests/test-sys_socket.c: Check that sa_family_t works.
27766
27767 2009-05-18  Eric Blake  <ebb9@byu.net>
27768
27769         maint.mk: allow gnulib_dir in VPATH build
27770         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
27771
27772 2009-05-15  Jim Meyering  <meyering@redhat.com>
27773
27774         maint.mk: Give gnulib_dir a default definition.
27775         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
27776         Thus, most packages no longer need to specify this variable in cfg.mk
27777
27778 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
27779
27780         rename.m4: fix typos that would make non-mingw cross-configure fail
27781         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
27782
27783 2009-05-13  Eric Blake  <ebb9@byu.net>
27784
27785         mmap-anon: avoid out-of-order autoconf expansion
27786         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
27787         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
27788         * modules/memchr-tests (Depends-on): Add extensions.
27789         * modules/memchr2-tests (Depends-on): Add extensions.
27790         * modules/memcmp-tests (Depends-on): Add extensions.
27791         * modules/memmem-tests (Depends-on): Add extensions.
27792         * modules/memrchr-tests (Depends-on): Add extensions.
27793
27794 2009-05-13  Bruno Haible  <bruno@clisp.org>
27795
27796         Make some tests ISO C 99 compliant.
27797         * tests/zerosize-ptr.h: New file.
27798         * tests/test-memchr.c: Include zerosize-ptr.h.
27799         (main): Use a zero-size object pointer instead of NULL.
27800         * tests/test-memchr2.c: Include zerosize-ptr.h.
27801         (main): Use a zero-size object pointer instead of NULL.
27802         * tests/test-memcmp.c: Include zerosize-ptr.h.
27803         (main): Use a zero-size object pointer instead of NULL.
27804         * tests/test-memmem.c: Include zerosize-ptr.h.
27805         (main): Use a zero-size object pointer instead of NULL.
27806         * tests/test-memrchr.c: Include zerosize-ptr.h.
27807         (main): Use a zero-size object pointer instead of NULL.
27808         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
27809         m4/mmap-anon.m4.
27810         (Depends-on): Add getpagesize.
27811         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27812         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
27813         m4/mmap-anon.m4.
27814         (Depends-on): Add getpagesize.
27815         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27816         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
27817         m4/mmap-anon.m4.
27818         (Depends-on): Add getpagesize.
27819         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27820         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
27821         m4/mmap-anon.m4.
27822         (Depends-on): Add getpagesize.
27823         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27824         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
27825         m4/mmap-anon.m4.
27826         (Depends-on): Add getpagesize.
27827         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
27828
27829 2009-05-12  Bruno Haible  <bruno@clisp.org>
27830
27831         Tests for module 'alignof'.
27832         * modules/alignof-tests: New file.
27833         * tests/test-alignof.c: New file.
27834
27835 2009-05-12  Bruno Haible  <bruno@clisp.org>
27836
27837         Fix alignof macro.
27838         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
27839         vendor compilers that are always correct.
27840
27841 2009-05-12  Bruno Haible  <bruno@clisp.org>
27842
27843         Make the MAP_ANONYMOUS detection work on HP-UX 11.
27844         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
27845         not whether its fully works.
27846
27847 2009-05-12  Bruno Haible  <bruno@clisp.org>
27848
27849         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
27850
27851 2009-05-12  Jim Meyering  <meyering@redhat.com>
27852
27853         * top/maint.mk: Adjust backslash alignment.
27854
27855 2009-05-11  Simon Josefsson  <simon@josefsson.org>
27856
27857         * top/maint.mk: Make $(srcdir)/build-aux configurable.
27858
27859 2009-05-11  Eric Blake  <ebb9@byu.net>
27860
27861         argp: avoid undefined behavior
27862         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
27863         macros.
27864
27865 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27866
27867         * tests/test-vc-list-files-git.sh: Do git config of user.email and
27868         user.name to prevent git commit from complaining.
27869
27870 2009-05-10  Bruno Haible  <bruno@clisp.org>
27871
27872         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
27873         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
27874         it rewrites every file name only once.
27875         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
27876
27877 2009-05-08  Bruno Haible  <bruno@clisp.org>
27878
27879         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
27880         instead of 'max'.
27881
27882 2009-05-08  Simon Josefsson  <simon@josefsson.org>
27883
27884         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
27885         sockaddr_storage test.
27886
27887 2009-05-07  Simon Josefsson  <simon@josefsson.org>
27888
27889         * modules/sys_socket (Makefile.am): Substitute
27890         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
27891         * m4/sys_socket_h.m4: Check for sockaddr_storage.
27892         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
27893         * tests/test-sys_socket.c: Check sockaddr_storage.
27894
27895 2009-05-08  Bruno Haible  <bruno@clisp.org>
27896
27897         New module 'alignof'.
27898         * lib/alignof.h: New file.
27899         * modules/alignof: New file.
27900
27901 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27902             Bruno Haible  <bruno@clisp.org>
27903
27904         Fix test-file-has-acl on FreeBSD.
27905         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
27906         mask is implicitly added.
27907         * tests/test-file-has-acl.c: Include <signal.h>.
27908         (main): Terminate the test after 5 seconds.
27909         * modules/acl-tests (configure.ac): Check for alarm function.
27910
27911 2009-05-04  Bruno Haible  <bruno@clisp.org>
27912
27913         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
27914         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
27915         * modules/errno (configure.ac): Drop AC_REQUIRE.
27916         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
27917         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
27918
27919 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27920
27921         * modules/glob-tests: New module.
27922         * tests/test-glob.c: Add.
27923
27924 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27925
27926         * modules/fnmatch-tests: New module.
27927         * tests/test-fnmatch.c: Add.
27928
27929 2009-05-04  Eric Blake  <ebb9@byu.net>
27930
27931         maint: make the new no-submodule-changes rule VPATH-safe
27932         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
27933
27934 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27935             Bruno Haible  <bruno@clisp.org>
27936
27937         acl: Fix infinite loop on FreeBSD.
27938         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
27939         of return value from acl_get_entry.
27940         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
27941         Likewise.
27942
27943 2009-05-03  Bruno Haible  <bruno@clisp.org>
27944
27945         * lib/acl-internal.h (acl_entries): Clarify return value.
27946         * lib/acl_entries.c (acl_entries): Likewise.
27947
27948 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27949
27950         Bug fix in acl module.
27951         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
27952
27953 2009-05-03  Bruno Haible  <bruno@clisp.org>
27954
27955         Create gperf-generated file in the source dir, not in the build dir.
27956         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
27957         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
27958         * modules/unicase/locale-language (unicase/locale-languages.h):
27959         Likewise.
27960         * modules/unicase/special-casing (unicase/special-casing-table.h):
27961         Likewise.
27962         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
27963         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
27964         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
27965         Reported by Ralf Wildenhues.
27966
27967 2009-05-03  Bruno Haible  <bruno@clisp.org>
27968
27969         * modules/fnmatch (Description, configure.ac): Taken from
27970         fnmatch-posix.
27971         * modules/fnmatch-posix: Turn into a symbolic reference to the
27972         'fnmatch' module, and deprecate.
27973         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
27974
27975 2009-05-03  Bruno Haible  <bruno@clisp.org>
27976
27977         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
27978         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
27979         Reported by Ralf Wildenhues.
27980
27981 2009-05-04  Simon Josefsson  <simon@josefsson.org>
27982
27983         * m4/fnmatch.m4: Fix fnmatch re-define.
27984
27985 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
27986
27987         priv-set: new module and tests; adapt write-any-file
27988         * lib/priv-set.c: New file.
27989         * lib/priv-set.h: New file.
27990         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
27991         * lib/write-any-file.c: Simplify by using priv-set module.
27992         * m4/priv-set.m4: New file.
27993         * modules/priv-set: New file.
27994         * modules/unlinkdir: Add dependency on priv-set module.
27995         * modules/write-any-file: Likewise.
27996
27997         Tests for module 'priv-set'.
27998         * modules/priv-set-tests: New file.
27999         * tests/test-priv-set.c: New file.
28000
28001 2009-05-03  Jim Meyering  <meyering@redhat.com>
28002             Bruno Haible  <bruno@clisp.org>
28003
28004         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
28005         use the converted UTF-8 variant of the name instead.
28006
28007 2009-05-03  Jim Meyering  <meyering@redhat.com>
28008
28009         tests: tighten some getdate tests
28010         * tests/test-getdate.c (main): Tighten tests: require equality,
28011         not just greater than.  Set TZ envvar to UTC0.
28012
28013 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28014
28015         getdate: correctly interpret "next monday" when run on a Monday
28016         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
28017         that e.g., "next tues" (when run on a tuesday) results in a date
28018         that is one week in the future, and not today's date.
28019         I.e., add a week when the wday is the same as the current one.
28020         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
28021         and earlier by Martin Bernreuther and Jan Minář.
28022         * tests/test-getdate.c (main): Check that "next DAY" is always in
28023         the future and that "last DAY" is always in the past.
28024
28025 2009-05-02  Jim Meyering  <meyering@redhat.com>
28026
28027         build: ensure that a release build fails when a submodule is unclean
28028         * top/maint.mk (no-submodule-changes): New rule.
28029         (alpha beta major): Depend on it.
28030
28031 2009-05-02  Bruno Haible  <bruno@clisp.org>
28032
28033         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
28034         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
28035         shell variable gl_fnmatch_required to detect which variant is
28036         requested.
28037         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
28038         gl_FUNC_FNMATCH_POSIX.
28039         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
28040         exclude fnmatch-posix.
28041
28042 2009-05-02  Bruno Haible  <bruno@clisp.org>
28043
28044         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
28045         * modules/mbsrtowcs (License): Change to LGPLv2+.
28046         * modules/strnlen1 (License): Likewise.
28047         Reported by Simon Josefsson.
28048
28049 2009-05-02  Bruno Haible  <bruno@clisp.org>
28050
28051         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
28052         "cross".
28053         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
28054         gnulib-tool was called with option --source-base=lib.
28055
28056 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28057
28058         Use automake *-local hooks without commands, for extensibility.
28059         * modules/localcharset (Makefile.am): Rename install-exec-local
28060         rule to install-exec-localcharset, and make it a prerequisite of
28061         install-exec-local.  Likewise, rename the uninstall-local rule to
28062         uninstall-localcharset, and make it a prerequisite of the former.
28063
28064 2009-05-01  Bruno Haible  <bruno@clisp.org>
28065
28066         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
28067         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28068         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
28069         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
28070         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
28071         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28072         m4/locale-zh.m4, m4/codeset.m4.
28073
28074         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
28075         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
28076         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
28077         m4/locale-zh.m4.
28078
28079         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
28080         REPLACE_WCRTOMB if mbstate_t must be replaced.
28081         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
28082         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
28083
28084 2009-05-01  Bruno Haible  <bruno@clisp.org>
28085
28086         Avoid compiler warnings when redefining macros defined by <libintl.h>.
28087         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
28088         dngettext, dcngettext, textdomain, bindtextdomain,
28089         bind_textdomain_codeset): Undefine before redefining.
28090
28091 2009-04-30  Bruno Haible  <bruno@clisp.org>
28092
28093         Fix bug introduced on 2009-04-25.
28094         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
28095         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
28096         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
28097         is defined.
28098         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
28099         is defined.
28100         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
28101         is defined.
28102         Reported by Elbert_Pol <elbert.pol@gmail.com>.
28103
28104 2009-04-28  Bruno Haible  <bruno@clisp.org>
28105
28106         Comment tweaks.
28107         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
28108         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
28109         * lib/unicase.h (u*_casexfrm): Likewise.
28110         Reported by Paolo Bonzini.
28111
28112 2009-04-28  Bruno Haible  <bruno@clisp.org>
28113
28114         Fix a compilation error.
28115         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
28116         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
28117         Reported by Jim Meyering.
28118
28119 2009-04-27  Bruno Haible  <bruno@clisp.org>
28120
28121         New module 'libunistring'.
28122         * modules/libunistring: New file.
28123         * m4/libunistring.m4: New file.
28124         * MODULES.html.sh (Unicode string functions): Add it.
28125
28126 2009-04-27  Eric Blake  <ebb9@byu.net>
28127
28128         maint.mk: allow package-specific header to provide <config.h>
28129         * top/maint.mk (sc_require_config_h): New variable.
28130         (sc_require_config_h, sc_require_config_h_first): Use it.
28131
28132 2009-04-27  Simon Josefsson  <simon@josefsson.org>
28133
28134         * top/maint.mk (sc_avoid_if_before_free): Except
28135         useless-if-before-free script.
28136
28137 2009-04-27  Eric Blake  <ebb9@byu.net>
28138
28139         maintainer-makefile: depend on all required helper scripts
28140         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
28141         useless-if-before-free.
28142         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
28143         version, rather than assuming gnulib checkout is available.
28144         Reported by Simen Josefsson.
28145
28146 2009-04-26  Bruno Haible  <bruno@clisp.org>
28147
28148         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
28149         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
28150         "../" or "..".
28151
28152 2009-04-26  Bruno Haible  <bruno@clisp.org>
28153
28154         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
28155         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
28156         AC_LIB_HAVE_LINKFLAGS.
28157
28158 2009-04-26  Bruno Haible  <bruno@clisp.org>
28159
28160         Simplify calling convention of u*_conv_from_encoding.
28161         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
28162         u32_conv_from_encoding): Expect a resultbuf argument and return the
28163         result directly as a pointer.
28164         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
28165         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
28166         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
28167         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
28168         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
28169         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28170         Update.
28171         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
28172         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
28173         * lib/vasnprintf.c (VASNPRINTF): Update.
28174         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
28175         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
28176         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
28177         * NEWS: Mention the change.
28178
28179 2009-04-26  Bruno Haible  <bruno@clisp.org>
28180
28181         Simplify calling convention of u*_conv_to_encoding.
28182         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
28183         u32_conv_to_encoding): Expect a resultbuf argument and return the
28184         result directly as a pointer.
28185         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28186         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
28187         freeing scaled_offsets if mem_iconveha failed.
28188         * lib/unicase/u-casexfrm.h (FUNC): Update.
28189         * lib/uninorm/u-normxfrm.h (FUNC): Update.
28190         * lib/vasnprintf.c (VASNPRINTF): Update.
28191         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
28192         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
28193         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
28194         * NEWS: Mention the change.
28195
28196 2009-04-26  Bruno Haible  <bruno@clisp.org>
28197
28198         Avoid test failures on AIX and OSF/1.
28199         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
28200         malloc(0).
28201         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
28202         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
28203         Likewise.
28204         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
28205         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
28206         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
28207         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
28208         * doc/posix-functions/malloc.texi: Document the portability problem
28209         related to malloc(0).
28210
28211 2009-04-26  Bruno Haible  <bruno@clisp.org>
28212
28213         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
28214         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
28215         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
28216
28217 2009-04-25  Bruno Haible  <bruno@clisp.org>
28218
28219         Avoid link error when creating a namespace clean library.
28220         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
28221         as macro with arguments if already defined as an alias.
28222         * lib/signbitf.c (gl_signbitf): Don't undefine.
28223         * lib/signbitd.c (gl_signbitd): Don't undefine.
28224         * lib/signbitl.c (gl_signbitl): Don't undefine.
28225
28226 2009-04-25  Jim Meyering  <meyering@redhat.com>
28227
28228         vc-list-files: fix another quoting bug
28229         * build-aux/vc-list-files: Avoid sed backslash expansion
28230         of pathological directory names.
28231
28232 2009-04-25  Eric Blake  <ebb9@byu.net>
28233
28234         vc-list-files: fix shell quoting error
28235         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
28236         timestamp.
28237
28238 2009-04-25  Jim Meyering  <meyering@redhat.com>
28239
28240         vc-list-files: restore lost functionality with subdir argument
28241         * build-aux/vc-list-files: When given a non-"." sub-directory
28242         argument, substitute the $dir/ prefix back onto each resulting name.
28243         Otherwise, coreutils' root_tests check would fail.
28244
28245 2009-04-24  Eric Blake  <ebb9@byu.net>
28246
28247         vc-list-files: ignore git symlinks
28248         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
28249         than ls-files, to ignore git symlinks.
28250
28251         maint.mk: import improvements from m4
28252         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
28253         (move_if_change): Delete unused macro.
28254         (news-date-check, vc-diff-check): Support VPATH builds.
28255         (announcement): Likewise.  Split --bootstrap-tools list...
28256         (boostrap-tools): ...into separate list, which can be overridden
28257         in cfg.mk.
28258         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
28259         requiring dependency on useless-if-before-free module.
28260         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
28261         Support VPATH builds.
28262
28263 2009-04-24  Jim Meyering  <meyering@redhat.com>
28264
28265         maint.mk: remove coreutils-specific rules and variables
28266         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
28267         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
28268         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
28269
28270         maint.mk: remove obsolete rule
28271         * top/maint.mk (rel-check): Remove rule.
28272         (WGET, WGETFLAGS): Remove now-unused variables.
28273
28274 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28275
28276         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
28277         consistency.
28278
28279         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
28280         '$(PATH_SEPARATOR)' instead of ':'.
28281
28282 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28283
28284         * lib/getopt1.c (main): Use 'const' for static array.
28285
28286 2009-04-24  Simon Josefsson  <simon@josefsson.org>
28287
28288         * top/maint.mk: Sync with coreutils.
28289         * NEWS: Explain incompatibilities.
28290
28291 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28292             Bruno Haible  <bruno@clisp.org>
28293
28294         Fix cross-compilation results.
28295         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
28296         statement, as third argument of AC_TRY_RUN.
28297         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28298         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28299         Likewise.
28300         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28301         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
28302         Likewise.
28303         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28304         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
28305         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
28306
28307 2009-04-20  Bruno Haible  <bruno@clisp.org>
28308
28309         Avoid test failure on mingw.
28310         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
28311
28312 2009-04-20  Bruno Haible  <bruno@clisp.org>
28313
28314         Avoid compilation error on mingw.
28315         * modules/localename-tests (Depends-on): Add locale.
28316
28317 2009-04-19  Bruno Haible  <bruno@clisp.org>
28318
28319         Support for building a shared library on Windows platforms.
28320         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
28321         (main): Test the presence of UNINORM_NFC here.
28322         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
28323         (main): Test the presence of UNINORM_NFD here.
28324         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
28325         (main): Test the presence of UNINORM_NFKC here.
28326         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
28327         (main): Test the presence of UNINORM_NFKD here.
28328
28329 2009-04-19  Bruno Haible  <bruno@clisp.org>
28330
28331         Avoid a compiler warning.
28332         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
28333         Change type of variable 'sequence'.
28334
28335 2009-04-19  Bruno Haible  <bruno@clisp.org>
28336
28337         * modules/configmake (Makefile.am): When the contents of configmake.h
28338         does not change, arrange to preserve its modification time.
28339
28340 2009-04-17  Simon Josefsson  <simon@josefsson.org>
28341
28342         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
28343         gettext domain.
28344
28345 2009-04-16  Jim Meyering  <meyering@redhat.com>
28346
28347         useless-if-before-free: improve conversion code
28348         * build-aux/useless-if-before-free: Adjust code-in-comment to match
28349         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
28350
28351 2009-04-14  Bruno Haible  <bruno@clisp.org>
28352
28353         * modules/fcntl (Depends-on): Add extensions.
28354         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
28355
28356 2009-04-12  Ben Pfaff  <blp@gnu.org>
28357
28358         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
28359         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
28360
28361 2009-03-20  Ben Pfaff  <blp@gnu.org>
28362
28363         Make rename replace existing destinations on Windows.
28364         * m4/rename.m4: Add test for Mingw.
28365         * lib/rename.c: Add rename replacement that uses MoveFileEx with
28366         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
28367         * doc/posix-functions/rename.texi: Document.
28368
28369 2009-04-10  Bruno Haible  <bruno@clisp.org>
28370
28371         New include file "iconveh.h".
28372         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
28373         * lib/striconveh.h: Include it.
28374         (enum iconv_ilseq_handler): Remove definition.
28375         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
28376         striconveh.h.
28377         * lib/striconveha.c: Include striconveh.h.
28378         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
28379         * modules/striconveh (Files): Add lib/iconveh.h.
28380         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
28381         lib/striconveh.h.
28382
28383 2009-04-10  Bruno Haible  <bruno@clisp.org>
28384
28385         * lib/uniconv.h: Update comment.
28386
28387 2009-04-10  Bruno Haible  <bruno@clisp.org>
28388
28389         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
28390         always.
28391         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
28392         * lib/unistr/u16-mbtouc-aux.c: Likewise.
28393         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
28394         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
28395         "unistring-notinline.h", so that the function gets defined always.
28396         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
28397         * lib/unistr/u8-uctomb.c: Likewise.
28398         * lib/unistr/u16-mbtouc.c: Likewise.
28399         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
28400         * lib/unistr/u16-uctomb.c: Likewise.
28401         * lib/unistr/u32-mbtouc.c: Likewise.
28402         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
28403         * lib/unistr/u32-uctomb.c: Likewise.
28404
28405 2009-04-10  Bruno Haible  <bruno@clisp.org>
28406
28407         Mark 'utime' obsolete.
28408         * modules/utime (Status, Notice): New sections.
28409         Suggested by Jim Meyering.
28410
28411         Fix cross-compile guess for utime test.
28412         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
28413         autoconf.
28414         * doc/posix-functions/utime.texi: Give more precisions.
28415         Reported by Jan <ipif@ymail.com>.
28416
28417 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
28418
28419         filevercmp: correct today's change
28420         * lib/filevercmp.c: Also handle coreutils' test inputs.
28421         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
28422
28423         Fix regression in 'filevercmp' module. Thanks Sven Joachim
28424         for reporting it.
28425         * lib/filevercmp.c: Special handle for "", "." and "..".
28426         * tests/test-filevercmp.c: Enlarge the set suite.
28427
28428 2009-04-07  Jim Meyering  <meyering@redhat.com>
28429
28430         useless-if-before-free: show how to remove braced useless free, too
28431         * build-aux/useless-if-before-free: still only in a comment, though.
28432
28433 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
28434
28435         maint.mk: import changes to syntax-check macros from coreutils
28436         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
28437         Use them in the relevant macros.
28438
28439 2009-04-06  Bruno Haible  <bruno@clisp.org>
28440
28441         Fix unportable use of bit-fields.
28442         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
28443         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
28444         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
28445
28446 2009-04-06  Bruno Haible  <bruno@clisp.org>
28447
28448         Avoid test failures on AIX and OSF/1.
28449         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
28450         that malloc(0) = NULL.
28451         * tests/unicase/test-u8-tolower.c (check): Likewise.
28452         * tests/unicase/test-u8-totitle.c (check): Likewise.
28453         * tests/unicase/test-u8-toupper.c (check): Likewise.
28454         * tests/unicase/test-u16-casefold.c (check): Likewise.
28455         * tests/unicase/test-u16-tolower.c (check): Likewise.
28456         * tests/unicase/test-u16-totitle.c (check): Likewise.
28457         * tests/unicase/test-u16-toupper.c (check): Likewise.
28458         * tests/unicase/test-u32-casefold.c (check): Likewise.
28459         * tests/unicase/test-u32-tolower.c (check): Likewise.
28460         * tests/unicase/test-u32-totitle.c (check): Likewise.
28461         * tests/unicase/test-u32-toupper.c (check): Likewise.
28462         * tests/uninorm/test-u8-nfc.c (check): Likewise.
28463         * tests/uninorm/test-u8-nfd.c (check): Likewise.
28464         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
28465         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
28466         * tests/uninorm/test-u16-nfc.c (check): Likewise.
28467         * tests/uninorm/test-u16-nfd.c (check): Likewise.
28468         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
28469         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
28470         * tests/uninorm/test-u32-nfc.c (check): Likewise.
28471         * tests/uninorm/test-u32-nfd.c (check): Likewise.
28472         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
28473         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
28474
28475 2009-04-05  Bruno Haible  <bruno@clisp.org>
28476
28477         Work around an autoconf limitation.
28478         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
28479         comment line if it would be longer than 3 KB.
28480
28481 2009-04-05  Bruno Haible  <bruno@clisp.org>
28482
28483         Avoid test failure with libiconv-1.13.
28484         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
28485         of the expected test results.
28486
28487 2009-04-05  Bruno Haible  <bruno@clisp.org>
28488
28489         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
28490         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
28491         that it should be installed.
28492
28493 2009-04-05  Bruno Haible  <bruno@clisp.org>
28494
28495         * gnulib-tool: New option --copy-file.
28496         (func_usage): Document it.
28497         (func_dest_tmpfilename): Moved out of func_import.
28498         (func_add_file, func_update_file): New functions, extracted from
28499         func_import.
28500         (func_import): Update.
28501
28502 2009-04-05  Karl Berry  <karl@gnu.org>
28503
28504         * README: prominently mention gnulib-tool.
28505         Rearrange sections so getting the code is near the top.
28506
28507 2009-04-05  Bruno Haible  <bruno@clisp.org>
28508
28509         * lib/unicase.h: Mention u*_cmp2.
28510         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
28511         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
28512         * lib/unicase/ulc-casecmp.c: Likewise.
28513         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
28514         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
28515         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
28516         unistr/u8-cmp.
28517         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
28518         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
28519         unistr/u16-cmp.
28520         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
28521         unistr/u32-cmp.
28522
28523         * lib/uninorm.h: Mention u*_cmp2.
28524         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
28525         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
28526         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
28527         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
28528         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
28529         unistr/u8-cmp.
28530         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
28531         unistr/u16-cmp.
28532         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
28533         unistr/u32-cmp.
28534
28535         New module 'unistr/u32-cmp2'.
28536         * lib/unistr/u32-cmp2.c: New file.
28537         * modules/unistr/u32-cmp2: New file.
28538
28539         New module 'unistr/u16-cmp2'.
28540         * lib/unistr/u16-cmp2.c: New file.
28541         * modules/unistr/u16-cmp2: New file.
28542
28543         New module 'unistr/u8-cmp2'.
28544         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
28545         * lib/unistr/u8-cmp2.c: New file.
28546         * lib/unistr/u-cmp2.h: New file.
28547         * modules/unistr/u8-cmp2: New file.
28548
28549 2009-04-05  Bruno Haible  <bruno@clisp.org>
28550
28551         * lib/unictype.h (uc_property_is_valid): New macro.
28552         * tests/unictype/test-pr_byname.c (main): Use it.
28553
28554         * lib/unistr.h: Doc fixes.
28555         * lib/uniconv.h: Doc fixes.
28556         * lib/unictype.h: Doc fixes.
28557
28558 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
28559
28560         Port coreutils 7.2 to Solaris 8.
28561
28562         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
28563         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
28564         for Solaris 8.  This is a bit of a hack, as it means it's the
28565         caller's responsibility to add -lnsl if needed, but most likely it
28566         won't be needed since only getaddrinfo uses this and getaddrinfo
28567         isn't needed on Solaris 8.
28568
28569         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
28570         problem to Solaris 8 encountered with coreutils 7.2, which
28571         resulted in a message "fnmatch.c:292: warning: passing argument 4
28572         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
28573         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
28574
28575 2009-04-03  Simon Josefsson  <simon@josefsson.org>
28576
28577         * m4/ld-version-script.m4: Add FIXME comment.
28578
28579 2009-04-02  Simon Josefsson  <simon@josefsson.org>
28580
28581         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
28582         SOVERSION variable.
28583
28584 2009-04-02  Bruno Haible  <bruno@clisp.org>
28585
28586         * Makefile (info, html, dvi, pdf): Combine the rules.
28587         Suggested by Jim Meyering.
28588
28589 2009-04-01  Bruno Haible  <bruno@clisp.org>
28590
28591         * Makefile (info, html, dvi, pdf): New targets.
28592         Reported by Reuben Thomas <rrt@sc3d.org>.
28593
28594 2009-04-01  Bruno Haible  <bruno@clisp.org>
28595
28596         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
28597         can be put into PATH.
28598         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
28599
28600 2009-04-01  Bruno Haible  <bruno@clisp.org>
28601
28602         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
28603
28604 2009-04-01  Bruno Haible  <bruno@clisp.org>
28605
28606         Rename module 'visibility'.
28607         * modules/lib-symbol-visibility: Renamed from modules/visibility.
28608         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
28609         * doc/gnulib.texi: Update.
28610         * MODULES.html.sh (Misc): Update.
28611         * NEWS: Mention the change.
28612
28613 2009-04-01  Simon Josefsson  <simon@josefsson.org>
28614
28615         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
28616         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
28617         Eric Blake <ebb9@byu.net> for review.
28618         * MODULES.html.sh: Add lib-msvc-compat.
28619         * doc/gnulib.texi: Link to new section.
28620         * m4/ld-output-def.m4: New file.
28621         * doc/ld-output-def.texi: New file.
28622
28623 2009-04-01  Simon Josefsson  <simon@josefsson.org>
28624
28625         Rename ld-version-script to lib-symbol-versions.  Suggested by
28626         Bruno Haible <bruno@clisp.org>.
28627         * modules/ld-version-script: Renamed to lib-symbol-versions.
28628         * doc/ld-version-script.texi: Fix module name.
28629         * MODULES.html.sh: Add lib-symbol-versions.
28630
28631 2009-03-31  Simon Josefsson  <simon@josefsson.org>
28632
28633         * modules/u64-tests: New file.
28634         * tests/test-u64.c: New file.
28635
28636 2009-03-04  Simon Josefsson  <simon@josefsson.org>
28637
28638         * MODULES.html.sh: Mention u64.
28639         * modules/u64: New module.
28640         * modules/crypto/sha512: Depend on u64 module instead of providing
28641         u64.h.
28642
28643 2009-03-27  Eric Blake  <ebb9@byu.net>
28644
28645         test-strerror: make debugging EAI_SYSTEM easier
28646         * modules/getaddrinfo-tests (Depends-on): Add strerror.
28647         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
28648         failure was EAI_SYSTEM.
28649
28650 2009-03-25  Bruno Haible  <bruno@clisp.org>
28651
28652         Fix a problem with --enable-relocatable on Solaris 7.
28653         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
28654         since 2008-02-24.
28655
28656 2009-03-25  Eric Blake  <ebb9@byu.net>
28657
28658         test-sockets: avoid gcc warning
28659         * tests/test-sockets.c (main): Silence compiler warning.
28660
28661 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
28662
28663         New modules nproc, pthread, contributed by Glen Lenker.
28664
28665         * MODULES.html.sh: Add pthread, nproc.
28666         * lib/nproc.c: New file.
28667         * lib/nproc.h: New file.
28668         * lib/pthread.in.h: New file.
28669         * m4/pthread.m4: New file.
28670         * modules/nproc: New file.
28671         * modules/pthread: New file.
28672
28673 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28674
28675         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
28676         New variable.
28677
28678 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
28679
28680         filevercmp: handle simple~ and numbered.~3~ backup suffixes
28681         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
28682         * tests/test-filevercmp.c: Add tests for backup suffixes.
28683
28684 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28685
28686         * modules/stdlib (Depends-on): Add stdint, needed when defining
28687         struct random_data on, for example, HP-UX 10.20.  Reported by
28688         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28689
28690 2009-03-24  Simon Josefsson  <simon@josefsson.org>
28691
28692         * lib/readline.c (readline): Call fflush on stdout after printing
28693         prompt.
28694
28695 2009-03-20  Bruno Haible  <bruno@clisp.org>
28696
28697         Remove dependency from 'close' module to -lws2_32 on native Windows.
28698         * lib/close-hook.h: New file.
28699         * lib/close-hook.c: New file.
28700         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
28701         w32sock.h.
28702         (_gl_close_fd_maybe_socket): Remove function.
28703         (rpl_close): Invoke execute_all_close_hooks instead of
28704         _gl_close_fd_maybe_socket.
28705         * lib/sockets.c: Include close-hook.h, w32sock.h.
28706         (close_fd_maybe_socket): New function, essentially from lib/close.c.
28707         (close_sockets_hook): New variable.
28708         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
28709         (gl_sockets_cleanup): Unregister it.
28710         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
28711         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
28712         * modules/close-hook: New file.
28713         * modules/close (Files): Remove lib/w32sock.h.
28714         (Depends-on): Add close-hook.
28715         (Link): Remove section.
28716         * modules/sockets (Files): Add lib/w32sock.h.
28717         (Depends-on): Add close-hook.
28718         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
28719         invocation.
28720         * NEWS: Mention that LIB_CLOSE is gone.
28721
28722 2009-03-23  Eric Blake  <ebb9@byu.net>
28723
28724         signal-tests: test previous patch
28725         * tests/test-signal.c: New file.
28726         * modules/signal-tests: Likewise.
28727
28728         signal.h: always support 'volatile sig_atomic_t'
28729         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
28730         (gl_SIGNAL_H_DEFAULTS): Add a default.
28731         * modules/signal (Makefile.am): Substitute if needed.
28732         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
28733         users can blindly add volatile.
28734         * doc/posix-headers/signal.texi (signal.h): Document it.
28735         Reported by Matthew Woehlke.
28736
28737 2009-03-23  Jim Meyering  <meyering@redhat.com>
28738
28739         pathmax: PATH_MAX: use pathconf only when available
28740         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
28741         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
28742         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
28743         This avoids a link failure in a PSP cross-compilation environment
28744         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
28745
28746         * lib/vasnprintf.c (divide): Fix typo in comment.
28747
28748 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28749
28750         * gnulib-tool (func_filter_filelist): Fix comment.
28751
28752 2009-03-20  Bruno Haible  <bruno@clisp.org>
28753
28754         Make sockets.h self-contained.
28755         * lib/sockets.c: Include sockets.h first.
28756         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
28757
28758 2009-03-19  Eric Blake  <ebb9@byu.net>
28759
28760         doc: mention more functions added in cygwin 1.7.0
28761         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
28762         addition.
28763         * doc/posix-functions/log2f.texi: Likewise.
28764
28765 2009-03-19  Jim Meyering  <meyering@redhat.com>
28766
28767         fsusage: avoid syntax error due to statement-before-declaration
28768         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
28769         after all declarations.  Reported by Matthew Woehlke in
28770         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
28771
28772 2009-03-18  Eric Blake  <ebb9@byu.net>
28773
28774         build-aux/compile: sync from automake
28775         * build-aux/compile: New file, from automake.
28776         * config/srclist.txt: Mention build-aux/compile.
28777
28778 2009-03-17  Bruno Haible  <bruno@clisp.org>
28779
28780         * lib/git-merge-changelog.c: Fix typo in comment.
28781         Reported by Reuben Thomas <rrt@sc3d.org>.
28782
28783 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
28784
28785         * m4/regex.m4: update and improve help for
28786         --without-included-regex.
28787
28788 2009-03-17  Simon Josefsson  <simon@josefsson.org>
28789
28790         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
28791         failure on missing include files.
28792
28793 2009-03-17  Eric Blake  <ebb9@byu.net>
28794
28795         doc: mention more functions added in cygwin 1.7.0
28796         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
28797         addition.
28798         * doc/posix-functions/fwscanf.texi: Likewise.
28799         * doc/posix-functions/swprintf.texi: Likewise.
28800         * doc/posix-functions/swscanf.texi: Likewise.
28801         * doc/posix-functions/vfwprintf.texi: Likewise.
28802         * doc/posix-functions/vfwscanf.texi: Likewise.
28803         * doc/posix-functions/vswprintf.texi: Likewise.
28804         * doc/posix-functions/vswscanf.texi: Likewise.
28805         * doc/posix-functions/vwprintf.texi: Likewise.
28806         * doc/posix-functions/vwscanf.texi: Likewise.
28807         * doc/posix-functions/wcscasecmp.texi: Likewise.
28808         * doc/posix-functions/wcsdup.texi: Likewise.
28809         * doc/posix-functions/wcsftime.texi: Likewise.
28810         * doc/posix-functions/wcsncasecmp.texi: Likewise.
28811         * doc/posix-functions/wprintf.texi: Likewise.
28812         * doc/posix-functions/wscanf.texi: Likewise.
28813         * doc/glibc-functions/gethostbyname2.texi: Likewise.
28814
28815 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28816
28817         maint.mk: really add $(AM_MAKEFLAGS)
28818         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
28819         was inadvertently omitted in the last commit.
28820         Spotted by Bruno Haible.
28821
28822         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
28823         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
28824         $(AM_MAKEFLAGS)' rather than plain `make'.
28825
28826         gnulib-tool: execute $MAKE not make
28827         * gnulib-tool: Default $MAKE to 'make'.
28828         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
28829         than make.  Initialize $MAKE in the do-autobuild script.
28830
28831         gnulib-tool: use $MAKE not make in generated files
28832         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
28833         make, in generated files.  Initialize $MAKE in the do-autobuild
28834         script.
28835
28836         * top/GNUmakefile (_have-git-version-gen): Fix typo.
28837
28838         GNUmakefile: disable parallelism only for multiple, recursive targets
28839         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
28840         additions in the Makefile.
28841         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
28842         by Automake.
28843         (.NOTPARALLEL): Only disable parallel builds if multiple targets
28844         are listed on the command line and at least one of them is
28845         listed in $(ALL_RECURSIVE_TARGETS).
28846
28847 2009-03-14  Bruno Haible  <bruno@clisp.org>
28848
28849         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
28850         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
28851         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
28852         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
28853         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
28854         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
28855         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
28856         unistr/u8-uctomb.
28857         * modules/unistr/u8-strchr (Depends-on): Likewise.
28858         * modules/unistr/u8-strrchr (Depends-on): Likewise.
28859         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
28860         unistr/u16-uctomb.
28861         * modules/unistr/u16-strchr (Depends-on): Likewise.
28862         * modules/unistr/u16-strrchr (Depends-on): Likewise.
28863
28864 2009-03-12  Bruno Haible  <bruno@clisp.org>
28865
28866         Work around select() bug on Interix 3.5.
28867         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
28868         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
28869         * m4/select.m4: New file.
28870         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
28871         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
28872         * modules/select (Files): Add m4/select.m4.
28873         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
28874         * modules/nanosleep (Depends-on): Add select.
28875         * modules/poll (Depends-on): Likewise.
28876         * doc/posix-functions/select.texi: Mention the Interix bug.
28877         Reported by Markus Duft <mduft@gentoo.org>.
28878
28879         * lib/select.c: Renamed from lib/winsock-select.c.
28880         * modules/select (Files): Add lib/select.c, remove
28881         lib/winsock-select.c.
28882         (configure.ac): Update.
28883
28884 2009-03-12  Jim Meyering  <meyering@redhat.com>
28885
28886         avoid gcc warnings about unused macro definitions
28887         * lib/readtokens.c (STREQ): Remove unused definition.
28888         * lib/xmalloc.c (SIZE_MAX): Likewise.
28889         * lib/openat-die.c (N_): Likewise.
28890         * lib/mountlist.c (SIZE_MAX): Remove definition.
28891         Instead, include <stdint.h>.
28892         * lib/readutmp.c: Likewise.
28893         * modules/readutmp (Depends-on): Add stdint.
28894         * modules/mountlist (Depends-on): Add stdint.
28895         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
28896
28897 2009-03-10  Bruno Haible  <bruno@clisp.org>
28898
28899         Tests for module 'mbmemcasecoll'.
28900         * modules/mbmemcasecoll-tests: New file.
28901         * tests/test-mbmemcasecoll1.sh: New file.
28902         * tests/test-mbmemcasecoll2.sh: New file.
28903         * tests/test-mbmemcasecoll3.sh: New file.
28904         * tests/test-mbmemcasecoll.c: New file.
28905
28906         New module 'mbmemcasecoll'.
28907         * lib/mbmemcasecoll.h: New file.
28908         * lib/mbmemcasecoll.c: New file.
28909         * modules/mbmemcasecoll: New file.
28910
28911         * tests/test-mbmemcasecmp.h: New file, extracted from
28912         tests/test-mbmemcasecmp.c.
28913         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
28914         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
28915         (main): Update.
28916         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
28917
28918 2009-03-09  Bruno Haible  <bruno@clisp.org>
28919
28920         Tests for module 'mbmemcasecmp'.
28921         * modules/mbmemcasecmp-tests: New file.
28922         * tests/test-mbmemcasecmp1.sh: New file.
28923         * tests/test-mbmemcasecmp2.sh: New file.
28924         * tests/test-mbmemcasecmp3.sh: New file.
28925         * tests/test-mbmemcasecmp.c: New file.
28926
28927         New module 'mbmemcasecmp'.
28928         * lib/mbmemcasecmp.h: New file.
28929         * lib/mbmemcasecmp.c: New file.
28930         * modules/mbmemcasecmp: New file.
28931
28932 2009-03-09  Bruno Haible  <bruno@clisp.org>
28933
28934         Tests for module 'unicase/ulc-casecoll'.
28935         * modules/unicase/ulc-casecoll-tests: New file.
28936         * tests/unicase/test-ulc-casecoll1.sh: New file.
28937         * tests/unicase/test-ulc-casecoll2.sh: New file.
28938         * tests/unicase/test-ulc-casecoll.c: New file.
28939
28940         New module 'unicase/ulc-casecoll'.
28941         * lib/unicase.h (ulc_casecoll): New declaration.
28942         * lib/unicase/ulc-casecoll.c: New file.
28943         * modules/unicase/ulc-casecoll: New file.
28944
28945         New module 'unicase/ulc-casexfrm'.
28946         * lib/unicase.h (ulc_casexfrm): New declaration.
28947         * lib/unicase/ulc-casexfrm.c: New file.
28948         * modules/unicase/ulc-casexfrm: New file.
28949
28950 2009-03-09  Bruno Haible  <bruno@clisp.org>
28951
28952         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
28953         invocations.
28954
28955         * m4/mbscasecmp.m4: Remove file.
28956         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
28957         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
28958
28959         * m4/mbscasestr.m4: Remove file.
28960         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
28961         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
28962
28963         * m4/mbschr.m4: Remove file.
28964         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
28965         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
28966
28967         * m4/mbscspn.m4: Remove file.
28968         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
28969         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
28970
28971         * m4/mbslen.m4: Remove file.
28972         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
28973         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
28974
28975         * m4/mbsncasecmp.m4: Remove file.
28976         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
28977         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
28978
28979         * m4/mbsnlen.m4: Remove file.
28980         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
28981         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
28982
28983         * m4/mbspbrk.m4: Remove file.
28984         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
28985         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
28986
28987         * m4/mbspcasecmp.m4: Remove file.
28988         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
28989         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
28990
28991         * m4/mbsrchr.m4: Remove file.
28992         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
28993         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
28994
28995         * m4/mbssep.m4: Remove file.
28996         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
28997         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
28998
28999         * m4/mbsspn.m4: Remove file.
29000         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
29001         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
29002
29003         * m4/mbsstr.m4: Remove file.
29004         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
29005         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
29006
29007         * m4/mbstok_r.m4: Remove file.
29008         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
29009         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
29010
29011         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
29012
29013         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
29014         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
29015
29016         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
29017
29018 2009-03-08  Bruno Haible  <bruno@clisp.org>
29019
29020         Tests for module 'unicase/ulc-casecmp'.
29021         * modules/unicase/ulc-casecmp-tests: New file.
29022         * tests/unicase/test-ulc-casecmp1.sh: New file.
29023         * tests/unicase/test-ulc-casecmp2.sh: New file.
29024         * tests/unicase/test-ulc-casecmp.c: New file.
29025
29026         New module 'unicase/ulc-casecmp'.
29027         * lib/unicase.h (ulc_casecmp): New declaration.
29028         * lib/unicase/ulc-casecmp.c: New file.
29029         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
29030         'const SRC_UNIT *'.
29031         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
29032         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
29033         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
29034         * modules/unicase/ulc-casecmp: New file.
29035
29036         Tests for module 'unicase/u32-is-cased'.
29037         * modules/unicase/u32-is-cased-tests: New file.
29038         * tests/unicase/test-u32-is-cased.c: New file.
29039
29040         Tests for module 'unicase/u16-is-cased'.
29041         * modules/unicase/u16-is-cased-tests: New file.
29042         * tests/unicase/test-u16-is-cased.c: New file.
29043
29044         Tests for module 'unicase/u8-is-cased'.
29045         * modules/unicase/u8-is-cased-tests: New file.
29046         * tests/unicase/test-u8-is-cased.c: New file.
29047         * tests/unicase/test-is-cased.h: New file.
29048
29049         New module 'unicase/u32-is-cased'.
29050         * lib/unicase/u32-is-cased.c: New file.
29051         * modules/unicase/u32-is-cased: New file.
29052
29053         New module 'unicase/u16-is-cased'.
29054         * lib/unicase/u16-is-cased.c: New file.
29055         * modules/unicase/u16-is-cased: New file.
29056
29057         New module 'unicase/u8-is-cased'.
29058         * lib/unicase/u8-is-cased.c: New file.
29059         * lib/unicase/u-is-cased.h: New file.
29060         * modules/unicase/u8-is-cased: New file.
29061
29062         Tests for module 'unicase/u32-is-casefolded'.
29063         * modules/unicase/u32-is-casefolded-tests: New file.
29064         * tests/unicase/test-u32-is-casefolded.c: New file.
29065
29066         Tests for module 'unicase/u16-is-casefolded'.
29067         * modules/unicase/u16-is-casefolded-tests: New file.
29068         * tests/unicase/test-u16-is-casefolded.c: New file.
29069
29070         Tests for module 'unicase/u8-is-casefolded'.
29071         * modules/unicase/u8-is-casefolded-tests: New file.
29072         * tests/unicase/test-u8-is-casefolded.c: New file.
29073         * tests/unicase/test-is-casefolded.h: New file.
29074
29075         New module 'unicase/u32-is-casefolded'.
29076         * lib/unicase/u32-is-casefolded.c: New file.
29077         * modules/unicase/u32-is-casefolded: New file.
29078
29079         New module 'unicase/u16-is-casefolded'.
29080         * lib/unicase/u16-is-casefolded.c: New file.
29081         * modules/unicase/u16-is-casefolded: New file.
29082
29083         New module 'unicase/u8-is-casefolded'.
29084         * lib/unicase/u8-is-casefolded.c: New file.
29085         * modules/unicase/u8-is-casefolded: New file.
29086
29087         Tests for module 'unicase/u32-is-titlecase'.
29088         * modules/unicase/u32-is-titlecase-tests: New file.
29089         * tests/unicase/test-u32-is-titlecase.c: New file.
29090
29091         Tests for module 'unicase/u16-is-titlecase'.
29092         * modules/unicase/u16-is-titlecase-tests: New file.
29093         * tests/unicase/test-u16-is-titlecase.c: New file.
29094
29095         Tests for module 'unicase/u8-is-titlecase'.
29096         * modules/unicase/u8-is-titlecase-tests: New file.
29097         * tests/unicase/test-u8-is-titlecase.c: New file.
29098         * tests/unicase/test-is-titlecase.h: New file.
29099
29100         New module 'unicase/u32-is-titlecase'.
29101         * lib/unicase/u32-is-titlecase.c: New file.
29102         * modules/unicase/u32-is-titlecase: New file.
29103
29104         New module 'unicase/u16-is-titlecase'.
29105         * lib/unicase/u16-is-titlecase.c: New file.
29106         * modules/unicase/u16-is-titlecase: New file.
29107
29108         New module 'unicase/u8-is-titlecase'.
29109         * lib/unicase/u8-is-titlecase.c: New file.
29110         * modules/unicase/u8-is-titlecase: New file.
29111
29112         Tests for module 'unicase/u32-is-lowercase'.
29113         * modules/unicase/u32-is-lowercase-tests: New file.
29114         * tests/unicase/test-u32-is-lowercase.c: New file.
29115
29116         Tests for module 'unicase/u16-is-lowercase'.
29117         * modules/unicase/u16-is-lowercase-tests: New file.
29118         * tests/unicase/test-u16-is-lowercase.c: New file.
29119
29120         Tests for module 'unicase/u8-is-lowercase'.
29121         * modules/unicase/u8-is-lowercase-tests: New file.
29122         * tests/unicase/test-u8-is-lowercase.c: New file.
29123         * tests/unicase/test-is-lowercase.h: New file.
29124
29125         New module 'unicase/u32-is-lowercase'.
29126         * lib/unicase/u32-is-lowercase.c: New file.
29127         * modules/unicase/u32-is-lowercase: New file.
29128
29129         New module 'unicase/u16-is-lowercase'.
29130         * lib/unicase/u16-is-lowercase.c: New file.
29131         * modules/unicase/u16-is-lowercase: New file.
29132
29133         New module 'unicase/u8-is-lowercase'.
29134         * lib/unicase/u8-is-lowercase.c: New file.
29135         * modules/unicase/u8-is-lowercase: New file.
29136
29137         Tests for module 'unicase/u32-is-uppercase'.
29138         * modules/unicase/u32-is-uppercase-tests: New file.
29139         * tests/unicase/test-u32-is-uppercase.c: New file.
29140
29141         Tests for module 'unicase/u16-is-uppercase'.
29142         * modules/unicase/u16-is-uppercase-tests: New file.
29143         * tests/unicase/test-u16-is-uppercase.c: New file.
29144
29145         Tests for module 'unicase/u8-is-uppercase'.
29146         * modules/unicase/u8-is-uppercase-tests: New file.
29147         * tests/unicase/test-u8-is-uppercase.c: New file.
29148         * tests/unicase/test-is-uppercase.h: New file.
29149
29150         New module 'unicase/u32-is-uppercase'.
29151         * lib/unicase/u32-is-uppercase.c: New file.
29152         * modules/unicase/u32-is-uppercase: New file.
29153
29154         New module 'unicase/u16-is-uppercase'.
29155         * lib/unicase/u16-is-uppercase.c: New file.
29156         * modules/unicase/u16-is-uppercase: New file.
29157
29158         New module 'unicase/u8-is-uppercase'.
29159         * lib/unicase/u8-is-uppercase.c: New file.
29160         * modules/unicase/u8-is-uppercase: New file.
29161
29162         New module 'unicase/u32-is-invariant'.
29163         * lib/unicase/u32-is-invariant.c: New file.
29164         * modules/unicase/u32-is-invariant: New file.
29165
29166         New module 'unicase/u16-is-invariant'.
29167         * lib/unicase/u16-is-invariant.c: New file.
29168         * modules/unicase/u16-is-invariant: New file.
29169
29170         New module 'unicase/u8-is-invariant'.
29171         * lib/unicase/u8-is-invariant.c: New file.
29172         * lib/unicase/invariant.h: New file.
29173         * lib/unicase/u-is-invariant.h: New file.
29174         * modules/unicase/u8-is-invariant: New file.
29175
29176         Tests for module 'unicase/u32-casecoll'.
29177         * modules/unicase/u32-casecoll-tests: New file.
29178         * tests/unicase/test-u32-casecoll.c: New file.
29179
29180         Tests for module 'unicase/u16-casecoll'.
29181         * modules/unicase/u16-casecoll-tests: New file.
29182         * tests/unicase/test-u16-casecoll.c: New file.
29183
29184         Tests for module 'unicase/u8-casecoll'.
29185         * modules/unicase/u8-casecoll-tests: New file.
29186         * tests/unicase/test-u8-casecoll.c: New file.
29187
29188         New module 'unicase/u32-casecoll'.
29189         * lib/unicase/u32-casecoll.c: New file.
29190         * modules/unicase/u32-casecoll: New file.
29191
29192         New module 'unicase/u16-casecoll'.
29193         * lib/unicase/u16-casecoll.c: New file.
29194         * modules/unicase/u16-casecoll: New file.
29195
29196         New module 'unicase/u8-casecoll'.
29197         * lib/unicase/u8-casecoll.c: New file.
29198         * lib/unicase/u-casecoll.h: New file.
29199         * modules/unicase/u8-casecoll: New file.
29200
29201         New module 'unicase/u32-casexfrm'.
29202         * lib/unicase/u32-casexfrm.c: New file.
29203         * modules/unicase/u32-casexfrm: New file.
29204
29205         New module 'unicase/u16-casexfrm'.
29206         * lib/unicase/u16-casexfrm.c: New file.
29207         * modules/unicase/u16-casexfrm: New file.
29208
29209         New module 'unicase/u8-casexfrm'.
29210         * lib/unicase/u8-casexfrm.c: New file.
29211         * lib/unicase/u-casexfrm.h: New file.
29212         * modules/unicase/u8-casexfrm: New file.
29213
29214         Tests for module 'unicase/u32-casecmp'.
29215         * modules/unicase/u32-casecmp-tests: New file.
29216         * tests/unicase/test-u32-casecmp.c: New file.
29217
29218         Tests for module 'unicase/u16-casecmp'.
29219         * modules/unicase/u16-casecmp-tests: New file.
29220         * tests/unicase/test-u16-casecmp.c: New file.
29221
29222         Tests for module 'unicase/u8-casecmp'.
29223         * modules/unicase/u8-casecmp-tests: New file.
29224         * tests/unicase/test-u8-casecmp.c: New file.
29225         * tests/unicase/test-casecmp.h: New file.
29226
29227         New module 'unicase/u32-casecmp'.
29228         * lib/unicase/u32-casecmp.c: New file.
29229         * modules/unicase/u32-casecmp: New file.
29230
29231         New module 'unicase/u16-casecmp'.
29232         * lib/unicase/u16-casecmp.c: New file.
29233         * modules/unicase/u16-casecmp: New file.
29234
29235         New module 'unicase/u8-casecmp'.
29236         * lib/unicase/u8-casecmp.c: New file.
29237         * lib/unicase/u-casecmp.h: New file.
29238         * modules/unicase/u8-casecmp: New file.
29239
29240         Tests for module 'unicase/u32-casefold'.
29241         * modules/unicase/u32-casefold-tests: New file.
29242         * tests/unicase/test-u32-casefold.c: New file.
29243
29244         Tests for module 'unicase/u16-casefold'.
29245         * modules/unicase/u16-casefold-tests: New file.
29246         * tests/unicase/test-u16-casefold.c: New file.
29247
29248         Tests for module 'unicase/u8-casefold'.
29249         * modules/unicase/u8-casefold-tests: New file.
29250         * tests/unicase/test-u8-casefold.c: New file.
29251
29252         New module 'unicase/u32-casefold'.
29253         * lib/unicase/u32-casefold.c: New file.
29254         * modules/unicase/u32-casefold: New file.
29255
29256         New module 'unicase/u16-casefold'.
29257         * lib/unicase/u16-casefold.c: New file.
29258         * modules/unicase/u16-casefold: New file.
29259
29260         New module 'unicase/u8-casefold'.
29261         * lib/unicase/u8-casefold.c: New file.
29262         * lib/unicase/u-casefold.h: New file.
29263         * modules/unicase/u8-casefold: New file.
29264
29265         New module 'unicase/tocasefold'.
29266         * lib/unicase/casefold.h: New file.
29267         * lib/unicase/tocasefold.c: New file.
29268         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
29269         * modules/unicase/tocasefold: New file.
29270
29271         Tests for module 'unicase/u32-totitle'.
29272         * modules/unicase/u32-totitle-tests: New file.
29273         * tests/unicase/test-u32-totitle.c: New file.
29274
29275         Tests for module 'unicase/u16-totitle'.
29276         * modules/unicase/u16-totitle-tests: New file.
29277         * tests/unicase/test-u16-totitle.c: New file.
29278
29279         Tests for module 'unicase/u8-totitle'.
29280         * modules/unicase/u8-totitle-tests: New file.
29281         * tests/unicase/test-u8-totitle.c: New file.
29282
29283         New module 'unicase/u32-totitle'.
29284         * lib/unicase/u32-totitle.c: New file.
29285         * modules/unicase/u32-totitle: New file.
29286
29287         New module 'unicase/u16-totitle'.
29288         * lib/unicase/u16-totitle.c: New file.
29289         * modules/unicase/u16-totitle: New file.
29290
29291         New module 'unicase/u8-totitle'.
29292         * lib/unicase/u8-totitle.c: New file.
29293         * lib/unicase/u-totitle.h: New file.
29294         * modules/unicase/u8-totitle: New file.
29295
29296         Tests for module 'unicase/u32-tolower'.
29297         * modules/unicase/u32-tolower-tests: New file.
29298         * tests/unicase/test-u32-tolower.c: New file.
29299
29300         Tests for module 'unicase/u16-tolower'.
29301         * modules/unicase/u16-tolower-tests: New file.
29302         * tests/unicase/test-u16-tolower.c: New file.
29303
29304         Tests for module 'unicase/u8-tolower'.
29305         * modules/unicase/u8-tolower-tests: New file.
29306         * tests/unicase/test-u8-tolower.c: New file.
29307
29308         New module 'unicase/u32-tolower'.
29309         * lib/unicase/u32-tolower.c: New file.
29310         * modules/unicase/u32-tolower: New file.
29311
29312         New module 'unicase/u16-tolower'.
29313         * lib/unicase/u16-tolower.c: New file.
29314         * modules/unicase/u16-tolower: New file.
29315
29316         New module 'unicase/u8-tolower'.
29317         * lib/unicase/u8-tolower.c: New file.
29318         * modules/unicase/u8-tolower: New file.
29319
29320         Tests for module 'unicase/u32-toupper'.
29321         * modules/unicase/u32-toupper-tests: New file.
29322         * tests/unicase/test-u32-toupper.c: New file.
29323
29324         Tests for module 'unicase/u16-toupper'.
29325         * modules/unicase/u16-toupper-tests: New file.
29326         * tests/unicase/test-u16-toupper.c: New file.
29327
29328         Tests for module 'unicase/u8-toupper'.
29329         * modules/unicase/u8-toupper-tests: New file.
29330         * tests/unicase/test-u8-toupper.c: New file.
29331
29332         New module 'unicase/u32-toupper'.
29333         * lib/unicase/u32-toupper.c: New file.
29334         * modules/unicase/u32-toupper: New file.
29335
29336         New module 'unicase/u16-toupper'.
29337         * lib/unicase/u16-toupper.c: New file.
29338         * modules/unicase/u16-toupper: New file.
29339
29340         New module 'unicase/u8-toupper'.
29341         * lib/unicase/u8-toupper.c: New file.
29342         * modules/unicase/u8-toupper: New file.
29343
29344         New module 'unicase/u32-casemap'.
29345         * lib/unicase/u32-casemap.c: New file.
29346         * modules/unicase/u32-casemap: New file.
29347
29348         New module 'unicase/u16-casemap'.
29349         * lib/unicase/u16-casemap.c: New file.
29350         * modules/unicase/u16-casemap: New file.
29351
29352         New module 'unicase/u8-casemap'.
29353         * lib/unicase/unicasemap.h: New file.
29354         * lib/unicase/u8-casemap.c: New file.
29355         * lib/unicase/u-casemap.h: New file.
29356         * modules/unicase/u8-casemap: New file.
29357
29358         New module 'unicase/special-casing'.
29359         * lib/unicase/special-casing.h: New file.
29360         * lib/unicase/special-casing.c: New file.
29361         * lib/unicase/special-casing-table.gperf: New file, generated by
29362         gen-uni-tables.c.
29363         * modules/unicase/special-casing: New file.
29364
29365         Tests for module 'unicase/locale-language'.
29366         * modules/unicase/locale-language-tests: New file.
29367         * tests/unicase/test-locale-language.sh: New file.
29368         * tests/unicase/test-locale-language.c: New file.
29369
29370         New module 'unicase/locale-language'.
29371         * lib/unicase/locale-language.c: New file.
29372         * lib/unicase/locale-languages.gperf: New file.
29373         * modules/unicase/locale-language: New file.
29374
29375         Generate more tables for case conversion and case folding.
29376         * lib/gen-uni-tables.c (SCC_*): New enum items.
29377         (struct special_casing_rule): New type.
29378         (casing_rules, num_casing_rules, allocated_casing_rules): New
29379         variables.
29380         (add_casing_rule, fill_casing_rules): New functions.
29381         (struct casefold_rule): New type.
29382         (casefolding_rules, num_casefolding_rules,
29383         allocated_casefolding_rules): New variables.
29384         (fill_casefolding_rules): New function.
29385         (unicode_casefold): New variable.
29386         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
29387         sort_casing_rules, output_casing_rules): New functions.
29388         (main): Accept to more arguments: SpecialCasing.txt and
29389         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
29390         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
29391         Output mapping for casefolding.
29392
29393         * lib/unicase.h: Include stdbool.h, uninorm.h.
29394         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
29395         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
29396         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
29397         arguments.
29398         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
29399         resultp arguments.
29400         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
29401         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
29402         resultp arguments.
29403         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
29404         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
29405         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
29406         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
29407         declarations.
29408         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
29409
29410 2009-03-08  Bruno Haible  <bruno@clisp.org>
29411
29412         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29413         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
29414         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
29415         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29416
29417 2009-03-07  Bruno Haible  <bruno@clisp.org>
29418
29419         Adjust u*_normcmp, u*_normcoll API.
29420         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
29421         u16_normcoll, u32_normcoll): Change failure conventions.
29422         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
29423         errno and return -1.
29424         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
29425
29426 2009-03-07  Bruno Haible  <bruno@clisp.org>
29427
29428         Tests for module 'uninorm/u32-normcoll'.
29429         * modules/uninorm/u32-normcoll-tests: New file.
29430         * tests/uninorm/test-u32-normcoll.c: New file.
29431
29432         Tests for module 'uninorm/u16-normcoll'.
29433         * modules/uninorm/u16-normcoll-tests: New file.
29434         * tests/uninorm/test-u16-normcoll.c: New file.
29435
29436         Tests for module 'uninorm/u8-normcoll'.
29437         * modules/uninorm/u8-normcoll-tests: New file.
29438         * tests/uninorm/test-u8-normcoll.c: New file.
29439
29440 2009-03-07  Bruno Haible  <bruno@clisp.org>
29441
29442         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
29443         tests/uninorm/test-u32-normcmp.c.
29444         * tests/uninorm/test-u32-normcmp.c: Include it.
29445         (test_nonascii): New function, extracted from main. Add some more
29446         tests.
29447         (main): Invoke test_ascii and test_nonascii.
29448         * modules/uninorm/u32-normcmp-tests (Files): Add
29449         tests/uninorm/test-u32-normcmp.h.
29450         (Depends-on): Remove uninorm/u32-normcmp.
29451
29452         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
29453         tests/uninorm/test-u16-normcmp.c.
29454         * tests/uninorm/test-u16-normcmp.c: Include it.
29455         (test_nonascii): New function, extracted from main. Add some more
29456         tests.
29457         (main): Invoke test_ascii and test_nonascii.
29458         * modules/uninorm/u16-normcmp-tests (Files): Add
29459         tests/uninorm/test-u16-normcmp.h.
29460         (Depends-on): Remove uninorm/u16-normcmp.
29461
29462         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
29463         tests/uninorm/test-u8-normcmp.c.
29464         * tests/uninorm/test-u8-normcmp.c: Include it.
29465         (test_nonascii): New function, extracted from main. Add some more
29466         tests.
29467         (main): Invoke test_ascii and test_nonascii.
29468         * modules/uninorm/u8-normcmp-tests (Files): Add
29469         tests/uninorm/test-u8-normcmp.h.
29470         (Depends-on): Remove uninorm/u8-normcmp.
29471
29472 2009-03-07  Bruno Haible  <bruno@clisp.org>
29473
29474         New module 'uninorm/u32-normcoll'.
29475         * lib/uninorm/u32-normcoll.c: New file.
29476         * modules/uninorm/u32-normcoll: New file.
29477
29478         New module 'uninorm/u16-normcoll'.
29479         * lib/uninorm/u16-normcoll.c: New file.
29480         * modules/uninorm/u16-normcoll: New file.
29481
29482         New module 'uninorm/u8-normcoll'.
29483         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
29484         declarations.
29485         * lib/uninorm/u8-normcoll.c: New file.
29486         * lib/uninorm/u-normcoll.h: New file.
29487         * modules/uninorm/u8-normcoll: New file.
29488
29489         New module 'uninorm/u32-normxfrm'.
29490         * lib/uninorm/u32-normxfrm.c: New file.
29491         * modules/uninorm/u32-normxfrm: New file.
29492
29493         New module 'uninorm/u16-normxfrm'.
29494         * lib/uninorm/u16-normxfrm.c: New file.
29495         * modules/uninorm/u16-normxfrm: New file.
29496
29497         New module 'uninorm/u8-normxfrm'.
29498         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
29499         declarations.
29500         * lib/uninorm/u8-normxfrm.c: New file.
29501         * lib/uninorm/u-normxfrm.h: New file.
29502         * modules/uninorm/u8-normxfrm: New file.
29503
29504 2009-03-07  Bruno Haible  <bruno@clisp.org>
29505
29506         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
29507         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
29508         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
29509
29510 2009-03-07  Bruno Haible  <bruno@clisp.org>
29511
29512         New module 'memxfrm'.
29513         * lib/memxfrm.h: New file.
29514         * lib/memxfrm.c: New file.
29515         * modules/memxfrm: New file.
29516
29517 2009-03-07  Bruno Haible  <bruno@clisp.org>
29518
29519         New module 'memcmp2'.
29520         * lib/memcmp2.h: New file.
29521         * lib/memcmp2.c: New file.
29522         * modules/memcmp2: New file.
29523
29524 2009-03-07  Bruno Haible  <bruno@clisp.org>
29525
29526         Tests for module 'uninorm/decomposing-form'.
29527         * modules/uninorm/decomposing-form-tests: New file.
29528         * tests/uninorm/test-decomposing-form.c: New file.
29529
29530         New module 'uninorm/decomposing-form'.
29531         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
29532         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
29533         Add 'decomposing_variant' field.
29534         * lib/uninorm/decomposing-form.c: New file.
29535         * lib/uninorm/nfc.c (uninorm_nfc): Update.
29536         * lib/uninorm/nfd.c (uninorm_nfd): Update.
29537         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
29538         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
29539         * modules/uninorm/decomposing-form: New file.
29540         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
29541         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
29542
29543 2009-03-07  Bruno Haible  <bruno@clisp.org>
29544
29545         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
29546         strings.
29547
29548 2009-03-06  Bruno Haible  <bruno@clisp.org>
29549
29550         Tests for module 'uninorm/u32-normcmp'.
29551         * tests/uninorm/test-u32-normcmp.c: New file.
29552         * modules/uninorm/u32-normcmp-tests: New file.
29553
29554         Tests for module 'uninorm/u16-normcmp'.
29555         * tests/uninorm/test-u16-normcmp.c: New file.
29556         * modules/uninorm/u16-normcmp-tests: New file.
29557
29558         Tests for module 'uninorm/u8-normcmp'.
29559         * tests/uninorm/test-u8-normcmp.c: New file.
29560         * modules/uninorm/u8-normcmp-tests: New file.
29561
29562         New module 'uninorm/u32-normcmp'.
29563         * lib/uninorm/u32-normcmp.c: New file.
29564         * modules/uninorm/u32-normcmp: New file.
29565
29566         New module 'uninorm/u16-normcmp'.
29567         * lib/uninorm/u16-normcmp.c: New file.
29568         * modules/uninorm/u16-normcmp: New file.
29569
29570         New module 'uninorm/u8-normcmp'.
29571         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
29572         declarations.
29573         * lib/uninorm/u8-normcmp.c: New file.
29574         * lib/uninorm/u-normcmp.h: New file.
29575         * modules/uninorm/u8-normcmp: New file.
29576
29577 2009-03-06  Bruno Haible  <bruno@clisp.org>
29578
29579         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
29580         Reported by Eric Blake.
29581
29582 2009-03-06  Eric Blake  <ebb9@byu.net>
29583             Bruno Haible  <bruno@clisp.org>
29584
29585         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
29586         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
29587         condition.
29588         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
29589         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
29590         condition.
29591         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
29592
29593 2009-03-06  Eric Blake  <ebb9@byu.net>
29594
29595         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
29596         to avoid compiler warnings.
29597         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
29598
29599 2009-03-05  Bruno Haible  <bruno@clisp.org>
29600
29601         * tests/test-ftell.c (main): Disable test beyond end of file on
29602         FreeMiNT.
29603         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
29604
29605 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
29606
29607         * lib/filevercmp.c: Move hidden files up in ordering.
29608         * tests/test-filevercmp.c: Add tests for hidden files.
29609
29610 2009-03-04  Bruno Haible  <bruno@clisp.org>
29611
29612         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
29613         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
29614         AM_CFLAGS.
29615         Reported by Simon Josefsson.
29616
29617 2009-03-03  Bruno Haible  <bruno@clisp.org>
29618
29619         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
29620         Reported by Simon Josefsson.
29621
29622         * doc/ld-version-script.texi: Update node reference.
29623
29624 2009-03-03  Bruno Haible  <bruno@clisp.org>
29625
29626         * modules/visibility (License): Change to 'unlimited'.
29627         Suggested by Simon Josefsson.
29628
29629 2009-03-03  Jim Meyering  <meyering@redhat.com>
29630
29631         unlinkdir: cannot_unlink_dir may modify process state
29632         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
29633         it's neither thread-safe nor appropriate for use in a library.
29634
29635 2009-03-03  Eric Blake  <ebb9@byu.net>
29636
29637         test-closein: silence test under Darwin
29638         * tests/test-closein.sh: Ignore stderr from cat, since we don't
29639         care if it dies from EPIPE or EBADF.
29640
29641 2009-03-03  Bruno Haible  <bruno@clisp.org>
29642
29643         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
29644         earlier.
29645         * doc/visibility.texi: Fix @node and @section.
29646
29647 2009-03-03  Simon Josefsson  <simon@josefsson.org>
29648
29649         * doc/gnulib.texi: Link to sections for ld version script and
29650         visibility.
29651         * doc/visibility.texi: Add @node and @section.
29652         * modules/ld-version-script: New module.
29653         * m4/ld-version-script.m4: New file.
29654         * doc/ld-version-script.texi: New file.
29655
29656 2009-03-02  David Lutterkort  <lutter@redhat.com>
29657
29658         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
29659         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29660
29661 2009-03-02  Bruno Haible  <bruno@clisp.org>
29662
29663         * doc/visibility.texi: Mention libtool's -export-symbols option.
29664
29665 2009-03-02  Jim Meyering  <meyering@redhat.com>
29666
29667         announce-gen: new option: --no-print-checksums
29668         * build-aux/announce-gen (usage): Describe it.
29669         (print_checksums): Print a newline here, not in the [*] footnote.
29670         (main): Honor it.
29671
29672 2009-03-01  Bruno Haible  <bruno@clisp.org>
29673
29674         Use socklen_t in the native Windows replacements prototypes.
29675         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
29676         instead of 'int'.
29677         * lib/getsockopt.c (rpl_getsockopt): Likewise.
29678         * lib/setsockopt.c (rpl_setsockopt): Likewise.
29679         * modules/getsockopt (Depends-on): Add socklen.
29680         * modules/setsockopt (Depends-on): Add socklen.
29681
29682 2009-03-01  Bruno Haible  <bruno@clisp.org>
29683
29684         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
29685         least 4.2.
29686
29687 2009-03-01  Eric Blake  <ebb9@byu.net>
29688             Bruno Haible  <bruno@clisp.org>
29689
29690         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
29691         error messages.
29692         * lib/wait-process.c (wait_subprocess): Omit error message about
29693         deadly signal sent to the child of termsigp != NULL.
29694
29695 2009-03-01  Eric Blake  <ebb9@byu.net>
29696
29697         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
29698
29699 2009-03-01  Bruno Haible  <bruno@clisp.org>
29700
29701         Avoid a gcc warning.
29702         * tests/test-sched.c (b): Make global.
29703         Reported by Eric Blake.
29704
29705 2009-01-19  Martin Lambers  <marlam@marlam.de>
29706
29707         Provide POSIX semantics for socket timeout options on W32.
29708         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
29709         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
29710         * modules/setsockopt: Depend on sys_time module for struct timeval.
29711         * modules/getsockopt: Depend on sys_time module for struct timeval.
29712
29713 2009-03-01  Simon Josefsson  <simon@josefsson.org>
29714
29715         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
29716         __USE_GNU, for consistency with netdb.in.h.
29717         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29718
29719 2009-03-01  Bruno Haible  <bruno@clisp.org>
29720
29721         More support for FreeMiNT.
29722         * lib/fseeko.c (rpl_fseeko): Complete last commit.
29723         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29724
29725 2009-03-01  Bruno Haible  <bruno@clisp.org>
29726
29727         More support for FreeMiNT.
29728         * lib/fpurge.c (fpurge): Correct last commit.
29729         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29730
29731 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29732
29733         Fix unportable awk script in vc-list-files.
29734         * build-aux/vc-list-files: In the replacement awk script, use
29735         substr with a second argument of 1, not zero.
29736         Report by Simon Josefsson.
29737
29738 2009-02-28  Bruno Haible  <bruno@clisp.org>
29739
29740         More support for FreeMiNT.
29741         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
29742         to FreeMiNT today.
29743         * lib/fwriting.c (fwriting): Likewise.
29744         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
29745
29746 2009-02-28  Bruno Haible  <bruno@clisp.org>
29747
29748         * tests/test-freadseek.c (main): Disable test beyond end of file on
29749         FreeMiNT.
29750         * tests/test-ftello.c (main): Likewise.
29751         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
29752
29753 2009-02-28  Bruno Haible  <bruno@clisp.org>
29754
29755         Add tentative support for FreeMiNT.
29756         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
29757         * lib/fpurge.c (fpurge): Likewise.
29758         * lib/freadable.c (freadable): Likewise.
29759         * lib/freading.c (freading): Likewise.
29760         * lib/freadptr.c (freadptr): Likewise.
29761         * lib/freadseek.c (freadptrinc): Likewise.
29762         * lib/fseeko.c (rpl_fseeko): Likewise.
29763         * lib/fseterr.c (fseterr): Likewise.
29764         * lib/fwritable.c (fwritable): Likewise.
29765         * lib/fwriting.c (fwriting): Likewise.
29766         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
29767         Hourihane.
29768         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
29769
29770 2009-02-28  Bruno Haible  <bruno@clisp.org>
29771
29772         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
29773         SIGCHLD.
29774         Reported by Jim Meyering.
29775
29776 2009-02-28  Bruno Haible  <bruno@clisp.org>
29777
29778         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
29779         Mention the results of these tests on various platforms.
29780         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
29781         order.
29782         * doc/posix-functions/printf.texi: Likewise.
29783         * doc/posix-functions/snprintf.texi: Likewise.
29784         * doc/posix-functions/sprintf.texi: Likewise.
29785         * doc/posix-functions/vfprintf.texi: Likewise.
29786         * doc/posix-functions/vprintf.texi: Likewise.
29787         * doc/posix-functions/vsnprintf.texi: Likewise.
29788         * doc/posix-functions/vsprintf.texi: Likewise.
29789         * doc/glibc-functions/obstack_printf.texi: Likewise.
29790         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
29791
29792 2009-02-28  Bruno Haible  <bruno@clisp.org>
29793
29794         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
29795         Reported by Loïc Minier <lool@dooz.org>.
29796
29797 2009-02-27  Bruno Haible  <bruno@clisp.org>
29798
29799         * gnulib-tool (func_import): Make the sed expression used to create the
29800         sed script for updating the .gitignore file POSIX compliant.
29801         Reported by Eric Blake.
29802
29803 2009-02-27  Bruno Haible  <bruno@clisp.org>
29804
29805         * gnulib-tool (sed): Don't alias as "sed --posix".
29806         Reported by Eric Blake.
29807
29808 2009-02-27  Bruno Haible  <bruno@clisp.org>
29809
29810         Avoid test link errors.
29811         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
29812         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
29813         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
29814         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
29815         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29816
29817 2009-02-27  Bruno Haible  <bruno@clisp.org>
29818
29819         Avoid spurious "(cached)" in configure output.
29820         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
29821         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
29822         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
29823         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
29824         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
29825         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
29826         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
29827         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
29828         Reported by Eric Blake.
29829
29830 2009-02-27  Eric Blake  <ebb9@byu.net>
29831
29832         printf: fix regression in previous patch
29833         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
29834
29835 2009-02-27  Bruno Haible  <bruno@clisp.org>
29836
29837         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
29838         value.
29839         * lib/stdint.in.h: Likewise.
29840         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
29841
29842 2009-02-27  Eric Blake  <ebb9@byu.net>
29843
29844         doc: mention more functions added in cygwin 1.7.0
29845         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
29846         addition.
29847         * doc/posix-functions/open_wmemstream.texi: Likewise.
29848         * doc/posix-functions/wcsnlen.texi: Likewise.
29849         * doc/posix-functions/wcsnrtombs.texi: Likewise.
29850         * doc/posix-functions/wcstod.texi: Likewise.
29851         * doc/posix-functions/wcstof.texi: Likewise.
29852         * doc/posix-functions/wcstoimax.texi: Likewise.
29853         * doc/posix-functions/wcstok.texi: Likewise.
29854         * doc/posix-functions/wcstoumax.texi: Likewise.
29855
29856         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
29857         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
29858         * doc/posix-functions/fprintf.texi: Update.
29859         * doc/posix-functions/printf.texi: Update.
29860         * doc/posix-functions/snprintf.texi: Update.
29861         * doc/posix-functions/sprintf.texi: Update.
29862         * doc/posix-functions/vfprintf.texi: Update.
29863         * doc/posix-functions/vprintf.texi: Update.
29864         * doc/posix-functions/vsnprintf.texi: Update.
29865         * doc/posix-functions/vsprintf.texi: Update.
29866         * doc/glibc-functions/obstack_printf.texi: Update.
29867         * doc/glibc-functions/obstack_vprintf.texi: Update.
29868
29869 2009-02-26  Eric Blake  <ebb9@byu.net>
29870
29871         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
29872         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
29873         compilation bug by using runtime conversion.
29874         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
29875         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
29876         * modules/ceill-tests (Files): Use nan.h.
29877         * modules/floorl-tests (Files): Likewise.
29878         * modules/frexpl-tests (Files): Likewise.
29879         * modules/isnanl-tests (Files): Likewise.
29880         * modules/ldexpl-tests (Files): Likewise.
29881         * modules/roundl-tests (Files): Likewise.
29882         * modules/truncl-tests (Files): Likewise.
29883         * tests/test-ceill.c (main): Use a working NaN.
29884         * tests/test-floorl.c (main): Likewise.
29885         * tests/test-frexpl.c (main): Likewise.
29886         * tests/test-isnan.c (test_long_double): Likewise.
29887         * tests/test-isnanl.h (main): Likewise.
29888         * tests/test-ldexpl.h (main): Likewise.
29889         * tests/test-roundl.h (main): Likewise.
29890         * tests/test-truncl.h (main): Likewise.
29891         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
29892
29893 2009-02-26  Eric Blake  <ebb9@byu.net>
29894             Bruno Haible  <bruno@clisp.org>
29895
29896         Work around a *printf bug with %ls on Solaris.
29897         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
29898         precision is specified, sprintf stops converting the wide string
29899         argument when the number of bytes that have been produced by this
29900         conversion equals or exceeds the precision.
29901         * doc/posix-functions/fprintf.texi: Update.
29902         * doc/posix-functions/printf.texi: Update.
29903         * doc/posix-functions/snprintf.texi: Update.
29904         * doc/posix-functions/sprintf.texi: Update.
29905         * doc/posix-functions/vfprintf.texi: Update.
29906         * doc/posix-functions/vprintf.texi: Update.
29907         * doc/posix-functions/vsnprintf.texi: Update.
29908         * doc/posix-functions/vsprintf.texi: Update.
29909         * doc/glibc-functions/obstack_printf.texi: Update.
29910         * doc/glibc-functions/obstack_vprintf.texi: Update.
29911
29912 2009-02-26  Eric Blake  <ebb9@byu.net>
29913
29914         stdlib: favor compiler check of random.h
29915         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
29916         to avoid an ObjC random.h installed by Swarm.
29917
29918 2009-02-26  Bruno Haible  <bruno@clisp.org>
29919
29920         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
29921         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
29922         Reported by Gary V. Vaughan <gary@gnu.org>.
29923
29924 2009-02-26  Bruno Haible  <bruno@clisp.org>
29925
29926         Fix *printf behaviour regarding the %ls directive.
29927         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
29928         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
29929         NEED_PRINTF_DIRECTIVE_LS.
29930         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
29931         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
29932         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
29933         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
29934         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
29935         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
29936         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
29937         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
29938         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29939         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29940         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29941         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
29942         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
29943         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29944         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29945         * doc/posix-functions/fprintf.texi: Update.
29946         * doc/posix-functions/printf.texi: Update.
29947         * doc/posix-functions/snprintf.texi: Update.
29948         * doc/posix-functions/sprintf.texi: Update.
29949         * doc/posix-functions/vfprintf.texi: Update.
29950         * doc/posix-functions/vprintf.texi: Update.
29951         * doc/posix-functions/vsnprintf.texi: Update.
29952         * doc/posix-functions/vsprintf.texi: Update.
29953         * doc/glibc-functions/obstack_printf.texi: Update.
29954         * doc/glibc-functions/obstack_vprintf.texi: Update.
29955         Reported by Eric Blake.
29956
29957 2009-02-25  Bruno Haible  <bruno@clisp.org>
29958
29959         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
29960         with known value.
29961         Reported by Gary V. Vaughan <gary@gnu.org>.
29962
29963 2009-02-25  Bruno Haible  <bruno@clisp.org>
29964
29965         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
29966         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
29967         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
29968         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
29969         Reported by Gary V. Vaughan <gary@gnu.org>.
29970
29971 2009-02-25  Bruno Haible  <bruno@clisp.org>
29972
29973         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
29974         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
29975         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
29976         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
29977         Reported by Gary V. Vaughan <gary@gnu.org>.
29978
29979 2009-02-25  Eric Blake  <ebb9@byu.net>
29980
29981         tests: skip fseek/ftell tests if ungetc is broken
29982         * m4/ungetc.m4: New file.
29983         * modules/fseek-tests: Split test, so ungetc dependency is
29984         separate from rest of test.
29985         * modules/fseeko-tests: Likewise.
29986         * modules/ftell-tests: Likewise.
29987         * modules/ftello-tests: Likewise.
29988         * tests/test-fseek.c (main): Isolate ungetc dependency.
29989         * tests/test-fseeko.c (main): Likewise.
29990         * tests/test-ftell.c (main): Likewise.
29991         * tests/test-ftello.c (main): Likewise.
29992         * tests/test-fseek2.sh: New file.
29993         * tests/test-fseeko2.sh: Likewise.
29994         * tests/test-ftell2.sh: Likewise.
29995         * tests/test-ftello2.sh: Likewise.
29996
29997 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
29998
29999         test-getaddrinfo: fix usage of skip return code 77
30000         * tests/test-gettaddrinfo.c: Return skip code 77 only
30001         for first occurance of skip (4x77 is not 77)
30002
30003 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
30004
30005         strtod: avoid C99 decl-after-statement
30006         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
30007
30008 2009-02-24  Eric Blake  <ebb9@byu.net>
30009
30010         strtod: detect HP-UX 11.31 bug
30011         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
30012         Reported by Gary V. Vaughan.
30013
30014 2009-02-23  Bruno Haible  <bruno@clisp.org>
30015
30016         Fix invalid read past end of memory block.
30017         * lib/vasnprintf.c (DCHAR_SET): Define.
30018         (local_wcslen): Define only when needed.
30019         (local_strnlen, local_wcsnlen): New functions.
30020         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
30021         directives that involve a conversion ourselves.
30022         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
30023         wcsnlen, mbrtowc, wcrtomb.
30024         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
30025         * tests/test-vasprintf-posix.c (test_function): Likewise.
30026         * tests/test-snprintf-posix.h (test_function): Likewise.
30027         * tests/test-sprintf-posix.h (test_function): Likewise.
30028         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30029
30030 2009-02-22  Bruno Haible  <bruno@clisp.org>
30031
30032         Implement new clarified decomposition of Hangul syllables.
30033         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
30034         of type LTV, return only a pairwise decomposition.
30035         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
30036         Likewise.
30037         * tests/uninorm/test-decomposition.c (main): Updated expected result.
30038         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
30039         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
30040
30041 2009-02-22  Bruno Haible  <bruno@clisp.org>
30042
30043         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
30044         zero-length results and shrink excess allocated memory.
30045         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
30046         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
30047         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
30048         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
30049         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
30050         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
30051         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
30052         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
30053         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
30054         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
30055         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
30056         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
30057
30058 2009-02-21  Bruno Haible  <bruno@clisp.org>
30059
30060         * doc/gnulib.texi: Include safe-alloc.texi earlier.
30061         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
30062         spaces after a period. Put a space between a macro name and its
30063         argument list. Trivial rewordings.
30064         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
30065         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
30066         (main): Return 0 explicitly.
30067
30068 2009-02-21  Bruno Haible  <bruno@clisp.org>
30069
30070         Tests for module 'uninorm/filter'.
30071         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
30072         * modules/uninorm/filter-tests: New file.
30073
30074         New module 'uninorm/filter'.
30075         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
30076         uninorm_filter_flush, uninorm_filter_free): New declarations.
30077         * lib/uninorm/uninorm-filter.c: New file.
30078         * modules/uninorm/filter: New file.
30079
30080 2009-02-21  Bruno Haible  <bruno@clisp.org>
30081
30082         Tests for module 'uninorm/nfkc'.
30083         * tests/uninorm/test-nfkc.c: New file.
30084         * tests/uninorm/test-u8-nfkc.c: New file.
30085         * tests/uninorm/test-u16-nfkc.c: New file.
30086         * tests/uninorm/test-u32-nfkc.c: New file.
30087         * tests/uninorm/test-u32-nfkc-big.sh: New file.
30088         * tests/uninorm/test-u32-nfkc-big.c: New file.
30089         * modules/uninorm/nfkc-tests: New file.
30090
30091         New module 'uninorm/nfkc'.
30092         * lib/uninorm/nfkc.c: New file.
30093         * modules/uninorm/nfkc: New file.
30094
30095         Tests for module 'uninorm/nfkd'.
30096         * tests/uninorm/test-nfkd.c: New file.
30097         * tests/uninorm/test-u8-nfkd.c: New file.
30098         * tests/uninorm/test-u16-nfkd.c: New file.
30099         * tests/uninorm/test-u32-nfkd.c: New file.
30100         * tests/uninorm/test-u32-nfkd-big.sh: New file.
30101         * tests/uninorm/test-u32-nfkd-big.c: New file.
30102         * modules/uninorm/nfkd-tests: New file.
30103
30104         New module 'uninorm/nfkd'.
30105         * lib/uninorm/nfkd.c: New file.
30106         * modules/uninorm/nfkd: New file.
30107
30108         Tests for module 'uninorm/nfc'.
30109         * tests/uninorm/test-nfc.c: New file.
30110         * tests/uninorm/test-u8-nfc.c: New file.
30111         * tests/uninorm/test-u16-nfc.c: New file.
30112         * tests/uninorm/test-u32-nfc.c: New file.
30113         * tests/uninorm/test-u32-nfc-big.sh: New file.
30114         * tests/uninorm/test-u32-nfc-big.c: New file.
30115         * modules/uninorm/nfc-tests: New file.
30116
30117         New module 'uninorm/nfc'.
30118         * lib/uninorm/nfc.c: New file.
30119         * modules/uninorm/nfc: New file.
30120
30121         Tests for module 'uninorm/nfd'.
30122         * tests/uninorm/test-nfd.c: New file.
30123         * tests/uninorm/test-u8-nfd.c: New file.
30124         * tests/uninorm/test-u16-nfd.c: New file.
30125         * tests/uninorm/test-u32-nfd.c: New file.
30126         * tests/uninorm/test-u32-nfd-big.sh: New file.
30127         * tests/uninorm/test-u32-nfd-big.c: New file.
30128         * tests/uninorm/test-u32-normalize-big.h: New file.
30129         * tests/uninorm/test-u32-normalize-big.c: New file.
30130         * tests/uninorm/NormalizationTest.txt: New file, created from
30131         Unicode 5.1.0 NormalizationTest.txt.
30132         * modules/uninorm/nfd-tests: New file.
30133
30134         New module 'uninorm/nfd'.
30135         * lib/uninorm/nfd.c: New file.
30136         * modules/uninorm/nfd: New file.
30137
30138         New module 'uninorm/u32-normalize'.
30139         * lib/uninorm/u32-normalize.c: New file.
30140         * modules/uninorm/u32-normalize: New file.
30141
30142         New module 'uninorm/u16-normalize'.
30143         * lib/uninorm/u16-normalize.c: New file.
30144         * modules/uninorm/u16-normalize: New file.
30145
30146         New module 'uninorm/u8-normalize'.
30147         * lib/uninorm/u8-normalize.c: New file.
30148         * lib/uninorm/normalize-internal.h: New file.
30149         * lib/uninorm/u-normalize-internal.h: New file.
30150         * modules/uninorm/u8-normalize: New file.
30151
30152         New module 'uninorm/decompose-internal'.
30153         * lib/uninorm/decompose-internal.c: New file.
30154         * modules/uninorm/decompose-internal: New file.
30155
30156         Tests for module 'uninorm/composition'.
30157         * tests/uninorm/test-composition.c: New file.
30158         * modules/uninorm/composition-tests: New file.
30159
30160         New module 'uninorm/composition'.
30161         * lib/uninorm/composition.c: New file.
30162         * lib/uninorm/composition-table.gperf: New file, generated by
30163         gen-uni-tables.
30164         * modules/uninorm/composition: New file.
30165
30166         Tests for module 'uninorm/compat-decomposition'.
30167         * tests/uninorm/test-compat-decomposition.c: New file.
30168         * modules/uninorm/compat-decomposition-tests: New file.
30169
30170         New module 'uninorm/compat-decomposition'.
30171         * lib/uninorm/decompose-internal.h: New file.
30172         * lib/uninorm/compat-decomposition.c: New file.
30173         * modules/uninorm/compat-decomposition: New file.
30174
30175         Tests for module 'uninorm/canonical-decomposition'.
30176         * tests/uninorm/test-canonical-decomposition.c: New file.
30177         * modules/uninorm/canonical-decomposition-tests: New file.
30178
30179         New module 'uninorm/canonical-decomposition'.
30180         * lib/uninorm/canonical-decomposition.c: New file.
30181         * modules/uninorm/canonical-decomposition: New file.
30182
30183         Tests for module 'uninorm/decomposition'.
30184         * tests/uninorm/test-decomposition.c: New file.
30185         * modules/uninorm/decomposition-tests: New file.
30186
30187         New module 'uninorm/decomposition'.
30188         * lib/uninorm/decomposition.c: New file.
30189         * modules/uninorm/decomposition: New file.
30190
30191         New module 'uninorm/decomposition-table'.
30192         * lib/uninorm/decomposition-table.h: New file.
30193         * lib/uninorm/decomposition-table.c: New file.
30194         * lib/uninorm/decomposition-table1.h: New file, generated by
30195         gen-uni-tables.
30196         * lib/uninorm/decomposition-table2.h: New file, generated by
30197         gen-uni-tables.
30198         * modules/uninorm/decomposition-table: New file.
30199
30200         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
30201         (UC_DECOMP_*): New enumeration items.
30202         (get_decomposition): New function.
30203         (struct decomp_table): New type.
30204         (output_decomposition, output_decomposition_tables): New functions.
30205         (unicode_composition_exclusions): New variable.
30206         (fill_composition_exclusions, debug_output_composition_tables): New
30207         functions.
30208         (main): Accept one more argument. Invoke fill_composition_exclusions.
30209         Output decomposition and composition tables.
30210
30211         New module 'uninorm/base'.
30212         * lib/uninorm.h: New file.
30213         * lib/unictype.h: Update comment.
30214         * modules/uninorm/base: New file.
30215
30216 2009-02-21  David Lutterkort  <lutter@redhat.com>
30217
30218         Tests for module 'safe-alloc'.
30219         * tests/test-safe-alloc.c: New file.
30220         * modules/safe-alloc-tests: New file.
30221
30222         New module 'safe-alloc'.
30223         * lib/safe-alloc.h: New file.
30224         * lib/safe-alloc.c: New file.
30225         * m4/safe-alloc.m4: New file.
30226         * modules/safe-alloc: New file.
30227         * doc/safe-alloc.texi: New file.
30228         * doc/gnulib.texi: Include it.
30229         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30230         safe-alloc.
30231
30232 2009-02-18  Bruno Haible  <bruno@clisp.org>
30233
30234         Fix link error on non-glibc systems.
30235         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
30236         variable.
30237         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30238
30239 2009-02-18  Jim Meyering  <meyering@redhat.com>
30240
30241         fts: avoid used-uninitialized error due to recent change
30242         * lib/fts.c (fts_read): Guard uses of the new member,
30243         parent->fts_n_dirs_remaining, since it's not relevant for
30244         the parent of a directory specified on the command-line.
30245
30246 2009-02-17  James Youngman  <jay@gnu.org>
30247             Bruno Haible  <bruno@clisp.org>
30248
30249         * m4/include_next.m4: Reformulate comment.
30250
30251 2009-02-16  Jim Meyering  <meyering@redhat.com>
30252
30253         fts: add #if guards so that the fts_lgpl module still builds
30254         * lib/fts.c: Guard just-added hash-table-using parts with
30255         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
30256         Reported by Simon Josefsson.
30257
30258 2009-02-15  Bruno Haible  <bruno@clisp.org>
30259
30260         * modules/array-mergesort-tests: New file.
30261         * tests/test-array-mergesort.c: New file.
30262
30263         New module 'array-mergesort'.
30264         * modules/array-mergesort: New file.
30265         * lib/array-mergesort.h: New file.
30266
30267 2009-02-15  Bruno Haible  <bruno@clisp.org>
30268
30269         Fix 2009-02-07 commit.
30270         * lib/gen-uni-tables.c (output_predicate, output_category,
30271         output_combclass, output_bidi_category, output_decimal_digit,
30272         output_digit, output_numeric, output_mirror, output_scripts,
30273         output_ident_category, output_simple_mapping): Fix format directives.
30274         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
30275
30276 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
30277
30278         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
30279         fixes are available from IBM.
30280
30281 2009-02-13  Jim Meyering  <meyering@redhat.com>
30282
30283         fts: arrange not to stat non-directories in more cases
30284         This makes GNU find (when it doesn't need to stat each file)
30285         *much* more efficient at traversing reiserfs file systems.
30286         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
30287         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
30288         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
30289         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
30290         (leaf_optimization_applies): New function.
30291         (LCO_hash, LCO_compare): New helper functions.
30292         (link_count_optimize_ok): New function.
30293         (fts_stat): Initialize new member (if dir).
30294         (fts_read): Decrement parent's fts_n_dirs_remaining count if
30295         we've just stat'ed a directory.  Skip the stat call when possible.
30296         ---
30297         Note this AFS-related exchange:
30298         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
30299         and note find's pioctl call in find/fstype.c.
30300         But that is necessary only if you want to enable the
30301         optimization for AFS, and for now, I don't.
30302
30303         fts: move a function definition "up" (no semantic change)
30304         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
30305         "up" to precede upcoming use of a related function.
30306
30307 2009-02-11  Jim Meyering  <meyering@redhat.com>
30308
30309         fts: correct internal computation of nlinks (optimization-related)
30310         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
30311         whether the current entry is a directory, so don't test it.
30312
30313 2009-02-10  Bruno Haible  <bruno@clisp.org>
30314
30315         Tests for module 'uniwbrk/ulc-wordbreaks'.
30316         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
30317         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
30318         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
30319
30320         Tests for module 'uniwbrk/u32-wordbreaks'.
30321         * modules/uniwbrk/u32-wordbreaks-tests: New file.
30322         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
30323
30324         Tests for module 'uniwbrk/u16-wordbreaks'.
30325         * modules/uniwbrk/u16-wordbreaks-tests: New file.
30326         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
30327
30328         Tests for module 'uniwbrk/u8-wordbreaks'.
30329         * modules/uniwbrk/u8-wordbreaks-tests: New file.
30330         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
30331
30332 2009-02-10  Bruno Haible  <bruno@clisp.org>
30333
30334         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
30335         property.
30336         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
30337         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
30338         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
30339
30340 2009-02-10  Simon Josefsson  <simon@josefsson.org>
30341
30342         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
30343         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
30344
30345 2009-02-10  Bruno Haible  <bruno@clisp.org>
30346
30347         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
30348         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
30349         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
30350         * lib/unilbrk/u8-possible-linebreaks.c: Update.
30351         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
30352         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
30353
30354 2009-02-09  Simon Josefsson  <simon@josefsson.org>
30355
30356         * lib/sockets.h (gl_fd_to_handle): New function.
30357
30358         * tests/test-sockets.c: Call gl_fd_to_handle.
30359
30360 2009-02-09  Bruno Haible  <bruno@clisp.org>
30361
30362         * doc/havelib.texi: Document the conventions on bi-arch systems.
30363
30364 2009-02-08  Bruno Haible  <bruno@clisp.org>
30365
30366         Document the AC_LIB_LINKFLAGS macro.
30367         * doc/havelib.texi: New file, mostly written on 2005-05-24.
30368         * doc/gnulib.texi: Include it.
30369
30370 2009-02-08  Bruno Haible  <bruno@clisp.org>
30371
30372         Fix wrong order of sections, compared to TOC.
30373         * doc/gnulib.texi: Include relocatable-maint.texi after the
30374         "Regular expressions" node, not before.
30375
30376 2009-02-08  Bruno Haible  <bruno@clisp.org>
30377
30378         Tests for module 'unicase/totitle'.
30379         * modules/unicase/totitle-tests: New file.
30380
30381         Tests for module 'unicase/tolower'.
30382         * modules/unicase/tolower-tests: New file.
30383
30384         Tests for module 'unicase/toupper'.
30385         * modules/unicase/toupper-tests: New file.
30386         * tests/unicase/test-mapping-part1.h: New file.
30387         * tests/unicase/test-mapping-part2.h: New file.
30388
30389         New module 'unicase/totitle'.
30390         * modules/unicase/totitle: New file.
30391         * lib/unicase/totitle.c: New file.
30392
30393         New module 'unicase/tolower'.
30394         * modules/unicase/tolower: New file.
30395         * lib/unicase/tolower.c: New file.
30396
30397         New module 'unicase/toupper'.
30398         * modules/unicase/toupper: New file.
30399         * lib/unicase/toupper.c: New file.
30400         * lib/unicase/simple-mapping.h: New file.
30401
30402         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
30403         (mapping_table): New structure.
30404         (output_simple_mapping): New function.
30405         (main): Invoke output_simple_mapping_test and output_simple_mapping.
30406         * modules/gen-uni-tables (Description): Update.
30407         * lib/unicase/toupper.h: New file, automatically generated by
30408         gen-uni-tables.
30409         * lib/unicase/tolower.h: New file, automatically generated by
30410         gen-uni-tables.
30411         * lib/unicase/totitle.h: New file, automatically generated by
30412         gen-uni-tables.
30413         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
30414         gen-uni-tables.
30415         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
30416         gen-uni-tables.
30417         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
30418         gen-uni-tables.
30419
30420         New module 'unicase/base'.
30421         * modules/unicase/base: New file.
30422         * lib/unicase.h: New file.
30423
30424 2009-02-08  Bruno Haible  <bruno@clisp.org>
30425
30426         New module 'uniwbrk/ulc-wordbreaks'.
30427         * modules/uniwbrk/ulc-wordbreaks: New file.
30428         * lib/uniwbrk/ulc-wordbreaks.c: New file.
30429
30430         New module 'uniwbrk/u32-wordbreaks'.
30431         * modules/uniwbrk/u32-wordbreaks: New file.
30432         * lib/uniwbrk/u32-wordbreaks.c: New file.
30433
30434         New module 'uniwbrk/u16-wordbreaks'.
30435         * modules/uniwbrk/u16-wordbreaks: New file.
30436         * lib/uniwbrk/u16-wordbreaks.c: New file.
30437
30438         New module 'uniwbrk/u8-wordbreaks'.
30439         * modules/uniwbrk/u8-wordbreaks: New file.
30440         * lib/uniwbrk/u8-wordbreaks.c: New file.
30441         * lib/uniwbrk/u-wordbreaks.h: New file.
30442
30443         New module 'uniwbrk/table'.
30444         * modules/uniwbrk/table: New file.
30445         * lib/uniwbrk/wbrktable.h: New file.
30446         * lib/uniwbrk/wbrktable.c: New file.
30447
30448         New module 'uniwbrk/wordbreak-property'.
30449         * modules/uniwbrk/wordbreak-property: New file.
30450         * lib/uniwbrk/wordbreak-property.c: New file.
30451
30452         * lib/gen-uni-tables.c (WBP_*): New enum items.
30453         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
30454         (unicode_org_wbp): New variable.
30455         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
30456         New functions.
30457         (wbp_table): New structure.
30458         (output_wbp, output_wbrk_tables): New functions.
30459         (main): Accept additional argument. Invoke fill_org_wbp,
30460         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
30461         output_wbrk_tables.
30462         * modules/gen-uni-tables (Description): Update.
30463         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
30464         gen-uni-tables.
30465
30466         New module 'uniwbrk/base'.
30467         * modules/uniwbrk/base: New file.
30468         * lib/uniwbrk.h: New file.
30469
30470 2009-02-08  Bruno Haible  <bruno@clisp.org>
30471
30472         Update to Unicode 5.1.0.
30473         * lib/gen-uni-tables.c (is_property_alphabetic): Include
30474         U+2185..U+2188.
30475         (is_property_default_ignorable_code_point): Don't include characters
30476         of category Cc or Cs and not-a-characters.
30477         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
30478         U+0D79, U+109E, U+109F, U+A60C.
30479         * lib/unictype/bidi_of.h: Regenerated.
30480         * lib/unictype/blocks.h: Regenerated.
30481         * lib/unictype/categ_C.h: Regenerated.
30482         * lib/unictype/categ_Cf.h: Regenerated.
30483         * lib/unictype/categ_Cn.h: Regenerated.
30484         * lib/unictype/categ_L.h: Regenerated.
30485         * lib/unictype/categ_Ll.h: Regenerated.
30486         * lib/unictype/categ_Lm.h: Regenerated.
30487         * lib/unictype/categ_Lo.h: Regenerated.
30488         * lib/unictype/categ_Lu.h: Regenerated.
30489         * lib/unictype/categ_M.h: Regenerated.
30490         * lib/unictype/categ_Mc.h: Regenerated.
30491         * lib/unictype/categ_Me.h: Regenerated.
30492         * lib/unictype/categ_Mn.h: Regenerated.
30493         * lib/unictype/categ_N.h: Regenerated.
30494         * lib/unictype/categ_Nd.h: Regenerated.
30495         * lib/unictype/categ_Nl.h: Regenerated.
30496         * lib/unictype/categ_No.h: Regenerated.
30497         * lib/unictype/categ_P.h: Regenerated.
30498         * lib/unictype/categ_Pd.h: Regenerated.
30499         * lib/unictype/categ_Pe.h: Regenerated.
30500         * lib/unictype/categ_Pf.h: Regenerated.
30501         * lib/unictype/categ_Pi.h: Regenerated.
30502         * lib/unictype/categ_Po.h: Regenerated.
30503         * lib/unictype/categ_Ps.h: Regenerated.
30504         * lib/unictype/categ_S.h: Regenerated.
30505         * lib/unictype/categ_Sk.h: Regenerated.
30506         * lib/unictype/categ_Sm.h: Regenerated.
30507         * lib/unictype/categ_So.h: Regenerated.
30508         * lib/unictype/categ_of.h: Regenerated.
30509         * lib/unictype/combining.h: Regenerated.
30510         * lib/unictype/ctype_alnum.h: Regenerated.
30511         * lib/unictype/ctype_alpha.h: Regenerated.
30512         * lib/unictype/ctype_graph.h: Regenerated.
30513         * lib/unictype/ctype_lower.h: Regenerated.
30514         * lib/unictype/ctype_print.h: Regenerated.
30515         * lib/unictype/ctype_punct.h: Regenerated.
30516         * lib/unictype/ctype_upper.h: Regenerated.
30517         * lib/unictype/decdigit.h: Regenerated.
30518         * lib/unictype/digit.h: Regenerated.
30519         * lib/unictype/mirror.h: Regenerated.
30520         * lib/unictype/numeric.h: Regenerated.
30521         * lib/unictype/pr_alphabetic.h: Regenerated.
30522         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
30523         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
30524         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
30525         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
30526         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
30527         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
30528         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
30529         * lib/unictype/pr_combining.h: Regenerated.
30530         * lib/unictype/pr_dash.h: Regenerated.
30531         * lib/unictype/pr_decimal_digit.h: Regenerated.
30532         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
30533         * lib/unictype/pr_deprecated.h: Regenerated.
30534         * lib/unictype/pr_diacritic.h: Regenerated.
30535         * lib/unictype/pr_extender.h: Regenerated.
30536         * lib/unictype/pr_format_control.h: Regenerated.
30537         * lib/unictype/pr_grapheme_base.h: Regenerated.
30538         * lib/unictype/pr_grapheme_extend.h: Regenerated.
30539         * lib/unictype/pr_grapheme_link.h: Regenerated.
30540         * lib/unictype/pr_id_continue.h: Regenerated.
30541         * lib/unictype/pr_id_start.h: Regenerated.
30542         * lib/unictype/pr_ideographic.h: Regenerated.
30543         * lib/unictype/pr_ignorable_control.h: Regenerated.
30544         * lib/unictype/pr_lowercase.h: Regenerated.
30545         * lib/unictype/pr_math.h: Regenerated.
30546         * lib/unictype/pr_numeric.h: Regenerated.
30547         * lib/unictype/pr_other_alphabetic.h: Regenerated.
30548         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
30549         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
30550         * lib/unictype/pr_other_id_continue.h: Regenerated.
30551         * lib/unictype/pr_other_lowercase.h: Regenerated.
30552         * lib/unictype/pr_other_math.h: Regenerated.
30553         * lib/unictype/pr_punctuation.h: Regenerated.
30554         * lib/unictype/pr_sentence_terminal.h: Regenerated.
30555         * lib/unictype/pr_soft_dotted.h: Regenerated.
30556         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
30557         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
30558         * lib/unictype/pr_unified_ideograph.h: Regenerated.
30559         * lib/unictype/pr_uppercase.h: Regenerated.
30560         * lib/unictype/pr_xid_continue.h: Regenerated.
30561         * lib/unictype/pr_xid_start.h: Regenerated.
30562         * lib/unictype/pr_zero_width.h: Regenerated.
30563         * lib/unictype/scripts.h: Regenerated.
30564         * lib/unictype/scripts_byname.gperf: Regenerated.
30565         * lib/unictype/sy_java_ident.h: Regenerated.
30566         * lib/unilbrk/lbrkprop1.h: Regenerated.
30567         * lib/unilbrk/lbrkprop2.h: Regenerated.
30568         * tests/unictype/test-categ_C.c: Regenerated.
30569         * tests/unictype/test-categ_Cf.c: Regenerated.
30570         * tests/unictype/test-categ_Cn.c: Regenerated.
30571         * tests/unictype/test-categ_L.c: Regenerated.
30572         * tests/unictype/test-categ_Ll.c: Regenerated.
30573         * tests/unictype/test-categ_Lm.c: Regenerated.
30574         * tests/unictype/test-categ_Lo.c: Regenerated.
30575         * tests/unictype/test-categ_Lu.c: Regenerated.
30576         * tests/unictype/test-categ_M.c: Regenerated.
30577         * tests/unictype/test-categ_Mc.c: Regenerated.
30578         * tests/unictype/test-categ_Me.c: Regenerated.
30579         * tests/unictype/test-categ_Mn.c: Regenerated.
30580         * tests/unictype/test-categ_N.c: Regenerated.
30581         * tests/unictype/test-categ_Nd.c: Regenerated.
30582         * tests/unictype/test-categ_Nl.c: Regenerated.
30583         * tests/unictype/test-categ_No.c: Regenerated.
30584         * tests/unictype/test-categ_P.c: Regenerated.
30585         * tests/unictype/test-categ_Pd.c: Regenerated.
30586         * tests/unictype/test-categ_Pe.c: Regenerated.
30587         * tests/unictype/test-categ_Pf.c: Regenerated.
30588         * tests/unictype/test-categ_Pi.c: Regenerated.
30589         * tests/unictype/test-categ_Po.c: Regenerated.
30590         * tests/unictype/test-categ_Ps.c: Regenerated.
30591         * tests/unictype/test-categ_S.c: Regenerated.
30592         * tests/unictype/test-categ_Sk.c: Regenerated.
30593         * tests/unictype/test-categ_Sm.c: Regenerated.
30594         * tests/unictype/test-categ_So.c: Regenerated.
30595         * tests/unictype/test-ctype_alnum.c: Regenerated.
30596         * tests/unictype/test-ctype_alpha.c: Regenerated.
30597         * tests/unictype/test-ctype_graph.c: Regenerated.
30598         * tests/unictype/test-ctype_lower.c: Regenerated.
30599         * tests/unictype/test-ctype_print.c: Regenerated.
30600         * tests/unictype/test-ctype_punct.c: Regenerated.
30601         * tests/unictype/test-ctype_upper.c: Regenerated.
30602         * tests/unictype/test-decdigit.h: Regenerated.
30603         * tests/unictype/test-digit.h: Regenerated.
30604         * tests/unictype/test-numeric.h: Regenerated.
30605         * tests/unictype/test-pr_alphabetic.c: Regenerated.
30606         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
30607         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
30608         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
30609         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
30610         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
30611         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
30612         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
30613         * tests/unictype/test-pr_combining.c: Regenerated.
30614         * tests/unictype/test-pr_dash.c: Regenerated.
30615         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
30616         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
30617         * tests/unictype/test-pr_deprecated.c: Regenerated.
30618         * tests/unictype/test-pr_diacritic.c: Regenerated.
30619         * tests/unictype/test-pr_extender.c: Regenerated.
30620         * tests/unictype/test-pr_format_control.c: Regenerated.
30621         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
30622         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
30623         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
30624         * tests/unictype/test-pr_id_continue.c: Regenerated.
30625         * tests/unictype/test-pr_id_start.c: Regenerated.
30626         * tests/unictype/test-pr_ideographic.c: Regenerated.
30627         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
30628         * tests/unictype/test-pr_lowercase.c: Regenerated.
30629         * tests/unictype/test-pr_math.c: Regenerated.
30630         * tests/unictype/test-pr_numeric.c: Regenerated.
30631         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
30632         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
30633         Regenerated.
30634         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
30635         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
30636         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
30637         * tests/unictype/test-pr_other_math.c: Regenerated.
30638         * tests/unictype/test-pr_punctuation.c: Regenerated.
30639         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
30640         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
30641         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
30642         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
30643         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
30644         * tests/unictype/test-pr_uppercase.c: Regenerated.
30645         * tests/unictype/test-pr_xid_continue.c: Regenerated.
30646         * tests/unictype/test-pr_xid_start.c: Regenerated.
30647         * tests/unictype/test-pr_zero_width.c: Regenerated.
30648
30649         Update to Unicode 5.1.0.
30650         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
30651         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
30652         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
30653         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
30654         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
30655         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
30656         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
30657         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
30658         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
30659         (nonspacing_table_ind): Update.
30660         * tests/uniwidth/test-uc_width2.sh: Update expected result.
30661
30662         Update to Unicode 5.1.0.
30663         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
30664         code transform.
30665         * lib/uniname/uniname.c (unicode_character_name,
30666         unicode_name_character): Add the range 0x1Fxxx to the code transform.
30667         * lib/uniname/uninames.h: Regenerated.
30668         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
30669
30670 2009-02-07  Bruno Haible  <bruno@clisp.org>
30671
30672         Merge gen-ctype and gen-lbrk into a single program.
30673         * lib/gen-uni-tables.c: New file, incorporating
30674         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
30675         Add directory prefixes to the names of the generated files.
30676         * lib/unictype/gen-ctype.c: Remove file.
30677         * lib/unilbrk/gen-lbrk.c: Remove file.
30678         * modules/gen-uni-tables: New file.
30679         * modules/unictype/gen-ctype: Remove file.
30680         * modules/unilbrk/gen-lbrk: Remove file.
30681
30682 2009-02-07  Bruno Haible  <bruno@clisp.org>
30683
30684         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
30685
30686         New module 'unistr/u32-strcoll'.
30687         * modules/unistr/u32-strcoll: New file.
30688         * lib/unistr/u32-strcoll.c: New file.
30689
30690         New module 'unistr/u16-strcoll'.
30691         * modules/unistr/u16-strcoll: New file.
30692         * lib/unistr/u16-strcoll.c: New file.
30693
30694         New module 'unistr/u8-strcoll'.
30695         * modules/unistr/u8-strcoll: New file.
30696         * lib/unistr/u8-strcoll.c: New file.
30697         * lib/unistr/u-strcoll.h: New file.
30698
30699 2009-02-07  Bruno Haible  <bruno@clisp.org>
30700
30701         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
30702         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30703         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
30704         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
30705         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
30706         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
30707
30708 2009-02-07  Bruno Haible  <bruno@clisp.org>
30709
30710         Make 64-bit clean.
30711         * lib/unictype/gen-ctype.c (output_predicate, output_category,
30712         output_combclass, output_bidi_category, output_decimal_digit,
30713         output_digit, output_numeric, output_mirror, output_scripts,
30714         output_ident_category): Use proper width specifier in format strings.
30715
30716 2009-02-07  Bruno Haible  <bruno@clisp.org>
30717
30718         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
30719         failure behaviour.
30720
30721 2009-02-07  Jim Meyering  <meyering@redhat.com>
30722
30723         regex: avoid compilation failure with upcoming gcc-4.4
30724         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
30725         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
30726         "... error: integer overflow in preprocessor expression".
30727
30728 2009-02-05  Ben Pfaff  <blp@gnu.org>
30729
30730         Fix link errors on Windows when close module is used.
30731         * modules/close: Add $(LIB_CLOSE) to Link section.
30732         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
30733         $(LIB_CLOSE) on Windows.
30734
30735 2009-02-05  Jim Meyering  <meyering@redhat.com>
30736
30737         still avoid unused-parameter warnings, but do it cleanly
30738         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
30739         (get_fs_usage): Cast to void instead.
30740         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
30741         (dev_from_mount_options, read_file_system_list): Cast to void.
30742         Prompted by Bruno Haible.
30743
30744 2009-02-04  Jim Meyering  <meyering@redhat.com>
30745
30746         fsusage.c: correct copyright year
30747         * lib/fsusage.c: Reflect year in which the change is pushed into
30748
30749         avoid misc. warnings
30750         * lib/fsusage.c (UNUSED_PARAM): Define.
30751         (get_fs_usage): Mark parameter "disk" as unused.
30752         * lib/getugroups.c (getgrent): Use "void" in prototype.
30753         * lib/mountlist.c: Mark unused parameters.
30754         (read_file_system_list): Declare a local with "const".
30755         * lib/nanosleep.c (getnow): Declare static.
30756         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
30757
30758         dirfd: set errno upon failure
30759         * lib/dirfd.c: Include <errno.h>.
30760         Set errno to ENOTSUP when returning -1.
30761         * modules/dirfd (Depends-on): Add errno.
30762         Suggested by John Kodis <kodis@comcast.net>.
30763
30764 2009-02-01  Bruno Haible  <bruno@clisp.org>
30765
30766         Don't assume sizeof (long) >= sizeof (void *).
30767         * lib/memcmp.c: Include stdint.h.
30768         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
30769         srcp2 to 'const byte *'.
30770         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
30771         types to uintptr_t.
30772         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
30773         * modules/memcmp (Depends-on): Add stdint.
30774         Reported by Ozkan Sezer <sezeroz@gmail.com>.
30775
30776 2009-01-30  Eric Blake  <ebb9@byu.net>
30777
30778         fix more require-before-expand issues
30779         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
30780         expand, AC_PROG_AWK.
30781         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
30782
30783 2009-01-28  Eric Blake  <ebb9@byu.net>
30784
30785         version-etc: use consistent URL formatting
30786         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
30787         Improve formatting.  Use fputs for string without %.
30788
30789 2009-01-28  Jim Meyering  <meyering@redhat.com>
30790
30791         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
30792         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
30793         "underquoted definition of NAME" from autoconf-2.59.
30794
30795 2009-01-28  Bruno Haible  <bruno@clisp.org>
30796
30797         * doc/gnulib.texi: Add "Obsolete modules" to index.
30798
30799 2009-01-28  Jim Meyering  <meyering@redhat.com>
30800
30801         useless-if-before-free: recognize more variants
30802         * build-aux/useless-if-before-free: Also recognize e.g.,
30803         if (NULL != p) free (p);
30804
30805 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
30806
30807         test-getaddrinfo: skip (don't fail) this test when there's no network
30808         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
30809         on the presumption that it means you lack network access.
30810
30811 2009-01-26  Jim Meyering  <meyering@redhat.com>
30812
30813         fflush: avoid warnings on modern systems
30814         * lib/fflush.c (rpl_fflush): Move declarations of locals,
30815         pos and result, into scopes where they're used.
30816
30817 2009-01-26  Eric Blake  <ebb9@byu.net>
30818
30819         Silence warning reintroduced by recent extensions patch.
30820         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
30821         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
30822         autoconf.
30823
30824         Backport improved autoconf semantics of AC_DEFUN_ONCE.
30825         * m4/00gnulib.m4: New file.
30826         * gnulib-tool (func_get_filelist): Always use it.
30827         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
30828         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
30829
30830 2009-01-25  Bruno Haible  <bruno@clisp.org>
30831
30832         Make test-quotearg work on MacOS X and AIX.
30833         * tests/test-quotearg.sh: New file.
30834         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
30835         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
30836         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
30837         include <libintl.h>.
30838         (fake_locale): Remove variable.
30839         (gettext, dgettext, dcgettext): Remove functions.
30840         (main): Instead of setting a fake locale, set a real locale. Call
30841         textdomain and bindtextdomain.
30842         * modules/quotearg-tests (Files): Add the new files.
30843         (Depends-on): Add gettext, setenv, unsetenv.
30844         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
30845         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
30846         Augment TESTS_ENVIRONMENT.
30847
30848 2009-01-25  Bruno Haible  <bruno@clisp.org>
30849
30850         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
30851         fr_FR.ISO8859-1 locale on MacOS X.
30852         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
30853         ja_JP.eucJP locale on MacOS X.
30854         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
30855         zh_CN.GB18030 locale on MacOS X.
30856
30857 2009-01-25  Bruno Haible  <bruno@clisp.org>
30858
30859         Avoid link errors on MacOS X 10.3.
30860         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
30861         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
30862
30863 2009-01-25  Bruno Haible  <bruno@clisp.org>
30864
30865         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30866         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
30867         * modules/pipe (Files): Remove m4/posix_spawn.m4.
30868         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30869         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
30870         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30871         posix_spawnattr_init, posix_spawnattr_setsigmask,
30872         posix_spawnattr_setflags, posix_spawnattr_destroy.
30873
30874         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
30875         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
30876         * modules/execute (Files): Remove m4/posix_spawn.m4.
30877         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
30878         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
30879         posix_spawnattr_init, posix_spawnattr_setsigmask,
30880         posix_spawnattr_setflags, posix_spawnattr_destroy.
30881
30882 2009-01-25  Bruno Haible  <bruno@clisp.org>
30883
30884         * lib/glthread/threadlib.c: Include <stdlib.h>.
30885
30886 2009-01-25  Bruno Haible  <bruno@clisp.org>
30887
30888         * lib/glthread/threadlib.c (dummy): New declaration.
30889
30890 2009-01-25  Bruno Haible  <bruno@clisp.org>
30891
30892         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
30893         multibyte characters also for the GB18030 encoding. Don't crash when
30894         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
30895
30896 2009-01-25  Bruno Haible  <bruno@clisp.org>
30897
30898         Avoid redefining 'struct random_data' on OSF/1 5.1.
30899         * lib/stdlib.in.h: Include <random.h> if it exists.
30900         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
30901         HAVE_RANDOM_H. Include <random.h> when testing whether
30902         'struct random_data' exists.
30903         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
30904
30905 2009-01-25  Bruno Haible  <bruno@clisp.org>
30906
30907         Don't install charset.alias on MacOS X >= 10.3.
30908         * lib/localcharset.c (DARWIN7): New macro.
30909         (get_charset_aliases): Hardcode the result for Darwin7.
30910         * modules/localcharset (install-exec-local): Don't install
30911         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
30912
30913 2009-01-25  Bruno Haible  <bruno@clisp.org>
30914
30915         Don't install charset.alias on mingw and Cygwin.
30916         * modules/localcharset (install-exec-local): Don't install
30917         charset.alias on mingw and Cygwin, if the file does not yet exist.
30918         The result for these platforms is hardcoded in localcharset.c.
30919
30920 2009-01-25  Bruno Haible  <bruno@clisp.org>
30921
30922         Make it possible again to use AC_GNU_SOURCE together with gnulib.
30923         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
30924         before requiring AC_USE_SYSTEM_EXTENSIONS.
30925
30926 2009-01-25  Jim Meyering  <meyering@redhat.com>
30927
30928         c-strtod: avoid warnings
30929         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
30930         "assignment discards qualifiers from pointer target type" warnings.
30931
30932 2009-01-24  Bruno Haible  <bruno@clisp.org>
30933
30934         Add support for non-UTF-8 locales on MacOS X.
30935         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
30936         canonical encodings. For Darwin 7 and newer, don't map traditional
30937         encodings to UTF-8.
30938         Reported by Vincent Lefevre <vincent@vinc17.org>
30939         at <http://savannah.gnu.org/bugs/?25235>.
30940
30941 2009-01-24  Bruno Haible  <bruno@clisp.org>
30942
30943         * doc/gnulib.texi (Obsolete modules): New section.
30944         Reported by Mike Frysinger <vapier@gentoo.org>.
30945
30946 2009-01-24  Bruno Haible  <bruno@clisp.org>
30947
30948         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
30949         (%.dvi): New rule.
30950
30951 2009-01-24  Bruno Haible  <bruno@clisp.org>
30952
30953         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
30954         Reported by Eric Blake.
30955
30956 2009-01-24  Bruno Haible  <bruno@clisp.org>
30957
30958         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
30959         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
30960         Reported by Gary V. Vaughan <gary@gnu.org>.
30961
30962 2009-01-24  Bruno Haible  <bruno@clisp.org>
30963
30964         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
30965
30966 2009-01-23  Bruno Haible  <bruno@clisp.org>
30967
30968         Make c-strtod, c-strtold usable in libraries.
30969         * lib/c-strtod.c: Include string.h instead of xalloc.h.
30970         (C_STRTOD): Call strdup instead of xstrdup.
30971         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
30972         * modules/c-strtold (Depends-on): Likewise.
30973         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
30974         * NEWS: Mention the change.
30975         Reported by Michael Gold <mgold@ncf.ca>.
30976
30977 2009-01-23  Jim Meyering  <meyering@redhat.com>
30978
30979         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
30980         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
30981         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
30982
30983 2009-01-23  Simon Josefsson  <simon@josefsson.org>
30984
30985         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
30986         GNU CoreUtils.
30987         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
30988         * modules/version-etc (Description): Update.
30989
30990 2009-01-22  Bruno Haible  <bruno@clisp.org>
30991
30992         Cache the C locale object.
30993         * lib/c-strtod.c (c_locale_cache): New variable.
30994         (c_locale): New function.
30995         (C_STRTOD): Use it, and don't call freelocale.
30996         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
30997         Suggested by Paolo Bonzini.
30998
30999 2009-01-21  Bruno Haible  <bruno@clisp.org>
31000
31001         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
31002         conditions other than overflow.
31003
31004 2009-01-21  Bruno Haible  <bruno@clisp.org>
31005
31006         * lib/c-strtod.c: Include errno.h.
31007         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
31008         value from STRTOD_L and STRTOD.
31009
31010 2009-01-21  Bruno Haible  <bruno@clisp.org>
31011         and Jim Meyering  <meyering@redhat.com>
31012
31013         nanosleep: skip configure test (fail it) for apple universal builds
31014         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
31015         universal builds, assume that nanosleep does not work.
31016         * modules/nanosleep (Depends-on): Add multiarch.
31017
31018         mktime: skip configure test (fail it) for apple universal builds
31019         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
31020         universal builds, assume that mktime does not work.
31021         * modules/mktime (Depends-on): Add multiarch.
31022
31023 2009-01-21  Eric Blake  <ebb9@byu.net>
31024
31025         multiarch: avoid expand-before-require warning
31026         * modules/multiarch (configure.ac): Require, rather than expand,
31027         gl_MULTIARCH.
31028         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
31029         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
31030         enforce that all clients require it.  Partial reversion of
31031         2008-12-29 patch.
31032
31033         error: avoid expand-before-require warning
31034         * modules/errno (configure.ac): Require, rather than expand,
31035         gl_HEADER_ERRNO_H.
31036         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
31037         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
31038         enforce that all clients require it.
31039
31040         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
31041         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
31042         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
31043         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
31044
31045 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
31046
31047         Revert:
31048         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31049
31050         regex: do not depend on obsolete modules.
31051         * modules/regex: Remove memcmp and memmove.
31052
31053 2009-01-20  Bruno Haible  <bruno@clisp.org>
31054
31055         Make the 'link' module link on Windows NT 4.
31056         * lib/link.c (_WIN32_WINNT): Don't define.
31057         (CreateHardLinkFuncType): New type.
31058         (CreateHardLinkFunc, initialized): New variables.
31059         (initialize): New function.
31060         (link): Invoke CreateHardLink indirectly through the function pointer.
31061
31062 2009-01-20  Bruno Haible  <bruno@clisp.org>
31063
31064         Fix compilation failure on mingw.
31065         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
31066
31067 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
31068
31069         * doc/c-strtod.texi: Mention a couple of restrictions.
31070
31071 2009-01-20  Jim Meyering  <meyering@redhat.com>
31072
31073         gettimeofday: move more declarations out of functions
31074         * lib/gettimeofday.c: Move extern declarations of tzset and
31075         gmtime out of containing functions.  Prompted by Bruno Haible.
31076
31077 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
31078
31079         regex: do not depend on obsolete modules.
31080         * modules/regex: Remove memcmp and memmove.
31081
31082 2009-01-19  Bruno Haible  <bruno@clisp.org>
31083
31084         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31085         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
31086         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31087         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
31088         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
31089
31090 2009-01-19  Bruno Haible  <bruno@clisp.org>
31091
31092         * tests/test-link.c: Include <errno.h>.
31093         (main): Exit with code 77 when a hard link cannot be created due to
31094         the file system.
31095         * tests/test-link.sh: Skip test when a hard link cannot be created due
31096         to the file system.
31097         Suggested by Eric Blake.
31098
31099 2009-01-19  Martin Lambers  <marlam@marlam.de>
31100
31101         * modules/link-tests: New file.
31102         * tests/test-link.sh: New file.
31103         * tests/test-link.c: New file.
31104
31105 2009-01-19  Eric Blake  <ebb9@byu.net>
31106
31107         doc: mention another function added in cygwin 1.7.0
31108         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
31109         Another new function in cygwin 1.7.
31110
31111 2009-01-19  Bruno Haible  <bruno@clisp.org>
31112
31113         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
31114         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
31115         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
31116         gl_BIGENDIAN, not AC_C_BIGENDIAN.
31117         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
31118         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
31119         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31120         * m4/md4.m4 (gl_MD4): Likewise.
31121         * m4/md5.m4 (gl_MD5): Likewise.
31122         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
31123         * m4/sha1.m4 (gl_SHA1): Likewise.
31124         * m4/sha256.m4 (gl_SHA256): Likewise.
31125         * m4/sha512.m4 (gl_SHA512): Likewise.
31126
31127 2009-01-19  Bruno Haible  <bruno@clisp.org>
31128
31129         * modules/uniname/uniname-tests (Depends-on): Add progname.
31130         * tests/uniname/test-uninames.c: Include progname.h.
31131         (main): Call set_program_name.
31132
31133         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
31134         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
31135         (main): Call set_program_name.
31136
31137         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
31138         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
31139         (main): Call set_program_name.
31140
31141         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
31142         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
31143         (main): Call set_program_name.
31144
31145         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
31146         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
31147         (main): Call set_program_name.
31148
31149         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
31150         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
31151         (main): Call set_program_name.
31152
31153         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
31154         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
31155         (main): Call set_program_name.
31156
31157         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
31158         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
31159         (main): Call set_program_name.
31160
31161         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
31162         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
31163         (main): Call set_program_name.
31164
31165 2009-01-19  Eric Blake  <ebb9@byu.net>
31166
31167         test-unistd: test previous patch
31168         * tests/test-unistd.c: Test *_FILENO macros.
31169
31170         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
31171         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31172         Guarantee a definition.
31173         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
31174         * modules/unistd-safer (Depends-on): Add dependency on unistd.
31175         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
31176         * lib/dup-safer.c (STDERR_FILENO): Likewise.
31177         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31178         Likewise.
31179         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
31180         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
31181         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
31182         Likewise.
31183         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
31184         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
31185         (STDERR_FILENO): Likewise.
31186         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
31187         (STDERR_FILENO): Likewise.
31188         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
31189         (STDERR_FILENO): Likewise.
31190         Reported by Elbert Pol.
31191
31192 2009-01-19  Eric Blake  <ebb9@byu.net>
31193
31194         doc: mention more functions added in cygwin 1.7.0
31195         * doc/posix-functions/abort.texi (abort): Update wording related
31196         to cygwin.
31197         * doc/posix-functions/daylight.texi (daylight): Likewise.
31198         * doc/posix-functions/optarg.texi (optarg): Likewise.
31199         * doc/posix-functions/optarg.texi (opterr): Likewise.
31200         * doc/posix-functions/optarg.texi (optind): Likewise.
31201         * doc/posix-functions/optarg.texi (optopt): Likewise.
31202         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
31203         worked in 1.5.x, and was withdrawn in 1.7.
31204         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
31205         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
31206         cygwin versions.
31207         * doc/posix-functions/perror.texi (perror): Likewise.
31208         * doc/posix-functions/printf.texi (printf): Likewise.
31209         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
31210         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
31211         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
31212         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
31213         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
31214         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
31215         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
31216         Likewise.
31217         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
31218         Likewise.
31219         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
31220         this function.
31221         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
31222         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
31223         Likewise.
31224         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
31225         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
31226         * doc/posix-functions/confstr.texi (confstr): Likewise.
31227         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
31228         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
31229         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
31230         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
31231         * doc/posix-functions/fputws.texi (fputws): Likewise.
31232         * doc/posix-functions/fwide.texi (fwide): Likewise.
31233         * doc/posix-functions/getwc.texi (getwc): Likewise.
31234         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
31235         * doc/posix-functions/putwc.texi (putwc): Likewise.
31236         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
31237         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
31238         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
31239         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
31240         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
31241         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
31242         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
31243         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
31244         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
31245         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
31246         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
31247
31248 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31249
31250         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
31251         * lib/ioctl.c: Include <sys/ioctl.h>.
31252
31253 2009-01-19  Simon Josefsson  <simon@josefsson.org>
31254
31255         * modules/getdate-tests (Depends-on): Add progname.
31256         * tests/test-getdate.c: Use progname module, to avoid link errors
31257         on non-glibc systems.
31258
31259 2009-01-18  Simon Josefsson  <simon@josefsson.org>
31260
31261         * modules/filenamecat-tests (Depends-on): Add progname.
31262         * modules/fstrcmp-tests (Depends-on): Likewise.
31263
31264         * tests/test-filenamecat.c: Use progname module, to avoid link
31265         errors on non-glibc systems.
31266         * tests/test-fstrcmp.c: Likewise.
31267
31268 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
31269
31270         gettimeofday: avoid warning: nested extern declaration of 'localtime'
31271         * lib/gettimeofday.c: Move extern declaration out of function.
31272
31273 2009-01-18  Bruno Haible  <bruno@clisp.org>
31274
31275         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
31276         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
31277         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
31278
31279 2009-01-18  Bruno Haible  <bruno@clisp.org>
31280
31281         * lib/strftime.c (MEMPCPY): Remove unused macro.
31282         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
31283
31284 2009-01-18  Martin Lambers  <marlam@marlam.de>
31285
31286         New module 'link'.
31287         * lib/unistd.in.h (link): New declaration.
31288         * lib/link.c: New file.
31289         * m4/link.m4: New file.
31290         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
31291         HAVE_LINK.
31292         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
31293         * modules/link: New file.
31294         * doc/posix-functions/link.texi: Mention the new module.
31295
31296 2009-01-18  Bruno Haible  <bruno@clisp.org>
31297
31298         * tests/test-avltree_list.c (main): Call set_program_name.
31299         * tests/test-avltree_oset.c (main): Likewise.
31300         * tests/test-obstack-printf.c: Include progname.h.
31301         (main): Call set_program_name.
31302         * tests/test-quotearg.c: Include progname.h.
31303         (main): Call set_program_name.
31304         * tests/test-xmemdup0.c: Include progname.h.
31305         (main): Call set_program_name.
31306
31307 2009-01-18  Bruno Haible  <bruno@clisp.org>
31308
31309         New module 'alphasort'.
31310         * lib/dirent.in.h (alphasort): New declaration.
31311         * lib/alphasort.c: New file, from glibc with modifications.
31312         * m4/alphasort.m4: New file.
31313         * modules/alphasort: New file.
31314         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
31315         HAVE_ALPHASORT.
31316         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
31317         HAVE_ALPHASORT.
31318         * doc/posix-functions/alphasort.texi: Mention the new module and the
31319         portability problems.
31320
31321 2009-01-18  Bruno Haible  <bruno@clisp.org>
31322
31323         New module 'scandir'.
31324         * lib/dirent.in.h (scandir): New declaration.
31325         * lib/scandir.c: New file, from glibc with modifications.
31326         * m4/scandir.m4: New file.
31327         * modules/scandir: New file.
31328         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
31329         HAVE_SCANDIR.
31330         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
31331         HAVE_SCANDIR.
31332         * doc/posix-functions/scandir.texi: Mention the new module and the
31333         portability problems.
31334
31335 2009-01-17  Bruno Haible  <bruno@clisp.org>
31336
31337         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
31338         Update documentation.
31339         (func_remove_suffix): Escape all dots in the suffix. Update
31340         documentation.
31341         (func_filter_filelist): Update documentation.
31342         Reported by Ralf Wildenhues.
31343
31344 2009-01-17  Bruno Haible  <bruno@clisp.org>
31345
31346         * modules/dprintf-posix-tests: New file.
31347         * tests/test-dprintf-posix.sh: New file.
31348         * tests/test-dprintf-posix.c: New file.
31349
31350         New modules 'dprintf', 'dprintf-posix'.
31351         * lib/stdio.in.h (dprintf): New declaration.
31352         * lib/dprintf.c: New file.
31353         * m4/dprintf.m4: New file.
31354         * m4/dprintf-posix.m4: New file.
31355         * modules/dprintf: New file.
31356         * modules/dprintf-posix: New file.
31357         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
31358         HAVE_DPRINTF, REPLACE_DPRINTF.
31359         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
31360         HAVE_DPRINTF, REPLACE_DPRINTF.
31361         * doc/posix-functions/dprintf.texi: Mention the new modules.
31362
31363 2009-01-17  Bruno Haible  <bruno@clisp.org>
31364
31365         * modules/vdprintf-posix-tests: New file.
31366         * tests/test-vdprintf-posix.sh: New file.
31367         * tests/test-vdprintf-posix.c: New file.
31368
31369         New modules 'vdprintf', 'vdprintf-posix'.
31370         * lib/stdio.in.h (vdprintf): New declaration.
31371         * lib/vdprintf.c: New file.
31372         * m4/vdprintf.m4: New file.
31373         * m4/vdprintf-posix.m4: New file.
31374         * modules/vdprintf: New file.
31375         * modules/vdprintf-posix: New file.
31376         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
31377         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31378         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
31379         HAVE_VDPRINTF, REPLACE_VDPRINTF.
31380         * doc/posix-functions/vdprintf.texi: Mention the new modules.
31381
31382 2009-01-17  Bruno Haible  <bruno@clisp.org>
31383
31384         Fix replacement of fopen on mingw.
31385         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
31386         mingw.
31387
31388 2009-01-17  Bruno Haible  <bruno@clisp.org>
31389
31390         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
31391         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
31392
31393 2009-01-17  Bruno Haible  <bruno@clisp.org>
31394
31395         Avoid test-fflush2.sh failure on mingw.
31396         * tests/test-fflush2.c: Include binary-io.h.
31397         (main): Put standard input into binary mode.
31398         * modules/fflush-tests (Depends-on): Add binary-io.
31399
31400 2009-01-17  Bruno Haible  <bruno@clisp.org>
31401
31402         * lib/wchar.in.h: In another particular situation, include only the
31403         system's <wchar.h> file.
31404         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
31405         Reported by Albert Chin-A-Young <china@thewrittenword.com>
31406         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
31407
31408 2009-01-17  Bruno Haible  <bruno@clisp.org>
31409
31410         Support for stripping executables in --enable-relocatable.
31411         * build-aux/install-reloc: Expect one more argument, or an environment
31412         variable RELOC_STRIP_PROG. If set, strip the destination program and
31413         its wrapper.
31414         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
31415         RELOC_STRIP_PROG.
31416         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
31417         to set RELOCATABLE_STRIP.
31418         * NEWS: Mention the new Makefile requirement.
31419
31420 2009-01-17  Bruno Haible  <bruno@clisp.org>
31421
31422         * build-aux/install-reloc: Remove debugging information left over by
31423         C compiler on MacOS X.
31424
31425 2009-01-17  Bruno Haible  <bruno@clisp.org>
31426
31427         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
31428         * lib/progreloc.c (find_executable): Fix type of pointer passed to
31429         _NSGetExecutablePath.
31430
31431 2009-01-16  Jim Meyering  <meyering@redhat.com>
31432
31433         strerror: avoid warnings about discarding "const"
31434         * lib/strerror.c (rpl_strerror): Instead of returning a const
31435         string from each and every "case", use a variable, and add a single
31436         cast after the switch.
31437
31438 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
31439
31440         * lib/arpa_inet.in.h: Add extern "C" block for C++.
31441
31442 2009-01-16  Bruno Haible  <bruno@clisp.org>
31443
31444         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
31445         array initializer syntax that also works in C++ mode.
31446         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31447
31448 2009-01-16  Jim Meyering  <meyering@redhat.com>
31449
31450         poll: suppress a warning
31451         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
31452         to ignore "...unsigned expression < 0 is always false" warnings.
31453
31454 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
31455
31456         poll: remove declarations of unused variables
31457         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
31458         sockbuf and optlen.
31459
31460 2009-01-15  Bruno Haible  <bruno@clisp.org>
31461
31462         Make fflush-after-ungetc POSIX compliant on BSD systems.
31463         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
31464         (clear_ungetc_buffer): Implement also for other systems.
31465         (rpl_fflush): On glibc systems, invoke
31466         clear_ungetc_buffer_preserving_position. Otherwise, invoke
31467         clear_ungetc_buffer after fetching the stream's position, not before.
31468
31469 2009-01-15  Bruno Haible  <bruno@clisp.org>
31470
31471         Make fflush-after-ungetc POSIX compliant on glibc systems.
31472         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
31473         after ungetc.
31474         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
31475         (rpl_fflush): On glibc systems, simply call the system's fflush
31476         function after clearing the ungetc buffer.
31477         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
31478         Instead, lseek only to the end of file, then use the system's fseeko
31479         for the rest. On glibc systems, reset the EOF indicator bit.
31480
31481 2009-01-15  Jim Meyering  <meyering@redhat.com>
31482
31483         openmp.m4: revert quote-adding change, for portability to older autoconf
31484         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
31485         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
31486         Simon Josefsson noticed the problem when using autoconf-2.61.
31487
31488 2009-01-15  Bruno Haible  <bruno@clisp.org>
31489
31490         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
31491         * tests/test-fflush2.c (ASSERT): Always fail.
31492         (main): Add two tests for fflush() after ungetc(), taking into account
31493         the Austin Group's clarification.
31494         Suggested by Eric Blake.
31495
31496 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
31497
31498         mktime.m4: remove K&R-style function prototypes
31499         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
31500         for the Sun C++ compiler.
31501
31502 2009-01-14  Bruno Haible  <bruno@clisp.org>
31503
31504         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
31505         while including <wchar.h>.
31506         * lib/wchar.in.h: In two particular situations on HP-UX, include only
31507         the system's <wchar.h> file.
31508         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
31509
31510 2009-01-14  Bruno Haible  <bruno@clisp.org>
31511
31512         * m4/csharp.m4: Don't mention gettext on the serial number line.
31513         * m4/csharpexec.m4: Likewise.
31514         * m4/eaccess.m4: Likewise.
31515         * m4/javaexec.m4: Likewise.
31516         * m4/sig_atomic_t.m4: Likewise.
31517         * m4/tmpdir.m4: Likewise.
31518         * m4/intldir.m4: Bump gettext version.
31519         * m4/lib-ld.m4: Likewise.
31520
31521 2009-01-14  Bruno Haible  <bruno@clisp.org>
31522
31523         * lib/progname.c (set_program_name): Add more comments.
31524         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
31525
31526 2009-01-14  Simon Josefsson  <simon@josefsson.org>
31527
31528         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
31529         were sys/stat.h does not define it.
31530
31531 2009-01-14  Jim Meyering  <meyering@redhat.com>
31532
31533         many *.m4 files: improve m4 quoting
31534         99% of this change was performed by running the following commands:
31535         git ls-files | grep '\.m4$' | xargs perl -pi \
31536           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
31537           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
31538           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
31539           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
31540         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
31541         The remainder were to add Copyright dates, increment serial numbers,
31542         undo some changes in comments, exclude m4/intl.m4, and add quotes
31543         around the "1" in ",1" where the unusual spacing prohibited the
31544         above regexps from doing the job.  For more details, see
31545         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
31546         * m4/acl.m4: Modified.
31547         * m4/afs.m4: Likewise.
31548         * m4/alloca.m4: Likewise.
31549         * m4/argp.m4: Likewise.
31550         * m4/argz.m4: Likewise.
31551         * m4/atexit.m4: Likewise.
31552         * m4/bison-i18n.m4: Likewise.
31553         * m4/bison.m4: Likewise.
31554         * m4/byteswap.m4: Likewise.
31555         * m4/c-stack.m4: Likewise.
31556         * m4/c-strtod.m4: Likewise.
31557         * m4/calloc.m4: Likewise.
31558         * m4/canonicalize-lgpl.m4: Likewise.
31559         * m4/chown.m4: Likewise.
31560         * m4/clock_time.m4: Likewise.
31561         * m4/codeset.m4: Likewise.
31562         * m4/copy-file.m4: Likewise.
31563         * m4/csharp.m4: Likewise.
31564         * m4/csharpcomp.m4: Likewise.
31565         * m4/csharpexec.m4: Likewise.
31566         * m4/d-ino.m4: Likewise.
31567         * m4/d-type.m4: Likewise.
31568         * m4/dirfd.m4: Likewise.
31569         * m4/double-slash-root.m4: Likewise.
31570         * m4/eaccess.m4: Likewise.
31571         * m4/eealloc.m4: Likewise.
31572         * m4/environ.m4: Likewise.
31573         * m4/errno_h.m4: Likewise.
31574         * m4/euidaccess.m4: Likewise.
31575         * m4/execute.m4: Likewise.
31576         * m4/fatal-signal.m4: Likewise.
31577         * m4/fchdir.m4: Likewise.
31578         * m4/fcntl_h.m4: Likewise.
31579         * m4/fileblocks.m4: Likewise.
31580         * m4/filenamecat.m4: Likewise.
31581         * m4/findprog.m4: Likewise.
31582         * m4/flexmember.m4: Likewise.
31583         * m4/fnmatch.m4: Likewise.
31584         * m4/fopen.m4: Likewise.
31585         * m4/fpending.m4: Likewise.
31586         * m4/fprintf-posix.m4: Likewise.
31587         * m4/free.m4: Likewise.
31588         * m4/frexp.m4: Likewise.
31589         * m4/frexpl.m4: Likewise.
31590         * m4/fsusage.m4: Likewise.
31591         * m4/ftruncate.m4: Likewise.
31592         * m4/gc-camellia.m4: Likewise.
31593         * m4/gc-random.m4: Likewise.
31594         * m4/gc.m4: Likewise.
31595         * m4/getaddrinfo.m4: Likewise.
31596         * m4/getcwd-abort-bug.m4: Likewise.
31597         * m4/getcwd-path-max.m4: Likewise.
31598         * m4/getdate.m4: Likewise.
31599         * m4/getdomainname.m4: Likewise.
31600         * m4/getgroups.m4: Likewise.
31601         * m4/gethostname.m4: Likewise.
31602         * m4/gethrxtime.m4: Likewise.
31603         * m4/getline.m4: Likewise.
31604         * m4/getloadavg.m4: Likewise.
31605         * m4/getndelim2.m4: Likewise.
31606         * m4/getpass.m4: Likewise.
31607         * m4/gettext.m4: Likewise.
31608         * m4/gettime.m4: Likewise.
31609         * m4/gettimeofday.m4: Likewise.
31610         * m4/gnulib-common.m4: Likewise.
31611         * m4/group-member.m4: Likewise.
31612         * m4/host-os.m4: Likewise.
31613         * m4/iconv.m4: Likewise.
31614         * m4/iconv_open.m4: Likewise.
31615         * m4/inet_ntop.m4: Likewise.
31616         * m4/inet_pton.m4: Likewise.
31617         * m4/inline.m4: Likewise.
31618         * m4/intldir.m4: Likewise.
31619         * m4/intlmacosx.m4: Likewise.
31620         * m4/intmax.m4: Likewise.
31621         * m4/intmax_t.m4: Likewise.
31622         * m4/inttypes.m4: Likewise.
31623         * m4/inttypes_h.m4: Likewise.
31624         * m4/inttypes-pri.m4: Likewise.
31625         * m4/isapipe.m4: Likewise.
31626         * m4/isnand.m4: Likewise.
31627         * m4/isnanf.m4: Likewise.
31628         * m4/isnanl.m4: Likewise.
31629         * m4/javacomp.m4: Likewise.
31630         * m4/javaexec.m4: Likewise.
31631         * m4/jm-winsz1.m4: Likewise.
31632         * m4/jm-winsz2.m4: Likewise.
31633         * m4/lchown.m4: Likewise.
31634         * m4/lcmessage.m4: Likewise.
31635         * m4/ldexpl.m4: Likewise.
31636         * m4/lib-ld.m4: Likewise.
31637         * m4/lib-link.m4: Likewise.
31638         * m4/libsigsegv.m4: Likewise.
31639         * m4/link-follow.m4: Likewise.
31640         * m4/localcharset.m4: Likewise.
31641         * m4/locale-fr.m4: Likewise.
31642         * m4/locale-ja.m4: Likewise.
31643         * m4/locale-tr.m4: Likewise.
31644         * m4/locale-zh.m4: Likewise.
31645         * m4/lock.m4: Likewise.
31646         * m4/longlong.m4: Likewise.
31647         * m4/ls-mntd-fs.m4: Likewise.
31648         * m4/lstat.m4: Likewise.
31649         * m4/malloc.m4: Likewise.
31650         * m4/mathl.m4: Likewise.
31651         * m4/mbrtowc.m4: Likewise.
31652         * m4/mbstate_t.m4: Likewise.
31653         * m4/mbswidth.m4: Likewise.
31654         * m4/memchr.m4: Likewise.
31655         * m4/memcmp.m4: Likewise.
31656         * m4/memcpy.m4: Likewise.
31657         * m4/memmem.m4: Likewise.
31658         * m4/memmove.m4: Likewise.
31659         * m4/mempcpy.m4: Likewise.
31660         * m4/memrchr.m4: Likewise.
31661         * m4/memset.m4: Likewise.
31662         * m4/minmax.m4: Likewise.
31663         * m4/mkdir-slash.m4: Likewise.
31664         * m4/mkdtemp.m4: Likewise.
31665         * m4/mktime.m4: Likewise.
31666         * m4/mmap-anon.m4: Likewise.
31667         * m4/mountlist.m4: Likewise.
31668         * m4/nanosleep.m4: Likewise.
31669         * m4/nls.m4: Likewise.
31670         * m4/nocrash.m4: Likewise.
31671         * m4/open.m4: Likewise.
31672         * m4/openat.m4: Likewise.
31673         * m4/openmp.m4: Likewise.
31674         * m4/pathmax.m4: Likewise.
31675         * m4/perl.m4: Likewise.
31676         * m4/physmem.m4: Likewise.
31677         * m4/pipe.m4: Likewise.
31678         * m4/po.m4: Likewise.
31679         * m4/poll.m4: Likewise.
31680         * m4/posixtm.m4: Likewise.
31681         * m4/posixver.m4: Likewise.
31682         * m4/printf-frexp.m4: Likewise.
31683         * m4/printf-frexpl.m4: Likewise.
31684         * m4/printf-posix.m4: Likewise.
31685         * m4/printf-posix-rpl.m4: Likewise.
31686         * m4/printf.m4: Likewise.
31687         * m4/progtest.m4: Likewise.
31688         * m4/putenv.m4: Likewise.
31689         * m4/readline.m4: Likewise.
31690         * m4/readlink.m4: Likewise.
31691         * m4/readutmp.m4: Likewise.
31692         * m4/realloc.m4: Likewise.
31693         * m4/regex.m4: Likewise.
31694         * m4/relocatable.m4: Likewise.
31695         * m4/relocatable-lib.m4: Likewise.
31696         * m4/rename-dest-slash.m4: Likewise.
31697         * m4/rename.m4: Likewise.
31698         * m4/rmdir-errno.m4: Likewise.
31699         * m4/rmdir.m4: Likewise.
31700         * m4/roundf.m4: Likewise.
31701         * m4/roundl.m4: Likewise.
31702         * m4/rpmatch.m4: Likewise.
31703         * m4/save-cwd.m4: Likewise.
31704         * m4/selinux-selinux-h.m4: Likewise.
31705         * m4/setenv.m4: Likewise.
31706         * m4/settime.m4: Likewise.
31707         * m4/sig2str.m4: Likewise.
31708         * m4/sig_atomic_t.m4: Likewise.
31709         * m4/signalblocking.m4: Likewise.
31710         * m4/signbit.m4: Likewise.
31711         * m4/sigpipe.m4: Likewise.
31712         * m4/sockets.m4: Likewise.
31713         * m4/sockpfaf.m4: Likewise.
31714         * m4/st_dm_mode.m4: Likewise.
31715         * m4/stat-time.m4: Likewise.
31716         * m4/stdbool.m4: Likewise.
31717         * m4/stdint.m4: Likewise.
31718         * m4/stdint_h.m4: Likewise.
31719         * m4/stpcpy.m4: Likewise.
31720         * m4/stpncpy.m4: Likewise.
31721         * m4/strcase.m4: Likewise.
31722         * m4/strchrnul.m4: Likewise.
31723         * m4/strcspn.m4: Likewise.
31724         * m4/strdup.m4: Likewise.
31725         * m4/strftime.m4: Likewise.
31726         * m4/strndup.m4: Likewise.
31727         * m4/strnlen.m4: Likewise.
31728         * m4/strpbrk.m4: Likewise.
31729         * m4/strptime.m4: Likewise.
31730         * m4/strsep.m4: Likewise.
31731         * m4/strtod.m4: Likewise.
31732         * m4/strtoimax.m4: Likewise.
31733         * m4/strtok_r.m4: Likewise.
31734         * m4/strtol.m4: Likewise.
31735         * m4/strtoll.m4: Likewise.
31736         * m4/strtoul.m4: Likewise.
31737         * m4/strtoull.m4: Likewise.
31738         * m4/strtoumax.m4: Likewise.
31739         * m4/strverscmp.m4: Likewise.
31740         * m4/threadlib.m4: Likewise.
31741         * m4/timegm.m4: Likewise.
31742         * m4/tm_gmtoff.m4: Likewise.
31743         * m4/tmpdir.m4: Likewise.
31744         * m4/tmpfile.m4: Likewise.
31745         * m4/tzset.m4: Likewise.
31746         * m4/uintmax_t.m4: Likewise.
31747         * m4/unlinkdir.m4: Likewise.
31748         * m4/unlocked-io.m4: Likewise.
31749         * m4/uptime.m4: Likewise.
31750         * m4/userspec.m4: Likewise.
31751         * m4/utimbuf.m4: Likewise.
31752         * m4/utime.m4: Likewise.
31753         * m4/utimes-null.m4: Likewise.
31754         * m4/utimes.m4: Likewise.
31755         * m4/vararrays.m4: Likewise.
31756         * m4/vasnprintf.m4: Likewise.
31757         * m4/vfprintf-posix.m4: Likewise.
31758         * m4/vprintf-posix.m4: Likewise.
31759         * m4/wait-process.m4: Likewise.
31760         * m4/wchar_t.m4: Likewise.
31761         * m4/wint_t.m4: Likewise.
31762         * m4/write-any-file.m4: Likewise.
31763         * m4/yield.m4: Likewise.
31764
31765 2009-01-13  Bruno Haible  <bruno@clisp.org>
31766
31767         Avoid test-copy-file.sh failures when ACL support insufficient.
31768         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
31769         TESTS_ENVIRONMENT.
31770         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
31771         Reported by Jim Meyering.
31772
31773 2009-01-13  Bruno Haible  <bruno@clisp.org>
31774
31775         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
31776         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
31777         * modules/unistdio/u8-printf-parse (Files): Likewise.
31778         * modules/unistdio/u32-printf-parse (Files): Likewise.
31779         * modules/unistdio/ulc-printf-parse (Files): Likewise.
31780
31781 2009-01-13  Simon Josefsson  <simon@josefsson.org>
31782
31783         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
31784         and m4/inttypes_h.m4 too.
31785
31786 2009-01-12  Eric Blake  <ebb9@byu.net>
31787
31788         tests: IRIX 6.2 cc can't compile -0.0 into .data
31789         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
31790         rather than at compile-time.
31791         * tests/test-floorl.c (minus_zero): Likewise.
31792         * tests/test-frexpl.c (minus_zero): Likewise.
31793         * tests/test-isnan.c (minus_zerol): Likewise.
31794         * tests/test-isnanl.h (minus_zero): Likewise.
31795         * tests/test-ldexpl.c (minus_zero): Likewise.
31796         * tests/test-roundl.c (minus_zero): Likewise.
31797         * tests/test-signbit.c (minus_zerol): Likewise.
31798         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
31799         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
31800         * tests/test-truncl.c (minus_zero): Likewise.
31801         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
31802         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
31803         Reported by Tom G. Christensen and Nelson H. F. Beebe.
31804
31805 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31806
31807         regex: fix glibc bug 9697
31808         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
31809         handling.
31810
31811 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31812
31813         regex: fix glibc bug 697
31814         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
31815         being NULL also if there are no backreferences.
31816
31817 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
31818
31819         regex: merge glibc changes
31820         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
31821         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
31822         re_string_skip_chars, re_string_reconstruct): Likewise.
31823         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
31824
31825 2009-01-07  Jim Meyering  <meyering@redhat.com>
31826
31827         poll: filter through cppi
31828         * lib/poll.c: Indent cpp directives to reflect nesting.
31829
31830 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
31831
31832         poll: don't return uninitialized
31833         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
31834
31835 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
31836
31837         avoid compile failure on AIX 6.1
31838         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
31839         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
31840
31841 2009-01-04  Jim Meyering  <meyering@redhat.com>
31842
31843         remove duplicate inclusion of <stdio.h>
31844         * tests/test-fprintf-posix.c: Likewise.
31845         * tests/test-printf-posix.c: Likewise.
31846         * tests/test-snprintf-posix.c: Likewise.
31847         * tests/test-sprintf-posix.c: Likewise.
31848         * tests/test-vasprintf-posix.c: Likewise.
31849         * tests/test-vfprintf-posix.c: Likewise.
31850         * tests/test-vprintf-posix.c: Likewise.
31851         * tests/test-vsnprintf-posix.c: Likewise.
31852         * tests/test-vsprintf-posix.c: Likewise.
31853
31854 2009-01-03  Jim Meyering  <meyering@redhat.com>
31855
31856         gnulib-tool: fix sed-based filtering
31857         * gnulib-tool (func_filter_filelist): Remove extra backslash
31858         in sed_fff_filter definition.
31859
31860 2009-01-02  Jim Meyering  <meyering@redhat.com>
31861
31862         strftime: avoid compilation failure on Solaris 2.6
31863         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
31864         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
31865         Don't #define mbrlen or mbsinit, since now they're guaranteed to
31866         be available.  Reported by Tom G. Christensen.  Details in
31867         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
31868
31869 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31870             Bruno Haible  <bruno@clisp.org>
31871
31872         Speed up gnulib-tool by doing more string processing through shell
31873         built-ins.
31874         * gnulib-tool (fast_func_append): New variable.
31875         (func_remove_prefix, func_remove_suffix): New functions.
31876         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
31877         (func_filter_filelist): New function.
31878         (func_get_dependencies): Use func_remove_suffix instead of sed.
31879         (func_get_automake_snippet): Use func_filter_filelist instead of a
31880         subshell and sed invocation.
31881
31882 2009-01-01  Bruno Haible  <bruno@clisp.org>
31883
31884         Fix a security bug.
31885         * gnulib-tool (func_import, import, update): Don't allow the characters
31886         '"', '$', '`', '\' in macro arguments that become part of commands that
31887         are evaluated.
31888
31889 2009-01-01  Bruno Haible  <bruno@clisp.org>
31890
31891         * gnulib-tool (func_reset_sigpipe): Add more comments.
31892
31893 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31894
31895         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
31896         func_emit_tests_Makefile_am, func_import): Abort loops early if we
31897         already know the answer.
31898
31899 2009-01-01  Jim Meyering  <meyering@redhat.com>
31900
31901         * lib/version-etc.c (version_etc_va): Update copyright year.
31902
31903 2008-12-30  Bruno Haible  <bruno@clisp.org>
31904
31905         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
31906         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
31907         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
31908
31909 2008-12-29  Eric Blake  <ebb9@byu.net>
31910
31911         multiarch: avoid autoconf AC_REQUIRE bug
31912         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
31913         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
31914         2.63 and older.
31915         Reported by Bruno Haible, and analyzed in
31916         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
31917
31918 2008-12-29  Bruno Haible  <bruno@clisp.org>
31919
31920         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
31921         files in subdirectories correctly.
31922         Reported by Ralf Wildenhues.
31923
31924 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31925
31926         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
31927         rather than 'join FILE -', for Solaris join.
31928
31929 2008-12-29  Bruno Haible  <bruno@clisp.org>
31930
31931         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
31932         quoting.
31933         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
31934         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
31935         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
31936         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
31937         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
31938         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
31939         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31940         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31941         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31942         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
31943         * m4/nls.m4 (AM_NLS): Likewise.
31944         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
31945         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
31946         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
31947         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31948         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31949         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31950         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
31951         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31952         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31953         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31954         * m4/xsize.m4 (gl_XSIZE): Likewise.
31955         Suggested by Jim Meyering.
31956
31957 2008-11-17  Bruce Korb  <bkorb@gnu.org>
31958
31959         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
31960         * lib/parse-duration.c: use a switch instead of cascading if's.
31961
31962 2008-12-29  Eric Blake  <ebb9@byu.net>
31963
31964         wchar.h: supply WEOF on Irix 5.3
31965         * lib/wchar.in.h (wint_t): Also supply WEOF.
31966         * lib/wctype.in.h (wint_t): Likewise.
31967         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
31968         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
31969         Reported by Tom G. Christensen.
31970
31971 2008-12-26  Bruno Haible  <bruno@clisp.org>
31972
31973         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
31974         i486, i586, i686.
31975
31976 2008-12-26  Bruno Haible  <bruno@clisp.org>
31977
31978         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
31979
31980 2008-12-26  Bruno Haible  <bruno@clisp.org>
31981
31982         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
31983         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
31984         not __STDC_CONSTANT_MACROS.
31985         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
31986
31987 2008-12-25  Bruno Haible  <bruno@clisp.org>
31988
31989         Add support for universal builds to vasnprintf.
31990         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
31991         universal builds, guess no.
31992         * modules/vasnprintf-posix (Depends-on): Add multiarch.
31993         * modules/vasprintf-posix (Depends-on): Likewise.
31994         * modules/fprintf-posix (Depends-on): Likewise.
31995         * modules/vfprintf-posix (Depends-on): Likewise.
31996         * modules/snprintf-posix (Depends-on): Likewise.
31997         * modules/vsnprintf-posix (Depends-on): Likewise.
31998         * modules/sprintf-posix (Depends-on): Likewise.
31999         * modules/vsprintf-posix (Depends-on): Likewise.
32000         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32001         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32002         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32003         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32004         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32005         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32006         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32007
32008         Add support for universal builds to <inttypes.h>.
32009         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
32010         _SCNu64_PREFIX): In Apple
32011         universal builds, define directly, using _LP64.
32012         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
32013         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
32014         * modules/inttypes (Depends-on): Add multiarch.
32015         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32016
32017         Add support for universal builds to <stdint.h>.
32018         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
32019         universal builds, define directly, using _LP64.
32020         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
32021         Apple universal builds, don't test for the size and suffix of ptrdiff_t
32022         and size_t.
32023         * modules/stdint (Depends-on): Add multiarch.
32024         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32025
32026         New module 'multiarch'.
32027         * modules/multiarch: New file.
32028         * m4/multiarch.m4: New file.
32029
32030 2008-12-25  Bruno Haible  <bruno@clisp.org>
32031
32032         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
32033
32034 2008-12-25  Bruno Haible  <bruno@clisp.org>
32035
32036         * modules/btowc (License): Relicense under LGPLv2+.
32037         * modules/mbsinit (License): Likewise.
32038         * modules/mbrtowc (License): Likewise.
32039         * modules/wcrtomb (License): Likewise.
32040         * modules/streq (License): Likewise.
32041         Reported by David Lutterkort <lutter@redhat.com>.
32042
32043 2008-12-23  Bruno Haible  <bruno@clisp.org>
32044
32045         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
32046
32047 2008-12-23  Bruno Haible  <bruno@clisp.org>
32048
32049         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
32050         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
32051         GETADDRINFO_LIB, not in LIBS.
32052         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
32053         * modules/canon-host (Link): Likewise.
32054         * NEWS: Mention the change.
32055         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
32056         GETADDRINFO_LIB.
32057
32058 2008-12-22  Bruno Haible  <bruno@clisp.org>
32059
32060         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
32061         * doc/posix-functions/iswalpha_l.texi: Likewise.
32062         * doc/posix-functions/iswblank_l.texi: Likewise.
32063         * doc/posix-functions/iswcntrl_l.texi: Likewise.
32064         * doc/posix-functions/iswctype_l.texi: Likewise.
32065         * doc/posix-functions/iswdigit_l.texi: Likewise.
32066         * doc/posix-functions/iswgraph_l.texi: Likewise.
32067         * doc/posix-functions/iswlower_l.texi: Likewise.
32068         * doc/posix-functions/iswprint_l.texi: Likewise.
32069         * doc/posix-functions/iswpunct_l.texi: Likewise.
32070         * doc/posix-functions/iswspace_l.texi: Likewise.
32071         * doc/posix-functions/iswupper_l.texi: Likewise.
32072         * doc/posix-functions/iswxdigit_l.texi: Likewise.
32073         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
32074         * doc/posix-functions/open_wmemstream.texi: Likewise.
32075         * doc/posix-functions/swscanf.texi: Likewise.
32076         * doc/posix-functions/towctrans_l.texi: Likewise.
32077         * doc/posix-functions/towlower.texi: Likewise.
32078         * doc/posix-functions/towlower_l.texi: Likewise.
32079         * doc/posix-functions/towupper.texi: Likewise.
32080         * doc/posix-functions/towupper_l.texi: Likewise.
32081         * doc/posix-functions/vfwprintf.texi: Likewise.
32082         * doc/posix-functions/vfwscanf.texi: Likewise.
32083         * doc/posix-functions/vswscanf.texi: Likewise.
32084         * doc/posix-functions/vwprintf.texi: Likewise.
32085         * doc/posix-functions/vwscanf.texi: Likewise.
32086         * doc/posix-functions/wcpcpy.texi: Likewise.
32087         * doc/posix-functions/wcpncpy.texi: Likewise.
32088         * doc/posix-functions/wcscasecmp.texi: Likewise.
32089         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
32090         * doc/posix-functions/wcscoll_l.texi: Likewise.
32091         * doc/posix-functions/wcsdup.texi: Likewise.
32092         * doc/posix-functions/wcsncasecmp.texi: Likewise.
32093         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
32094         * doc/posix-functions/wcsnlen.texi: Likewise.
32095         * doc/posix-functions/wcsnrtombs.texi: Likewise.
32096         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
32097         * doc/posix-functions/wctrans_l.texi: Likewise.
32098         * doc/posix-functions/wctype_l.texi: Likewise.
32099         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
32100         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
32101         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
32102         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
32103         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
32104         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
32105         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
32106         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
32107         * doc/glibc-functions/wcschrnul.texi: Likewise.
32108         * doc/glibc-functions/wcsftime_l.texi: Likewise.
32109         * doc/glibc-functions/wcstod_l.texi: Likewise.
32110         * doc/glibc-functions/wcstof_l.texi: Likewise.
32111         * doc/glibc-functions/wcstol_l.texi: Likewise.
32112         * doc/glibc-functions/wcstold_l.texi: Likewise.
32113         * doc/glibc-functions/wcstoll_l.texi: Likewise.
32114         * doc/glibc-functions/wcstoq.texi: Likewise.
32115         * doc/glibc-functions/wcstoul_l.texi: Likewise.
32116         * doc/glibc-functions/wcstoull_l.texi: Likewise.
32117         * doc/glibc-functions/wcstouq.texi: Likewise.
32118         * doc/glibc-functions/wmempcpy.texi: Likewise.
32119
32120 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
32121             Eric Blake  <ebb9@byu.net>
32122             Paolo Bonzini  <bonzini@gnu.org>
32123             Bruno Haible  <bruno@clisp.org>
32124
32125         Make c-stack work on Haiku.
32126         * lib/c-stack.c (SA_ONSTACK): Define fallback.
32127         (c_stack_action): Use SA_ONSTACK flag.
32128
32129 2008-12-22  Bruno Haible  <bruno@clisp.org>
32130
32131         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
32132
32133 2008-12-22  Bruno Haible  <bruno@clisp.org>
32134
32135         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
32136         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
32137         being overridden.
32138         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
32139         New macros.
32140         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
32141         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
32142         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
32143         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
32144
32145 2008-12-22  Bruno Haible  <bruno@clisp.org>
32146
32147         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
32148         from test code.
32149
32150 2008-12-22  Eric Blake  <ebb9@byu.net>
32151
32152         Avoid gcc warnings on cygwin.
32153         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
32154         Avoid unused variable.
32155         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
32156         Likewise.
32157
32158 2008-12-22  Bruno Haible  <bruno@clisp.org>
32159
32160         Remove HAVE_MBRTOWC conditionals.
32161         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
32162         (mbscasecmp): Assume mbrtowc function.
32163         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
32164         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
32165         * lib/mbschr.c: Include mbuiter.h unconditionally.
32166         (mbschr): Assume mbrtowc function.
32167         * lib/mbscspn.c: Include mbuiter.h unconditionally.
32168         (mbscspn): Assume mbrtowc function.
32169         * lib/mbslen.c: Include mbuiter.h unconditionally.
32170         (mbslen): Assume mbrtowc function.
32171         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
32172         (mbsncasecmp): Assume mbrtowc function.
32173         * lib/mbsnlen.c: Include mbiter.h unconditionally.
32174         (mbsnlen): Assume mbrtowc function.
32175         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
32176         (mbspbrk): Assume mbrtowc function.
32177         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
32178         (mbspcasecmp): Assume mbrtowc function.
32179         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
32180         (mbsrchr): Assume mbrtowc function.
32181         * lib/mbssep.c: Include mbuiter.h unconditionally.
32182         (mbssep): Assume mbrtowc function.
32183         * lib/mbsspn.c: Include mbuiter.h unconditionally.
32184         (mbsspn): Assume mbrtowc function.
32185         * lib/mbsstr.c: Include mbuiter.h unconditionally.
32186         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
32187         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
32188         (mbstok_r): Assume mbrtowc function.
32189         * lib/propername.c: Include mbuiter.h unconditionally.
32190         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
32191         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
32192         (trim2): Assume mbrtowc function.
32193         * lib/mbswidth.c (mbsinit): Remove fallback definition.
32194         (mbsnwidth): Assume mbrtowc function.
32195         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
32196         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
32197         fallback definitions.
32198         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
32199
32200 2008-12-22  Bruno Haible  <bruno@clisp.org>
32201
32202         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
32203
32204 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
32205
32206         * modules/regex: Request emulations for the mb*/wc* functions we need.
32207         * m4/regex.m4: Don't look for those functions here.
32208         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
32209
32210 2008-12-22  Bruno Haible  <bruno@clisp.org>
32211
32212         * modules/fnmatch (Depends-on): Remove duplicated dependency.
32213
32214 2008-12-21  Bruno Haible  <bruno@clisp.org>
32215
32216         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
32217         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
32218         (Include): Remove conditionalization.
32219         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
32220         (Include): Remove conditionalization.
32221         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
32222         (Include): Remove conditionalization.
32223         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
32224         * m4/mbfile.m4 (gl_MBFILE): Likewise.
32225         * NEWS: Mention the change.
32226         Reported by Alan Hourihane <alanh@fairlite.co.uk>
32227         via Sergey Poznyakoff <gray@gnu.org.ua>.
32228
32229 2008-12-21  Bruno Haible  <bruno@clisp.org>
32230
32231         * MODULES.html.sh (Extended multibyte and wide character utilities
32232         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
32233         wcrtomb, wcsrtombs.
32234         (Support for systems lacking POSIX:2008): Add accept, bind, close,
32235         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
32236         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
32237         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
32238
32239 2008-12-21  Bruno Haible  <bruno@clisp.org>
32240
32241         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
32242
32243 2008-12-21  Bruno Haible  <bruno@clisp.org>
32244
32245         * modules/wcsnrtombs-tests: New file.
32246         * tests/test-wcsnrtombs1.sh: New file.
32247         * tests/test-wcsnrtombs2.sh: New file.
32248         * tests/test-wcsnrtombs3.sh: New file.
32249         * tests/test-wcsnrtombs4.sh: New file.
32250         * tests/test-wcsnrtombs.c: New file.
32251
32252         New module 'wcsnrtombs'.
32253         * lib/wchar.in.h (wcsnrtombs): New declaration.
32254         * lib/wcsnrtombs.c: New file.
32255         * lib/wcsrtombs-state.c: New file.
32256         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
32257         (internal_state): Remove variable.
32258         * m4/wcsnrtombs.m4: New file.
32259         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
32260         compilation units.
32261         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
32262         HAVE_WCSNRTOMBS.
32263         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
32264         HAVE_WCSNRTOMBS.
32265         * modules/wcsnrtombs: New file.
32266         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
32267         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
32268
32269 2008-12-21  Bruno Haible  <bruno@clisp.org>
32270
32271         * modules/wcsrtombs-tests: New file.
32272         * tests/test-wcsrtombs1.sh: New file.
32273         * tests/test-wcsrtombs2.sh: New file.
32274         * tests/test-wcsrtombs3.sh: New file.
32275         * tests/test-wcsrtombs4.sh: New file.
32276         * tests/test-wcsrtombs.c: New file.
32277
32278         New module 'wcsrtombs'.
32279         * lib/wchar.in.h (wcsrtombs): New declaration.
32280         * lib/wcsrtombs.c: New file.
32281         * m4/wcsrtombs.m4: New file.
32282         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
32283         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32284         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
32285         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
32286         * modules/wcsrtombs: New file.
32287         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
32288         bugs.
32289
32290 2008-12-21  Bruno Haible  <bruno@clisp.org>
32291
32292         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
32293         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
32294         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
32295         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
32296         if not correct.
32297         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
32298         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
32299         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32300         m4/locale-zh.m4, m4/codeset.m4.
32301         * doc/posix-functions/wcrtomb.texi: Document the bug.
32302
32303 2008-12-21  Bruno Haible  <bruno@clisp.org>
32304
32305         Work around a btowc() bug on IRIX 6.5.
32306         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
32307         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
32308         REPLACE_WTOBC if not.
32309         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
32310         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
32311         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
32312
32313 2008-12-21  Bruno Haible  <bruno@clisp.org>
32314
32315         * modules/wcrtomb-tests: New file.
32316         * tests/test-wcrtomb.sh: New file.
32317         * tests/test-wcrtomb.c: New file.
32318
32319         New module 'wcrtomb'.
32320         * lib/wchar.in.h (wcrtomb): New declaration.
32321         * lib/wcrtomb.c: New file.
32322         * m4/wcrtomb.m4: New file.
32323         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
32324         HAVE_WCRTOMB.
32325         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
32326         HAVE_WCRTOMB.
32327         * modules/wcrtomb: New file.
32328         * doc/posix-functions/wcrtomb.texi: Mention the new module.
32329
32330 2008-12-21  Bruno Haible  <bruno@clisp.org>
32331
32332         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
32333         * modules/mbsrtowcs (Files): Likewise.
32334         * modules/wctob (Files): Likewise.
32335         * modules/c-strcase-tests (Files): Likewise.
32336         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
32337         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
32338         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
32339         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
32340         * modules/vasnprintf-posix-tests (Files): Likewise.
32341
32342 2008-12-21  William Pursell  <bill.pursell@gmail.com>
32343
32344         gitlog-to-changelog: pass all command-line arguments to git-log
32345         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
32346         it is sometimes convenient to filter the commits in various ways.
32347         gitlog-to-changelog only allows --since to specify a start date,
32348         but git-log itself supports many other filtering mechanisms.
32349         At the moment, I want to filter by branch name.  Rather than
32350         adding a --branch option to gitlog-to-changelog, it seems more
32351         flexible to simply pass all options directly to git-log and let
32352         git do the work.  Notice that this effectively makes --since a
32353         redundant option for gitlog-to-changelog, but removing it would
32354         require current usage to change since calls would then require
32355         an additional '--'.
32356
32357 2008-12-21  Bruno Haible  <bruno@clisp.org>
32358
32359         * modules/mbsnrtowcs-tests: New file.
32360         * tests/test-mbsnrtowcs1.sh: New file.
32361         * tests/test-mbsnrtowcs2.sh: New file.
32362         * tests/test-mbsnrtowcs3.sh: New file.
32363         * tests/test-mbsnrtowcs4.sh: New file.
32364         * tests/test-mbsnrtowcs.c: New file.
32365
32366         New module 'mbsnrtowcs'.
32367         * lib/wchar.in.h (mbsnrtowcs): New declaration.
32368         * lib/mbsnrtowcs.c: New file.
32369         * lib/mbsrtowcs-state.c: New file.
32370         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
32371         (internal_state): Remove variable.
32372         * m4/mbsnrtowcs.m4: New file.
32373         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
32374         compilation units.
32375         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
32376         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32377         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
32378         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
32379         * modules/mbsnrtowcs: New file.
32380         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
32381         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
32382         portability problem.
32383
32384 2008-12-21  Bruno Haible  <bruno@clisp.org>
32385
32386         Work around mbsrtowcs bug.
32387         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
32388         (gl_FUNC_MBSRTOWCS): Invoke it.
32389         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32390         m4/locale-zh.m4.
32391         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
32392
32393 2008-12-21  Bruno Haible  <bruno@clisp.org>
32394
32395         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
32396
32397 2008-12-21  Bruno Haible  <bruno@clisp.org>
32398
32399         Update doc for AIX.
32400         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
32401         16-bit wchar_t type.
32402         * doc/posix-functions/btowc.texi: Likewise.
32403         * doc/posix-functions/fgetwc.texi: Likewise.
32404         * doc/posix-functions/fgetws.texi: Likewise.
32405         * doc/posix-functions/fputwc.texi: Likewise.
32406         * doc/posix-functions/fputws.texi: Likewise.
32407         * doc/posix-functions/fwide.texi: Likewise.
32408         * doc/posix-functions/fwprintf.texi: Likewise.
32409         * doc/posix-functions/fwscanf.texi: Likewise.
32410         * doc/posix-functions/getwchar.texi: Likewise.
32411         * doc/posix-functions/getwc.texi: Likewise.
32412         * doc/posix-functions/iswalnum.texi: Likewise.
32413         * doc/posix-functions/iswalpha.texi: Likewise.
32414         * doc/posix-functions/iswblank.texi: Likewise.
32415         * doc/posix-functions/iswcntrl.texi: Likewise.
32416         * doc/posix-functions/iswctype.texi: Likewise.
32417         * doc/posix-functions/iswdigit.texi: Likewise.
32418         * doc/posix-functions/iswgraph.texi: Likewise.
32419         * doc/posix-functions/iswlower.texi: Likewise.
32420         * doc/posix-functions/iswprint.texi: Likewise.
32421         * doc/posix-functions/iswpunct.texi: Likewise.
32422         * doc/posix-functions/iswspace.texi: Likewise.
32423         * doc/posix-functions/iswupper.texi: Likewise.
32424         * doc/posix-functions/iswxdigit.texi: Likewise.
32425         * doc/posix-functions/mbrtowc.texi: Likewise.
32426         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32427         * doc/posix-functions/mbstowcs.texi: Likewise.
32428         * doc/posix-functions/mbtowc.texi: Likewise.
32429         * doc/posix-functions/putwchar.texi: Likewise.
32430         * doc/posix-functions/putwc.texi: Likewise.
32431         * doc/posix-functions/swprintf.texi: Likewise.
32432         * doc/posix-functions/tolower.texi: Likewise.
32433         * doc/posix-functions/toupper.texi: Likewise.
32434         * doc/posix-functions/towctrans.texi: Likewise.
32435         * doc/posix-functions/ungetwc.texi: Likewise.
32436         * doc/posix-functions/vswprintf.texi: Likewise.
32437         * doc/posix-functions/wcrtomb.texi: Likewise.
32438         * doc/posix-functions/wcscat.texi: Likewise.
32439         * doc/posix-functions/wcschr.texi: Likewise.
32440         * doc/posix-functions/wcscmp.texi: Likewise.
32441         * doc/posix-functions/wcscoll.texi: Likewise.
32442         * doc/posix-functions/wcscpy.texi: Likewise.
32443         * doc/posix-functions/wcscspn.texi: Likewise.
32444         * doc/posix-functions/wcsftime.texi: Likewise.
32445         * doc/posix-functions/wcslen.texi: Likewise.
32446         * doc/posix-functions/wcsncat.texi: Likewise.
32447         * doc/posix-functions/wcsncmp.texi: Likewise.
32448         * doc/posix-functions/wcsncpy.texi: Likewise.
32449         * doc/posix-functions/wcspbrk.texi: Likewise.
32450         * doc/posix-functions/wcsrchr.texi: Likewise.
32451         * doc/posix-functions/wcsrtombs.texi: Likewise.
32452         * doc/posix-functions/wcsspn.texi: Likewise.
32453         * doc/posix-functions/wcsstr.texi: Likewise.
32454         * doc/posix-functions/wcstod.texi: Likewise.
32455         * doc/posix-functions/wcstof.texi: Likewise.
32456         * doc/posix-functions/wcstoimax.texi: Likewise.
32457         * doc/posix-functions/wcstok.texi: Likewise.
32458         * doc/posix-functions/wcstold.texi: Likewise.
32459         * doc/posix-functions/wcstoll.texi: Likewise.
32460         * doc/posix-functions/wcstol.texi: Likewise.
32461         * doc/posix-functions/wcstombs.texi: Likewise.
32462         * doc/posix-functions/wcstoull.texi: Likewise.
32463         * doc/posix-functions/wcstoul.texi: Likewise.
32464         * doc/posix-functions/wcstoumax.texi: Likewise.
32465         * doc/posix-functions/wcswidth.texi: Likewise.
32466         * doc/posix-functions/wcsxfrm.texi: Likewise.
32467         * doc/posix-functions/wctob.texi: Likewise.
32468         * doc/posix-functions/wctomb.texi: Likewise.
32469         * doc/posix-functions/wctrans.texi: Likewise.
32470         * doc/posix-functions/wctype.texi: Likewise.
32471         * doc/posix-functions/wcwidth.texi: Likewise.
32472         * doc/posix-functions/wmemchr.texi: Likewise.
32473         * doc/posix-functions/wmemcmp.texi: Likewise.
32474         * doc/posix-functions/wmemcpy.texi: Likewise.
32475         * doc/posix-functions/wmemmove.texi: Likewise.
32476         * doc/posix-functions/wmemset.texi: Likewise.
32477         * doc/posix-functions/wprintf.texi: Likewise.
32478         * doc/posix-functions/wscanf.texi: Likewise.
32479
32480 2008-12-21  Bruno Haible  <bruno@clisp.org>
32481
32482         Update doc for HP-UX 11.11.
32483         * doc/posix-functions/btowc.texi: Clarify that the function is missing
32484         in HP-UX version 11.00, not in all versions of HP-UX 11.
32485         * doc/posix-functions/fwide.texi: Likewise.
32486         * doc/posix-functions/fwprintf.texi: Likewise.
32487         * doc/posix-functions/fwscanf.texi: Likewise.
32488         * doc/posix-functions/inet_ntop.texi: Likewise.
32489         * doc/posix-functions/inet_pton.texi: Likewise.
32490         * doc/posix-functions/mbrlen.texi: Likewise.
32491         * doc/posix-functions/mbrtowc.texi: Likewise.
32492         * doc/posix-functions/mbsinit.texi: Likewise.
32493         * doc/posix-functions/mbsrtowcs.texi: Likewise.
32494         * doc/posix-functions/swprintf.texi: Likewise.
32495         * doc/posix-functions/swscanf.texi: Likewise.
32496         * doc/posix-functions/towctrans.texi: Likewise.
32497         * doc/posix-functions/vfwprintf.texi: Likewise.
32498         * doc/posix-functions/vswprintf.texi: Likewise.
32499         * doc/posix-functions/vwprintf.texi: Likewise.
32500         * doc/posix-functions/wcrtomb.texi: Likewise.
32501         * doc/posix-functions/wcsrtombs.texi: Likewise.
32502         * doc/posix-functions/wcsstr.texi: Likewise.
32503         * doc/posix-functions/wctob.texi: Likewise.
32504         * doc/posix-functions/wctrans.texi: Likewise.
32505         * doc/posix-functions/wmemchr.texi: Likewise.
32506         * doc/posix-functions/wmemcmp.texi: Likewise.
32507         * doc/posix-functions/wmemcpy.texi: Likewise.
32508         * doc/posix-functions/wmemmove.texi: Likewise.
32509         * doc/posix-functions/wmemset.texi: Likewise.
32510         * doc/posix-functions/wprintf.texi: Likewise.
32511         * doc/posix-functions/wscanf.texi: Likewise.
32512
32513 2008-12-21  Bruno Haible  <bruno@clisp.org>
32514
32515         Work around a portability problem.
32516         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
32517         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
32518
32519 2008-12-20  Bruno Haible  <bruno@clisp.org>
32520
32521         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
32522         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
32523         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
32524         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
32525         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
32526
32527         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
32528         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
32529         set.
32530         (GNULIB_defined_mbstate_t): New macro.
32531         (mbsinit): Redefine if REPLACE_MBSINIT is set.
32532         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
32533         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
32534         reuses the system's mbrtowc function but works around the bugs.
32535         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
32536         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
32537         macros.
32538         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
32539         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
32540         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
32541         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
32542         REPLACE_MBSINIT if mbsinit needs to be overridden.
32543         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
32544         REPLACE_MBSINIT, REPLACE_MBRTOWC.
32545         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
32546         REPLACE_MBSINIT, REPLACE_MBRTOWC.
32547         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
32548         m4/locale-zh.m4.
32549         (Depends): Add mbsinit.
32550         * modules/mbsinit (Depends): Add mbrtowc.
32551         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
32552
32553 2008-12-20  Bruno Haible  <bruno@clisp.org>
32554
32555         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
32556         so that there are no conversion errors on AIX.
32557         * tests/test-mbsrtowcs.c (main): LIkewise.
32558
32559 2008-12-20  Bruno Haible  <bruno@clisp.org>
32560
32561         Work around wctob bug on Solaris <= 9.
32562         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
32563         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
32564         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
32565         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
32566         * modules/wctob (Files): Add m4/locale-fr.m4.
32567         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
32568
32569 2008-12-20  Bruno Haible  <bruno@clisp.org>
32570
32571         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
32572         /dev/null.
32573         * tests/test-select-in.sh: Likewise.
32574         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
32575
32576 2008-12-20  Bruno Haible  <bruno@clisp.org>
32577
32578         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
32579         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
32580         Cygwin 1.5.x.
32581
32582 2008-12-20  Bruno Haible  <bruno@clisp.org>
32583
32584         Ensure mbstate_t is defined on HP-UX 11.11.
32585         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
32586         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
32587         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
32588         AC_USE_SYSTEM_EXTENSIONS.
32589         * modules/fnmatch (Depends-on): Add extensions.
32590         * modules/mbrlen (Depends-on): Likewise.
32591         * modules/mbrtowc (Depends-on): Likewise.
32592         * modules/mbsinit (Depends-on): Likewise.
32593         * modules/mbsrtowcs (Depends-on): Likewise.
32594         * modules/mbswidth (Depends-on): Likewise.
32595         * modules/quotearg (Depends-on): Likewise.
32596         * modules/strftime (Depends-on): Likewise.
32597
32598 2008-12-20  Bruno Haible  <bruno@clisp.org>
32599
32600         Ensure wctob is declared on IRIX 6.5.
32601         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
32602         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
32603         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
32604         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
32605         of HAVE_WCTOB.
32606         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
32607         HAVE_WCTOB.
32608         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
32609
32610 2008-12-19  Bruno Haible  <bruno@clisp.org>
32611
32612         * modules/mbsrtowcs-tests: New file.
32613         * tests/test-mbsrtowcs1.sh: New file.
32614         * tests/test-mbsrtowcs2.sh: New file.
32615         * tests/test-mbsrtowcs3.sh: New file.
32616         * tests/test-mbsrtowcs4.sh: New file.
32617         * tests/test-mbsrtowcs.c: New file.
32618
32619         New module 'mbsrtowcs'.
32620         * lib/wchar.in.h (mbsrtowcs): New declaration.
32621         * lib/mbsrtowcs.c: New file.
32622         * m4/mbsrtowcs.m4: New file.
32623         * modules/mbsrtowcs: New file.
32624         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
32625         HAVE_MBSRTOWCS.
32626         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
32627         HAVE_MBSRTOWCS.
32628         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
32629
32630 2008-12-19  Bruno Haible  <bruno@clisp.org>
32631
32632         New module 'mbrlen'.
32633         * lib/wchar.in.h (mbrlen): New declaration.
32634         * lib/mbrlen.c: New file.
32635         * m4/mbrlen.m4: New file.
32636         * modules/mbrlen: New file.
32637         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
32638         HAVE_MBRLEN.
32639         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
32640         HAVE_MBRLEN.
32641         * doc/posix-functions/mbrlen.texi: Document the new module.
32642
32643 2008-12-19  Bruno Haible  <bruno@clisp.org>
32644
32645         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
32646         * modules/mbrtowc (Depends-on): Add verify.
32647         Suggested by Paul Eggert.
32648
32649 2008-12-18  Bruno Haible  <bruno@clisp.org>
32650
32651         * modules/mbsinit-tests: New file.
32652         * tests/test-mbsinit.sh: New file.
32653         * tests/test-mbsinit.c: New file.
32654
32655 2008-12-18  Bruno Haible  <bruno@clisp.org>
32656
32657         * modules/mbrtowc-tests: New file.
32658         * tests/test-mbrtowc1.sh: New file.
32659         * tests/test-mbrtowc2.sh: New file.
32660         * tests/test-mbrtowc3.sh: New file.
32661         * tests/test-mbrtowc4.sh: New file.
32662         * tests/test-mbrtowc.c: New file.
32663
32664         New module 'mbrtowc'.
32665         * lib/wchar.in.h (mbstate_t): Override when the system does not have
32666         mbsinit and mbrtowc.
32667         (mbrtowc): New declaration.
32668         * lib/mbrtowc.c: New file.
32669         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
32670         * modules/mbrtowc: New file.
32671         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
32672         HAVE_MBRTOWC.
32673         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
32674         HAVE_MBRTOWC.
32675         * doc/posix-functions/mbrtowc.texi: Document the new module.
32676
32677 2008-12-18  Bruno Haible  <bruno@clisp.org>
32678
32679         New module 'wctob'.
32680         * lib/wchar.in.h (wctob): New declaration.
32681         * lib/wctob.c: New file.
32682         * m4/wctob.m4: New file.
32683         * modules/wctob: New file.
32684         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
32685         HAVE_WCTOB.
32686         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
32687         * doc/posix-functions/wctob.texi: Document the new module.
32688
32689 2008-12-18  Bruno Haible  <bruno@clisp.org>
32690
32691         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
32692         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
32693
32694 2008-12-18  Simon Josefsson  <simon@josefsson.org>
32695
32696         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
32697         G. Christensen" <tgc@jupiterrise.com>.
32698
32699         * lib/flock.c: Need to include errno.h.  Reported by "Tom
32700         G. Christensen" <tgc@jupiterrise.com>.
32701
32702         * lib/flock.c: Need to include string.h.  Reported by "Tom
32703         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
32704         <ebb9@byu.net>.
32705
32706 2008-12-18  Bruno Haible  <bruno@clisp.org>
32707
32708         * m4/locale-ja.m4: New file, from GNU gettext.
32709
32710 2008-12-17  Bruno Haible  <bruno@clisp.org>
32711
32712         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
32713         Suggested by Eric Blake.
32714
32715 2008-12-17  Bruno Haible  <bruno@clisp.org>
32716
32717         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
32718
32719 2008-12-17  Bruno Haible  <bruno@clisp.org>
32720
32721         * lib/mbsinit.c: Include verify.h. Verify an assumption.
32722         * modules/mbsinit (Depends-on): Add verify.
32723         Suggested by Paul Eggert.
32724
32725 2008-12-17  Bruno Haible  <bruno@clisp.org>
32726
32727         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
32728         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
32729         gl_FUNC_MBRTOWC.
32730         * m4/mbiter.m4 (gl_MBITER): LIkewise.
32731         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
32732         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
32733         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
32734         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
32735         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
32736         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
32737         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
32738         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
32739         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
32740         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
32741         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
32742         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
32743         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
32744         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
32745         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
32746         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
32747         * modules/trim (configure.ac): Likewise.
32748
32749 2008-12-17  Bruno Haible  <bruno@clisp.org>
32750
32751         * modules/btowc-tests: New file.
32752         * tests/test-btowc1.sh: New file.
32753         * tests/test-btowc2.sh: New file.
32754         * tests/test-btowc.c: New file.
32755
32756         New module 'btowc'.
32757         * lib/wchar.in.h (btowc): New declaration.
32758         * lib/btowc.c: New file.
32759         * m4/btowc.m4: New file.
32760         * modules/btowc: New file.
32761         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
32762         HAVE_BTOWC.
32763         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
32764         * doc/posix-functions/btowc.texi: Document the new module.
32765
32766 2008-12-17  Bruno Haible  <bruno@clisp.org>
32767
32768         New module 'mbsinit'.
32769         * lib/wchar.in.h (mbsinit): New declaration.
32770         * lib/mbsinit.c: New file.
32771         * m4/mbsinit.m4: New file.
32772         * modules/mbsinit: New file.
32773         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
32774         HAVE_MBSINIT.
32775         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
32776         HAVE_MBSINIT.
32777         * doc/posix-functions/mbsinit.texi: Document the new module.
32778
32779 2008-12-16  Bruno Haible  <bruno@clisp.org>
32780
32781         * lib/unistd.in.h: Add comment.
32782         * tests/test-environ.c: Don't include <stdlib.h>.
32783
32784 2008-12-16  Bruno Haible  <bruno@clisp.org>
32785
32786         * lib/parse-duration.h (parse_duration): Document return value
32787         convention.
32788         * lib/parse-duration.c: Include specification header first. Add
32789         comments.
32790         (_): Remove macro.
32791         (parse_year_month_day, parse_hour_minute_second): Move side effects
32792         outside of strchr call.
32793         (parse_non_iso8601): Move side effects outside of isspace call.
32794         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
32795         call.
32796
32797 2008-12-16  Bruno Haible  <bruno@clisp.org>
32798
32799         * tests/test-parse-duration.sh: Produce no output when the test
32800         succeeds.
32801
32802 2008-12-16  Bruno Haible  <bruno@clisp.org>
32803
32804         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
32805         expressions.
32806
32807 2008-12-15  Bruno Haible  <bruno@clisp.org>
32808
32809         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
32810         * doc/glibc-functions/flistxattr.texi: Likewise.
32811         * doc/glibc-functions/fopencookie.texi: Likewise.
32812         * doc/glibc-functions/fremovexattr.texi: Likewise.
32813         * doc/glibc-functions/fsetxattr.texi: Likewise.
32814         * doc/glibc-functions/getxattr.texi: Likewise.
32815         * doc/glibc-functions/lgetxattr.texi: Likewise.
32816         * doc/glibc-functions/listxattr.texi: Likewise.
32817         * doc/glibc-functions/llistxattr.texi: Likewise.
32818         * doc/glibc-functions/lremovexattr.texi: Likewise.
32819         * doc/glibc-functions/lsetxattr.texi: Likewise.
32820         * doc/glibc-functions/removexattr.texi: Likewise.
32821         * doc/glibc-functions/setxattr.texi: Likewise.
32822         * doc/posix-functions/open_memstream.texi: Likewise.
32823
32824 2008-12-15  Eric Blake  <ebb9@byu.net>
32825
32826         Update doc for cygwin 1.7.
32827         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
32828         functions.
32829         * doc/posix-functions/fchmodat.texi: Likewise.
32830         * doc/posix-functions/fchownat.texi: Likewise.
32831         * doc/posix-functions/fdopendir.texi: Likewise.
32832         * doc/posix-functions/fmemopen.texi: Likewise.
32833         * doc/posix-functions/freeaddrinfo.texi: Likewise.
32834         * doc/posix-functions/fstatat.texi: Likewise.
32835         * doc/posix-functions/futimens.texi: Likewise.
32836         * doc/posix-functions/gai_strerror.texi: Likewise.
32837         * doc/posix-functions/getaddrinfo.texi: Likewise.
32838         * doc/posix-functions/getnameinfo.texi: Likewise.
32839         * doc/posix-functions/if_freenameindex.texi: Likewise.
32840         * doc/posix-functions/if_indextoname.texi: Likewise.
32841         * doc/posix-functions/if_nameindex.texi: Likewise.
32842         * doc/posix-functions/if_nametoindex.texi: Likewise.
32843         * doc/posix-functions/insque.texi: Likewise.
32844         * doc/posix-functions/linkat.texi: Likewise.
32845         * doc/posix-functions/llrint.texi: Likewise.
32846         * doc/posix-functions/llrintf.texi: Likewise.
32847         * doc/posix-functions/llrintl.texi: Likewise.
32848         * doc/posix-functions/lockf.texi: Likewise.
32849         * doc/posix-functions/lrintl.texi: Likewise.
32850         * doc/posix-functions/mkdirat.texi: Likewise.
32851         * doc/posix-functions/mkfifoat.texi: Likewise.
32852         * doc/posix-functions/mknodat.texi: Likewise.
32853         * doc/posix-functions/mq_close.texi: Likewise.
32854         * doc/posix-functions/mq_getattr.texi: Likewise.
32855         * doc/posix-functions/mq_notify.texi: Likewise.
32856         * doc/posix-functions/mq_open.texi: Likewise.
32857         * doc/posix-functions/mq_receive.texi: Likewise.
32858         * doc/posix-functions/mq_send.texi: Likewise.
32859         * doc/posix-functions/mq_setattr.texi: Likewise.
32860         * doc/posix-functions/mq_timedreceive.texi: Likewise.
32861         * doc/posix-functions/mq_timedsend.texi: Likewise.
32862         * doc/posix-functions/mq_unlink.texi: Likewise.
32863         * doc/posix-functions/open_memstream.texi: Likewise.
32864         * doc/posix-functions/openat.texi: Likewise.
32865         * doc/posix-functions/posix_fadvise.texi: Likewise.
32866         * doc/posix-functions/posix_fallocate.texi: Likewise.
32867         * doc/posix-functions/posix_madvise.texi: Likewise.
32868         * doc/posix-functions/posix_memalign.texi: Likewise.
32869         * doc/posix-functions/posix_openpt.texi: Likewise.
32870         * doc/posix-functions/readlinkat.texi: Likewise.
32871         * doc/posix-functions/remque.texi: Likewise.
32872         * doc/posix-functions/renameat.texi: Likewise.
32873         * doc/posix-functions/rintl.texi: Likewise.
32874         * doc/posix-functions/sem_unlink.texi: Likewise.
32875         * doc/posix-functions/shm_open.texi: Likewise.
32876         * doc/posix-functions/shm_unlink.texi: Likewise.
32877         * doc/posix-functions/signgam.texi: Likewise.
32878         * doc/posix-functions/sigset.texi: Likewise.
32879         * doc/posix-functions/stpcpy.texi: Likewise.
32880         * doc/posix-functions/stpncpy.texi: Likewise.
32881         * doc/posix-functions/strerror.texi: Likewise.
32882         * doc/posix-functions/strtod.texi: Likewise.
32883         * doc/posix-functions/symlinkat.texi: Likewise.
32884         * doc/posix-functions/unlinkat.texi: Likewise.
32885         * doc/posix-functions/utimensat.texi: Likewise.
32886         * doc/glibc-functions/bindresvport.texi: Likewise.
32887         * doc/glibc-functions/dn_expand.texi: Likewise.
32888         * doc/glibc-functions/exp10.texi: Likewise.
32889         * doc/glibc-functions/exp10f.texi: Likewise.
32890         * doc/glibc-functions/fgetxattr.texi: Likewise.
32891         * doc/glibc-functions/flistxattr.texi: Likewise.
32892         * doc/glibc-functions/fopencookie.texi: Likewise.
32893         * doc/glibc-functions/freeifaddrs.texi: Likewise.
32894         * doc/glibc-functions/fremovexattr.texi: Likewise.
32895         * doc/glibc-functions/fsetxattr.texi: Likewise.
32896         * doc/glibc-functions/getifaddrs.texi: Likewise.
32897         * doc/glibc-functions/getxattr.texi: Likewise.
32898         * doc/glibc-functions/lgetxattr.texi: Likewise.
32899         * doc/glibc-functions/listxattr.texi: Likewise.
32900         * doc/glibc-functions/llistxattr.texi: Likewise.
32901         * doc/glibc-functions/lremovexattr.texi: Likewise.
32902         * doc/glibc-functions/lsetxattr.texi: Likewise.
32903         * doc/glibc-functions/pow10.texi: Likewise.
32904         * doc/glibc-functions/pow10f.texi: Likewise.
32905         * doc/glibc-functions/rcmd_af.texi: Likewise.
32906         * doc/glibc-functions/removexattr.texi: Likewise.
32907         * doc/glibc-functions/res_init.texi: Likewise.
32908         * doc/glibc-functions/res_mkquery.texi: Likewise.
32909         * doc/glibc-functions/res_query.texi: Likewise.
32910         * doc/glibc-functions/res_querydomain.texi: Likewise.
32911         * doc/glibc-functions/res_send.texi: Likewise.
32912         * doc/glibc-functions/rresvport_af.texi: Likewise.
32913         * doc/glibc-functions/setxattr.texi: Likewise.
32914         * doc/glibc-functions/strcasestr.texi: Likewise.
32915
32916 2008-12-15  Bruno Haible  <bruno@clisp.org>
32917
32918         Fix compilation error on OSF/1 4.0.
32919         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
32920         <sys/time.h>, simply delegate to the system header.
32921         Reported by Daniel Richard G. <oss@teragram.com>.
32922
32923 2008-12-15  Bruno Haible  <bruno@clisp.org>
32924
32925         * doc/posix-functions/openat.texi: Mention the 'openat' module.
32926         * doc/posix-functions/fchmodat.texi: Likewise.
32927         * doc/posix-functions/fchownat.texi: Likewise.
32928         * doc/posix-functions/fdopendir.texi: Likewise.
32929         * doc/posix-functions/fstatat.texi: Likewise.
32930         * doc/posix-functions/mkdirat.texi: Likewise.
32931         * doc/posix-functions/unlinkat.texi: Likewise.
32932
32933 2008-12-14  Bruno Haible  <bruno@clisp.org>
32934
32935         Update doc for POSIX:2008.
32936         * doc/posix-functions/faccessat.texi: New file.
32937         * doc/posix-functions/fchmodat.texi: New file.
32938         * doc/posix-functions/fchownat.texi: New file.
32939         * doc/posix-functions/fdopendir.texi: New file.
32940         * doc/posix-functions/fstatat.texi: New file.
32941         * doc/posix-functions/futimens.texi: New file.
32942         * doc/posix-functions/linkat.texi: New file.
32943         * doc/posix-functions/mkdirat.texi: New file.
32944         * doc/posix-functions/mkfifoat.texi: New file.
32945         * doc/posix-functions/mknodat.texi: New file.
32946         * doc/posix-functions/open_wmemstream.texi: New file.
32947         * doc/posix-functions/openat.texi: New file.
32948         * doc/posix-functions/psiginfo.texi: New file.
32949         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
32950         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
32951         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
32952         * doc/posix-functions/readlinkat.texi: New file.
32953         * doc/posix-functions/renameat.texi: New file.
32954         * doc/posix-functions/strerror_l.texi: New file.
32955         * doc/posix-functions/symlinkat.texi: New file.
32956         * doc/posix-functions/unlinkat.texi: New file.
32957         * doc/posix-functions/utimensat.texi: New file.
32958         * doc/gnulib.texi (Function Substitutes): Add these subsections.
32959
32960 2008-12-14  Bruno Haible  <bruno@clisp.org>
32961
32962         Update doc for POSIX:2008.
32963         * doc/posix-functions/alphasort.texi: Renamed from
32964         doc/glibc-functions/alphasort.texi.
32965         * doc/posix-functions/dirfd.texi: Renamed from
32966         doc/glibc-functions/dirfd.texi.
32967         * doc/posix-functions/dprintf.texi: Renamed from
32968         doc/glibc-functions/dprintf.texi.
32969         * doc/posix-functions/duplocale.texi: Renamed from
32970         doc/glibc-functions/duplocale.texi.
32971         * doc/posix-functions/fexecve.texi: Renamed from
32972         doc/glibc-functions/fexecve.texi.
32973         * doc/posix-functions/fmemopen.texi: Renamed from
32974         doc/glibc-functions/fmemopen.texi.
32975         * doc/posix-functions/freelocale.texi: Renamed from
32976         doc/glibc-functions/freelocale.texi.
32977         * doc/posix-functions/getdate_err.texi: Renamed from
32978         doc/glibc-functions/getdate_err.texi.
32979         * doc/posix-functions/isalnum_l.texi: Renamed from
32980         doc/glibc-functions/isalnum_l.texi.
32981         * doc/posix-functions/isalpha_l.texi: Renamed from
32982         doc/glibc-functions/isalpha_l.texi.
32983         * doc/posix-functions/isblank_l.texi: Renamed from
32984         doc/glibc-functions/isblank_l.texi.
32985         * doc/posix-functions/iscntrl_l.texi: Renamed from
32986         doc/glibc-functions/iscntrl_l.texi.
32987         * doc/posix-functions/isdigit_l.texi: Renamed from
32988         doc/glibc-functions/isdigit_l.texi.
32989         * doc/posix-functions/isgraph_l.texi: Renamed from
32990         doc/glibc-functions/isgraph_l.texi.
32991         * doc/posix-functions/islower_l.texi: Renamed from
32992         doc/glibc-functions/islower_l.texi.
32993         * doc/posix-functions/isprint_l.texi: Renamed from
32994         doc/glibc-functions/isprint_l.texi.
32995         * doc/posix-functions/ispunct_l.texi: Renamed from
32996         doc/glibc-functions/ispunct_l.texi.
32997         * doc/posix-functions/isspace_l.texi: Renamed from
32998         doc/glibc-functions/isspace_l.texi.
32999         * doc/posix-functions/isupper_l.texi: Renamed from
33000         doc/glibc-functions/isupper_l.texi.
33001         * doc/posix-functions/iswalnum_l.texi: Renamed from
33002         doc/glibc-functions/iswalnum_l.texi.
33003         * doc/posix-functions/iswalpha_l.texi: Renamed from
33004         doc/glibc-functions/iswalpha_l.texi.
33005         * doc/posix-functions/iswblank_l.texi: Renamed from
33006         doc/glibc-functions/iswblank_l.texi.
33007         * doc/posix-functions/iswcntrl_l.texi: Renamed from
33008         doc/glibc-functions/iswcntrl_l.texi.
33009         * doc/posix-functions/iswctype_l.texi: Renamed from
33010         doc/glibc-functions/iswctype_l.texi.
33011         * doc/posix-functions/iswdigit_l.texi: Renamed from
33012         doc/glibc-functions/iswdigit_l.texi.
33013         * doc/posix-functions/iswgraph_l.texi: Renamed from
33014         doc/glibc-functions/iswgraph_l.texi.
33015         * doc/posix-functions/iswlower_l.texi: Renamed from
33016         doc/glibc-functions/iswlower_l.texi.
33017         * doc/posix-functions/iswprint_l.texi: Renamed from
33018         doc/glibc-functions/iswprint_l.texi.
33019         * doc/posix-functions/iswpunct_l.texi: Renamed from
33020         doc/glibc-functions/iswpunct_l.texi.
33021         * doc/posix-functions/iswspace_l.texi: Renamed from
33022         doc/glibc-functions/iswspace_l.texi.
33023         * doc/posix-functions/iswupper_l.texi: Renamed from
33024         doc/glibc-functions/iswupper_l.texi.
33025         * doc/posix-functions/iswxdigit_l.texi: Renamed from
33026         doc/glibc-functions/iswxdigit_l.texi.
33027         * doc/posix-functions/isxdigit_l.texi: Renamed from
33028         doc/glibc-functions/isxdigit_l.texi.
33029         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
33030         doc/glibc-functions/mbsnrtowcs.texi.
33031         * doc/posix-functions/mkdtemp.texi: Renamed from
33032         doc/glibc-functions/mkdtemp.texi.
33033         * doc/posix-functions/newlocale.texi: Renamed from
33034         doc/glibc-functions/newlocale.texi.
33035         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
33036         doc/glibc-functions/nl_langinfo_l.texi.
33037         * doc/posix-functions/open_memstream.texi: Renamed from
33038         doc/glibc-functions/open_memstream.texi.
33039         * doc/posix-functions/opterr.texi: Renamed from
33040         doc/glibc-functions/opterr.texi.
33041         * doc/posix-functions/optind.texi: Renamed from
33042         doc/glibc-functions/optind.texi.
33043         * doc/posix-functions/optopt.texi: Renamed from
33044         doc/glibc-functions/optopt.texi.
33045         * doc/posix-functions/psignal.texi: Renamed from
33046         doc/glibc-functions/psignal.texi.
33047         * doc/posix-functions/scandir.texi: Renamed from
33048         doc/glibc-functions/scandir.texi.
33049         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
33050         doc/glibc-functions/sched_get_priority_min.texi.
33051         * doc/posix-functions/signgam.texi: Renamed from
33052         doc/glibc-functions/signgam.texi.
33053         * doc/posix-functions/stpcpy.texi: Renamed from
33054         doc/glibc-functions/stpcpy.texi.
33055         * doc/posix-functions/stpncpy.texi: Renamed from
33056         doc/glibc-functions/stpncpy.texi.
33057         * doc/posix-functions/strcasecmp_l.texi: Renamed from
33058         doc/glibc-functions/strcasecmp_l.texi.
33059         * doc/posix-functions/strcoll_l.texi: Renamed from
33060         doc/glibc-functions/strcoll_l.texi.
33061         * doc/posix-functions/strfmon_l.texi: Renamed from
33062         doc/glibc-functions/strfmon_l.texi.
33063         * doc/posix-functions/strftime_l.texi: Renamed from
33064         doc/glibc-functions/strftime_l.texi.
33065         * doc/posix-functions/strncasecmp_l.texi: Renamed from
33066         doc/glibc-functions/strncasecmp_l.texi.
33067         * doc/posix-functions/strndup.texi: Renamed from
33068         doc/glibc-functions/strndup.texi.
33069         * doc/posix-functions/strnlen.texi: Renamed from
33070         doc/glibc-functions/strnlen.texi.
33071         * doc/posix-functions/strsignal.texi: Renamed from
33072         doc/glibc-functions/strsignal.texi.
33073         * doc/posix-functions/strxfrm_l.texi: Renamed from
33074         doc/glibc-functions/strxfrm_l.texi.
33075         * doc/posix-functions/timer_gettime.texi: Renamed from
33076         doc/glibc-functions/timer_gettime.texi.
33077         * doc/posix-functions/tolower_l.texi: Renamed from
33078         doc/glibc-functions/tolower_l.texi.
33079         * doc/posix-functions/toupper_l.texi: Renamed from
33080         doc/glibc-functions/toupper_l.texi.
33081         * doc/posix-functions/towctrans_l.texi: Renamed from
33082         doc/glibc-functions/towctrans_l.texi.
33083         * doc/posix-functions/towlower_l.texi: Renamed from
33084         doc/glibc-functions/towlower_l.texi.
33085         * doc/posix-functions/towupper_l.texi: Renamed from
33086         doc/glibc-functions/towupper_l.texi.
33087         * doc/posix-functions/uselocale.texi: Renamed from
33088         doc/glibc-functions/uselocale.texi.
33089         * doc/posix-functions/vdprintf.texi: Renamed from
33090         doc/glibc-functions/vdprintf.texi.
33091         * doc/posix-functions/wcpcpy.texi:
33092         Renamed from doc/glibc-functions/wcpcpy.texi.
33093         * doc/posix-functions/wcpncpy.texi: Renamed from
33094         doc/glibc-functions/wcpncpy.texi.
33095         * doc/posix-functions/wcscasecmp.texi: Renamed from
33096         doc/glibc-functions/wcscasecmp.texi.
33097         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
33098         doc/glibc-functions/wcscasecmp_l.texi.
33099         * doc/posix-functions/wcscoll_l.texi: Renamed from
33100         doc/glibc-functions/wcscoll_l.texi.
33101         * doc/posix-functions/wcsdup.texi: Renamed from
33102         doc/glibc-functions/wcsdup.texi.
33103         * doc/posix-functions/wcsncasecmp.texi: Renamed from
33104         doc/glibc-functions/wcsncasecmp.texi.
33105         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
33106         doc/glibc-functions/wcsncasecmp_l.texi.
33107         * doc/posix-functions/wcsnlen.texi: Renamed from
33108         doc/glibc-functions/wcsnlen.texi.
33109         * doc/posix-functions/wcsnrtombs.texi: Renamed from
33110         doc/glibc-functions/wcsnrtombs.texi.
33111         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
33112         doc/glibc-functions/wcsxfrm_l.texi.
33113         * doc/posix-functions/wctrans_l.texi: Renamed from
33114         doc/glibc-functions/wctrans_l.texi.
33115         * doc/posix-functions/wctype_l.texi: Renamed from
33116         doc/glibc-functions/wctype_l.texi.
33117         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33118         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
33119         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
33120         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
33121         these subsections.
33122         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
33123         Remove sections.
33124
33125 2008-12-14  Bruno Haible  <bruno@clisp.org>
33126
33127         Update doc for POSIX:2008.
33128         * doc/posix-functions/*.texi: Update URL of POSIX specification.
33129
33130 2008-12-14  Bruno Haible  <bruno@clisp.org>
33131
33132         Update doc for POSIX:2008.
33133         * doc/pastposix-functions/bcmp.texi: Renamed from
33134         doc/posix-functions/bcmp.texi.
33135         * doc/pastposix-functions/bcopy.texi: Renamed from
33136         doc/posix-functions/bcopy.texi.
33137         * doc/pastposix-functions/bsd_signal.texi: Renamed from
33138         doc/posix-functions/bsd_signal.texi.
33139         * doc/pastposix-functions/bzero.texi: Renamed from
33140         doc/posix-functions/bzero.texi.
33141         * doc/pastposix-functions/ecvt.texi: Renamed from
33142         doc/posix-functions/ecvt.texi.
33143         * doc/pastposix-functions/fcvt.texi: Renamed from
33144         doc/posix-functions/fcvt.texi.
33145         * doc/pastposix-functions/ftime.texi: Renamed from
33146         doc/posix-functions/ftime.texi.
33147         * doc/pastposix-functions/gcvt.texi: Renamed from
33148         doc/posix-functions/gcvt.texi.
33149         * doc/pastposix-functions/getcontext.texi: Renamed from
33150         doc/posix-functions/getcontext.texi.
33151         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
33152         doc/posix-functions/gethostbyaddr.texi.
33153         * doc/pastposix-functions/gethostbyname.texi: Renamed from
33154         doc/posix-functions/gethostbyname.texi.
33155         * doc/pastposix-functions/getwd.texi: Renamed from
33156         doc/posix-functions/getwd.texi.
33157         * doc/pastposix-functions/h_errno.texi: Renamed from
33158         doc/posix-functions/h_errno.texi.
33159         * doc/pastposix-functions/index.texi: Renamed from
33160         doc/posix-functions/index.texi.
33161         * doc/pastposix-functions/makecontext.texi: Renamed from
33162         doc/posix-functions/makecontext.texi.
33163         * doc/pastposix-functions/mktemp.texi: Renamed from
33164         doc/posix-functions/mktemp.texi.
33165         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
33166         doc/posix-functions/pthread_attr_getstackaddr.texi.
33167         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
33168         doc/posix-functions/pthread_attr_setstackaddr.texi.
33169         * doc/pastposix-functions/rindex.texi: Renamed from
33170         doc/posix-functions/rindex.texi.
33171         * doc/pastposix-functions/scalb.texi: Renamed from
33172         doc/posix-functions/scalb.texi.
33173         * doc/pastposix-functions/setcontext.texi: Renamed from
33174         doc/posix-functions/setcontext.texi.
33175         * doc/pastposix-functions/swapcontext.texi: Renamed from
33176         doc/posix-functions/swapcontext.texi.
33177         * doc/pastposix-functions/ualarm.texi: Renamed from
33178         doc/posix-functions/ualarm.texi.
33179         * doc/pastposix-functions/usleep.texi: Renamed from
33180         doc/posix-functions/usleep.texi.
33181         * doc/pastposix-functions/vfork.texi: Renamed from
33182         doc/posix-functions/vfork.texi.
33183         * doc/pastposix-functions/wcswcs.texi: Renamed from
33184         doc/posix-functions/wcswcs.texi.
33185         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
33186         (Function Substitutes): Update.
33187
33188 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33189
33190         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
33191         m4/strerror.m4.
33192
33193 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33194             Bruno Haible  <bruno@clisp.org>
33195
33196         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
33197
33198 2008-12-13  Bruno Haible  <bruno@clisp.org>
33199
33200         * modules/strtoull (Depends-on): Remove unistd.
33201
33202 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33203
33204         * modules/strtoull (Depends-on): Add stdlib.
33205
33206 2008-12-11  Simon Josefsson  <simon@josefsson.org>
33207
33208         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
33209
33210 2008-12-10  Jim Meyering  <meyering@redhat.com>
33211
33212         gl_ASSERT: don't say assertions are disabled when they're not
33213         * m4/assert.m4 (gl_ASSERT): Do not make configure report
33214         "checking whether to enable assertions... no", when they are in
33215         fact enabled.  This is solely a bug in the output of configure.
33216         In spite of saying "no", NDEBUG was not defined in that case.
33217         Also, as noted by Eric Blake, leave assertions enabled upon
33218         --enable-assert=INVALID.
33219
33220 2008-12-10  Bruno Haible  <bruno@clisp.org>
33221
33222         Change MODULES.html to refer to POSIX:2008 where possible.
33223         * MODULES.html.sh (POSIX2008_URL): New variable.
33224         (posix_headers): Remove sys/timeb, ucontext.
33225         (posix2001_headers): New variable.
33226         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
33227         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
33228         index, makecontext, mktemp, pthread_attr_getstackaddr,
33229         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
33230         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
33231         (posix2001_functions): New variable.
33232         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
33233         otherwise.
33234
33235 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33236
33237         add missing include to parse-duration.c
33238         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
33239         * modules/parse-duration (Depends-on): Add xalloc.
33240
33241         fix sed script reading maint.mk
33242         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
33243         (syntax-check-rules): Use it.
33244
33245 2008-12-09  Bruno Haible  <bruno@clisp.org>
33246
33247         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
33248         MacOS X 10.4/PowerPC.
33249         Reported by Simon Josefsson.
33250
33251 2008-12-08  Jim Meyering  <meyering@redhat.com>
33252
33253         work around mingw's lack of some S_IF definitions
33254         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
33255         Reported by Simon Josefsson.
33256
33257 2008-12-08  Bruno Haible  <bruno@clisp.org>
33258
33259         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
33260         applied to variables. Needed on MacOS X 10.4/PowerPC.
33261         Reported by Simon Josefsson.
33262
33263 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
33264         and Eric Blake  <ebb9@byu.net>
33265
33266         assert: honor --enable-assert
33267         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
33268         order to honor --enable-assert, rather than treating it as a
33269         synonym for --disable-assert.
33270
33271 2008-12-08  Jim Meyering  <meyering@redhat.com>
33272
33273         * lib/posixtm.c: Remove now-useless declaration of mktime.
33274
33275         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
33276
33277 2008-12-07  Bruno Haible  <bruno@clisp.org>
33278
33279         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
33280         test_once): Mark functions as static.
33281         * tests/test-tls.c (test_tls): Likewise.
33282
33283 2008-12-07  Bruno Haible  <bruno@clisp.org>
33284
33285         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
33286         iconv_register_autodetect.
33287
33288 2008-12-07  Jim Meyering  <meyering@redhat.com>
33289
33290         posixtm.c: avoid a warning
33291         * lib/posixtm.c (posixtime): Don't initialize tm0.
33292         It's no longer needed to placate gcc4's -Wuninitialized,
33293         and the attempt to placate would elicit a new warning.
33294
33295         unicodeio.c: mark unused parameters
33296         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33297         (fallback_failure_callback): Likewise.
33298
33299 2008-12-07  Bruno Haible  <bruno@clisp.org>
33300
33301         * gnulib-tool (func_create_testdir): When building the tests
33302         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
33303         Reported by Simon Josefsson.
33304
33305 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33306
33307         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
33308
33309 2008-12-06  Bruno Haible  <bruno@clisp.org>
33310
33311         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
33312         Suggested by Eric Blake.
33313
33314 2008-12-06  Bruno Haible  <bruno@clisp.org>
33315
33316         Fix a c-stack test failure on MacOS X.
33317         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
33318         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
33319         handler for SIGBUS as well.
33320         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
33321         install a signal handler for SIGBUS as well.
33322         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
33323
33324 2008-12-06  Bruno Haible  <bruno@clisp.org>
33325
33326         Advocacy documentation.
33327         * doc/gnulib-intro.texi (Benefits): New section.
33328         * doc/gnulib.texi: Update.
33329
33330 2008-12-06  Bruno Haible  <bruno@clisp.org>
33331
33332         Document the 'manywarnings' module.
33333         * doc/manywarnings.texi: New file.
33334         * doc/gnulib.texi: Include it.
33335
33336 2008-12-05  Eric Blake  <ebb9@byu.net>
33337
33338         tests: silence some gcc warnings
33339         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
33340         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
33341         type mismatches.
33342
33343 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33344             Bruno Haible  <bruno@clisp.org>
33345
33346         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
33347
33348 2008-11-29  Jim Meyering  <meyering@redhat.com>
33349
33350         unicodeio.c: mark unused parameters
33351         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
33352         (fallback_failure_callback): Likewise.
33353
33354         fts: fix a thinko
33355         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
33356         (set_stat_type): Return S_IF*-valued "type" directly.
33357         Prompted by James Youngman's spotting a related bug.
33358         Confirmed by further testing through find.
33359
33360         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
33361         * lib/fts.c (D_TYPE): Define.
33362         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
33363         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
33364         (s_ifmt_shift_bits): New function.
33365         (set_stat_type): New function.
33366         (fts_build): When not calling fts_stat, call set_stat_type
33367         to propagate dirent.d_type info to fts_read caller.
33368         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
33369         fts_statp->st_mode type information may be valid.
33370
33371 2008-11-28  Simon Josefsson  <simon@josefsson.org>
33372
33373         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
33374         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
33375         <sds@gnu.org>.
33376
33377 2008-11-20  Bruno Haible  <bruno@clisp.org>
33378
33379         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
33380         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
33381         INCLUDE_NEXT.
33382         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
33383         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
33384         * modules/math (Makefile.am): Substitute
33385         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
33386         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
33387
33388 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
33389             Bruno Haible  <bruno@clisp.org>
33390
33391         * lib/stdint.in.h: Define all type macros so that their expansion is
33392         a single typedef'ed token. Fixes a compilation failure in Boost which
33393         does "using ::int8_t;".
33394
33395 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33396
33397         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
33398         gl_MANYWARN_ALL_GCC.
33399         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
33400         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
33401         * modules/manywarnings: New file.
33402         * MODULES.html.sh: Mention manywarnings module.
33403
33404 2008-11-18  Bruno Haible  <bruno@clisp.org>
33405
33406         * doc/gnulib-tool.texi (Unit tests): New section.
33407
33408 2008-11-18  Simon Josefsson  <simon@josefsson.org>
33409
33410         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
33411         paths like 'lib/po/foo.po'.
33412
33413 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33414
33415         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
33416         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
33417
33418 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33419
33420         * m4/warnings.m4: Use CPPFLAGS to really check whether the
33421         parameter works.
33422
33423 2008-11-17  Simon Josefsson  <simon@josefsson.org>
33424
33425         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
33426
33427 2008-11-17  Bruce Korb  <bkorb@gnu.org>
33428
33429         * modules/parse-duration-tests: New file.
33430         * tests/test-parse-duration.sh: New file.
33431         * tests/test-parse-duration.c: New file.
33432
33433         New module 'parse-duration'.
33434         * lib/parse-duration.h: New file.
33435         * lib/parse-duration.c: New file.
33436         * modules/parse-duration: New file.
33437
33438 2008-11-17  Bruno Haible  <bruno@clisp.org>
33439
33440         * tests/test-select-out.sh: Comment out the first pipe test.
33441         Reported by Simon Josefsson.
33442
33443 2008-11-17  Bruno Haible  <bruno@clisp.org>
33444
33445         * modules/getaddrinfo (Depends-on): Add servent, hostent.
33446         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
33447         gl_HOSTENT.
33448
33449 2008-11-17  Bruno Haible  <bruno@clisp.org>
33450
33451         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
33452         -lnetwork and -lnet. Needed for Haiku and BeOS.
33453
33454 2008-11-16  Bruno Haible  <bruno@clisp.org>
33455
33456         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
33457
33458 2008-11-16  Bruno Haible  <bruno@clisp.org>
33459
33460         Avoid test failure on Haiku.
33461         * tests/test-fsync.c: Include <errno.h>.
33462         (main): Don't require that fsync (0) fails.
33463
33464 2008-11-15  Bruno Haible  <bruno@clisp.org>
33465
33466         New module 'hostent'.
33467         * modules/hostent: New file.
33468         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
33469
33470 2008-11-15  Bruno Haible  <bruno@clisp.org>
33471
33472         New module 'servent'.
33473         * modules/servent: New file.
33474         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
33475
33476 2008-11-15  Bruno Haible  <bruno@clisp.org>
33477
33478         Avoid generating same test program with two different rules.
33479         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
33480         test-frexp to test-frexp-nolibm.
33481         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
33482         test-frexpl to test-frexpl-nolibm.
33483
33484 2008-11-15  Bruno Haible  <bruno@clisp.org>
33485
33486         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
33487         $(FREXPL_LIBM).
33488
33489 2008-11-15  Bruno Haible  <bruno@clisp.org>
33490
33491         * lib/netdb.in.h: Activate the definitions also when the system's
33492         <netdb.h> has 'struct addrinfo'.
33493         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
33494         EAI_OVERFLOW or AI_NUMERICSERV.
33495         * doc/posix-headers/netdb.texi: Document the problem.
33496
33497 2008-11-15  Bruno Haible  <bruno@clisp.org>
33498
33499         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
33500
33501         Make the 'sched' module work on platforms where <sched.h> exists but
33502         is incomplete (such as Haiku).
33503         * lib/sched.in.h; Include the system's <sched.h> if it exists.
33504         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
33505         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
33506         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
33507         HAVE_STRUCT_SCHED_PARAM.
33508         * modules/sched (Depends-on): Add include_next.
33509         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
33510         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
33511         * doc/posix-headers/sched.texi: Document the issue.
33512
33513 2008-11-13  Jim Meyering  <meyering@redhat.com>
33514
33515         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
33516         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
33517         test would fail due to the difference in the Report bugs to ...
33518         line.  The expected address is empty, "<>", while the actual
33519         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
33520
33521 2008-11-12  Bruno Haible  <bruno@clisp.org>
33522
33523         lstat: don't compile lstat.c on systems lacking lstat
33524         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
33525         which don't have lstat; this is handled by lib/sys_stat.in.h already.
33526         Reported by Daniel P. Berrange via Jim Meyering.
33527
33528 2008-11-12  Jim Meyering  <meyering@redhat.com>
33529
33530         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
33531
33532 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33533
33534         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
33535         instead.
33536
33537 2008-11-12  Bruno Haible  <bruno@clisp.org>
33538
33539         * lib/unicodeio.c: Include unistr.h.
33540         (utf8_wctomb): Remove function.
33541         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
33542
33543 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33544
33545         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
33546         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
33547         <bruno@clisp.org>.
33548         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
33549
33550 2008-11-12  Simon Josefsson  <simon@josefsson.org>
33551
33552         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
33553         * doc/gnulib.texi: Add section for warnings.
33554
33555 2008-11-11  Bruno Haible  <bruno@clisp.org>
33556
33557         * lib/sockets.h: Add a comment.
33558
33559 2008-11-11  Karl Berry  <karl@gnu.org>
33560
33561         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
33562
33563 2008-11-11  Eric Blake  <ebb9@byu.net>
33564
33565         fdl.texi: avoid git symlinks
33566         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
33567
33568 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33569
33570         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
33571
33572 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33573
33574         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
33575         (gl_WARN_ADD): Substitute $2 if literal.
33576
33577 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33578
33579         * m4/warning.m4: Remove.
33580
33581 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
33582
33583         * m4/warnings.m4: Almost complete rewrite. :-)
33584
33585 2008-11-10  Simon Josefsson  <simon@josefsson.org>
33586
33587         * modules/warnings: New module.
33588         * m4/warnings.m4: New file.
33589         * MODULES.html.sh: Mention warnings module.
33590         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
33591         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33592
33593 2008-11-10  Eric Blake  <ebb9@byu.net>
33594
33595         fdl.texi: make a symlink to the latest version
33596         * doc/standards.texi: Revert today's earlier change.
33597         * doc/fdl-1.2.texi: Rename from old fdl.texi...
33598         * doc/fdl.texi: ...and replace this with a symlink to the newer
33599         fdl-1.3.texi.
33600
33601 2008-11-10  Bruno Haible  <bruno@clisp.org>
33602
33603         * tests/test-select-fd.c (main): Accept the result file name as fourth
33604         argument.
33605         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
33606         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
33607
33608 2008-11-10  Bruno Haible  <bruno@clisp.org>
33609
33610         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
33611         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
33612         as autoconf-substituted macros.
33613         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
33614         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
33615         gl_NETDB_H_DEFAULTS. Set these variables.
33616         * modules/netdb (Makefile.am): Substitute these variables.
33617
33618 2008-11-10  Eric Blake  <ebb9@byu.net>
33619
33620         standards.texi: include correct file for FDL 1.3
33621         * doc/standards.texi (GNU Free Documentation License): Change
33622         include file to pull in FDL 1.3, not 1.2.
33623
33624         fdl.texi: revert accidental change to license
33625         * doc/fdl.texi: This is FDL 1.2, not 1.3.
33626
33627 2008-11-10  Bruno Haible  <bruno@clisp.org>
33628
33629         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
33630         cross-compiling guesses also when the native compile gives no result.
33631
33632 2008-11-10  Bruno Haible  <bruno@clisp.org>
33633
33634         * lib/spawni.c (__spawni): Force variable into the stack.
33635
33636 2008-11-10  Bruno Haible  <bruno@clisp.org>
33637
33638         Add support for Haiku.
33639         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
33640         glibc and BeOS, but also on Haiku.
33641         * lib/fpurge.c (fpurge): Likewise.
33642         * lib/freadable.c (freadable): Likewise.
33643         * lib/freadahead.c (freadahead): Likewise.
33644         * lib/freading.c (freading): Likewise.
33645         * lib/freadptr.c (freadptr): Likewise.
33646         * lib/freadseek.c (freadptrinc): Likewise.
33647         * lib/fseeko.c (rpl_fseeko): Likewise.
33648         * lib/fseterr.c (fseterr): Likewise.
33649         * lib/fwritable.c (fwritable): Likewise.
33650         * lib/fwriting.c (fwriting): Likewise.
33651         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
33652
33653 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
33654
33655         * lib/config.charset: Treat Haiku like BeOS.
33656
33657 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
33658
33659         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
33660         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
33661
33662 2008-11-08  Bruno Haible  <bruno@clisp.org>
33663
33664         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
33665         AC_CACHE_CHECK.
33666
33667 2008-11-08  Bruno Haible  <bruno@clisp.org>
33668
33669         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
33670
33671 2008-11-08  Bruno Haible  <bruno@clisp.org>
33672
33673         * tests/test-select-fd.c: New file.
33674         * tests/test-select-in.sh: New file.
33675         * tests/test-select-out.sh: New file.
33676         * tests/test-select-stdin.c: New file.
33677         * modules/select-tests (Files): Add the new files.
33678         (Depends-on): Add gettimeofday.
33679         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
33680         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
33681         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
33682
33683 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
33684             Bruno Haible  <bruno@clisp.org>
33685
33686         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
33687
33688 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
33689
33690         * build-aux/pmccabe2html: Added support for C++ source files.
33691
33692 2008-11-05  Ben Pfaff  <blp@gnu.org>
33693
33694         Fix lib/close.c build on Windows.
33695         * modules/close (Files): Add lib/w32sock.h.
33696
33697 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
33698
33699         Accept Bison's NEWS format.
33700         * build-aux/announce-gen (print_news_deltas): Tweak
33701         $re_prefix.
33702
33703 2008-11-04  Bruno Haible  <bruno@clisp.org>
33704
33705         * modules/random_r (Maintainer): Add glibc.
33706
33707 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33708
33709         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
33710         by karl@freefriends.org (Karl Berry).
33711         * doc/alloca.texi: Likewise.
33712         * doc/c-ctype.texi: Likewise.
33713         * doc/c-strcase.texi: Likewise.
33714         * doc/c-strcaseeq.texi: Likewise.
33715         * doc/c-strcasestr.texi: Likewise.
33716         * doc/c-strstr.texi: Likewise.
33717         * doc/c-strtod.texi: Likewise.
33718         * doc/c-strtold.texi: Likewise.
33719         * doc/ctime.texi: Likewise.
33720         * doc/error.texi: Likewise.
33721         * doc/fdl.texi: Likewise.
33722         * doc/gcd.texi: Likewise.
33723         * doc/getdate.texi: Likewise.
33724         * doc/gnulib-intro.texi: Likewise.
33725         * doc/gnulib-tool.texi: Likewise.
33726         * doc/gnulib.texi: Likewise.
33727         * doc/inet_ntoa.texi: Likewise.
33728         * doc/maintain.texi: Likewise.
33729         * doc/make-stds.texi: Likewise.
33730         * doc/quote.texi: Likewise.
33731         * doc/regexprops-generic.texi: Likewise.
33732         * doc/standards.texi: Likewise.
33733         * doc/verify.texi: Likewise.
33734         * doc/visibility.texi: Likewise.
33735         * doc/gnulib.texi (GNU Free Documentation License): Include
33736         fdl-1.3.texi instead of fdl.texi.
33737
33738 2008-11-04  Simon Josefsson  <simon@josefsson.org>
33739
33740         * doc/fdl-1.3.texi: New file, from
33741         <http://www.gnu.org/licenses/fdl-1.3.texi>.
33742         * modules/fdl-1.3: Add.
33743         * MODULES.html.sh: Add fdl-1.3.
33744
33745 2008-11-03  Bruno Haible  <bruno@clisp.org>
33746
33747         Make determination of absolute name of header file work with AIX xlc.
33748         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
33749         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
33750         preprocessing.
33751         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
33752         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
33753
33754 2008-11-03  Simon Josefsson  <simon@josefsson.org>
33755
33756         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
33757         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
33758         <ludo@gnu.org>.
33759
33760 2008-11-02  Bruno Haible  <bruno@clisp.org>
33761
33762         Mark 'strpbrk' obsolete.
33763         * modules/strpbrk (Status, Notice): New sections.
33764         * modules/strtok_r (Depends-on): Add strpbrk.
33765
33766 2008-11-02  Bruno Haible  <bruno@clisp.org>
33767
33768         Mark 'strdup' obsolete.
33769         * modules/strdup (Status, Notice): New sections.
33770         * modules/findprog (Depends-on): Add strdup.
33771         * modules/getaddrinfo (Depends-on): Likewise.
33772         * modules/localename (Depends-on): Likewise.
33773         * modules/relocatable-lib (Depends-on): Likewise.
33774         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
33775         * modules/relocatable-prog (Depends-on): Likewise.
33776         * modules/trim (Depends-on): Likewise.
33777         * modules/unictype/gen-ctype (Depends-on): Likewise.
33778         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33779
33780 2008-11-02  Bruno Haible  <bruno@clisp.org>
33781
33782         Mark 'strcspn' obsolete.
33783         * modules/strcspn (Status, Notice): New sections.
33784
33785 2008-11-02  Bruno Haible  <bruno@clisp.org>
33786
33787         Mark 'rmdir' obsolete.
33788         * modules/rmdir (Status, Notice): New sections.
33789         * modules/clean-temp (Depends-on): Add rmdir.
33790         * modules/openat (Depends-on): Likewise.
33791
33792 2008-11-02  Bruno Haible  <bruno@clisp.org>
33793
33794         Mark 'raise' obsolete.
33795         * modules/raise (Status, Notice): New sections.
33796         (Include): Specify <signal.h>.
33797         * modules/stdio (Depends-on): Add raise.
33798         * modules/write (Depends-on): Likewise.
33799
33800 2008-11-02  Bruno Haible  <bruno@clisp.org>
33801
33802         Mark 'memset' obsolete.
33803         * modules/memset (Status, Notice): New sections.
33804
33805 2008-11-02  Bruno Haible  <bruno@clisp.org>
33806
33807         Mark 'memmove' obsolete.
33808         * modules/memmove (Status, Notice): New sections.
33809         * modules/argp (Depends-on): Add memmove.
33810         * modules/argz (Depends-on): Likewise.
33811         * modules/canonicalize (Depends-on): Likewise.
33812         * modules/canonicalize-lgpl (Depends-on): Likewise.
33813         * modules/fts (Depends-on): Likewise.
33814         * modules/getcwd (Depends-on): Likewise.
33815         * modules/human (Depends-on): Likewise.
33816         * modules/regex (Depends-on): Likewise.
33817         * modules/striconveh (Depends-on): Likewise.
33818         * modules/trim (Depends-on): Likewise.
33819         * modules/unistr/u8-move (Depends-on): Likewise.
33820         * modules/unistr/u16-move (Depends-on): Likewise.
33821         * modules/unistr/u32-move (Depends-on): Likewise.
33822
33823 2008-11-02  Bruno Haible  <bruno@clisp.org>
33824
33825         Mark 'memcpy' obsolete.
33826         * modules/memcpy (Status, Notice): New sections.
33827
33828 2008-11-02  Bruno Haible  <bruno@clisp.org>
33829
33830         Mark 'memcmp' obsolete.
33831         * modules/memcmp (Status, Notice): New sections.
33832         * modules/argmatch (Depends-on): Add memchr.
33833         * modules/backupfile (Depends-on): Likewise.
33834         * modules/c-strcasestr (Depends-on): Likewise.
33835         * modules/crypto/des (Depends-on): Likewise.
33836         * modules/csharpcomp (Depends-on): Likewise.
33837         * modules/fnmatch (Depends-on): Likewise.
33838         * modules/git-merge-changelog (Depends-on): Likewise.
33839         * modules/isnand (Depends-on): Likewise.
33840         * modules/isnand-nolibm (Depends-on): Likewise.
33841         * modules/isnanf (Depends-on): Likewise.
33842         * modules/isnanf-nolibm (Depends-on): Likewise.
33843         * modules/isnanl (Depends-on): Likewise.
33844         * modules/isnanl-nolibm (Depends-on): Likewise.
33845         * modules/mbchar (Depends-on): Likewise.
33846         * modules/memcoll (Depends-on): Likewise.
33847         * modules/quotearg (Depends-on): Likewise.
33848         * modules/regex (Depends-on): Likewise.
33849         * modules/relocatable-prog (Depends-on): Likewise.
33850         * modules/same (Depends-on): Likewise.
33851         * modules/signbit (Depends-on): Likewise.
33852         * modules/strcasestr-simple (Depends-on): Likewise.
33853         * modules/unictype/gen-ctype (Depends-on): Likewise.
33854         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
33855         * modules/uniname/uniname (Depends-on): Likewise.
33856         * modules/unistr/u8-cmp (Depends-on): Likewise.
33857
33858 2008-11-02  Bruno Haible  <bruno@clisp.org>
33859
33860         Mark 'memchr' obsolete.
33861         * modules/memchr (Status, Notice): New sections.
33862         * modules/argp (Depends-on): Add memchr.
33863         * modules/base64 (Depends-on): Likewise.
33864         * modules/c-strcasestr (Depends-on): Likewise.
33865         * modules/chdir-long (Depends-on): Likewise.
33866         * modules/fnmatch (Depends-on): Likewise.
33867         * modules/getsubopt (Depends-on): Likewise.
33868         * modules/git-merge-changelog (Depends-on): Likewise.
33869         * modules/glob (Depends-on): Likewise.
33870         * modules/strcasestr-simple (Depends-on): Likewise.
33871         * modules/strnlen (Depends-on): Likewise.
33872
33873 2008-11-02  Bruno Haible  <bruno@clisp.org>
33874
33875         Mark 'atexit' obsolete.
33876         * modules/atexit (Status, Notice): New sections.
33877         * modules/chdir-long (Depends-on): Add atexit.
33878         * modules/wait-process (Depends-on): Likewise.
33879
33880 2008-11-02  Bruno Haible  <bruno@clisp.org>
33881
33882         * gnulib-tool: New option --with-obsolete.
33883         (func_usage): Document it.
33884         (func_modules_transitive_closure): Drop obsolete dependencies if
33885         incobsolete is not true.
33886         (func_import): Read and save the incobsolete variable to the cache.
33887
33888 2008-11-02  Bruno Haible  <bruno@clisp.org>
33889
33890         * modules/TEMPLATE-EXTENDED: New field 'Status'.
33891         * gnulib-tool: New option --extract-status.
33892         (func_usage): Document it.
33893         (sed_extract_prog): Recognize it.
33894         (func_get_status): New function.
33895
33896 2008-10-30  Simon Josefsson  <simon@josefsson.org>
33897
33898         * modules/sockets (License): Change from LGPL to LGPLv2+.
33899
33900 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33901
33902         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
33903
33904 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33905
33906         * MODULES.html.sh (Support for systems lacking POSIX:2001):
33907         Mention times and sys_times.
33908         * modules/sys_times, modules/sys_times-tests: New modules.
33909         * modules/times, modules/times-tests: Likewise
33910         * m4/sys_times_h.m4: New file.
33911         * lib/sys_times.in.h: Likewise
33912         * lib/times.c: Likewise.
33913         * tests/test-sys_times.c: Likewise.
33914         * tests/test-times.c: Likewise.
33915         * doc/posix-headers/sys_times.texi: Update.
33916         * doc/posix-functions/times.texi: Update.
33917
33918 2008-10-28  Jim Meyering  <meyering@redhat.com>
33919
33920         * modules/tempname (Depends-on): Add lstat.
33921
33922         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
33923
33924 2008-10-28  Simon Josefsson  <simon@josefsson.org>
33925
33926         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
33927         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
33928         using idiom used elsewhere in gnulib.
33929
33930 2008-10-27  Jim Meyering  <meyering@redhat.com>
33931
33932         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
33933
33934 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33935
33936         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
33937         TESTS_ENVIRONMENT, for shell scripts that needs to call built
33938         programs.
33939         * tests/test-argp-2.sh: Use $EXEEXT when needed.
33940
33941 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33942
33943         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
33944
33945 2008-10-27  Bruno Haible  <bruno@clisp.org>
33946
33947         * tests/test-lstat.c: Include <stdio.h>.
33948
33949 2008-10-27  Simon Josefsson  <simon@josefsson.org>
33950
33951         * modules/lstat-tests: New module.
33952         * tests/test-lstat.c: New file.
33953
33954 2008-10-26  Jim Meyering  <meyering@redhat.com>
33955
33956         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
33957
33958 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33959             Bruno Haible  <bruno@clisp.org>
33960
33961         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
33962         * modules/configmake (Include): Add a note that the include must come
33963         after all system headers.
33964         * lib/javaversion.c: Include configmake.h after all other includes.
33965
33966 2008-10-26  Bruno Haible  <bruno@clisp.org>
33967
33968         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
33969         HAVE_STRUCT_RANDOM_DATA to 1.
33970         (gl_STDLIB_H): Simplify.
33971
33972 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33973
33974         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
33975         substitute HAVE_STRUCT_RANDOM_DATA.
33976         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
33977         random_data.
33978         * modules/stdlib (Makefile.am): Substitute
33979         HAVE_STRUCT_RANDOM_DATA.
33980
33981 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33982
33983         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
33984         * doc/gnulib-intro.texi (Copyright): Likewise.
33985
33986 2008-10-26  Simon Josefsson  <simon@josefsson.org>
33987
33988         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
33989         findings.
33990
33991 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
33992             Bruno Haible  <bruno@clisp.org>
33993
33994         * lib/unistd.in.h: Include <winsock2.h>.
33995         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
33996         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
33997         Provide dummy declarations.
33998         (gethostname): Override.
33999         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
34000         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
34001         gl_PREREQ_SYS_H_WINSOCK2.
34002         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
34003         * doc/posix-functions/gethostname.texi: More details.
34004
34005 2008-10-25  Bruno Haible  <bruno@clisp.org>
34006
34007         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34008         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
34009         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
34010
34011         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
34012         here ...
34013         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
34014         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
34015         gl_UNISTD_H_DEFAULTS.
34016
34017 2008-10-25  Eric Blake  <ebb9@byu.net>
34018
34019         signbit: avoid spurious compiler failure
34020         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
34021         declarations inside function.
34022
34023 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34024             Bruno Haible  <bruno@clisp.org>
34025
34026         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
34027         * modules/random_r (Depends-on): Add stdint.
34028
34029 2008-10-24  Bruno Haible  <bruno@clisp.org>
34030
34031         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
34032         Eggert.
34033         * modules/strerror (License): Likewise.
34034
34035 2008-10-24  Jim Meyering  <meyering@redhat.com>
34036
34037         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
34038         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
34039
34040 2008-10-24  Eric Blake  <ebb9@byu.net>
34041
34042         getgroups: fix compilation when getgroups is available
34043         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
34044         but with <config.h> override of getgroups disabled.
34045
34046 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34047
34048         * doc/gnulib.texi (Header files): Add note about C++ problems.
34049         Explained by Bruno Haible <bruno@clisp.org>.
34050
34051 2008-10-23  Bruno Haible  <bruno@clisp.org>
34052
34053         Define a dummy SA_NODEFER macro on Interix.
34054         * lib/signal.in.h (SA_NODEFER): Define fallback.
34055         Reported by Aleksey Cheusov <cheusov@tut.by> via
34056         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
34057
34058 2008-10-23  Bruno Haible  <bruno@clisp.org>
34059
34060         * modules/freadahead (License): Change to LGPLv2+.
34061         Suggested by Simon Josefsson.
34062
34063 2008-10-23  Jim Meyering  <meyering@redhat.com>
34064
34065         random_r: new module
34066         * modules/random_r: New file.
34067         * m4/random_r.m4: New file.
34068         * lib/random_r.c: New file, from glibc.
34069         * modules/random_r-tests: New file.
34070         * tests/test-random_r.c: New file.
34071         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
34072          Declare.
34073         (RAND_MAX): Define.
34074         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
34075         * modules/stdlib: Substitute them, too.
34076         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
34077         * doc/glibc-functions/initstate_r.texi: Mention the new module.
34078         * doc/glibc-functions/random_r.texi: Likewise.
34079         * doc/glibc-functions/setstate_r.texi: Likewise.
34080         * doc/glibc-functions/srandom_r.texi: Likewise.
34081         * config/srclist.txt: Mention it.
34082
34083 2008-10-23  David Lutterkort  <lutter@redhat.com>
34084
34085         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
34086         link requirement
34087
34088 2008-10-23  Jim Meyering  <meyering@redhat.com>
34089
34090         selinux-h: mark parameters of stub functions as intentionally unused
34091         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
34092         * lib/se-context.in.h: Likewise.
34093
34094 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34095
34096         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
34097
34098 2008-10-22  Simon Josefsson  <simon@josefsson.org>
34099
34100         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
34101
34102 2008-10-22  Eric Blake  <ebb9@byu.net>
34103
34104         glthread/thread: avoid compiler warning
34105         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
34106         Add unreachable abort to silence compiler.
34107
34108 2008-10-22  Eric Blake  <ebb9@byu.net>
34109
34110         netdb: also supply struct addrinfo for cygwin 1.5.x
34111         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
34112         older cygwin.
34113         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
34114         cygwin.
34115         * doc/posix-headers/netdb.texi (netdb.h): Document this.
34116
34117 2008-10-22  Bruno Haible  <bruno@clisp.org>
34118
34119         * users.txt: Update entry about pspp.
34120
34121 2008-10-21  Bruno Haible  <bruno@clisp.org>
34122
34123         Simplification.
34124         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
34125         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
34126
34127         Simplification.
34128         * lib/ioctl.c (ioctl): Don't undefine.
34129         * lib/socket.c (socket): Don't undefine.
34130
34131         Remove unused module indicator macros.
34132         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
34133         GNULIB_$1 as a C macro.
34134
34135         * doc/posix-functions/close.texi: Undo last change.
34136         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
34137         Windows platforms.
34138
34139 2008-10-21  Bruno Haible  <bruno@clisp.org>
34140
34141         Add gethostname() declaration to <unistd.h>.
34142         * lib/unistd.in.h (gethostname): New declaration.
34143         * lib/gethostname.c: Include <unistd.h>.
34144         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
34145         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
34146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
34147         and HAVE_GETHOSTNAME.
34148         * modules/gethostname (Depends-on): Add unistd.
34149         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34150         (Include): Specify <unistd.h>.
34151         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
34152         HAVE_GETHOSTNAME.
34153         * tests/test-gethostname.c: Include <unistd.h> first.
34154
34155 2008-10-21  Bruno Haible  <bruno@clisp.org>
34156
34157         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
34158         * modules/select-tests (Depends-on): Likewise.
34159         Reported by Simon Josefsson.
34160
34161 2008-10-21  Simon Josefsson  <simon@josefsson.org>
34162
34163         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
34164         * lib/accept.c: New file, based on winsock.c.
34165         * lib/bind.c: New file, based on winsock.c.
34166         * lib/connect.c: New file, based on winsock.c.
34167         * lib/getpeername.c: New file, based on winsock.c.
34168         * lib/getsockname.c: New file, based on winsock.c.
34169         * lib/getsockopt.c: New file, based on winsock.c.
34170         * lib/ioctl.c: New file, based on winsock.c.
34171         * lib/listen.c: New file, based on winsock.c.
34172         * lib/recv.c: New file, based on winsock.c.
34173         * lib/recvfrom.c: New file, based on winsock.c.
34174         * lib/send.c: New file, based on winsock.c.
34175         * lib/sendto.c: New file, based on winsock.c.
34176         * lib/setsockopt.c: New file, based on winsock.c.
34177         * lib/shutdown.c: New file, based on winsock.c.
34178         * lib/socket.c: New file, based on winsock.c.
34179         * lib/w32sock.h: New file, based on winsock.c.
34180         * lib/winsock.c: Remove file.
34181         * modules/accept: Likewise.
34182         * modules/bind: Likewise.
34183         * modules/connect: Likewise.
34184         * modules/getpeername: Likewise.
34185         * modules/getsockname: Likewise.
34186         * modules/getsockopt: Likewise.
34187         * modules/ioctl: Likewise.
34188         * modules/listen: Likewise.
34189         * modules/recv: Likewise.
34190         * modules/recvfrom: Likewise.
34191         * modules/send: Likewise.
34192         * modules/sendto: Likewise.
34193         * modules/setsockopt: Likewise.
34194         * modules/shutdown: Likewise.
34195         * modules/socket: Use socket.c instead of winsock.c.
34196         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
34197         * doc/posix-functions/accept.texi: Doc fix.
34198         * doc/posix-functions/bind.texi: Doc fix.
34199         * doc/posix-functions/close.texi: Doc fix.
34200         * doc/posix-functions/connect.texi: Doc fix.
34201         * doc/posix-functions/getpeername.texi: Doc fix.
34202         * doc/posix-functions/getsockname.texi: Doc fix.
34203         * doc/posix-functions/getsockopt.texi: Doc fix.
34204         * doc/posix-functions/ioctl.texi: Doc fix.
34205         * doc/posix-functions/listen.texi: Doc fix.
34206         * doc/posix-functions/recv.texi: Doc fix.
34207         * doc/posix-functions/recvfrom.texi: Doc fix.
34208         * doc/posix-functions/send.texi: Doc fix.
34209         * doc/posix-functions/sendto.texi: Doc fix.
34210         * doc/posix-functions/setsockopt.texi: Doc fix.
34211         * doc/posix-functions/shutdown.texi: Doc fix.
34212         * doc/posix-functions/socket.texi: Doc fix.
34213
34214 2008-10-20  Bruno Haible  <bruno@clisp.org>
34215
34216         Take into account the role of SIGABRT_COMPAT on Windows 2008.
34217         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
34218         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
34219         as an alias for SIGABRT.
34220         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
34221         (sigaction): Map it to SIGABRT.
34222         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
34223
34224 2008-10-20  Bruno Haible  <bruno@clisp.org>
34225
34226         * lib/fts.c: Don't include lstat.h.
34227         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
34228
34229         Move the lstat() declaration to <sys/stat.h>.
34230         * lib/lstat.h: Remove file.
34231         * lib/sys_stat.in.h: Add special invocation convention.
34232         (lstat): New declaration.
34233         * lib/lstat.c (orig_lstat): New function.
34234         (rpl_lstat): Use orig_lstat instead of lstat.
34235         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
34236         AC_C_INLINE. Set REPLACE_LSTAT.
34237         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
34238         and REPLACE_LSTAT.
34239         * modules/lstat (Files): Remove lib/lstat.h.
34240         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34241         (Include): Specify <sys/stat.h> instead of lstat.h.
34242         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
34243         REPLACE_LSTAT.
34244         * NEWS: Mention the change.
34245
34246 2008-10-20  Bruno Haible  <bruno@clisp.org>
34247
34248         * modules/posix_spawn-tests: New file.
34249         * tests/test-posix_spawn3.c: New file.
34250
34251 2008-10-20  Bruno Haible  <bruno@clisp.org>
34252
34253         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
34254         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34255         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
34256         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
34257         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
34258
34259 2008-10-20  Bruno Haible  <bruno@clisp.org>
34260
34261         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
34262         of posix_spawn on AIX 5.3.
34263
34264 2008-10-20  Bruno Haible  <bruno@clisp.org>
34265
34266         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
34267
34268 2008-10-20  Bruno Haible  <bruno@clisp.org>
34269
34270         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
34271         of AC_LANG_PROGRAM.
34272
34273 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34274
34275         * lib/netdb.in.h: Don't define GNU specific constants until they
34276         are supported or needed.  Reported by Bruno Haible
34277         <bruno@clisp.org>.
34278
34279 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34280
34281         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
34282
34283 2008-10-20  Simon Josefsson  <simon@josefsson.org>
34284
34285         * lib/getaddrinfo.h: Remove file.
34286         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
34287         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
34288         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
34289         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
34290         * modules/netdb: Substitute GNULIB_GETADDRINFO.
34291         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
34292         * tests/test-getaddrinfo.c: Likewise.
34293         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
34294         * NEWS: Mention change.
34295
34296 2008-10-19  Bruno Haible  <bruno@clisp.org>
34297
34298         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
34299
34300 2008-10-19  Bruno Haible  <bruno@clisp.org>
34301
34302         * lib/wait-process.c: Include simply <sys/wait.h>.
34303         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
34304         WIFSTOPPED): Remove fallback definitions.
34305         * modules/wait-process (Depends-on): Add sys_wait.
34306
34307         New module 'sys_wait'.
34308         * modules/sys_wait: New file.
34309         * lib/sys_wait.in.h: New file, partially copied from
34310         lib/wait-process.c.
34311         * m4/sys_wait_h.m4: New file.
34312         * doc/posix-headers/sys_wait.texi: Mention the new module.
34313
34314 2008-10-19  Bruno Haible  <bruno@clisp.org>
34315
34316         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
34317
34318 2008-10-19  Bruno Haible  <bruno@clisp.org>
34319
34320         Assume that waitpid() fills an 'int' status, not a 'union wait'.
34321         * lib/wait-process.c (WAIT_T): Remove type.
34322         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
34323         (wait_subprocess): Update.
34324
34325 2008-10-19  Bruno Haible  <bruno@clisp.org>
34326
34327         New module 'atoll'.
34328         * modules/atoll: New file.
34329         * lib/stdlib.in.h (atoll): New declaration.
34330         * lib/atoll.c: New file, from glibc with modifications.
34331         * m4/atoll.m4: New file.
34332         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
34333         HAVE_ATOLL.
34334         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
34335         * doc/posix-functions/atoll.texi: Mention the new module.
34336
34337 2008-10-19  Bruno Haible  <bruno@clisp.org>
34338
34339         Add strtoull() declaration to <stdlib.h>.
34340         * lib/stdlib.in.h (strtoull): New declaration.
34341         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34342         Set HAVE_STRTOULL.
34343         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
34344         HAVE_STRTOULL.
34345         * modules/strtoull (Depends-on): Add stdlib.
34346         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34347         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
34348         HAVE_STRTOULL.
34349
34350 2008-10-19  Bruno Haible  <bruno@clisp.org>
34351
34352         Add strtoll() declaration to <stdlib.h>.
34353         * lib/stdlib.in.h (strtoll): New declaration.
34354         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
34355         Set HAVE_STRTOLL.
34356         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
34357         HAVE_STRTOLL.
34358         * modules/strtoll (Depends-on): Add stdlib.
34359         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34360         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
34361
34362 2008-10-19  Bruno Haible  <bruno@clisp.org>
34363
34364         * modules/bcopy (Depends-on): Add strings.
34365         (Include): Specify <strings.h>.
34366
34367 2008-10-19  Bruno Haible  <bruno@clisp.org>
34368
34369         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
34370
34371 2008-10-19  Bruno Haible  <bruno@clisp.org>
34372
34373         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
34374         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
34375         mingw.
34376
34377 2008-10-19  Bruno Haible  <bruno@clisp.org>
34378
34379         * lib/atanl.c: Don't include isnanl.h.
34380         * lib/cosl.c: Likewise.
34381         * lib/ldexpl.c: Likewise.
34382         * lib/logl.c: Likewise.
34383         * lib/sinl.c: Likewise.
34384         * lib/sqrtl.c: Likewise.
34385         * lib/tanl.c: Likewise.
34386
34387         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
34388         * lib/isnanf.h: Remove file.
34389         * lib/isnand.h: Remove file.
34390         * lib/isnanl.h: Remove file.
34391         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
34392         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
34393         macros.
34394         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
34395         HAVE_ISNANF, don't define it as a C macro.
34396         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
34397         HAVE_ISNAND, don't define it as a C macro.
34398         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
34399         HAVE_ISNANL, don't define it as a C macro.
34400         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
34401         HAVE_ISNAN[FDL].
34402         * modules/isnanf (Files): Remove lib/isnanf.h.
34403         (Depends-on): Add math.
34404         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34405         (Include): Specify <math.h> instead of isnanf.h.
34406         * modules/isnand (Files): Remove lib/isnand.h.
34407         (Depends-on): Add math.
34408         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34409         (Include): Specify <math.h> instead of isnand.h.
34410         * modules/isnanl (Files): Remove lib/isnanl.h.
34411         (Depends-on): Add math.
34412         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
34413         (Include): Specify <math.h> instead of isnanl.h.
34414         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
34415         HAVE_ISNAN[FDL].
34416         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
34417         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
34418         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
34419         * NEWS: Mention the change.
34420
34421 2008-10-18  Bruno Haible  <bruno@clisp.org>
34422
34423         Add getusershell(), setusershell(), endusershell() declarations to
34424         <unistd.h>.
34425         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
34426         declarations.
34427         * lib/getusershell.c: Include unistd.h.
34428         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
34429         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
34430         HAVE_GETUSERSHELL.
34431         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
34432         and HAVE_GETUSERSHELL.
34433         * modules/getusershell (Depends-on): Add unistd, extensions.
34434         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34435         (Include): Specify <unistd.h>.
34436         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
34437         HAVE_GETUSERSHELL.
34438
34439 2008-10-18  Bruno Haible  <bruno@clisp.org>
34440
34441         Add a getloadavg() declaration to <stdlib.h>.
34442         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
34443         getloadavg declaration.
34444         (getloadavg): New declaration.
34445         * lib/getloadavg.c: Include <stdlib.h> first.
34446         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
34447         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
34448         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
34449         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
34450         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34451         * modules/getloadavg (Depends-on): Add stdlib, extensions.
34452         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34453         (Include): Specify <stdlib.h>.
34454         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
34455         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
34456
34457 2008-10-18  Bruno Haible  <bruno@clisp.org>
34458
34459         * lib/dirchownmod.c: Don't include lchmod.h.
34460
34461         Move the lchmod() declaration to <sys/stat.h>.
34462         * lib/lchmod.h: Remove file.
34463         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
34464         (lchmod): New declaration, moved here from lib/lchown.h.
34465         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
34466         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
34467         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
34468         and HAVE_LCHMOD.
34469         * modules/lchmod (Files): Remove lib/lchmod.h.
34470         (Depends-on): Add sys_stat, extensions.
34471         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
34472         (Include): Specify <sys/stat.h> instead of lchmod.h.
34473         * modules/sys_stat (Depends-on): Add link-warning.
34474         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
34475         definition of GL_LINK_WARNING.
34476         * NEWS: Mention the change.
34477
34478 2008-10-18  Bruno Haible  <bruno@clisp.org>
34479
34480         * lib/fchdir.c: Don't include dirfd.h.
34481         * lib/fts.c: Likewise.
34482         * lib/getcwd.c: Likewise.
34483         * lib/glob.c: Likewise.
34484
34485         Move the dirfd() declaration to <dirent.h>.
34486         * lib/dirfd.h: Remove file.
34487         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
34488         (dirfd): New declaration.
34489         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
34490         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
34491         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
34492         HAVE_DECL_DIRFD.
34493         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
34494         HAVE_DECL_DIRFD.
34495         * modules/dirfd (Files): Remove lib/dirfd.h.
34496         (Depends-on): Add dirent, extensions.
34497         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
34498         (Include): Specify <dirent.h> instead of dirfd.h.
34499         * modules/dirent (Depends-on): Add link-warning.
34500         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
34501         definition of GL_LINK_WARNING.
34502         * NEWS: Mention the change.
34503
34504 2008-10-18  Bruno Haible  <bruno@clisp.org>
34505
34506         Move the euidaccess() declaration to <unistd.h>.
34507         * lib/euidaccess.h: Remove file.
34508         * lib/unistd.in.h (euidaccess): New declaration.
34509         * lib/euidaccess.c: Don't include euidaccess.h.
34510         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
34511         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
34512         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
34513         and HAVE_EUIDACCESS.
34514         * modules/euidaccess (Files): Remove lib/euidaccess.h.
34515         (Depends-on): Add unistd.
34516         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34517         (Include): Specify <unistd.h> instead of euidaccess.h.
34518         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
34519         HAVE_EUIDACCESS.
34520         * NEWS: Mention the change.
34521
34522 2008-10-18  Bruno Haible  <bruno@clisp.org>
34523
34524         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
34525
34526         Move the getdomainname() declaration to <unistd.h>.
34527         * lib/getdomainname.h: Remove file.
34528         * lib/unistd.in.h (getdomainname): New declaration.
34529         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
34530         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
34531         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
34532         HAVE_GETDOMAINNAME.
34533         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34534         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
34535         * modules/getdomainname (Files): Remove lib/getdomainname.h.
34536         (Depends-on): Add unistd, extensions.
34537         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34538         (Includes): Specify <unistd.h> instead of getdomainname.h.
34539         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
34540         HAVE_GETDOMAINNAME.
34541         * NEWS: Mention the change.
34542
34543 2008-10-18  Bruno Haible  <bruno@clisp.org>
34544
34545         * modules/dirent: New file.
34546         * m4/dirent_h.m4: New file.
34547         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
34548         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
34549         * modules/fchdir (Files): Remove lib/dirent.in.h.
34550         (Depends-on): Add dirent.
34551         (Makefile.am): Move rules to modules/dirent.
34552         * doc/posix-headers/dirent.texi: Mention the new module.
34553
34554 2008-10-18  Bruno Haible  <bruno@clisp.org>
34555
34556         Avoid -Wunused-parameter warnings in public gnulib header files.
34557         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
34558         macro.
34559         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
34560
34561 2008-10-18  Bruno Haible  <bruno@clisp.org>
34562
34563         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
34564         * doc/glibc-functions/error.texi: Mention the module 'error'.
34565         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
34566         * doc/glibc-functions/getdomainname.texi: Mention the module
34567         'getdomainname'.
34568         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
34569         * doc/glibc-functions/getpagesize.texi: Mention the module
34570         'getpagesize'.
34571         * doc/glibc-functions/getusershell.texi: Mention the module
34572         'getusershell'.
34573         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
34574         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
34575         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
34576         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
34577         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
34578         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
34579         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
34580         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
34581         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
34582         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
34583         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
34584         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
34585         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
34586         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
34587
34588 2008-10-17  Bruno Haible  <bruno@clisp.org>
34589
34590         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
34591         HP-UX and IRIX, use -0.0L.
34592         * tests/test-ceill.c (minus_zero): Likewise.
34593         * tests/test-floorl.c (minus_zero): Likewise.
34594         * tests/test-frexpl.c (minus_zero): Likewise.
34595         * tests/test-isnan.c (minus_zerol): Likewise.
34596         * tests/test-isnanl.h (minus_zero): Likewise.
34597         * tests/test-ldexpl.c (minus_zero): Likewise.
34598         * tests/test-roundl.c (minus_zero): Likewise.
34599         * tests/test-signbit.c (minus_zerol): Likewise.
34600         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
34601         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
34602         * tests/test-truncl.c (minus_zero): Likewise.
34603         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
34604         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
34605         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
34606         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
34607
34608 2008-10-17  Bruno Haible  <bruno@clisp.org>
34609
34610         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
34611         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
34612         that it gets activated only for gcc >= 3.0.
34613         * lib/dirent.in.h: Likewise.
34614         * lib/errno.in.h: Likewise.
34615         * lib/fcntl.in.h: Likewise.
34616         * lib/float.in.h: Likewise.
34617         * lib/iconv.in.h: Likewise.
34618         * lib/inttypes.in.h: Likewise.
34619         * lib/locale.in.h: Likewise.
34620         * lib/math.in.h: Likewise.
34621         * lib/netdb.in.h: Likewise.
34622         * lib/netinet_in.in.h: Likewise.
34623         * lib/search.in.h: Likewise.
34624         * lib/signal.in.h: Likewise.
34625         * lib/spawn.in.h: Likewise.
34626         * lib/stdarg.in.h: Likewise.
34627         * lib/stdint.in.h: Likewise.
34628         * lib/stdio.in.h: Likewise.
34629         * lib/stdlib.in.h: Likewise.
34630         * lib/string.in.h: Likewise.
34631         * lib/strings.in.h: Likewise.
34632         * lib/sys_file.in.h: Likewise.
34633         * lib/sys_ioctl.in.h: Likewise.
34634         * lib/sys_select.in.h: Likewise.
34635         * lib/sys_socket.in.h: Likewise.
34636         * lib/sys_stat.in.h: Likewise.
34637         * lib/sys_time.in.h: Likewise.
34638         * lib/sysexits.in.h: Likewise.
34639         * lib/time.in.h: Likewise.
34640         * lib/unistd.in.h: Likewise.
34641         * lib/wchar.in.h: Likewise.
34642         * lib/wctype.in.h: Likewise.
34643         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34644
34645 2008-10-17  Jim Meyering  <meyering@redhat.com>
34646
34647         ignore-value: don't depend on inline module
34648         * modules/ignore-value (Depends-on): Remove 'inline'.
34649         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
34650         Suggestion from Bruno Haible.
34651
34652 2008-10-17  Bruno Haible  <bruno@clisp.org>
34653
34654         New implementation of condition variables for Win32.
34655         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
34656         (gl_linked_waitqueue_t): New type.
34657         (gl_cond_t): Use it.
34658         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
34659         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
34660         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
34661         (glthread_cond_init_func, glthread_cond_wait_func,
34662         glthread_cond_timedwait_func, glthread_cond_signal_func,
34663         glthread_cond_broadcast_func, glthread_cond_destroy_func):
34664         Reimplemented on the basis of gl_linked_waitqueue_t.
34665         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
34666         gl_waitqueue_t.
34667         (gl_rwlock_t): Update.
34668         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
34669
34670 2008-10-17  Simon Josefsson  <simon@josefsson.org>
34671
34672         * modules/recvfrom (Depends-on): Add dependency on getpeername.
34673         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34674
34675 2008-10-17  Jim Meyering  <meyering@redhat.com>
34676
34677         ignore-value: new module
34678         * modules/ignore-value: New file.
34679         * lib/ignore-value.h: New file.
34680         * MODULES.html.sh (Compiler warning management): New section,
34681         just for this module.  More to come.
34682
34683 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34684
34685         open-safer.c: avoid 'signed and unsigned in conditional...' warning
34686         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
34687         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
34688
34689 2008-10-16  Jim Meyering  <meyering@redhat.com>
34690
34691         openat-die.c: avoid 'no previous prototype' warning
34692         * lib/openat-die.c: Include "openat.h".
34693         Reported by Reuben Thomas <rrt@sc3d.org>.
34694
34695 2008-10-16  Simon Josefsson  <simon@josefsson.org>
34696
34697         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
34698         * lib/netdb.in.h: Fix typo.
34699         Reported by Bruno Haible  <bruno@clisp.org>
34700
34701         * lib/netdb.in.h: Include sys/socket.h for platforms without
34702         netdb.h, to get structures like hostent on MinGW.
34703         * modules/netdb (Depends-on): Add sys_socket.
34704
34705 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34706
34707         * modules/netdb, modules/netdb-tests: New file.
34708         * m4/netdb_h.m4: New file.
34709         * lib/netdb.in.h: Add, currently just an empty file pending
34710         definitions.
34711         * tests/test-netdb.c: New file.
34712         * doc/posix-headers/netdb.texi: Mention that we replace it if
34713         needed.
34714         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34715         netdb.
34716
34717 2008-10-15  Simon Josefsson  <simon@josefsson.org>
34718
34719         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
34720         with code.
34721
34722 2008-10-13  Bruno Haible  <bruno@clisp.org>
34723
34724         * lib/glthread/cond.c (glthread_cond_wait_func,
34725         glthread_cond_timedwait_func): Add a comment.
34726
34727 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34728
34729         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
34730         * tests/test-select.c: Likewise,
34731
34732 2008-10-13  Bruno Haible  <bruno@clisp.org>
34733
34734         * lib/glthread/cond.c (glthread_cond_wait_func,
34735         glthread_cond_timedwait_func): Fix variable name.
34736         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
34737
34738 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
34739
34740         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
34741         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
34742         struct sockaddr.sa_len.
34743         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
34744
34745 2008-10-13  Simon Josefsson  <simon@josefsson.org>
34746
34747         * build-aux/pmccabe2html: Add css and css_url parameters.
34748
34749 2008-10-12  Bruno Haible  <bruno@clisp.org>
34750
34751         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
34752         calling aclx_get.
34753         Reported by Rainer Tammer <tammer@tammer.net>.
34754
34755 2008-10-12  Bruno Haible  <bruno@clisp.org>
34756
34757         Use msvcrt aware primitives for creation/termination of Win32 threads.
34758         * lib/glthread/thread.c: Include <process.h>.
34759         (glthread_create_func): Use _beginthreadex instead of CreateThread.
34760         (wrapper_func): Update signature.
34761         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
34762
34763 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
34764             Bruno Haible  <bruno@clisp.org>
34765
34766         Provide a Win32 implementation of the 'cond' module.
34767         * lib/glthread/cond.h [USE_WIN32]: New implementation.
34768         * lib/glthread/cond.c (glthread_cond_init_func,
34769         glthread_cond_wait_func, glthread_cond_timedwait_func,
34770         glthread_cond_signal_func, glthread_cond_broadcast_func,
34771         glthread_cond_destroy_func) [USE_WIN32]: New functions.
34772         * modules/cond (Dependencies): Add gettimeofday.
34773
34774 2008-10-11  Bruno Haible  <bruno@clisp.org>
34775
34776         Make sleep work on older versions of mingw.
34777         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
34778         only whether it exists.
34779         * doc/posix-functions/sleep.texi: Mention the problem with older
34780         versions of mingw.
34781
34782 2008-10-11  Bruno Haible  <bruno@clisp.org>
34783
34784         New module 'shutdown'.
34785         * modules/shutdown: New file.
34786         * lib/sys_socket.in.h (shutdown): New declaration.
34787         * lib/winsock.c (shutdown): New function.
34788         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
34789         GNULIB_SHUTDOWN.
34790         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
34791         * doc/posix-functions/shutdown.texi: Document the new module.
34792
34793 2008-10-11  Jim Meyering  <meyering@redhat.com>
34794
34795         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
34796
34797 2008-10-11  Bruno Haible  <bruno@clisp.org>
34798
34799         New module 'fclose'.
34800         * modules/fclose: New file.
34801         * lib/stdio.in.h (fclose): New declaration.
34802         * lib/fclose.c: New file.
34803         * m4/fclose.m4: New file.
34804         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
34805         REPLACE_FCLOSE.
34806         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
34807         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
34808         REPLACE_FCLOSE.
34809         * modules/close (Depends-on): fclose.
34810         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
34811
34812 2008-10-11  Bruno Haible  <bruno@clisp.org>
34813
34814         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
34815         set errno and don't call _close.
34816
34817 2008-10-10  Bruno Haible  <bruno@clisp.org>
34818
34819         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
34820         ACL, not afterwards. Fixes test failure on Cygwin.
34821
34822 2008-10-09  Ben Pfaff  <blp@gnu.org>
34823
34824         * build-aux/announce-gen: Fix gnulib version related part of usage
34825         message.  Die with a useful error message if no tarballs are
34826         found.
34827
34828 2008-10-10  Jim Meyering  <meyering@redhat.com>
34829
34830         bootstrap: use git's --depth=N option only if it's supported
34831         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
34832         recognize the --depth option.  Reported by Pádraig Brady.
34833
34834 2008-10-09  Bruno Haible  <bruno@clisp.org>
34835
34836         New module 'ioctl'.
34837         * modules/ioctl: New file.
34838         * lib/sys_socket.in.h (ioctl): Remove declaration.
34839         * lib/winsock.c: Include <sys/ioctl.h>.
34840         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
34841         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34842         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
34843         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
34844         * doc/posix-functions/ioctl.texi: Mention the new module.
34845
34846 2008-10-09  Bruno Haible  <bruno@clisp.org>
34847
34848         New module 'sys_ioctl'.
34849         * lib/sys_ioctl.in.h: New file.
34850         * m4/sys_ioctl_h.m4: New file.
34851         * modules/sys_ioctl: New file.
34852         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
34853
34854 2008-10-09  Bruno Haible  <bruno@clisp.org>
34855
34856         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
34857         * lib/winsock.c: Include <stdarg.h>.
34858         (rpl_ioctl): Change to second argument 'int' and then varargs.
34859
34860 2008-10-09  Bruno Haible  <bruno@clisp.org>
34861
34862         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
34863         when the sys_socket module is present and the system has <winsock2.h>.
34864
34865 2008-10-09  Bruno Haible  <bruno@clisp.org>
34866
34867         * doc/posix-functions/close.texi: Mention module 'close' instead of
34868         module 'sys_socket'.
34869
34870 2008-10-09  Bruno Haible  <bruno@clisp.org>
34871
34872         * doc/glibc-headers/sys_ioctl.texi: New file.
34873         * doc/gnulib.texi: Include it.
34874
34875 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34876             Bruno Haible  <bruno@clisp.org>
34877
34878         Combine the two replacements of 'close'.
34879         * lib/sys_socket.in.h (close): Define to a reminder to include
34880         <unistd.h>.
34881         (_gl_close_fd_maybe_socket): New declaration.
34882         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
34883         * lib/winsock.c (close): Remove undefinition.
34884         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
34885         needed for the gnulib module 'close'.
34886         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
34887         define to an error symbol or to a warning, if suitable.
34888         * lib/close.c: Include <sys/socket.h>.
34889         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
34890         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
34891         UNISTD_H_HAVE_WINSOCK2_H.
34892         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
34893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34894         UNISTD_H_HAVE_WINSOCK2_H.
34895         * modules/sys_socket (Files): Add m4/unistd_h.m4.
34896         (configure.ac): Set a module indicator.
34897         (Makefile.am): Substitute GNULIB_CLOSE.
34898         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
34899         * modules/poll-tests (Depends-on): Add close.
34900         * modules/select-tests (Depends-on): Likewise.
34901
34902 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34903             Bruno Haible  <bruno@clisp.org>
34904
34905         New module 'close'.
34906         * modules/close: New file.
34907         * lib/unistd.in.h (close): Move declaration out of the
34908         FCHDIR_REPLACEMENT scope.
34909         (_gl_unregister_fd): New declaration.
34910         * lib/close.c: New file.
34911         * lib/fchdir.c (rpl_close): Remove function.
34912         * m4/close.m4: New file.
34913         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34914         close.
34915         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
34916         REPLACE_CLOSE.
34917         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
34918         REPLACE_CLOSE.
34919         * modules/fchdir (Depends-on): Add close.
34920
34921 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34922             Bruno Haible  <bruno@clisp.org>
34923
34924         * lib/fcntl.in.h (open): Simplify conditionals.
34925         (_gl_register_fd): New declaration.
34926         * lib/fchdir.c (rpl_open): Remove function.
34927         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
34928         also.
34929         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
34930         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
34931         open.
34932
34933 2008-10-09  Jim Meyering  <meyering@redhat.com>
34934
34935         GNUmakefile: use the more name-space-friendly "_version"
34936         * top/GNUmakefile (_dummy): Update.
34937         (_version): Rename from "version".
34938
34939 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34940             Bruno Haible  <bruno@clisp.org>
34941
34942         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
34943         rpl_close.
34944         (_gl_register_fd): New function, extracted from rpl_open.
34945         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
34946         (rpl_open, rpl_opendir): Use _gl_register_fd.
34947
34948 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
34949
34950         Fix organization of 'open' replacement.
34951         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
34952         (gl_FUNC_OPEN): Use it.
34953         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
34954
34955 2008-10-08  Bruno Haible  <bruno@clisp.org>
34956
34957         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
34958
34959 2008-10-08  Simon Josefsson  <simon@josefsson.org>
34960
34961         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
34962         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
34963         listen).
34964
34965 2008-10-08  Eric Blake  <ebb9@byu.net>
34966
34967         GNUmakefile: add 'make version' target
34968         * top/GNUmakefile (_curr-ver): Split version update rules...
34969         (version): ...into a target.
34970
34971 2008-10-07  Bruno Haible  <bruno@clisp.org>
34972
34973         Use a more portable replacement expression for -0.0L.
34974         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
34975         instead of -0.0L. Fix m4 quotation.
34976
34977         * tests/test-signbit.c: Include <float.h>.
34978         (minus_zero): New variable.
34979         (test_signbitl): Use minus_zero instead of -zero.
34980         * modules/signbit-tests (Depends-on): Add float.
34981
34982         * tests/test-ceill.c: Include <float.h>.
34983         (zero): Remove variable.
34984         (minus_zero): New variable.
34985         (main): Use minus_zero instead of -zero.
34986         * modules/ceill-tests (Depends-on): Add float.
34987
34988         * tests/test-floorl.c: Include <float.h>.
34989         (zero): Remove variable.
34990         (minus_zero): New variable.
34991         (main): Use minus_zero instead of -zero.
34992         * modules/floorl-tests (Depends-on): Add float.
34993
34994         * tests/test-roundl.c: Include <float.h>.
34995         (zero): Remove variable.
34996         (minus_zero): New variable.
34997         (main): Use minus_zero instead of -zero.
34998         * modules/roundl-tests (Depends-on): Add float.
34999
35000         * tests/test-truncl.c: Include <float.h>.
35001         (zero): Remove variable.
35002         (minus_zero): New variable.
35003         (main): Use minus_zero instead of -zero.
35004         * modules/truncl-tests (Depends-on): Add float.
35005
35006         * tests/test-frexpl.c (zero): Remove variable.
35007         (minus_zero): New variable.
35008         (main): Use minus_zero instead of -zero.
35009         * modules/frexpl-tests (Depends-on): Add float.
35010
35011         * tests/test-isnan.c (zerol): Remove variable.
35012         (minus_zerol): New variable.
35013         (test_long_double): Use minus_zerol instead of -zerol.
35014         * modules/isnan-tests (Depends-on): Add float.
35015
35016         * tests/test-isnanl.h (zero): Remove variable.
35017         (minus_zero): New variable.
35018         (main): Use minus_zero instead of -zero.
35019         * modules/isnanl-nolibm-tests (Depends-on): Add float.
35020         * modules/isnanl-tests (Depends-on): Add float.
35021
35022         * tests/test-ldexpl.c (zero): Remove variable.
35023         (minus_zero): New variable.
35024         (main): Use minus_zero instead of -zero.
35025         * modules/ldexpl-tests (Depends-on): Add float.
35026
35027         * tests/test-snprintf-posix.h (zerol): Remove variable.
35028         (minus_zerol): New variable.
35029         (test_function): Use minus_zerol instead of -zerol.
35030         * modules/snprintf-posix-tests (Depends-on): Add float.
35031         * modules/vsnprintf-posix-tests (Depends-on): Add float.
35032
35033         * tests/test-sprintf-posix.h (zerol): Remove variable.
35034         (minus_zerol): New variable.
35035         (test_function): Use minus_zerol instead of -zerol.
35036         * modules/sprintf-posix-tests (Depends-on): Add float.
35037         * modules/vsprintf-posix-tests (Depends-on): Add float.
35038
35039         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
35040         (minus_zerol): New variable.
35041         (test_function): Use minus_zerol instead of -zerol.
35042         * modules/vasnprintf-posix-tests (Depends-on): Add float.
35043
35044         * tests/test-vasprintf-posix.c (zerol): Remove variable.
35045         (minus_zerol): New variable.
35046         (test_function): Use minus_zerol instead of -zerol.
35047         * modules/vasprintf-posix-tests (Depends-on): Add float.
35048
35049 2008-10-07  Simon Josefsson  <simon@josefsson.org>
35050
35051         * MODULES.html.sh (Support for building documentation): Mention
35052         pmccabe2html.  Sort entries.
35053
35054         Add pmccabe2html module, from gnupdf.
35055         * build-aux/pmccabe.css: New file.
35056         * build-aux/pmccabe2html: New file.
35057         * m4/pmccabe2html.m4: New file.
35058         * modules/pmccabe2html: New file.
35059
35060 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
35061
35062         flock: new module
35063         * MODULES.html.sh: Add to list of modules.
35064         * lib/flock.c: flock implementation for Windows and Unix systems
35065         which have fcntl.
35066         * doc/glibc-functions/flock.texi: Update documentation.
35067         * lib/sys_file.in.h: <sys/file.h> header file.
35068         * m4/flock.m4: M4 macros.
35069         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
35070         * modules/flock: flock module.
35071         * modules/flock-tests: flock tests module.
35072         * modules/sys_file: sys/file.h module.
35073         * tests/test-flock.c: test suite for flock.
35074
35075 2008-10-06  Jim Meyering  <meyering@redhat.com>
35076
35077         bootstrap: check for LT_INIT more portably still ;-)
35078         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
35079         Spotted by Bruno Haible.
35080
35081 2008-10-06  Eric Blake  <ebb9@byu.net>
35082
35083         test-signbit: avoid tripping Irix cc bug on -0.0L
35084         * tests/test-signbit.c (minus_zerol): Delete, and replace with
35085         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
35086         entire testsuite consistent and avoids an Irix 6.2 bug.
35087
35088 2008-10-05  Bruno Haible  <bruno@clisp.org>
35089             Jim Meyering  <jim@meyering.net>
35090
35091         Add an option for ignoring EPIPE during close_stdout.
35092         * lib/closeout.h: Include <stdbool.h>.
35093         (close_stdout_set_ignore_EPIPE): New declaration.
35094         * lib/closeout.c: Include <stdbool.h>.
35095         (ignore_EPIPE): New variable.
35096         (close_stdout_set_ignore_EPIPE): New function.
35097         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
35098         * lib/close-stream.c (close_stream): Mention the possible EPIPE
35099         failure.
35100         * modules/closeout (Depends-on): Add stdbool.
35101
35102 2008-10-05  Bruno Haible  <bruno@clisp.org>
35103
35104         * modules/accept: New file.
35105         * modules/bind: New file.
35106         * modules/connect: New file.
35107         * modules/getpeername: New file.
35108         * modules/getsockname: New file.
35109         * modules/getsockopt: New file.
35110         * modules/listen: New file.
35111         * modules/recv: New file.
35112         * modules/recvfrom: New file.
35113         * modules/send: New file.
35114         * modules/sendto: New file.
35115         * modules/setsockopt: New file.
35116         * modules/socket: New file.
35117         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
35118         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
35119         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
35120         the particular module is requested. Add a link warning when the
35121         particular module is not requested.
35122         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
35123         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
35124         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
35125         the particular module is requested.
35126         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
35127         gl_SYS_SOCKET_H_DEFAULTS): New macros.
35128         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
35129         * modules/sys_socket (Depends-on): Add link-warning.
35130         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
35131         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
35132         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
35133         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
35134         GL_LINK_WARNING.
35135         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
35136         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
35137         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
35138         * doc/posix-functions/getpeername.texi: Mention the new module
35139         'getpeername'.
35140         * doc/posix-functions/getsockname.texi: Mention the new module
35141         'getsockname'.
35142         * doc/posix-functions/getsockopt.texi: Mention the new module
35143         'getsockopt'.
35144         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
35145         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
35146         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
35147         * doc/posix-functions/send.texi: Mention the new module 'send'.
35148         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
35149         * doc/posix-functions/setsockopt.texi: Mention the new module
35150         'setsockopt'.
35151         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
35152         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
35153         listen, connect, accept.
35154         * modules/select-tests (Depends-on): Likewise.
35155
35156 2008-10-05  Bruno Haible  <bruno@clisp.org>
35157
35158         * lib/winsock.c (strerror): Remove unused #undef.
35159         (rpl_close): Remove unused local variable.
35160
35161         * modules/sys_socket (Depends-on); Add errno.
35162
35163 2008-10-05  Bruno Haible  <bruno@clisp.org>
35164
35165         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
35166         (select): Add a link warning when the 'select' module is not used.
35167         * modules/sys_select (Depends-on): Add link-warning.
35168         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
35169         Suggested by Paolo Bonzini.
35170
35171 2008-10-05  Jim Meyering  <meyering@redhat.com>
35172
35173         bootstrap: check for LT_INIT more portably
35174         * build-aux/bootstrap: Avoid using grep -E, since it's not
35175         portable enough.  Suggestion from Bruno Haible.
35176
35177 2008-10-05  Bruno Haible  <bruno@clisp.org>
35178
35179         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
35180         as being fixed by gnulib.
35181
35182 2008-10-05  Bruno Haible  <bruno@clisp.org>
35183
35184         * modules/select-tests: New file, mostly copied from
35185         modules/sys_select-tests.
35186         * tests/test-select.c: New file, mostly copied from
35187         tests/test-sys_select.c.
35188         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
35189         * modules/sys_select-tests (Depends-on): Remove all dependencies.
35190         (Makefile.am): Remove test_sys_select_LDADD.
35191
35192         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
35193         to an undefined symbol, for an error message.
35194         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
35195         (gl_SYS_SELECT_H_DEFAULTS): New macro.
35196         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
35197         winsock-select.c here.
35198         * modules/sys_select (Files): Remove lib/winsock-select.c.
35199         (Depends-on): Remove alloca.
35200         (Makefile.am): Substitute GNULIB_SELECT.
35201         * modules/select: New file.
35202         * doc/posix-functions/select.texi: Update.
35203
35204 2008-10-05  Bruno Haible  <bruno@clisp.org>
35205
35206         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
35207         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
35208         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
35209         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
35210         getdtablesize.
35211         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
35212         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
35213
35214 2008-10-05  Bruno Haible  <bruno@clisp.org>
35215
35216         * modules/getdtablesize-tests: New file.
35217         * tests/test-getdtablesize.c: New file.
35218
35219         New module 'getdtablesize'.
35220         * lib/unistd.in.h (getdtablesize): New declaration.
35221         * lib/getdtablesize.c: New file.
35222         * m4/getdtablesize.m4: New file.
35223         * modules/getdtablesize: New file.
35224         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35225         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
35226         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
35227         HAVE_GETDTABLESIZE.
35228         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
35229
35230 2008-10-05  Bruno Haible  <bruno@clisp.org>
35231
35232         * modules/sched (Makefile.am): Fix typo.
35233         Reported by Simon Josefsson.
35234
35235 2008-10-05  Jim Meyering  <meyering@redhat.com>
35236
35237         bootstrap: check for LT_INIT, too
35238         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
35239         are deprecated.  Suggestion from Ralf Wildenhues.
35240
35241 2008-10-05  Bruno Haible  <bruno@clisp.org>
35242
35243         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
35244         overriding them by ours.
35245         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
35246
35247 2008-10-05  Jim Meyering  <meyering@redhat.com>
35248
35249         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
35250         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
35251         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
35252
35253 2008-10-04  Bruno Haible  <bruno@clisp.org>
35254
35255         * modules/dup2 (License): Change to LGPLv2+.
35256         * modules/sleep (License): Likewise.
35257         * modules/perror (License): Likewise.
35258         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
35259         Blake.
35260         * modules/signal (License): Likewise.
35261         * modules/sigprocmask (License): Likewise.
35262         * modules/raise (License): Change to LGPLv2+, with approval by Jim
35263         Meyering.
35264
35265 2008-10-04  Bruno Haible  <bruno@clisp.org>
35266
35267         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
35268         Reported by Rainer Tammer <tammer@tammer.net>.
35269
35270 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
35271             Bruno Haible  <bruno@clisp.org>
35272
35273         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
35274         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
35275         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
35276
35277 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
35278
35279         filevercmp: new module
35280         * lib/filevercmp.h: New function filevercmp comparing version strings.
35281         * lib/filevercmp.c: Implementation of filevercmp function.
35282         * modules/filevercmp: Module metadata.
35283         * tests/test-filevercmp.c: Unit test for new module.
35284         * modules/filevercmp-tests: Unit test metadata.
35285         * MODULES.html.sh: Add filevercmp module.
35286
35287 2008-10-03  Bruno Haible  <bruno@clisp.org>
35288
35289         * lib/c-ctype.h: Add comment.
35290         Reported by Jim Meyering.
35291
35292 2008-10-02  Bruno Haible  <bruno@clisp.org>
35293
35294         * modules/posix_spawn-internal (Depends-on): Add 'open'.
35295
35296 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35297
35298         * build-aux/bootstrap: Allow renaming bootstrap, and change the
35299         name of bootstrap.conf accordingly.
35300
35301 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35302
35303         * build-aux/bootstrap: Install git-merge-changelog configuration
35304         items into .gitconfig if needed.
35305
35306 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
35307
35308         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
35309         git repository, and initialize/update it accordingly.
35310
35311 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
35312
35313         * modules/fsync-tests: New file.
35314         * tests/test-fsync.c: New file.
35315
35316         New module 'fsync'.
35317         * lib/fsync.c: New file.
35318         * m4/fsync.m4: New file.
35319         * modules/fsync: New file.
35320         * lib/unistd.in.h (fsync): New declaration.
35321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
35322         GNULIB_FSYNC and HAVE_FSYNC.
35323         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
35324         * MODULES.html.sh (posix_functions): Add fsync.
35325         * doc/posix-functions/fsync.texi: Mention the new module.
35326
35327 2008-10-02  Jim Meyering  <meyering@redhat.com>
35328
35329         fts.c: sync with similar code from coreutils' remove.c
35330         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
35331         Guard also with "#if defined __linux__", since for now at least,
35332         this code is Linux-kernel-specific.
35333
35334 2008-10-02  Jim Meyering  <meyering@redhat.com>
35335
35336         fts: bug fixes
35337         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
35338         Include <sys/vfs.h>, not <sys/statfs.h>.
35339
35340         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
35341         Include <sys/vfs.h>, not <sys/statfs.h>.
35342
35343 2008-10-01  Bruno Haible  <bruno@clisp.org>
35344
35345         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
35346         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
35347         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
35348         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
35349         * doc/posix-functions/posix_spawnp.texi: Likewise.
35350         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
35351         whether posix_spawn actually works.
35352         * m4/pipe.m4 (gl_PIPE): Likewise.
35353         * modules/execute (Files): Add m4/posix_spawn.m4.
35354         * modules/pipe (Files): Add m4/posix_spawn.m4.
35355         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
35356
35357 2008-10-01  Jim Meyering  <meyering@redhat.com>
35358
35359         remove trailing spaces
35360         * NEWS: Likewise.
35361         * lib/poll.c (poll): Likewise.
35362         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
35363         * lib/winsock.c (rpl_close): Likewise.
35364         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
35365         * modules/yield: Likewise.
35366         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
35367         * tests/test-sys_select.c (connect_to_socket): Likewise.
35368
35369         fts.c: adjust a new interface to be more generally useful
35370         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
35371         (fts_build): Adjust caller.
35372
35373 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35374
35375         * modules/cond-tests: New file.
35376         * tests/test-cond.c: New file.
35377
35378 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35379             Bruno Haible  <bruno@clisp.org>
35380
35381         * modules/cond (Dependencies): Add errno, time.
35382         * lib/glthread/cond.h: Include <time.h>.
35383         (gl_cond_define, gl_cond_define_initialized): Use the same definition
35384         across platforms.
35385
35386 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35387             Bruno Haible  <bruno@clisp.org>
35388
35389         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
35390
35391 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35392             Bruno Haible  <bruno@clisp.org>
35393
35394         * modules/tls-tests (Depends-on): Add thread, yield.
35395         (configure.ac): Remove all checks.
35396         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
35397         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35398         gl_thread_self): Remove definitions. Include glthread/thread.h and
35399         glthread/yield.h instead.
35400         (test_tls): Pass an additional NULL argument to gl_thread_join.
35401
35402 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35403             Bruno Haible  <bruno@clisp.org>
35404
35405         * modules/lock-tests (Depends-on): Add thread, yield.
35406         (configure.ac): Remove all checks.
35407         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
35408         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
35409         gl_thread_self): Remove definitions. Include glthread/thread.h and
35410         glthread/yield.h instead.
35411         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
35412         additional NULL argument to gl_thread_join.
35413
35414 2008-09-30  Bruno Haible  <bruno@clisp.org>
35415
35416         Fix the Win32 implementation of the 'thread' module.
35417         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
35418         pointer type.
35419         (gl_thread_self): Invoke gl_thread_self_func.
35420         (gl_thread_self_func): New declaration.
35421         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
35422         (do_init_self_key, init_self_key): New functions.
35423         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
35424         Remove some fields.
35425         (running_threads, running_lock): Remove variables.
35426         (get_current_thread_handle): New function.
35427         (gl_thread_self_func, wrapper_func, glthread_create_func,
35428         glthread_join_func, gl_thread_exit_func): Largely rewritten and
35429         simplified.
35430
35431 2008-09-30  Bruno Haible  <bruno@clisp.org>
35432
35433         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
35434         files.
35435
35436 2008-09-30  Jim Meyering  <meyering@redhat.com>
35437
35438         fts.m4: correct the test for statfs.f_type
35439         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
35440         when checking for statfs.f_type.
35441
35442 2008-09-15  Simon Josefsson  <simon@josefsson.org>
35443
35444         tests: avoid some compiler warnings
35445         * tests/test-memchr.c (main): Pass NULL indirectly.
35446         * tests/test-getdate.c (main): Remove unused variable 'ret'.
35447
35448 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
35449
35450         getdate.y: disallow countable dayshifts like "4 yesterday ago"
35451         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
35452         exactly specified dayshifts.
35453         (dayshift): New rule.
35454         (rel): Add dayshift.
35455         (relative_time_table) [tomorrow, yesterday, today, now]:
35456         Use tDAY_SHIFT in place of tDAY_UNIT.
35457         * tests/test-getdate.c: Add tests for now-disallowed countable
35458         dayshifts, e.g., "4 yesterday ago".
35459
35460 2008-09-29  Bruno Haible  <bruno@clisp.org>
35461
35462         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
35463         * tests/test-posix_spawn1.in.sh: Renamed from
35464         tests/test-posix_spawn.in.sh.
35465         * tests/test-posix_spawn2.c: New file.
35466         * tests/test-posix_spawn2.in.sh: New file.
35467         * modules/posix_spawnp-tests (Files): Update.
35468         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
35469
35470 2008-09-29  Bruno Haible  <bruno@clisp.org>
35471
35472         Propagate effects of putenv/setenv/unsetenv to child processes.
35473         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
35474         * lib/pipe.c (create_pipe): Likewise.
35475
35476 2008-09-29  Bruno Haible  <bruno@clisp.org>
35477
35478         Enable use of shell scripts as executables in mingw.
35479         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
35480         run the program as a shell script.
35481         * lib/pipe.c (create_pipe): Likewise.
35482         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
35483         resulting array.
35484
35485 2008-09-29  Eric Blake  <ebb9@byu.net>
35486
35487         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
35488
35489 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
35490
35491         * doc/posix-functions/accept.texi: Update mingw problems.
35492         * doc/posix-functions/bind.texi: Update mingw problems.
35493         * doc/posix-functions/close.texi: Update mingw problems.
35494         * doc/posix-functions/connect.texi: Update mingw problems.
35495         * doc/posix-functions/getpeername.texi: Update mingw problems.
35496         * doc/posix-functions/getsockname.texi: Update mingw problems.
35497         * doc/posix-functions/getsockopt.texi: Update mingw problems.
35498         * doc/posix-functions/ioctl.texi: Update mingw problems.
35499         * doc/posix-functions/listen.texi: Update mingw problems.
35500         * doc/posix-functions/recv.texi: Update mingw problems.
35501         * doc/posix-functions/recvfrom.texi: Update mingw problems.
35502         * doc/posix-functions/select.texi: Update mingw problems.
35503         * doc/posix-functions/send.texi: Update mingw problems.
35504         * doc/posix-functions/sendto.texi: Update mingw problems.
35505         * doc/posix-functions/setsockopt.texi: Update mingw problems.
35506         * doc/posix-functions/socket.texi: Update mingw problems.
35507
35508 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
35509             Bruno Haible  <bruno@clisp.org>
35510
35511         * lib/sys_select.in.h: Include sys/time.h.
35512         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
35513         * modules/sys_select: Depend on sys_time.
35514         * tests/test-sys_select.c: Test that sys/select.h defines struct
35515         timeval fully.
35516
35517 2008-09-29  Bruno Haible  <bruno@clisp.org>
35518
35519         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
35520         * lib/sys_select.in.h: Likewise.
35521
35522 2008-09-29  Bruno Haible  <bruno@clisp.org>
35523
35524         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
35525
35526 2008-09-29  Bruno Haible  <bruno@clisp.org>
35527
35528         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
35529         Set LIBSOCKET instead of augmenting LIBS.
35530         * modules/sockets (Link): New section.
35531         * modules/sockets-tests (test_sockets_LDADD): New variable.
35532         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
35533         * modules/poll-tests (test_poll_LDADD): New variable.
35534         * NEWS: Document the change.
35535
35536 2008-09-29  Bruno Haible  <bruno@clisp.org>
35537
35538         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
35539         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
35540         ARPA_INET_H directly.
35541         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
35542
35543 2008-09-28  Bruno Haible  <bruno@clisp.org>
35544
35545         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
35546         from gl_HEADER_SYS_SOCKET.
35547         (gl_HEADER_SYS_SOCKET): Invoke it.
35548         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35549
35550 2008-09-28  Bruno Haible  <bruno@clisp.org>
35551
35552         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
35553         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
35554         Needed on OSF/1 4.0.
35555
35556 2008-09-28  Bruno Haible  <bruno@clisp.org>
35557
35558         Override open more carefully.
35559         * lib/open.c (orig_open): New function.
35560         (rpl_open): Use orig_open instead of open.
35561         * lib/fcntl.in.h: Add special invocation convention.
35562         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
35563         (gl_FUNC_OPEN): Invoke it.
35564
35565         Override freopen more carefully.
35566         * lib/freopen.c (orig_freopen): New function.
35567         (rpl_freopen): Use orig_freopen instead of freopen.
35568         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
35569         (gl_FUNC_FREOPEN): Invoke it.
35570
35571         Override fopen more carefully.
35572         * lib/fopen.c (orig_fopen): New function.
35573         (rpl_fopen): Use orig_fopen instead of fopen.
35574         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
35575         (gl_FUNC_FOPEN): Invoke it.
35576         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
35577
35578 2008-09-28  Bruno Haible  <bruno@clisp.org>
35579
35580         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
35581         SIGPIPE.
35582
35583 2008-09-28  Bruno Haible  <bruno@clisp.org>
35584
35585         * tests/test-sigaction.c (handler, main): Disable the check whether
35586         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
35587         glibc systems with LinuxThreads.
35588
35589 2008-09-28  Bruno Haible  <bruno@clisp.org>
35590
35591         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
35592
35593         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
35594         with AIX xlc.
35595         * lib/fcntl.in.h (open): Likewise.
35596         Reported by Rainer Tammer <tammer@tammer.net>.
35597
35598 2008-09-28  Bruno Haible  <bruno@clisp.org>
35599
35600         * modules/posix_spawnp-tests: New file.
35601         * tests/test-posix_spawn.c: New file.
35602         * tests/test-posix_spawn.in.sh: New file.
35603
35604         New module 'posix_spawnp'.
35605         * modules/posix_spawnp: New file.
35606         * lib/spawnp.c: New file, from GNU libc with modifications.
35607         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
35608
35609         New module 'posix_spawn'.
35610         * modules/posix_spawn: New file.
35611         * lib/spawn.c: New file, from GNU libc with modifications.
35612         * doc/posix-functions/posix_spawn.texi: Mention the new module.
35613
35614         New module 'posix_spawnattr_destroy'.
35615         * modules/posix_spawnattr_destroy: New file.
35616         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
35617         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
35618         module.
35619
35620         New module 'posix_spawnattr_setsigmask'.
35621         * modules/posix_spawnattr_setsigmask: New file.
35622         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
35623         modifications.
35624         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
35625         new module.
35626
35627         New module 'posix_spawnattr_getsigmask'.
35628         * modules/posix_spawnattr_getsigmask: New file.
35629         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
35630         modifications.
35631         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
35632         new module.
35633
35634         New module 'posix_spawnattr_setsigdefault'.
35635         * modules/posix_spawnattr_setsigdefault: New file.
35636         * lib/spawnattr_setdefault.c: New file, from GNU libc with
35637         modifications.
35638         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
35639         new module.
35640
35641         New module 'posix_spawnattr_getsigdefault'.
35642         * modules/posix_spawnattr_getsigdefault: New file.
35643         * lib/spawnattr_getdefault.c: New file, from GNU libc with
35644         modifications.
35645         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
35646         new module.
35647
35648         New module 'posix_spawnattr_setschedpolicy'.
35649         * modules/posix_spawnattr_setschedpolicy: New file.
35650         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
35651         modifications.
35652         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
35653         new module.
35654
35655         New module 'posix_spawnattr_getschedpolicy'.
35656         * modules/posix_spawnattr_getschedpolicy: New file.
35657         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
35658         modifications.
35659         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
35660         new module.
35661
35662         New module 'posix_spawnattr_setschedparam'.
35663         * modules/posix_spawnattr_setschedparam: New file.
35664         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
35665         modifications.
35666         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
35667         new module.
35668
35669         New module 'posix_spawnattr_getschedparam'.
35670         * modules/posix_spawnattr_getschedparam: New file.
35671         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
35672         modifications.
35673         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
35674         new module.
35675
35676         New module 'posix_spawnattr_setpgroup'.
35677         * modules/posix_spawnattr_setpgroup: New file.
35678         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
35679         modifications.
35680         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
35681         module.
35682
35683         New module 'posix_spawnattr_getpgroup'.
35684         * modules/posix_spawnattr_getpgroup: New file.
35685         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
35686         modifications.
35687         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
35688         module.
35689
35690         New module 'posix_spawnattr_setflags'.
35691         * modules/posix_spawnattr_setflags: New file.
35692         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
35693         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
35694         module.
35695
35696         New module 'posix_spawnattr_getflags'.
35697         * modules/posix_spawnattr_getflags: New file.
35698         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
35699         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
35700         module.
35701
35702         New module 'posix_spawnattr_init'.
35703         * modules/posix_spawnattr_init: New file.
35704         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
35705         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
35706         module.
35707
35708         New module 'posix_spawn_file_actions_destroy'.
35709         * modules/posix_spawn_file_actions_destroy: New file.
35710         * lib/spawn_faction_destroy.c: New file, from GNU libc with
35711         modifications.
35712         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
35713         the new module.
35714
35715         New module 'posix_spawn_file_actions_addopen'.
35716         * modules/posix_spawn_file_actions_addopen: New file.
35717         * lib/spawn_faction_addopen.c: New file, from GNU libc with
35718         modifications.
35719         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
35720         the new module.
35721
35722         New module 'posix_spawn_file_actions_adddup2'.
35723         * modules/posix_spawn_file_actions_adddup2: New file.
35724         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
35725         modifications.
35726         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
35727         the new module.
35728
35729         New module 'posix_spawn_file_actions_addclose'.
35730         * modules/posix_spawn_file_actions_addclose: New file.
35731         * lib/spawn_faction_addclose.c: New file, from GNU libc with
35732         modifications.
35733         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
35734         the new module.
35735
35736         New module 'posix_spawn_file_actions_init'.
35737         * modules/posix_spawn_file_actions_init: New file.
35738         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
35739         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
35740         new module.
35741
35742         New module 'posix_spawn-internal'.
35743         * modules/posix_spawn-internal: New file.
35744         * lib/spawn_int.h: New file, from GNU libc with modifications.
35745         * lib/spawni.c: New file, from GNU libc with modifications.
35746         * m4/posix_spawn.m4: New file.
35747
35748         New module 'spawn'.
35749         * modules/spawn: New file.
35750         * lib/spawn.in.h: New file, from GNU libc with modifications.
35751         * m4/spawn_h.m4: New file.
35752         * doc/posix-headers/spawn.texi: Mention the new module.
35753
35754 2008-09-28  Bruno Haible  <bruno@clisp.org>
35755
35756         * modules/sched-tests: New file.
35757         * tests/test-sched.c: New file.
35758
35759         New module 'sched'.
35760         * modules/sched: New file.
35761         * lib/sched.in.h: New file.
35762         * m4/sched_h.m4: New file.
35763         * doc/posix-headers/sched.texi: Mention the new module.
35764
35765 2008-09-27  Eric Blake  <ebb9@byu.net>
35766
35767         Fix previous patch, and tweak references to $0.
35768         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
35769         (func_version, func_gnulib_dir): Don't call this program
35770         gnulib-tool.
35771         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
35772         with using $0 in function.
35773         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
35774         (func_fatal_error): Reuse the name the user invoked us with.
35775
35776 2008-09-27  Bruno Haible  <bruno@clisp.org>
35777
35778         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
35779         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
35780         (gl_ICONV_H): Not here.
35781         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
35782         instead of assigning ICONV_H directly.
35783
35784         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
35785         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
35786         WCHAR_H directly.
35787
35788 2008-09-27  Bruno Haible  <bruno@clisp.org>
35789
35790         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
35791         * modules/arpa_inet (Depends-on): Add link-warning.
35792         (Makefile.am): Insert the definition of GL_LINK-WARNING.
35793         * modules/unistd (Makefile.am): Likewise.
35794
35795 2008-09-26  Bruno Haible  <bruno@clisp.org>
35796
35797         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
35798         variables.
35799         (func_version): Essentially copied from gnulib-tool.
35800         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
35801         func_readlink): Copied from gnulib-tool.
35802
35803 2008-09-26  Bruno Haible  <bruno@clisp.org>
35804
35805         * gnulib-tool (func_version): Change directory to $gnulib_dir before
35806         invoking git-version-gen.
35807
35808 2008-09-26  Bruno Haible  <bruno@clisp.org>
35809
35810         * posix-modules: Update to directory names changed on 2008-01-19.
35811         Remove commas in output before splitting into words. No more need to
35812         avoid 'ftruncate' since 2007-02-19.
35813
35814 2008-09-26  Bruno Haible  <bruno@clisp.org>
35815
35816         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
35817
35818 2008-09-26  Bruno Haible  <bruno@clisp.org>
35819
35820         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
35821         * modules/fwriteerror (Depends-on): Add errno.
35822
35823 2008-09-26  Bruno Haible  <bruno@clisp.org>
35824
35825         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
35826         * tests/test-vc-list-files-cvs.sh: Likewise.
35827
35828 2008-09-26  Bruno Haible  <bruno@clisp.org>
35829
35830         * doc/posix-headers/sys_resource.texi: Reorder items.
35831
35832 2008-09-26  Jim Meyering  <meyering@redhat.com>
35833
35834         fts: tweak inode comparison function
35835         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
35836         inode numbers, as documented.
35837
35838         fts: sort dirent entries on inode number before traversing
35839         This avoids a quadratic, seek-related performance penalty when
35840         operating on a directory containing many entries (measurable at 10k;
35841         3.5 hours at 2 million entries with a cold cache) on certain types
35842         of file systems, including ext3 and ext4, but not tmpfs.
35843         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
35844         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
35845         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
35846         (fs_handles_readdir_ordered_dirents_efficiently): New function.
35847         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
35848         (fts_build): Set the stat.st_ino member from D_INO.
35849         If it is likely to be useful, sort dirent entries on inode number.
35850
35851         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
35852         and the struct statfs.f_type member.
35853         * modules/fts (Depends-on): Add d-ino.
35854
35855 2008-09-26  Bruno Haible  <bruno@clisp.org>
35856
35857         * modules/sigpipe-die (Depends-on): Add sigpipe.
35858
35859         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
35860         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
35861         and GNULIB_STDIO_H_SIGPIPE are set.
35862         * lib/stdio-write.c: New file.
35863         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
35864         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35865         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35866         REPLACE_STDIO_WRITE_FUNCS.
35867         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
35868         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35869         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35870         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35871         * modules/stdio (Files): Add lib/stdio-write.c.
35872         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
35873         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
35874         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
35875         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
35876         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
35877         REPLACE_FPRINTF_POSIX.
35878         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
35879         REPLACE_PRINTF_POSIX.
35880         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
35881         REPLACE_VFPRINTF_POSIX.
35882         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
35883         REPLACE_VPRINTF_POSIX.
35884         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
35885         SIGPIPE issue.
35886         * doc/posix-functions/fputc.texi: Likewise.
35887         * doc/posix-functions/fputs.texi: Likewise.
35888         * doc/posix-functions/fwrite.texi: Likewise.
35889         * doc/posix-functions/printf.texi: Likewise.
35890         * doc/posix-functions/putc.texi: Likewise.
35891         * doc/posix-functions/putchar.texi: Likewise.
35892         * doc/posix-functions/puts.texi: Likewise.
35893         * doc/posix-functions/vfprintf.texi: Likewise.
35894         * doc/posix-functions/vprintf.texi: Likewise.
35895
35896         * modules/safe-write (Depends-on): Add write.
35897
35898         * modules/sigpipe-tests: New file.
35899         * tests/test-sigpipe.c: New file.
35900         * tests/test-sigpipe.sh: New file.
35901
35902         * modules/write: New file.
35903         * lib/unistd.in.h: Include <sys/types.h>.
35904         (write): New declaration.
35905         * lib/write.c: New file.
35906         * m4/write.m4: New file.
35907         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35908         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
35909         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
35910         GNULIB_WRITE, REPLACE_WRITE.
35911         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
35912         and the SIGPIPE issue.
35913
35914         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
35915         (raise): New declaration.
35916         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
35917         (ext_signal): New function.
35918         (rpl_raise): New function.
35919         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
35920         GNULIB_SIGNAL_H_SIGPIPE.
35921         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
35922         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
35923
35924         * modules/sigpipe: New file.
35925         * m4/sigpipe.m4: New file.
35926
35927 2008-09-25  Derek Price  <derek@ximbiot.com>
35928             Bruno Haible  <bruno@clisp.org>
35929
35930         * gnulib-tool (func_import): Report all license incompatibilities, not
35931         just the first one.
35932
35933 2008-09-25  Bruno Haible  <bruno@clisp.org>
35934
35935         * gnulib-tool (func_import): When computing the edits, consider not
35936         only the Makefile.ams that exist but also those that will be generated.
35937
35938 2008-09-25  Simon Josefsson  <simon@josefsson.org>
35939
35940         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
35941         fixes gnulib-tool --test warning about duplicate dependency.
35942
35943 2008-09-25  Bruno Haible  <bruno@clisp.org>
35944
35945         * gnulib-tool: Don't ask the user to perform edits in the generated
35946         Makefile.ams.
35947         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
35948         apply to the Makefile.am being generated.
35949         (func_emit_tests_Makefile_am): Execute edits that apply to the
35950         Makefile.am being generated.
35951         (func_import): Setup list of Makefile.am edits before emitting the
35952         Makefile.ams, not at the end.
35953         (func_create_testdir): Update.
35954         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35955
35956 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
35957
35958         * gnulib-tool (func_import): Store the --tests-base option in the
35959         comment in gnulib-cache.m4.
35960
35961 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
35962
35963         * NEWS: Document increased portability that sys_select now provides.
35964
35965         * lib/sys_select.in.h: Install select wrapper.
35966         * lib/sys_socket.in.h: Use more descriptive name when there is no
35967         select wrapper.
35968         * lib/winsock-select.c: New.
35969         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
35970         Require gl_HEADER_SYS_SOCKET.
35971         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
35972         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
35973         * tests/test-sys_select.c: Add functional tests.
35974
35975 2008-09-24  Eric Blake  <ebb9@byu.net>
35976
35977         open, fopen: close fd leak in last patch
35978         * lib/open.c (rpl_open): Close fd before returning error.
35979         * lib/fopen.c (rpl_fopen): Close fd before returning error.
35980         * doc/posix-functions/open.texi (open): Document that Irix also
35981         has the bug.
35982         * doc/posix-functions/fopen.texi (fopen): Likewise.
35983         Reported by Paolo Bonzini.
35984
35985 2008-09-24  Bruno Haible  <bruno@clisp.org>
35986
35987         Ensure that a filename ending in a slash cannot be used to access a
35988         non-directory.
35989         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
35990         to check whether it's really a directory.
35991         * lib/fopen.c: Include fcntl.h, unistd.h.
35992         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
35993         and fdopen().
35994         * modules/fopen (Depends-on): Add unistd.
35995         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
35996         * tests/test-fopen.c (main): Likewise.
35997         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
35998         * doc/posix-functions/fopen.texi: Likewise.
35999         Reported by Eric Blake.
36000
36001 2008-09-23  Eric Blake  <ebb9@byu.net>
36002
36003         c-stack: avoid compiler optimizations when provoking overflow
36004         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
36005         recursion harder to optimize, to ensure a stack overflow occurs.
36006         * tests/test-c-stack.c (recurse): Likewise.
36007         Borrowed from libsigsegv.
36008
36009         c-stack: work around Irix sigaltstack bug
36010         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
36011         whether sigaltstack uses wrong end of stack_t (copied in part from
36012         libsigsegv).
36013         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
36014         Irix bug, without requiring an over-allocation.
36015         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
36016         bug.
36017
36018         fopen: document mingw bug on directories
36019         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
36020         not allowing a stream visiting a directory, even though reading
36021         from such a stream is not portable.
36022
36023 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36024
36025         * lib/poll.c: Rewrite.
36026         * modules/poll: Depend on alloca.
36027
36028 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36029
36030         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
36031         instead define prototypes for a full set of wrappers.  Ensure
36032         that Cygwin does not use the compatibility code, which is only
36033         for MinGW.
36034         * lib/winsock.c: New.
36035         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
36036         * modules/sys_socket: Add lib/winsock.c.
36037
36038         * modules/poll-tests: Add errno and perror.
36039         * tests/test-poll.c: Use ioctl, not ioctlsocket.
36040
36041 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36042
36043         * tests/test-poll.c: Downgrade minimum needed Winsock version.
36044
36045 2008-09-23  Bruno Haible  <bruno@clisp.org>
36046
36047         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
36048         * doc/glibc-functions/*: Likewise.
36049
36050 2008-09-23  Simon Josefsson  <simon@josefsson.org>
36051
36052         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
36053         success.
36054
36055 2008-09-22  Eric Blake  <ebb9@byu.net>
36056             Bruno Haible  <bruno@clisp.org>
36057
36058         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
36059         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
36060         supply %A but mishandle pseudo-NaN.
36061         Reported by Simon Josefsson.
36062
36063 2008-09-21  Bruno Haible  <bruno@clisp.org>
36064
36065         * tests/test-lock.c (main): Tweak skip message.
36066         * tests/test-tls.c (main): Likewise.
36067
36068 2008-09-21  Bruno Haible  <bruno@clisp.org>
36069
36070         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
36071         whether 'struct sigaction' has sa_sigaction here...
36072         (gl_PREREQ_SIG_HANDLER_H): ... not here.
36073         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
36074
36075 2008-09-21  Bruno Haible  <bruno@clisp.org>
36076
36077         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
36078         section.
36079         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
36080         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
36081         the new section.
36082         (Support for obsolete systems lacking POSIX:2001): New section.
36083         (String handling <string.h>): Move strdup to the new section.
36084         Suggested by Simon Josefsson and Paolo Bonzini.
36085
36086 2008-09-21  Bruno Haible  <bruno@clisp.org>
36087
36088         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
36089         exponents in %e and %g results on 'long double'. Needed for mingw's
36090         improved *printf functions.
36091         * tests/test-vasprintf-posix.c (test_function): Likewise.
36092         * tests/test-snprintf-posix.h (test_function): Likewise.
36093         * tests/test-sprintf-posix.h (test_function): Likewise.
36094         Reported by Eric Blake.
36095
36096 2008-09-21  Bruno Haible  <bruno@clisp.org>
36097
36098         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
36099         * tests/test-sprintf-posix.h (test_function): Likewise.
36100
36101 2008-09-21  Bruno Haible  <bruno@clisp.org>
36102
36103         * modules/getpass (Depends-on): Add strdup-posix.
36104
36105         New module 'strdup-posix'.
36106         * modules/strdup-posix: New file.
36107         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
36108         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
36109         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36110         REPLACE_STRDUP.
36111         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
36112         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
36113         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
36114         strdup-posix.
36115
36116         * modules/strdup (Depends-on): Remove malloc-posix.
36117
36118 2008-09-20  Bruno Haible  <bruno@clisp.org>
36119
36120         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
36121         Wildenhues.
36122
36123 2008-09-20  Bruno Haible  <bruno@clisp.org>
36124
36125         Ensure that wint_t gets defined on IRIX 5.3.
36126         * lib/wchar.in.h (wint_t): Define if not defined by the system.
36127         * lib/wctype.in.h (wint_t): Likewise.
36128         (__wctype_wint_t): Remove type.
36129         (isw*): Use wint_t instead of __wctype_wint_t.
36130         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
36131         * modules/wchar (Files): Add m4/wint_t.m4.
36132         (Makefile.am): Substitute HAVE_WINT_T.
36133         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
36134         * tests/test-wctype.c: Check that wint_t is defined.
36135         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
36136         * doc/posix-headers/wctype.texi: Likewise.
36137         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
36138
36139 2008-09-18  Bruno Haible  <bruno@clisp.org>
36140
36141         * gnulib-tool (func_exit): Update comment.
36142
36143 2008-09-18  Simon Josefsson  <simon@josefsson.org>
36144
36145         * modules/getaddrinfo (Depends-on): Remove strdup, this module
36146         assumes strdup exists and does not depend on strdup to return
36147         ENOMEM on out of memory conditions.
36148
36149 2008-09-18  Bruno Haible  <bruno@clisp.org>
36150
36151         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
36152         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
36153         digits for the exponent.
36154
36155 2008-09-18  Jim Meyering  <meyering@redhat.com>
36156             Bruno Haible  <bruno@clisp.org>
36157
36158         * lib/vasnprintf.c (decimal_point_char): Define also if
36159         NEED_PRINTF_INFINITE_LONG_DOUBLE.
36160
36161 2008-09-16  Bruno Haible  <bruno@clisp.org>
36162         and Eric Blake  <ebb9@byu.net>
36163
36164         vasnprintf: support Irix 5.3
36165         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
36166         that mishandle long double infinity.
36167         Reported by Tom G. Christensen.
36168
36169 2008-09-16  Bruno Haible  <bruno@clisp.org>
36170
36171         * doc/glibc-functions/scandir.texi: Mention the function is missing on
36172         Solaris 9.
36173         * doc/glibc-functions/alphasort.texi: Likewise.
36174         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
36175
36176 2008-09-16  Jim Meyering  <meyering@redhat.com>
36177
36178         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
36179         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
36180         a umask modification leak out of a subshell.  Otherwise, the
36181         opensolaris /bin/sh would be accepted and thus cause unwarranted
36182         failures in the coreutils test suite.
36183
36184 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
36185
36186         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
36187         to succeed.
36188
36189 2008-09-16  Jim Meyering  <meyering@redhat.com>
36190
36191         avoid spurious test failure when library is built without ACL support
36192         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
36193         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
36194         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
36195         * tests/test-copy-acl.sh: Likewise.
36196
36197 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36198
36199         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
36200         based on character occurrence counts.
36201
36202 2008-09-15  Eric Blake  <ebb9@byu.net>
36203
36204         tests: avoid some compiler warnings
36205         * tests/test-memchr.c (main): Pass NULL indirectly.
36206         * tests/test-closein.c (main): Avoid unused variable.
36207
36208 2008-09-15  Bruno Haible  <bruno@clisp.org>
36209
36210         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
36211         are missing on OpenBSD 4.0 individually.
36212         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36213
36214 2008-09-15  Bruno Haible  <bruno@clisp.org>
36215
36216         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
36217         * doc/posix-functions/strerror.texi: Mention also Cygwin.
36218         * doc/posix-functions/perror.texi: Likewise.
36219         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
36220         is missing.
36221         Reported by Eric Blake.
36222
36223         * lib/errno.in.h: Use replacement values >= 2000.
36224         Reported by Eric Blake.
36225
36226 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36227
36228         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
36229         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
36230         limit.
36231         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
36232         compareseq was aborted.
36233
36234 2008-09-14  Bruno Haible  <bruno@clisp.org>
36235
36236         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
36237         yvec_edit_count.
36238         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
36239         (fstrcmp_bounded): Simplify result computation accordingly.
36240
36241 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36242
36243         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
36244         (fstrcmp): Define in terms of fstrcmp_bounded.
36245         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
36246         lower_bound argument.
36247         Return quickly if the result is certainly < lower_bound.
36248         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
36249
36250 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36251
36252         * lib/diffseq.h (EARLY_ABORT): New macro.
36253         (compareseq): Change return type to bool. Return true when EARLY_ABORT
36254         evaluates to true.
36255
36256 2008-09-14  Bruno Haible  <bruno@clisp.org>
36257
36258         * modules/perror-tests: New file.
36259         * tests/test-perror.sh: New file.
36260         * tests/test-perror.c: New file.
36261
36262         New module 'perror'.
36263         * lib/stdio.in.h (perror): New declaration.
36264         * lib/perror.c: New file.
36265         * m4/perror.m4: New file.
36266         * modules/perror: New file.
36267         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
36268         * doc/posix-functions/perror.texi: Mention the perror module.
36269         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
36270         REPLACE_PERROR.
36271         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
36272         REPLACE_PERROR.
36273
36274 2008-09-14  Bruno Haible  <bruno@clisp.org>
36275
36276         * modules/stdio (Makefile.am): Reorder to match the order in
36277         lib/stdio.in.h.
36278         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
36279
36280 2008-09-13  Bruno Haible  <bruno@clisp.org>
36281
36282         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
36283
36284 2008-09-13  Bruno Haible  <bruno@clisp.org>
36285
36286         Extend strerror to cover the added errno values.
36287         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
36288         (rpl_strerror): Provide error messages for the added errno values and
36289         for the WSA* values.
36290         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
36291         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
36292         strerror.
36293         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
36294         * modules/strerror (Depends-on): Add errno.
36295         * doc/posix-functions/strerror.texi: Document the change.
36296         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
36297         and EOVERFLOW.
36298
36299 2008-09-13  Bruno Haible  <bruno@clisp.org>
36300
36301         * modules/EOVERFLOW: Remove file.
36302         * m4/eoverflow.m4: Remove file.
36303         * modules/EOVERFLOW-tests: Remove file.
36304         * tests/test-EOVERFLOW.c: Remove file.
36305         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
36306         * modules/ftell (Depends-on): Likewise.
36307         * modules/getdelim (Depends-on): Likewise.
36308         * modules/getugroups (Depends-on): Likewise.
36309         * modules/poll (Depends-on): Likewise.
36310         * modules/snprintf (Depends-on): Likewise.
36311         * modules/sprintf-posix (Depends-on): Likewise.
36312         * modules/vasnprintf (Depends-on): Likewise.
36313         * modules/vasprintf (Depends-on): Likewise.
36314         * modules/vfprintf-posix (Depends-on): Likewise.
36315         * modules/vsnprintf (Depends-on): Likewise.
36316         * modules/vsprintf-posix (Depends-on): Likewise.
36317         * modules/xvasprintf (Depends-on): Likewise.
36318         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
36319         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
36320         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
36321         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
36322         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
36323         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
36324         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
36325         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
36326         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
36327         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
36328         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
36329         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
36330         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
36331         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
36332         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
36333         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
36334         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
36335         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
36336         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
36337         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
36338         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
36339         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
36340         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
36341         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
36342         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
36343         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
36344         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
36345         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
36346         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
36347         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
36348         * MODULES.html.sh: Remove EOVERFLOW.
36349         * NEWS: Mention the change.
36350
36351 2008-09-13  Bruno Haible  <bruno@clisp.org>
36352
36353         * modules/errno-tests: New file.
36354         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
36355
36356         * lib/errno.in.h: New file.
36357         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
36358         * modules/errno: New file.
36359         * doc/posix-headers/errno.texi: Update documentation.
36360         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
36361
36362 2008-09-13  Bruno Haible  <bruno@clisp.org>
36363
36364         * tests/test-poll.c: Use #if for native Windows, rather than testing
36365         __MSVCRT__.
36366
36367 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36368             Bruno Haible  <bruno@clisp.org>
36369
36370         * lib/glob.c: Don't include <pwd.h> on native Windows.
36371         (WINDOWS32): New macro.
36372         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
36373
36374 2008-09-13  Bruno Haible  <bruno@clisp.org>
36375
36376         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
36377         (ETIMEDOUT): Remove macro.
36378         (glthread_cond_timedwait_multithreaded): New declaration.
36379         (glthread_cond_timedwait): Use it.
36380         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
36381         (glthread_cond_timedwait_multithreaded): New function.
36382
36383 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36384
36385         * modules/poll-tests: Do not check for io.h.
36386         * tests/test-poll.c: Check for __MSVCRT__ instead.
36387
36388 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36389
36390         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
36391         * modules/poll-tests: Add inet_pton, stdbool, sockets.
36392         * tests/test-poll.c: Use them.  Use _pipe on Windows.
36393
36394 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
36395
36396         * modules/poll-tests: New.
36397         * tests/test-poll.c: New.
36398
36399 2008-09-12  Eric Blake  <ebb9@byu.net>
36400
36401         frexp: test for NetBSD failure on -0.0
36402         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
36403         not all, bugs from NetBSD 3.0 have been fixed.
36404         * doc/posix-functions/frexp.texi (frexp): Document bug.
36405         Reported by Thomas Klausner.
36406
36407         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
36408         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
36409         literal -0.0.
36410         Reported by Jonathan C. Patschke <jp@centtech.com>.
36411
36412 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36413
36414         * lib/glthread/cond.h: Use dummy implementation also if
36415         USE_WIN32_THREADS.
36416
36417 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36418
36419         * modules/fnmatch-posix (License): Change to LGPLv2+.
36420         * modules/fnmatch-gnu (License): Likewise.
36421
36422 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36423
36424         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
36425
36426 2008-09-11  Jim Meyering  <meyering@redhat.com>
36427
36428         * users.txt: Add gtk-vnc.
36429
36430 2008-09-08  Simon Josefsson  <simon@josefsson.org>
36431
36432         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
36433         rotate amounts.
36434
36435         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
36436         required for 16-bit and 8-bit rotates.
36437         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
36438         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
36439         UINT8_MAX instead of hard-coded constants.
36440         Suggested by Paul Eggert.
36441
36442 2008-09-07  Bruno Haible  <bruno@clisp.org>
36443
36444         * tests/test-striconveh.c (main): Check behaviour when converting from
36445         UTF-7.
36446
36447         Make striconveh work better with stateful encodings.
36448         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
36449         that iconv does not increment the inptr when returning -1/EINVAL.
36450
36451 2008-09-07  Bruno Haible  <bruno@clisp.org>
36452
36453         * build-aux/config.rpath: Update according to libtool-2.2.6.
36454         * build-aux/config.libpath: Likewise.
36455
36456 2008-09-06  Bruno Haible  <bruno@clisp.org>
36457
36458         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
36459         * lib/freadptr.c (freadptr): Likewise.
36460         * lib/freadseek.c (freadptrinc): Likewise.
36461         Reported by Simon Josefsson.
36462
36463 2008-09-06  Bruno Haible  <bruno@clisp.org>
36464
36465         * modules/freadptr (License): Change to LGPLv2+.
36466         * modules/freadseek (License): Likewise.
36467         Suggested by Eric Blake.
36468
36469         * modules/memchr2 (License): Change to LGPLv2+.
36470         Approved by Eric Blake.
36471
36472 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36473             Bruno Haible  <bruno@clisp.org>
36474
36475         Make gnulib-tool work with native 'sed' on AIX.
36476         * gnulib-tool (sed_noop): New variable.
36477         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
36478         func_add_or_update, func_create_testdir): Use it to initialize sed
36479         script variables.
36480         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
36481
36482 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
36483             Bruno Haible  <bruno@clisp.org>
36484
36485         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
36486         also works after #include directives.
36487
36488 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
36489
36490         getdate.y: reject an out-of-range timezone value
36491         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
36492         the range [-24...+24].  When specified with only one or two digits,
36493         * tests/test-getdate.c: Tests for the fix.
36494         * doc/getdate.texi: Document this change.
36495
36496 2008-09-03  Bruno Haible  <bruno@clisp.org>
36497
36498         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
36499
36500 2008-09-02  Simon Josefsson  <simon@josefsson.org>
36501
36502         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
36503         <bruce.korb@gmail.com> with ideas from Ben Pfaff
36504         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
36505         Blake <ebb9@byu.net>.
36506
36507         * tests/test-bitrotate.c: Add more test vectors.
36508
36509 2008-09-02  Eric Blake  <ebb9@byu.net>
36510
36511         vasnprintf-posix: handle large precision via %.*d
36512         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
36513         when handling it ourselves.
36514         * tests/test-vasnprintf-posix.c (test_function): Add test.
36515         * tests/test-snprintf-posix.h (test_function): Likewise.
36516         * tests/test-sprintf-posix.h (test_function): Likewise.
36517         * tests/test-vasprintf-posix.c (test_function): Likewise.
36518         Reported by Alain Guibert.
36519
36520 2008-09-01  Eric Blake  <ebb9@byu.net>
36521
36522         c-stack: make configure-time check more robust
36523         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
36524         successful sigaction call.
36525         Reported by Tom G. Christensen.
36526
36527 2008-09-01  Bruno Haible  <bruno@clisp.org>
36528
36529         New module 'findprog-lgpl'.
36530         * modules/findprog-lgpl: New file.
36531         * lib/findprog-lgpl.c: New file.
36532         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
36533         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
36534         to decide whether to use strdup or xstrdup, concatenated_filename or
36535         xconcatenated_filename.
36536
36537 2008-09-01  Bruno Haible  <bruno@clisp.org>
36538
36539         Split module 'concat-filename' into 'concat-filename' (LGPL) and
36540         'xconcat-filename' (GPL).
36541         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
36542         (License): Change to LGPLv2+.
36543         * modules/xconcat-filename: New file.
36544         * lib/concat-filename.h (concatenated_filename): Change specification.
36545         (xconcatenated_filename): New declaration.
36546         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
36547         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
36548         memory situations.
36549         * lib/xconcat-filename.c: New file.
36550         * NEWS: Mention the change.
36551         * lib/findprog.c: Include concat-filename.h, not filename.h.
36552         (find_in_path): Use xconcatenated_filename instead of
36553         concatenated_filename.
36554         * lib/javacomp.c: Include concat-filename.h, not filename.h.
36555         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
36556         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
36557         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
36558         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
36559         instead of concatenated_filename.
36560         * lib/javaexec.c: Include concat-filename.h, not filename.h.
36561         (execute_java_class): Use xconcatenated_filename instead of
36562         concatenated_filename.
36563         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
36564         * modules/javacomp (Depends-on): Likewise.
36565         * modules/javaexec (Depends-on): Likewise.
36566
36567 2008-09-01  Bruno Haible  <bruno@clisp.org>
36568
36569         Split module 'filename' into 'filename' and 'concat-filename'.
36570         * modules/filename: Keep only lib/filename.h.
36571         (License): Change to LGPLv2+.
36572         * modules/concat-filename: New file, extracted from modules/filename.
36573         * lib/filename.h (concatenated_filename): Remove declaration.
36574         * lib/concat-filename.h: New file, extracted from lib/filename.h.
36575         * lib/concat-filename.c: Include concat-filename.h.
36576         * NEWS: Mention the change.
36577
36578 2008-09-01  Simon Josefsson  <simon@josefsson.org>
36579
36580         * lib/bitrotate.h (rotl8, rotr8): Add.
36581
36582         * modules/bitrotate (configure.ac): Need
36583         AC_REQUIRE([AC_C_INLINE]).
36584         (Description): Mention stdint.h.  Reported by Bruno Haible
36585         <bruno@clisp.org>.
36586
36587         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
36588         Paolo Bonzini <bonzini@gnu.org>.
36589
36590 2008-08-31  Bruno Haible  <bruno@clisp.org>
36591
36592         Assume Solaris specific bi-arch conventions on Solaris systems.
36593         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
36594         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
36595         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
36596         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
36597         like acl_libdirstem.
36598         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
36599         acl_libdirstem.
36600         * NEWS: Mention the change.
36601         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
36602
36603 2008-08-31  Jim Meyering  <meyering@redhat.com>
36604
36605         * lib/strftime.h: Add comments describing the two added arguments.
36606
36607         remove duplicate #include directives
36608         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
36609         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
36610
36611 2008-08-31  Bruno Haible  <bruno@clisp.org>
36612
36613         New module 'sigpipe-die'.
36614         * modules/sigpipe-die: New file.
36615         * lib/sigpipe-die.h: New file.
36616         * lib/sigpipe-die.c: New file.
36617         * MODULES.html.sh (Signal handling): Add sigpipe-die.
36618
36619 2008-08-31  Bruno Haible  <bruno@clisp.org>
36620
36621         Don't override previously installed signal handlers.
36622         * lib/fatal-signal.c (saved_sigactions): New variable.
36623         (uninstall_handlers): Reset the signal to the saved handler, not
36624         to SIG_DFL (except when ignored).
36625         (install_handlers): Save the previous handlers.
36626
36627 2008-08-30  Bruno Haible  <bruno@clisp.org>
36628
36629         * gnulib-tool (func_reset_sigpipe): New function.
36630         (func_get_automake_snippet, func_modules_transitive_closure,
36631         func_import): Invoke it before a join command that reads from stdin,
36632         to avoid "echo: write error: Broken pipe" error messages on stderr.
36633         Reported by Sam Steingold <sds@gnu.org>.
36634
36635 2008-08-30  Bruno Haible  <bruno@clisp.org>
36636
36637         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
36638         Code copied from m4/open.m4.
36639         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
36640         access and the filename ends in a slash. Code copied from lib/open.c.
36641         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
36642         * tests/test-fopen.c (main): Check against bug with trailing slash.
36643
36644 2008-08-29  Bruno Haible  <bruno@clisp.org>
36645
36646         Avoid some "gcc -pedantic" warnings.
36647         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
36648         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
36649         * lib/dirent.in.h: Likewise.
36650         * lib/fcntl.in.h: Likewise.
36651         * lib/float.in.h: Likewise.
36652         * lib/iconv.in.h: Likewise.
36653         * lib/inttypes.in.h: Likewise.
36654         * lib/locale.in.h: Likewise.
36655         * lib/math.in.h: Likewise.
36656         * lib/netinet_in.in.h: Likewise.
36657         * lib/search.in.h: Likewise.
36658         * lib/signal.in.h: Likewise.
36659         * lib/stdarg.in.h: Likewise.
36660         * lib/stdint.in.h: Likewise.
36661         * lib/stdio.in.h: Likewise.
36662         * lib/stdlib.in.h: Likewise.
36663         * lib/string.in.h: Likewise.
36664         * lib/strings.in.h: Likewise.
36665         * lib/sys_select.in.h: Likewise.
36666         * lib/sys_socket.in.h: Likewise.
36667         * lib/sys_stat.in.h: Likewise.
36668         * lib/sys_time.in.h: Likewise.
36669         * lib/sysexits.in.h: Likewise.
36670         * lib/time.in.h: Likewise.
36671         * lib/unistd.in.h: Likewise.
36672         * lib/wchar.in.h: Likewise.
36673         * lib/wctype.in.h: Likewise.
36674         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
36675         * modules/fchdir (Makefile.am): Likewise.
36676         * modules/fcntl (Makefile.am): Likewise.
36677         * modules/float (Makefile.am): Likewise.
36678         * modules/iconv_open (Makefile.am): Likewise.
36679         * modules/inttypes (Makefile.am): Likewise.
36680         * modules/locale (Makefile.am): Likewise.
36681         * modules/math (Makefile.am): Likewise.
36682         * modules/netinet_in (Makefile.am): Likewise.
36683         * modules/search (Makefile.am): Likewise.
36684         * modules/signal (Makefile.am): Likewise.
36685         * modules/stdarg (Makefile.am): Likewise.
36686         * modules/stdint (Makefile.am): Likewise.
36687         * modules/stdio (Makefile.am): Likewise.
36688         * modules/stdlib (Makefile.am): Likewise.
36689         * modules/string (Makefile.am): Likewise.
36690         * modules/strings (Makefile.am): Likewise.
36691         * modules/sys_select (Makefile.am): Likewise.
36692         * modules/sys_socket (Makefile.am): Likewise.
36693         * modules/sys_stat (Makefile.am): Likewise.
36694         * modules/sys_time (Makefile.am): Likewise.
36695         * modules/sysexits (Makefile.am): Likewise.
36696         * modules/time (Makefile.am): Likewise.
36697         * modules/unistd (Makefile.am): Likewise.
36698         * modules/wchar (Makefile.am): Likewise.
36699         * modules/wctype (Makefile.am): Likewise.
36700         Reported by Reuben Thomas <rrt@sc3d.org>.
36701
36702 2008-08-29  Bruno Haible  <bruno@clisp.org>
36703
36704         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
36705         any more.
36706
36707 2008-08-29  Simon Josefsson  <simon@josefsson.org>
36708
36709         * MODULES.html.sh (Misc): Add bitrotate.
36710
36711         * modules/bitrotate: New file.
36712
36713         * lib/bitrotate.h: New file.
36714
36715         * modules/bitrotate-tests: New file.
36716
36717         * tests/test-bitrotate.c: New file.
36718
36719         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
36720         on the bitrotate module.
36721
36722         * lib/arctwo.c: Use new bitrotate module.
36723
36724 2008-08-29  Jim Meyering  <meyering@redhat.com>
36725
36726         bootstrap: merge changes from coreutils
36727         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
36728         of copied files.  Remove a kludge, now that this is fixed.
36729         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
36730         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
36731         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
36732
36733 2008-08-29  Bruno Haible  <bruno@clisp.org>
36734
36735         * MODULES.html.sh: Remove --cvs-urls option.
36736
36737 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
36738
36739         maint.mk: adjust to file name change
36740         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
36741
36742 2008-08-28  Jim Meyering  <meyering@redhat.com>
36743
36744         * modules/getndelim2 (License): Relicense to LGPLv2+.
36745         Approved by Richard Stallman for the version of 1995, and by
36746         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
36747
36748 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
36749
36750         * lib/getdelim.c (flockfile, funlockfile): Make all of them
36751         dummy if one is not available.  Do not touch them if
36752         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
36753         (getc_maybe_unlocked): New.
36754         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
36755
36756 2008-08-26  Eric Blake  <ebb9@byu.net>
36757
36758         doc/INSTALL: resync from autoconf
36759         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
36760         (INSTALL_PRELUDE): Delete; this is done more efficiently by
36761         moving...
36762         * install.texi [!autoconf]: ...here.  Resync from autoconf.
36763         * INSTALL: Regenerate.
36764         * INSTALL.ISO: New file.
36765         * INSTALL.UTF-8: Likewise.
36766
36767 2008-08-26  Jim Meyering  <meyering@redhat.com>
36768
36769         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
36770         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
36771         these definitions conditional, so that they may be overridden, too.
36772
36773 2008-08-26  Bruno Haible  <bruno@clisp.org>
36774
36775         Generate INSTALL file variants with prettier quotes.
36776         * doc/Makefile (INSTALL_PRELUDE): New macro.
36777         (INSTALL): Use it.
36778         (INSTALL.ISO, INSTALL.UTF-8): New rules.
36779
36780 2008-08-26  Bruno Haible  <bruno@clisp.org>
36781
36782         Run makeinfo in an English locale.
36783         * doc/Makefile (MAKEINFO): New variable.
36784
36785 2008-08-26  Bruno Haible  <bruno@clisp.org>
36786
36787         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
36788         Suggested by Eric Blake.
36789
36790 2008-08-25  Bruno Haible  <bruno@clisp.org>
36791
36792         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
36793
36794 2008-08-25  Eric Blake  <ebb9@byu.net>
36795
36796         c-stack: test that stack overflow can be caught
36797         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
36798         that platform allows handling stack overflow; at least OS/2 EMX
36799         has sigaltstack, but crashes before transferring control to
36800         handler on stack overflow.
36801         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
36802         check for HAVE_STACK_OVERFLOW_HANDLING.
36803         Reported by Elbert Pol.
36804
36805 2008-08-25  Bruno Haible  <bruno@clisp.org>
36806
36807         * doc/posix-functions/strftime.texi: Fix description of strftime
36808         module.
36809
36810 2008-08-24  Bruno Haible  <bruno@clisp.org>
36811
36812         * tests/uniwidth/test-uc_width2.c: New file.
36813         * tests/uniwidth/test-uc_width2.sh: New file.
36814         * modules/uniwidth/width-tests (Files): Add the new files.
36815         (TESTS): Add uniwidth/test-uc_width2.sh.
36816         (TESTS_ENVIRONMENT): New variable.
36817         (check_PROGRAMS): Add test-uc_width2.
36818         (test_uc_width2_SOURCES): New variable.
36819
36820         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
36821         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
36822         not 0x00AB.
36823         Reported by Alexander V. Lukyanov <lav@netis.ru>.
36824
36825 2008-08-22  Eric Blake  <ebb9@byu.net>
36826
36827         test-lock, test-tls: mention why a test is skipped
36828         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
36829         skipped.
36830         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
36831
36832         count-one-bits: relax license
36833         * modules/count-one-bits (License): Relicense to LGPLv2+.
36834         Suggested by Ludovic Courtès, approved by Ben Pfaff.
36835
36836 2008-08-22  Andreas Schwab  <schwab@suse.de>
36837
36838         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36839         Remove spurious space in assignment.
36840
36841 2008-08-21  Simon Josefsson  <simon@josefsson.org>
36842
36843         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
36844         Paul Eggert <eggert@CS.UCLA.EDU>.
36845
36846 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
36847
36848         * modules/gettext: Add m4/threadlib.m4.
36849
36850 2008-08-19  Eric Blake  <ebb9@byu.net>
36851
36852         test-c-stack: fix compilation failure on FreeBSD 5.0
36853         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
36854         headers before <sys/resource.h>.
36855         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
36856         the bug.
36857         Reported by Nelson H. F. Beebe.
36858
36859         strverscmp: migrate from "strverscmp.h" to <string.h>
36860         * modules/string (Makefile.am): Add new hooks.
36861         * modules/strverscmp (Files): Remove strverscmp.h.
36862         (Depends-on): Add string.
36863         (configure.ac): Add indicator.
36864         (Include): Mention new header.
36865         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
36866         defaults.
36867         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
36868         results.
36869         * lib/strverscmp.h: Delete.
36870         * lib/string.in.h (strverscmp): Provide declaration, when needed.
36871         * tests/test-strverscmp.c (includes): Adjust client.
36872         * lib/check-version.c (includes): Likewise.
36873         * NEWS: Document the change.
36874
36875         strverscmp: add unit test
36876         * modules/strverscmp-tests: New file.
36877         * tests/test-strverscmp.c: Likewise.
36878
36879 2008-08-19  Simon Josefsson  <simon@josefsson.org>
36880
36881         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
36882         regarding Windows crypto stuff, from Mono.
36883
36884 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
36885
36886         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
36887         if present, for intel RND.  Return error on failures.
36888
36889 2008-08-18  Ben Pfaff  <blp@gnu.org>
36890
36891         gitlog-to-changelog: give better diagnostic for failed pipe-open
36892         * build-aux/gitlog-to-changelog: Improve error message: suggest
36893         that the version of Git may be too old.
36894
36895 2008-08-18  Simon Josefsson  <simon@josefsson.org>
36896
36897         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
36898         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
36899
36900 2008-08-18  Bruno Haible  <bruno@clisp.org>
36901
36902         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
36903         pthread_in_use().
36904
36905 2008-08-18  Bruno Haible  <bruno@clisp.org>
36906
36907         * lib/glthread/threadlib.c: Include <pthread.h>.
36908
36909 2008-08-18  Bruno Haible  <bruno@clisp.org>
36910
36911         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
36912         glthread_recursive_lock_* macros.
36913         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
36914         Fix syntax error.
36915
36916 2008-08-18  Bruno Haible  <bruno@clisp.org>
36917
36918         * lib/glthread/thread.c: Avoid forcing a context switch right after
36919         thread creation.
36920
36921 2008-08-17  Bruno Haible  <bruno@clisp.org>
36922
36923         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
36924         * lib/glthread/thread.h: Provide Win32 specific implementation.
36925         * modules/thread (Files): Add lib/glthread/thread.c.
36926         (Depends-on): Add lock.
36927         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
36928
36929 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36930
36931         New module 'yield'.
36932         * modules/yield: New file.
36933         * lib/glthread/yield.h: New file.
36934         * m4/yield.m4: New file.
36935         * MODULES.html.sh (Multithreading): Add yield.
36936
36937 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36938
36939         New module 'thread'.
36940         * modules/thread: New file.
36941         * lib/glthread/thread.h: New file.
36942         * m4/thread.m4: New file.
36943         * MODULES.html.sh (Multithreading): Add thread.
36944
36945 2008-08-17  Bruno Haible  <bruno@clisp.org>
36946
36947         * lib/glthread/lock.h: Include <stdlib.h> always.
36948         * lib/glthread/tls.h: Likewise.
36949         * lib/glthread/cond.h: Likewise.
36950
36951 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36952
36953         New module 'cond'.
36954         * modules/cond: New file.
36955         * lib/glthread/cond.h: New file.
36956         * lib/glthread/cond.c: New file.
36957         * m4/cond.m4: New file.
36958         * MODULES.html.sh (Multithreading): Add cond.
36959
36960 2008-08-16  Eric Blake  <ebb9@byu.net>
36961
36962         c-stack: fix regression on Irix 5.3 from 2008-06-21
36963         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
36964         sa_sigaction...
36965         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
36966         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
36967         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
36968         * modules/signal (Makefile.am): Use the value.
36969         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
36970         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
36971         * doc/posix-headers/signal.texi (signal.h): Document this
36972         portability issue.
36973         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
36974         Reported by Tom G. Christensen.
36975
36976 2008-08-17  Bruno Haible  <bruno@clisp.org>
36977
36978         New module 'threadlib'.
36979         * modules/threadlib: New file.
36980         * lib/glthread/threadlib.c: New file, extracted from
36981         lib/glthread/lock.c.
36982         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
36983         functions.
36984         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
36985         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
36986         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
36987         macros.
36988         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
36989         (gl_DISABLE_THREADS): Remove macro.
36990         * modules/lock (Files): Remove build-aux/config.rpath.
36991         (Depends-on): Remove havelib. Add threadlib.
36992         (configure.ac-early): Remove section.
36993         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
36994         * modules/tls (Depends-on): Remove lock. Add threadlib.
36995         (Link): New section, copied from threadlib.
36996         * MODULES.html.sh (Multithreading): Add threadlib.
36997
36998 2008-08-14  Bruno Haible  <bruno@clisp.org>
36999
37000         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
37001         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
37002         glthread_rwlock_unlock, glthread_rwlock_destroy,
37003         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
37004         glthread_recursive_lock_destroy): Define as macros always.
37005         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
37006         glthread_lock_lock.
37007         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
37008         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
37009         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
37010         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
37011         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
37012         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
37013         (glthread_recursive_lock_lock_func): Renamed from
37014         glthread_recursive_lock_lock.
37015         (glthread_recursive_lock_unlock_func): Renamed from
37016         glthread_recursive_lock_unlock.
37017         (glthread_recursive_lock_destroy_func): Renamed from
37018         glthread_recursive_lock_destroy.
37019
37020 2008-08-14  Bruno Haible  <bruno@clisp.org>
37021
37022         * lib/glthread/lock.h: Renamed from lib/lock.h.
37023         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
37024         * lib/glthread/tls.h: Renamed from lib/tls.h.
37025         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
37026         * lib/fstrcmp.c: Update includes.
37027         * lib/strsignal.c: Update includes.
37028         * modules/lock (Files, Makefile.am): Update.
37029         (Include): Change to "glthread/lock.h".
37030         * modules/tls (Files, Makefile.am): Update.
37031         (Include): Change to "glthread/tls.h".
37032         * tests/test-lock.c: Update includes.
37033         * tests/test-tls.c: Update includes.
37034         * NEWS: Mention the renamed header files.
37035
37036 2008-08-11  Jim Meyering  <meyering@redhat.com>
37037
37038         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
37039
37040 2008-08-11  Eric Blake  <ebb9@byu.net>
37041
37042         test-c-stack: avoid C99-ism
37043         * tests/test-c-stack.c (main): Fix whitespace, move declaration
37044         before statement.
37045         Reported by Alain Guibert.
37046
37047 2008-08-10  Jim Meyering  <meyering@redhat.com>
37048
37049         ensure that return value of uinttostr et al are not ignored
37050         * lib/inttostr.h (__GNUC_PREREQ): Define.
37051         (__attribute_warn_unused_result__): Define.
37052         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
37053
37054 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
37055
37056         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
37057         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
37058
37059 2008-08-07  Jim Meyering  <meyering@redhat.com>
37060
37061         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
37062
37063         * modules/mkstemp (License): Relicense under LGPLv2+.
37064         * modules/tempname (License): Likewise.
37065
37066 2008-08-06  Bruno Haible  <bruno@clisp.org>
37067
37068         * lib/poll.c (poll): Further micro-optimization.
37069
37070 2008-08-06  Jim Meyering  <meyering@redhat.com>
37071
37072         inet_pton.c: use locale-independent tolower
37073         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
37074         (inet_pton6): Use c_tolower rather than tolower.
37075         * modules/inet_pton (Depends-on): Add c-ctype.
37076
37077 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
37078
37079         * lib/poll.c (poll): Avoid division when timeout is 0, cache
37080         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
37081
37082 2008-08-06  Jim Meyering  <meyering@redhat.com>
37083
37084         * modules/inet_pton (License): Relicense under LGPLv2+.
37085
37086 2008-08-03  Bruno Haible  <bruno@clisp.org>
37087
37088         Additional non-aborting API for lock and tls.
37089         * lib/lock.h: Include <errno.h>.
37090         (glthread_lock_init): New macro/function.
37091         (gl_lock_init): Define as wrapper around glthread_lock_init.
37092         (glthread_lock_lock): New macro/function.
37093         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
37094         (glthread_lock_unlock): New macro/function.
37095         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
37096         (glthread_lock_destroy): New macro/function.
37097         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
37098         (glthread_rwlock_init): New macro/function.
37099         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
37100         (glthread_rwlock_rdlock): New macro/function.
37101         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
37102         (glthread_rwlock_wrlock): New macro/function.
37103         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
37104         (glthread_rwlock_unlock): New macro/function.
37105         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
37106         (glthread_rwlock_destroy): New macro/function.
37107         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
37108         (glthread_recursive_lock_init): New macro/function.
37109         (gl_recursive_lock_init): Define as wrapper around
37110         glthread_recursive_lock_init.
37111         (glthread_recursive_lock_lock): New macro/function.
37112         (gl_recursive_lock_lock): Define as wrapper around
37113         glthread_recursive_lock_lock.
37114         (glthread_recursive_lock_unlock): New macro/function.
37115         (gl_recursive_lock_unlock): Define as wrapper around
37116         glthread_recursive_lock_unlock.
37117         (glthread_recursive_lock_destroy): New macro/function.
37118         (gl_recursive_lock_destroy): Define as wrapper around
37119         glthread_recursive_lock_destroy.
37120         (glthread_once): New macro/function.
37121         (gl_once): Define as wrapper around glthread_once.
37122         Update function declarations.
37123         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
37124         glthread_rwlock_init. Return error code.
37125         (glthread_rwlock_rdlock_multithreaded): Renamed from
37126         glthread_rwlock_rdlock. Return error code.
37127         (glthread_rwlock_wrlock_multithreaded): Renamed from
37128         glthread_rwlock_wrlock. Return error code.
37129         (glthread_rwlock_unlock_multithreaded): Renamed from
37130         glthread_rwlock_unlock. Return error code.
37131         (glthread_rwlock_destroy_multithreaded): Renamed from
37132         glthread_rwlock_destroy. Return error code.
37133         (glthread_recursive_lock_init_multithreaded): Renamed from
37134         glthread_recursive_lock_init. Return error code.
37135         (glthread_recursive_lock_lock_multithreaded): Renamed from
37136         glthread_recursive_lock_lock. Return error code.
37137         (glthread_recursive_lock_unlock_multithreaded): Renamed from
37138         glthread_recursive_lock_unlock. Return error code.
37139         (glthread_recursive_lock_destroy_multithreaded): Renamed from
37140         glthread_recursive_lock_destroy. Return error code.
37141         (glthread_once_call): Make static.
37142         (glthread_once_multithreaded): Renamed from glthread_once.
37143         * lib/tls.h: Include <errno.h>.
37144         (glthread_tls_key_init): New macro/function.
37145         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
37146         (glthread_tls_set): New macro/function.
37147         (gl_tls_set): Define as wrapper around glthread_tls_set.
37148         (glthread_tls_key_destroy): New macro/function.
37149         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
37150         Update function declarations.
37151         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
37152         glthread_tls_get.
37153         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
37154
37155 2008-08-04  Eric Blake  <ebb9@byu.net>
37156
37157         gnumakefile: use space, not TAB, outside of targets
37158         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
37159
37160 2008-08-02  Jim Meyering  <meyering@redhat.com>
37161
37162         getdate.y: avoid locale-dependent date parsing failure
37163         In Turkish locales, getdate would fail to recognize keywords
37164         containing a lowercase "i".  The solution is not to rely on
37165         locale-sensitive case-conversion.
37166         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
37167         (lookup_word): Use c_toupper in place of toupper.
37168         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
37169         Reported by Vefa Bicakci <bicave@superonline.com> in
37170         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
37171         * modules/getdate (Depends-on): Add c-ctype.
37172
37173 2008-08-02  Bruno Haible  <bruno@clisp.org>
37174
37175         * gnulib-tool (func_import): When updating or creating a .gitignore
37176         file, prepend each added line with a slash, and ignore leading slashes
37177         from the existing lines.
37178         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
37179
37180 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37181
37182         Portability fix for GNU make 3.79.1.
37183         * top/GNUmakefile: Avoid 'else COND', which older GNU make
37184         versions do not understand.
37185
37186 2008-08-01  Bruno Haible  <bruno@clisp.org>
37187
37188         Work around bug of HP-UX 10.20 cc with -0.0 literal.
37189         * tests/test-isnanf.h (zero): New variable.
37190         (main): Avoid literal -0.0f.
37191         * tests/test-isnand.h (zero): New variable.
37192         (main): Avoid literal -0.0.
37193         * tests/test-isnanl.h (zero): New variable.
37194         (main): Avoid literal -0.0L.
37195         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
37196         (test_float, test_double, test_long_double): Avoid literals -0.0f,
37197         -0.0, -0.0L.
37198         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
37199         (test_signbitd): Avoid literal -0.0.
37200         (test_signbitl): Avoid literal -0.0L.
37201         * tests/test-ceilf1.c (zero): New variable.
37202         (main): Avoid literal -0.0f.
37203         * tests/test-ceill.c (zero): New variable.
37204         (main): Avoid literal -0.0L.
37205         * tests/test-floorf1.c (zero): New variable.
37206         (main): Avoid literal -0.0f.
37207         * tests/test-floorl.c (zero): New variable.
37208         (main): Avoid literal -0.0L.
37209         * tests/test-roundf1.c (zero): New variable.
37210         (main): Avoid literal -0.0f.
37211         * tests/test-round1.c (zero): New variable.
37212         (main): Avoid literal -0.0.
37213         * tests/test-roundl.c (zero): New variable.
37214         (main): Avoid literal -0.0L.
37215         * tests/test-truncf1.c (zero): New variable.
37216         (main): Avoid literal -0.0f.
37217         * tests/test-trunc1.c (zero): New variable.
37218         (main): Avoid literal -0.0.
37219         * tests/test-truncl.c (zero): New variable.
37220         (main): Avoid literal -0.0L.
37221         * tests/test-frexp.c (zero): New variable.
37222         (main): Avoid literal -0.0.
37223         * tests/test-frexpl.c (zero): New variable.
37224         (main): Avoid literal -0.0L.
37225         * tests/test-ldexpl.c (zero): New variable.
37226         (main): Avoid literal -0.0L.
37227         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37228         (zerod, zerol): New variables.
37229         (test_function): Avoid literals -0.0, -0.0L.
37230         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
37231         (zerod, zerol): New variables.
37232         (test_function): Avoid literals -0.0, -0.0L.
37233         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37234         (zerod, zerol): New variables.
37235         (test_function): Avoid literals -0.0, -0.0L.
37236         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
37237         (zerod, zerol): New variables.
37238         (test_function): Avoid literals -0.0, -0.0L.
37239         * tests/test-strtod.c (zero): New variable.
37240         (main): Avoid literal -0.0.
37241         Reported by Jonathan C. Patschke <jp@centtech.com>.
37242
37243 2008-07-31  Jim Meyering  <meyering@redhat.com>
37244
37245         sha256.h: correct definition of SHA224_DIGEST_SIZE
37246         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
37247         Reported by Paulie Pena IV <paulie4@gmail.com>.
37248         Define as 224 / 8, rather than as a literal.
37249         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
37250         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
37251         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
37252
37253 2008-07-31  Bruno Haible  <bruno@clisp.org>
37254
37255         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
37256         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
37257         Reported by Jonathan Patschke <jp@centtech.com>.
37258
37259 2008-07-31  Bruno Haible  <bruno@clisp.org>
37260
37261         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
37262         Reported by Paolo Bonzini <bonzini@gnu.org>.
37263
37264 2008-07-30  Eric Blake  <ebb9@byu.net>
37265
37266         test-strtod: allow compilation without -lm
37267         * tests/test-strtod.c (main): Avoid link dependence on fabs.
37268         Reported by Dennis Clarke <blastwave@gmail.com>.
37269
37270 2008-07-28  Jim Meyering  <meyering@redhat.com>
37271
37272         bootstrap: work also when there are no .po files in po/
37273         * build-aux/bootstrap (update_po_files): Complete the change
37274         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
37275
37276 2008-07-27  Jim Meyering  <meyering@redhat.com>
37277
37278         * users.txt: Add zile.
37279
37280 2008-07-26  Ben Pfaff  <blp@gnu.org>
37281
37282         Add missing dependencies on new m4/exponent[fdl].m4 files.
37283         * modules/isnanf-nolibm: Add m4/exponentf.m4.
37284         * modules/isnand-nolibm: Add m4/exponentd.m4.
37285         * modules/isnanl-nolibm: Add m4/exponentl.m4.
37286         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
37287         m4/isnan[fdl].m4, because the macros actually used moved.
37288         Reported by Jim Meyering.
37289
37290 2008-07-14  Ben Pfaff  <blp@gnu.org>
37291
37292         Add isinf module.
37293         * lib/isinf.c: New file.
37294         * lib/math.in.h: Define isinf macro if we have decided to replace
37295         it.
37296         * m4/isinf.m4: New file.
37297         * m4/math_h.m4: Initialize and substitute variables for isinf
37298         module.
37299         * modules/isinf: New file.
37300         * modules/isinf-tests: New file.
37301         * modules/math: Add substitutions for new module.
37302         * tests/test-isinf.c: New file.
37303         * doc/posix-functions/isinf.texi: Mention new module.
37304         * MODULES.html.sh: Mention new module.
37305
37306 2008-07-14  Ben Pfaff  <blp@gnu.org>
37307
37308         Factor out some macros for use by additional modules.
37309         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
37310         exponentf.m4.
37311         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
37312         exponentd.m4.
37313         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
37314         file exponentl.m4.
37315         * m4/exponentf.m4: New file.
37316         * m4/exponentd.m4: New file.
37317         * m4/exponentl.m4: New file.
37318         * modules/isnanf: Use new file m4/exponentf.m4.
37319         * modules/isnand: Use new file m4/exponentd.m4.
37320         * modules/isnanl: Use new file m4/exponentl.m4.
37321
37322 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
37323
37324         mktime.c: normalize tp->tm_isdst value to -1/0/1.
37325         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
37326         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
37327         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
37328
37329         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
37330         readlink on platforms without PATH_MAX.
37331
37332 2008-07-21  Eric Blake  <ebb9@byu.net>
37333
37334         Warn, not fail, on stale version.
37335         * top/GNUmakefile (_curr-ver): Tone down previous patch.
37336
37337         Don't allow installation with stale devel version number.
37338         * top/GNUmakefile (_is-install-target): New macro.
37339         (_curr-ver): Forbid installation with stale version number.
37340
37341 2008-07-20  Bruno Haible  <bruno@clisp.org>
37342
37343         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
37344         TESTS_ENVIRONMENT.
37345         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
37346
37347 2008-07-20  Bruno Haible  <bruno@clisp.org>
37348
37349         * lib/c-stack.h (c_stack_action): Add documentation.
37350         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
37351
37352 2008-07-20  Bruno Haible  <bruno@clisp.org>
37353
37354         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
37355         * modules/readlink (License): Likewise.
37356
37357 2008-07-17  Eric Blake  <ebb9@byu.net>
37358
37359         * modules/c-stack (Link): Fix typo.
37360
37361         Make c-stack use libsigsegv, when available.
37362         * modules/c-stack (Depends-on): Add libsigsegv.
37363         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
37364         needed.
37365         * lib/c-stack.c (SIGSTKSZ): Define fallback.
37366         (segv_handler, overflow_handler, c_stack_action)
37367         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
37368         implementation when libsigsegv is available, but only when using
37369         the library is necessary.
37370         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
37371         comment, explaining why XSI check fails on Linux.
37372         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
37373         * tests/test-c-stack2.sh: Tweak skip message.
37374         * NEWS: Document new link-time requirements.
37375
37376 2008-07-16  Eric Blake  <ebb9@byu.net>
37377
37378         c-stack: Expose false positives when not using libsigsegv.
37379         * modules/c-stack-tests (Files): Expand test.
37380         * tests/test-c-stack.c (main): Add means to conditionally trigger
37381         non-overflow SIGSEGV.
37382         * tests/test-c-stack2.sh: New file.
37383
37384 2008-07-14  Bruno Haible  <bruno@clisp.org>
37385
37386         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
37387         Reported by Eric Blake.
37388
37389 2008-07-14  Sam Steingold  <sds@gnu.org>
37390             Bruno Haible  <bruno@clisp.org>
37391
37392         New module libsigsegv.
37393         * modules/libsigsegv: New file.
37394         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
37395         modifications.
37396         * MODULES.html.sh (Signal handling): New section.
37397
37398 2008-07-14  Bruno Haible  <bruno@clisp.org>
37399
37400         * modules/unictype/ctype-* (Description): Add the word "function".
37401         Improves the resulting doc in MODULES.html.
37402
37403 2008-07-12  Ben Pfaff  <blp@gnu.org>
37404
37405         Add longlong module.
37406         * modules/longlong: New file.
37407
37408 2008-07-12  Bruno Haible  <bruno@clisp.org>
37409
37410         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
37411         to empty.
37412
37413 2008-07-10  Ben Pfaff  <blp@gnu.org>
37414
37415         Add isnan module.
37416         * doc/posix-functions/isnan.texi: Mention new module.
37417         * lib/math.in.h: Define isnan macro if we have decided to replace
37418         it.
37419         * m4/isnan.m4: New file.
37420         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
37421         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
37422         also.
37423         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
37424         redundancy.
37425         * m4/math_h.m4: Initialize and substitute variables for isnan
37426         module.
37427         * modules/isnan: New file.
37428         * modules/isnan-tests: New file.
37429         * modules/math: Add substitutions for new module.
37430         * tests/test-isnan.c: New file.
37431         * MODULES.html.sh: Mention new module.
37432
37433 2008-07-10  Ben Pfaff  <blp@gnu.org>
37434
37435         Add isnanf module.
37436         * lib/isnanf.m4: New file.
37437         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
37438         (gl_HAVE_ISNANF_IN_LIBM): New macro.
37439         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
37440         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
37441         * modules/isnanf: New file.
37442         * modules/isnanf-tests: New file.
37443         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
37444         files.
37445         * tests/test-isnanf-nolibm.c: factored most of its contents into
37446         new file tests/test-isnanf.h.
37447         * tests/test-isnanf.h: New file.
37448         * tests/test-isnanf.c: New file.
37449         * MODULES.html.sh: Mention new module.
37450         * doc/glibc-functions/isnanf.texi: Mention new module.
37451
37452 2008-07-10  Ben Pfaff  <blp@gnu.org>
37453
37454         Add isnand module.
37455         * lib/isnand.h: New file.
37456         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
37457         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
37458         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
37459         functionality also.
37460         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
37461         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
37462         (gl_HAVE_ISNAND_IN_LIBM): New macro.
37463         * modules/isnand: New file.
37464         * modules/isnand-tests: New file.
37465         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
37466         files.
37467         * tests/test-isnand-nolibm.c: factored most of its contents into
37468         new file tests/test-isnand.h.
37469         * tests/test-isnand.h: New file.
37470         * tests/test-isnand.c: New file.
37471         * MODULES.html.sh: Mention new module.
37472
37473 2008-07-10  Ben Pfaff  <blp@gnu.org>
37474
37475         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
37476         * lib/isnand.h: Rename lib/isnand-nolibm.h.
37477         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
37478         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
37479         * modules/isnanf-nolibm: Update references to renamed files.
37480         * modules/isnand-nolibm: Likewise.
37481         * modules/isnanf-nolibm-tests: Likewise.
37482         * modules/isnand-nolibm-tests: Likewise.
37483         * lib/frexp.c: Likewise.
37484         * lib/isfinite.c: Likewise.
37485         * lib/signbitd.c: Likewise.
37486         * lib/signbitf.c: Likewise.
37487         * lib/vasnprintf.c: Likewise.
37488         * tests/test-ceilf1.c: Likewise.
37489         * tests/test-ceilf2.c: Likewise.
37490         * tests/test-floorf1.c: Likewise.
37491         * tests/test-floorf2.c: Likewise.
37492         * tests/test-frexp.c: Likewise.
37493         * tests/test-round1.c: Likewise.
37494         * tests/test-round2.c: Likewise.
37495         * tests/test-roundf1.c: Likewise.
37496         * tests/test-strtod.c: Likewise.
37497         * tests/test-trunc1.c: Likewise.
37498         * tests/test-trunc2.c: Likewise.
37499         * tests/test-truncf1.c: Likewise.
37500         * tests/test-truncf2.c: Likewise.
37501         * NEWS: Mention the renamed header files.
37502
37503 2008-07-11  Jim Meyering  <meyering@redhat.com>
37504
37505         vc-list-files: make the last-resort awk code more portable
37506         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
37507         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
37508         does not support it.
37509
37510 2008-07-10  Eric Blake  <ebb9@byu.net>
37511
37512         Work with tar's bootstrap.
37513         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
37514         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
37515         an m4 comment.
37516
37517 2008-07-09  Jim Meyering  <meyering@redhat.com>
37518
37519         posix-shell.m4: fix typo that made this test malfunction
37520         * m4/posix-shell.m4: Remove capitalization in variable name.
37521
37522 2008-07-08  Bruno Haible  <bruno@clisp.org>
37523
37524         * m4/onceonly.m4: Update comments.
37525         Reported by Ben Pfaff <blp@cs.stanford.edu>.
37526
37527 2008-07-04  Jim Meyering  <meyering@redhat.com>
37528
37529         * users.txt: Add vc-dwim.
37530         (bison, coreutils): Use the gitweb URL.
37531
37532 2008-07-03  Jim Meyering  <meyering@redhat.com>
37533
37534         * users.txt: Add libffcall.  From Sam Steingold.
37535
37536 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
37537
37538         getdate.y: do not ignore TZ with relative day, month or year offset
37539         * lib/getdate.y (get_date): Move the tz-handling block to follow the
37540         relative-date-handling, since otherwise, the latter would clobber the
37541         sole output (an updated Start value) of the tz-handling block.
37542         * tests/test-getdate.c: Tests for the fix
37543
37544 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37545
37546         Recognize 'foo_LIBRARIES += libgnu.a'.
37547         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
37548         makefile snippet has already specified an installation location,
37549         also using '+='.
37550
37551 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
37552
37553         getdate.y: factor out common actions
37554         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
37555         Use them in place of open-coded actions.
37556
37557 2008-07-01  Simon Josefsson  <simon@josefsson.org>
37558
37559         Add self-test for getdate module.
37560         * modules/getdate-tests: New file.
37561         * tests/test-getdate.c: New file.
37562
37563 2008-06-29  Bruno Haible  <bruno@clisp.org>
37564
37565         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
37566         .gitignore.
37567         Reported by Sylvain Beucler <beuc@beuc.net>.
37568
37569 2008-06-29  Bruno Haible  <bruno@clisp.org>
37570
37571         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
37572         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
37573
37574 2008-06-29  Bruno Haible  <bruno@clisp.org>
37575
37576         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
37577         EXTRA_DIST.
37578         Reported by Sylvain Beucler <beuc@beuc.net>.
37579
37580 2008-06-26  Jim Meyering  <meyering@redhat.com>
37581
37582         make several modules depend on the "open" module
37583         This provides slightly increased consistency when opening-for-write
37584         the name of a non-directory spelled with a trailing slash.
37585         * modules/chdir-safer: Likewise.
37586         * modules/chown: Likewise.
37587         * modules/clean-temp: Likewise.
37588         * modules/copy-file: Likewise.
37589         * modules/fchdir: Likewise.
37590         * modules/fcntl-safer: Likewise.
37591         * modules/pipe: Likewise.
37592         * modules/utime: Likewise.
37593         Prompted by Eric Blake and Bruno Haible.
37594
37595 2008-06-24  Andreas Schwab  <schwab@suse.de>
37596
37597         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
37598         literals can be used as initializers for global variables.
37599
37600 2008-06-23  Eric Blake  <ebb9@byu.net>
37601
37602         Make gnulib-cache.m4 easier to diff.
37603         * gnulib-tool (func_import): Allow newlines when reading cached
37604         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
37605
37606 2008-06-23  Bruno Haible  <bruno@clisp.org>
37607
37608         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
37609         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
37610         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
37611         m4/signalblocking.m4.
37612         (gl_PREREQ_SIGACTION): Don't invoke it.
37613         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
37614         gl_PREREQ_SIG_HANDLER_H.
37615         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37616         Don't check for sigaction here.
37617
37618 2008-06-23  Bruno Haible  <bruno@clisp.org>
37619
37620         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
37621         (install_handlers): Don't set the SA_RESETHAND flag.
37622
37623 2008-06-23  Bruno Haible  <bruno@clisp.org>
37624
37625         * m4/sigaction.m4: Comment fixes.
37626         * lib/signal.in.h: Likewise.
37627
37628 2008-06-23  Eric Blake  <ebb9@byu.net>
37629
37630         Fix typo.
37631         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
37632
37633         Avoid SA_ namespace.
37634         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
37635         Reported by Ralf Wildenhues.
37636
37637         Avoid test failure due to SA_RESTORER.
37638         * tests/test-sigaction.c (SA_MASK): New macro.
37639         (main): Avoid failing due to extension flags being set.
37640         Reported by Jim Meyering.
37641
37642         Revert use of sig-handler.h in sigprocmask.c.
37643         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
37644         it requires the existence of struct sigaction.
37645         * lib/sigprocmask.c (handler_t): Restore typedef.
37646         (rpl_signal, old_handlers): Use local type.
37647
37648 2008-06-22  Bruno Haible  <bruno@clisp.org>
37649
37650         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
37651         conditionally.
37652         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37653
37654 2008-06-22  Bruno Haible  <bruno@clisp.org>
37655
37656         * doc/posix-functions/siginterrupt.texi: Move note.
37657
37658         * lib/signal.in.h (SA_RESTART): New macro.
37659         * lib/sigaction.c: Update comment.
37660
37661         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
37662
37663         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
37664         (gl_PREREQ_SIGPROCMASK): Invoke it.
37665         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
37666
37667         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
37668
37669         * lib/sigprocmask.c: Update a comment.
37670
37671 2008-06-21  Eric Blake  <ebb9@byu.net>
37672
37673         Use sigaction module rather than signal().
37674         * modules/c-stack (Depends-on): Add sigaction.
37675         * modules/fatal-signal (Depends-on): Likewise.
37676         * modules/nanosleep (Depends-on): Likewise.
37677         * modules/sigprocmask (Files): Add sig-handler.h.
37678         * modules/sigaction (Files): Likewise.
37679         * lib/sig-handler.h (get_handler): New file, suggested by Paul
37680         Eggert.
37681         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
37682         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
37683         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
37684         (init_fatal_signals): Likewise.
37685         * lib/nanosleep.c (rpl_nanosleep): Likewise.
37686         (siginterrupt): Delete fallback.
37687         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
37688         instead.
37689         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
37690         siginterrupt.
37691
37692         New module sigaction, for mingw.
37693         * modules/sigaction: New module...
37694         * modules/sigaction-tests: ...and its test.
37695         * m4/sigaction.m4: New file.
37696         * lib/sigaction.c: Likewise.
37697         * tests/test-sigaction.c: Likewise.
37698         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
37699         * modules/signal (Makefile.am): Likewise.
37700         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
37701         needed.
37702         * doc/posix-headers/signal.texi (signal.h): Mention provided
37703         types.
37704         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
37705         that sigaction is preferable.
37706         * doc/posix-functions/sigaction.texi (sigaction): Mention new
37707         module.
37708         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37709         sigaction.
37710
37711         Improve robustness of sigprocmask by overriding signal.
37712         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
37713         is in use.
37714         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
37715         (SIGKILL, SIGSTOP): Provide fallbacks.
37716         (rpl_signal): Implement.
37717         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
37718         signal can be called inside handlers.
37719
37720         Fix nanosleep module on mingw.
37721         * modules/nanosleep (Depends-on): Add sys_select.
37722         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
37723
37724         Fix licensing of sigprocmask.
37725         * modules/raise (License): Relicense as LGPL.
37726
37727 2008-06-21  Bruno Haible  <bruno@clisp.org>
37728
37729         * lib/propername.c (proper_name_utf8): Don't use the transliterated
37730         result if it contains question marks.
37731         Reported by Michael Geng <linux@michaelgeng.de>.
37732
37733 2008-06-19  Bruno Haible  <bruno@clisp.org>
37734
37735         Fix CVS-ism.
37736         * doc/gnulib.texi: Include updated-stamp.texi.
37737         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
37738         (updated-stamp.texi): New rule.
37739         (gnulib.info): Depend on it.
37740         * doc/.gitignore: Add updated-stamp.texi.
37741         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
37742
37743 2008-06-19  Bruno Haible  <bruno@clisp.org>
37744
37745         * doc/Makefile (gnulib.info): Update and simplify dependencies.
37746         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
37747
37748 2008-06-19  Eric Blake  <ebb9@byu.net>
37749
37750         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
37751         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
37752         Reported by Stepan Kasal.
37753
37754 2008-06-18  Bruno Haible  <bruno@clisp.org>
37755
37756         * lib/fatal-signal.c (init_fatal_signals): Add comment.
37757         Reported by Eric Blake.
37758
37759 2008-06-18  Eric Blake  <ebb9@byu.net>
37760
37761         Work around cygwin 1.5.25 strsignal bug.
37762         * tests/test-strsignal.c: Allow for const char *.
37763         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
37764
37765 2008-06-18  Simon Josefsson  <simon@josefsson.org>
37766
37767         * users.txt: Update URL to article and add author/date
37768         information.
37769
37770 2008-06-17  Bruno Haible  <bruno@clisp.org>
37771
37772         New macro gl_DISABLE_THREADS.
37773         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
37774         if the user did not pass --enable-threads or --disable-threads option.
37775         (gl_DISABLE_THREADS): New macro.
37776         Reported by Eric Blake <ebb9@byu.net>.
37777
37778 2008-06-17  Bruno Haible  <bruno@clisp.org>
37779
37780         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
37781         when the macro ignores it.
37782         Based on a patch by Eric Blake <ebb9@byu.net>.
37783
37784 2008-06-17  Bruno Haible  <bruno@clisp.org>
37785
37786         * modules/tls (License): Change to LGPLv2+.
37787         Reported by Eric Blake.
37788
37789 2008-06-17  Eric Blake  <ebb9@byu.net>
37790
37791         Simplify c-stack prerequisites.
37792         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
37793         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
37794         no longer requires <ucontext.h> to exist.  Optimize setrlimit
37795         check.
37796         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
37797         <sys/resource.h>.
37798
37799         Move c-stack test into testsuite.
37800         * modules/c-stack-tests: New file.
37801         * lib/c-stack.c [DEBUG]: Move test program...
37802         * tests/test-c-stack.c: ...into this new file.  Skip rather than
37803         fail test if sigaltstack is lacking.
37804         * tests/test-c-stack.sh: New driver file.
37805
37806 2008-06-16  Eric Blake  <ebb9@byu.net>
37807
37808         Use raise module consistently.
37809         * modules/fatal-signal (Depends-on): Add raise.
37810         * modules/sigprocmask (Depends-on): Likewise.
37811         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
37812         * lib/sigprocmask.c (sigprocmask): Likewise.
37813         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37814         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
37815
37816         Fix compliance bug in sigpending.
37817         * lib/sigprocmask.c (sigpending): Return pending array via
37818         parameter, not return value.
37819
37820 2008-06-14  Eric Blake  <ebb9@byu.net>
37821
37822         Improve obstack-printf test code.
37823         * tests/test-obstack-printf.c (test_function): Fix comment, and
37824         simplify usage of obstack_* in macros.  Add a test for coverage.
37825         Reported by Bruno Haible.
37826
37827 2008-06-14  Bruno Haible  <bruno@clisp.org>
37828
37829         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
37830         array size as a constant, not as a const variable.
37831         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
37832         AC_USE_SYSTEM_EXTENSIONS.
37833         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
37834         Test whether the obstack_printf function actually exists.
37835         * modules/obstack-printf (Depends-on): Add extensions.
37836         (Include): Remove obstack.h.
37837         * modules/obstack-printf-posix (Depends-on): Add extensions.
37838         (Include): Remove obstack.h.
37839
37840 2008-06-13  Eric Blake  <ebb9@byu.net>
37841
37842         Add obstack-printf and obstack-printf-posix modules.
37843         * modules/obstack-printf: New file.
37844         * modules/obstack-printf-posix: Likewise.
37845         * MODULES.html.sh (Misc): Mention them.
37846         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
37847         Likewise.
37848         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
37849         Likewise.
37850         * modules/stdio (Makefile.am): Accomodate new modules.
37851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37852         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
37853         Declare.
37854         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
37855         functions.
37856         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
37857         (gl_REPLACE_OBSTACK_PRINTF): New macros
37858         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
37859         * tests/test-obstack-printf.c: New file.
37860         * modules/obstack-printf-tests: Likewise.
37861         * modules/obstack-printf-posix-tests: Likewise.
37862
37863 2008-06-11  Bruno Haible  <bruno@clisp.org>
37864
37865         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
37866         * lib/open.c: Include errno.h.
37867         (open): Fail when attempting to write to a file that has a trailing
37868         slash.
37869         * tests/test-open.c (main): Test against trailing slash bug.
37870         * doc/posix-functions/open.texi: Mention the trailing slash bug.
37871
37872 2008-06-10  Bruno Haible  <bruno@clisp.org>
37873
37874         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
37875         for $? to work inside the trap command, with various /bin/sh-s.
37876         * tests/test-vc-list-files-cvs.sh: Likewise.
37877
37878 2008-06-10  Bruno Haible  <bruno@clisp.org>
37879
37880         * lib/acl-internal.h: Don't include gettext.h here.
37881         * lib/set-mode-acl.c: Include gettext.h here.
37882         * lib/copy-acl.c: Likewise.
37883
37884 2008-06-10  Bruno Haible  <bruno@clisp.org>
37885
37886         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
37887         * lib/wait-process.c (wait_subprocess): Likewise.
37888         * lib/execute.h (execute): Add termsigp argument.
37889         * lib/execute.c (execute): Likewise.
37890         * lib/csharpcomp.c (compile_csharp_using_pnet,
37891         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
37892         * lib/csharpexec.c (execute_csharp_using_pnet,
37893         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
37894         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
37895         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
37896         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
37897         is_jikes_present): Update.
37898         * lib/javaexec.c (execute_java_class): Update.
37899         * lib/javaversion.c (execute_and_read_line): Update.
37900         * NEWS: Document the changes.
37901         Reported by Eric Blake.
37902
37903 2008-06-10  Eric Blake  <ebb9@byu.net>
37904
37905         Add missing include.
37906         * tests/test-strstr.c (includes): Add <signal.h>.
37907         * tests/test-strcasestr.c (includes): Likewise.
37908         * tests/test-memmem.c (includes): Likewise.
37909
37910 2008-06-10  Bruno Haible  <bruno@clisp.org>
37911
37912         * lib/wait-process.c (wait_subprocess): Add an assertion.
37913
37914 2008-06-10  Bruno Haible  <bruno@clisp.org>
37915
37916         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
37917
37918 2008-06-10  Bruno Haible  <bruno@clisp.org>
37919
37920         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
37921         using alarm().
37922         * tests/test-strcasestr.c (main): Likewise.
37923         * tests/test-strstr.c (main): Likewise.
37924
37925 2008-06-09  Bruno Haible  <bruno@clisp.org>
37926
37927         Work around the Solaris 10 ACE ACLs ABI change.
37928         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
37929         declare if ACL_NO_TRIVIAL is present.
37930         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
37931         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
37932         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
37933         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
37934         define if ACL_NO_TRIVIAL is present.
37935         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
37936         and use the current ABI.
37937         (file_has_acl): Use same #if condition as elsewhere.
37938         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
37939         in use, and use the current ABI.
37940         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
37941         Reported by Jim Meyering.
37942
37943 2008-06-09  Eric Blake  <ebb9@byu.net>
37944
37945         Work around environments that (stupidly) ignore SIGALRM.
37946         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
37947         before using alarm().
37948         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
37949         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
37950         Reported by Ian Beckwith <ianb@erislabs.net>.
37951
37952         Produce autobuild blurb earlier in log.
37953         * modules/autobuild (configure.ac-early): Move AB_INIT here.
37954
37955 2008-06-09  Jim Meyering  <meyering@redhat.com>
37956         and OndÅ™ej Vašík  <ovasik@redhat.com>
37957
37958         utimens.c: correct kernel bug work-around
37959         OndÅ™ej Vašík found that the invalid return value of 280 indicates
37960         failure, not success, and the kernel bug we're trying to work
37961         around affects not just the utimensat call, but also the fallback
37962         futimens call.
37963         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
37964         not success.
37965         [HAVE_FUTIMENS]: Use the same work-around, here.
37966
37967 2008-06-09  Jim Meyering  <meyering@redhat.com>
37968
37969         add more guards around definition of ACE_-related code
37970         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
37971         ALLOW and ACE_OWNER are also defined.
37972
37973 2008-06-08  Bruno Haible  <bruno@clisp.org>
37974
37975         * lib/acl-internal.h: Add me as co-author.
37976         * lib/file-has-acl.c: Likewise.
37977         * lib/set-mode-acl.c: Likewise.
37978         * lib/copy-acl.c: Likewise.
37979
37980 2008-06-08  Bruno Haible  <bruno@clisp.org>
37981
37982         Add support for AIX ACLs.
37983         * lib/acl-internal.h (acl_nontrivial): New declaration.
37984         * lib/file-has-acl.c (acl_nontrivial): New function.
37985         (file_has_acl): Add implementation using AIX 4 ACL API.
37986         * lib/set-mode-acl.c (qset_acl): Likewise.
37987         * lib/copy-acl.c (qcopy_acl): Likewise.
37988
37989 2008-06-08  Bruno Haible  <bruno@clisp.org>
37990
37991         Add support for HP-UX ACLs.
37992         * lib/acl-internal.h (acl_nontrivial): New declaration.
37993         * lib/file-has-acl.c (acl_nontrivial): New function.
37994         (file_has_acl): Add implementation using HP-UX 11 ACL API.
37995         * lib/set-mode-acl.c (qset_acl): Likewise.
37996         * lib/copy-acl.c (qcopy_acl): Likewise.
37997
37998 2008-06-08  Bruno Haible  <bruno@clisp.org>
37999
38000         Add support for Cygwin ACLs.
38001         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
38002         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
38003         the chmod_or_fchmod call.
38004         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
38005
38006 2008-06-08  Bruno Haible  <bruno@clisp.org>
38007
38008         Fix bug with setuid modes in Solaris 10+ code.
38009         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
38010         succeeded, when the mode contains some special bits.
38011
38012 2008-06-08  Bruno Haible  <bruno@clisp.org>
38013
38014         Add support for Solaris 7..10 ACLs.
38015         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
38016         declarations.
38017         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
38018         functions.
38019         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
38020         * lib/set-mode-acl.c (qset_acl): Likewise.
38021         * lib/copy-acl.c (qcopy_acl): Likewise.
38022
38023 2008-06-08  Bruno Haible  <bruno@clisp.org>
38024
38025         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
38026         declaration.
38027         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
38028         (acl_access_nontrivial): Remove MacOS X case.
38029         (file_has_acl): Use acl_extended_nontrivial.
38030         * lib/copy-acl.c (qcopy_acl): Likewise.
38031
38032 2008-06-08  Bruno Haible  <bruno@clisp.org>
38033
38034         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
38035
38036 2008-06-08  Jim Meyering  <meyering@redhat.com>
38037
38038         * modules/acl (Maintainer): Add Bruno Haible.
38039
38040 2008-06-07  Bruno Haible  <bruno@clisp.org>
38041
38042         Improve support for Tru64 ACLs.
38043         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
38044         ACL on OSF/1.
38045
38046 2008-06-07  Bruno Haible  <bruno@clisp.org>
38047
38048         Add support for MacOS X ACLs.
38049         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
38050         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
38051         * lib/set-mode-acl.c (qset_acl): Likewise.
38052         * lib/copy-acl.c (qcopy_acl): Likewise.
38053
38054 2008-06-07  Bruno Haible  <bruno@clisp.org>
38055
38056         Fix memory leak introduced on 2008-05-22.
38057         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
38058         use.
38059
38060 2008-06-07  Bruno Haible  <bruno@clisp.org>
38061
38062         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
38063         to construct an empty ACL.
38064
38065 2008-06-07  Bruno Haible  <bruno@clisp.org>
38066
38067         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
38068         precisely.
38069         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
38070
38071 2008-06-07  Bruno Haible  <bruno@clisp.org>
38072
38073         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
38074         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
38075
38076 2008-06-07  Bruno Haible  <bruno@clisp.org>
38077
38078         * doc/posix-functions/_setjmp.texi: Explain the use of this function
38079         regardless of POSIX.
38080         * doc/posix-functions/_longjmp.texi: Likewise.
38081         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
38082         SystemV platform in this case.
38083
38084 2008-06-06  Eric Blake  <ebb9@byu.net>
38085
38086         Document abort() bugs.
38087         * doc/posix-functions/abort.texi (abort): Mention anomalies.
38088
38089         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
38090         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
38091         sigsetjmp.
38092         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
38093         siglongjmp, but only as a macro.
38094         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
38095         is obsolete.
38096         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
38097
38098         Tweak documentation to cover cygwin argz bugs.
38099         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
38100         argz bug fix; no code change needed since no cygwin releases
38101         occurred between the last fix and the bug being tested.
38102         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
38103         module and recently fixed cygwin bugs.
38104         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
38105         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
38106         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
38107         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
38108         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
38109         Likewise.
38110         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
38111         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
38112         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
38113         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
38114         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
38115         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
38116         Likewise.
38117
38118         Avoid gcc warning on cygwin.
38119         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
38120         !ACL_NO_TRIVIAL]: Avoid unused variable.
38121
38122 2008-06-05  Eric Blake  <ebb9@byu.net>
38123
38124         Be tolerant of UNKNOWN version in gnulib-tool test dir.
38125         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
38126         git-version-gen fails to come up with a version.
38127         Reported by Simon Josefsson.
38128
38129 2008-06-05  Jim Meyering  <meyering@redhat.com>
38130             Paul Eggert  <eggert@cs.ucla.edu>
38131
38132         utimens.c: work around a probable Linux kernel bug
38133         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
38134         appears to be a kernel bug that causes utimensat to return 280
38135         instead of 0, indicating success.
38136
38137 2008-06-04  Bruno Haible  <bruno@clisp.org>
38138
38139         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
38140         2008-06-01 commit.
38141
38142 2008-06-04  Bruno Haible  <bruno@clisp.org>
38143
38144         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
38145         * lib/file-has-acl.c (acl_access_nontrivial): New function.
38146         (file_has_acl): Use it. Save errno afterwards.
38147         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
38148
38149 2008-06-03  Bruno Haible  <bruno@clisp.org>
38150
38151         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
38152         draft code. Simplify #ifs.
38153         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
38154         Put Solaris code after POSIX-draft code. Fix comments regarding
38155         Solaris 10, HP-UX. Mention Cygwin.
38156         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
38157
38158 2008-06-03  Eric Blake  <ebb9@byu.net>
38159
38160         Provide fallback for older kernels.
38161         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
38162         Provide runtime fallback if kernel lacks support.
38163         Reported by Mike Frysinger.
38164
38165 2008-06-02  Bruno Haible  <bruno@clisp.org>
38166
38167         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
38168         it exists.
38169
38170 2008-06-02  Bruno Haible  <bruno@clisp.org>
38171
38172         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
38173         * lib/copy-acl.c (qcopy_acl): Update comment.
38174
38175 2008-06-02  Bruno Haible  <bruno@clisp.org>
38176
38177         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
38178         like ACL APIs.
38179
38180 2008-06-02  Bruno Haible  <bruno@clisp.org>
38181
38182         * tests/test-file-has-acl.sh: Use different code for Cygwin.
38183         * tests/test-set-mode-acl.sh: Likewise.
38184         * tests/test-copy-acl.sh: Likewise.
38185         * tests/test-copy-file.sh: Likewise.
38186
38187 2008-06-02  Bruno Haible  <bruno@clisp.org>
38188
38189         * tests/test-file-has-acl.sh: Remove unused code.
38190
38191 2008-06-01  Bruno Haible  <bruno@clisp.org>
38192
38193         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
38194         (copy_acl): Just a wrapper around qcopy_acl that emits the error
38195         messages.
38196         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
38197
38198 2008-06-01  Bruno Haible  <bruno@clisp.org>
38199
38200         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
38201         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
38202         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
38203         APIs.
38204         * modules/acl-tests (configure.ac): Remove tests now contained in
38205         m4/acl.m4.
38206
38207 2008-06-02  Jim Meyering  <meyering@redhat.com>
38208
38209         announce-gen: use a better key-server host name
38210         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
38211         it may be more consistently reliable.  Suggested by Werner Koch
38212         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
38213
38214 2008-06-01  Bruno Haible  <bruno@clisp.org>
38215
38216         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
38217         Reported by Voroskoi Andras <voroskoi@gmail.com>.
38218
38219 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
38220
38221         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
38222
38223 2008-06-01  Bruno Haible  <bruno@clisp.org>
38224
38225         New ACL tests.
38226         * tests/test-file-has-acl.sh: New file.
38227         * tests/test-file-has-acl.c: New file.
38228         * tests/test-set-mode-acl.sh: New file.
38229         * tests/test-set-mode-acl.c: New file.
38230         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
38231         * tests/test-copy-acl.c: New file.
38232         * modules/acl-tests: New file, based on modules/copy-file-tests.
38233         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
38234         (Depends-on): Add acl-tests.
38235         (configure.ac): Remove checks.
38236         (Makefile.am): Don't create test-sameacls program here any more.
38237
38238 2008-06-01  Bruno Haible  <bruno@clisp.org>
38239
38240         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
38241         * tests/test-sameacls.c: Include progname.h.
38242         (main): Invoke set_program_name. Portability fixes for MacOS X,
38243         Solaris, HP-UX.
38244
38245 2008-06-01  Bruno Haible  <bruno@clisp.org>
38246
38247         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
38248         function.
38249         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
38250
38251 2008-06-01  Bruno Haible  <bruno@clisp.org>
38252
38253         * modules/rpmatch (Depends-on): Add strdup.
38254
38255 2008-06-01  Bruno Haible  <bruno@clisp.org>
38256
38257         * lib/pipe.c: Include unistd-safer.h.
38258         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
38259         * modules/pipe (Depends-on): Add unistd-safer.
38260
38261 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38262
38263         * modules/autobuild (configure.ac): Call AB_INIT.
38264
38265 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38266
38267         * tests/test-getaddrinfo.c: Don't print debug messages by default.
38268         Suggested by Bruno Haible <bruno@clisp.org>.
38269
38270 2008-05-30  Simon Josefsson  <simon@josefsson.org>
38271
38272         * tests/test-base64.c: Cast size_t to unsigned long when invoking
38273         printf.  Use %lu instead of %d.  Reported by Bruno Haible
38274         <bruno@clisp.org>.
38275
38276 2008-05-29  Eric Blake  <ebb9@byu.net>
38277
38278         Prefer new POSIX 200x interfaces over futimesat.
38279         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
38280         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
38281         when available.
38282         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
38283
38284 2008-05-28  Bruno Haible  <bruno@clisp.org>
38285
38286         * modules/stpcpy (License): Change to LGPLv2+.
38287         Requested by David Lutterkort <dlutter@redhat.com>.
38288
38289 2008-05-27  Bruno Haible  <bruno@clisp.org>
38290
38291         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
38292         current mingw.
38293         Reported by Jose E. Marchesi <jemarch@gnu.org>.
38294
38295 2008-05-27  Bruno Haible  <bruno@clisp.org>
38296
38297         * modules/iconv_open (Link): New section, from module 'iconv'.
38298         * modules/striconv (Link): Likewise.
38299         * modules/striconveh (Link): Likewise.
38300         * modules/xstriconv (Link): Likewise.
38301         * modules/unicodeio (Link): Likewise.
38302         * modules/propername (Link): Likewise.
38303         Reported by Jim Meyering.
38304
38305 2008-05-26  Jim Meyering  <meyering@redhat.com>
38306
38307         sha256: do not artificially restrict buffer length to be < 2^32
38308         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
38309         uint32_t to size_t.
38310         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
38311         to match.
38312
38313         avoid unaligned access errors, e.g., on sparc
38314         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
38315         direct access through a possibly-unaligned uint64* pointer.
38316         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
38317         direct access through a possibly-unaligned uint32* pointer.
38318         Prompted by this patch from Tom "spot" Callaway:
38319         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
38320
38321         sha512.c: fix typo in comment
38322         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
38323
38324 2008-05-25  Bruno Haible  <bruno@clisp.org>
38325
38326         * lib/set-mode-acl.c: Renamed from lib/acl.c.
38327         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
38328         (Makefile.am): Update lib_SOURCES.
38329
38330 2008-05-25  Bruno Haible  <bruno@clisp.org>
38331
38332         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
38333
38334 2008-05-25  Jim Meyering  <meyering@redhat.com>
38335
38336         useless-if-before-free: freed expr may have white-space differences
38337         * build-aux/useless-if-before-free: Recognize cases in which the
38338         freed expression differs from the tested one in embedded white
38339         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
38340         $1 was used, so we can't make any regexp shy.  Improved tests now
38341         detect this.
38342
38343         useless-if-before-free: accept white space in the expression.
38344         * build-aux/useless-if-before-free: For now, any white space
38345         in the expression must be identical in the free argument.
38346
38347         useless-if-before-free: efficiency tweak
38348         * build-aux/useless-if-before-free: Make the expression-matching
38349         regexp "shy".
38350         Make the *outer* regexp shy, not the expr-matching one.
38351
38352         update code-in-comment to accept cast of free arg
38353         * build-aux/useless-if-before-free: Update regexp.
38354
38355 2008-05-25  Bruno Haible  <bruno@clisp.org>
38356
38357         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
38358         * modules/copy-file-tests (Files, Makefile.am): Update.
38359         * tests/test-copy-file.c (func_test_copy): Update.
38360
38361 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
38362
38363         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
38364
38365 2008-05-23  Bruno Haible  <bruno@clisp.org>
38366
38367         Improve support for ACLs on OSF/1.
38368         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
38369         Remove fallback for unknown flavors of ACLs.
38370
38371 2008-05-22  Bruno Haible  <bruno@clisp.org>
38372
38373         Add support for ACLs on OSF/1.
38374         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
38375         replacements.
38376         (acl_free_text): New macro fallback.
38377         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
38378         acl_free.
38379         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
38380         acl_free_text function. Require AC_C_INLINE.
38381
38382 2008-05-22  Bruno Haible  <bruno@clisp.org>
38383
38384         Make copy_acl work on MacOS X 10.5.
38385         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
38386         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
38387         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
38388         If MODE_INSIDE_ACL, don't assume that every system has the same text
38389         representation for ACLs as FreeBSD.
38390         * lib/copy-acl.c (copy_acl): Add support for platforms with
38391         !MODE_INSIDE_ACL.
38392         * lib/file-has-acl.c (file_has_acl): Likewise.
38393         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
38394         FreeBSD, MacOS X, or IRIX, respectively.
38395
38396 2008-05-22  Bruno Haible  <bruno@clisp.org>
38397
38398         * lib/acl.h: Don't include <sys/acl.h>.
38399         (GETACLCNT): Move fallback to lib/acl-internal.h.
38400         * lib/acl-internal.h: Include <sys/acl.h> here.
38401         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
38402
38403 2008-05-22  Bruno Haible  <bruno@clisp.org>
38404
38405         Split off copy_acl function to separate file.
38406         * lib/copy-acl.c: New file, extracted from lib/acl.c.
38407         * lib/acl.c (copy_acl): Moved function to separate file.
38408         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
38409         * modules/acl (Files): Add lib/copy-acl.c.
38410         (Makefiles.am): Augment lib_SOURCES.
38411
38412 2008-05-22  Bruno Haible  <bruno@clisp.org>
38413
38414         * modules/copy-file-tests: New file.
38415         * tests/test-copy-file.sh: New file.
38416         * tests/test-copy-file.c: New file.
38417         * tests/test-copy-file-sameacls.c: New file.
38418
38419 2008-05-22  Eric Blake  <ebb9@byu.net>
38420
38421         Avoid gcc warning.
38422         * tests/test-memcmp.c (main): Pass NULL indirectly.
38423
38424 2008-05-21  Bruno Haible  <bruno@clisp.org>
38425
38426         Add reference doc about ACLs.
38427         * doc/acl-resources.txt: New file.
38428         * doc/acl-cygwin.txt: New file.
38429
38430 2008-05-21  Bruno Haible  <bruno@clisp.org>
38431
38432         Avoid one more warning from gcc.
38433         * lib/vasnprintf.c (IF_LINT): Update comments.
38434         (VASNPRINTF): Use it also for the 'prefix' array initializer.
38435
38436 2008-05-21  Jim Meyering  <meyering@redhat.com>
38437
38438         avoid a warning from gcc
38439         * lib/vasnprintf.c (IF_LINT): Define.
38440         (scale10_round_decimal_long_double):
38441         Use it to avoid a "may be used uninitialized" warning.
38442         (scale10_round_decimal_double): Likewise.
38443
38444 2008-05-21  Simon Josefsson  <simon@josefsson.org>
38445
38446         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
38447         declared.
38448
38449 2008-05-20  Bruno Haible  <bruno@clisp.org>
38450
38451         * tests/test-memcmp.c (main): Test also the sign of the result. Test
38452         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
38453
38454 2008-05-20  Simon Josefsson  <simon@josefsson.org>
38455
38456         * modules/memcmp-tests: New file.
38457         * tests/test-memcmp.c: New file.
38458
38459 2008-05-19  Bruno Haible  <bruno@clisp.org>
38460
38461         * modules/propername (Notice, configure.ac): Put quoted "..." into
38462         --keyword option.
38463         * lib/propername.h: Update comments accordingly.
38464         Reported by Eric Blake.
38465
38466 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
38467
38468         * modules/getpass-gnu (Depends-on): Add fseeko.
38469
38470 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38471
38472         * modules/base64-tests: New file.
38473
38474 2008-05-19  Bo Borgerson <gigabo@gmail.com>
38475
38476         * lib/base64.c (base64_decode_ctx): If a decode context structure
38477         was passed in use it to ignore newlines.  If a context structure
38478         was _not_ passed in, continue to treat newlines as garbage (this
38479         is the historical behavior).  Formerly base64_decode.
38480         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38481         takes a decode context structure.
38482         * lib/base64.h (base64_decode): Macro for four-argument calls.
38483         (base64_decode_alloc): Likewise.
38484         * lib/base64.c (base64_decode_ctx): If a decode context structure
38485         was passed in use it to ignore newlines.  If a context structure
38486         was _not_ passed in, continue to treat newlines as garbage (this
38487         is the historical behavior).  Formerly base64_decode.
38488         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
38489         takes a decode context structure.
38490         * lib/base64.h (base64_decode): Macro for four-argument calls.
38491         (base64_decode_alloc): Likewise.
38492
38493 2008-05-19  Jim Meyering  <meyering@redhat.com>
38494
38495         avoid a warning from gcc
38496         * lib/trim.c (IF_LINT): Define.
38497         (trim2): Use it to avoid a "may be used uninitialized" warning.
38498
38499         Fix doc typo.
38500         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
38501
38502 2008-05-19  Bruno Haible  <bruno@clisp.org>
38503
38504         * doc/glibc-functions/getpass.texi: Document limits of other
38505         implementations.
38506
38507 2008-05-19  Simon Josefsson  <simon@josefsson.org>
38508             Bruno Haible <bruno@clisp.org>
38509
38510         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
38511
38512 2008-05-18  Bruno Haible  <bruno@clisp.org>
38513
38514         * modules/propername: New file, from GNU gettext.
38515         * lib/propername.h: New file, from GNU gettext.
38516         * lib/propername.c: New file, from GNU gettext.
38517         * MODULES.html.sh (Internationalization functions): Add propername.
38518
38519 2008-05-16  Jim Meyering  <meyering@redhat.com>
38520             Bruno Haible  <bruno@clisp.org>
38521
38522         Avoid some warnings from "gcc -Wshadow".
38523         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
38524
38525 2008-05-15  Eric Blake  <ebb9@byu.net>
38526
38527         Extend previous patch to cygwin 1.7.0.
38528         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
38529         fast implementation in cygwin >= 1.7.0.
38530         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38531         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38532
38533 2008-05-15  Bruno Haible  <bruno@clisp.org>
38534
38535         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
38536         implementation in glibc >= 2.9.
38537         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
38538         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38539
38540 2008-05-15  Bruno Haible  <bruno@clisp.org>
38541
38542         * MODULES.html.sh (Internationalization functions): Remove linebreak.
38543         (Unicode string functions): Add unilbrk/*.
38544         Reported by Karl Berry.
38545
38546 2008-05-15  Eric Blake  <ebb9@byu.net>
38547
38548         Fix violation of <stdbool.h> replacement in regex.
38549         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
38550         * lib/regexec.c (re_search_internal): Likewise.
38551         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
38552
38553 2008-05-15  Jim Meyering  <meyering@redhat.com>
38554
38555         avoid distracting test output when git or cvs is not found
38556         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
38557         * tests/test-vc-list-files-git.sh: Likewise.
38558
38559 2008-05-15  Eric Blake  <ebb9@byu.net>
38560
38561         Glibc finally accepted the memmem speedup code, bugzilla #5514.
38562         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
38563         glibc version.
38564         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
38565         * doc/posix-functions/strstr.texi (strstr): Likewise.
38566         * lib/str-two-way.h (MAX): Sychronize with glibc.
38567
38568 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
38569
38570         * lib/regcomp.c (optimize_utf8): Add a note on why we test
38571         opr.ctx_type.
38572         (calc_first): Initialize constraint field.
38573         (duplicate_node_closure): Use it instead of special casing ANCHORS.
38574         Fix grammar.
38575         (duplicate_node): Merge constraint field for all node types.
38576         (calc_eclosure_iter): Look at constraint field for all node types.
38577         * lib/regex_internal.c (create_cd_newstate): Don't look at
38578         opr.ctx_type.
38579
38580 2008-05-14  Bruno Haible  <bruno@clisp.org>
38581
38582         Help GCC to do better code generation.
38583         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
38584         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
38585         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
38586         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
38587         Declare with attribute 'malloc' if supported.
38588
38589 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
38590
38591         use "echo STR|wc -c" rather than unportable "expr length STR"
38592         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
38593         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
38594
38595 2008-05-14  Jim Meyering  <meyering@redhat.com>
38596
38597         use dd ibs=$n count=1 ... rather than less-portable head -c$n
38598         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
38599         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
38600         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
38601         via Collin Lasse.
38602
38603 2008-05-14  Eric Blake  <ebb9@byu.net>
38604
38605         Avoid quadratic growth in gl_LIBSOURCES.
38606         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
38607         Suggested by Bruno Haible.
38608
38609         Test xmemdup0.
38610         * modules/xmemdup0-tests: New file.
38611         * tests/test-xmemdup0.c: Likewise.
38612
38613 2008-05-13  Eric Blake  <ebb9@byu.net>
38614
38615         Split xmemdup0 into its own module.
38616         * modules/xmemdup0: New file.
38617         * lib/xmemdup0.h: Likewise.
38618         * lib/xmemdup0.c: Likewise.
38619         * MODULES.html.sh (Memory management functions): Add xmemdup0.
38620         * lib/xalloc.h (xmemdup0): Remove.
38621         * lib/xmalloc.c (xmemdup0): Likewise.
38622
38623 2008-05-13  Eric Blake  <ebb9@byu.net>
38624             Bruno Haible  <bruno@clisp.org>
38625
38626         Reduce number of forks required during autoconf.
38627         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
38628         and gl_LIBSOURCES_DIR.
38629         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
38630         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
38631         m4_syscmd per file.
38632         <m4_foreach_w>: Move...
38633         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
38634
38635 2008-05-13  Eric Blake  <ebb9@byu.net>
38636
38637         * gnulib-tool: Fix various comment typos.
38638
38639 2008-05-12  Bruno Haible  <bruno@clisp.org>
38640
38641         Tailor the linebreaking algorithm.
38642         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
38643
38644 2008-05-12  Bruno Haible  <bruno@clisp.org>
38645
38646         Update to Unicode 5.0.0.
38647         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
38648         LBP_JV, LBP_JT. Redistribute values.
38649         (unilbrk_table): Change size.
38650         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
38651         Unicode TR#14 rev. 22.
38652         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
38653         LBP_JV, LBP_JT. Redistribute values.
38654         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
38655         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
38656         Update.
38657         * lib/unilbrk/lbrkprop1.h: Regenerated.
38658         * lib/unilbrk/lbrkprop2.h: Regenerated.
38659         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
38660         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
38661         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
38662         Likewise.
38663         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
38664         Likewise.
38665         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
38666         result.
38667         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
38668         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
38669         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
38670         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
38671         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
38672         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
38673
38674 2008-05-11  Bruno Haible  <bruno@clisp.org>
38675
38676         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
38677
38678 2008-05-11  Bruno Haible  <bruno@clisp.org>
38679
38680         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
38681         * modules/unilbrk/gen-lbrk: New file.
38682
38683 2008-05-11  Bruno Haible  <bruno@clisp.org>
38684
38685         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
38686         * m4/sha512.m4 (gl_SHA512): Likewise.
38687
38688 2008-05-11  Jim Meyering  <meyering@redhat.com>
38689
38690         New modules: crypto/sha256, crypto/sha512 (from coreutils)
38691         * modules/crypto/sha256: New file.
38692         * modules/crypto/sha512: Likewise.
38693         * lib/sha256.c: Likewise.
38694         * lib/sha256.h: Likewise.
38695         * lib/sha512.c: Likewise.
38696         * lib/sha512.h: Likewise.
38697         * lib/u64.h: Likewise.
38698         * m4/sha256.m4: Likewise.
38699         * m4/sha512.m4: Likewise.
38700         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
38701
38702 2008-05-10  Bruno Haible  <bruno@clisp.org>
38703
38704         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
38705         (Input/Output <stdio.h>): Add xprintf.
38706         (Signal handling <signal.h>): Add strsignal.
38707         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
38708         (Core language properties): Add func.
38709         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
38710         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
38711         strings.
38712         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
38713         (Input/output): New section.
38714         (File system functions): Add openat-die, stat-macros.
38715         (Networking functions): Add sockets.
38716         (Unicode string functions): Add unictype/*.
38717         (Support for building libraries and executables): Add gperf.
38718         (Support for building documentation): Add agpl-3.0.
38719         (Misc): Add nocrash.
38720
38721 2008-05-10  Bruno Haible  <bruno@clisp.org>
38722
38723         * modules/unictype/gen-ctype: New file.
38724
38725 2008-05-10  Jim Meyering  <meyering@redhat.com>
38726
38727         Make chdir-safer.c more efficient on a system with no symlinks.
38728         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
38729         also if ELOOP is zero.  Suggested by Bruno Haible.
38730
38731         Make chdir-safer.c slightly safer.
38732         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
38733         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
38734
38735         Avoid compile failure on systems without ELOOP (like mingw).
38736         * lib/chdir-safer.c (ELOOP): Define if not already defined.
38737         Reported by Bruno Haible.
38738
38739 2008-05-10  Bruno Haible  <bruno@clisp.org>
38740
38741         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
38742         (is_utf8_encoding): Use a case-insensitive comparison.
38743         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
38744         streq.
38745
38746 2008-05-10  Bruno Haible  <bruno@clisp.org>
38747
38748         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
38749         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
38750         * lib/unilbrk/ulc-common.h (iconv_string_length,
38751         iconv_string_keeping_offsets): Remove declarations.
38752         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
38753         Don't include <iconv.h>, streq.h, xsize.h.
38754         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
38755         conversion.
38756         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
38757         <iconv.h>, streq.h, xsize.h.
38758         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
38759         conversion.
38760         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
38761         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
38762         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
38763         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
38764
38765 2008-05-10  Bruno Haible  <bruno@clisp.org>
38766
38767         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
38768         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
38769
38770         * modules/unilbrk/u32-width-linebreaks-tests: New file.
38771         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
38772
38773         * modules/unilbrk/u16-width-linebreaks-tests: New file.
38774         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
38775
38776         * modules/unilbrk/u8-width-linebreaks-tests: New file.
38777         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
38778
38779         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
38780         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
38781
38782         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
38783         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
38784
38785         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
38786         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
38787
38788         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
38789         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
38790
38791 2008-05-10  Bruno Haible  <bruno@clisp.org>
38792
38793         Split up 'linebreak' module.
38794         * lib/unilbrk.h: New file, based on lib/linebreak.h.
38795         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
38796         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
38797         modifications.
38798         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
38799         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
38800         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
38801         lib/linebreak.c.
38802         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
38803         lib/linebreak.c.
38804         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
38805         lib/linebreak.c.
38806         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
38807         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
38808         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
38809         lib/linebreak.c.
38810         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
38811         lib/linebreak.c.
38812         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
38813         lib/linebreak.c.
38814         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
38815         lib/linebreak.c.
38816         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
38817         lib/linebreak.c.
38818         * modules/unilbrk/base: New file.
38819         * modules/unilbrk/tables: New file.
38820         * modules/unilbrk/u8-possible-linebreaks: New file.
38821         * modules/unilbrk/u16-possible-linebreaks: New file.
38822         * modules/unilbrk/u32-possible-linebreaks: New file.
38823         * modules/unilbrk/ulc-common: New file.
38824         * modules/unilbrk/ulc-possible-linebreaks: New file.
38825         * modules/unilbrk/u8-width-linebreaks: New file.
38826         * modules/unilbrk/u16-width-linebreaks: New file.
38827         * modules/unilbrk/u32-width-linebreaks: New file.
38828         * modules/unilbrk/ulc-width-linebreaks: New file.
38829         * lib/linebreak.h: Remove file.
38830         * lib/linebreak.c: Remove file.
38831         * m4/linebreak.m4: Remove file.
38832         * modules/linebreak: Remove file.
38833         * NEWS: Mention the changes.
38834
38835 2008-05-09  Eric Blake  <ebb9@byu.net>
38836
38837         Add xmemdup0.
38838         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
38839         implementation.
38840         * lib/xmalloc.c (xmemdup0): New C implementation.
38841
38842 2008-05-08  Bruno Haible  <bruno@clisp.org>
38843
38844         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
38845
38846 2008-05-07  Eric Blake  <ebb9@byu.net>
38847
38848         Support cross-compilation of <wctype.h>.
38849         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
38850         AC_CACHE_CHECK.
38851
38852 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
38853
38854         * build-aux/vc-list-files: Add support for bzr.
38855
38856 2008-05-03  Jim Meyering  <meyering@redhat.com>
38857
38858         avoid failed assertion with tight malloc
38859         * tests/test-getndelim2.c: Correct an off-by-one assertion.
38860
38861 2008-05-03  Simon Josefsson  <simon@josefsson.org>
38862
38863         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
38864         are needed from arpa/inet.h.
38865         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
38866         Reported by Bruno Haible.
38867
38868 2008-05-02  Jim Meyering  <meyering@redhat.com>
38869
38870         avoid compilation error on FreeBSD 6
38871         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
38872
38873 2008-05-01  Jim Meyering  <meyering@redhat.com>
38874
38875         useless-if-before-free: correct --help's exit status description
38876         * build-aux/useless-if-before-free (usage): Like grep, exit 0
38877         for one or more matches, etc.  Reported by Bruno Haible.
38878
38879         vc-list-files: make the stand-alone gnulib test work
38880         * modules/vc-list-files-tests (configure.ac):
38881         Define and AC_SUBST abs_aux_dir.
38882         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
38883         $(abs_top_srcdir) to each script and having each of them
38884         duplicate the work of setting PATH, set PATH here, using
38885         the new variable, abs_aux_dir instead.
38886         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
38887         * tests/test-vc-list-files-git.sh: Likewise.
38888         Reported by Bruno Haible.
38889
38890 2008-05-01  Bruno Haible  <bruno@clisp.org>
38891
38892         * lib/getndelim2.c (getndelim2): Fix newsize computation during
38893         reallocation. Rename 'done' to 'found_delimiter'.
38894
38895 2008-05-01  Jim Meyering  <meyering@redhat.com>
38896
38897         vc-list-files: accommodate /bin/sh like the one from Solaris 10
38898         * build-aux/vc-list-files: Use `...`, not $(...).
38899
38900 2008-04-30  Jim Meyering  <meyering@redhat.com>
38901
38902         add tests for vc-list-files
38903         * modules/vc-list-files-tests: New module.
38904         * tests/test-vc-list-files-cvs.sh: New file.
38905         * tests/test-vc-list-files-git.sh: New file.
38906
38907         avoid a warning from gcc
38908         * lib/getndelim2.c (IF_LINT): Define.
38909         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
38910
38911         vc-list-files: work properly with build-aux/cvsu, too
38912         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
38913         to all cvs-based clauses.
38914
38915         vc-list-files: work properly in the CVS+awk case, too
38916         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
38917
38918         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
38919         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
38920         take more than one file argument, so .  Add quotes, just in case $dir
38921         ever contains a shell meta-character.  Prompted by Soren Hansen in
38922         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
38923
38924 2008-04-29  Eric Blake  <ebb9@byu.net>
38925
38926         Optimize getndelim2 to use block operations when possible.
38927         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
38928         freadseek, and memchr2.
38929         * lib/getndelim2.c (getndelim2): Use them for block reads.
38930
38931 2008-04-29  Bruno Haible  <bruno@clisp.org>
38932
38933         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
38934         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38935         * modules/inet_ntop (Depends-on): Add extensions.
38936         * modules/inet_pton (Depends-on): Likewise.
38937         Reported by Simon Josefsson.
38938
38939 2008-04-29  Jim Meyering  <meyering@redhat.com>
38940
38941         When the is more than one match in a block, match all of them.
38942         * build-aux/useless-if-before-free: Iterate through each block
38943         until there are no more matches.
38944
38945         Fix broken useless-if-before-free script.
38946         * build-aux/useless-if-before-free: Fix typo: missing "?" after
38947         the expression to match cast of argument to free-like function.
38948
38949 2008-04-29  Eric Blake  <ebb9@byu.net>
38950
38951         Use new header.
38952         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
38953
38954 2008-04-29  Jim Meyering  <meyering@redhat.com>
38955
38956         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
38957         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
38958         by gnulib to exist and to declare e.g., inet_ntop.
38959         Don't include "inet_ntop.h", now removed.
38960
38961         * m4/arpa_inet_h.m4: Remove trailing blanks.
38962
38963 2008-04-29  Eric Blake  <ebb9@byu.net>
38964
38965         Silence valgrind on safe reads beyond potential array bounds.
38966         * lib/rawmemchr.valgrind: New file.
38967         * lib/strchrnul.valgrind: Likewise.
38968         * modules/rawmemchr (Files): Distribute new file.
38969         * modules/strchrnul (Files): Likewise.
38970         Suggested by Bruno Haible.
38971
38972 2008-04-29  Bruno Haible  <bruno@clisp.org>
38973
38974         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
38975         (inet_ntop, inet_pton): Change portability warning's wording.
38976         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
38977         Invoke gl_CHECK_NEXT_HEADERS.
38978         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
38979         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
38980         set ARPA_INET_H.
38981         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
38982         * modules/arpa_inet (Description): No longer only for systems that
38983         lack it.
38984         (Depends-on): Add include_next.
38985         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
38986         HAVE_ARPA_INET_H.
38987
38988 2008-04-29  Jim Meyering  <meyering@redhat.com>
38989
38990         * modules/mkdir (License): Re-license as LGPLv2+.
38991
38992 2008-04-29  Bruno Haible  <bruno@clisp.org>
38993
38994         * modules/rawmemchr (Maintainer): Set to Eric.
38995         * modules/strchrnul (Maintainer): Likewise.
38996
38997 2008-04-29  Simon Josefsson  <simon@josefsson.org>
38998
38999         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
39000         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
39001
39002         * modules/arpa_inet (arpa/inet.h): Use them.
39003
39004 2008-04-28  Eric Blake  <ebb9@byu.net>
39005
39006         Test getndelim2.
39007         * modules/getndelim2-tests: New file.
39008         * tests/test-getndelim2.c: Likewise.
39009         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
39010         stream.
39011         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
39012
39013         * MODULES.html.sh: Document new module.
39014
39015 2008-04-20  Bruno Haible  <bruno@clisp.org>
39016
39017         * lib/c-stack.c (die): Use raise.
39018         * modules/c-stack (Depends-on): Add raise.
39019
39020 2008-04-28  Bruno Haible  <bruno@clisp.org>
39021
39022         Expect rpmatch to be declared.
39023         * lib/yesno.c (rpmatch): Remove declaration.
39024
39025         Declare rpmatch.
39026         * lib/stdlib.in.h (rpmatch): New declaration.
39027         * lib/rpmatch.c: Include <stdlib.h> first.
39028         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
39029         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
39030         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
39031         HAVE_RPMATCH.
39032         * modules/rpmatch (Depends-on): Add stdlib, extensions.
39033         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39034         (Include): Set to <stdlib.h>.
39035         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
39036         HAVE_RPMATCH.
39037         * NEWS: Document the change.
39038
39039 2008-04-28  Bruno Haible  <bruno@clisp.org>
39040
39041         Change rpmatch to use nl_langinfo when appropriate.
39042         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
39043         (N_): New macro.
39044         (localized_pattern): New function/macro.
39045         (try): Remove match, nomatch arguments. Copy the pattern into safe
39046         memory before caching it.
39047         (rpmatch): Use localized_pattern. Add translator comments.
39048         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
39049         Suggested by Eric Blake.
39050         * modules/rpmatch (Depends-on): Add stdbool.
39051
39052 2008-04-28  Eric Blake  <ebb9@byu.net>
39053
39054         Add rawmemchr module, matching glibc.
39055         * modules/string (Makefile.am): New indicator.
39056         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
39057         * lib/string.in.h (rawmemchr): Declare when appropriate.
39058         * modules/rawmemchr: New file.
39059         * m4/rawmemchr.m4: Likewise.
39060         * lib/rawmemchr.c: Likewise.
39061         * modules/rawmemchr-tests: Likewise.
39062         * tests/test-rawmemchr.c: Likewise.
39063         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
39064         module.
39065         * modules/strchrnul (Depends-on): Add rawmemchr.
39066         * lib/strchrnul.c (strchrnul): Optimize a corner case.
39067
39068         Whitespace cleanup.
39069         * tests/test-strchrnul.c: Reindent.
39070         * lib/strchrnul.c: Likewise.
39071
39072         Optimize and test strchrnul.
39073         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
39074         * modules/strchrnul-tests: New file.
39075         * tests/test-strchrnul.c: Likewise.
39076
39077         Remove intprops dependency.
39078         * modules/memchr (Depends-on): Remove intprops.
39079         * modules/memrchr (Depends-on): Likewise.
39080         * modules/memchr2 (Depends-on): Likewise.
39081         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
39082         * lib/memrchr.c (__memrchr): Likewise.
39083         * lib/memrchr2.c (memchr2): Likewise.
39084         Reported by Simon Josefsson.
39085
39086 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39087
39088         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
39089         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39090
39091 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39092
39093         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
39094
39095         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
39096
39097         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
39098
39099         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
39100         declarations.
39101         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
39102
39103         * m4/inet_pton.m4: Don't check for header files.
39104
39105         * m4/inet_ntop.m4: Don't check for header files.
39106
39107 2008-04-28  Simon Josefsson  <simon@josefsson.org>
39108
39109         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
39110         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
39111         trigger for cygwin).
39112         Reported by Bruno Haible  <bruno@clisp.org>.
39113
39114 2008-04-28  Bruno Haible  <bruno@clisp.org>
39115
39116         * doc/posix-functions/strdup.texi: Mention mingw problem.
39117
39118 2008-04-27  Bruno Haible  <bruno@clisp.org>
39119
39120         * modules/stat-time-tests (Depends-on): Add sleep.
39121         * tests/test-stat-time.c (force_unlink): New function.
39122         (cleanup): Use it.
39123         (test_mtime): Remove the ctime related tests.
39124         (test_ctime): New function, containing the ctime related tests.
39125         (main): Call test_ctime, except on native Windows platforms.
39126
39127 2008-04-27  Bruno Haible  <bruno@clisp.org>
39128
39129         * lib/rpmatch.c (rpmatch): Add some comments.
39130         Reported by James Youngman <jay@gnu.org>.
39131
39132 2008-04-27  Bruno Haible  <bruno@clisp.org>
39133
39134         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
39135         quiet NaNs.
39136
39137 2008-04-27  Bruno Haible  <bruno@clisp.org>
39138
39139         Make test-yesno.sh work on mingw.
39140         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
39141         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
39142         (main): Set stdin to binary mode.
39143         * modules/yesno-tests (Depends-on): Add binary-io.
39144
39145 2008-04-27  Bruno Haible  <bruno@clisp.org>
39146
39147         Fix 'isfinite' on x86, x86_64, ia64 platforms.
39148         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
39149         argument that lie outside the IEEE 854 domain.
39150         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
39151         (gl_ISFINITE): Use it.
39152         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
39153
39154 2008-04-27  Bruno Haible  <bruno@clisp.org>
39155
39156         Allow local renaming in config.h.
39157         * lib/memrchr.c (memrchr): Don't undefine outside libc.
39158
39159 2008-04-27  Bruno Haible  <bruno@clisp.org>
39160
39161         * lib/memchr.c (__memchr): Change type of 'i'.
39162         * lib/memchr2.c (memchr2): Likewise.
39163
39164 2008-04-26  Eric Blake  <ebb9@byu.net>
39165         and Bruno Haible  <bruno@clisp.org>
39166
39167         Optimize and test memrchr.
39168         * modules/memrchr (Depends-on): Add intprops.
39169         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
39170         * modules/memrchr-tests: New file.
39171         * tests/test-memrchr.c: New file.
39172
39173 2008-04-26  Bruno Haible  <bruno@clisp.org>
39174
39175         Add tentative support for DragonFly BSD.
39176         * lib/stdio-impl.h: Add macros for DragonFly BSD.
39177         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
39178         fp.
39179         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39180         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
39181         * lib/fpurge.c (fpurge): Likewise.
39182         * lib/freadable.c (freaadable): Likewise.
39183         * lib/freadahead.c (freadahead): Likewise.
39184         * lib/freading.c (freading): Likewise.
39185         * lib/freadptr.c (freadptr): Likewise.
39186         * lib/freadseek.c (freadptrinc): Likewise.
39187         * lib/fseeko.c (fseeko): Likewise.
39188         * lib/fseterr.c (fseterr): Likewise.
39189         * lib/fwritable.c (fwritable): Likewise.
39190         * lib/fwriting.c (fwriting): Likewise.
39191
39192 2008-04-26  Bruno Haible  <bruno@clisp.org>
39193
39194         * lib/stdio-impl.h: New file.
39195         * lib/fbufmode.c: Include stdio-impl.h.
39196         (fbufmode): Use fp_, remove redundant #defines.
39197         * lib/fflush.c: Include stdio-impl.h.
39198         (clear_ungetc_buffer): Remove redundant #defines.
39199         * lib/fpurge.c: Include stdio-impl.h.
39200         (fpurge): Remove redundant #defines.
39201         * lib/freadable.c: Include stdio-impl.h.
39202         (freadable): Remove redundant #defines.
39203         * lib/freadahead.c: Include stdio-impl.h.
39204         (freadahead): Remove redundant #defines.
39205         * lib/freading.c: Include stdio-impl.h.
39206         (freading): Remove redundant #defines.
39207         * lib/freadptr.c: Include stdio-impl.h.
39208         (freadptr): Remove redundant #defines.
39209         * lib/freadseek.c: Include stdio-impl.h.
39210         (freadptrinc): Remove redundant #defines.
39211         * lib/fseeko.c: Include stdio-impl.h.
39212         (rpl_fseeko): Remove redundant #defines.
39213         * lib/fseterr.c: Include stdio-impl.h.
39214         (fseterr): Remove redundant #defines.
39215         * lib/fwritable.c: Include stdio-impl.h.
39216         (fwritable: Remove redundant #defines.
39217         * lib/fwriting.c: Include stdio-impl.h.
39218         (fwriting): Remove redundant #defines.
39219         * modules/fbufmode (Files): Add lib/stdio-impl.h.
39220         * modules/fflush (Files): Likewise.
39221         * modules/fpurge (Files): Likewise.
39222         * modules/freadable (Files): Likewise.
39223         * modules/freadahead (Files): Likewise.
39224         * modules/freading (Files): Likewise.
39225         * modules/freadptr (Files): Likewise.
39226         * modules/freadseek (Files): Likewise.
39227         * modules/fseeko (Files): Likewise.
39228         * modules/fseterr (Files): Likewise.
39229         * modules/fwritable (Files): Likewise.
39230         * modules/fwriting (Files): Likewise.
39231
39232 2008-04-26  Bruno Haible  <bruno@clisp.org>
39233
39234         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
39235         restore_seek_optimization, update_fpos_cache): New functions, extracted
39236         from rpl_fflush.
39237         (rpl_fflush): Use them.
39238         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
39239         (gl_REPLACE_FFLUSH): Use it.
39240
39241 2008-04-26  Bruno Haible  <bruno@clisp.org>
39242
39243         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
39244         on Solaris.
39245         * tests/test-xstrtoimax.sh: Likewise.
39246         * tests/test-xstrtoumax.sh: Likewise.
39247         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39248
39249 2008-04-26  Bruno Haible  <bruno@clisp.org>
39250
39251         * modules/memchr-tests: New file.
39252         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
39253
39254 2008-04-26  Eric Blake  <ebb9@byu.net>
39255             Bruno Haible  <bruno@clisp.org>
39256
39257         * lib/memchr.c: Include intprops.h.
39258         (__memchr): Optimize parallel detection of matching bytes. Rename local
39259         variables. Add explanatory comments.
39260
39261 2008-04-26  Bruno Haible  <bruno@clisp.org>
39262
39263         Fix module 'memchr', broken since 2000-10-28.
39264         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
39265
39266 2008-04-26  Bruno Haible  <bruno@clisp.org>
39267
39268         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
39269         comments.
39270
39271 2008-04-25  Eric Blake  <ebb9@byu.net>
39272
39273         Use native fstatat on cygwin 1.7.0.
39274         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
39275         first.
39276
39277 2008-04-23  Eric Blake  <ebb9@byu.net>
39278
39279         Improve memchr2 performance.
39280         * lib/memchr2.c (memchr2): Further optimize parallel detection of
39281         NUL bytes.
39282         * modules/memchr2 (Depends-on): Use intprops.h.
39283
39284 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39285
39286         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
39287         an inline function instead of a CPP macro.  Patch by Ben Pfaff
39288         <blp@cs.stanford.edu>.
39289
39290 2008-04-23  Simon Josefsson  <simon@josefsson.org>
39291
39292         * lib/arpa_inet.in.h: New file.
39293
39294         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
39295         (Makefile.am): Sed in substitute header file.
39296
39297         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
39298         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
39299
39300         * modules/inet_ntop (configure.ac): Use
39301         gl_ARPA_INET_MODULE_INDICATOR.
39302
39303         * modules/inet_pton (configure.ac): Use
39304         gl_ARPA_INET_MODULE_INDICATOR.
39305
39306 2008-04-22  Jim Meyering  <meyering@redhat.com>
39307
39308         * modules/verify (License): Re-license as LGPLv2+.
39309
39310 2008-04-22  Simon Josefsson  <simon@josefsson.org>
39311
39312         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
39313         parameter to void* as per POSIX standard (MinGW uses char*).
39314
39315 2008-04-21  Bruno Haible  <bruno@clisp.org>
39316
39317         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
39318         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
39319         Define to replacements if REPLACE_ISWCNTRL is 1.
39320         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
39321         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
39322         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
39323         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
39324         what it fixes.
39325         * doc/posix-functions/iswalpha.texi: Likewise.
39326         * doc/posix-functions/iswblank.texi: Likewise.
39327         * doc/posix-functions/iswcntrl.texi: Likewise.
39328         * doc/posix-functions/iswdigit.texi: Likewise.
39329         * doc/posix-functions/iswgraph.texi: Likewise.
39330         * doc/posix-functions/iswlower.texi: Likewise.
39331         * doc/posix-functions/iswprint.texi: Likewise.
39332         * doc/posix-functions/iswpunct.texi: Likewise.
39333         * doc/posix-functions/iswspace.texi: Likewise.
39334         * doc/posix-functions/iswupper.texi: Likewise.
39335         * doc/posix-functions/iswxdigit.texi: Likewise.
39336         Reported by Alain Guibert.
39337
39338 2008-04-21  Bruno Haible  <bruno@clisp.org>
39339
39340         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
39341         Patch by Alain Guibert.
39342
39343 2008-04-21  Bruno Haible  <bruno@clisp.org>
39344
39345         Fix test failures on mingw.
39346         * tests/test-xstrtol.c (print_no_progname): New function.
39347         (main): Install it in error_print_progname hook.
39348         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
39349         * tests/test-xstrtoimax.sh: Likewise.
39350         * tests/test-xstrtoumax.sh: Likewise.
39351
39352 2008-04-21  Bruno Haible  <bruno@clisp.org>
39353
39354         Fix test failure on mingw.
39355         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
39356
39357 2008-04-21  Bruno Haible  <bruno@clisp.org>
39358
39359         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
39360         Actually assign a value.
39361
39362 2008-04-20  Bruno Haible  <bruno@clisp.org>
39363
39364         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
39365         take 2.
39366         * lib/canonicalize.c (canonicalize_file_name): Elide if the
39367         'canonicalize-lgpl' module is also used.
39368         * lib/canonicalize-lgpl.c: Undo last change.
39369         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
39370
39371 2008-04-20  Bruno Haible  <bruno@clisp.org>
39372
39373         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
39374         config.h. Provide _mkdir based fallback for mingw.
39375         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
39376         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
39377         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
39378         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
39379         rather than defining mkdir in config.h.
39380         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
39381         (gl_SYS_STAT_H_DEFAULTS): New macro.
39382         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
39383         HAVE_IO_H any more.
39384         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
39385         HAVE_DECL_MKDIR and HAVE_IO_H.
39386
39387 2008-04-20  Bruno Haible  <bruno@clisp.org>
39388
39389         * lib/isapipe.c: Port to native Windows platforms.
39390
39391 2008-04-20  Bruno Haible  <bruno@clisp.org>
39392
39393         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
39394
39395 2008-04-21  Eric Blake  <ebb9@byu.net>
39396
39397         Work around preprocessors that don't handle UINTMAX_MAX.
39398         * lib/memchr2.c (memchr2): Avoid embedded #if.
39399         Reported by Alain Guibert, fix suggested by Bruno Haible.
39400
39401 2008-04-21  Simon Josefsson  <simon@josefsson.org>
39402
39403         * doc/posix-functions/strftime.texi (strftime): Explain better
39404         Windows incompatibility.  Suggested by Micah Cowan
39405         <micah@cowan.name>.
39406
39407 2008-04-20  Bruno Haible  <bruno@clisp.org>
39408
39409         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
39410         unistr/u8-mblen.
39411
39412 2008-04-20  Bruno Haible  <bruno@clisp.org>
39413
39414         Fix test failure on platforms with non-GNU iconv.
39415         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
39416         (U_TO_U8): Use it, rather than u16_to_u8.
39417         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
39418         units at the end of the input string.
39419         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
39420
39421 2008-04-20  Bruno Haible  <bruno@clisp.org>
39422
39423         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
39424         when the resulting length is 0.
39425         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
39426
39427 2008-04-20  Bruno Haible  <bruno@clisp.org>
39428
39429         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
39430         works.
39431         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
39432
39433 2008-04-20  Bruno Haible  <bruno@clisp.org>
39434
39435         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
39436         * modules/tsearch-tests (configure.ac): Test for initstate function.
39437
39438 2008-04-20  Bruno Haible  <bruno@clisp.org>
39439
39440         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
39441         for nlink_t if missing.
39442         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
39443
39444 2008-04-19  Bruno Haible  <bruno@clisp.org>
39445
39446         Work around snprintf bug on Linux libc5.
39447         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
39448         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39449         gl_SNPRINTF_SIZE1.
39450         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39451         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
39452         that test failed.
39453         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
39454         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
39455         * modules/snprintf (Files): Add m4/printf.m4.
39456         * modules/vsnprintf (Files): Likewise.
39457         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
39458         * doc/posix-functions/vsnprintf.texi: Likewise.
39459
39460 2008-04-19  Bruno Haible  <bruno@clisp.org>
39461
39462         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
39463         from 0.0058 to less than 10^-7.
39464
39465 2008-04-19  Bruno Haible  <bruno@clisp.org>
39466
39467         Fix rounding when a precision is given.
39468         * lib/vasnprintf.c (is_borderline): New function.
39469         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
39470         9...9x.
39471         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
39472         %e, %g.
39473         * tests/test-vasprintf-posix.c (test_function): Likewise.
39474         * tests/test-snprintf-posix.h (test_function): Likewise.
39475         * tests/test-sprintf-posix.h (test_function): Likewise.
39476         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
39477         * tests/test-printf-posix.h (test_function): Likewise.
39478         * tests/test-printf-posix.output: Update.
39479         Reported by John Darrington <john@darrington.wattle.id.au> via
39480         Ben Pfaff <blp@cs.stanford.edu>.
39481
39482 2008-04-18  Simon Josefsson  <simon@josefsson.org>
39483
39484         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
39485         Suggested by Bruno Haible <bruno@clisp.org>.
39486
39487 2008-04-17  Bruno Haible  <bruno@clisp.org>
39488
39489         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
39490         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
39491         implementation.
39492         Patch by Bruce Merry <bmerry@gmail.com>.
39493
39494 2008-04-17  Simon Josefsson  <simon@josefsson.org>
39495
39496         * doc/posix-functions/strftime.texi (strftime): Mention that %e
39497         doesn't work under Windows.
39498
39499 2008-04-16  Bruno Haible  <bruno@clisp.org>
39500
39501         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
39502         New macros.
39503         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
39504         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
39505         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
39506         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
39507         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
39508         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
39509         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
39510         macros.
39511         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
39512         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
39513         Northern Sotho, Uighur.
39514
39515 2008-04-16  Bruno Haible  <bruno@clisp.org>
39516
39517         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
39518         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
39519         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
39520         Reported by Daniel Bergström <daniel@octocode.com>.
39521
39522 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
39523             Bruno Haible  <bruno@clisp.org>
39524
39525         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
39526         function.
39527         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
39528         New functions, mostly extracted from gl_locale_name_default.
39529         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
39530
39531 2008-04-16  Eric Blake  <ebb9@byu.net>
39532
39533         Adjust strtod detection to catch glibc 2.7 bug.
39534         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
39535         Reported by John Gatewood Ham.
39536
39537 2008-04-16  Bruno Haible  <bruno@clisp.org>
39538
39539         Add tentative support for Linux libc5.
39540         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
39541         * lib/fpurge.c (fpurge): Likewise.
39542         * lib/freadable.c (freadable): Likewise.
39543         * lib/freadahead.c (freadahead): Likewise.
39544         * lib/freading.c (freading): Likewise.
39545         * lib/freadptr.c (freadptr): Likewise.
39546         * lib/freadseek.c (freadptrinc): Likewise.
39547         * lib/fseeko.c (rpl_fseeko): Likewise.
39548         * lib/fseterr.c (fseterr): Likewise.
39549         * lib/fwritable.c (fwritable): Likewise.
39550         * lib/fwriting.c (fwriting): Likewise.
39551         Reported by Alain Guibert <alguibert+bts@free.fr>.
39552
39553 2008-04-15  Bruno Haible  <bruno@clisp.org>
39554
39555         * modules/mathl (configure.ac): Define module indicator.
39556
39557 2008-04-15  Bruno Haible  <bruno@clisp.org>
39558
39559         * lib/logl.c (logl): Remove unused variables.
39560
39561 2008-04-15  Bruno Haible  <bruno@clisp.org>
39562
39563         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
39564         fails.
39565
39566 2008-04-15  Bruno Haible  <bruno@clisp.org>
39567
39568         * lib/trim.c (trim2): Fix argument of isspace() macro.
39569
39570 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
39571
39572         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
39573         to 0.
39574         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
39575
39576 2008-04-14  Bruno Haible  <bruno@clisp.org>
39577
39578         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
39579         AC_LANG_PROGRAM argument.
39580         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
39581         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
39582         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39583         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39584         * m4/math_h.m4 (gl_MATH_H): Likewise.
39585         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
39586         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
39587         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
39588         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
39589         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
39590         * m4/regex.m4 (gl_REGEX): Likewise.
39591         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
39592         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
39593         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39594         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
39595         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
39596         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39597         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39598         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
39599
39600 2008-04-14  Jim Meyering  <meyering@redhat.com>
39601
39602         test-strtod: fix typos: s/abs/fabs/
39603         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
39604
39605 2008-04-13  Bruno Haible  <bruno@clisp.org>
39606
39607         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
39608         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
39609         module is also used and while not building the reloc-wrapper.
39610
39611 2008-04-13  Bruno Haible  <bruno@clisp.org>
39612
39613         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
39614
39615 2008-04-13  Bruno Haible  <bruno@clisp.org>
39616
39617         Fix AIX compilation failure introduced on 2008-04-02.
39618         * tests/test-frexp.c (exp): Undefine before redefining.
39619         * tests/test-frexpl.c (exp): Likewise.
39620
39621 2008-04-13  Bruno Haible  <bruno@clisp.org>
39622
39623         Work around a HP-UX stdio bug.
39624         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
39625         * tests/test-ftello.c (main): Likewise.
39626         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
39627         * doc/posix-functions/ftello.texi: Likewise.
39628
39629 2008-04-13  Bruno Haible  <bruno@clisp.org>
39630
39631         Make test-signbit pass on HP-UX/hppa.
39632         * tests/test-signbit.c (minus_zerol): New variable.
39633         (test_signbitl): Use it.
39634
39635 2008-04-13  Bruno Haible  <bruno@clisp.org>
39636
39637         Make truncl work on OSF/1 4.0.
39638         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
39639         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
39640         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
39641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
39642         HAVE_DECL_TRUNCL.
39643         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
39644         HAVE_DECL_TRUNCL.
39645         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
39646
39647 2008-04-13  Bruno Haible  <bruno@clisp.org>
39648
39649         * lib/unictype.h: Remove trailing comma from enumeration definitions.
39650
39651 2008-04-13  Bruno Haible  <bruno@clisp.org>
39652
39653         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
39654         expression, so as to avoid HP-UX 11 cc compiler bug.
39655
39656 2008-04-13  Bruno Haible  <bruno@clisp.org>
39657
39658         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
39659
39660 2008-04-13  Bruno Haible  <bruno@clisp.org>
39661
39662         * lib/git-merge-changelog.c: Remove empty declaration outside of
39663         functions.
39664
39665 2008-04-13  Bruno Haible  <bruno@clisp.org>
39666
39667         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
39668
39669 2008-04-13  Bruno Haible  <bruno@clisp.org>
39670
39671         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
39672         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
39673         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
39674         also if it exists but lacks definitions of the SHUT_* macros.
39675         * modules/sys_socket (Description): Update.
39676         Reported by Elbert Pol <e.pol@chello.nl>.
39677
39678 2008-04-13  Bruno Haible  <bruno@clisp.org>
39679
39680         * lib/localcharset.c (OS2): Don't redefine if already defined.
39681         Reported by Elbert Pol <e.pol@chello.nl>.
39682
39683 2008-04-13  Bruno Haible  <bruno@clisp.org>
39684
39685         * lib/binary-io.h [__EMX__]: Include <io.h>.
39686         Reported by Elbert Pol <e.pol@chello.nl>.
39687
39688 2008-04-12  Bruno Haible  <bruno@clisp.org>
39689
39690         * lib/fpucw.h: Enable the definitions also for x86_64.
39691         Needed for NetBSD/x86_64.
39692         Reported by Thomas Klausner <tk@giga.or.at>.
39693
39694 2008-04-12  Bruno Haible  <bruno@clisp.org>
39695
39696         * tests/test-strtod.c: Include isnand.h.
39697         (main): Use isnand instead of isnan.
39698         Reported by Jim Meyering.
39699
39700 2008-04-12  Bruno Haible  <bruno@clisp.org>
39701
39702         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
39703         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39704
39705 2008-04-12  Jim Meyering  <meyering@redhat.com>
39706
39707         * m4/math_h.m4 (gl_MATH_H): Fix typos.
39708
39709 2008-04-12  Bruno Haible  <bruno@clisp.org>
39710
39711         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
39712         Reported by Elbert Pol <e.pol@chello.nl>.
39713
39714 2008-04-12  Eric Blake  <ebb9@byu.net>
39715
39716         Work around Solaris 10 math.h bug.
39717         * m4/math_h.m4 (gl_MATH_H): Check for bug.
39718         (gl_MATH_H_DEFAULTS): Set up default.
39719         * modules/math (Makefile.am): Replace new indicators.
39720         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
39721         * tests/test-math.c (main): Test this.
39722         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
39723         * doc/posix-headers/math.texi (math.h): Mention bug.
39724         Reported by Nelson H. F. Beebe and Jim Meyering.
39725
39726 2008-04-11  Bruno Haible  <bruno@clisp.org>
39727
39728         Adapt to future versions of Apple GCC.
39729         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
39730         Reported by Peter O'Gorman <peter@pogma.com>.
39731
39732 2008-04-11  Bruno Haible  <bruno@clisp.org>
39733
39734         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
39735
39736 2008-04-11  Bruno Haible  <bruno@clisp.org>
39737
39738         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
39739
39740         * modules/getaddrinfo-tests (Makefile.am): Define
39741         test_getaddrinfo_LDADD.
39742
39743 2008-04-11  Bruno Haible  <bruno@clisp.org>
39744
39745         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
39746         (init): Fix syntax error.
39747         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
39748         is declared.
39749
39750 2008-04-11  Bruno Haible  <bruno@clisp.org>
39751
39752         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
39753         * modules/glob (Depends-on): Add stdbool.
39754
39755 2008-04-11  Bruno Haible  <bruno@clisp.org>
39756
39757         * lib/trim.c: Include <string.h>.
39758
39759 2008-04-11  Eric Blake  <ebb9@byu.net>
39760
39761         Avoid compile failure on OS/2.
39762         * lib/regex_internal.h (internal_function): Disable optimization
39763         on OS/2 (__EMX__), where it caused compiler error.
39764         Reported by Elbert Pol.
39765
39766 2008-04-11  Bruno Haible  <bruno@clisp.org>
39767
39768         Flush the standard error stream before aborting. Needed on mingw.
39769         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
39770         * tests/test-array_list.c (ASSERT): Likewise.
39771         * tests/test-array_oset.c (ASSERT): Likewise.
39772         * tests/test-avltree_list.c (ASSERT): Likewise.
39773         * tests/test-avltree_oset.c (ASSERT): Likewise.
39774         * tests/test-avltreehash_list.c (ASSERT): Likewise.
39775         * tests/test-binary-io.c (ASSERT): Likewise.
39776         * tests/test-byteswap.c (ASSERT): Likewise.
39777         * tests/test-c-ctype.c (ASSERT): Likewise.
39778         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
39779         * tests/test-c-strcasestr.c (ASSERT): Likewise.
39780         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
39781         * tests/test-c-strstr.c (ASSERT): Likewise.
39782         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
39783         * tests/test-canonicalize.c (ASSERT): Likewise.
39784         * tests/test-carray_list.c (ASSERT): Likewise.
39785         * tests/test-ceilf1.c (ASSERT): Likewise.
39786         * tests/test-ceilf2.c (ASSERT): Likewise.
39787         * tests/test-ceill.c (ASSERT): Likewise.
39788         * tests/test-count-one-bits.c (ASSERT): Likewise.
39789         * tests/test-fbufmode.c (ASSERT): Likewise.
39790         * tests/test-fflush2.c (ASSERT): Likewise.
39791         * tests/test-floorf1.c (ASSERT): Likewise.
39792         * tests/test-floorf2.c (ASSERT): Likewise.
39793         * tests/test-floorl.c (ASSERT): Likewise.
39794         * tests/test-fopen.c (ASSERT): Likewise.
39795         * tests/test-fpending.c (ASSERT): Likewise.
39796         * tests/test-fprintf-posix.c (ASSERT): Likewise.
39797         * tests/test-fpurge.c (ASSERT): Likewise.
39798         * tests/test-freadable.c (ASSERT): Likewise.
39799         * tests/test-freadahead.c (ASSERT): Likewise.
39800         * tests/test-freading.c (ASSERT): Likewise.
39801         * tests/test-freadptr.c (ASSERT): Likewise.
39802         * tests/test-freadptr2.c (ASSERT): Likewise.
39803         * tests/test-freadseek.c (ASSERT): Likewise.
39804         * tests/test-freopen.c (ASSERT): Likewise.
39805         * tests/test-frexp.c (ASSERT): Likewise.
39806         * tests/test-frexpl.c (ASSERT): Likewise.
39807         * tests/test-fseek.c (ASSERT): Likewise.
39808         * tests/test-fseeko.c (ASSERT): Likewise.
39809         * tests/test-fstrcmp.c (ASSERT): Likewise.
39810         * tests/test-ftell.c (ASSERT): Likewise.
39811         * tests/test-ftello.c (ASSERT): Likewise.
39812         * tests/test-func.c (ASSERT): Likewise.
39813         * tests/test-fwritable.c (ASSERT): Likewise.
39814         * tests/test-fwriting.c (ASSERT): Likewise.
39815         * tests/test-getdelim.c (ASSERT): Likewise.
39816         * tests/test-getline.c (ASSERT): Likewise.
39817         * tests/test-i-ring.c (ASSERT): Likewise.
39818         * tests/test-iconv-utf.c (ASSERT): Likewise.
39819         * tests/test-iconv.c (ASSERT): Likewise.
39820         * tests/test-isfinite.c (ASSERT): Likewise.
39821         * tests/test-isnand.c (ASSERT): Likewise.
39822         * tests/test-isnanf.c (ASSERT): Likewise.
39823         * tests/test-isnanl.h (ASSERT): Likewise.
39824         * tests/test-ldexpl.c (ASSERT): Likewise.
39825         * tests/test-linked_list.c (ASSERT): Likewise.
39826         * tests/test-linkedhash_list.c (ASSERT): Likewise.
39827         * tests/test-localename.c (ASSERT): Likewise.
39828         * tests/test-lseek.c (ASSERT): Likewise.
39829         * tests/test-mbscasecmp.c (ASSERT): Likewise.
39830         * tests/test-mbscasestr1.c (ASSERT): Likewise.
39831         * tests/test-mbscasestr2.c (ASSERT): Likewise.
39832         * tests/test-mbscasestr3.c (ASSERT): Likewise.
39833         * tests/test-mbscasestr4.c (ASSERT): Likewise.
39834         * tests/test-mbschr.c (ASSERT): Likewise.
39835         * tests/test-mbscspn.c (ASSERT): Likewise.
39836         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
39837         * tests/test-mbspbrk.c (ASSERT): Likewise.
39838         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
39839         * tests/test-mbsrchr.c (ASSERT): Likewise.
39840         * tests/test-mbsspn.c (ASSERT): Likewise.
39841         * tests/test-mbsstr1.c (ASSERT): Likewise.
39842         * tests/test-mbsstr2.c (ASSERT): Likewise.
39843         * tests/test-mbsstr3.c (ASSERT): Likewise.
39844         * tests/test-memchr2.c (ASSERT): Likewise.
39845         * tests/test-memmem.c (ASSERT): Likewise.
39846         * tests/test-open.c (ASSERT): Likewise.
39847         * tests/test-printf-frexp.c (ASSERT): Likewise.
39848         * tests/test-printf-frexpl.c (ASSERT): Likewise.
39849         * tests/test-printf-posix.c (ASSERT): Likewise.
39850         * tests/test-quotearg.c (ASSERT): Likewise.
39851         * tests/test-rbtree_list.c (ASSERT): Likewise.
39852         * tests/test-rbtree_oset.c (ASSERT): Likewise.
39853         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
39854         * tests/test-round1.c (ASSERT): Likewise.
39855         * tests/test-roundf1.c (ASSERT): Likewise.
39856         * tests/test-roundl.c (ASSERT): Likewise.
39857         * tests/test-signbit.c (ASSERT): Likewise.
39858         * tests/test-sleep.c (ASSERT): Likewise.
39859         * tests/test-snprintf-posix.c (ASSERT): Likewise.
39860         * tests/test-snprintf.c (ASSERT): Likewise.
39861         * tests/test-sprintf-posix.c (ASSERT): Likewise.
39862         * tests/test-stat-time.c (ASSERT): Likewise.
39863         * tests/test-strcasestr.c (ASSERT): Likewise.
39864         * tests/test-strerror.c (ASSERT): Likewise.
39865         * tests/test-striconv.c (ASSERT): Likewise.
39866         * tests/test-striconveh.c (ASSERT): Likewise.
39867         * tests/test-striconveha.c (ASSERT): Likewise.
39868         * tests/test-strsignal.c (ASSERT): Likewise.
39869         * tests/test-strstr.c (ASSERT): Likewise.
39870         * tests/test-strtod.c (ASSERT): Likewise.
39871         * tests/test-trunc1.c (ASSERT): Likewise.
39872         * tests/test-trunc2.c (ASSERT): Likewise.
39873         * tests/test-truncf1.c (ASSERT): Likewise.
39874         * tests/test-truncf2.c (ASSERT): Likewise.
39875         * tests/test-truncl.c (ASSERT): Likewise.
39876         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
39877         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
39878         * tests/test-vasnprintf.c (ASSERT): Likewise.
39879         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
39880         * tests/test-vasprintf.c (ASSERT): Likewise.
39881         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
39882         * tests/test-vprintf-posix.c (ASSERT): Likewise.
39883         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
39884         * tests/test-vsnprintf.c (ASSERT): Likewise.
39885         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
39886         * tests/test-wcwidth.c (ASSERT): Likewise.
39887         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
39888         * tests/test-xprintf-posix.c (ASSERT): Likewise.
39889         * tests/test-xvasprintf.c (ASSERT): Likewise.
39890         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
39891         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
39892         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
39893         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
39894         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
39895         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
39896         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
39897         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
39898         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
39899         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
39900         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
39901         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
39902         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
39903         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
39904         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
39905         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
39906         * tests/unictype/test-block_list.c (ASSERT): Likewise.
39907         * tests/unictype/test-block_of.c (ASSERT): Likewise.
39908         * tests/unictype/test-block_test.c (ASSERT): Likewise.
39909         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
39910         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
39911         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
39912         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
39913         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
39914         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
39915         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
39916         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
39917         * tests/unictype/test-combining.c (ASSERT): Likewise.
39918         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
39919         * tests/unictype/test-digit.c (ASSERT): Likewise.
39920         * tests/unictype/test-mirror.c (ASSERT): Likewise.
39921         * tests/unictype/test-numeric.c (ASSERT): Likewise.
39922         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
39923         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
39924         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
39925         * tests/unictype/test-scripts.c (ASSERT): Likewise.
39926         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
39927         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
39928         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
39929         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
39930         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
39931         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
39932         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
39933         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
39934         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
39935         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
39936         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
39937         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
39938         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
39939         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
39940         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
39941         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
39942         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
39943         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
39944         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
39945         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
39946         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
39947         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
39948         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
39949         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
39950         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
39951         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
39952         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
39953         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
39954         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
39955         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
39956         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
39957         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
39958         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
39959         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
39960         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
39961         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
39962         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
39963         Reported by Eric Blake.
39964
39965 2008-04-11  Bruno Haible  <bruno@clisp.org>
39966
39967         * lib/wchar.in.h: Tweak comment.
39968
39969 2008-04-11  Bruno Haible  <bruno@clisp.org>
39970
39971         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
39972         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
39973         gl_COMMON.
39974         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
39975
39976 2008-04-11  Bruno Haible  <bruno@clisp.org>
39977
39978         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
39979
39980 2008-04-11  Simon Josefsson  <simon@josefsson.org>
39981
39982         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
39983         of attempting to use non-existing /dev/*random.  Based on patch
39984         from Adam Strzelecki <ono@java.pl> in
39985         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
39986
39987 2008-04-08  Bruno Haible  <bruno@clisp.org>
39988
39989         Add tentative support for emx+gcc.
39990         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
39991         * lib/fpurge.c (fpurge): Likewise.
39992         * lib/freadable.c (freadable): Likewise.
39993         * lib/freadahead.c (freadahead): Likewise.
39994         * lib/freading.c (freading): Likewise.
39995         * lib/freadptr.c (freadptr): Likewise.
39996         * lib/freadseek.c (freadptrinc): Likewise.
39997         * lib/fseeko.c (rpl_fseeko): Likewise.
39998         * lib/fseterr.c (fseterr): Likewise.
39999         * lib/fwritable.c (fwritable): Likewise.
40000         * lib/fwriting.c (fwriting): Likewise.
40001         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
40002
40003 2008-04-09  Eric Blake  <ebb9@byu.net>
40004
40005         Avoid some autoconf warnings.
40006         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
40007         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
40008         * m4/afs.m4 (gl_AFS): Likewise.
40009         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
40010         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
40011         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40012         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
40013         (gl_INTEGER_TYPE_SUFFIX): Likewise.
40014         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
40015         (AC_CHECK_DECLS_ONCE): Likewise.
40016         Rename file...
40017         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
40018         gnulib-tool requires autoconf 2.59 or better.
40019         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
40020
40021 2008-04-08  Eric Blake  <ebb9@byu.net>
40022
40023         Use 'git describe --match' if present (added in git 1.5.5).
40024         * build-aux/git-version-gen: Limit result to tags that match 'v*'
40025         if possible.
40026
40027 2008-04-08  Bruno Haible  <bruno@clisp.org>
40028
40029         Add tentative support for OpenServer.
40030         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
40031         _ptr, _cnt.
40032         * lib/fpurge.c (fpurge): Likewise.
40033         * lib/freadable.c (freadable): Likewise.
40034         * lib/freadahead.c (freadahead): Likewise.
40035         * lib/freading.c (freading): Likewise.
40036         * lib/freadptr.c (freadptr): Likewise.
40037         * lib/freadseek.c (freadptrinc): Likewise.
40038         * lib/fseeko.c (rpl_fseeko): Likewise.
40039         * lib/fseterr.c (fseterr): Likewise.
40040         * lib/fwritable.c (fwritable): Likewise.
40041         * lib/fwriting.c (fwriting): Likewise.
40042         Reported by Roger Cornelius <rac@tenzing.org> and
40043         Brian K. White <brian@aljex.com>.
40044
40045 2008-04-06  Jim Meyering  <meyering@redhat.com>
40046
40047         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
40048
40049 2008-04-06  Bruno Haible  <bruno@clisp.org>
40050
40051         Avoid possible error with non-ASCII bytes in UTF-8 locales.
40052         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
40053         * tests/test-printf-posix.sh: Likewise.
40054         * tests/test-vfprintf-posix.sh: Likewise.
40055         * tests/test-vprintf-posix.sh: Likewise.
40056         * tests/test-xprintf-posix.sh: Likewise.
40057
40058 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40059
40060         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
40061         hide error from 'ls', needed on OS/2.
40062         Report by Elbert Pol <elbert.pol@gmail.com>.
40063
40064 2008-04-04  Eric Blake  <ebb9@byu.net>
40065
40066         Make test-fseeko.c failures meaningful.
40067         * tests/test-fseeko.c: Print line number on failure.
40068         * tests/test-fseek.c: Likewise.
40069         Reported by Nelson H. F. Beebe.
40070
40071         Improve strtod bug detection check.
40072         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
40073         required for Solaris 10.
40074         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
40075
40076 2008-04-04  Bruno Haible  <bruno@clisp.org>
40077
40078         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
40079         by m4/setenv.m4.
40080
40081 2008-04-03  Eric Blake  <ebb9@byu.net>
40082
40083         Ensure sane .version contents.
40084         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
40085         version string.
40086         * build-aux/git-version-gen: Improve documentation.
40087
40088         Make GNU make output nicer.
40089         * top/GNUmakefile [!_have-Makefile]: Add dependency on
40090         MAKECMDGOALS to enforce message for all command line targets.  Set
40091         srcdir for use in maint.mk.
40092
40093         Another maintainer tweak.
40094         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
40095         a target that regenerates version.
40096
40097 2008-04-03  Jim Meyering  <meyering@redhat.com>
40098
40099         vc-list-files: don't cause coreutils "make po-check" failure
40100         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
40101
40102 2008-04-03  Eric Blake  <ebb9@byu.net>
40103
40104         Allow VPATH usage of vc-list-files.
40105         * build-aux/vc-list-files (scriptversion): Add timestamp.
40106         (options): Add --help, --version, -C.
40107         (CVS): Support installed cvsu.
40108
40109 2008-04-02  Bruno Haible  <bruno@clisp.org>
40110
40111         Avoid some "statement with no effect" warnings from gcc.
40112         * tests/test-wctype.c (main): Explicitly ignore unused values.
40113         Reported by Jim Meyering.
40114
40115 2008-04-02  Jim Meyering  <meyering@redhat.com>
40116
40117         Avoid some warnings from "gcc -Wshadow".
40118         * tests/test-frexp.c (exp): Define to a different identifier.
40119         * tests/test-frexpl.c (exp): Likewise.
40120
40121 2008-04-03  Jim Meyering  <meyering@redhat.com>
40122
40123         bootstrap: remove dangling *.[ch] symlinks from lib
40124         * build-aux/bootstrap [dangling symlink removal]: Move find's
40125         -depth option to precede all others, to avoid a warning.
40126         Remove *.[ch] files too, and from "$source_base" (usually lib/).
40127
40128 2008-04-02  Bruno Haible  <bruno@clisp.org>
40129
40130         Avoid some warnings from "gcc -Wshadow".
40131         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
40132         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
40133         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
40134         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
40135         Reported by Jim Meyering.
40136
40137 2008-04-01  Bruno Haible  <bruno@clisp.org>
40138
40139         Fix test to work on IRIX 6.5 with cc.
40140         * tests/test-math.c (numeric_equal): New function.
40141         (main): Use it.
40142
40143 2008-04-01  Bruno Haible  <bruno@clisp.org>
40144
40145         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
40146
40147 2008-04-01  Bruno Haible  <bruno@clisp.org>
40148
40149         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
40150         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40151         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
40152         (Depends-on): Remove math.
40153
40154         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
40155         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40156         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
40157         (Depends-on): Remove math.
40158
40159         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
40160         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40161         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
40162         (Depends-on): Remove math.
40163         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
40164         (Depends-on): Remove math.
40165
40166         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
40167         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
40168         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
40169         (Depends-on): Remove math.
40170         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
40171         (Depends-on): Remove math.
40172
40173         * tests/test-round1.c: Include nan.h.
40174         (main): Use NaNd instead of NAN.
40175         * modules/round-tests (Files): Add tests/nan.h.
40176
40177         * tests/test-trunc1.c: Include nan.h.
40178         (main): Use NaNd instead of NAN.
40179         * modules/trunc-tests (Files): Add tests/nan.h.
40180
40181         * tests/test-roundf1.c: Include nan.h.
40182         (main): Use NaNf instead of NAN.
40183         * modules/roundf-tests (Files): Add tests/nan.h.
40184
40185         * tests/test-truncf1.c: Include nan.h.
40186         (main): Use NaNf instead of NAN.
40187         * modules/truncf-tests (Files): Add tests/nan.h.
40188
40189         * tests/test-ceilf1.c: Include nan.h.
40190         (main): Use NaNf instead of NAN.
40191         * modules/ceilf-tests (Files): Add tests/nan.h.
40192
40193         * tests/test-floorf1.c: Include nan.h.
40194         (main): Use NaNf instead of NAN.
40195         * modules/floorf-tests (Files): Add tests/nan.h.
40196
40197         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
40198         (main): Use NaNf instead of NAN.
40199         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
40200
40201         * tests/test-isnand.c: Include nan.h instead of <math.h>.
40202         (main): Use NaNd instead of NAN.
40203         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
40204
40205         * tests/test-frexp.c: Include nan.h.
40206         (main): Use NaNd instead of NAN.
40207         * modules/frexp-tests (Files): Add tests/nan.h.
40208
40209         * lib/isnan.c: Don't include <math.h>.
40210         (FUNC): Don't use NAN macro.
40211         * modules/isnand-nolibm (Depends-on): Remove math.
40212         * modules/isnanf-nolibm (Depends-on): Remove math.
40213         * modules/isnanl (Depends-on): Remove math.
40214         * modules/isnanl-nolibm (Depends-on): Remove math.
40215
40216         * tests/nan.h: New file.
40217
40218 2008-04-01  Eric Blake  <ebb9@byu.net>
40219
40220         Fix typos.
40221         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
40222         values to be the right type.
40223
40224         For now, cater to gnulib strtod inaccuracies.
40225         * tests/test-strtod.c (main): Allow 1-ulp error on expected
40226         fractional results.  While not as nice from a QoI perspective, it
40227         is a quicker patch than correctly implementing decimal to binary
40228         rounding.
40229
40230 2008-03-31  Eric Blake  <ebb9@byu.net>
40231
40232         Guarantee a definition of NAN.
40233         * lib/math.in.h (NAN): Define if missing.
40234         * tests/test-math.c (main): Test it.
40235         * doc/posix-headers/math.texi (math.h): Document this.
40236         * lib/isnan.c (rpl_isnand): Use it.
40237         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
40238         * tests/test-floorf1.c (NaN): Likewise.
40239         * tests/test-frexp.c (NaN): Likewise.
40240         * tests/test-isnand.c (NaN): Likewise.
40241         * tests/test-isnanf.c (NaN): Likewise.
40242         * tests/test-round1.c (NaN): Likewise.
40243         * tests/test-roundf1.c (NaN): Likewise.
40244         * tests/test-snprintf-posix.h (NaN): Likewise.
40245         * tests/test-sprintf-posix.h (NaN): Likewise.
40246         * tests/test-trunc1.c (NaN): Likewise.
40247         * tests/test-truncf1.c (NaN): Likewise.
40248         * tests/test-vasnprintf-posix.c (NaN): Likewise.
40249         * tests/test-vasprintf-posix.c (NaN): Likewise.
40250         * modules/isnand-nolibm (Depends-on): Add math.
40251         * modules/isnanf-nolibm (Depends-on): Likewise.
40252         * modules/isnanl (Depends-on): Likewise.
40253         * modules/isnanl-nolibm (Depends-on): Likewise.
40254         * modules/snprintf-posix-tests (Depends-on): Likewise.
40255         * modules/sprintf-posix-tests (Depends-on): Likewise.
40256         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
40257         * modules/vsprintf-posix-tests (Depends-on): Likewise.
40258         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
40259         * modules/vasprintf-posix-tests (Depends-on): Likewise.
40260
40261 2008-03-31  Bruno Haible  <bruno@clisp.org>
40262
40263         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
40264         * doc/posix-functions/strtod.texi: Likewise.
40265
40266 2008-03-31  Bruno Haible  <bruno@clisp.org>
40267
40268         * tests/test-strtod.c (main): Don't use C99 syntax.
40269
40270 2008-03-31  Bruno Haible  <bruno@clisp.org>
40271
40272         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
40273         Reported by Eric Blake.
40274
40275 2008-03-31  Jim Meyering  <meyering@redhat.com>
40276
40277         Don't compare actual signbit return values.
40278         * tests/test-strtod.c (main): Rather, compare only their
40279         zero/non-zero nature.
40280
40281 2008-03-31  Eric Blake  <ebb9@byu.net>
40282
40283         More strtod documentation.
40284         * doc/posix-functions/strtod.texi (strtod): Interpret more test
40285         failures as distinct bugs.
40286
40287 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40288
40289         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
40290         Problem reported by Erik Benada in
40291         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
40292
40293 2008-03-30  Bruno Haible  <bruno@clisp.org>
40294
40295         * tests/test-strtod.c: Add comments about which assertion fails on which
40296         platform.
40297         * doc/posix-functions/strtod.texi: Add info about many more platforms.
40298
40299 2008-03-30  Eric Blake  <ebb9@byu.net>
40300
40301         Test signbit behavior on zeros.
40302         * tests/test-signbit.c (test_signbitf): Add tests for zero.
40303         (test_signbitd, test_signbitl): Likewise.
40304
40305         More strtod touchups.
40306         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
40307         sign of negative underflow, for now.  Use .5, not .1.
40308         * doc/posix-functions/strtod.texi (strtod): Mention these
40309         limitations.
40310         Reported by Jim Meyering.
40311
40312 2008-03-30  Bruno Haible  <bruno@clisp.org>
40313
40314         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
40315         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
40316
40317 2008-03-30  Bruno Haible  <bruno@clisp.org>
40318
40319         Avoid failure when attempting to return empty iconv results on some
40320         platforms.
40321         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
40322         allocation, don't report ENOMEM when the resulting string is empty.
40323
40324 2008-03-30  Bruno Haible  <bruno@clisp.org>
40325
40326         Fix buffer overrun.
40327         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
40328         Don't consider the width for tmp_length. Check count against tmp_length
40329         before doing the padding. Ensure enough allocation during padding.
40330
40331 2008-03-30  Eric Blake  <ebb9@byu.net>
40332
40333         strtod touchups.
40334         * lib/strtod.c (strtod): Avoid compiler warnings.
40335         Reported by Jim Meyering.
40336
40337 2008-03-30  Bruno Haible  <bruno@clisp.org>
40338
40339         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
40340         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
40341         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
40342         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
40343         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
40344         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
40345         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
40346         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
40347
40348         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
40349         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
40350         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
40351         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
40352         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
40353         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
40354         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
40355         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
40356
40357         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
40358         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
40359         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
40360         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
40361         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
40362         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
40363         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
40364         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
40365
40366         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
40367         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
40368
40369         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
40370         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
40371
40372         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
40373         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
40374
40375         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
40376         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
40377         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
40378
40379         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
40380         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
40381         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
40382
40383         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
40384         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
40385         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
40386
40387         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
40388         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
40389         * modules/vasprintf (Depends-on): Add EOVERFLOW.
40390
40391         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
40392         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
40393         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
40394         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
40395         (Depends-on): Add EOVERFLOW.
40396         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
40397         (Depends-on): Add EOVERFLOW.
40398         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40399         (Depends-on): Add EOVERFLOW.
40400         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
40401         (Depends-on): Add EOVERFLOW.
40402         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40403         (Depends-on): Add EOVERFLOW.
40404         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
40405         (Depends-on): Add EOVERFLOW.
40406         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40407         (Depends-on): Add EOVERFLOW.
40408         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
40409         (Depends-on): Add EOVERFLOW.
40410
40411         * lib/sprintf.c (EOVERFLOW): Remove fallback.
40412         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
40413         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
40414
40415         * lib/snprintf.c (EOVERFLOW): Remove fallback.
40416         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
40417         * modules/snprintf (Depends-on): Add EOVERFLOW.
40418
40419         * lib/poll.c (EOVERFLOW): Remove fallback.
40420         * modules/poll (Depends-on): Add EOVERFLOW.
40421
40422         * lib/getugroups.c (EOVERFLOW): Remove fallback.
40423         * modules/getugroups (Depends-on): Add EOVERFLOW.
40424
40425         * lib/getdelim.c (EOVERFLOW): Remove fallback.
40426         * modules/getdelim (Depends-on): Add EOVERFLOW.
40427
40428         * lib/ftell.c (EOVERFLOW): Remove fallback.
40429         * modules/ftell (Depends-on): Add EOVERFLOW.
40430
40431         * lib/fprintf.c (EOVERFLOW): Remove fallback.
40432         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
40433         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
40434
40435         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
40436
40437         * modules/EOVERFLOW-tests: New file.
40438         * tests/test-EOVERFLOW.c: New file.
40439
40440         * modules/EOVERFLOW: New file.
40441         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
40442
40443 2008-03-30  Bruno Haible  <bruno@clisp.org>
40444
40445         Fix bug introduced on 2007-06-10.
40446         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
40447         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
40448
40449 2008-03-30  Bruno Haible  <bruno@clisp.org>
40450
40451         Improve freadseek's efficiency after ungetc.
40452         * lib/freadseek.c: Include freadahead.h.
40453         (freadptrinc): New function, extracted from freadseek.
40454         (freadseek): Use it in a loop. Use freadahead to determine the number
40455         of loop iterations.
40456         * modules/freadseek (Depends-on): Add freadahead.
40457         (configure.ac): Require AC_C_INLINE.
40458
40459 2008-03-30  Bruno Haible  <bruno@clisp.org>
40460
40461         * lib/freadseek.c (freadseek): Don't ignore the return value of
40462         freadptr.
40463
40464 2008-03-29  Eric Blake  <ebb9@byu.net>
40465
40466         Add hex float support.
40467         * modules/strtod (Depends-on): Add c-ctype.
40468         (Link): Mention POW_LIB.
40469         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
40470         whitespace between 'e' and exponent.
40471         * tests/test-strtod.c (main): Enable hex float tests.
40472         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
40473         now provides.
40474
40475         Document various strtod bugs, with some fixes.
40476         * doc/posix-functions/strtod.texi (strtod): Document bugs with
40477         "-0x", "inf", "nan", and hex constants.
40478         * doc/posix-functions/atof.texi (atof): Likewise.
40479         * modules/stdlib (Makefile.am): Support strtod.
40480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
40481         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
40482         detect additional strtod bugs.
40483         * lib/stdlib.in.h (rpl_strtod): Add declarations.
40484         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
40485         bool where appropriate.  Parse 'inf' and 'nan'.
40486         * tests/test-strtod.c: New file.
40487         * modules/strtod (Depends-on): Add stdbool, stdlib.
40488         (configure.ac): Turn on module indicator.
40489         * modules/strtod-tests: New module.
40490
40491 2008-03-29  Eric Blake  <ebb9@byu.net>
40492
40493         Fix ftell on mingw.
40494         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
40495         * modules/ftell-tests (Depends-on): Add binary-io.
40496         * modules/ftello-tests (Depends-on): Likewise.
40497         * tests/test-ftell.c (main): Enhance test to cover behavior after
40498         ungetc.  Enforce binary mode.
40499         * tests/test-ftello.c (main): Likewise.
40500
40501         Pass test-freadseek on cygwin.
40502         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
40503         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
40504         ungetc buffer.
40505
40506         * tests/test-fflush2.c (main): Fix typo.
40507
40508 2008-03-29  Bruno Haible  <bruno@clisp.org>
40509
40510         * tests/test-fflush2.c (main): Temporarily disable the contents of
40511         this test.
40512         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
40513         Reported by Eric Blake.
40514
40515 2008-03-28  Simon Josefsson  <simon@josefsson.org>
40516
40517         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
40518         (GC_SHA224_DIGEST_SIZE): Add.
40519
40520         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
40521         (gc_hash_digest_length): Likewise.
40522         (gc_hash_buffer): Likewise.
40523
40524 2008-03-25  Bruno Haible  <bruno@clisp.org>
40525
40526         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
40527         detail which gettext release to use.
40528         Reported by Simon Josefsson.
40529
40530 2008-03-26  Jim Meyering  <meyering@redhat.com>
40531
40532         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
40533         * modules/gnumakefile (clean-GNUmakefile): Also, use
40534         test ... && ... || : syntax rather than if-then ... fi.
40535
40536         gnumakefile: Don't double-quote-expand $(VPATH) value.
40537         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
40538
40539 2008-03-24  Eric Blake  <ebb9@byu.net>
40540
40541         Alter GNUmakefile to install into top directory.
40542         * modules/maintainer-makefile: Split, and add dependency...
40543         * modules/gnumakefile: to this new module.
40544         * build-aux/GNUmakefile: Move...
40545         * top/GNUmakefile: ...here.
40546         * build-aux/maint.mk: Move...
40547         * top/maint.mk: ...here.
40548         * MODULES.html.sh (Support for maintaining...): Document new
40549         module.
40550
40551 2008-03-23  Bruno Haible  <bruno@clisp.org>
40552
40553         * gnulib-tool: New options --vc-files, --no-vc-files.
40554         (func_usage): Document them.
40555         (vc_files): New variable.
40556         (func_import): Consider vc_files.
40557         (func_create_testdir): Set vc_files to empty.
40558         Suggested by Jim Meyering and Karl Berry.
40559
40560 2008-03-23  Bruno Haible  <bruno@clisp.org>
40561
40562         Fix regex compilation error on HP-UX 11.
40563         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
40564         * modules/regex (Files): Add m4/mbstate_t.m4.
40565         Reported by Ton Voon <ton.voon@altinity.com>.
40566
40567 2008-03-23  Bruno Haible  <bruno@clisp.org>
40568
40569         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
40570
40571 2008-03-23  Eric Blake  <ebb9@byu.net>
40572             Bruno Haible  <bruno@clisp.org>
40573
40574         Install files from top/ in the destination directory.
40575         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
40576         augmentation also for the files from top/.
40577         (func_import, func_create_testdir): Rewrite file names:
40578         top/filename -> filename.
40579
40580 2008-03-23  Bruno Haible  <bruno@clisp.org>
40581
40582         Tweak "gnulib --version" output.
40583         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
40584
40585 2008-03-23  Bruno Haible  <bruno@clisp.org>
40586
40587         Tweak "gnulib --version" output.
40588         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
40589         rather than contents of ChangeLog, when possible.
40590
40591 2008-03-21  Eric Blake  <ebb9@byu.net>
40592
40593         More --version tweaks.
40594         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
40595         date of last ChangeLog entry.
40596
40597 2008-03-21  Jim Meyering  <meyering@redhat.com>
40598
40599         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
40600
40601 2008-03-20  Eric Blake  <ebb9@byu.net>
40602
40603         VPATH fix.
40604         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
40605
40606 2008-03-20  Simon Josefsson  <simon@josefsson.org>
40607
40608         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
40609         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
40610
40611 2008-03-20  Eric Blake  <ebb9@byu.net>
40612
40613         Sync GNUmakefile with coreutils.
40614         * build-aux/GNUmakefile (have-Makefile): Rename...
40615         (_have-Makefile): ...to this, for namespace consideration.
40616         (GNUmakefile.cfg): Include, if present.
40617         (_autoreconf): Define a default.
40618         (_is-dist-target): New rule for rebuilds to pick up intra-release
40619         version.
40620         (maint-cfg.mk): Rename...
40621         (cfg.mk): ...to this.
40622
40623 2008-03-18  Jim Meyering  <meyering@redhat.com>
40624
40625         New script and module: mktempd
40626         * MODULES.html.sh (maint+release support): Add mktempd.
40627         * build-aux/mktempd: New file.
40628         * modules/mktempd: New file.
40629
40630 2008-03-15  Jim Meyering  <meyering@redhat.com>
40631
40632         Undo last change.
40633         * lib/sha1.c, lib/md5.c: 63 != ~63.
40634         Reported by Andreas Schwab.
40635
40636         sha1.c, md5.c: Hoist a redundant expression.
40637         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
40638         "ctx->buflen" only once, before calling *_process_block.
40639         * lib/md5.c (md5_process_bytes): Likewise.
40640
40641 2008-03-14  Eric Blake  <ebb9@byu.net>
40642
40643         Bump copyright year in files generated by gnulib-tool.
40644         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
40645         gnulib-tool, rather than hard-coding it.
40646
40647         Fix 'gnulib-tool --version' output to work with git.
40648         * gnulib-tool (func_gnulib_dir): New function, extracted from...
40649         (startup): ...here.
40650         (func_version): Use it to invoke git-version-gen, rather than
40651         relying on CVS keyword expansion.  Modernize wording.
40652         (cvsdatestamp, last_checkin_date, version): Kill unused
40653         variables.
40654
40655 2008-03-12  Jim Meyering  <meyering@redhat.com>
40656
40657         Recognize optional cast of the argument to free.
40658         * build-aux/useless-if-before-free: Update regexps.
40659
40660         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
40661
40662 2008-03-11  Bruno Haible  <bruno@clisp.org>
40663
40664         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
40665         by a single package.
40666         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
40667         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
40668         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
40669         Reported by Sam Steingold <sds@gnu.org>.
40670
40671 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40672
40673         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
40674         repositories.
40675
40676 2008-03-11  Bruno Haible  <bruno@clisp.org>
40677
40678         Avoid conflicts between local macro definitions.
40679         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
40680         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
40681
40682 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
40683             Bruno Haible  <bruno@clisp.org>
40684
40685         Make va_copy work with some version of xlc on AIX 5.1.
40686         * lib/stdarg.in.h: New file.
40687         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
40688         On AIX, use a <stdarg.h> file substitute.
40689         * modules/stdarg (Files): Add lib/stdarg.in.h.
40690         (Depends-on): Add include_next.
40691         (Makefile.am): Build a stdarg.h substitute if requested.
40692         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
40693
40694 2008-03-10  Bruno Haible  <bruno@clisp.org>
40695
40696         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
40697         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40698         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40699
40700 2008-03-10  Bruno Haible  <bruno@clisp.org>
40701
40702         * modules/stdlib (Depends-on): Add include_next, remove
40703         absolute-header.
40704
40705 2008-03-09  Bruno Haible  <bruno@clisp.org>
40706
40707         * lib/freadahead.h (freadahead): Document more precisely.
40708         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
40709         the sum of both buffer sizes.
40710         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
40711         * NEWS: Document the change.
40712
40713 2008-03-09  Bruno Haible  <bruno@clisp.org>
40714
40715         Extend freadptr to return also the buffer size.
40716         * lib/freadptr.h (freadptr): Add sizep argument.
40717         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
40718         (freadptr): Add sizep argument. Determine buffer size like freadahead
40719         does.
40720         * tests/test-freadptr.c: Don't include freadahead.h.
40721         (main): Adapt for new calling convention of freadptr.
40722         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
40723         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
40724         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
40725         tests/test-freadptr2.sh.
40726         (Depends): Remove freadahead.
40727         (TESTS): Add test-freadptr2.sh.
40728         (check_PROGRAMS): Add test-freadptr2.
40729
40730 2008-03-09  Bruno Haible  <bruno@clisp.org>
40731
40732         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
40733         Report and solution by Simon Josefsson.
40734
40735 2008-03-06  Bruno Haible  <bruno@clisp.org>
40736
40737         Make fflush after ungetc work on BSD platforms.
40738         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
40739         * tests/test-fflush2.c: New file.
40740         * tests/test-fflush2.sh: New file.
40741         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
40742         tests/test-fflush2.c.
40743         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
40744         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
40745
40746 2008-03-06  Eric Blake  <ebb9@byu.net>
40747
40748         Likewise for ftello.
40749         * modules/ftello (Dependencies): Add extensions.
40750         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
40751
40752 2008-03-06  Bruno Haible  <bruno@clisp.org>
40753
40754         * modules/fseeko (Dependencies): Add extensions.
40755         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
40756         Needed on glibc systems.
40757
40758 2008-03-06  Bruno Haible  <bruno@clisp.org>
40759
40760         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
40761         email address.
40762         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40763
40764 2008-03-06  Bruno Haible  <bruno@clisp.org>
40765
40766         * users.txt: Add libgnupdf.
40767
40768 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
40769
40770         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
40771         (Header File Substitutes, Function Substitutes,
40772         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
40773         (Build robot for gnulib): Fix typo.
40774
40775 2008-03-06  Bruno Haible  <bruno@clisp.org>
40776
40777         * doc/gnulib-tool.texi (VCS Issues): Small updates.
40778         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
40779
40780 2008-03-06  Bruno Haible  <bruno@clisp.org>
40781
40782         * doc/func.texi: New file, extracted from doc/gnulib.texi.
40783         * doc/gnulib.texi: Include it.
40784
40785 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40786
40787         * modules/func (License): Change license to unlimited; there was
40788         no LGPL parts in the module anyway.
40789
40790 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40791
40792         * modules/__func__: Renamed to modules/func.
40793         * modules/__func__-tests: Renamed to modules/func-tests.
40794         * tests/test-__func__.c: Renamed to tests/test-func.c.
40795         * m4/__func__.m4: Renamed to m4/func.m4.
40796         * doc/gnulib.texi (__func__): Section renamed to func.
40797         Suggested by Eric Blake <ebb9@byu.net>.
40798
40799 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40800
40801         * doc/gnulib.texi (__func__): Use C99 terminology when talking
40802         about __func__.  Make example self-contained.  Suggested by Eric
40803         Blake <ebb9@byu.net>.
40804
40805         * tests/test-__func__.c (main): Avoid extraneous () around __func.
40806         Suggested by Eric Blake <ebb9@byu.net>.
40807
40808 2008-03-06  Simon Josefsson  <simon@josefsson.org>
40809
40810         * modules/__func__: New file.
40811         * modules/__func__-tests: New file.
40812         * tests/test-__func__.c: New file.
40813         * m4/__func__.m4: New file.
40814         * doc/gnulib.texi (__func__): Document __func__ module.
40815
40816 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40817
40818         * modules/byteswap (License): Re-license as LGPLv2+.
40819
40820 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40821
40822         * doc/Makefile: Add pdf target.
40823
40824 2008-03-05  Simon Josefsson  <simon@josefsson.org>
40825
40826         * modules/inline (License): Use 'unlimited', since there are only
40827         *.m4 files in this module.
40828
40829 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40830             Bruno Haible  <bruno@clisp.org>
40831
40832         Add support for HP C 7.1 on OpenVMS 8.3.
40833         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
40834
40835 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
40836
40837         Update VMS specifics.
40838         * lib/getopt.c [VMS]: Remove include of unixlib.h.
40839
40840 2008-03-02  Jim Meyering  <meyering@redhat.com>
40841
40842         Remove the last dependency on the "free" module.
40843         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
40844         Reported by Bob Proulx.
40845
40846         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
40847
40848         Remove useless "if" tests before free.  Deprecate "free" module.
40849         * doc/posix-functions/free.texi: Mention that this
40850         module is no longer useful.
40851         * modules/free (Notice): Say this module is obsolete.
40852         * modules/readutmp (Depends-on): Remove free.
40853         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
40854         * lib/putenv.c (putenv): Likewise.
40855         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
40856         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
40857         * tests/test-c-strcasestr.c (main): Likewise.
40858         * tests/test-c-strstr.c (main): Likewise.
40859         * tests/test-mbscasestr1.c (main): Likewise.
40860         * tests/test-mbscasestr2.c (main): Likewise.
40861         * tests/test-mbsstr1.c (main): Likewise.
40862         * tests/test-mbsstr2.c (main): Likewise.
40863         * tests/test-memmem.c (main): Likewise.
40864         * tests/test-strcasestr.c (main): Likewise.
40865         * tests/test-striconv.c (main): Likewise.
40866         * tests/test-striconveh.c (main): Likewise.
40867         * tests/test-striconveha.c (main): Likewise.
40868         * tests/test-strstr.c (main): Likewise.
40869
40870         * build-aux/git-version-gen: Adjust a comment and the Usage string.
40871
40872         bootstrap: sync from coreutils again
40873         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
40874
40875 2008-03-01  Jim Meyering  <meyering@redhat.com>
40876
40877         bootstrap: sync from coreutils
40878         * build-aux/bootstrap (update_po_files): Copy a .po file into place
40879         also when the target doesn't exist.
40880
40881 2008-03-01  Eric Blake  <ebb9@byu.net>
40882
40883         Fix bugs in last patch.
40884         * lib/memchr2.c (memchr2): Fix typo.
40885         * tests/test-memchr2.c: Test previous bug, and don't use GNU
40886         extension.
40887         Reported by Bruce Korb.
40888
40889         New module 'memchr2'.
40890         * modules/memchr2: New file.
40891         * modules/memchr2-tests: Likewise.
40892         * lib/memchr2.h: Likewise.
40893         * lib/memchr2.c: Likewise, based on memchr.c.
40894         * tests/test-memchr2.c: New test.
40895         * MODULES.html.sh (String handling): Add memchr2.
40896
40897 2008-02-29  Bruno Haible  <bruno@clisp.org>
40898
40899         * modules/freadseek-tests: New file.
40900         * tests/test-freadseek.sh: New file.
40901         * tests/test-freadseek.c: New file.
40902
40903         New module 'freadseek'.
40904         * modules/freadseek: New file.
40905         * lib/freadseek.h: New file.
40906         * lib/freadseek.c: New file.
40907         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
40908
40909 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
40910
40911         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
40912         wydawca.
40913
40914         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
40915         program_invocation_name and program_invocation_short_name are
40916         present.
40917
40918 2008-02-28  Bruno Haible  <bruno@clisp.org>
40919
40920         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
40921         * tests/test-freadptr.sh: Also test non-seekable stdin.
40922
40923 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
40924
40925         * build-aux/bootstrap (source_base, m4_base)
40926         (doc_base, tests_base): New variables.
40927         (gnulib_tool_options): Do not hardcode base directories, use
40928         the above variables instead.
40929
40930 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
40931
40932         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
40933
40934 2008-02-28  Bruno Haible  <bruno@clisp.org>
40935
40936         * modules/freadptr-tests: New file.
40937         * tests/test-freadptr.sh: New file.
40938         * tests/test-freadptr.c: New file.
40939
40940         New module 'freadptr'.
40941         * modules/freadptr: New file.
40942         * lib/freadptr.h: New file.
40943         * lib/freadptr.c: New file.
40944         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
40945
40946 2008-02-26  Karl Berry  <karl@freefriends.org>
40947
40948         Sync from Libtool:
40949         * libltdl/argz.c (argz_add, argz_count): New functions.
40950         * libltdl/argz.in.h: Declare them.
40951         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
40952
40953 2008-02-22  Bruno Haible  <bruno@clisp.org>
40954
40955         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
40956         is a pointer type.  Needed for HP-UX 10.
40957         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
40958         * doc/posix-functions/gmtime_r.texi: Likewise.
40959         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
40960
40961 2008-02-24  Bruno Haible  <bruno@clisp.org>
40962
40963         * modules/environ-tests: New file.
40964         * tests/test-environ.c: New file.
40965
40966         New module 'environ'.
40967         * modules/environ: New file.
40968         * lib/unistd.in.h (environ): New declaration.
40969         * m4/environ.m4: New file.
40970         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
40971         after use.
40972         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
40973         HAVE_DECL_ENVIRON.
40974         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
40975         HAVE_DECL_ENVIRON.
40976         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
40977         wrong claim that 'environ' is missing on some systems.
40978         * modules/execute (Depends-on): Add environ.
40979         * lib/execute.c (environ): Remove fallback declaration.
40980         * modules/pipe (Depends-on): Add environ.
40981         * lib/pipe.c (environ): Remove fallback declaration.
40982         * modules/setenv (Depends-on): Add environ.
40983         * lib/setenv.c (environ): Remove fallback declaration.
40984         * modules/unsetenv (Depends-on): Add environ.
40985         * lib/unsetenv.c (environ): Remove fallback declaration.
40986         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
40987         m4/environ.m4.
40988         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
40989         (gl_PREREQ_UNSETENV): Likewise.
40990
40991 2008-02-24  Bruno Haible  <bruno@clisp.org>
40992
40993         * doc/posix-functions/environ.texi: Document the MacOS X problem.
40994
40995 2008-02-20  Bob Proulx  <bob@proulx.com>
40996
40997         Enable use of older two part flavor 'git describe'.
40998         * build-aux/git-version-gen: If using the older two part flavor of
40999         git version then recreate the third part now present in the
41000         newer three part flavor of git describe.
41001
41002 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
41003
41004         * lib/fts.c (fts_build): Typo correction to comment.
41005
41006 2008-02-17  Bruno Haible  <bruno@clisp.org>
41007
41008         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
41009         generating no-op conflicts.
41010
41011 2008-02-17  Bruno Haible  <bruno@clisp.org>
41012
41013         Speed up by 10%.
41014         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
41015         result_entries, rather than an index-based loop.
41016
41017 2008-02-17  Bruno Haible  <bruno@clisp.org>
41018
41019         Speed up by 25%.
41020         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
41021         'hashcode_cached'.
41022         (entry_create): New function.
41023         (entry_hashcode): Use the cached hashcode if possible.
41024         (read_changelog_file, try_split_merged_entry): Use entry_create.
41025
41026 2008-02-17  Bruno Haible  <bruno@clisp.org>
41027
41028         Speed up from O(n^2) to O(n) for long ChangeLog files.
41029         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
41030         (read_changelog_file): Change implementation of entries_reversed list
41031         to rbtreehash.
41032         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
41033
41034 2008-02-17  Bruno Haible  <bruno@clisp.org>
41035
41036         New option --split-merged-entry.
41037         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
41038         (find_paragraph_end, try_split_merged_entry): New functions.
41039         (long_options): Add option --split-merged-entry.
41040         (usage): Document option --split-merged-entry.
41041         (main): Implement option --split-merged-entry.
41042         Reported by Eric Blake.
41043
41044 2008-02-17  Bruno Haible  <bruno@clisp.org>
41045
41046         * lib/git-merge-changelog.c: Include c-strstr.h.
41047         (main): Support the "git pull --rebase" situation.
41048         * modules/git-merge-changelog (Depends-on): Add c-strstr.
41049         Reported by Eric Blake.
41050
41051 2008-02-16  Eric Blake  <ebb9@byu.net>
41052
41053         Avoid doubling \ in common case of "c-maybe" quoting style.
41054         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
41055         eliding outer quotes.
41056         * lib/quotearg.h: Document this.
41057         * tests/test-quotearg.c (result_strings, inputs, results_g)
41058         (flag_results, locale_results): Test it by adding a new string to
41059         each test group.
41060         (compare_strings): Test new string.
41061
41062 2008-02-13  Eric Blake  <ebb9@byu.net>
41063
41064         Avoid trigraph quoting in default output.
41065         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
41066         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
41067         unless explicitly requested.
41068         * tests/test-quotearg.c (flag_results, main): Add additional tests.
41069
41070 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
41071
41072         Don't rely on signed integer overflowing to negative value.
41073         * lib/getugroups.c (getugroups): Include <limits.h>.
41074         Instead, compare against INT_MAX, and increment only if the test passes.
41075
41076 2008-02-13  Jim Meyering  <meyering@redhat.com>
41077         and Eric Blake  <ebb9@byu.net>
41078
41079         Avoid shadowing warning and compile errors on Linux.
41080         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
41081         forwarding macros on Linux.
41082         (dcgettext): Define a stub, for Linux.
41083         (results_g, main): Avoid warnings.
41084
41085 2008-02-12  Eric Blake  <ebb9@byu.net>
41086
41087         Silence warning in last patch.
41088         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
41089
41090         Quotearg part 4: add tests, fix c-maybe colon quoting.
41091         * lib/quotearg.h: Improve documentation.
41092         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
41093         escapes when adding outer quotes.  When quoting trigraphs, use
41094         valid C notation.  When quoting NUL, omit extra characters if next
41095         character is not digit.  Alter prototype.
41096         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
41097         callers.
41098         * modules/quotearg-tests: New module.
41099         * tests/test-quotearg.c: New test.
41100
41101 2008-02-07  Eric Blake  <ebb9@byu.net>
41102
41103         Quotearg part 3: add flag to control outer quote elision.
41104         * lib/quotearg.h (c_maybe_quoting_style): New style.
41105         (enum quoting_flags): Better documentation of flags.
41106         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
41107         c-maybe style.
41108         (quotearg_buffer_restyled): Handle new flag to elide outer
41109         quotes.
41110
41111         Quotearg part 2: add flag that can control NUL elision.
41112         * lib/quotearg.h (set_quoting_flags): New prototype.
41113         * lib/quotearg.c (struct quoting_options): Add flag field.
41114         (set_quoting_flags): New function.
41115         (quotearg_buffer_restyled): Add flags parameter.
41116         (quotearg_alloc_mem): Set the flag if length cannot be returned.
41117         (quotearg_n_options): Set the flag, since length cannot be
41118         returned.
41119         (quoting_options_from_style): Default flags correctly.
41120
41121         Quotearg part 1: more wrappers, restore quotearg_char state.
41122         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
41123         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
41124         (quotearg_colon_mem): New wrappers.
41125         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
41126         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
41127         functions.
41128         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
41129         (quotearg_colon_mem): New functions.
41130
41131 2008-02-11  Bruno Haible  <bruno@clisp.org>
41132
41133         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
41134         library in the current directory: it does not work with parallel make.
41135         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41136
41137 2008-02-11  Bruno Haible  <bruno@clisp.org>
41138
41139         * .gitattributes: New file.
41140
41141 2008-02-11  Jim Meyering  <meyering@redhat.com>
41142
41143         useless-if-before-free: Fix reversed exit values.
41144         * build-aux/useless-if-before-free: Use correct values
41145         for EXIT_MATCH and EXIT_NO_MATCH.
41146
41147         * build-aux/useless-if-before-free: Close stdout carefully.
41148
41149 2008-02-10  Bruno Haible  <bruno@clisp.org>
41150
41151         New module 'git-merge-changelog'.
41152         * modules/git-merge-changelog: New file.
41153         * lib/git-merge-changelog.c: New file.
41154
41155 2008-02-10  Jim Meyering  <meyering@redhat.com>
41156
41157         useless-if-before-free: New option: --list (-l).
41158
41159         useless-if-before-free: Don't exit immediately upon open failure.
41160         * build-aux/useless-if-before-free: Exit 2 for errors.
41161         Upon failure to open a file, don't exit immediately.
41162         Rather, just warn and continue with any remaining files.
41163
41164 2008-02-10  Bruno Haible  <bruno@clisp.org>
41165
41166         New abstract list operation 'node_set_value'.
41167         * lib/gl_list.h (gl_list_node_set_value): New function.
41168         (struct gl_list_implementation): New field node_set_value.
41169         * lib/gl_list.c (gl_list_node_set_value): New function.
41170         * lib/gl_array_list.c (gl_array_node_set_value): New function.
41171         (gl_array_list_implementation): Update.
41172         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
41173         (gl_carray_list_implementation): Update.
41174         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
41175         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
41176         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
41177         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
41178         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
41179         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
41180         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
41181         Update.
41182         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
41183         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
41184         (gl_sublist_list_implementation): Update.
41185
41186 2008-02-10  Bruno Haible  <bruno@clisp.org>
41187
41188         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
41189         Needed when ELEMENT is #defined to 'some_type *'.
41190
41191 2008-02-10  Jim Meyering  <meyering@redhat.com>
41192
41193         New script and module: useless-if-before-free
41194         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
41195         * build-aux/useless-if-before-free: New file.
41196         * modules/useless-if-before-free: New file.
41197
41198         * build-aux/gitlog-to-changelog: Use committer date, not author date.
41199
41200         xstrtol_error: Fix typo.
41201         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
41202         s/exit_failure/exit_status/.
41203
41204 2008-02-09  Jim Meyering  <meyering@redhat.com>
41205
41206         New script and module: gitlog-to-changelog
41207         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
41208         * modules/gitlog-to-changelog: New file.
41209         * build-aux/gitlog-to-changelog: New file.
41210
41211 2008-02-08  Jim Meyering  <meyering@redhat.com>
41212
41213         Avoid two "parameter unused" warnings.
41214         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
41215         Mark "st" as used.
41216
41217         Use "git COMMAND", not "git-COMMAND".
41218         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
41219         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
41220         * build-aux/git-version-gen: Use "git status", not "git-status".
41221
41222 2008-02-07  Bruno Haible  <bruno@clisp.org>
41223
41224         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
41225         Avoids a crash on Windows Vista.
41226         Reported by Adam Strzelecki <ono@java.pl> via
41227         Simon Josefsson <simon@josefsson.org>.
41228
41229 2008-02-06  Bruno Haible  <bruno@clisp.org>
41230
41231         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
41232         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
41233         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
41234         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
41235         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
41236         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41237         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
41238         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
41239         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
41240         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41241         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41242         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41243         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
41244         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41245         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41246         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
41247         left-adjust flag.
41248         * tests/test-snprintf-posix.h (test_function): Likewise.
41249         * tests/test-sprintf-posix.h (test_function): Likewise.
41250         * tests/test-vasprintf-posix.c (test_function): Likewise.
41251         * doc/posix-functions/fprintf.texi: Update.
41252         * doc/posix-functions/printf.texi: Update.
41253         * doc/posix-functions/snprintf.texi: Update.
41254         * doc/posix-functions/sprintf.texi: Update.
41255         * doc/posix-functions/vfprintf.texi: Update.
41256         * doc/posix-functions/vprintf.texi: Update.
41257         * doc/posix-functions/vsnprintf.texi: Update.
41258         * doc/posix-functions/vsprintf.texi: Update.
41259         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41260
41261 2008-02-06  Bruno Haible  <bruno@clisp.org>
41262
41263         Fix bug introduced on 2008-01-26.
41264         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
41265
41266 2008-02-06  Bruno Haible  <bruno@clisp.org>
41267
41268         Fix bug introduced on 2007-06-10.
41269         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
41270         !NEED_PRINTF_FLAG_ZERO.
41271
41272 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
41273
41274         getloadavg: use libperfstat on AIX5
41275         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
41276
41277 2008-02-03  Bruno Haible  <bruno@clisp.org>
41278
41279         * lib/diffseq.h: Add comments about required #includes.
41280         Reported by Michael Biggs <gnulib@doubleplum.net>.
41281
41282 2008-02-01  Bruno Haible  <bruno@clisp.org>
41283
41284         * users.txt: Add gnuit.
41285
41286 2008-01-31  Bruno Haible  <bruno@clisp.org>
41287
41288         * lib/md4.c (set_uint32): Mark as inline.
41289         * lib/md5.c (set_uint32): Likewise.
41290         * lib/sha1.c (set_uint32): Likewise.
41291         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
41292         * m4/md5.m4 (gl_MD5): Likewise.
41293         * m4/sha1.m4 (gl_SHA1): Likewise.
41294
41295 2008-01-31  Jim Meyering  <meyering@redhat.com>
41296
41297         Use "sizeof VAR", rather than a literal "4".
41298         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
41299         * lib/md4.c (md4_read_ctx): Likewise.
41300         * lib/sha1.c (sha1_read_ctx): Likewise.
41301
41302 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41303
41304         * tests/test-sha1.c: New file, based on test-md5.c.
41305
41306         * modules/crypto/sha1-tests: New file.
41307
41308 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41309
41310         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
41311
41312 2008-01-31  Jim Meyering  <meyering@redhat.com>
41313
41314         Prefer "sizeof v" over the equivalent "4".
41315         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
41316         * lib/md5.c (set_uint32): Likewise.
41317         * lib/sha1.c (set_uint32): Likewise.
41318
41319 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41320
41321         * lib/sha1.c (set_uint32): Mark function as static.
41322
41323 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41324
41325         md2: clarify comments to say that alignment is not required.
41326         * lib/md2.h: Remove warning about alignment in comment.
41327         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
41328         never been required.
41329
41330 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41331
41332         md4: adapt alignment constraint fix from sha1.
41333         * lib/md4.c (set_uint32): New function, from sha1.c
41334         (md4_read_ctx): Use it.
41335         (md4_finish_ctx): Doc fix.
41336         * lib/md4.h: Doc fix.
41337
41338 2008-01-31  Simon Josefsson  <simon@josefsson.org>
41339
41340         md5: adapt alignment constraint fix from sha1.
41341         * lib/md5.c (set_uint32): New function, from sha1.c
41342         (md5_read_ctx): Use it.
41343         (md5_finish_ctx): Doc fix.
41344         * lib/md5.h: Doc fix.
41345
41346 2008-01-30  Peter Palfrader  <weasel@debian.org>
41347
41348         sha1: remove the result buffer alignment constraint
41349         * lib/sha1.c (set_uint32): New function.
41350         (sha1_read_ctx): Rewrite to remove the result buffer alignment
41351         constraint.
41352         (sha1_finish_ctx): Remove comment warning about alignment constraint.
41353         * lib/sha1.h: Likewise.
41354
41355 2008-01-30  Andreas Schwab  <schwab@suse.de>
41356             Bruno Haible  <bruno@clisp.org>
41357
41358         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
41359         correct definition of LDBL_MIN_EXP.
41360
41361 2008-01-30  Karl Berry  <karl@gnu.org>
41362
41363         * config/srclist-update: try to preserve x bit on updates.
41364         * config/srclistvars.sh: update for karl.
41365
41366 2008-01-29  Jim Meyering  <meyering@redhat.com>
41367
41368         vasnprintf.c: Avoid warning about unused label
41369         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
41370         "overflow" label definition and associated code with the
41371         same cpp condition that guards the sole use of that label.
41372
41373 2008-01-26  Bruno Haible  <bruno@clisp.org>
41374
41375         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
41376         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
41377         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
41378         * lib/isnanl-nolibm.h (isnanl): Likewise.
41379         Reported by Paul Eggert <eggert@cs.ucla.edu>.
41380
41381 2008-01-26  Bruno Haible  <bruno@clisp.org>
41382
41383         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
41384         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
41385
41386 2008-01-26  Bruno Haible  <bruno@clisp.org>
41387
41388         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
41389         GCC >= 4.0 built-in.
41390         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
41391
41392 2008-01-26  Bruno Haible  <bruno@clisp.org>
41393
41394         Rename isnan, applicable to 'double' only, to isnand.
41395         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
41396         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
41397         (configure.ac): Update.
41398         (Include): Replace "isnan.h" with "isnand.h".
41399         * m4/isnand.m4: Renamed from m4/isnan.m4.
41400         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
41401         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
41402         instead of isnan.c.
41403         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
41404         instead of HAVE_ISNAN_IN_LIBC.
41405         (isnand): Renamed from isnan.
41406         * lib/isnand.c: New file.
41407         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
41408         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
41409         (Makefile.am): Update.
41410         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
41411         Include isnand.h instead of isnan.h.
41412         (main): Test isnand instead of isnan.
41413         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
41414         isnan-nolibm.
41415         * modules/frexp (Depends-on): Likewise.
41416         * modules/frexp-tests (Depends-on): Likewise.
41417         * modules/frexp-nolibm (Depends-on): Likewise.
41418         * modules/frexp-nolibm-tests (Depends-on): Likewise.
41419         * modules/isfinite (Depends-on): Likewise.
41420         * modules/round-tests (Depends-on): Likewise.
41421         * modules/signbit (Depends-on): Likewise.
41422         * modules/signbit-tests (Depends-on): Likewise.
41423         * modules/snprintf-posix (Depends-on): Likewise.
41424         * modules/sprintf-posix (Depends-on): Likewise.
41425         * modules/trunc-tests (Depends-on): Likewise.
41426         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
41427         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
41428         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
41429         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
41430         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
41431         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
41432         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
41433         * modules/vasnprintf-posix (Depends-on): Likewise.
41434         * modules/vasprintf-posix (Depends-on): Likewise.
41435         * modules/vfprintf-posix (Depends-on): Likewise.
41436         * modules/vsnprintf-posix (Depends-on): Likewise.
41437         * modules/vsprintf-posix (Depends-on): Likewise.
41438         * lib/frexp.c: Include isnand.h instead of isnan.h.
41439         (ISNAN): Set to isnand instead of isnan.
41440         * lib/isfinite.c: Include isnand.h instead of isnan.h.
41441         (gl_isfinited): Use isnand instead of isnan.
41442         * lib/signbitd.c: Include isnand.h instead of isnan.h.
41443         (gl_signbitd): Use isnand instead of isnan.
41444         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
41445         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
41446         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
41447         (main): Use isnand instead of isnan.
41448         * tests/test-round1.c: Include isnand.h.
41449         (main): Use isnand instead of isnan.
41450         * tests/test-round2.c: Include isnand.h instead of isnan.h.
41451         (ISNAN): Set to isnand instead of isnan.
41452         * tests/test-trunc1.c: Include isnand.h.
41453         (main): Use isnand instead of isnan.
41454         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
41455         (equal): Use isnand instead of isnan.
41456         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
41457         isnand-nolibm.
41458         * NEWS: Mention the change.
41459
41460 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
41461             Bruno Haible  <bruno@clisp.org>
41462
41463         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
41464         the GCC builtins for signbits are present and set
41465         REPLACE_SIGNBIT_USING_GCC if so.
41466         * lib/math.in.h (signbit): Define using GCC builtins if
41467         REPLACE_SIGNBIT_USING_GCC is set.
41468         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
41469         REPLACE_SIGNBIT_USING_GCC.
41470         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
41471
41472 2008-01-25  Jim Meyering  <meyering@redhat.com>
41473
41474         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
41475         * lib/poll.c: Include <config.h>, not "config.h".
41476         * tests/test-getaddrinfo.c: Likewise.
41477
41478 2008-01-25  Simon Josefsson  <simon@josefsson.org>
41479
41480         * modules/sockets-tests: New file.
41481
41482 2008-01-24  Simon Josefsson  <simon@josefsson.org>
41483
41484         * modules/sockets: New module, can be used to call WSA_Startup and
41485         WSA_Cleanup when needed.
41486
41487         * lib/sockets.h, lib/sockets.c: New files.
41488
41489         * m4/sockets.m4: New file.
41490
41491         * tests/test-sockets.c: New file.
41492
41493 2008-01-19  Bruno Haible  <bruno@clisp.org>
41494
41495         * doc/posix-headers: Renamed from doc/headers.
41496         * doc/posix-functions: Renamed from doc/functions.
41497         * doc/gnulib.texi: Update.
41498
41499 2008-01-19  Bruno Haible  <bruno@clisp.org>
41500
41501         * doc/glibc-functions/strcasestr.texi: Include contents of
41502         doc/functions/strcasestr.texi, fixing the list of platforms.
41503         * doc/functions/strcasestr.texi: Remove file.
41504
41505 2008-01-19  Bruno Haible  <bruno@clisp.org>
41506
41507         * doc/glibc-functions/memmem.texi: Include contents of
41508         doc/functions/memmem.texi.
41509         * doc/functions/memmem.texi: Remove file.
41510
41511 2008-01-18  Bruno Haible  <bruno@clisp.org>
41512
41513         * doc/glibc-functions/*.texi: New files.
41514         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
41515         to use the new files.
41516
41517 2008-01-17  Bruno Haible  <bruno@clisp.org>
41518
41519         * tests/test-gethostname.c (main): Fix printf statement.
41520
41521 2008-01-17  Simon Josefsson  <simon@josefsson.org>
41522
41523         * modules/gethostname-tests: New file.
41524
41525         * tests/test-gethostname.c: New file.
41526
41527 2008-01-17  Simon Josefsson  <simon@josefsson.org>
41528
41529         * lib/gethostname.c: Include string.h unconditionally, strncpy is
41530         used by the UNAME case.  Reported by Bruno Haible
41531         <bruno@clisp.org>.
41532
41533 2008-01-17  Eric Blake  <ebb9@byu.net>
41534
41535         Convert c-strcasestr to be more efficient.
41536         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
41537         (Depends-on): Add c-strcase, remove malloca, strnlen.
41538         * tests/test-c-strcasestr.c (main): Enhance test.
41539         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
41540
41541 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
41542
41543         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
41544         Use it in creating po/Makevars.
41545
41546 2008-01-15  Simon Josefsson  <simon@josefsson.org>
41547
41548         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
41549         Applications that requires it should initialize libgcrypt
41550         manually.
41551
41552 2008-01-16  Simon Josefsson  <simon@josefsson.org>
41553
41554         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
41555
41556 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
41557
41558         Fix problem with getdate on mingw32 reported by Simon Josefsson
41559         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
41560         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
41561         tzname", when deciding whether to declare tzname.
41562         * lib/strftime.c (tzname): Likewise.
41563
41564 2008-01-15  Bruno Haible  <bruno@clisp.org>
41565
41566         Work around a MacOS X 10.5 bug in frexpl().
41567         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
41568         * doc/functions/frexpl.texi: Document the bug.
41569         Reported by Elias Pipping <pipping@gentoo.org>.
41570
41571 2008-01-14  Eric Blake  <ebb9@byu.net>
41572
41573         Touch up previous patch.
41574         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
41575         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
41576
41577         Convert strcasestr module to use Two-Way algorithm.
41578         * modules/strcasestr-simple: New module, based on the old
41579         strcasestr, but with Two-Way rather than KMP.
41580         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
41581         * lib/string.in.h (rpl_strcasestr): Declare.
41582         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
41583         performance.
41584         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
41585         * modules/string (Makefile.am): Support strcasestr.
41586         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
41587         * modules/strcasestr-tests (Depends-on): Check for alarm.
41588         * tests/test-strcasestr.c: Augment test.
41589         * lib/str-two-way.h: Clean up stray macro.
41590         * NEWS: Document new module.
41591         * MODULES.html.sh (string handling): Likewise.
41592         * doc/functions/strcasestr.texi: New file.
41593         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
41594         here, since it is not a POSIX function.
41595
41596 2008-01-14  Colin Watson  <cjwatson@debian.org>
41597             Bruno Haible  <bruno@clisp.org>
41598
41599         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
41600         works fine; if not, set REPLACE_STRSIGNAL.
41601         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
41602         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41603         REPLACE_STRSIGNAL.
41604         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
41605         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
41606         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
41607
41608 2008-01-14  Bruno Haible  <bruno@clisp.org>
41609
41610         * modules/strsignal (Include): Change to <string.h>.
41611
41612 2008-01-14  Colin Watson  <cjwatson@debian.org>
41613
41614         * modules/argp (Notice): Add a notice recommending to change
41615         XGETTEXT_OPTIONS.
41616         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
41617
41618 2008-01-13  Colin Watson  <cjwatson@debian.org>
41619
41620         * modules/strsignal-tests: New file.
41621         * tests/test-strsignal.c: New file.
41622
41623         * lib/strsignal.c: New file, from glibc with modifications.
41624         * lib/siglist.h: New file, from glibc with modifications.
41625         * lib/string.in.h (strsignal): New declaration.
41626         * m4/strsignal.m4: New file.
41627         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
41628         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
41629         * modules/strsignal: New file.
41630         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
41631         HAVE_DECL_STRSIGNAL.
41632
41633 2008-01-13  Bruno Haible  <bruno@clisp.org>
41634
41635         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
41636         locale encoding is not ASCII. Needed for OpenBSD 4.0.
41637         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
41638         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
41639
41640 2008-01-13  Bruno Haible  <bruno@clisp.org>
41641
41642         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
41643         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
41644         * lib/argp.h (__attribute__): Likewise.
41645         * lib/c-stack.c (__attribute__): Likewise.
41646         * lib/error.h (__attribute__): Likewise.
41647         * lib/fts.c (__attribute__): Likewise.
41648         * lib/openat.h (__attribute__): Likewise.
41649         * lib/stdio.in.h (__attribute__): Likewise.
41650         * lib/string.in.h (__attribute__): Likewise.
41651         * lib/utimens.c (__attribute__): Likewise.
41652         * lib/vasnprintf.h (__attribute__): Likewise.
41653         * lib/xalloc.h (__attribute__): Likewise.
41654         * lib/xprintf.h (__attribute__): Likewise.
41655         * lib/xstrtol.h (__attribute__): Likewise.
41656         * lib/xvasprintf.h (__attribute__): Likewise.
41657
41658 2008-01-12  Bruno Haible  <bruno@clisp.org>
41659
41660         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
41661         * doc/glibc-headers/a.out.texi: New file.
41662         * doc/glibc-headers/aliases.texi: New file.
41663         * doc/glibc-headers/alloca.texi: New file.
41664         * doc/glibc-headers/ar.texi: New file.
41665         * doc/glibc-headers/argp.texi: New file.
41666         * doc/glibc-headers/argz.texi: New file.
41667         * doc/glibc-headers/byteswap.texi: New file.
41668         * doc/glibc-headers/crypt.texi: New file.
41669         * doc/glibc-headers/endian.texi: New file.
41670         * doc/glibc-headers/envz.texi: New file.
41671         * doc/glibc-headers/err.texi: New file.
41672         * doc/glibc-headers/error.texi: New file.
41673         * doc/glibc-headers/execinfo.texi: New file.
41674         * doc/glibc-headers/fpu_control.texi: New file.
41675         * doc/glibc-headers/fstab.texi: New file.
41676         * doc/glibc-headers/fts.texi: New file.
41677         * doc/glibc-headers/getopt.texi: New file.
41678         * doc/glibc-headers/ieee754.texi: New file.
41679         * doc/glibc-headers/ifaddrs.texi: New file.
41680         * doc/glibc-headers/libintl.texi: New file.
41681         * doc/glibc-headers/mcheck.texi: New file.
41682         * doc/glibc-headers/mntent.texi: New file.
41683         * doc/glibc-headers/obstack.texi: New file.
41684         * doc/glibc-headers/paths.texi: New file.
41685         * doc/glibc-headers/printf.texi: New file.
41686         * doc/glibc-headers/pty.texi: New file.
41687         * doc/glibc-headers/resolv.texi: New file.
41688         * doc/glibc-headers/shadow.texi: New file.
41689         * doc/glibc-headers/sysexits.texi: New file.
41690         * doc/glibc-headers/ttyent.texi: New file.
41691
41692 2008-01-12  Jim Meyering  <meyering@redhat.com>
41693
41694         announce-gen: emit Gnulib's git-based version string.
41695         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
41696         New option --gnulib-version=V, where V is expected to be
41697         the output of running git describe in the gnulib directory.
41698         (get_tool_versions): Request feedback on xdelta.  I suspect it's
41699         not useful, and plan to stop publishing an xdelta file with each
41700         coreutils release.
41701
41702         * build-aux/announce-gen: Also check for lzma-compressed files.
41703
41704 2008-01-11  Bruno Haible  <bruno@clisp.org>
41705
41706         * tests/test-memmem.c (main): Increase maximum allowed time.
41707         * tests/test-strstr.c (main): Likewise.
41708
41709 2008-01-11  Bruno Haible  <bruno@clisp.org>
41710
41711         * doc/functions/memmem.texi: Add more precisions about platforms.
41712         * doc/functions/strstr.texi: Likewise.
41713
41714 2008-01-10  Eric Blake  <ebb9@byu.net>
41715
41716         * m4/strstr.m4: Delete cruft from copy-n-paste.
41717         Reported by Bruno Haible.
41718
41719 2008-01-10  Bruno Haible  <bruno@clisp.org>
41720
41721         Make c-strstr rely on strstr.
41722         * lib/c-strstr.c: Don't include str-kmp.h.
41723         (c_strstr): Define in terms of strstr.
41724         * modules/c-strstr (Files): Remove lib/str-kmp.h.
41725         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
41726
41727 2008-01-10  Bruno Haible  <bruno@clisp.org>
41728
41729         * doc/gnulib.texi (String Functions in C Locale): New section.
41730         * doc/c-ctype.texi: New file.
41731         * doc/c-strcase.texi: New file.
41732         * doc/c-strcaseeq.texi: New file.
41733         * doc/c-strcasestr.texi: New file.
41734         * doc/c-strstr.texi: New file.
41735         * doc/c-strtod.texi: New file.
41736         * doc/c-strtold.texi: New file.
41737
41738 2008-01-10  Eric Blake  <ebb9@byu.net>
41739
41740         * lib/relocatable.h: Fix a comment.
41741
41742 2008-01-10  Eric Blake  <ebb9@byu.net>
41743
41744         Share two-way algorithm.
41745         * lib/str-two-way.h: New file, merged from...
41746         * lib/memmem.c: ...here...
41747         * lib/strstr.c: ...and here.
41748         * modules/memmem (Files): Use it.
41749         * modules/strstr (Files): Likewise.
41750
41751         Avoid quadratic strstr implementations.
41752         * lib/strstr.c: New file.
41753         * m4/strstr.m4: Likewise.
41754         * modules/strstr: Likewise.
41755         * modules/strstr-tests: Likewise.
41756         * tests/test-strstr.c: Likewise.
41757         * lib/string.in.h (rpl_strstr): Declare.
41758         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
41759         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
41760         * modules/string (Makefile.am): Likewise.
41761         * MODULES.html.sh (string handling): Mention new module.
41762         * doc/functions/strstr.texi (strstr): Document the bug.
41763
41764 2008-01-10  Bruno Haible  <bruno@clisp.org>
41765
41766         * lib/relocatable.h (relocate): State whether result is freshly
41767         allocated or not.
41768         * lib/relocatable.c (relocate): Return a freshly allocated string
41769         instead of a pointer to a privately held string.
41770         Reported by Sylvain Beucler <beuc@gnu.org>.
41771
41772 2008-01-10  Colin Watson  <cjwatson@debian.org>
41773
41774         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
41775         s/S_ISNLK/S_ISLNK/.
41776
41777 2008-01-09  Bruno Haible  <bruno@clisp.org>
41778
41779         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
41780         and other files.
41781         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
41782         if it's only a guess.
41783         * modules/memmem: Simplify by depending on memmem-simple.
41784
41785 2008-01-09  Bruno Haible  <bruno@clisp.org>
41786
41787         Work around OpenBSD 4.0 tdelete() bug.
41788         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
41789         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
41790         macros and don't redefine the enum values.
41791         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
41792         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
41793         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
41794
41795 2008-01-09  Bruno Haible  <bruno@clisp.org>
41796
41797         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
41798         (main): Don't perform the tests if setlocale did not install a UTF-8
41799         locale. Needed on OpenBSD 4.0.
41800         * modules/wcwidth-tests (Depends-on): Add localcharset.
41801
41802 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
41803
41804         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
41805         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
41806         * NEWS: announce this.
41807         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
41808
41809 2008-01-09  Simon Josefsson  <simon@josefsson.org>
41810         and Eric Blake  <ebb9@byu.net>
41811
41812         Add memmem-simple module.
41813         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
41814         (gl_FUNC_MEMMEM): Separate performance from presence checks.
41815         * modules/memmem-simple: New file.
41816         * modules/memmem (Description): Tweak.
41817         * MODULES.html.sh (string handling): Mention new module.
41818         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
41819         addressed by memmem-simple.
41820         * NEWS: Document the difference.
41821
41822 2008-01-09  Eric Blake  <ebb9@byu.net>
41823
41824         Give gcc some memmem optimization hints.
41825         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
41826         (strcasestr): Declare as pure.
41827         * modules/memmem (Maintainer): Claim my implementation.
41828
41829 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41830
41831         Support AIX 6.1 and higher.
41832         * build-aux/config.libpath: Likewise.
41833         * build-aux/config.rpath: Likewise.
41834
41835 2008-01-08  Jim Meyering  <meyering@redhat.com>
41836             Bruno Haible  <bruno@clisp.org>
41837
41838         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
41839         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
41840         Reported by Peter Fales in
41841         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
41842
41843 2008-01-08  Bruno Haible  <bruno@clisp.org>
41844
41845         * modules/unictype/category-of (Depends-on): Add
41846         unictype/category-none.
41847         * modules/unictype/category-and-tests (Depends-on): Add
41848         unictype/category-{L,N,Lu,Nd}.
41849         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
41850         * modules/unictype/category-or-tests (Depends-on): Add
41851         unictype/category-{L,N}.
41852         * modules/unictype/category-name-tests (Depends-on): Add
41853         unictype/category-{Z,Nl}.
41854         Reported by Simon Josefsson.
41855
41856 2008-01-08  Bruno Haible  <bruno@clisp.org>
41857
41858         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
41859         convention better.
41860         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
41861         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
41862         Reported by Peter Miller <millerp@canb.auug.org.au>.
41863
41864 2008-01-08  Eric Blake  <ebb9@byu.net>
41865
41866         Rewrite memmem to guarantee linear complexity without malloc.
41867         * lib/memmem.c (memmem): Use Two-Way rather than
41868         Knuth-Morris-Pratt, to allow O(1) space usage.
41869         (critical_factorization, two_way_short_needle)
41870         (two_way_long_needle): New functions.
41871         (knuth_morris_pratt): Delete.
41872         * modules/memmem (Depends-on): No longer need malloca or stdbool.
41873         Add stdint.
41874         * tests/test-memmem.c (main): Add tests for periodic needle and
41875         sublinear performance.
41876         * doc/functions/memmem.texi (memmem): Document other deficiencies
41877         in cygwin and older glibc.
41878
41879 2008-01-08  Bruno Haible  <bruno@clisp.org>
41880
41881         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
41882         augmentation.
41883
41884 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
41885
41886         Add a configure time option: --disable-acl.
41887         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
41888         AC_ARG_ENABLE(acl).
41889
41890 2008-01-06  Simon Josefsson  <simon@josefsson.org>
41891
41892         * tests/test-localename.c: Don't include obsolete "setenv.h".
41893
41894         * modules/localename-tests (Depends-on): Need unsetenv.
41895
41896 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41897
41898         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
41899
41900 2008-01-06  Colin Watson  <cjwatson@debian.org>
41901
41902         * users.txt: Add man-db.
41903
41904 2008-01-07  Bruno Haible  <bruno@clisp.org>
41905
41906         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
41907         previous section name.
41908
41909 2008-01-07  Bruno Haible  <bruno@clisp.org>
41910
41911         * lib/progname.c (set_program_name): Don't strip off a leading
41912         "lt-" prefix outside a .libs directory.
41913         Suggested by Paul Eggert.
41914
41915 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
41916             Bruno Haible  <bruno@clisp.org>
41917
41918         Improve memory cleanup in 'relocatable' module.
41919         * lib/relocatable.h (compute_curr_prefix): Change return type to
41920         'char *'.
41921         * lib/relocatable.c (compute_curr_prefix): Change return type to
41922         'char *'. Free curr_installdir after use.
41923         (relocate): Free curr_prefix_better after use.
41924         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
41925
41926 2008-01-01  Bruno Haible  <bruno@clisp.org>
41927
41928         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
41929         failure on older glibc systems.
41930         Reported by Peter Fales <psfales@alcatel-lucent.com>.
41931
41932 2008-01-05  Eric Blake  <ebb9@byu.net>
41933
41934         Avoid quadratic system memmem.
41935         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
41936         Reported by Ralf Wildenhues.
41937
41938         Fix memmem test for mingw.
41939         * modules/memmem-tests (configure.ac): Check for alarm.
41940         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
41941         it.
41942         * doc/functions/memmem.texi: New file.
41943         * doc/gnulib.texi (Function Substitutes): Add memmem.
41944         Reported by Bruno Haible.
41945
41946 2008-01-04  Bruno Haible  <bruno@clisp.org>
41947
41948         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
41949         Require gl_HEADER_STRINGS_H_DEFAULTS, not
41950         gl_HEADER_STRING_H_DEFAULTS.
41951
41952 2008-01-04  Eric Blake  <ebb9@byu.net>
41953
41954         Shorten duration of memmem test.
41955         * tests/test-memmem.c (main): Use alarm to declare failure if test
41956         is taking too long.
41957         Reported by Ralf Wildenhues.
41958
41959 2007-12-21  Simon Josefsson  <simon@josefsson.org>
41960
41961         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
41962         string, needed by strerror.
41963
41964 2008-01-03  Colin Watson  <cjwatson@debian.org>
41965             Bruno Haible  <bruno@clisp.org>
41966
41967         * doc/gnulib-tool.texi (Localization): New section.
41968
41969 2008-01-02  Bruno Haible  <bruno@clisp.org>
41970
41971         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
41972         variables to 'unsigned char *' type.
41973         Reported by Paul Eggert.
41974
41975 2008-01-02  Jim Meyering  <jim@meyering.net>
41976
41977         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
41978
41979 2007-12-31  Jim Meyering  <jim@meyering.net>
41980
41981         Avoid use of private FTS type name.
41982         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
41983
41984 2007-12-30  Karl Berry  <karl@gnu.org>
41985
41986         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
41987         work around defect in Texinfo and/or the standalone Info browser.
41988
41989 2007-12-30  Bruno Haible  <bruno@clisp.org>
41990
41991         Unify 5 copies of the KMP code.
41992         * lib/str-kmp.h: New file.
41993         * lib/c-strcasestr.c: Include str-kmp.h.
41994         (knuth_morris_pratt): Remove function.
41995         (c_strcasestr): Update.
41996         * lib/c-strstr.c: Include str-kmp.h.
41997         (knuth_morris_pratt): Remove function.
41998         (c_strcasestr): Update.
41999         * lib/mbscasestr.c: Include str-kmp.h.
42000         (knuth_morris_pratt_unibyte): Remove function.
42001         * lib/mbsstr.c: Include str-kmp.h.
42002         (knuth_morris_pratt_unibyte): Remove function.
42003         * lib/strcasestr.c: Include str-kmp.h.
42004         (knuth_morris_pratt): Remove function.
42005         (strcasestr): Update.
42006         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
42007         * modules/c-strstr (Files): Likewise.
42008         * modules/mbscasestr (Files): Likewise.
42009         * modules/mbsstr (Files): Likewise.
42010         * modules/strcasestr (Files): Likewise.
42011         Suggested by Paul Eggert.
42012
42013 2007-12-30  Bruno Haible  <bruno@clisp.org>
42014
42015         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
42016         defined.
42017
42018 2007-12-30  Bruno Haible  <bruno@clisp.org>
42019
42020         * lib/xmalloca.h: Include xalloc.h.
42021         (xnmalloca): New macro.
42022
42023 2007-12-30  Bruno Haible  <bruno@clisp.org>
42024
42025         * lib/malloca.h (nmalloca): New macro.
42026         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
42027         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
42028         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
42029         knuth_morris_pratt_multibyte): Likewise.
42030         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
42031         knuth_morris_pratt_multibyte): Likewise.
42032         * lib/memmem.c (knuth_morris_pratt): Likewise.
42033         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
42034
42035 2007-12-25  Bruno Haible  <bruno@clisp.org>
42036
42037         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
42038         * lib/glob.c: Don't include openat.h.
42039         (link_exists2_p): Add back the code that deals with the
42040         !GLOB_ALTDIRFUNC case.
42041         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
42042         let it do the filename concatenation.
42043         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
42044         * modules/glob (Depends-on): Remove openat.
42045
42046 2007-12-31  Bruno Haible  <bruno@clisp.org>
42047
42048         * modules/dirfd (License): Change to LGPLv2+.
42049         Approved by Jim Meyering.
42050
42051 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
42052
42053         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
42054         when multiplying M by sizeof (size_t).
42055
42056 2007-12-10  Martin Lambers  <marlam@marlam.de>
42057
42058         Override getpagesize on mingw.
42059         * lib/getpagesize.c: New file.
42060         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
42061         * modules/getpagesize (Files): Add lib/getpagesize.c.
42062         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
42063         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
42064         REPLACE_GETPAGESIZE.
42065         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
42066
42067 2007-12-25  Bruno Haible  <bruno@clisp.org>
42068
42069         * modules/localcharset (Notice): New field.
42070         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
42071         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
42072
42073 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
42074             Bruno Haible  <bruno@clisp.org>
42075
42076         Avoid using the syntax symbol() in formatted documentation.
42077         * MODULES.html.sh (func_module): When replacing symbol() with a
42078         hyperlink, remove the parentheses. Show an error if some remain.
42079         Recognize and render the '...' syntax.
42080         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
42081         Rework. Add paragraph about GCC's inlining.
42082         * doc/alloca.texi: Likewise.
42083         * doc/error.texi: Remove parentheses from symbol reference.
42084         * doc/gnulib-intro.texi: Likewise.
42085         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
42086         * modules/fnmatch (Description): Reword to say "the ... function".
42087         * modules/full-read (Description): Likewise.
42088         * modules/full-write (Description): Likewise.
42089         * modules/safe-read (Description): Likewise.
42090         * modules/safe-write (Description): Likewise.
42091         * modules/strchrnul (Description): Likewise.
42092         * modules/trim (Description): Likewise.
42093         * modules/error (Description): Remove parentheses from symbol
42094         references.
42095         * modules/verror (Description): Likewise.
42096         Reported by Karl Berry.
42097
42098 2007-12-25  Bruno Haible  <bruno@clisp.org>
42099
42100         Fixup after 2007-10-16 commit.
42101         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
42102
42103 2007-12-24  Bruno Haible  <bruno@clisp.org>
42104
42105         Make --enable-relocatable work with DESTDIR.
42106         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
42107         to compute installdir from destprog.
42108         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
42109         also set the RELOC_DESTDIR variable.
42110         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
42111
42112 2007-12-24  Bruno Haible  <bruno@clisp.org>
42113
42114         Fix link error due to xalloc_die().
42115         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
42116         of xreadlink.
42117         * lib/relocwrapper.c: Update comments.
42118         * build-aux/install-reloc: Remove xreadlink.c from file list.
42119         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
42120         xreadlink.c.
42121         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
42122
42123 2007-12-24  Bruno Haible  <bruno@clisp.org>
42124
42125         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
42126         * lib/setenv.h: Remove file.
42127         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
42128         lib/setenv.h.
42129         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
42130         (Depends-on): Add stdlib.
42131         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
42132         gl_FUNC_UNSETENV.
42133         (Include): Replace setenv.h with <stdlib.h>.
42134         * modules/unsetenv: New file.
42135         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
42136         * lib/unsetenv.c: Include <stdlib.h> first.
42137         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
42138         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
42139         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
42140         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
42141         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
42142         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42143         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
42144         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
42145         * doc/functions/unsetenv.texi: Update.
42146         * modules/xsetenv (Depends-on): Add unsetenv.
42147         * modules/getdate (Depends-on): Likewise.
42148         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
42149         * lib/xsetenv.c: Don't include setenv.h.
42150         * lib/getdate.y: Likewise.
42151         * lib/relocwrapper.c: Likewise.
42152         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
42153         (Depends-on): Add stdlib.
42154         * NEWS: Mention the changes.
42155         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
42156
42157 2007-12-23  Bruno Haible  <bruno@clisp.org>
42158
42159         * lib/memmem.c (memmem): Use lowercase variable names. Tab
42160         indentation.
42161
42162 2007-12-23  Bruno Haible  <bruno@clisp.org>
42163
42164         * lib/c-strcasestr.c: Add more comments.
42165         * lib/c-strstr.c: Likewise.
42166         * lib/mbscasestr.c: Likewise.
42167         * lib/mbsstr.c: Likewise.
42168         * lib/strcasestr.c: Likewise.
42169         * lib/memmem.c: Likewise.
42170
42171 2007-12-23  Bruno Haible  <bruno@clisp.org>
42172
42173         * tests/test-memmem.c: Include <string.h> first.
42174
42175 2007-12-22  Bruno Haible  <bruno@clisp.org>
42176
42177         * gnulib-tool (func_create_testdir): Change $auxdir while generating
42178         the contents of $testsbase.
42179         Reported by Ralf Wildenhues.
42180
42181 2007-12-22  Bruno Haible  <bruno@clisp.org>
42182
42183         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
42184         two variables local_ldadd_before, local_ldadd_last.
42185
42186 2007-12-20  Eric Blake  <ebb9@byu.net>
42187
42188         Work around circular library issue when cross-compiling.
42189         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
42190         that progname.o does not need to pull in rpl_memcmp.
42191
42192 2007-12-19  Eric Blake  <ebb9@byu.net>
42193
42194         Fix memmem to avoid O(n^2) worst-case complexity.
42195         * lib/memmem.c (knuth_morris_pratt): New function.
42196         (memmem): Use it if first few naive iterations fail.
42197         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
42198         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
42199         * modules/memchr (License): Likewise.
42200         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
42201         malloca.
42202         * tests/test-memmem.c: Rewrite, borrowing ideas from
42203         test-mbsstr1.c; the old version wouldn't even compile!
42204         * modules/memmem-tests: New file.
42205         * lib/string.in.h (rpl_memmem): Add declaration.
42206         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
42207         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
42208         REPLACE_MEMMEM.
42209
42210 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
42211
42212         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
42213         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
42214         before any system include files, and undef after them all.  This
42215         should fix a problem on VMS reported by John E. Malmberg in
42216         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
42217
42218 2007-12-17  Eric Blake  <ebb9@byu.net>
42219
42220         Revert addition of verify, for BSD/OS.
42221         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
42222         can't handle large files, for the sake of obsolete platforms.
42223         * modules/fseeko (Depends-on): Remove verify.
42224         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
42225         * doc/functions/ftello.texi (ftello): Likewise.
42226         * doc/functions/fgetpos.texi (fgetpos): Likewise.
42227         Reported by Larry Jones.
42228
42229 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
42230
42231         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
42232         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
42233
42234 2007-12-17  Jim Meyering  <meyering@redhat.com>
42235
42236         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
42237         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
42238         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
42239         * modules/getcwd (Depends-on): Add openat.
42240         Reported by Petr Salinger.
42241
42242 2007-12-17  Bruno Haible  <bruno@clisp.org>
42243
42244         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
42245         avoid a segmentation fault of the configure test on x86_64 systems.
42246
42247 2007-12-15  Jim Meyering  <meyering@redhat.com>
42248
42249         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
42250
42251 2007-12-13  Eric Blake  <ebb9@byu.net>
42252
42253         Another fseek test.
42254         * tests/test-fseek.c (main): Also test ungetc handling.
42255         * tests/test-fseeko.c (main): Likewise.
42256         * modules/fseeko (Depends-on): Add verify.
42257         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
42258         large.
42259         Reported by Larry Jones.
42260
42261         Fix fseeko on mingw.
42262         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
42263         seek.
42264
42265         Beef up fseek tests.
42266         * tests/test-fseek.c (main): Also test eof handling.
42267         * tests/test-fseeko.c (main): Likewise.
42268         Reported by Larry Jones.
42269
42270 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
42271
42272         Fix fseeko on BSD-based platforms.
42273         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
42274         successful seek.
42275
42276 2007-12-12  Eric Blake  <ebb9@byu.net>
42277
42278         Allow circular dependency of separate libtests.a
42279         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
42280         when use_libtests.
42281
42282 2007-12-11  Eric Blake  <ebb9@byu.net>
42283
42284         Fix bug with -0.0L in previous patch.
42285         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
42286         * tests/test-isnan.c (main): Also test on zeroes.
42287         * tests/test-isnanf.c (main): Likewise.
42288         * tests/test-isnanl.h (main): Likewise.
42289
42290         Detect pseudo-denormals on x86 even when cross-compiling.
42291         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
42292         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
42293         invalid bit patterns that happen to satisfy ==.
42294
42295         Avoid link failures with separate libtests.a.
42296         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
42297         last, to satisfy circular dependencies.
42298
42299 2007-12-11  Eric Blake  <ebb9@byu.net>
42300         and Bruno Haible  <bruno@clisp.org>
42301
42302         Fix OpenBSD 4.0 <float.h> handling of long double.
42303         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
42304         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
42305         * doc/headers/float.texi (float.h): Document OpenBSD bug.
42306
42307 2007-12-11  Jim Meyering  <meyering@redhat.com>
42308
42309         * users.txt: Add libvirt.
42310
42311         Support versions of autoconf prior to 2.59c.
42312         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
42313         if it is not already defined.
42314
42315 2007-12-09  Bruno Haible  <bruno@clisp.org>
42316
42317         Let 'gnulib-tool --import' collect sources needed for the tests in
42318         tests/ rather than in lib/.
42319         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
42320         argument. If true, add rules to generate libtests.a, and put libtests.a
42321         into $(LDADD). Consider source files in subdirectories and set
42322         uses_subdirs.
42323         (func_emit_initmacro_start, func_emit_initmacro_end,
42324         func_emit_initmacro_done): Pass all arguments explicitly.
42325         (func_import): Determine two module lists main_modules,
42326         testsrelated_modules. Determine use_libtests. Determine two variables
42327         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
42328         instead of just sed_transform_lib_file. Determine two variables
42329         main_files and testsrelated_files. Compute 'files' as the union of
42330         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
42331         func_add_or_update. In the generated gnulib-comp.m4, collect the
42332         object files for tests/ in different variables than those for lib/.
42333         Substitute LIBTESTS_LIBDEPS.
42334         (func_create_testdir): Combine the uses_subdirs results from
42335         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
42336
42337 2007-12-09  Bruno Haible  <bruno@clisp.org>
42338
42339         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
42340         the build-aux directory.
42341
42342 2007-12-09  Bruno Haible  <bruno@clisp.org>
42343
42344         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
42345         introduced on 2006-09-09.
42346
42347 2007-12-07  Jim Meyering  <meyering@redhat.com>
42348
42349         Let these macros work also with autoconf-2.59.
42350         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
42351         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
42352         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
42353
42354 2007-12-06  Jim Meyering  <meyering@redhat.com>
42355
42356         Avoid a configure-time syntax error in gl_FUNC_ACL.
42357         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
42358         function in each branch, before testing the cache variable.
42359
42360 2007-12-04  Eric Blake  <ebb9@byu.net>
42361
42362         Make scripts executable.
42363         * build-aux/config.guess: Add execute permissions.
42364         * build-aux/config.sub: Likewise.
42365         * build-aux/gendocs.sh: Likewise.
42366
42367         Fix frexp on mingw.
42368         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
42369         cross-compiling.
42370         * doc/functions/frexp.texi (frexp): Document the bug.
42371
42372         Make cygwin fseeko check more reliable.
42373         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
42374         version numbers, rather than unrelated feature check.
42375         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
42376         * doc/functions/ftello.texi (ftello): Likewise.
42377         Reported by Bruno Haible.
42378
42379         * m4/strerror.m4: Bump version number.
42380
42381 2007-12-03  Bruno Haible  <bruno@clisp.org>
42382
42383         * doc/functions/mprotect.texi: Mention the mingw problem.
42384
42385 2007-12-03  Eric Blake  <ebb9@byu.net>
42386
42387         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
42388         REPLACE_STRERROR is initialized before this macro.
42389
42390 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
42391
42392         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
42393         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
42394         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
42395         put -lsec in even for programs other than 'ls'.  This fixes a problem
42396         for gettext reported by Bruno Haible in
42397         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
42398         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
42399         Add support for Solaris 10.  This isn't efficient, but should get the
42400         job done for now.
42401
42402 2007-12-03  James Youngman  <jay@gnu.org>
42403
42404         * doc/regexprops-generic.texi: change "an close-group" to "a
42405         close-group" and "illegal" to "not allowed".
42406
42407 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42408
42409         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
42410         pr_byname.h. Needed for the rare case when the maintainer has done
42411         "make maintainer-clean" in the source directory and then attempts a
42412         build outside the source directory.
42413         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
42414         scripts_byname.h.
42415
42416 2007-12-02  Martin Lambers <marlam@marlam.de>
42417             Bruno Haible  <bruno@clisp.org>
42418
42419         * lib/getpagesize.h: Remove file.
42420         * lib/unistd.in.h: Include declaration of getpagesize here.
42421         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
42422         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
42423         HAVE_SYS_PARAM_H.
42424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
42425         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42426         * modules/getpagesize (Files): Remove lib/getpagesize.h.
42427         (Depends-on): Add unistd.
42428         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42429         (Include): Use <unistd.h> instead of getpagesize.h.
42430         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
42431         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
42432         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
42433         gl_GETPAGESIZE invocation, already handled by module dependency.
42434         * lib/pagealign_alloc.c: Don't include getpagesize.h.
42435
42436 2007-12-02  Bruno Haible  <bruno@clisp.org>
42437
42438         * modules/strings-tests: New file.
42439         * tests/test-strings.c: New file.
42440
42441         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
42442         * lib/strings.in.h: New file.
42443         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
42444         * m4/strings_h.m4: New file.
42445         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
42446         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
42447         * modules/strings: New file.
42448         * modules/string (Makefile.am): Update.
42449         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
42450         Reported by Karl Berry.
42451
42452 2007-12-01  Eric Blake  <ebb9@byu.net>
42453
42454         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
42455         accomodate fix in cygwin 1.5.25.
42456
42457 2007-12-01  Jim Meyering  <meyering@redhat.com>
42458
42459         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
42460         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
42461         that would inhibit utf8-optimization of a regexp containing line-
42462         or buffer-anchors, e.g., `^', `$'.
42463
42464 2007-11-30  Bruno Haible  <bruno@clisp.org>
42465
42466         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
42467         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
42468         glthread_recursive_lock_init.
42469         * lib/lock.c (glthread_recursive_lock_init)
42470         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
42471         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
42472
42473 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
42474
42475         New function qset_acl, like set_acl but with syscall semantics.
42476         * lib/acl.h (qset_acl): New decl.
42477         * lib/acl.c (qset_acl): New function.
42478         (set_acl): Use new function.  Use more-consistent diagnostics.
42479
42480 2007-11-28  Jim Meyering  <meyering@redhat.com>
42481
42482         * modules/physmem (License): Change from GPL to LGPLv2+.
42483
42484 2007-11-26  Bruno Haible  <bruno@clisp.org>
42485
42486         * lib/vasnprintf.c (decode_long_double): Don't abort if the
42487         'long double' type has excess precision.
42488         Reported by Jim Meyering in
42489         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
42490
42491 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42492
42493         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
42494         Sync from <http://gnu.org/licenses>.
42495         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
42496         with license text from same location.
42497         * doc/maintain.texi, doc/standards.texi:  Sync from
42498         <http://savannah.gnu.org/projects/gnustandards>.
42499
42500 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
42501         and Jim Meyering  <meyering@redhat.com>
42502
42503         Adjust getdate' grammar to accept a slightly more regular language.
42504         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
42505         Before, the former was rejected.
42506         * lib/getdate.y (digits_to_date_time): New function, factored
42507         out of ...
42508         (number): ...here.  Just call digits_to_date_time.
42509         (hybrid): New non-terminal to handle an <unsigned number,
42510         signed relative offset> sequence consistently.
42511
42512 2007-11-18  Jim Meyering  <meyering@redhat.com>
42513
42514         Pull my changes from coreutils:
42515         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
42516         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
42517         use of $gnulib_tool_option_extras, so that it's separated from the
42518         preceding argument.
42519
42520         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
42521         * build-aux/bootstrap (cp_mark_as_generated): Create any required
42522         parent destination directories before copying a file into place.
42523
42524 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
42525
42526         bootstrap: work also with 4-argument variant of AC_INIT
42527         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
42528
42529 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
42530
42531         Port test-getaddrinfo to Solaris.
42532         Problem reported by Bruno Haible in
42533         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
42534         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
42535         explanation of setting 'hints'.
42536         Don't reject an implementation merely because it returns EAI_SERVICE.
42537         (EAI_SERVICE): Define to 0 if not defined.
42538
42539 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
42540
42541         The license of gnu-make and posix-shell is now "GPLed build tool".
42542         * modules/gnu-make (License): Likewise.
42543         * modules/posix-shell (License): Likewise.
42544
42545         New module posix-shell, for determining a POSIX shell
42546         or perhaps something that is close enough to a POSIX shell.
42547         * m4/posix-shell.m4: New file.
42548         * modules/posix-shell: New file.
42549
42550         * MODULES.html.sh: Mention new module.
42551
42552         New module gnu-make, for determining whether we're using GNU Make.
42553         * m4/gnu-make.m4: New file.
42554         * modules/gnu-make: New file.
42555         * MODULES.html.sh: Mention new module.
42556
42557 2007-11-14  Jim Meyering  <meyering@redhat.com>
42558
42559         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
42560         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
42561         use this macro to create a function _definition_.
42562         Remove useless "#undef ARGMATCH_DIE".
42563
42564 2007-11-14  Bruno Haible  <bruno@clisp.org>
42565
42566         * lib/config.charset: Update for OpenBSD 4.1.
42567         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
42568
42569 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
42570
42571         Document 64-bit #if problems in stdint.texi.
42572         * doc/headers/stdint.texi (stdint.h): Mention problems with
42573         64-bit-#if, and how to work around them.
42574
42575         Don't insist on 'long long int' support in the preprocessor.  It
42576         breaks too many things.  For example, PRIdMAX still uses a 'long
42577         long int' format with the latest Sun compiler, even though
42578         HAVE_LONG_LONG_INT isn't defined due to that compiler's
42579         preprocessor problem.  This causes the latest coreutils to dump
42580         core on Solaris 10 sparc with the Sun C compiler.
42581         Instead, fix the 2007-10-16 problem in a different way, by evaluating
42582         the troublesome expressions at configure-time, not at #if-time.
42583         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
42584         preprocessor.
42585         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
42586         compile-time C checks, done at 'configure'-time.
42587         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
42588         * modules/inttypes (Makefile): Substitute the new symbols that
42589         gl_INTTYPES_H now generates.
42590         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
42591
42592 2007-11-12  Bruno Haible  <bruno@clisp.org>
42593
42594         Tests for Unicode character classification functions.
42595
42596         * modules/unictype/bidicategory-byname-tests: New file.
42597         * modules/unictype/bidicategory-name-tests: New file.
42598         * modules/unictype/bidicategory-of-tests: New file.
42599         * modules/unictype/bidicategory-test-tests: New file.
42600         * modules/unictype/block-list-tests: New file.
42601         * modules/unictype/block-of-tests: New file.
42602         * modules/unictype/block-test-tests: New file.
42603         * modules/unictype/category-C-tests: New file.
42604         * modules/unictype/category-Cc-tests: New file.
42605         * modules/unictype/category-Cf-tests: New file.
42606         * modules/unictype/category-Cn-tests: New file.
42607         * modules/unictype/category-Co-tests: New file.
42608         * modules/unictype/category-Cs-tests: New file.
42609         * modules/unictype/category-L-tests: New file.
42610         * modules/unictype/category-Ll-tests: New file.
42611         * modules/unictype/category-Lm-tests: New file.
42612         * modules/unictype/category-Lo-tests: New file.
42613         * modules/unictype/category-Lt-tests: New file.
42614         * modules/unictype/category-Lu-tests: New file.
42615         * modules/unictype/category-M-tests: New file.
42616         * modules/unictype/category-Mc-tests: New file.
42617         * modules/unictype/category-Me-tests: New file.
42618         * modules/unictype/category-Mn-tests: New file.
42619         * modules/unictype/category-N-tests: New file.
42620         * modules/unictype/category-Nd-tests: New file.
42621         * modules/unictype/category-Nl-tests: New file.
42622         * modules/unictype/category-No-tests: New file.
42623         * modules/unictype/category-P-tests: New file.
42624         * modules/unictype/category-Pc-tests: New file.
42625         * modules/unictype/category-Pd-tests: New file.
42626         * modules/unictype/category-Pe-tests: New file.
42627         * modules/unictype/category-Pf-tests: New file.
42628         * modules/unictype/category-Pi-tests: New file.
42629         * modules/unictype/category-Po-tests: New file.
42630         * modules/unictype/category-Ps-tests: New file.
42631         * modules/unictype/category-S-tests: New file.
42632         * modules/unictype/category-Sc-tests: New file.
42633         * modules/unictype/category-Sk-tests: New file.
42634         * modules/unictype/category-Sm-tests: New file.
42635         * modules/unictype/category-So-tests: New file.
42636         * modules/unictype/category-Z-tests: New file.
42637         * modules/unictype/category-Zl-tests: New file.
42638         * modules/unictype/category-Zp-tests: New file.
42639         * modules/unictype/category-Zs-tests: New file.
42640         * modules/unictype/category-and-not-tests: New file.
42641         * modules/unictype/category-and-tests: New file.
42642         * modules/unictype/category-byname-tests: New file.
42643         * modules/unictype/category-name-tests: New file.
42644         * modules/unictype/category-none-tests: New file.
42645         * modules/unictype/category-of-tests: New file.
42646         * modules/unictype/category-or-tests: New file.
42647         * modules/unictype/category-test-withtable-tests: New file.
42648         * modules/unictype/combining-class-tests: New file.
42649         * modules/unictype/ctype-alnum-tests: New file.
42650         * modules/unictype/ctype-alpha-tests: New file.
42651         * modules/unictype/ctype-blank-tests: New file.
42652         * modules/unictype/ctype-cntrl-tests: New file.
42653         * modules/unictype/ctype-digit-tests: New file.
42654         * modules/unictype/ctype-graph-tests: New file.
42655         * modules/unictype/ctype-lower-tests: New file.
42656         * modules/unictype/ctype-print-tests: New file.
42657         * modules/unictype/ctype-punct-tests: New file.
42658         * modules/unictype/ctype-space-tests: New file.
42659         * modules/unictype/ctype-upper-tests: New file.
42660         * modules/unictype/ctype-xdigit-tests: New file.
42661         * modules/unictype/decimal-digit-tests: New file.
42662         * modules/unictype/digit-tests: New file.
42663         * modules/unictype/mirror-tests: New file.
42664         * modules/unictype/numeric-tests: New file.
42665         * modules/unictype/property-alphabetic-tests: New file.
42666         * modules/unictype/property-ascii-hex-digit-tests: New file.
42667         * modules/unictype/property-bidi-arabic-digit-tests: New file.
42668         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
42669         * modules/unictype/property-bidi-block-separator-tests: New file.
42670         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
42671         * modules/unictype/property-bidi-common-separator-tests: New file.
42672         * modules/unictype/property-bidi-control-tests: New file.
42673         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
42674         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
42675         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
42676         * modules/unictype/property-bidi-european-digit-tests: New file.
42677         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
42678         * modules/unictype/property-bidi-left-to-right-tests: New file.
42679         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
42680         * modules/unictype/property-bidi-other-neutral-tests: New file.
42681         * modules/unictype/property-bidi-pdf-tests: New file.
42682         * modules/unictype/property-bidi-segment-separator-tests: New file.
42683         * modules/unictype/property-bidi-whitespace-tests: New file.
42684         * modules/unictype/property-byname-tests: New file.
42685         * modules/unictype/property-combining-tests: New file.
42686         * modules/unictype/property-composite-tests: New file.
42687         * modules/unictype/property-currency-symbol-tests: New file.
42688         * modules/unictype/property-dash-tests: New file.
42689         * modules/unictype/property-decimal-digit-tests: New file.
42690         * modules/unictype/property-default-ignorable-code-point-tests: New file.
42691         * modules/unictype/property-deprecated-tests: New file.
42692         * modules/unictype/property-diacritic-tests: New file.
42693         * modules/unictype/property-extender-tests: New file.
42694         * modules/unictype/property-format-control-tests: New file.
42695         * modules/unictype/property-grapheme-base-tests: New file.
42696         * modules/unictype/property-grapheme-extend-tests: New file.
42697         * modules/unictype/property-grapheme-link-tests: New file.
42698         * modules/unictype/property-hex-digit-tests: New file.
42699         * modules/unictype/property-hyphen-tests: New file.
42700         * modules/unictype/property-id-continue-tests: New file.
42701         * modules/unictype/property-id-start-tests: New file.
42702         * modules/unictype/property-ideographic-tests: New file.
42703         * modules/unictype/property-ids-binary-operator-tests: New file.
42704         * modules/unictype/property-ids-trinary-operator-tests: New file.
42705         * modules/unictype/property-ignorable-control-tests: New file.
42706         * modules/unictype/property-iso-control-tests: New file.
42707         * modules/unictype/property-join-control-tests: New file.
42708         * modules/unictype/property-left-of-pair-tests: New file.
42709         * modules/unictype/property-line-separator-tests: New file.
42710         * modules/unictype/property-logical-order-exception-tests: New file.
42711         * modules/unictype/property-lowercase-tests: New file.
42712         * modules/unictype/property-math-tests: New file.
42713         * modules/unictype/property-non-break-tests: New file.
42714         * modules/unictype/property-not-a-character-tests: New file.
42715         * modules/unictype/property-numeric-tests: New file.
42716         * modules/unictype/property-other-alphabetic-tests: New file.
42717         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
42718         * modules/unictype/property-other-grapheme-extend-tests: New file.
42719         * modules/unictype/property-other-id-continue-tests: New file.
42720         * modules/unictype/property-other-id-start-tests: New file.
42721         * modules/unictype/property-other-lowercase-tests: New file.
42722         * modules/unictype/property-other-math-tests: New file.
42723         * modules/unictype/property-other-uppercase-tests: New file.
42724         * modules/unictype/property-paired-punctuation-tests: New file.
42725         * modules/unictype/property-paragraph-separator-tests: New file.
42726         * modules/unictype/property-pattern-syntax-tests: New file.
42727         * modules/unictype/property-pattern-white-space-tests: New file.
42728         * modules/unictype/property-private-use-tests: New file.
42729         * modules/unictype/property-punctuation-tests: New file.
42730         * modules/unictype/property-quotation-mark-tests: New file.
42731         * modules/unictype/property-radical-tests: New file.
42732         * modules/unictype/property-sentence-terminal-tests: New file.
42733         * modules/unictype/property-soft-dotted-tests: New file.
42734         * modules/unictype/property-space-tests: New file.
42735         * modules/unictype/property-terminal-punctuation-tests: New file.
42736         * modules/unictype/property-test-tests: New file.
42737         * modules/unictype/property-titlecase-tests: New file.
42738         * modules/unictype/property-unassigned-code-value-tests: New file.
42739         * modules/unictype/property-unified-ideograph-tests: New file.
42740         * modules/unictype/property-uppercase-tests: New file.
42741         * modules/unictype/property-variation-selector-tests: New file.
42742         * modules/unictype/property-white-space-tests: New file.
42743         * modules/unictype/property-xid-continue-tests: New file.
42744         * modules/unictype/property-xid-start-tests: New file.
42745         * modules/unictype/property-zero-width-tests: New file.
42746         * modules/unictype/scripts-tests: New file.
42747         * modules/unictype/syntax-c-ident-tests: New file.
42748         * modules/unictype/syntax-c-whitespace-tests: New file.
42749         * modules/unictype/syntax-java-ident-tests: New file.
42750         * modules/unictype/syntax-java-whitespace-tests: New file.
42751         * tests/unictype/test-bidi_byname.c: New file.
42752         * tests/unictype/test-bidi_name.c: New file.
42753         * tests/unictype/test-bidi_of.c: New file.
42754         * tests/unictype/test-bidi_test.c: New file.
42755         * tests/unictype/test-block_list.c: New file.
42756         * tests/unictype/test-block_of.c: New file.
42757         * tests/unictype/test-block_test.c: New file.
42758         * tests/unictype/test-categ_and.c: New file.
42759         * tests/unictype/test-categ_and_not.c: New file.
42760         * tests/unictype/test-categ_byname.c: New file.
42761         * tests/unictype/test-categ_name.c: New file.
42762         * tests/unictype/test-categ_none.c: New file.
42763         * tests/unictype/test-categ_of.c: New file.
42764         * tests/unictype/test-categ_or.c: New file.
42765         * tests/unictype/test-categ_test_withtable.c: New file.
42766         * tests/unictype/test-combining.c: New file.
42767         * tests/unictype/test-decdigit.c: New file.
42768         * tests/unictype/test-digit.c: New file.
42769         * tests/unictype/test-mirror.c: New file.
42770         * tests/unictype/test-numeric.c: New file.
42771         * tests/unictype/test-pr_byname.c: New file.
42772         * tests/unictype/test-pr_test.c: New file.
42773         * tests/unictype/test-predicate-part1.h: New file.
42774         * tests/unictype/test-predicate-part2.h: New file.
42775         * tests/unictype/test-scripts.c: New file.
42776         * tests/unictype/test-sy_c_ident.c: New file.
42777         * tests/unictype/test-sy_java_ident.c: New file.
42778
42779         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
42780         for Unicode 5.0.0.
42781         * tests/unictype/test-categ_Cc.c: Likewise.
42782         * tests/unictype/test-categ_Cf.c: Likewise.
42783         * tests/unictype/test-categ_Cn.c: Likewise.
42784         * tests/unictype/test-categ_Co.c: Likewise.
42785         * tests/unictype/test-categ_Cs.c: Likewise.
42786         * tests/unictype/test-categ_L.c: Likewise.
42787         * tests/unictype/test-categ_Ll.c: Likewise.
42788         * tests/unictype/test-categ_Lm.c: Likewise.
42789         * tests/unictype/test-categ_Lo.c: Likewise.
42790         * tests/unictype/test-categ_Lt.c: Likewise.
42791         * tests/unictype/test-categ_Lu.c: Likewise.
42792         * tests/unictype/test-categ_M.c: Likewise.
42793         * tests/unictype/test-categ_Mc.c: Likewise.
42794         * tests/unictype/test-categ_Me.c: Likewise.
42795         * tests/unictype/test-categ_Mn.c: Likewise.
42796         * tests/unictype/test-categ_N.c: Likewise.
42797         * tests/unictype/test-categ_Nd.c: Likewise.
42798         * tests/unictype/test-categ_Nl.c: Likewise.
42799         * tests/unictype/test-categ_No.c: Likewise.
42800         * tests/unictype/test-categ_P.c: Likewise.
42801         * tests/unictype/test-categ_Pc.c: Likewise.
42802         * tests/unictype/test-categ_Pd.c: Likewise.
42803         * tests/unictype/test-categ_Pe.c: Likewise.
42804         * tests/unictype/test-categ_Pf.c: Likewise.
42805         * tests/unictype/test-categ_Pi.c: Likewise.
42806         * tests/unictype/test-categ_Po.c: Likewise.
42807         * tests/unictype/test-categ_Ps.c: Likewise.
42808         * tests/unictype/test-categ_S.c: Likewise.
42809         * tests/unictype/test-categ_Sc.c: Likewise.
42810         * tests/unictype/test-categ_Sk.c: Likewise.
42811         * tests/unictype/test-categ_Sm.c: Likewise.
42812         * tests/unictype/test-categ_So.c: Likewise.
42813         * tests/unictype/test-categ_Z.c: Likewise.
42814         * tests/unictype/test-categ_Zl.c: Likewise.
42815         * tests/unictype/test-categ_Zp.c: Likewise.
42816         * tests/unictype/test-categ_Zs.c: Likewise.
42817         * tests/unictype/test-ctype_alnum.c: Likewise.
42818         * tests/unictype/test-ctype_alpha.c: Likewise.
42819         * tests/unictype/test-ctype_blank.c: Likewise.
42820         * tests/unictype/test-ctype_cntrl.c: Likewise.
42821         * tests/unictype/test-ctype_digit.c: Likewise.
42822         * tests/unictype/test-ctype_graph.c: Likewise.
42823         * tests/unictype/test-ctype_lower.c: Likewise.
42824         * tests/unictype/test-ctype_print.c: Likewise.
42825         * tests/unictype/test-ctype_punct.c: Likewise.
42826         * tests/unictype/test-ctype_space.c: Likewise.
42827         * tests/unictype/test-ctype_upper.c: Likewise.
42828         * tests/unictype/test-ctype_xdigit.c: Likewise.
42829         * tests/unictype/test-decdigit.h: Likewise.
42830         * tests/unictype/test-digit.h: Likewise.
42831         * tests/unictype/test-numeric.h: Likewise.
42832         * tests/unictype/test-pr_alphabetic.c: Likewise.
42833         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
42834         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
42835         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
42836         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
42837         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
42838         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
42839         * tests/unictype/test-pr_bidi_control.c: Likewise.
42840         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
42841         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
42842         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
42843         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
42844         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
42845         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
42846         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
42847         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
42848         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
42849         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
42850         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
42851         * tests/unictype/test-pr_combining.c: Likewise.
42852         * tests/unictype/test-pr_composite.c: Likewise.
42853         * tests/unictype/test-pr_currency_symbol.c: Likewise.
42854         * tests/unictype/test-pr_dash.c: Likewise.
42855         * tests/unictype/test-pr_decimal_digit.c: Likewise.
42856         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
42857         * tests/unictype/test-pr_deprecated.c: Likewise.
42858         * tests/unictype/test-pr_diacritic.c: Likewise.
42859         * tests/unictype/test-pr_extender.c: Likewise.
42860         * tests/unictype/test-pr_format_control.c: Likewise.
42861         * tests/unictype/test-pr_grapheme_base.c: Likewise.
42862         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
42863         * tests/unictype/test-pr_grapheme_link.c: Likewise.
42864         * tests/unictype/test-pr_hex_digit.c: Likewise.
42865         * tests/unictype/test-pr_hyphen.c: Likewise.
42866         * tests/unictype/test-pr_id_continue.c: Likewise.
42867         * tests/unictype/test-pr_id_start.c: Likewise.
42868         * tests/unictype/test-pr_ideographic.c: Likewise.
42869         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
42870         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
42871         * tests/unictype/test-pr_ignorable_control.c: Likewise.
42872         * tests/unictype/test-pr_iso_control.c: Likewise.
42873         * tests/unictype/test-pr_join_control.c: Likewise.
42874         * tests/unictype/test-pr_left_of_pair.c: Likewise.
42875         * tests/unictype/test-pr_line_separator.c: Likewise.
42876         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
42877         * tests/unictype/test-pr_lowercase.c: Likewise.
42878         * tests/unictype/test-pr_math.c: Likewise.
42879         * tests/unictype/test-pr_non_break.c: Likewise.
42880         * tests/unictype/test-pr_not_a_character.c: Likewise.
42881         * tests/unictype/test-pr_numeric.c: Likewise.
42882         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
42883         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
42884         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
42885         * tests/unictype/test-pr_other_id_continue.c: Likewise.
42886         * tests/unictype/test-pr_other_id_start.c: Likewise.
42887         * tests/unictype/test-pr_other_lowercase.c: Likewise.
42888         * tests/unictype/test-pr_other_math.c: Likewise.
42889         * tests/unictype/test-pr_other_uppercase.c: Likewise.
42890         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
42891         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
42892         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
42893         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
42894         * tests/unictype/test-pr_private_use.c: Likewise.
42895         * tests/unictype/test-pr_punctuation.c: Likewise.
42896         * tests/unictype/test-pr_quotation_mark.c: Likewise.
42897         * tests/unictype/test-pr_radical.c: Likewise.
42898         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
42899         * tests/unictype/test-pr_soft_dotted.c: Likewise.
42900         * tests/unictype/test-pr_space.c: Likewise.
42901         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
42902         * tests/unictype/test-pr_titlecase.c: Likewise.
42903         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
42904         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
42905         * tests/unictype/test-pr_uppercase.c: Likewise.
42906         * tests/unictype/test-pr_variation_selector.c: Likewise.
42907         * tests/unictype/test-pr_white_space.c: Likewise.
42908         * tests/unictype/test-pr_xid_continue.c: Likewise.
42909         * tests/unictype/test-pr_xid_start.c: Likewise.
42910         * tests/unictype/test-pr_zero_width.c: Likewise.
42911         * tests/unictype/test-sy_c_whitespace.c: Likewise.
42912         * tests/unictype/test-sy_java_whitespace.c: Likewise.
42913
42914 2007-11-12  Bruno Haible  <bruno@clisp.org>
42915
42916         Unicode character classification functions.
42917         * lib/unictype.h: New file.
42918         * modules/unictype/base: New file.
42919         * modules/unictype/category-L: New file.
42920         * modules/unictype/category-Lu: New file.
42921         * modules/unictype/category-Ll: New file.
42922         * modules/unictype/category-Lt: New file.
42923         * modules/unictype/category-Lm: New file.
42924         * modules/unictype/category-Lo: New file.
42925         * modules/unictype/category-M: New file.
42926         * modules/unictype/category-Mn: New file.
42927         * modules/unictype/category-Mc: New file.
42928         * modules/unictype/category-Me: New file.
42929         * modules/unictype/category-N: New file.
42930         * modules/unictype/category-Nd: New file.
42931         * modules/unictype/category-Nl: New file.
42932         * modules/unictype/category-No: New file.
42933         * modules/unictype/category-P: New file.
42934         * modules/unictype/category-Pc: New file.
42935         * modules/unictype/category-Pd: New file.
42936         * modules/unictype/category-Ps: New file.
42937         * modules/unictype/category-Pe: New file.
42938         * modules/unictype/category-Pi: New file.
42939         * modules/unictype/category-Pf: New file.
42940         * modules/unictype/category-Po: New file.
42941         * modules/unictype/category-S: New file.
42942         * modules/unictype/category-Sm: New file.
42943         * modules/unictype/category-Sc: New file.
42944         * modules/unictype/category-Sk: New file.
42945         * modules/unictype/category-So: New file.
42946         * modules/unictype/category-Z: New file.
42947         * modules/unictype/category-Zs: New file.
42948         * modules/unictype/category-Zl: New file.
42949         * modules/unictype/category-Zp: New file.
42950         * modules/unictype/category-C: New file.
42951         * modules/unictype/category-Cc: New file.
42952         * modules/unictype/category-Cf: New file.
42953         * modules/unictype/category-Cs: New file.
42954         * modules/unictype/category-Co: New file.
42955         * modules/unictype/category-Cn: New file.
42956         * modules/unictype/category-or: New file.
42957         * modules/unictype/category-of: New file.
42958         * modules/unictype/category-test: New file.
42959         * modules/unictype/category-test-withtable: New file.
42960         * modules/unictype/category-byname: New file.
42961         * modules/unictype/category-none: New file.
42962         * modules/unictype/category-and: New file.
42963         * modules/unictype/category-and-not: New file.
42964         * modules/unictype/category-name: New file.
42965         * modules/unictype/combining-class: New file.
42966         * modules/unictype/category-all: New file.
42967         * modules/unictype/bidicategory-all: New file.
42968         * modules/unictype/bidicategory-byname: New file.
42969         * modules/unictype/bidicategory-name: New file.
42970         * modules/unictype/bidicategory-of: New file.
42971         * modules/unictype/bidicategory-test: New file.
42972         * modules/unictype/decimal-digit: New file.
42973         * modules/unictype/digit: New file.
42974         * modules/unictype/numeric: New file.
42975         * modules/unictype/mirror: New file.
42976         * modules/unictype/property-white-space: New file.
42977         * modules/unictype/property-alphabetic: New file.
42978         * modules/unictype/property-other-alphabetic: New file.
42979         * modules/unictype/property-not-a-character: New file.
42980         * modules/unictype/property-default-ignorable-code-point: New file.
42981         * modules/unictype/property-other-default-ignorable-code-point: New
42982         file.
42983         * modules/unictype/property-deprecated: New file.
42984         * modules/unictype/property-logical-order-exception: New file.
42985         * modules/unictype/property-variation-selector: New file.
42986         * modules/unictype/property-private-use: New file.
42987         * modules/unictype/property-unassigned-code-value: New file.
42988         * modules/unictype/property-uppercase: New file.
42989         * modules/unictype/property-other-uppercase: New file.
42990         * modules/unictype/property-lowercase: New file.
42991         * modules/unictype/property-other-lowercase: New file.
42992         * modules/unictype/property-titlecase: New file.
42993         * modules/unictype/property-soft-dotted: New file.
42994         * modules/unictype/property-id-start: New file.
42995         * modules/unictype/property-other-id-start: New file.
42996         * modules/unictype/property-id-continue: New file.
42997         * modules/unictype/property-other-id-continue: New file.
42998         * modules/unictype/property-xid-start: New file.
42999         * modules/unictype/property-xid-continue: New file.
43000         * modules/unictype/property-pattern-white-space: New file.
43001         * modules/unictype/property-pattern-syntax: New file.
43002         * modules/unictype/property-join-control: New file.
43003         * modules/unictype/property-grapheme-base: New file.
43004         * modules/unictype/property-grapheme-extend: New file.
43005         * modules/unictype/property-other-grapheme-extend: New file.
43006         * modules/unictype/property-grapheme-link: New file.
43007         * modules/unictype/property-bidi-control: New file.
43008         * modules/unictype/property-bidi-left-to-right: New file.
43009         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
43010         * modules/unictype/property-bidi-arabic-right-to-left: New file.
43011         * modules/unictype/property-bidi-european-digit: New file.
43012         * modules/unictype/property-bidi-eur-num-separator: New file.
43013         * modules/unictype/property-bidi-eur-num-terminator: New file.
43014         * modules/unictype/property-bidi-arabic-digit: New file.
43015         * modules/unictype/property-bidi-common-separator: New file.
43016         * modules/unictype/property-bidi-block-separator: New file.
43017         * modules/unictype/property-bidi-segment-separator: New file.
43018         * modules/unictype/property-bidi-whitespace: New file.
43019         * modules/unictype/property-bidi-non-spacing-mark: New file.
43020         * modules/unictype/property-bidi-boundary-neutral: New file.
43021         * modules/unictype/property-bidi-pdf: New file.
43022         * modules/unictype/property-bidi-embedding-or-override: New file.
43023         * modules/unictype/property-bidi-other-neutral: New file.
43024         * modules/unictype/property-hex-digit: New file.
43025         * modules/unictype/property-ascii-hex-digit: New file.
43026         * modules/unictype/property-ideographic: New file.
43027         * modules/unictype/property-unified-ideograph: New file.
43028         * modules/unictype/property-radical: New file.
43029         * modules/unictype/property-ids-binary-operator: New file.
43030         * modules/unictype/property-ids-trinary-operator: New file.
43031         * modules/unictype/property-zero-width: New file.
43032         * modules/unictype/property-space: New file.
43033         * modules/unictype/property-non-break: New file.
43034         * modules/unictype/property-iso-control: New file.
43035         * modules/unictype/property-format-control: New file.
43036         * modules/unictype/property-dash: New file.
43037         * modules/unictype/property-hyphen: New file.
43038         * modules/unictype/property-punctuation: New file.
43039         * modules/unictype/property-line-separator: New file.
43040         * modules/unictype/property-paragraph-separator: New file.
43041         * modules/unictype/property-quotation-mark: New file.
43042         * modules/unictype/property-sentence-terminal: New file.
43043         * modules/unictype/property-terminal-punctuation: New file.
43044         * modules/unictype/property-currency-symbol: New file.
43045         * modules/unictype/property-math: New file.
43046         * modules/unictype/property-other-math: New file.
43047         * modules/unictype/property-paired-punctuation: New file.
43048         * modules/unictype/property-left-of-pair: New file.
43049         * modules/unictype/property-combining: New file.
43050         * modules/unictype/property-composite: New file.
43051         * modules/unictype/property-decimal-digit: New file.
43052         * modules/unictype/property-numeric: New file.
43053         * modules/unictype/property-diacritic: New file.
43054         * modules/unictype/property-extender: New file.
43055         * modules/unictype/property-ignorable-control: New file.
43056         * modules/unictype/property-test: New file.
43057         * modules/unictype/property-byname: New file.
43058         * modules/unictype/property-all: New file.
43059         * modules/unictype/scripts: New file.
43060         * modules/unictype/scripts-all: New file.
43061         * modules/unictype/block-of: New file.
43062         * modules/unictype/block-test: New file.
43063         * modules/unictype/block-list: New file.
43064         * modules/unictype/block-all: New file.
43065         * modules/unictype/syntax-c-whitespace: New file.
43066         * modules/unictype/syntax-java-whitespace: New file.
43067         * modules/unictype/syntax-c-ident: New file.
43068         * modules/unictype/syntax-java-ident: New file.
43069         * modules/unictype/ctype-alnum: New file.
43070         * modules/unictype/ctype-alpha: New file.
43071         * modules/unictype/ctype-cntrl: New file.
43072         * modules/unictype/ctype-digit: New file.
43073         * modules/unictype/ctype-graph: New file.
43074         * modules/unictype/ctype-lower: New file.
43075         * modules/unictype/ctype-print: New file.
43076         * modules/unictype/ctype-punct: New file.
43077         * modules/unictype/ctype-space: New file.
43078         * modules/unictype/ctype-upper: New file.
43079         * modules/unictype/ctype-xdigit: New file.
43080         * modules/unictype/ctype-blank: New file.
43081         * lib/unictype/bidi_byname.c: New file.
43082         * lib/unictype/bidi_name.c: New file.
43083         * lib/unictype/bidi_of.c: New file.
43084         * lib/unictype/bidi_test.c: New file.
43085         * lib/unictype/bitmap.h: New file.
43086         * lib/unictype/block_test.c: New file.
43087         * lib/unictype/blocks.c: New file.
43088         * lib/unictype/categ_C.c: New file.
43089         * lib/unictype/categ_Cc.c: New file.
43090         * lib/unictype/categ_Cf.c: New file.
43091         * lib/unictype/categ_Cn.c: New file.
43092         * lib/unictype/categ_Co.c: New file.
43093         * lib/unictype/categ_Cs.c: New file.
43094         * lib/unictype/categ_L.c: New file.
43095         * lib/unictype/categ_Ll.c: New file.
43096         * lib/unictype/categ_Lm.c: New file.
43097         * lib/unictype/categ_Lo.c: New file.
43098         * lib/unictype/categ_Lt.c: New file.
43099         * lib/unictype/categ_Lu.c: New file.
43100         * lib/unictype/categ_M.c: New file.
43101         * lib/unictype/categ_Mc.c: New file.
43102         * lib/unictype/categ_Me.c: New file.
43103         * lib/unictype/categ_Mn.c: New file.
43104         * lib/unictype/categ_N.c: New file.
43105         * lib/unictype/categ_Nd.c: New file.
43106         * lib/unictype/categ_Nl.c: New file.
43107         * lib/unictype/categ_No.c: New file.
43108         * lib/unictype/categ_P.c: New file.
43109         * lib/unictype/categ_Pc.c: New file.
43110         * lib/unictype/categ_Pd.c: New file.
43111         * lib/unictype/categ_Pe.c: New file.
43112         * lib/unictype/categ_Pf.c: New file.
43113         * lib/unictype/categ_Pi.c: New file.
43114         * lib/unictype/categ_Po.c: New file.
43115         * lib/unictype/categ_Ps.c: New file.
43116         * lib/unictype/categ_S.c: New file.
43117         * lib/unictype/categ_Sc.c: New file.
43118         * lib/unictype/categ_Sk.c: New file.
43119         * lib/unictype/categ_Sm.c: New file.
43120         * lib/unictype/categ_So.c: New file.
43121         * lib/unictype/categ_Z.c: New file.
43122         * lib/unictype/categ_Zl.c: New file.
43123         * lib/unictype/categ_Zp.c: New file.
43124         * lib/unictype/categ_Zs.c: New file.
43125         * lib/unictype/categ_and.c: New file.
43126         * lib/unictype/categ_and_not.c: New file.
43127         * lib/unictype/categ_byname.c: New file.
43128         * lib/unictype/categ_name.c: New file.
43129         * lib/unictype/categ_none.c: New file.
43130         * lib/unictype/categ_of.c: New file.
43131         * lib/unictype/categ_or.c: New file.
43132         * lib/unictype/categ_test.c: New file.
43133         * lib/unictype/combining.c: New file.
43134         * lib/unictype/ctype_alnum.c: New file.
43135         * lib/unictype/ctype_alpha.c: New file.
43136         * lib/unictype/ctype_blank.c: New file.
43137         * lib/unictype/ctype_cntrl.c: New file.
43138         * lib/unictype/ctype_digit.c: New file.
43139         * lib/unictype/ctype_graph.c: New file.
43140         * lib/unictype/ctype_lower.c: New file.
43141         * lib/unictype/ctype_print.c: New file.
43142         * lib/unictype/ctype_punct.c: New file.
43143         * lib/unictype/ctype_space.c: New file.
43144         * lib/unictype/ctype_upper.c: New file.
43145         * lib/unictype/ctype_xdigit.c: New file.
43146         * lib/unictype/decdigit.c: New file.
43147         * lib/unictype/digit.c: New file.
43148         * lib/unictype/identsyntaxmap.h: New file.
43149         * lib/unictype/mirror.c: New file.
43150         * lib/unictype/numeric.c: New file.
43151         * lib/unictype/pr_alphabetic.c: New file.
43152         * lib/unictype/pr_ascii_hex_digit.c: New file.
43153         * lib/unictype/pr_bidi_arabic_digit.c: New file.
43154         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
43155         * lib/unictype/pr_bidi_block_separator.c: New file.
43156         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
43157         * lib/unictype/pr_bidi_common_separator.c: New file.
43158         * lib/unictype/pr_bidi_control.c: New file.
43159         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
43160         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
43161         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
43162         * lib/unictype/pr_bidi_european_digit.c: New file.
43163         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
43164         * lib/unictype/pr_bidi_left_to_right.c: New file.
43165         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
43166         * lib/unictype/pr_bidi_other_neutral.c: New file.
43167         * lib/unictype/pr_bidi_pdf.c: New file.
43168         * lib/unictype/pr_bidi_segment_separator.c: New file.
43169         * lib/unictype/pr_bidi_whitespace.c: New file.
43170         * lib/unictype/pr_byname.c: New file.
43171         * lib/unictype/pr_byname.gperf: New file.
43172         * lib/unictype/pr_combining.c: New file.
43173         * lib/unictype/pr_composite.c: New file.
43174         * lib/unictype/pr_currency_symbol.c: New file.
43175         * lib/unictype/pr_dash.c: New file.
43176         * lib/unictype/pr_decimal_digit.c: New file.
43177         * lib/unictype/pr_default_ignorable_code_point.c: New file.
43178         * lib/unictype/pr_deprecated.c: New file.
43179         * lib/unictype/pr_diacritic.c: New file.
43180         * lib/unictype/pr_extender.c: New file.
43181         * lib/unictype/pr_format_control.c: New file.
43182         * lib/unictype/pr_grapheme_base.c: New file.
43183         * lib/unictype/pr_grapheme_extend.c: New file.
43184         * lib/unictype/pr_grapheme_link.c: New file.
43185         * lib/unictype/pr_hex_digit.c: New file.
43186         * lib/unictype/pr_hyphen.c: New file.
43187         * lib/unictype/pr_id_continue.c: New file.
43188         * lib/unictype/pr_id_start.c: New file.
43189         * lib/unictype/pr_ideographic.c: New file.
43190         * lib/unictype/pr_ids_binary_operator.c: New file.
43191         * lib/unictype/pr_ids_trinary_operator.c: New file.
43192         * lib/unictype/pr_ignorable_control.c: New file.
43193         * lib/unictype/pr_iso_control.c: New file.
43194         * lib/unictype/pr_join_control.c: New file.
43195         * lib/unictype/pr_left_of_pair.c: New file.
43196         * lib/unictype/pr_line_separator.c: New file.
43197         * lib/unictype/pr_logical_order_exception.c: New file.
43198         * lib/unictype/pr_lowercase.c: New file.
43199         * lib/unictype/pr_math.c: New file.
43200         * lib/unictype/pr_non_break.c: New file.
43201         * lib/unictype/pr_not_a_character.c: New file.
43202         * lib/unictype/pr_numeric.c: New file.
43203         * lib/unictype/pr_other_alphabetic.c: New file.
43204         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
43205         * lib/unictype/pr_other_grapheme_extend.c: New file.
43206         * lib/unictype/pr_other_id_continue.c: New file.
43207         * lib/unictype/pr_other_id_start.c: New file.
43208         * lib/unictype/pr_other_lowercase.c: New file.
43209         * lib/unictype/pr_other_math.c: New file.
43210         * lib/unictype/pr_other_uppercase.c: New file.
43211         * lib/unictype/pr_paired_punctuation.c: New file.
43212         * lib/unictype/pr_paragraph_separator.c: New file.
43213         * lib/unictype/pr_pattern_syntax.c: New file.
43214         * lib/unictype/pr_pattern_white_space.c: New file.
43215         * lib/unictype/pr_private_use.c: New file.
43216         * lib/unictype/pr_punctuation.c: New file.
43217         * lib/unictype/pr_quotation_mark.c: New file.
43218         * lib/unictype/pr_radical.c: New file.
43219         * lib/unictype/pr_sentence_terminal.c: New file.
43220         * lib/unictype/pr_soft_dotted.c: New file.
43221         * lib/unictype/pr_space.c: New file.
43222         * lib/unictype/pr_terminal_punctuation.c: New file.
43223         * lib/unictype/pr_test.c: New file.
43224         * lib/unictype/pr_titlecase.c: New file.
43225         * lib/unictype/pr_unassigned_code_value.c: New file.
43226         * lib/unictype/pr_unified_ideograph.c: New file.
43227         * lib/unictype/pr_uppercase.c: New file.
43228         * lib/unictype/pr_variation_selector.c: New file.
43229         * lib/unictype/pr_white_space.c: New file.
43230         * lib/unictype/pr_xid_continue.c: New file.
43231         * lib/unictype/pr_xid_start.c: New file.
43232         * lib/unictype/pr_zero_width.c: New file.
43233         * lib/unictype/scripts.c: New file.
43234         * lib/unictype/sy_c_ident.c: New file.
43235         * lib/unictype/sy_c_whitespace.c: New file.
43236         * lib/unictype/sy_java_ident.c: New file.
43237         * lib/unictype/sy_java_whitespace.c: New file.
43238
43239         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
43240         Unicode 5.0.0.
43241         * lib/unictype/blocks.h: Likewise.
43242         * lib/unictype/categ_C.h: Likewise.
43243         * lib/unictype/categ_Cc.h: Likewise.
43244         * lib/unictype/categ_Cf.h: Likewise.
43245         * lib/unictype/categ_Cn.h: Likewise.
43246         * lib/unictype/categ_Co.h: Likewise.
43247         * lib/unictype/categ_Cs.h: Likewise.
43248         * lib/unictype/categ_L.h: Likewise.
43249         * lib/unictype/categ_Ll.h: Likewise.
43250         * lib/unictype/categ_Lm.h: Likewise.
43251         * lib/unictype/categ_Lo.h: Likewise.
43252         * lib/unictype/categ_Lt.h: Likewise.
43253         * lib/unictype/categ_Lu.h: Likewise.
43254         * lib/unictype/categ_M.h: Likewise.
43255         * lib/unictype/categ_Mc.h: Likewise.
43256         * lib/unictype/categ_Me.h: Likewise.
43257         * lib/unictype/categ_Mn.h: Likewise.
43258         * lib/unictype/categ_N.h: Likewise.
43259         * lib/unictype/categ_Nd.h: Likewise.
43260         * lib/unictype/categ_Nl.h: Likewise.
43261         * lib/unictype/categ_No.h: Likewise.
43262         * lib/unictype/categ_P.h: Likewise.
43263         * lib/unictype/categ_Pc.h: Likewise.
43264         * lib/unictype/categ_Pd.h: Likewise.
43265         * lib/unictype/categ_Pe.h: Likewise.
43266         * lib/unictype/categ_Pf.h: Likewise.
43267         * lib/unictype/categ_Pi.h: Likewise.
43268         * lib/unictype/categ_Po.h: Likewise.
43269         * lib/unictype/categ_Ps.h: Likewise.
43270         * lib/unictype/categ_S.h: Likewise.
43271         * lib/unictype/categ_Sc.h: Likewise.
43272         * lib/unictype/categ_Sk.h: Likewise.
43273         * lib/unictype/categ_Sm.h: Likewise.
43274         * lib/unictype/categ_So.h: Likewise.
43275         * lib/unictype/categ_Z.h: Likewise.
43276         * lib/unictype/categ_Zl.h: Likewise.
43277         * lib/unictype/categ_Zp.h: Likewise.
43278         * lib/unictype/categ_Zs.h: Likewise.
43279         * lib/unictype/categ_of.h: Likewise.
43280         * lib/unictype/combining.h: Likewise.
43281         * lib/unictype/ctype_alnum.h: Likewise.
43282         * lib/unictype/ctype_alpha.h: Likewise.
43283         * lib/unictype/ctype_blank.h: Likewise.
43284         * lib/unictype/ctype_cntrl.h: Likewise.
43285         * lib/unictype/ctype_digit.h: Likewise.
43286         * lib/unictype/ctype_graph.h: Likewise.
43287         * lib/unictype/ctype_lower.h: Likewise.
43288         * lib/unictype/ctype_print.h: Likewise.
43289         * lib/unictype/ctype_punct.h: Likewise.
43290         * lib/unictype/ctype_space.h: Likewise.
43291         * lib/unictype/ctype_upper.h: Likewise.
43292         * lib/unictype/ctype_xdigit.h: Likewise.
43293         * lib/unictype/decdigit.h: Likewise.
43294         * lib/unictype/digit.h: Likewise.
43295         * lib/unictype/mirror.h: Likewise.
43296         * lib/unictype/numeric.h: Likewise.
43297         * lib/unictype/pr_alphabetic.h: Likewise.
43298         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
43299         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
43300         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
43301         * lib/unictype/pr_bidi_block_separator.h: Likewise.
43302         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
43303         * lib/unictype/pr_bidi_common_separator.h: Likewise.
43304         * lib/unictype/pr_bidi_control.h: Likewise.
43305         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
43306         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
43307         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
43308         * lib/unictype/pr_bidi_european_digit.h: Likewise.
43309         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
43310         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
43311         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
43312         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
43313         * lib/unictype/pr_bidi_pdf.h: Likewise.
43314         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
43315         * lib/unictype/pr_bidi_whitespace.h: Likewise.
43316         * lib/unictype/pr_combining.h: Likewise.
43317         * lib/unictype/pr_composite.h: Likewise.
43318         * lib/unictype/pr_currency_symbol.h: Likewise.
43319         * lib/unictype/pr_dash.h: Likewise.
43320         * lib/unictype/pr_decimal_digit.h: Likewise.
43321         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
43322         * lib/unictype/pr_deprecated.h: Likewise.
43323         * lib/unictype/pr_diacritic.h: Likewise.
43324         * lib/unictype/pr_extender.h: Likewise.
43325         * lib/unictype/pr_format_control.h: Likewise.
43326         * lib/unictype/pr_grapheme_base.h: Likewise.
43327         * lib/unictype/pr_grapheme_extend.h: Likewise.
43328         * lib/unictype/pr_grapheme_link.h: Likewise.
43329         * lib/unictype/pr_hex_digit.h: Likewise.
43330         * lib/unictype/pr_hyphen.h: Likewise.
43331         * lib/unictype/pr_id_continue.h: Likewise.
43332         * lib/unictype/pr_id_start.h: Likewise.
43333         * lib/unictype/pr_ideographic.h: Likewise.
43334         * lib/unictype/pr_ids_binary_operator.h: Likewise.
43335         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
43336         * lib/unictype/pr_ignorable_control.h: Likewise.
43337         * lib/unictype/pr_iso_control.h: Likewise.
43338         * lib/unictype/pr_join_control.h: Likewise.
43339         * lib/unictype/pr_left_of_pair.h: Likewise.
43340         * lib/unictype/pr_line_separator.h: Likewise.
43341         * lib/unictype/pr_logical_order_exception.h: Likewise.
43342         * lib/unictype/pr_lowercase.h: Likewise.
43343         * lib/unictype/pr_math.h: Likewise.
43344         * lib/unictype/pr_non_break.h: Likewise.
43345         * lib/unictype/pr_not_a_character.h: Likewise.
43346         * lib/unictype/pr_numeric.h: Likewise.
43347         * lib/unictype/pr_other_alphabetic.h: Likewise.
43348         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
43349         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
43350         * lib/unictype/pr_other_id_continue.h: Likewise.
43351         * lib/unictype/pr_other_id_start.h: Likewise.
43352         * lib/unictype/pr_other_lowercase.h: Likewise.
43353         * lib/unictype/pr_other_math.h: Likewise.
43354         * lib/unictype/pr_other_uppercase.h: Likewise.
43355         * lib/unictype/pr_paired_punctuation.h: Likewise.
43356         * lib/unictype/pr_paragraph_separator.h: Likewise.
43357         * lib/unictype/pr_pattern_syntax.h: Likewise.
43358         * lib/unictype/pr_pattern_white_space.h: Likewise.
43359         * lib/unictype/pr_private_use.h: Likewise.
43360         * lib/unictype/pr_punctuation.h: Likewise.
43361         * lib/unictype/pr_quotation_mark.h: Likewise.
43362         * lib/unictype/pr_radical.h: Likewise.
43363         * lib/unictype/pr_sentence_terminal.h: Likewise.
43364         * lib/unictype/pr_soft_dotted.h: Likewise.
43365         * lib/unictype/pr_space.h: Likewise.
43366         * lib/unictype/pr_terminal_punctuation.h: Likewise.
43367         * lib/unictype/pr_titlecase.h: Likewise.
43368         * lib/unictype/pr_unassigned_code_value.h: Likewise.
43369         * lib/unictype/pr_unified_ideograph.h: Likewise.
43370         * lib/unictype/pr_uppercase.h: Likewise.
43371         * lib/unictype/pr_variation_selector.h: Likewise.
43372         * lib/unictype/pr_white_space.h: Likewise.
43373         * lib/unictype/pr_xid_continue.h: Likewise.
43374         * lib/unictype/pr_xid_start.h: Likewise.
43375         * lib/unictype/pr_zero_width.h: Likewise.
43376         * lib/unictype/scripts.h: Likewise.
43377         * lib/unictype/scripts_byname.gperf: Likewise.
43378         * lib/unictype/sy_c_ident.h: Likewise.
43379         * lib/unictype/sy_c_whitespace.h: Likewise.
43380         * lib/unictype/sy_java_ident.h: Likewise.
43381         * lib/unictype/sy_java_whitespace.h: Likewise.
43382
43383         * lib/unictype/Makefile: New file.
43384         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
43385         glibc.
43386         * lib/unictype/3level.h: New file, copied from glibc.
43387         * lib/unictype/3levelbit.h: New file.
43388
43389 2007-11-11  Bruno Haible  <bruno@clisp.org>
43390
43391         * modules/gperf: New file.
43392         * modules/iconv_open (Depends-on): Add it.
43393         (Makefile.am): Remove the GPERF definition.
43394
43395 2007-11-11  Bruno Haible  <bruno@clisp.org>
43396
43397         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
43398         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
43399
43400 2007-11-11  Bruno Haible  <bruno@clisp.org>
43401
43402         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
43403         (usage): Remove function.
43404
43405 2007-11-11  Bruno Haible  <bruno@clisp.org>
43406
43407         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
43408         gl_FUNC_CEILF_LIBS.
43409         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
43410         gl_FUNC_CEIL_LIBS.
43411         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
43412         gl_FUNC_CEILL_LIBS.
43413         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
43414         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
43415         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
43416
43417 2007-11-11  Bruno Haible  <bruno@clisp.org>
43418
43419         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
43420         roundf were declared but do not exist on functions.
43421         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
43422         roundl were declared but do not exist on functions.
43423         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
43424         HAVE_FLOORL_AND_CEILL, respectively.
43425         Needed for Sun C on Solaris 10.
43426
43427 2007-11-11  Bruno Haible  <bruno@clisp.org>
43428
43429         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
43430         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
43431         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
43432         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
43433         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
43434         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
43435         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
43436         HAVE_DECL_ROUNDF.
43437         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
43438         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
43439         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
43440         of HAVE_DECL_ROUND*.
43441         * modules/math (Makefile.am): Update.
43442
43443 2007-11-10  Bruno Haible  <bruno@clisp.org>
43444
43445         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
43446         ptrdiff_t as m4/intl.m4.
43447
43448 2007-11-10  Jim Meyering  <meyering@redhat.com>
43449
43450         Avoid link failure for the argmatch test.
43451         * tests/test-argmatch.c (usage): Define function to avoid a link
43452         failure: argmatch_die requires a usage function.
43453
43454 2007-11-09  Bruno Haible  <bruno@clisp.org>
43455
43456         * doc/functions/snprintf.texi: Mention BeOS deficiency.
43457         * doc/functions/vsnprintf.texi: Likewise.
43458         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
43459         with a size argument < 2.
43460
43461 2007-11-09  Bruno Haible  <bruno@clisp.org>
43462
43463         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
43464         buffer. Fixes an inefficiency introduced on 2007-11-03.
43465
43466 2007-11-09  Bruno Haible  <bruno@clisp.org>
43467
43468         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
43469         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
43470
43471 2007-11-08  Jim Meyering  <meyering@redhat.com>
43472
43473         Change cache variable name prefix "jm_" to "gl_" everywhere.
43474         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
43475         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
43476         * m4/uptime.m4: s/gl_/jm_/
43477
43478 2007-11-07  Bruno Haible  <bruno@clisp.org>
43479
43480         Update to GNU gettext 0.17.
43481         * m4/intl.m4: Update to GNU gettext 0.17.
43482         * m4/po.m4: Likewise.
43483         * modules/gettext (Files): Remove m4/ulonglong.m4.
43484         (configure.ac): Require gettext infrastructure from version 0.17.
43485
43486 2007-11-06  Bruno Haible  <bruno@clisp.org>
43487
43488         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
43489         symbolic values are not defined in a public header.
43490         * lib/freadable.c (freadable) [QNX]: Likewise.
43491         * lib/freadahead.c (freadahead) [QNX]: Likewise.
43492         * lib/freading.c (freading) [QNX]: Likewise.
43493         * lib/fseterr.c (fseterr) [QNX]: Likewise.
43494         * lib/fwritable.c (fwritable) [QNX]: Likewise.
43495         * lib/fwriting.c (fwriting) [QNX]: Likewise.
43496         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
43497         Reported by Alain Magloire.
43498
43499         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
43500
43501 2007-11-05  Bruno Haible  <bruno@clisp.org>
43502
43503         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
43504         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
43505         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
43506         Reported by Eric Blake.
43507
43508 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43509             Bruno Haible  <bruno@clisp.org>
43510
43511         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
43512         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
43513         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
43514         (malloc): Undefine also before including <stdlib.h>.
43515         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
43516         Needed on OSF/1 4.0.
43517
43518 2007-11-05  Jim Meyering  <meyering@redhat.com>
43519
43520         git-version-gen: sync from coreutils.
43521         * build-aux/git-version-gen: Add comments.
43522         Change the first '-' to '.' in the snapshot version string,
43523         e.g., 6.9-377-08144 -> 6.9.377-08144
43524         Remove first parameter.
43525         Don't declare a version "-dirty" merely because a time
43526         stamp has changed.
43527
43528 2007-11-04  Bruno Haible  <bruno@clisp.org>
43529
43530         * lib/lock.h: Protect all macro definitions containing an 'if'
43531         statement through a "do { ... } while (0)".
43532         * lib/tls.h: Likewise.
43533
43534 2007-11-04  Bruno Haible  <bruno@clisp.org>
43535
43536         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
43537
43538 2007-11-04  Bruno Haible  <bruno@clisp.org>
43539
43540         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
43541         * modules/fprintf-posix (Depends-on): Add nocrash.
43542         * modules/snprintf-posix (Depends-on): Likewise.
43543         * modules/sprintf-posix (Depends-on): Likewise.
43544         * modules/vasnprintf-posix (Depends-on): Likewise.
43545         * modules/vasprintf-posix (Depends-on): Likewise.
43546         * modules/vfprintf-posix (Depends-on): Likewise.
43547         * modules/vsnprintf-posix (Depends-on): Likewise.
43548         * modules/vsprintf-posix (Depends-on): Likewise.
43549         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
43550         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
43551         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
43552         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
43553         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
43554         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
43555         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
43556
43557 2007-11-04  Bruno Haible  <bruno@clisp.org>
43558
43559         * modules/nocrash: New file.
43560         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
43561         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
43562
43563 2007-11-04  Bruno Haible  <bruno@clisp.org>
43564
43565         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
43566         precision handling.
43567         * tests/test-vasprintf-posix.c (test_function): Likewise.
43568         * tests/test-snprintf-posix.h (test_function): Likewise.
43569         * tests/test-sprintf-posix.h (test_function): Likewise.
43570
43571         Fix *printf behaviour for large precisions on mingw and BeOS.
43572         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
43573         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
43574         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
43575         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43576         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43577         gl_PRINTF_PRECISION and test its result. Invoke
43578         gl_PREREQ_VASNPRINTF_PRECISION.
43579         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43580         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43581         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43582         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43583         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43584         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43585         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43586         * doc/functions/fprintf.texi: Update.
43587         * doc/functions/printf.texi: Update.
43588         * doc/functions/snprintf.texi: Update.
43589         * doc/functions/sprintf.texi: Update.
43590         * doc/functions/vfprintf.texi: Update.
43591         * doc/functions/vprintf.texi: Update.
43592         * doc/functions/vsnprintf.texi: Update.
43593         * doc/functions/vsprintf.texi: Update.
43594
43595 2007-11-04  Bruno Haible  <bruno@clisp.org>
43596
43597         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
43598
43599 2007-11-04  Bruno Haible  <bruno@clisp.org>
43600
43601         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
43602         Reported by Sylvain Beucler <beuc@gnu.org>.
43603
43604 2007-11-03  Bruno Haible  <bruno@clisp.org>
43605
43606         * tests/test-fprintf-posix2.sh: New file.
43607         * tests/test-fprintf-posix2.c: New file.
43608         * modules/fprintf-posix-tests (Files): Add them.
43609         (TESTS): Add test-fprintf-posix2.sh.
43610         (configure.ac): Check for getrlimit and setrlimit.
43611         (check_PROGRAMS): Add test-fprintf-posix2.
43612
43613         * tests/test-printf-posix2.sh: New file.
43614         * tests/test-printf-posix2.c: New file.
43615         * modules/printf-posix-tests (Files): Add them.
43616         (TESTS): Add test-printf-posix2.sh.
43617         (configure.ac): Check for getrlimit and setrlimit.
43618         (check_PROGRAMS): Add test-printf-posix2.
43619
43620         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
43621         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
43622         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
43623         (decode_double): New function, copied from decode_long_double.
43624         (scale10_round_decimal_decoded): New function, extracted from
43625         scale10_round_decimal_long_double.
43626         (scale10_round_decimal_long_double): Use it.
43627         (scale10_round_decimal_double): New function.
43628         (floorlog10): New function.
43629         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
43630         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
43631         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
43632         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43633         gl_PRINTF_ENOMEM and test its result. Invoke
43634         gl_PREREQ_VASNPRINTF_ENOMEM.
43635         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43636         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43637         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43638         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43639         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43640         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43641         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43642         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
43643         * modules/snprintf-posix (Depends-on): Likewise.
43644         * modules/sprintf-posix (Depends-on): Likewise.
43645         * modules/vasnprintf-posix (Depends-on): Likewise.
43646         * modules/vasprintf-posix (Depends-on): Likewise.
43647         * modules/vfprintf-posix (Depends-on): Likewise.
43648         * modules/vsnprintf-posix (Depends-on): Likewise.
43649         * modules/vsprintf-posix (Depends-on): Likewise.
43650         * doc/functions/fprintf.texi: Update.
43651         * doc/functions/printf.texi: Update.
43652         * doc/functions/snprintf.texi: Update.
43653         * doc/functions/sprintf.texi: Update.
43654         * doc/functions/vfprintf.texi: Update.
43655         * doc/functions/vprintf.texi: Update.
43656         * doc/functions/vsnprintf.texi: Update.
43657         * doc/functions/vsprintf.texi: Update.
43658
43659 2007-11-03  Bruno Haible  <bruno@clisp.org>
43660
43661         * modules/frexp-nolibm-tests: New file.
43662
43663         * modules/frexp-nolibm: New file.
43664         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
43665
43666 2007-11-03  Bruno Haible  <bruno@clisp.org>
43667
43668         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
43669         value is C99 compliant.
43670         Needed for OSF/1 5.1.
43671
43672 2007-11-03  Bruno Haible  <bruno@clisp.org>
43673
43674         Fix out-of-memory handling of vasnprintf.
43675         * lib/printf-parse.c: Include <errno.h>.
43676         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
43677         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
43678         is already set.
43679
43680 2007-11-02  Eric Blake  <ebb9@byu.net>
43681
43682         Fix tests on cygwin.
43683         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
43684
43685 2007-11-01  Bruno Haible  <bruno@clisp.org>
43686
43687         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
43688         warning.
43689         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
43690         needed for POSIX compatibility.
43691
43692 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
43693
43694         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
43695         for compatibility with GNU.
43696
43697 2007-11-01  Bruno Haible  <bruno@clisp.org>
43698
43699         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
43700         (putenv): Renamed from rpl_putenv. Change argument type from
43701         'const char *' to 'char *'.
43702         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
43703         of defining putenv in config.h, just set REPLACE_PUTENV.
43704         * modules/putenv (Depends-on): Add stdlib.
43705         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43706         (Include): Use <stdlib.h>.
43707         * lib/stdlib.in.h (putenv): New declaration.
43708         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
43709         REPLACE_PUTENV.
43710         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
43711         REPLACE_PUTENV.
43712         Needed for MacOS X 10.5.0.
43713         Reported by Peter O'Gorman <peter@pogma.com>.
43714
43715 2007-11-01  Jim Meyering  <meyering@redhat.com>
43716
43717         Treat an empty date string exactly like "0".
43718         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
43719         if the remaining date string (to be parsed) is empty, use "0".
43720         Reported by Mischa Molhoek and discussed in this thread:
43721         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
43722
43723 2007-10-31  Bruno Haible  <bruno@clisp.org>
43724
43725         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
43726         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
43727         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
43728         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
43729         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
43730         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
43731
43732 2007-10-31  Bruno Haible  <bruno@clisp.org>
43733
43734         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
43735         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
43736         (AC_TYPE_LONG_LONG_INT): Use it.
43737         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
43738         it as well.
43739         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
43740         to m4/longlong.m4.
43741         * modules/stdint (Files): Remove m4/ulonglong.m4.
43742         * modules/strtoull (Files): Use m4/longlong.m4 instead of
43743         m4/ulonglong.m4.
43744         * modules/strtoumax (Files): Likewise.
43745
43746 2007-10-30  Bruno Haible  <bruno@clisp.org>
43747
43748         * modules/xvasprintf-posix: New file.
43749         Suggested by Eric Blake.
43750
43751 2007-10-30  Bruno Haible  <bruno@clisp.org>
43752
43753         * modules/xprintf-posix-tests: New file.
43754         * tests/test-xprintf-posix.sh: New file.
43755         * tests/test-xprintf-posix.c: New file.
43756         * tests/test-xfprintf-posix.c: New file.
43757
43758         * modules/xprintf-posix: New file.
43759
43760 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43761
43762         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
43763         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
43764         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
43765
43766 2007-10-29  Bruno Haible  <bruno@clisp.org>
43767
43768         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
43769         contain the special marker '_cv_'.
43770         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
43771         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
43772         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
43773         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
43774         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
43775         Reported by Ralf Wildenhues.
43776
43777 2007-10-29  Bruno Haible  <bruno@clisp.org>
43778
43779         * gnulib-tool (func_import): When --lgpl is not specified, set
43780         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
43781         GPLv3.
43782         Reported by Simon Josefsson.
43783
43784 2007-10-28  Bruno Haible  <bruno@clisp.org>
43785
43786         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
43787         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
43788         HAVE_DECL_ISFINITE.
43789         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43790         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
43791         HAVE_DECL_ISFINITE.
43792
43793 2007-10-28  Bruno Haible  <bruno@clisp.org>
43794
43795         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
43796         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
43797
43798 2007-10-28  Bruno Haible  <bruno@clisp.org>
43799
43800         Fix link errors with Sun C 5.0 on Solaris 10.
43801         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
43802         function is declared but not present in the compiler's libm.
43803         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
43804         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
43805         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
43806         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
43807         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
43808         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
43809         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
43810         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
43811         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
43812         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
43813         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
43814         HAVE_DECL_FLOORL.
43815
43816 2007-10-28  Bruno Haible  <bruno@clisp.org>
43817
43818         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
43819         gl_FUNC_FLOORL. Cache the result.
43820         (gl_FUNC_FLOORL): Use it.
43821         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
43822         gl_FUNC_CEILL. Cache the result.
43823         (gl_FUNC_CEILL): Use it.
43824
43825         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
43826         gl_FUNC_FLOOR. Cache the result.
43827         (gl_FUNC_FLOOR): Use it.
43828         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
43829         gl_FUNC_CEIL. Cache the result.
43830         (gl_FUNC_CEIL): Use it.
43831
43832         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
43833         gl_FUNC_FLOORF. Cache the result.
43834         (gl_FUNC_FLOORF): Use it.
43835         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
43836         gl_FUNC_CEILF. Cache the result.
43837         (gl_FUNC_CEILF): Use it.
43838
43839 2007-10-28  Bruno Haible  <bruno@clisp.org>
43840
43841         * gnulib-tool: Allow specifying the LGPL version number through
43842         --lgpl=2 or --lgpl=3.
43843         (func_usage): Document --lgpl with argument.
43844         Handle --lgpl=... arguments.
43845         (func_import): Recognize also gl_LGPL calls with an argument. When
43846         --lgpl=2 is used and the module's license is just LGPL, report an
43847         error. Set sed_transform_lib_file according to the lgpl variable. In
43848         the generated files, use --lgpl or gl_LGPL invocations with argument,
43849         if necessary.
43850         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
43851         an LGPv2+ license.
43852         * doc/gnulib-tool.texi (Modified imports): Update explanation of
43853         gl_LGPL macro.
43854
43855 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43856             Bruno Haible  <bruno@clisp.org>
43857
43858         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
43859         (u16_uctomb_aux): Likewise.
43860         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
43861         !HAVE_INLINE.
43862         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
43863
43864 2007-10-28  Bruno Haible  <bruno@clisp.org>
43865
43866         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
43867         Invoke AM_GETTEXT_OPTION if it exists.
43868         * modules/vasprintf: Likewise.
43869         * modules/verror: Likewise.
43870         * modules/xprintf: Likewise.
43871         * modules/xvasprintf: Likewise.
43872
43873 2007-10-27  Ben Pfaff  <blp@gnu.org>
43874
43875         * lib/math.in.h: Define isfinite macro and prototypes for
43876         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
43877         implementations.
43878         * m4/math_h.m4: New substitutions for isfinite module.
43879         * lib/isfinite.c: New file.
43880         * m4/isfinite.m4: New file.
43881         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
43882         * modules/isfinite: New file.
43883         * modules/isfinite-tests: New file.
43884         * tests/tests-isfinite.c: New file.
43885         * doc/functions/isfinite.texi: Mention isfinite module.
43886         * MODULES.html.sh: Mention new module.
43887
43888 2007-10-27  Ben Pfaff  <blp@gnu.org>
43889
43890         Ralf Wildenhues reported that Tru64 4.0D declares the round
43891         functions but does not have definitions.
43892         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
43893         cannot be found in any library, set the output variable to
43894         "missing" instead of "".
43895         * m4/round.m4: Also use our substitute if we cannot find round in
43896         any library, even if it is declared.
43897         * m4/roundf.m4: Likewise for roundf.
43898         * m4/roundl.m4: Likewise for roundl.
43899         * lib/math.in.h: Undefine roundf, round, roundl before defining
43900         their replacements, to allow for hypothetical systems where these
43901         may be defined as macros but not available in libraries.
43902
43903 2007-10-27  Bruno Haible  <bruno@clisp.org>
43904
43905         * doc/gnulib.texi: Invoke @firstparagraphindent.
43906         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
43907         changes in gnulib.
43908         (Source changes): New section.
43909
43910 2007-10-26  Bruno Haible  <bruno@clisp.org>
43911
43912         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
43913         borrowed from autoconf.
43914
43915 2007-10-26  Bruno Haible  <bruno@clisp.org>
43916
43917         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
43918         strerror returned the empty string. Needed on HP-UX 11.00.
43919
43920 2007-10-24  Micah Cowan  <micah@cowan.name>
43921
43922         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
43923         * build-aux/bootstrap: Remove support for now-unnecessary option,
43924         --cvs-user, and envvars CVS_USER, CVS_RSH.
43925
43926 2007-10-24  Jim Meyering  <meyering@redhat.com>
43927
43928         Avoid diagnostics from sha1sum when there is no cached checksum.
43929         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
43930         if the po.s1 file hasn't been created yet.
43931
43932         * build-aux/bootstrap: Sync from coreutils:
43933         2007-10-24  Jim Meyering  <meyering@redhat.com>
43934         Get gnulib from the git repository, not from an obsolete cvs one.
43935         * build-aux/bootstrap: Suggestion from Micah Cowan.
43936         2007-10-04  Jim Meyering  <jim@meyering.net>
43937         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
43938         (update_po_files): Work also when there are no .po files in po/.
43939
43940 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
43941
43942         * README: Append ".git" to git and cg examples.
43943         Problem reported by Benoit Sigoure.
43944
43945 2007-10-23  Micah Cowan  <micah@cowan.name>
43946
43947         * users.txt: Add wget.
43948
43949 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43950
43951         Fix linking of some unistdio tests on FreeBSD.
43952         * modules/unistdio/u16-vsnprintf-tests
43953         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
43954         * modules/unistdio/u16-vsprintf-tests
43955         (test_u16_vsnprintf1_LDADD): Likewise.
43956         * modules/unistdio/u32-vsnprintf-tests
43957         (test_u32_vsnprintf1_LDADD): Likewise.
43958         * modules/unistdio/u32-vsprintf-tests
43959         (test_u32_vsprintf1_LDADD): Likewise.
43960         * modules/unistdio/u8-vsnprintf-tests
43961         (test_u8_vsnprintf1_LDADD): Likewise.
43962         * modules/unistdio/u8-vsprintf-tests
43963         (test_u8_vsprintf1_LDADD): Likewise.
43964         * modules/unistdio/ulc-vsnprintf-tests
43965         (test_ulc_vsnprintf1_LDADD): Likewise.
43966         * modules/unistdio/ulc-vsprintf-tests
43967         (test_ulc_vsprintf1_LDADD): Likewise.
43968
43969         Fix linking of some uniconv tests on FreeBSD.
43970         * modules/uniconv/u16-conv-from-enc-tests
43971         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
43972         * modules/uniconv/u16-conv-to-enc-tests
43973         (test_u16_conv_to_enc_LDADD): Likewise.
43974         * modules/uniconv/u16-strconv-from-enc-tests
43975         (test_u16_strconv_from_enc_LDADD): Likewise.
43976         * modules/uniconv/u16-strconv-to-enc-tests
43977         (test_u16_strconv_to_enc_LDADD): Likewise.
43978         * modules/uniconv/u32-conv-from-enc-tests
43979         (test_u32_conv_from_enc_LDADD): Likewise.
43980         * modules/uniconv/u32-conv-to-enc-tests
43981         (test_u32_conv_to_enc_LDADD): Likewise.
43982         * modules/uniconv/u32-strconv-from-enc-tests
43983         (test_u32_strconv_from_enc_LDADD): Likewise.
43984         * modules/uniconv/u32-strconv-to-enc-tests
43985         (test_u32_strconv_to_enc_LDADD): Likewise.
43986         * modules/uniconv/u8-conv-from-enc-tests
43987         (test_u8_conv_from_enc_LDADD): Likewise.
43988         * modules/uniconv/u8-conv-to-enc-tests
43989         (test_u8_conv_to_enc_LDADD): Likewise.
43990         * modules/uniconv/u8-strconv-from-enc-tests
43991         (test_u8_strconv_from_enc_LDADD): Likewise.
43992         * modules/uniconv/u8-strconv-to-enc-tests
43993         (test_u8_strconv_to_enc_LDADD): Likewise.
43994
43995 2007-10-22  Bruno Haible  <bruno@clisp.org>
43996
43997         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
43998         size.
43999
44000 2007-10-22  Eric Blake  <ebb9@byu.net>
44001
44002         Tweak x*printf documentation.
44003         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
44004         variable name and comments.
44005         Suggested by Bruno Haible.
44006
44007 2007-10-22  Bruno Haible  <bruno@clisp.org>
44008
44009         * lib/acl.c (copy_acl): Fix file name in comment.
44010
44011 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44012
44013         Fix Tru64 problem with stdbool.h.
44014         * lib/stdbool.in.h (false, true):
44015         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
44016         Don't declare as an enum in this situation; it runs afoul of Tru64.
44017         Problem reported by Steven M. Schweda in
44018         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
44019
44020 2007-10-22  Eric Blake  <ebb9@byu.net>
44021
44022         Also wrap vf?printf.
44023         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
44024         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
44025         (xvprintf, xvfprintf): New functions.
44026
44027 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44028
44029         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
44030         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
44031
44032         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
44033         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
44034
44035 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44036
44037         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
44038         by Bruno Haible.
44039
44040 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44041
44042         * lib/getloadavg.c
44043         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
44044         Undef `sys' after including sys/table.h, for Tru64 4.0D.
44045
44046         * tests/test-i-ring.c: Work for C89.
44047
44048 2007-10-22  Bruno Haible  <bruno@clisp.org>
44049
44050         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
44051         -1u, in preprocessor expression, so that we don't test for the bug
44052         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
44053         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
44054
44055 2007-10-22  Eric Blake  <ebb9@byu.net>
44056
44057         * tests/test-yesno.sh: Silence stderr during test.
44058
44059 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44060
44061         * modules/crypto/gc-camellia: New file.
44062
44063         * m4/gc-camellia.m4: New file.
44064
44065         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
44066
44067         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
44068
44069 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44070
44071         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
44072         --help to stdout.  Reported by sms@antinode.org (Steven
44073         M. Schweda).
44074
44075 2007-10-22  Simon Josefsson  <simon@josefsson.org>
44076
44077         * users.txt: Fix link to libksba.
44078
44079 2007-10-21  Ben Pfaff  <blp@gnu.org>
44080
44081         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
44082         round.c roundf implementation that depends on floorf and ceilf to
44083         be tested unconditionally.
44084
44085 2007-10-21  Ben Pfaff  <blp@gnu.org>
44086
44087         * m4/check-libm-func.m4: Removed.
44088         * m4/check-math-lib.m4: New file.
44089         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
44090         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
44091         definition and lack of AC_LIBOBJ([roundf]).
44092         * m4/roundl.m4: Ditto, and similarly for roundl.
44093         * modules/round: Reference new m4 file.
44094         * modules/roundf: Ditto.
44095         * modules/roundl: Ditto.
44096         * tests/test-round2.c (main): Use ROUND instead of round.
44097         Bug report from Bruno Haible.
44098
44099 2007-10-21  Bruno Haible  <bruno@clisp.org>
44100
44101         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
44102         context.
44103
44104 2007-10-21  Bruno Haible  <bruno@clisp.org>
44105
44106         * tests/test-wcwidth.c (main): Allow negative result for some control
44107         characters.
44108
44109         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
44110         Needed on OSF/1 5.1.
44111
44112 2007-10-21  Bruno Haible  <bruno@clisp.org>
44113
44114         * tests/test-floorf1.c: Include isnanf.h.
44115         (main): Use isnanf() instead of isnan().
44116         * tests/test-ceilf1.c: Include isnanf.h.
44117         (main): Use isnanf() instead of isnan().
44118         * tests/test-truncf1.c: Include isnanf.h.
44119         (main): Use isnanf() instead of isnan().
44120         * tests/test-roundf1.c: Include isnanf.h.
44121         (main): Use isnanf() instead of isnan().
44122
44123 2007-10-21  Eric Blake  <ebb9@byu.net>
44124
44125         * users.txt: Update URL for m4.
44126
44127 2007-10-21  Bruno Haible  <bruno@clisp.org>
44128
44129         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
44130
44131 2007-10-21  Bruno Haible  <bruno@clisp.org>
44132
44133         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
44134         Git's management files if the CVS files are not present.
44135
44136 2007-10-20  Bruno Haible  <bruno@clisp.org>
44137
44138         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
44139         gcc-3.4.x.
44140
44141 2007-10-20  Ben Pfaff  <blp@gnu.org>
44142
44143         * lib/math.in.h: Declare round, roundf, roundl if we are providing
44144         implementations.
44145         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
44146         * lib/round.c: New file.
44147         * lib/roundf.c: New file.
44148         * lib/roundl.c: New file.
44149         * m4/round.m4: New file.
44150         * m4/roundf.m4: New file.
44151         * m4/roundl.m4: New file.
44152         * m4/check-libm-func-m4: New file.
44153         * modules/math: Replace round, roundf, roundl related @VARS@ in
44154         math.in.h.
44155         * modules/round: New file.
44156         * modules/round-tests: New file.
44157         * modules/roundf: New file.
44158         * modules/roundf-tests: New file.
44159         * modules/roundl: New file.
44160         * modules/roundl-tests: New file.
44161         * tests/test-round1.c: New file.
44162         * tests/test-round2.c: New file.
44163         * tests/test-roundf1.c: New file.
44164         * tests/test-roundf2.c: New file.
44165         * tests/test-roundl.c: New file.
44166         * doc/functions/round.texi: Mention round module.
44167         * doc/functions/roundf.texi: Mention roundf module.
44168         * doc/functions/roundl.texi: Mention roundl module.
44169         * MODULES.html.sh: Mention new modules.
44170         Thanks to Bruno Haible for suggestions.
44171
44172 2007-10-20  Jim Meyering  <meyering@redhat.com>
44173
44174         * lib/xprintf.c: Include <config.h> unconditionally.
44175
44176         Change xprintf's license to GPL.
44177         * modules/xprintf (License): s/LGPL/GPL/, since this module
44178         depends on modules (exit and exitfail) which are GPL.
44179         Suggestion from Bruno Haible.
44180
44181         xprintf fixes.
44182         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
44183         Use a clearer diagnostic.
44184         Patch from Bruno Haible.
44185
44186 2007-10-20  Bruno Haible  <bruno@clisp.org>
44187
44188         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
44189         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
44190         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44191
44192 2007-10-20  Bruno Haible  <bruno@clisp.org>
44193
44194         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
44195         precision in the comparison result > x - 1 or similar.
44196         * tests/test-ceilf2.c (correct_result_p): Likewise.
44197         * tests/test-truncf2.c (correct_result_p): Likewise.
44198         * tests/test-trunc2.c (correct_result_p): Likewise.
44199         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44200
44201 2007-10-20  Bruno Haible  <bruno@clisp.org>
44202
44203         * modules/ceil: New file.
44204         * m4/ceil.m4: New file.
44205         * doc/functions/ceil.texi: Mention the 'ceil' module.
44206
44207 2007-10-20  Bruno Haible  <bruno@clisp.org>
44208
44209         * modules/floor: New file.
44210         * m4/floor.m4: New file.
44211         * doc/functions/floor.texi: Mention the 'floor' module.
44212
44213 2007-10-20  Bruno Haible  <bruno@clisp.org>
44214
44215         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
44216         of %a.
44217         * modules/floorf-tests (Depends-on): Likewise.
44218         * modules/truncf-tests (Depends-on): Likewise.
44219         * modules/trunc-tests (Depends-on): Likewise.
44220         Reported by Ben Pfaff.
44221
44222 2007-10-19  Jim Meyering  <meyering@redhat.com>
44223
44224         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
44225         Don't bother testing specific errno values.  Just test ferror.
44226
44227         New module: xprintf
44228         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
44229
44230 2007-10-19  Bruno Haible  <bruno@clisp.org>
44231
44232         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
44233         syntax.
44234         * modules/javaexec (Makefile.am): Likewise.
44235         * modules/relocatable-prog (Makefile.am): Likewise.
44236         Suggested by Jim Meyering.
44237
44238 2007-10-18  Bruno Haible  <bruno@clisp.org>
44239
44240         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
44241         Reported by Jim Meyering.
44242
44243 2007-10-18  Eric Blake  <ebb9@byu.net>
44244
44245         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
44246
44247 2007-10-18  Bruno Haible  <bruno@clisp.org>
44248
44249         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
44250         the format string into writable memory. Needed in Fortify conditions.
44251
44252 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
44253             Bruno Haible  <bruno@clisp.org>
44254
44255         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
44256         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
44257         * modules/trim (Depends-on): Add mbchar.
44258         (configure.ac): Add gl_FUNC_MBRTOWC.
44259         (Makefile.am): Augment lib_SOURCES.
44260
44261 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
44262
44263         Modify glob.c to use fstatat and dirfd, to simplify it.
44264         Suggested by Eric Blake.
44265         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
44266         Don't include <stdbool.h>; not used.
44267         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
44268         (link_exists_p): Simplify implementation, since we can now assume
44269         dirfd and fstatat.
44270         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
44271
44272 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44273
44274         * gnulib-tool (func_get_dependencies): Fix sed script to
44275         match only tests.
44276
44277 2007-10-17  Bruno Haible  <bruno@clisp.org>
44278
44279         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
44280         allow locale names without encoding suffix.
44281         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
44282         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44283
44284 2007-10-16  Bruno Haible  <bruno@clisp.org>
44285
44286         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
44287         * lib/getgroups.c (getgroups): Likewise.
44288         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
44289
44290 2007-10-16  Bruno Haible  <bruno@clisp.org>
44291
44292         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
44293         * modules/malloc-posix (License): Likewise.
44294         * modules/realloc-posix (License): Likewise.
44295         * modules/calloc-posix (License): Likewise.
44296         * modules/intprops (License): Change from GPL to LGPL, with
44297         Paul Eggert's approval.
44298
44299 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44300
44301         Merge glibc changes into lib/glob.c.
44302
44303         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
44304         2007-10-15 04:59:03 UTC.  Here are the changes:
44305
44306         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
44307
44308         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
44309
44310         * lib/glob.c: Add some branch prediction throughout.
44311
44312         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
44313
44314         [BZ #5103]
44315         * lib/glob.c (glob): Recognize patterns starting \/.
44316
44317         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
44318
44319         [BZ #3996]
44320         * lib/glob.c (attribute_hidden): Define if not defined.
44321         (glob): Unescape dirname, filename or username when needed and not
44322         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
44323         is NULL.  Handle unescaped [ in pattern without closing ].
44324         Don't pass GLOB_CHECK down to recursive glob for directories.
44325         (__glob_pattern_type): New function.
44326         (__glob_pattern_p): Implement using __glob_pattern_type.
44327         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
44328         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
44329         Remove unreachable code.
44330
44331         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
44332
44333         * lib/glob.c (glob_in_dir): Add some comments and asserts to
44334         explain why there are no leaks.
44335
44336         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
44337
44338         [BZ #3253]
44339         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
44340         time, rather allocate increasingly bigger arrays of pointers, if
44341         possible with alloca, if too large with malloc.
44342
44343 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
44344
44345         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
44346         Problem reported by H.Merijn Brand in
44347         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
44348         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
44349         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
44350
44351 2007-10-15  Bruno Haible  <bruno@clisp.org>
44352
44353         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
44354         with explicit rpl_ prefix.
44355         * lib/fopen.c (fopen): Likewise.
44356         * lib/freopen.c (freopen): Likewise.
44357         * lib/iconv.c (iconv): Likewise.
44358         * lib/iconv_close.c (iconv_close): Likewise.
44359
44360 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44361
44362         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
44363
44364 2007-10-15  Bruno Haible  <bruno@clisp.org>
44365
44366         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
44367         <stddef.h> instead of <stdlib.h> since we only need NULL.
44368         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44369
44370 2007-10-15  Bruno Haible  <bruno@clisp.org>
44371
44372         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
44373         Replace paragraph talking about LIBOBJS.
44374         Reported by Colin Watson <cjwatson@debian.org>.
44375
44376 2007-10-15  Bruno Haible  <bruno@clisp.org>
44377
44378         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
44379         <stdlib.h> before using NULL.
44380
44381 2007-10-15  Simon Josefsson  <simon@josefsson.org>
44382
44383         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
44384         Reported by Albert Chin <china@thewrittenword.com>.
44385
44386 2007-10-14  Bruno Haible  <bruno@clisp.org>
44387
44388         * modules/iconv_open-utf-tests: New file.
44389         * tests/test-iconv-utf.c: New file.
44390
44391         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
44392         * modules/iconv_open-utf: New file.
44393         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
44394         (iconv, iconv_close): New declarations.
44395         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
44396         be defined.
44397         (iconv_open): Add special handling of conversion between UTF-8 and
44398         UTF-{16,32}{BE,LE}.
44399         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
44400         * lib/iconv_close.c: New file.
44401         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
44402         gl_FUNC_ICONV_OPEN.
44403         (gl_FUNC_ICONV_OPEN): Use it.
44404         (gl_FUNC_ICONV_OPEN_UTF): New macro.
44405         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
44406         and REPLACE_ICONV_UTF.
44407         * modules/iconv_open (Depends-on): Add c-strcase.
44408         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
44409         ICONV_CONST.
44410         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
44411
44412 2007-10-13  Albert Chin  <china@thewrittenword.com>
44413             Bruno Haible  <bruno@clisp.org>
44414
44415         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
44416         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
44417
44418 2007-10-13  Bruno Haible  <bruno@clisp.org>
44419
44420         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
44421         defined, use the ISO C99 inline semantics.
44422         * lib/argp.h (ARGP_EI): Likewise.
44423
44424 2007-10-13  Bruno Haible  <bruno@clisp.org>
44425
44426         Handle 'inline' change in gcc 4.3.0.
44427         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
44428         argp_fmtstream_write, argp_fmtstream_set_lmargin,
44429         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
44430         argp_fmtstream_point): Disable 'extern' declaration if the function
44431         definition is going to be provided inline.
44432         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
44433         semantics, not the ISO C99 inline semantics.
44434         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
44435         'extern' declaration if the function definition is going to be provided
44436         inline.
44437         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
44438         the GNU C inline semantics, not the ISO C99 inline semantics. With
44439         GCC 4.2, avoid a warning.
44440
44441 2007-10-13  Bruno Haible  <bruno@clisp.org>
44442
44443         * lib/freading.h (freading): Enable the use of __freading for
44444         glibc >= 2.7.
44445         * lib/freading.c (freading): Likewise.
44446
44447 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
44448
44449         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
44450         "warning: C99 inline functions are not supported; using GNU89".
44451
44452 2007-10-12  Bruno Haible  <bruno@clisp.org>
44453
44454         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
44455         of 2.
44456         * tests/test-ceilf2.c: New file.
44457         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
44458
44459         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
44460         * modules/ceilf-tests: Update.
44461
44462 2007-10-12  Bruno Haible  <bruno@clisp.org>
44463
44464         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
44465         of 2.
44466         * tests/test-floorf2.c: New file.
44467         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
44468
44469         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
44470         * modules/floorf-tests: Update.
44471
44472 2007-10-12  Bruno Haible  <bruno@clisp.org>
44473
44474         * tests/test-trunc2.c: New file.
44475         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
44476
44477         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
44478         * modules/trunc-tests: Update.
44479
44480 2007-10-12  Bruno Haible  <bruno@clisp.org>
44481
44482         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
44483         of 2.
44484         * tests/test-truncf2.c: New file.
44485         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
44486
44487         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
44488         * modules/truncf-tests: Update.
44489
44490 2007-10-11  Eric Blake  <ebb9@byu.net>
44491
44492         Don't claim strerror is broken on Interix.
44493         * doc/functions/strerror.texi (strerror): Known broken systems are
44494         now Solaris 8, and not Interix.
44495         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
44496         Interix on cross-compile.
44497         Reported by Martin Koeppe in
44498         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
44499
44500 2007-10-11  Bruno Haible  <bruno@clisp.org>
44501
44502         * modules/i-ring-tests: New file.
44503         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
44504         instead of assert.
44505
44506 2007-10-11  Bruno Haible  <bruno@clisp.org>
44507
44508         * modules/filenamecat-tests: New file.
44509         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
44510         * lib/filenamecat.c: Remove test code.
44511
44512 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
44513
44514         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
44515
44516         * lib/strerror.c: Include <string.h> always, to test interface,
44517         and to remove the need for the dummy.
44518         Include intprops.h to compute width instead of doing it ourselves
44519         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
44520         (strerror): Define it to return NULL if there's no system strerror.
44521         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
44522         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
44523         ancient pre-strerror Unix systems well any more.  Saying "unknown
44524         system error" is enough.
44525         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
44526         simpler strerror.c implementation.
44527         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
44528         Simplify the tests to reflect the simpler strerror implementation.
44529         * modules/strerror (Depends-on): Add intprops.
44530
44531 2007-10-09  Eric Blake  <ebb9@byu.net>
44532
44533         Silence test-fpending.
44534         * modules/fpending-tests (Files): Add wrapper script.
44535         * tests/test-fpending.sh: New file.
44536
44537 2007-10-09  Bruno Haible  <bruno@clisp.org>
44538
44539         * MODULES.html.sh (func_module): Don't create a hyperlink for
44540         function names like 'printf_frexp'.
44541         (Misc): Add crc, memxor.
44542         (Characteristics of floating types): New section.
44543         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
44544         isnanf-nolibm, signbit, trunc, truncf, truncl.
44545         (Enhancements for ISO C 99 functions): New subsection Input/output.
44546         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
44547         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
44548         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
44549         (Compatibility checks for POSIX:2001 functions): Add clock-time.
44550         (Enhancements for POSIX:2001 functions): Add chdir-long.
44551         (File system functions): Add areadlink, chdir-safer, read-file.
44552         Remove cycle-check.
44553         (File system as inode set): New section.
44554         (Date and time): Add gethrxtime.
44555         (Multithreading): Add openmp.
44556         (Internationalization functions): Add localename.
44557         (Unicode string functions): Add unistr/u*-mbsnlen.
44558         (Support for maintaining and releasing projects): Add git-version-gen.
44559         (Lone files): Remove directories.
44560
44561 2007-10-08  Ben Pfaff  <blp@gnu.org>
44562
44563         * lib/xmalloca.h: Fix typo in comment.
44564
44565 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
44566
44567         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
44568         when avoiding problems with integer overflow.  Use a portable test
44569         instead.
44570
44571 2007-10-08  Simon Josefsson  <simon@josefsson.org>
44572
44573         * modules/dummy (License): Change to LGPLv2+.
44574         * modules/float (License): Likewise
44575         * modules/realloc (License): Likewise
44576         * modules/stdlib (License): Likewise
44577
44578 2007-10-07  Bruno Haible  <bruno@clisp.org>
44579
44580         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
44581         * floor.c (TWO_MANT_DIG): Likewise.
44582         * ceil.c (TWO_MANT_DIG): Likewise.
44583         Reported by Ben Pfaff.
44584
44585 2007-10-07  Bruno Haible  <bruno@clisp.org>
44586
44587         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
44588         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
44589         * lib/frexp.c (FUNC): Likewise.
44590         * lib/printf-frexp.h (printf_frexp): Likewise.
44591         * lib/printf-frexpl.h (printf_frexpl): Likewise.
44592         * lib/printf-frexp.c (FUNC): Likewise.
44593         Suggested by Jim Meyering.
44594
44595 2007-10-07  Jim Meyering  <meyering@redhat.com>
44596
44597         Make xnanosleep's integer overflow test more robust.
44598         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
44599         so that gcc-4.3.0 doesn't optimize away this test for overflow.
44600
44601 2007-10-07  Bruno Haible  <bruno@clisp.org>
44602
44603         * NEWS: Mention the license change.
44604
44605         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
44606         abbreviations in the modules files.
44607
44608         Change copyright notice from GPLv2+ to GPLv3+.
44609         * README: Change copyright notice.
44610         * MODULES.html.sh: Likewise.
44611         * build-aux/bootstrap.conf: Likewise.
44612         * build-aux/config.libpath: Likewise.
44613         * build-aux/csharpcomp.sh.in: Likewise.
44614         * build-aux/csharpexec.sh.in: Likewise.
44615         * build-aux/install-reloc: Likewise.
44616         * build-aux/javacomp.sh.in: Likewise.
44617         * build-aux/javaexec.sh.in: Likewise.
44618         * build-aux/ldd.sh.in: Likewise.
44619         * build-aux/reloc-ldflags: Likewise.
44620         * build-aux/relocatable.sh.in: Likewise.
44621         * build-aux/x-to-1.in: Likewise.
44622         * check-module: Likewise.
44623         * config/srclistvars.sh: Likewise.
44624         * gnulib-tool: Likewise.
44625         * lib/acl-internal.h: Likewise.
44626         * lib/acl.c: Likewise.
44627         * lib/acl.h: Likewise.
44628         * lib/acl_entries.c: Likewise.
44629         * lib/areadlink-with-size.c: Likewise.
44630         * lib/areadlink.c: Likewise.
44631         * lib/areadlink.h: Likewise.
44632         * lib/argmatch.c: Likewise.
44633         * lib/argmatch.h: Likewise.
44634         * lib/argp-ba.c: Likewise.
44635         * lib/argp-eexst.c: Likewise.
44636         * lib/argp-fmtstream.c: Likewise.
44637         * lib/argp-fmtstream.h: Likewise.
44638         * lib/argp-fs-xinl.c: Likewise.
44639         * lib/argp-help.c: Likewise.
44640         * lib/argp-namefrob.h: Likewise.
44641         * lib/argp-parse.c: Likewise.
44642         * lib/argp-pin.c: Likewise.
44643         * lib/argp-pv.c: Likewise.
44644         * lib/argp-pvh.c: Likewise.
44645         * lib/argp-xinl.c: Likewise.
44646         * lib/argp.h: Likewise.
44647         * lib/at-func.c: Likewise.
44648         * lib/atanl.c: Likewise.
44649         * lib/backupfile.c: Likewise.
44650         * lib/backupfile.h: Likewise.
44651         * lib/basename.c: Likewise.
44652         * lib/binary-io.h: Likewise.
44653         * lib/byteswap.in.h: Likewise.
44654         * lib/c-stack.c: Likewise.
44655         * lib/c-stack.h: Likewise.
44656         * lib/c-strcasestr.c: Likewise.
44657         * lib/c-strcasestr.h: Likewise.
44658         * lib/c-strstr.c: Likewise.
44659         * lib/c-strstr.h: Likewise.
44660         * lib/c-strtod.c: Likewise.
44661         * lib/calloc.c: Likewise.
44662         * lib/canon-host.c: Likewise.
44663         * lib/canon-host.h: Likewise.
44664         * lib/canonicalize-lgpl.c: Likewise.
44665         * lib/canonicalize.c: Likewise.
44666         * lib/canonicalize.h: Likewise.
44667         * lib/ceil.c: Likewise.
44668         * lib/ceilf.c: Likewise.
44669         * lib/ceill.c: Likewise.
44670         * lib/chdir-long.c: Likewise.
44671         * lib/chdir-long.h: Likewise.
44672         * lib/chdir-safer.c: Likewise.
44673         * lib/chdir-safer.h: Likewise.
44674         * lib/chown.c: Likewise.
44675         * lib/classpath.c: Likewise.
44676         * lib/classpath.h: Likewise.
44677         * lib/clean-temp.c: Likewise.
44678         * lib/clean-temp.h: Likewise.
44679         * lib/cloexec.c: Likewise.
44680         * lib/close-stream.c: Likewise.
44681         * lib/closein.c: Likewise.
44682         * lib/closein.h: Likewise.
44683         * lib/closeout.c: Likewise.
44684         * lib/closeout.h: Likewise.
44685         * lib/concat-filename.c: Likewise.
44686         * lib/copy-file.c: Likewise.
44687         * lib/copy-file.h: Likewise.
44688         * lib/count-one-bits.h: Likewise.
44689         * lib/crc.c: Likewise.
44690         * lib/crc.h: Likewise.
44691         * lib/creat-safer.c: Likewise.
44692         * lib/csharpcomp.c: Likewise.
44693         * lib/csharpcomp.h: Likewise.
44694         * lib/csharpexec.c: Likewise.
44695         * lib/csharpexec.h: Likewise.
44696         * lib/cycle-check.c: Likewise.
44697         * lib/cycle-check.h: Likewise.
44698         * lib/diacrit.c: Likewise.
44699         * lib/diacrit.h: Likewise.
44700         * lib/diffseq.h: Likewise.
44701         * lib/dirchownmod.c: Likewise.
44702         * lib/dirent.in.h: Likewise.
44703         * lib/dirfd.c: Likewise.
44704         * lib/dirfd.h: Likewise.
44705         * lib/dirname.c: Likewise.
44706         * lib/dirname.h: Likewise.
44707         * lib/dummy.c: Likewise.
44708         * lib/dup-safer.c: Likewise.
44709         * lib/dup2.c: Likewise.
44710         * lib/eealloc.h: Likewise.
44711         * lib/error.c: Likewise.
44712         * lib/error.h: Likewise.
44713         * lib/euidaccess.c: Likewise.
44714         * lib/exclude.c: Likewise.
44715         * lib/exclude.h: Likewise.
44716         * lib/execute.c: Likewise.
44717         * lib/execute.h: Likewise.
44718         * lib/exitfail.c: Likewise.
44719         * lib/exitfail.h: Likewise.
44720         * lib/expl.c: Likewise.
44721         * lib/fatal-signal.c: Likewise.
44722         * lib/fatal-signal.h: Likewise.
44723         * lib/fbufmode.c: Likewise.
44724         * lib/fbufmode.h: Likewise.
44725         * lib/fchdir.c: Likewise.
44726         * lib/fchmodat.c: Likewise.
44727         * lib/fchownat.c: Likewise.
44728         * lib/fcntl--.h: Likewise.
44729         * lib/fcntl-safer.h: Likewise.
44730         * lib/fcntl.in.h: Likewise.
44731         * lib/fd-safer.c: Likewise.
44732         * lib/fflush.c: Likewise.
44733         * lib/file-has-acl.c: Likewise.
44734         * lib/file-set.c: Likewise.
44735         * lib/file-type.c: Likewise.
44736         * lib/file-type.h: Likewise.
44737         * lib/fileblocks.c: Likewise.
44738         * lib/filemode.c: Likewise.
44739         * lib/filemode.h: Likewise.
44740         * lib/filename.h: Likewise.
44741         * lib/filenamecat.c: Likewise.
44742         * lib/filenamecat.h: Likewise.
44743         * lib/findprog.c: Likewise.
44744         * lib/findprog.h: Likewise.
44745         * lib/float.in.h: Likewise.
44746         * lib/floor.c: Likewise.
44747         * lib/floorf.c: Likewise.
44748         * lib/floorl.c: Likewise.
44749         * lib/fopen-safer.c: Likewise.
44750         * lib/fopen.c: Likewise.
44751         * lib/fpending.c: Likewise.
44752         * lib/fpending.h: Likewise.
44753         * lib/fprintf.c: Likewise.
44754         * lib/fprintftime.h: Likewise.
44755         * lib/fpucw.h: Likewise.
44756         * lib/fpurge.c: Likewise.
44757         * lib/fpurge.h: Likewise.
44758         * lib/freadable.c: Likewise.
44759         * lib/freadable.h: Likewise.
44760         * lib/freadahead.c: Likewise.
44761         * lib/freadahead.h: Likewise.
44762         * lib/freading.c: Likewise.
44763         * lib/freading.h: Likewise.
44764         * lib/free.c: Likewise.
44765         * lib/freopen.c: Likewise.
44766         * lib/frexp.c: Likewise.
44767         * lib/frexpl.c: Likewise.
44768         * lib/fseek.c: Likewise.
44769         * lib/fseterr.c: Likewise.
44770         * lib/fseterr.h: Likewise.
44771         * lib/fstatat.c: Likewise.
44772         * lib/fstrcmp.c: Likewise.
44773         * lib/fstrcmp.h: Likewise.
44774         * lib/fsusage.c: Likewise.
44775         * lib/fsusage.h: Likewise.
44776         * lib/ftell.c: Likewise.
44777         * lib/ftello.c: Likewise.
44778         * lib/fts-cycle.c: Likewise.
44779         * lib/fts.c: Likewise.
44780         * lib/fts_.h: Likewise.
44781         * lib/full-read.c: Likewise.
44782         * lib/full-read.h: Likewise.
44783         * lib/full-write.c: Likewise.
44784         * lib/full-write.h: Likewise.
44785         * lib/fwritable.c: Likewise.
44786         * lib/fwritable.h: Likewise.
44787         * lib/fwriteerror.c: Likewise.
44788         * lib/fwriteerror.h: Likewise.
44789         * lib/fwriting.c: Likewise.
44790         * lib/fwriting.h: Likewise.
44791         * lib/gcd.c: Likewise.
44792         * lib/gcd.h: Likewise.
44793         * lib/getcwd.c: Likewise.
44794         * lib/getdate.h: Likewise.
44795         * lib/getdate.y: Likewise.
44796         * lib/getdomainname.c: Likewise.
44797         * lib/getdomainname.h: Likewise.
44798         * lib/getgroups.c: Likewise.
44799         * lib/gethostname.c: Likewise.
44800         * lib/gethrxtime.c: Likewise.
44801         * lib/gethrxtime.h: Likewise.
44802         * lib/getloadavg.c: Likewise.
44803         * lib/getndelim2.c: Likewise.
44804         * lib/getndelim2.h: Likewise.
44805         * lib/getnline.c: Likewise.
44806         * lib/getnline.h: Likewise.
44807         * lib/getopt.c: Likewise.
44808         * lib/getopt.in.h: Likewise.
44809         * lib/getopt1.c: Likewise.
44810         * lib/getopt_int.h: Likewise.
44811         * lib/getpagesize.h: Likewise.
44812         * lib/getsubopt.c: Likewise.
44813         * lib/gettime.c: Likewise.
44814         * lib/getugroups.c: Likewise.
44815         * lib/getugroups.h: Likewise.
44816         * lib/getusershell.c: Likewise.
44817         * lib/gl_anyavltree_list1.h: Likewise.
44818         * lib/gl_anyavltree_list2.h: Likewise.
44819         * lib/gl_anyhash_list1.h: Likewise.
44820         * lib/gl_anyhash_list2.h: Likewise.
44821         * lib/gl_anylinked_list1.h: Likewise.
44822         * lib/gl_anylinked_list2.h: Likewise.
44823         * lib/gl_anyrbtree_list1.h: Likewise.
44824         * lib/gl_anyrbtree_list2.h: Likewise.
44825         * lib/gl_anytree_list1.h: Likewise.
44826         * lib/gl_anytree_list2.h: Likewise.
44827         * lib/gl_anytree_oset.h: Likewise.
44828         * lib/gl_anytreehash_list1.h: Likewise.
44829         * lib/gl_anytreehash_list2.h: Likewise.
44830         * lib/gl_array_list.c: Likewise.
44831         * lib/gl_array_list.h: Likewise.
44832         * lib/gl_array_oset.c: Likewise.
44833         * lib/gl_array_oset.h: Likewise.
44834         * lib/gl_avltree_list.c: Likewise.
44835         * lib/gl_avltree_list.h: Likewise.
44836         * lib/gl_avltree_oset.c: Likewise.
44837         * lib/gl_avltree_oset.h: Likewise.
44838         * lib/gl_avltreehash_list.c: Likewise.
44839         * lib/gl_avltreehash_list.h: Likewise.
44840         * lib/gl_carray_list.c: Likewise.
44841         * lib/gl_carray_list.h: Likewise.
44842         * lib/gl_linked_list.c: Likewise.
44843         * lib/gl_linked_list.h: Likewise.
44844         * lib/gl_linkedhash_list.c: Likewise.
44845         * lib/gl_linkedhash_list.h: Likewise.
44846         * lib/gl_list.c: Likewise.
44847         * lib/gl_list.h: Likewise.
44848         * lib/gl_oset.c: Likewise.
44849         * lib/gl_oset.h: Likewise.
44850         * lib/gl_rbtree_list.c: Likewise.
44851         * lib/gl_rbtree_list.h: Likewise.
44852         * lib/gl_rbtree_oset.c: Likewise.
44853         * lib/gl_rbtree_oset.h: Likewise.
44854         * lib/gl_rbtreehash_list.c: Likewise.
44855         * lib/gl_rbtreehash_list.h: Likewise.
44856         * lib/gl_sublist.c: Likewise.
44857         * lib/gl_sublist.h: Likewise.
44858         * lib/group-member.c: Likewise.
44859         * lib/group-member.h: Likewise.
44860         * lib/hard-locale.c: Likewise.
44861         * lib/hard-locale.h: Likewise.
44862         * lib/hash-pjw.c: Likewise.
44863         * lib/hash-pjw.h: Likewise.
44864         * lib/hash-triple.c: Likewise.
44865         * lib/hash.c: Likewise.
44866         * lib/hash.h: Likewise.
44867         * lib/human.c: Likewise.
44868         * lib/human.h: Likewise.
44869         * lib/i-ring.c: Likewise.
44870         * lib/i-ring.h: Likewise.
44871         * lib/idcache.c: Likewise.
44872         * lib/imaxabs.c: Likewise.
44873         * lib/imaxdiv.c: Likewise.
44874         * lib/inet_pton.c: Likewise.
44875         * lib/inet_pton.h: Likewise.
44876         * lib/intprops.h: Likewise.
44877         * lib/inttostr.c: Likewise.
44878         * lib/inttostr.h: Likewise.
44879         * lib/inttypes.in.h: Likewise.
44880         * lib/isapipe.c: Likewise.
44881         * lib/isdir.c: Likewise.
44882         * lib/isnan.c: Likewise.
44883         * lib/isnan.h: Likewise.
44884         * lib/isnanf.c: Likewise.
44885         * lib/isnanf.h: Likewise.
44886         * lib/isnanl-nolibm.h: Likewise.
44887         * lib/isnanl.c: Likewise.
44888         * lib/isnanl.h: Likewise.
44889         * lib/javacomp.c: Likewise.
44890         * lib/javacomp.h: Likewise.
44891         * lib/javaexec.c: Likewise.
44892         * lib/javaexec.h: Likewise.
44893         * lib/javaversion.c: Likewise.
44894         * lib/javaversion.h: Likewise.
44895         * lib/javaversion.java: Likewise.
44896         * lib/lbrkprop.h: Likewise.
44897         * lib/lchmod.h: Likewise.
44898         * lib/lchown.c: Likewise.
44899         * lib/ldexpl.c: Likewise.
44900         * lib/linebreak.c: Likewise.
44901         * lib/linebreak.h: Likewise.
44902         * lib/linebuffer.c: Likewise.
44903         * lib/linebuffer.h: Likewise.
44904         * lib/locale.in.h: Likewise.
44905         * lib/logl.c: Likewise.
44906         * lib/long-options.c: Likewise.
44907         * lib/long-options.h: Likewise.
44908         * lib/lstat.c: Likewise.
44909         * lib/lstat.h: Likewise.
44910         * lib/math.in.h: Likewise.
44911         * lib/mbchar.c: Likewise.
44912         * lib/mbchar.h: Likewise.
44913         * lib/mbfile.h: Likewise.
44914         * lib/mbiter.h: Likewise.
44915         * lib/mbscasecmp.c: Likewise.
44916         * lib/mbscasestr.c: Likewise.
44917         * lib/mbschr.c: Likewise.
44918         * lib/mbscspn.c: Likewise.
44919         * lib/mbslen.c: Likewise.
44920         * lib/mbsncasecmp.c: Likewise.
44921         * lib/mbsnlen.c: Likewise.
44922         * lib/mbspbrk.c: Likewise.
44923         * lib/mbspcasecmp.c: Likewise.
44924         * lib/mbsrchr.c: Likewise.
44925         * lib/mbssep.c: Likewise.
44926         * lib/mbsspn.c: Likewise.
44927         * lib/mbsstr.c: Likewise.
44928         * lib/mbstok_r.c: Likewise.
44929         * lib/mbswidth.c: Likewise.
44930         * lib/mbswidth.h: Likewise.
44931         * lib/mbuiter.h: Likewise.
44932         * lib/memcasecmp.c: Likewise.
44933         * lib/memcasecmp.h: Likewise.
44934         * lib/memchr.c: Likewise.
44935         * lib/memcmp.c: Likewise.
44936         * lib/memcoll.c: Likewise.
44937         * lib/memcoll.h: Likewise.
44938         * lib/memcpy.c: Likewise.
44939         * lib/memrchr.c: Likewise.
44940         * lib/mkancesdirs.c: Likewise.
44941         * lib/mkdir-p.c: Likewise.
44942         * lib/mkdir-p.h: Likewise.
44943         * lib/mkdir.c: Likewise.
44944         * lib/mkdirat.c: Likewise.
44945         * lib/mkdtemp.c: Likewise.
44946         * lib/mkstemp-safer.c: Likewise.
44947         * lib/mkstemp.c: Likewise.
44948         * lib/modechange.c: Likewise.
44949         * lib/modechange.h: Likewise.
44950         * lib/mountlist.c: Likewise.
44951         * lib/mountlist.h: Likewise.
44952         * lib/mpsort.c: Likewise.
44953         * lib/nanosleep.c: Likewise.
44954         * lib/obstack.c: Likewise.
44955         * lib/obstack.h: Likewise.
44956         * lib/open-safer.c: Likewise.
44957         * lib/open.c: Likewise.
44958         * lib/openat-die.c: Likewise.
44959         * lib/openat-priv.h: Likewise.
44960         * lib/openat-proc.c: Likewise.
44961         * lib/openat.c: Likewise.
44962         * lib/openat.h: Likewise.
44963         * lib/pagealign_alloc.c: Likewise.
44964         * lib/pagealign_alloc.h: Likewise.
44965         * lib/physmem.c: Likewise.
44966         * lib/physmem.h: Likewise.
44967         * lib/pipe-safer.c: Likewise.
44968         * lib/pipe.c: Likewise.
44969         * lib/pipe.h: Likewise.
44970         * lib/posixtm.c: Likewise.
44971         * lib/posixtm.h: Likewise.
44972         * lib/posixver.c: Likewise.
44973         * lib/printf-frexp.c: Likewise.
44974         * lib/printf-frexp.h: Likewise.
44975         * lib/printf-frexpl.c: Likewise.
44976         * lib/printf-frexpl.h: Likewise.
44977         * lib/printf.c: Likewise.
44978         * lib/progname.c: Likewise.
44979         * lib/progname.h: Likewise.
44980         * lib/progreloc.c: Likewise.
44981         * lib/putenv.c: Likewise.
44982         * lib/quote.c: Likewise.
44983         * lib/quote.h: Likewise.
44984         * lib/quotearg.c: Likewise.
44985         * lib/quotearg.h: Likewise.
44986         * lib/raise.c: Likewise.
44987         * lib/readline.c: Likewise.
44988         * lib/readline.h: Likewise.
44989         * lib/readlink.c: Likewise.
44990         * lib/readtokens.c: Likewise.
44991         * lib/readtokens.h: Likewise.
44992         * lib/readtokens0.c: Likewise.
44993         * lib/readtokens0.h: Likewise.
44994         * lib/readutmp.c: Likewise.
44995         * lib/readutmp.h: Likewise.
44996         * lib/realloc.c: Likewise.
44997         * lib/relocwrapper.c: Likewise.
44998         * lib/rename-dest-slash.c: Likewise.
44999         * lib/rename.c: Likewise.
45000         * lib/rmdir.c: Likewise.
45001         * lib/rpmatch.c: Likewise.
45002         * lib/safe-read.c: Likewise.
45003         * lib/safe-read.h: Likewise.
45004         * lib/safe-write.c: Likewise.
45005         * lib/safe-write.h: Likewise.
45006         * lib/same-inode.h: Likewise.
45007         * lib/same.c: Likewise.
45008         * lib/same.h: Likewise.
45009         * lib/save-cwd.c: Likewise.
45010         * lib/save-cwd.h: Likewise.
45011         * lib/savedir.c: Likewise.
45012         * lib/savedir.h: Likewise.
45013         * lib/savewd.c: Likewise.
45014         * lib/savewd.h: Likewise.
45015         * lib/search.in.h: Likewise.
45016         * lib/setenv.c: Likewise.
45017         * lib/setenv.h: Likewise.
45018         * lib/settime.c: Likewise.
45019         * lib/sh-quote.c: Likewise.
45020         * lib/sh-quote.h: Likewise.
45021         * lib/sig2str.c: Likewise.
45022         * lib/sig2str.h: Likewise.
45023         * lib/signal.in.h: Likewise.
45024         * lib/signbitd.c: Likewise.
45025         * lib/signbitf.c: Likewise.
45026         * lib/signbitl.c: Likewise.
45027         * lib/sigprocmask.c: Likewise.
45028         * lib/sincosl.c: Likewise.
45029         * lib/sleep.c: Likewise.
45030         * lib/sprintf.c: Likewise.
45031         * lib/sqrtl.c: Likewise.
45032         * lib/stat-time.h: Likewise.
45033         * lib/stdio--.h: Likewise.
45034         * lib/stdio-safer.h: Likewise.
45035         * lib/stdlib--.h: Likewise.
45036         * lib/stdlib-safer.h: Likewise.
45037         * lib/stdlib.in.h: Likewise.
45038         * lib/stpcpy.c: Likewise.
45039         * lib/stpncpy.c: Likewise.
45040         * lib/strchrnul.c: Likewise.
45041         * lib/strcspn.c: Likewise.
45042         * lib/strerror.c: Likewise.
45043         * lib/strftime.c: Likewise.
45044         * lib/strftime.h: Likewise.
45045         * lib/striconveh.c: Likewise.
45046         * lib/striconveh.h: Likewise.
45047         * lib/striconveha.c: Likewise.
45048         * lib/striconveha.h: Likewise.
45049         * lib/stripslash.c: Likewise.
45050         * lib/strnlen1.c: Likewise.
45051         * lib/strnlen1.h: Likewise.
45052         * lib/strtod.c: Likewise.
45053         * lib/strtoimax.c: Likewise.
45054         * lib/strtok_r.c: Likewise.
45055         * lib/strtol.c: Likewise.
45056         * lib/strtoll.c: Likewise.
45057         * lib/strtoul.c: Likewise.
45058         * lib/strtoull.c: Likewise.
45059         * lib/sysexits.in.h: Likewise.
45060         * lib/tempname.c: Likewise.
45061         * lib/tempname.h: Likewise.
45062         * lib/timespec.h: Likewise.
45063         * lib/tls.c: Likewise.
45064         * lib/tls.h: Likewise.
45065         * lib/tmpdir.c: Likewise.
45066         * lib/tmpdir.h: Likewise.
45067         * lib/tmpfile-safer.c: Likewise.
45068         * lib/tmpfile.c: Likewise.
45069         * lib/trigl.c: Likewise.
45070         * lib/trigl.h: Likewise.
45071         * lib/trim.c: Likewise.
45072         * lib/trim.h: Likewise.
45073         * lib/trunc.c: Likewise.
45074         * lib/truncf.c: Likewise.
45075         * lib/truncl.c: Likewise.
45076         * lib/tsearch.c: Likewise.
45077         * lib/unicodeio.c: Likewise.
45078         * lib/unicodeio.h: Likewise.
45079         * lib/unistd--.h: Likewise.
45080         * lib/unistd-safer.h: Likewise.
45081         * lib/unistdio/ulc-fprintf.c: Likewise.
45082         * lib/unistdio/ulc-vfprintf.c: Likewise.
45083         * lib/unlinkdir.c: Likewise.
45084         * lib/unlinkdir.h: Likewise.
45085         * lib/unlocked-io.h: Likewise.
45086         * lib/unsetenv.c: Likewise.
45087         * lib/userspec.c: Likewise.
45088         * lib/utime.c: Likewise.
45089         * lib/utimecmp.c: Likewise.
45090         * lib/utimecmp.h: Likewise.
45091         * lib/utimens.c: Likewise.
45092         * lib/verify.h: Likewise.
45093         * lib/verror.c: Likewise.
45094         * lib/verror.h: Likewise.
45095         * lib/version-etc-fsf.c: Likewise.
45096         * lib/version-etc.c: Likewise.
45097         * lib/version-etc.h: Likewise.
45098         * lib/vfprintf.c: Likewise.
45099         * lib/vprintf.c: Likewise.
45100         * lib/vsprintf.c: Likewise.
45101         * lib/w32spawn.h: Likewise.
45102         * lib/wait-process.c: Likewise.
45103         * lib/wait-process.h: Likewise.
45104         * lib/wcwidth.c: Likewise.
45105         * lib/write-any-file.c: Likewise.
45106         * lib/xalloc-die.c: Likewise.
45107         * lib/xalloc.h: Likewise.
45108         * lib/xasprintf.c: Likewise.
45109         * lib/xgetcwd.c: Likewise.
45110         * lib/xgetcwd.h: Likewise.
45111         * lib/xgetdomainname.c: Likewise.
45112         * lib/xgetdomainname.h: Likewise.
45113         * lib/xgethostname.c: Likewise.
45114         * lib/xmalloc.c: Likewise.
45115         * lib/xmalloca.c: Likewise.
45116         * lib/xmalloca.h: Likewise.
45117         * lib/xmemcoll.c: Likewise.
45118         * lib/xnanosleep.c: Likewise.
45119         * lib/xreadlink.c: Likewise.
45120         * lib/xreadlink.h: Likewise.
45121         * lib/xsetenv.c: Likewise.
45122         * lib/xsetenv.h: Likewise.
45123         * lib/xstriconv.c: Likewise.
45124         * lib/xstriconv.h: Likewise.
45125         * lib/xstrndup.c: Likewise.
45126         * lib/xstrndup.h: Likewise.
45127         * lib/xstrtod.c: Likewise.
45128         * lib/xstrtod.h: Likewise.
45129         * lib/xstrtol-error.c: Likewise.
45130         * lib/xstrtol.c: Likewise.
45131         * lib/xstrtol.h: Likewise.
45132         * lib/xtime.h: Likewise.
45133         * lib/xvasprintf.c: Likewise.
45134         * lib/xvasprintf.h: Likewise.
45135         * lib/yesno.c: Likewise.
45136         * lib/yesno.h: Likewise.
45137         * posix-modules: Likewise.
45138         * tests/test-alloca-opt.c: Likewise.
45139         * tests/test-arcfour.c: Likewise.
45140         * tests/test-arctwo.c: Likewise.
45141         * tests/test-argmatch.c: Likewise.
45142         * tests/test-argp-2.sh: Likewise.
45143         * tests/test-argp.c: Likewise.
45144         * tests/test-arpa_inet.c: Likewise.
45145         * tests/test-array_list.c: Likewise.
45146         * tests/test-array_oset.c: Likewise.
45147         * tests/test-atexit.c: Likewise.
45148         * tests/test-avltree_list.c: Likewise.
45149         * tests/test-avltree_oset.c: Likewise.
45150         * tests/test-avltreehash_list.c: Likewise.
45151         * tests/test-base64.c: Likewise.
45152         * tests/test-binary-io.c: Likewise.
45153         * tests/test-byteswap.c: Likewise.
45154         * tests/test-c-ctype.c: Likewise.
45155         * tests/test-c-strcasecmp.c: Likewise.
45156         * tests/test-c-strcasestr.c: Likewise.
45157         * tests/test-c-strncasecmp.c: Likewise.
45158         * tests/test-c-strstr.c: Likewise.
45159         * tests/test-canonicalize-lgpl.c: Likewise.
45160         * tests/test-canonicalize.c: Likewise.
45161         * tests/test-carray_list.c: Likewise.
45162         * tests/test-ceilf.c: Likewise.
45163         * tests/test-ceill.c: Likewise.
45164         * tests/test-count-one-bits.c: Likewise.
45165         * tests/test-crc.c: Likewise.
45166         * tests/test-dirname.c: Likewise.
45167         * tests/test-fbufmode.c: Likewise.
45168         * tests/test-fcntl.c: Likewise.
45169         * tests/test-fflush.c: Likewise.
45170         * tests/test-floorf.c: Likewise.
45171         * tests/test-floorl.c: Likewise.
45172         * tests/test-fopen.c: Likewise.
45173         * tests/test-fprintf-posix.c: Likewise.
45174         * tests/test-fprintf-posix.h: Likewise.
45175         * tests/test-fpurge.c: Likewise.
45176         * tests/test-freadable.c: Likewise.
45177         * tests/test-freadahead.c: Likewise.
45178         * tests/test-freading.c: Likewise.
45179         * tests/test-freopen.c: Likewise.
45180         * tests/test-frexp.c: Likewise.
45181         * tests/test-frexpl.c: Likewise.
45182         * tests/test-fseek.c: Likewise.
45183         * tests/test-fseeko.c: Likewise.
45184         * tests/test-fseterr.c: Likewise.
45185         * tests/test-fstrcmp.c: Likewise.
45186         * tests/test-ftell.c: Likewise.
45187         * tests/test-ftello.c: Likewise.
45188         * tests/test-fwritable.c: Likewise.
45189         * tests/test-fwriting.c: Likewise.
45190         * tests/test-getaddrinfo.c: Likewise.
45191         * tests/test-getpass.c: Likewise.
45192         * tests/test-gettimeofday.c: Likewise.
45193         * tests/test-hmac-md5.c: Likewise.
45194         * tests/test-hmac-sha1.c: Likewise.
45195         * tests/test-iconv.c: Likewise.
45196         * tests/test-iconvme.c: Likewise.
45197         * tests/test-inttypes.c: Likewise.
45198         * tests/test-isnan.c: Likewise.
45199         * tests/test-isnanf.c: Likewise.
45200         * tests/test-isnanl-nolibm.c: Likewise.
45201         * tests/test-isnanl.c: Likewise.
45202         * tests/test-isnanl.h: Likewise.
45203         * tests/test-ldexpl.c: Likewise.
45204         * tests/test-linked_list.c: Likewise.
45205         * tests/test-linkedhash_list.c: Likewise.
45206         * tests/test-locale.c: Likewise.
45207         * tests/test-localename.c: Likewise.
45208         * tests/test-lock.c: Likewise.
45209         * tests/test-lseek.c: Likewise.
45210         * tests/test-malloca.c: Likewise.
45211         * tests/test-math.c: Likewise.
45212         * tests/test-mbscasecmp.c: Likewise.
45213         * tests/test-mbscasestr1.c: Likewise.
45214         * tests/test-mbscasestr2.c: Likewise.
45215         * tests/test-mbscasestr3.c: Likewise.
45216         * tests/test-mbscasestr4.c: Likewise.
45217         * tests/test-mbschr.c: Likewise.
45218         * tests/test-mbscspn.c: Likewise.
45219         * tests/test-mbsncasecmp.c: Likewise.
45220         * tests/test-mbspbrk.c: Likewise.
45221         * tests/test-mbspcasecmp.c: Likewise.
45222         * tests/test-mbsrchr.c: Likewise.
45223         * tests/test-mbsspn.c: Likewise.
45224         * tests/test-mbsstr1.c: Likewise.
45225         * tests/test-mbsstr2.c: Likewise.
45226         * tests/test-mbsstr3.c: Likewise.
45227         * tests/test-md5.c: Likewise.
45228         * tests/test-memmem.c: Likewise.
45229         * tests/test-netinet_in.c: Likewise.
45230         * tests/test-open.c: Likewise.
45231         * tests/test-printf-frexp.c: Likewise.
45232         * tests/test-printf-frexpl.c: Likewise.
45233         * tests/test-printf-posix.c: Likewise.
45234         * tests/test-printf-posix.h: Likewise.
45235         * tests/test-rbtree_list.c: Likewise.
45236         * tests/test-rbtree_oset.c: Likewise.
45237         * tests/test-rbtreehash_list.c: Likewise.
45238         * tests/test-read-file.c: Likewise.
45239         * tests/test-rijndael.c: Likewise.
45240         * tests/test-search.c: Likewise.
45241         * tests/test-signbit.c: Likewise.
45242         * tests/test-sleep.c: Likewise.
45243         * tests/test-snprintf-posix.c: Likewise.
45244         * tests/test-snprintf-posix.h: Likewise.
45245         * tests/test-snprintf.c: Likewise.
45246         * tests/test-sprintf-posix.c: Likewise.
45247         * tests/test-sprintf-posix.h: Likewise.
45248         * tests/test-stat-time.c: Likewise.
45249         * tests/test-stdbool.c: Likewise.
45250         * tests/test-stdint.c: Likewise.
45251         * tests/test-stdio.c: Likewise.
45252         * tests/test-stdlib.c: Likewise.
45253         * tests/test-stpncpy.c: Likewise.
45254         * tests/test-strcasestr.c: Likewise.
45255         * tests/test-striconv.c: Likewise.
45256         * tests/test-striconveh.c: Likewise.
45257         * tests/test-striconveha.c: Likewise.
45258         * tests/test-string.c: Likewise.
45259         * tests/test-sys_select.c: Likewise.
45260         * tests/test-sys_socket.c: Likewise.
45261         * tests/test-sys_stat.c: Likewise.
45262         * tests/test-sys_time.c: Likewise.
45263         * tests/test-sysexits.c: Likewise.
45264         * tests/test-time.c: Likewise.
45265         * tests/test-tls.c: Likewise.
45266         * tests/test-trunc.c: Likewise.
45267         * tests/test-truncf.c: Likewise.
45268         * tests/test-truncl.c: Likewise.
45269         * tests/test-unistd.c: Likewise.
45270         * tests/test-vasnprintf-posix.c: Likewise.
45271         * tests/test-vasnprintf-posix2.c: Likewise.
45272         * tests/test-vasnprintf.c: Likewise.
45273         * tests/test-vasprintf-posix.c: Likewise.
45274         * tests/test-vasprintf.c: Likewise.
45275         * tests/test-verify.c: Likewise.
45276         * tests/test-vfprintf-posix.c: Likewise.
45277         * tests/test-vprintf-posix.c: Likewise.
45278         * tests/test-vsnprintf-posix.c: Likewise.
45279         * tests/test-vsnprintf.c: Likewise.
45280         * tests/test-vsprintf-posix.c: Likewise.
45281         * tests/test-wchar.c: Likewise.
45282         * tests/test-wctype.c: Likewise.
45283         * tests/test-wcwidth.c: Likewise.
45284         * tests/test-xstrtol.c: Likewise.
45285         * tests/test-xvasprintf.c: Likewise.
45286         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
45287         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
45288         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
45289         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
45290         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
45291         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
45292         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
45293         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
45294         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
45295         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
45296         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
45297         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
45298         * tests/uniname/test-uninames.c: Likewise.
45299         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
45300         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
45301         * tests/unistdio/test-u16-printf1.h: Likewise.
45302         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
45303         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
45304         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
45305         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
45306         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
45307         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
45308         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
45309         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
45310         * tests/unistdio/test-u32-printf1.h: Likewise.
45311         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
45312         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
45313         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
45314         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
45315         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
45316         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
45317         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
45318         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
45319         * tests/unistdio/test-u8-printf1.h: Likewise.
45320         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
45321         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
45322         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
45323         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
45324         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
45325         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
45326         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
45327         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
45328         * tests/unistdio/test-ulc-printf1.h: Likewise.
45329         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
45330         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
45331         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
45332         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
45333         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
45334         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
45335         * tests/uniwidth/test-u16-strwidth.c: Likewise.
45336         * tests/uniwidth/test-u16-width.c: Likewise.
45337         * tests/uniwidth/test-u32-strwidth.c: Likewise.
45338         * tests/uniwidth/test-u32-width.c: Likewise.
45339         * tests/uniwidth/test-u8-strwidth.c: Likewise.
45340         * tests/uniwidth/test-u8-width.c: Likewise.
45341         * tests/uniwidth/test-uc_width.c: Likewise.
45342         * config/srclist-update: Likewise.
45343         (fixlicense): Update to GPLv3+.
45344
45345         Change copyright notice from LGPLv2.1+ to LGPLv3+.
45346         * tests/test-tsearch.c: Change copyright notice.
45347
45348         Change copyright notice from LGPLv2.0+ to LGPLv3+.
45349         * lib/c-strcaseeq.h: Change copyright notice.
45350         * lib/streq.h: Likewise.
45351         * lib/uniconv.h: Likewise.
45352         * lib/uniconv/u-conv-from-enc.h: Likewise.
45353         * lib/uniconv/u-conv-to-enc.h: Likewise.
45354         * lib/uniconv/u-strconv-from-enc.h: Likewise.
45355         * lib/uniconv/u-strconv-to-enc.h: Likewise.
45356         * lib/uniconv/u16-conv-from-enc.c: Likewise.
45357         * lib/uniconv/u16-conv-to-enc.c: Likewise.
45358         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
45359         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
45360         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
45361         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
45362         * lib/uniconv/u32-conv-from-enc.c: Likewise.
45363         * lib/uniconv/u32-conv-to-enc.c: Likewise.
45364         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
45365         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
45366         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
45367         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
45368         * lib/uniconv/u8-conv-from-enc.c: Likewise.
45369         * lib/uniconv/u8-conv-to-enc.c: Likewise.
45370         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
45371         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
45372         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
45373         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
45374         * lib/uniname.h: Likewise.
45375         * lib/uniname/uniname.c: Likewise.
45376         * lib/unistdio.h: Likewise.
45377         * lib/unistdio/u-asnprintf.h: Likewise.
45378         * lib/unistdio/u-asprintf.h: Likewise.
45379         * lib/unistdio/u-printf-args.c: Likewise.
45380         * lib/unistdio/u-printf-args.h: Likewise.
45381         * lib/unistdio/u-printf-parse.h: Likewise.
45382         * lib/unistdio/u-snprintf.h: Likewise.
45383         * lib/unistdio/u-sprintf.h: Likewise.
45384         * lib/unistdio/u-vasprintf.h: Likewise.
45385         * lib/unistdio/u-vsnprintf.h: Likewise.
45386         * lib/unistdio/u-vsprintf.h: Likewise.
45387         * lib/unistdio/u16-asnprintf.c: Likewise.
45388         * lib/unistdio/u16-asprintf.c: Likewise.
45389         * lib/unistdio/u16-printf-parse.c: Likewise.
45390         * lib/unistdio/u16-snprintf.c: Likewise.
45391         * lib/unistdio/u16-sprintf.c: Likewise.
45392         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
45393         * lib/unistdio/u16-u16-asprintf.c: Likewise.
45394         * lib/unistdio/u16-u16-snprintf.c: Likewise.
45395         * lib/unistdio/u16-u16-sprintf.c: Likewise.
45396         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
45397         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
45398         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
45399         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
45400         * lib/unistdio/u16-vasnprintf.c: Likewise.
45401         * lib/unistdio/u16-vasprintf.c: Likewise.
45402         * lib/unistdio/u16-vsnprintf.c: Likewise.
45403         * lib/unistdio/u16-vsprintf.c: Likewise.
45404         * lib/unistdio/u32-asnprintf.c: Likewise.
45405         * lib/unistdio/u32-asprintf.c: Likewise.
45406         * lib/unistdio/u32-printf-parse.c: Likewise.
45407         * lib/unistdio/u32-snprintf.c: Likewise.
45408         * lib/unistdio/u32-sprintf.c: Likewise.
45409         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
45410         * lib/unistdio/u32-u32-asprintf.c: Likewise.
45411         * lib/unistdio/u32-u32-snprintf.c: Likewise.
45412         * lib/unistdio/u32-u32-sprintf.c: Likewise.
45413         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
45414         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
45415         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
45416         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
45417         * lib/unistdio/u32-vasnprintf.c: Likewise.
45418         * lib/unistdio/u32-vasprintf.c: Likewise.
45419         * lib/unistdio/u32-vsnprintf.c: Likewise.
45420         * lib/unistdio/u32-vsprintf.c: Likewise.
45421         * lib/unistdio/u8-asnprintf.c: Likewise.
45422         * lib/unistdio/u8-asprintf.c: Likewise.
45423         * lib/unistdio/u8-printf-parse.c: Likewise.
45424         * lib/unistdio/u8-snprintf.c: Likewise.
45425         * lib/unistdio/u8-sprintf.c: Likewise.
45426         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
45427         * lib/unistdio/u8-u8-asprintf.c: Likewise.
45428         * lib/unistdio/u8-u8-snprintf.c: Likewise.
45429         * lib/unistdio/u8-u8-sprintf.c: Likewise.
45430         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
45431         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
45432         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
45433         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
45434         * lib/unistdio/u8-vasnprintf.c: Likewise.
45435         * lib/unistdio/u8-vasprintf.c: Likewise.
45436         * lib/unistdio/u8-vsnprintf.c: Likewise.
45437         * lib/unistdio/u8-vsprintf.c: Likewise.
45438         * lib/unistdio/ulc-asnprintf.c: Likewise.
45439         * lib/unistdio/ulc-asprintf.c: Likewise.
45440         * lib/unistdio/ulc-printf-parse.c: Likewise.
45441         * lib/unistdio/ulc-snprintf.c: Likewise.
45442         * lib/unistdio/ulc-sprintf.c: Likewise.
45443         * lib/unistdio/ulc-vasnprintf.c: Likewise.
45444         * lib/unistdio/ulc-vasprintf.c: Likewise.
45445         * lib/unistdio/ulc-vsnprintf.c: Likewise.
45446         * lib/unistdio/ulc-vsprintf.c: Likewise.
45447         * lib/unistr.h: Likewise.
45448         * lib/unistr/u-cpy-alloc.h: Likewise.
45449         * lib/unistr/u-cpy.h: Likewise.
45450         * lib/unistr/u-endswith.h: Likewise.
45451         * lib/unistr/u-move.h: Likewise.
45452         * lib/unistr/u-set.h: Likewise.
45453         * lib/unistr/u-startswith.h: Likewise.
45454         * lib/unistr/u-stpcpy.h: Likewise.
45455         * lib/unistr/u-stpncpy.h: Likewise.
45456         * lib/unistr/u-strcat.h: Likewise.
45457         * lib/unistr/u-strcpy.h: Likewise.
45458         * lib/unistr/u-strcspn.h: Likewise.
45459         * lib/unistr/u-strdup.h: Likewise.
45460         * lib/unistr/u-strlen.h: Likewise.
45461         * lib/unistr/u-strncat.h: Likewise.
45462         * lib/unistr/u-strncpy.h: Likewise.
45463         * lib/unistr/u-strnlen.h: Likewise.
45464         * lib/unistr/u-strpbrk.h: Likewise.
45465         * lib/unistr/u-strspn.h: Likewise.
45466         * lib/unistr/u-strstr.h: Likewise.
45467         * lib/unistr/u-strtok.h: Likewise.
45468         * lib/unistr/u16-check.c: Likewise.
45469         * lib/unistr/u16-chr.c: Likewise.
45470         * lib/unistr/u16-cmp.c: Likewise.
45471         * lib/unistr/u16-cpy-alloc.c: Likewise.
45472         * lib/unistr/u16-cpy.c: Likewise.
45473         * lib/unistr/u16-endswith.c: Likewise.
45474         * lib/unistr/u16-mblen.c: Likewise.
45475         * lib/unistr/u16-mbsnlen.c: Likewise.
45476         * lib/unistr/u16-mbtouc-aux.c: Likewise.
45477         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
45478         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
45479         * lib/unistr/u16-mbtouc.c: Likewise.
45480         * lib/unistr/u16-mbtoucr.c: Likewise.
45481         * lib/unistr/u16-move.c: Likewise.
45482         * lib/unistr/u16-next.c: Likewise.
45483         * lib/unistr/u16-prev.c: Likewise.
45484         * lib/unistr/u16-set.c: Likewise.
45485         * lib/unistr/u16-startswith.c: Likewise.
45486         * lib/unistr/u16-stpcpy.c: Likewise.
45487         * lib/unistr/u16-stpncpy.c: Likewise.
45488         * lib/unistr/u16-strcat.c: Likewise.
45489         * lib/unistr/u16-strchr.c: Likewise.
45490         * lib/unistr/u16-strcmp.c: Likewise.
45491         * lib/unistr/u16-strcpy.c: Likewise.
45492         * lib/unistr/u16-strcspn.c: Likewise.
45493         * lib/unistr/u16-strdup.c: Likewise.
45494         * lib/unistr/u16-strlen.c: Likewise.
45495         * lib/unistr/u16-strmblen.c: Likewise.
45496         * lib/unistr/u16-strmbtouc.c: Likewise.
45497         * lib/unistr/u16-strncat.c: Likewise.
45498         * lib/unistr/u16-strncmp.c: Likewise.
45499         * lib/unistr/u16-strncpy.c: Likewise.
45500         * lib/unistr/u16-strnlen.c: Likewise.
45501         * lib/unistr/u16-strpbrk.c: Likewise.
45502         * lib/unistr/u16-strrchr.c: Likewise.
45503         * lib/unistr/u16-strspn.c: Likewise.
45504         * lib/unistr/u16-strstr.c: Likewise.
45505         * lib/unistr/u16-strtok.c: Likewise.
45506         * lib/unistr/u16-to-u32.c: Likewise.
45507         * lib/unistr/u16-to-u8.c: Likewise.
45508         * lib/unistr/u16-uctomb-aux.c: Likewise.
45509         * lib/unistr/u16-uctomb.c: Likewise.
45510         * lib/unistr/u32-check.c: Likewise.
45511         * lib/unistr/u32-chr.c: Likewise.
45512         * lib/unistr/u32-cmp.c: Likewise.
45513         * lib/unistr/u32-cpy-alloc.c: Likewise.
45514         * lib/unistr/u32-cpy.c: Likewise.
45515         * lib/unistr/u32-endswith.c: Likewise.
45516         * lib/unistr/u32-mblen.c: Likewise.
45517         * lib/unistr/u32-mbsnlen.c: Likewise.
45518         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
45519         * lib/unistr/u32-mbtouc.c: Likewise.
45520         * lib/unistr/u32-mbtoucr.c: Likewise.
45521         * lib/unistr/u32-move.c: Likewise.
45522         * lib/unistr/u32-next.c: Likewise.
45523         * lib/unistr/u32-prev.c: Likewise.
45524         * lib/unistr/u32-set.c: Likewise.
45525         * lib/unistr/u32-startswith.c: Likewise.
45526         * lib/unistr/u32-stpcpy.c: Likewise.
45527         * lib/unistr/u32-stpncpy.c: Likewise.
45528         * lib/unistr/u32-strcat.c: Likewise.
45529         * lib/unistr/u32-strchr.c: Likewise.
45530         * lib/unistr/u32-strcmp.c: Likewise.
45531         * lib/unistr/u32-strcpy.c: Likewise.
45532         * lib/unistr/u32-strcspn.c: Likewise.
45533         * lib/unistr/u32-strdup.c: Likewise.
45534         * lib/unistr/u32-strlen.c: Likewise.
45535         * lib/unistr/u32-strmblen.c: Likewise.
45536         * lib/unistr/u32-strmbtouc.c: Likewise.
45537         * lib/unistr/u32-strncat.c: Likewise.
45538         * lib/unistr/u32-strncmp.c: Likewise.
45539         * lib/unistr/u32-strncpy.c: Likewise.
45540         * lib/unistr/u32-strnlen.c: Likewise.
45541         * lib/unistr/u32-strpbrk.c: Likewise.
45542         * lib/unistr/u32-strrchr.c: Likewise.
45543         * lib/unistr/u32-strspn.c: Likewise.
45544         * lib/unistr/u32-strstr.c: Likewise.
45545         * lib/unistr/u32-strtok.c: Likewise.
45546         * lib/unistr/u32-to-u16.c: Likewise.
45547         * lib/unistr/u32-to-u8.c: Likewise.
45548         * lib/unistr/u32-uctomb.c: Likewise.
45549         * lib/unistr/u8-check.c: Likewise.
45550         * lib/unistr/u8-chr.c: Likewise.
45551         * lib/unistr/u8-cmp.c: Likewise.
45552         * lib/unistr/u8-cpy-alloc.c: Likewise.
45553         * lib/unistr/u8-cpy.c: Likewise.
45554         * lib/unistr/u8-endswith.c: Likewise.
45555         * lib/unistr/u8-mblen.c: Likewise.
45556         * lib/unistr/u8-mbsnlen.c: Likewise.
45557         * lib/unistr/u8-mbtouc-aux.c: Likewise.
45558         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
45559         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
45560         * lib/unistr/u8-mbtouc.c: Likewise.
45561         * lib/unistr/u8-mbtoucr.c: Likewise.
45562         * lib/unistr/u8-move.c: Likewise.
45563         * lib/unistr/u8-next.c: Likewise.
45564         * lib/unistr/u8-prev.c: Likewise.
45565         * lib/unistr/u8-set.c: Likewise.
45566         * lib/unistr/u8-startswith.c: Likewise.
45567         * lib/unistr/u8-stpcpy.c: Likewise.
45568         * lib/unistr/u8-stpncpy.c: Likewise.
45569         * lib/unistr/u8-strcat.c: Likewise.
45570         * lib/unistr/u8-strchr.c: Likewise.
45571         * lib/unistr/u8-strcmp.c: Likewise.
45572         * lib/unistr/u8-strcpy.c: Likewise.
45573         * lib/unistr/u8-strcspn.c: Likewise.
45574         * lib/unistr/u8-strdup.c: Likewise.
45575         * lib/unistr/u8-strlen.c: Likewise.
45576         * lib/unistr/u8-strmblen.c: Likewise.
45577         * lib/unistr/u8-strmbtouc.c: Likewise.
45578         * lib/unistr/u8-strncat.c: Likewise.
45579         * lib/unistr/u8-strncmp.c: Likewise.
45580         * lib/unistr/u8-strncpy.c: Likewise.
45581         * lib/unistr/u8-strnlen.c: Likewise.
45582         * lib/unistr/u8-strpbrk.c: Likewise.
45583         * lib/unistr/u8-strrchr.c: Likewise.
45584         * lib/unistr/u8-strspn.c: Likewise.
45585         * lib/unistr/u8-strstr.c: Likewise.
45586         * lib/unistr/u8-strtok.c: Likewise.
45587         * lib/unistr/u8-to-u16.c: Likewise.
45588         * lib/unistr/u8-to-u32.c: Likewise.
45589         * lib/unistr/u8-uctomb-aux.c: Likewise.
45590         * lib/unistr/u8-uctomb.c: Likewise.
45591         * lib/unitypes.h: Likewise.
45592         * lib/uniwidth.h: Likewise.
45593         * lib/uniwidth/cjk.h: Likewise.
45594         * lib/uniwidth/u16-strwidth.c: Likewise.
45595         * lib/uniwidth/u16-width.c: Likewise.
45596         * lib/uniwidth/u32-strwidth.c: Likewise.
45597         * lib/uniwidth/u32-width.c: Likewise.
45598         * lib/uniwidth/u8-strwidth.c: Likewise.
45599         * lib/uniwidth/u8-width.c: Likewise.
45600         * lib/uniwidth/width.c: Likewise.
45601
45602 2007-10-07  Bruno Haible  <bruno@clisp.org>
45603
45604         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
45605         The file is still under LGPL (see modules/inttypes).
45606
45607 2007-10-06  Bruno Haible  <bruno@clisp.org>
45608
45609         * modules/trunc (Dependencies): Add 'extensions'.
45610         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
45611         Reported by Ben Pfaff <blp@gnu.org>.
45612
45613 2007-10-06  Bruno Haible  <bruno@clisp.org>
45614
45615         * modules/freopen-tests: New file.
45616         * tests/test-freopen.c: New file.
45617
45618         * modules/fopen-tests: New file.
45619         * tests/test-fopen.c: New file.
45620
45621         * modules/fopen: New file.
45622         * lib/fopen.c: New file.
45623         * m4/fopen.m4: New file.
45624         * modules/freopen: New file.
45625         * lib/freopen.c: New file.
45626         * m4/freopen.m4: New file.
45627         * lib/stdio.in.h (fopen, freopen): New declarations.
45628         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
45629         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
45630         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
45631         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
45632         * doc/functions/fopen.texi: Mention the 'fopen' module.
45633         * doc/functions/freopen.texi: Mention the 'freopen' module.
45634
45635 2007-10-06  Bruno Haible  <bruno@clisp.org>
45636
45637         * modules/open-tests: New file.
45638         * tests/test-open.c: New file.
45639
45640         * modules/open: New file.
45641         * lib/open.c: New file.
45642         * m4/open.m4: New file.
45643         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
45644         lib/open.c does.
45645         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
45646         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
45647         macros.
45648         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
45649         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
45650         REPLACE_OPEN.
45651         * doc/functions/open.texi: Mention the 'open' module.
45652
45653 2007-10-04  Bruno Haible  <bruno@clisp.org>
45654
45655         * modules/ceill-tests: New file.
45656         * tests/test-ceill.c: New file.
45657
45658         * modules/ceill: New file.
45659         * lib/ceill.c: Replace entire file.
45660         * m4/ceill.m4: New file.
45661         * lib/math.in.h (ceill): Replace declaration.
45662         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
45663         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
45664         * doc/functions/ceill.texi: Mention the 'ceill' module.
45665         * modules/mathl (Files): Remove lib/ceill.c.
45666         (Depends-on): Add ceill.
45667
45668 2007-10-04  Bruno Haible  <bruno@clisp.org>
45669
45670         * modules/ceilf-tests: New file.
45671         * tests/test-ceilf.c: New file.
45672
45673         * modules/ceilf: New file.
45674         * lib/ceil.c: New file.
45675         * lib/ceilf.c: New file.
45676         * m4/ceilf.m4: New file.
45677         * lib/math.in.h (ceilf): New declaration.
45678         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
45679         HAVE_DECL_CEILF.
45680         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
45681         HAVE_DECL_CEILF.
45682         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
45683
45684 2007-10-04  Bruno Haible  <bruno@clisp.org>
45685
45686         * modules/floorl-tests: New file.
45687         * tests/test-floorl.c: New file.
45688
45689         * modules/floorl: New file.
45690         * lib/floorl.c: Replace entire file.
45691         * m4/floorl.m4: New file.
45692         * lib/math.in.h (floorl): Replace declaration.
45693         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
45694         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
45695         * doc/functions/floorl.texi: Mention the 'floorl' module.
45696         * modules/mathl (Files): Remove lib/floorl.c.
45697         (Depends-on): Add floorl.
45698
45699 2007-10-04  Bruno Haible  <bruno@clisp.org>
45700
45701         * modules/floorf-tests: New file.
45702         * tests/test-floorf.c: New file.
45703
45704         * modules/floorf: New file.
45705         * lib/floor.c: New file.
45706         * lib/floorf.c: New file.
45707         * m4/floorf.m4: New file.
45708         * lib/math.in.h (floorf): New declaration.
45709         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
45710         HAVE_DECL_FLOORF.
45711         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
45712         HAVE_DECL_FLOORF.
45713         * doc/functions/floorf.texi: Mention the 'floorf' module.
45714
45715 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
45716             Bruno Haible  <bruno@clisp.org>
45717
45718         Advertise for the Git server instead of the CVS server.
45719         * doc/gnulib-intro.texi (Steady Development): Mention the Git
45720         repository instead of the CVS one.
45721         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
45722         about all VCS systems generically.
45723         * doc/gnulib.texi (Introduction): Capitalize `Git'.
45724
45725 2007-10-04  Bruno Haible  <bruno@clisp.org>
45726
45727         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
45728         means.
45729         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
45730
45731 2007-10-04  Bruno Haible  <bruno@clisp.org>
45732
45733         * modules/truncl-tests: New file.
45734         * tests/test-truncl.c: New file.
45735
45736         * modules/truncl: New file.
45737         * lib/truncl.c: New file.
45738         * m4/truncl.m4: New file.
45739         * lib/math.in.h (truncl): New declaration.
45740         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
45741         HAVE_DECL_TRUNCL.
45742         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
45743         HAVE_DECL_TRUNCL.
45744         * doc/functions/truncl.texi: Mention the 'truncl' module.
45745
45746 2007-10-04  Bruno Haible  <bruno@clisp.org>
45747
45748         * modules/truncf-tests: New file.
45749         * tests/test-truncf.c: New file.
45750
45751         * modules/truncf: New file.
45752         * lib/trunc.c: Make paramerizable through USE_* macros.
45753         * lib/truncf.c: New file.
45754         * m4/truncf.m4: New file.
45755         * lib/math.in.h (truncf): New declaration.
45756         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
45757         HAVE_DECL_TRUNCF.
45758         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
45759         HAVE_DECL_TRUNCF.
45760         * doc/functions/truncf.texi: Mention the 'truncf' module.
45761
45762 2007-10-03  Bruno Haible  <bruno@clisp.org>
45763
45764         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
45765         augmentation also for tests modules.
45766         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
45767         * modules/atexit-tests (Makefile.am): Likewise.
45768         * modules/binary-io-tests (Makefile.am): Likewise.
45769         * modules/c-strcase-tests (Makefile.am): Likewise.
45770         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
45771         * modules/canonicalize-tests (Makefile.am): Likewise.
45772         * modules/closein-tests (Makefile.am): Likewise.
45773         * modules/fprintf-posix-tests (Makefile.am): Likewise.
45774         * modules/freadahead-tests (Makefile.am): Likewise.
45775         * modules/fseek-tests (Makefile.am): Likewise.
45776         * modules/fseeko-tests (Makefile.am): Likewise.
45777         * modules/ftell-tests (Makefile.am): Likewise.
45778         * modules/ftello-tests (Makefile.am): Likewise.
45779         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
45780         * modules/isnanl-tests (Makefile.am): Likewise.
45781         * modules/lseek-tests (Makefile.am): Likewise.
45782         * modules/mbscasecmp-tests (Makefile.am): Likewise.
45783         * modules/mbscasestr-tests (Makefile.am): Likewise.
45784         * modules/mbschr-tests (Makefile.am): Likewise.
45785         * modules/mbscspn-tests (Makefile.am): Likewise.
45786         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
45787         * modules/mbspbrk-tests (Makefile.am): Likewise.
45788         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
45789         * modules/mbsrchr-tests (Makefile.am): Likewise.
45790         * modules/mbsspn-tests (Makefile.am): Likewise.
45791         * modules/mbsstr-tests (Makefile.am): Likewise.
45792         * modules/printf-posix-tests (Makefile.am): Likewise.
45793         * modules/snprintf-posix-tests (Makefile.am): Likewise.
45794         * modules/sprintf-posix-tests (Makefile.am): Likewise.
45795         * modules/tsearch-tests (Makefile.am): Likewise.
45796         * modules/uniname/uniname-tests (Makefile.am): Likewise.
45797         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
45798         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
45799         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
45800         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
45801         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
45802         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
45803         * modules/vprintf-posix-tests (Makefile.am): Likewise.
45804         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
45805         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
45806         * modules/xstrtoimax-tests (Makefile.am): Likewise.
45807         * modules/xstrtol-tests (Makefile.am): Likewise.
45808         * modules/xstrtoumax-tests (Makefile.am): Likewise.
45809         * modules/yesno-tests (Makefile.am): Likewise.
45810
45811 2007-10-03  Bruno Haible  <bruno@clisp.org>
45812
45813         * modules/trunc-tests: New file.
45814         * tests/test-trunc.c: New file.
45815
45816         * modules/trunc: New file.
45817         * lib/trunc.c: New file.
45818         * m4/trunc.m4: New file.
45819         * lib/math.in.h (trunc): New declaration.
45820         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
45821         HAVE_DECL_TRUNC.
45822         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
45823         HAVE_DECL_TRUNC.
45824         * doc/functions/trunc.texi: Mention the 'trunc' module.
45825
45826 2007-10-03  Bruno Haible  <bruno@clisp.org>
45827
45828         * tests/test-fpending.c: New file, mostly copied
45829         from coreutils/lib/t-fpending.c.
45830         * modules/fpending-tests: New file.
45831
45832 2007-10-03  Bruno Haible  <bruno@clisp.org>
45833
45834         Port the stdio extensions to QNX (untested).
45835         * lib/fseterr.c (fseterr): Add support for QNX.
45836         * lib/fbufmode.c (fbufmode): Likewise.
45837         * lib/freadable.c (freadable): Likewise.
45838         * lib/fwritable.c (fwritable): Likewise.
45839         * lib/freading.c (freading): Likewise.
45840         * lib/fwriting.c (fwriting): Likewise.
45841         * lib/freadahead.c (freadahed): Likewise.
45842         * lib/fpurge.c (fpurge): Likewise.
45843         * lib/fseeko.c (rpl_fseeko): Likewise.
45844
45845 2007-10-03  Bruno Haible  <bruno@clisp.org>
45846             Jim Meyering  <jim@meyering.net>
45847             Eric Blake  <ebb9@byu.net>
45848
45849         * doc/relocatable.texi: Use @command instead of @program.
45850
45851 2007-10-02  Jim Meyering  <jim@meyering.net>
45852
45853         Perform one more "_.h" -> ".in.h" substitution.
45854         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
45855         instead of unistd_.h here, too.
45856
45857 2007-10-01  Bruno Haible  <bruno@clisp.org>
45858
45859         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
45860         Needed for the alloca-opt module.
45861
45862 2007-09-30  Bruno Haible  <bruno@clisp.org>
45863
45864         * lib/alloca.in.h: Renamed from lib/alloca_.h.
45865         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
45866         alloca_.h.
45867         * lib/argz.in.h: Renamed from lib/argz_.h.
45868         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
45869         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
45870         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
45871         byteswap_.h.
45872         * lib/dirent.in.h: Renamed from lib/dirent_.h.
45873         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
45874         dirent_.h.
45875         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
45876         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
45877         fcntl_.h.
45878         * lib/float.in.h: Renamed from lib/float_.h.
45879         * modules/float (Files, Makefile.am): Use float.in.h instead of
45880         float_.h.
45881         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
45882         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
45883         fnmatch_.h.
45884         * lib/getopt.in.h: Renamed from lib/getopt_.h.
45885         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
45886         getopt_.h.
45887         * lib/glob.in.h: Renamed from lib/glob_.h.
45888         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
45889         * lib/iconv.in.h: Renamed from lib/iconv_.h.
45890         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
45891         iconv_.h.
45892         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
45893         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
45894         inttypes_.h.
45895         * lib/locale.in.h: Renamed from lib/locale_.h.
45896         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
45897         locale_.h.
45898         * lib/math.in.h: Renamed from lib/math_.h.
45899         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
45900         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
45901         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
45902         of netinet_in_.h. Add dependency.
45903         * lib/poll.in.h: Renamed from lib/poll_.h.
45904         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
45905         * lib/search.in.h: Renamed from lib/search_.h.
45906         * modules/search (Files, Makefile.am): Use search.in.h instead of
45907         search_.h.
45908         * lib/signal.in.h: Renamed from lib/signal_.h.
45909         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
45910         _signal.h.
45911         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
45912         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
45913         stdbool_.h.
45914         * lib/stdint.in.h: Renamed from lib/stdint_.h.
45915         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
45916         stdint_.h.
45917         * lib/stdio.in.h: Renamed from lib/stdio_.h.
45918         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
45919         stdio_.h.
45920         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
45921         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
45922         stdlib_.h.
45923         * lib/string.in.h: Renamed from lib/string_.h.
45924         * modules/string (Files, Makefile.am): Use string.in.h instead of
45925         string_.h.
45926         * doc/gnulib-tool.texi (Initial import): Update.
45927         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
45928         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
45929         of sys_select_.h. Add dependency.
45930         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
45931         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
45932         of sys_socket_.h.
45933         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
45934         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
45935         sys_stat_.h.
45936         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
45937         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
45938         sys_time_.h.
45939         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
45940         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
45941         sysexits_.h.
45942         * lib/time.in.h: Renamed from lib/time_.h.
45943         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
45944         * lib/unistd.in.h: Renamed from lib/unistd_.h.
45945         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
45946         unistd_.h.
45947         * lib/wchar.in.h: Renamed from lib/wchar_.h.
45948         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
45949         wchar_.h.
45950         * lib/wctype.in.h: Renamed from lib/wctype_.h.
45951         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
45952         wctype_.h.
45953         * build-aux/bootstrap (slurp): Update.
45954         * lib/.cppi-disable: Update.
45955
45956 2007-09-30  Bruno Haible  <bruno@clisp.org>
45957
45958         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
45959         Needed on BeOS.
45960
45961 2007-09-30  Bruno Haible  <bruno@clisp.org>
45962
45963         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
45964
45965 2007-09-29  Bruno Haible  <bruno@clisp.org>
45966
45967         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
45968
45969 2007-09-29  Bruno Haible  <bruno@clisp.org>
45970
45971         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
45972         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
45973         * build-aux/install-reloc: Compile also areadlink.c.
45974         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
45975
45976 2007-09-29  Bruno Haible  <bruno@clisp.org>
45977
45978         * gnulib-tool (func_emit_initmacro_done): Indentation.
45979
45980 2007-09-29  Bruno Haible  <bruno@clisp.org>
45981
45982         * README: Add CVS checkout update instructions.
45983         Info from Bob Proulx <bob@proulx.com>.
45984
45985 2007-09-28  Eric Blake  <ebb9@byu.net>
45986
45987         Provide move-if-change.
45988         * build-aux/move-if-change: New file, based on best practice
45989         rather than any canonical upstream location.
45990
45991 2007-09-28  Jim Meyering  <jim@meyering.net>
45992
45993         Fix canonicalize loop-detection corner case.
45994         Do not attempt to stat the symlink values stored via seen_triple.
45995         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
45996         on linux-2.6.18, (but not 2.6.22).
45997         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
45998         triple_compare.  The former compares dev,ino,filename, while the latter
45999         would actually stat dirname(filename) when dev and ino were equal.
46000         * lib/hash-triple.c: Install <string.h>.
46001         (STREQ): Define.
46002         (triple_compare_ino_str): New function.
46003         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
46004
46005 2007-09-28  Eric Blake  <ebb9@byu.net>
46006
46007         Enforce that AC_REPLACE_FUNCS files exist.
46008         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
46009         override check for typos.
46010
46011         Fix test-closein on Solaris 10.
46012         * tests/test-closein.c (main): Don't assume stdin can be inherited
46013         closed on all systems.
46014         * tests/test-closein.sh: Likewise.
46015         Reported by Piotr Tarnowski.
46016
46017 2007-09-28  Jim Meyering  <jim@meyering.net>
46018
46019         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
46020
46021 2007-09-27  Jim Meyering  <jim@meyering.net>
46022
46023         canonicalize: Avoid a false-positive cycle failure.
46024         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
46025         Sort.  Remove cycle-check.
46026         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
46027         not cycle-check.h.
46028         (seen_triple): New function.
46029         (canonicalize_filename_mode): Use it instead of cycle-check.
46030         * tests/test-canonicalize.c: Add a test for this bug.
46031         * tests/test-canonicalize.sh: Set up and run the test.
46032
46033         New module, file-set, from coreutils.
46034         * modules/file-set: Define it.
46035         * lib/file-set.c, lib/file-set.h: Implement.
46036
46037         New module, hash-triple, from coreutils.
46038         * modules/hash-triple: Define it.
46039         * lib/hash-triple.c, lib/hash-triple.h: Implement.
46040
46041 2007-09-25  Eric Blake  <ebb9@byu.net>
46042
46043         Fix strerror on Interix.
46044         * lib/string_.h (strerror): Declare replacement.
46045         * doc/functions/strerror.texi (strerror): Document the Interix
46046         shortcoming.
46047         * modules/string (Makefile.am): Support new hooks.
46048         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
46049         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
46050         gl_FUNC_STRERROR_SEPARATE.
46051         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
46052         * lib/strerror.c (rpl_strerror): Provide replacement.
46053         * modules/strerror (Depends-on): Add string.
46054         (configure.ac): Detect use of module.
46055         * tests/test-strerror.c: New file.
46056         * modules/strerror-tests: New test module.
46057         * modules/argp (Depends-on): Add strerror.
46058         * modules/error (Depends-on): Likewise.
46059         Reported by Martin Koeppe.
46060
46061 2007-09-24  Bruno Haible  <bruno@clisp.org>
46062
46063         * README: Update git instructions.
46064
46065 2007-09-24  Eric Blake  <ebb9@byu.net>
46066
46067         Revert fpending breakage from 2007-09-08.
46068         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
46069         __fpending.c.
46070
46071 2007-09-24  Jim Meyering  <jim@meyering.net>
46072
46073         filenamecat.c: Add a test.
46074         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
46075         showing how the function works when DIR is the empty string.
46076
46077 2007-09-21  Simon Josefsson  <simon@josefsson.org>
46078
46079         * tests/test-canonicalize.sh: Turn on executable bit.
46080
46081 2007-09-19  Eric Blake  <ebb9@byu.net>
46082
46083         * README: Update CVS instructions.
46084
46085 2007-09-18  Bruno Haible  <bruno@clisp.org>
46086
46087         * modules/areadlink: New file.
46088         * lib/areadlink.h (areadlink): New declaration.
46089         * lib/areadlink.c: New file, based on lib/xreadlink.c.
46090
46091 2007-09-17  Jim Meyering  <jim@meyering.net>
46092
46093         * lib/savewd.c (ESTALE) [!defined]: Define.
46094         Reported to be required on Interix by Martin Koeppe.
46095
46096 2007-09-17  Bruno Haible  <bruno@clisp.org>
46097
46098         * gnulib-tool (func_version): Use $version.
46099
46100 2007-09-16  Bruno Haible  <bruno@clisp.org>
46101
46102         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
46103         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
46104         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
46105         Reported by Greg Schafer <gschafer@zip.com.au>.
46106
46107 2007-09-15  Bruno Haible  <bruno@clisp.org>
46108
46109         * gnulib-tool (sed): Try a little harder to make bash understand the
46110         alias.
46111         Reported by Bruce Korb <bruce.korb@gmail.com>.
46112
46113 2007-09-13  Eric Blake  <ebb9@byu.net>
46114
46115         * ChangeLog: Remove conflict markers.
46116
46117 2007-09-13  Simon Josefsson  <simon@josefsson.org>
46118
46119         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
46120         Reported by Bruno Haible <bruno@clisp.org>.
46121
46122 2007-09-12  Bruno Haible  <bruno@clisp.org>
46123
46124         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
46125         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
46126         is not defined.
46127
46128 2007-09-12  Eric Blake  <ebb9@byu.net>
46129
46130         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
46131         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
46132         Autoconf definition.
46133         * modules/euidaccess (Depends-on): Add extensions, for
46134         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
46135         * modules/fnmatch (Depends-on): Likewise.
46136         * modules/getaddrinfo (Depends-on): Likewise.
46137         * modules/getdelim (Depends-on): Likewise.
46138         * modules/getline (Depends-on): Likewise.
46139         * modules/getsubopt (Depends-on): Likewise.
46140         * modules/gettext (Depends-on): Likewise.
46141         * modules/group-member (Depends-on): Likewise.
46142         * modules/mbchar (Depends-on): Likewise.
46143         * modules/memmem (Depends-on): Likewise.
46144         * modules/mempcpy (Depends-on): Likewise.
46145         * modules/memrchr (Depends-on): Likewise.
46146         * modules/pagealign_alloc (Depends-on): Likewise.
46147         * modules/readutmp (Depends-on): Likewise.
46148         * modules/stpcpy (Depends-on): Likewise.
46149         * modules/stpncpy (Depends-on): Likewise.
46150         * modules/strchrnul (Depends-on): Likewise.
46151         * modules/strndup (Depends-on): Likewise.
46152         * modules/strsep (Depends-on): Likewise.
46153         * modules/strverscmp (Depends-on): Likewise.
46154         * modules/vasprintf (Depends-on): Likewise.
46155         * modules/wcwidth (Depends-on): Likewise.
46156         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
46157         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
46158         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
46159         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
46160         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
46161         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46162         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
46163         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
46164         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
46165         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
46166         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
46167         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
46168         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
46169         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
46170         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
46171         * m4/readutmp.m4 (gl_READUTMP): Likewise.
46172         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46173         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
46174         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
46175         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
46176         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
46177         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
46178         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
46179         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
46180         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
46181         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46182         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
46183         so that lock.m4 can be used in gettext without extensions module.
46184
46185 2007-09-11  Bruno Haible  <bruno@clisp.org>
46186
46187         * m4/isc-posix.m4: Remove file.
46188         Suggested by Eric Blake.
46189
46190 2007-09-11  Eric Blake  <ebb9@byu.net>
46191
46192         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
46193
46194 2007-09-10  Bruno Haible  <bruno@clisp.org>
46195
46196         * posix-modules: Fix typo in error message.
46197         Reported by Matt <mkraai@beckman.com>.
46198
46199 2007-09-09  Bruno Haible  <bruno@clisp.org>
46200
46201         * doc/functions/getdelim.texi: Update list of platforms lacking the
46202         function.
46203         * doc/functions/getline.texi: Likewise.
46204
46205 2007-09-09  Jim Meyering  <jim@meyering.net>
46206
46207         * lib/hash.c (hash_initialize): Detect calloc failure.
46208         Reported by Bruno Haible.
46209
46210 2007-09-09  Bruno Haible  <bruno@clisp.org>
46211
46212         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
46213         malloc or realloc fails.
46214
46215 2007-09-09  Bruno Haible  <bruno@clisp.org>
46216
46217         * modules/getcwd (Depends-on): Add malloc-posix.
46218         * modules/glob (Depends-on): Likewise.
46219         * modules/putenv (Depends-on): Likewise.
46220         * modules/strdup (Depends-on): Likewise.
46221         * modules/getdelim (Depends-on): Add realloc-posix.
46222         * modules/read-file (Depends-on): Likewise.
46223
46224 2007-09-09  Bruno Haible  <bruno@clisp.org>
46225
46226         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
46227         (gl_FUNC_MALLOC_POSIX): Require it.
46228         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
46229         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
46230         * modules/realloc (Files): Add m4/malloc.m4.
46231         * modules/calloc (Files): Likewise.
46232
46233 2007-09-09  Bruno Haible  <bruno@clisp.org>
46234
46235         * modules/malloc-posix: New file.
46236         * modules/malloc (Depends-on): Add malloc-posix.
46237         * lib/malloc.c: Include errno.h.
46238         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
46239         and a POSIX-compatible malloc into a single function. Set ENOMEM
46240         when returning NULL.
46241         * m4/malloc.m4: New file.
46242         * doc/functions/malloc.texi: Mention the malloc-posix module.
46243         * lib/stdlib_.h (malloc): New declaration.
46244         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46245         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
46246         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
46247         and HAVE_MALLOC_POSIX.
46248
46249 2007-09-09  Bruno Haible  <bruno@clisp.org>
46250
46251         * modules/realloc-posix: New file.
46252         * modules/realloc (Depends-on): Add realloc-posix.
46253         * lib/realloc.c: Include errno.h.
46254         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
46255         and a POSIX-compatible realloc into a single function. Set ENOMEM
46256         when returning NULL.
46257         * m4/realloc.m4: New file.
46258         * doc/functions/realloc.texi: Mention the realloc-posix module.
46259         * lib/stdlib_.h (realloc): New declaration.
46260         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46261         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
46262         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
46263         and HAVE_REALLOC_POSIX.
46264
46265 2007-09-09  Bruno Haible  <bruno@clisp.org>
46266
46267         * modules/calloc-posix: New file.
46268         * modules/calloc (Depends-on): Add calloc-posix.
46269         * lib/calloc.c: Include errno.h.
46270         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
46271         and a POSIX-compatible calloc into a single function. Set ENOMEM
46272         when returning NULL.
46273         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
46274         * doc/functions/calloc.texi: Mention the calloc-posix module.
46275         * lib/stdlib_.h (calloc): New declaration.
46276         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
46277         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
46278         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
46279         and HAVE_CALLOC_POSIX.
46280
46281 2007-09-09  Bruno Haible  <bruno@clisp.org>
46282
46283         Allow for modules to show an arbitrary notice.
46284         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
46285         * gnulib-tool: New option --extract-notice.
46286         (func_usage): Document it.
46287         (sed_extract_prog): Update.
46288         (func_get_notice): New function.
46289         (func_modules_notice): New function.
46290         (func_import, func_create_testdir): Invoke it.
46291         Suggested by Jim Meyering.
46292
46293 2007-09-09  Bruno Haible  <bruno@clisp.org>
46294
46295         * gnulib-tool: New options --verbose, --quiet.
46296         (func_usage): Document them.
46297         (verbose): New variable.
46298         (func_execute_command): New function.
46299         (func_import): Don't show the module list and the file list if
46300         $verbose < 0.
46301         (func_create_testdir): Likewise. Use func_execute_command.
46302         (func_create_megatestdir): Use func_execute_command.
46303
46304 2007-09-08  Bruno Haible  <bruno@clisp.org>
46305
46306         * gnulib-tool (func_import): Prefer rsync over wget when available,
46307         for fetching the PO files.
46308
46309 2007-09-08  Bruno Haible  <bruno@clisp.org>
46310
46311         * posix-modules: New file. Portions copied from gnulib-tool.
46312         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
46313
46314 2007-09-08  Jim Meyering  <jim@meyering.net>
46315
46316         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
46317         * lib/fpending.h: Rename from __fpending.h.
46318         * lib/fpending.c: Rename from __fpending.c.
46319         Include "fpending.h", not "__fpending.h".
46320         * lib/__fpending.h, lib/__fpending.c: Remove files.
46321         * modules/fpending (Files): Reflect new file names.
46322         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
46323
46324 2007-09-08  Bruno Haible  <bruno@clisp.org>
46325
46326         * m4/inttypes-h.m4: Remove stub file.
46327
46328 2007-09-07  Simon Josefsson  <simon@josefsson.org>
46329
46330         * doc/headers/stdint.texi: Discuss #include_next issue.
46331
46332 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
46333
46334         * build-aux/bootstrap: Remove obsolete comment about wget --help.
46335
46336 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46337
46338         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
46339         in variable name.
46340
46341 2007-09-03  Jim Meyering  <jim@meyering.net>
46342
46343         New module: git-version-gen.
46344         * modules/git-version-gen: New file.
46345
46346         Import changes from coreutils for bootstrap script.
46347
46348         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
46349
46350         bootstrap: uses rsync to download the .po files
46351         * build-aux/bootstrap (po_download_command_format): New global.
46352         (download_po_files): Use rsync.
46353         (update_po_files): Don't remove .po files after download,
46354         so future rsync runs can take advantage of the copies.
46355
46356         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
46357
46358         Solve the unnecessary-.po-file-regeneration problem once and for all.
46359         * build-aux/bootstrap (download_po_files): New function, renamed from
46360         get_translations.  Now, downloads, but doesn't update LINGUAS.
46361         (update_po_files): New function.
46362
46363         bootstrap: Ignore more.
46364         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
46365         uniwidth to e.g., lib/.gitignore.
46366         (slurp): Handle the sys_stat_.h -> sys mapping, too.
46367
46368         * build-aux/bootstrap: New setting: vc_ignore.
46369         (insert_sorted_if_absent): Create $file if absent.
46370         Adapt to new, possibly empty, list: $vc_ignore.
46371
46372         bootstrap: generate more ignorable names
46373         * build-aux/bootstrap (slurp): When generating ignorable names,
46374         also map .sin to .sed, .gperf to .c, and .y to .c.
46375
46376 2007-09-03  Jim Meyering  <jim@meyering.net>
46377
46378         * build-aux/git-version-gen: New file, from coreutils.  For details, see
46379         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
46380
46381 2007-09-02  Bruno Haible  <bruno@clisp.org>
46382
46383         Fix mis-recognition of 'mcs' on QNX 6.
46384         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
46385         output contains the string "Mono".
46386         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
46387         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
46388
46389 2007-09-01  Bruno Haible  <bruno@clisp.org>
46390
46391         Fix collision between uniwidth/* and linebreak modules.
46392         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
46393         u32_width): Remove declarations.
46394         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
46395         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
46396         streq3, streq2, streq1, streq0): Remove functions.
46397         (STREQ): Remove macro.
46398         (is_cjk_encoding): Remove function.
46399         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
46400         (uc_width, u8_width, u16_width, u32_width): Remove functions.
46401         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
46402         * NEWS: Document the change.
46403
46404 2007-09-01  Bruno Haible  <bruno@clisp.org>
46405
46406         * lib/streq.h: Add double-inclusion guard.
46407
46408 2007-09-01  Karl Berry  <karl@gnu.org>
46409
46410         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
46411
46412 2007-08-28  Jim Meyering  <jim@meyering.net>
46413
46414         Rename mreadlink_with_size to areadlink_with_size.
46415         * NEWS: Document the change.
46416         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
46417         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
46418         * lib/mreadlink.h: Rename this to...
46419         * lib/areadlink.h: ...this.
46420         * modules/mreadlink-with-size: Rename this to...
46421         * modules/areadlink-with-size: ...this.
46422         * lib/canonicalize.c: Reflect the renaming.
46423         * modules/canonicalize: Likewise.
46424
46425 2007-08-26  Bruno Haible  <bruno@clisp.org>
46426
46427         * gnulib-tool (func_import): When deciding which files to remove,
46428         consider also dangling symbolic links.
46429         Reported by Eric Blake.
46430
46431 2007-08-26  Bruno Haible  <bruno@clisp.org>
46432
46433         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
46434
46435 2007-08-23  Simon Josefsson  <simon@josefsson.org>
46436
46437         * lib/readline.c: Don't include getline.h, the prototype is now
46438         found in stdio.h.
46439
46440 2007-08-23  Jim Meyering  <jim@meyering.net>
46441
46442         Getdelim touchup.
46443         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
46444         around the funlockfile call, since funlockfile never sets errno.
46445         Don't set errno upon failed realloc.
46446
46447 2007-08-22  Eric Blake  <ebb9@byu.net>
46448
46449         Getline touchups.
46450         * lib/getdelim.c (getdelim): Revert regression that required *n to
46451         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
46452         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
46453         getdelim, rather than whether implementation is missing.
46454         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
46455         * lib/stdio_.h (getline): Also declare if replacement is
46456         required.
46457         * doc/functions/getdelim.texi: New file.
46458         * doc/functions/getline.texi: Likewise.
46459         * doc/gnulib.texi (Function Substitutes): Add new files.
46460         Reported by Bruno Haible.
46461
46462 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
46463
46464         * users.txt: Add Guile.
46465
46466 2007-08-22  Eric Blake  <ebb9@byu.net>
46467
46468         * tests/test-getdelim.c (main): Use remove, not unlink.
46469         * tests/test-getline.c (main): Likewise.
46470
46471         Move getline and getdelim into stdio.h, per POSIX 200x.
46472         * modules/getline (Files): Remove getline.h.
46473         (Depends-on): Add stdio.
46474         (configure.ac): Add module indicator.
46475         * modules/getdelim (Files): Remove getdelim.h.
46476         (Depends-on): Add stdio.
46477         (configure.ac): Add module indicator.
46478         * modules/stdio (Makefile.am): Work with new indicators.
46479         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
46480         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
46481         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
46482         * lib/getdelim.h: Delete.
46483         * lib/getline.h: Delete.
46484         * lib/stdio_.h (getdelim, getline): Declare.
46485         * modules/getdelim-tests: New module.
46486         * modules/getline-tests: Likewise.
46487         * tests/test-getdelim.c: New file.
46488         * tests/test-getline.c: Likewise.
46489         * NEWS: Document the change.
46490         * lib/getline.c: Update choice of header.
46491         * lib/csharpcomp.c: Likewise.
46492         * lib/getpass.c: Likewise.
46493         * lib/javacomp.c: Likewise.
46494         * lib/javaversion.c: Likewise.
46495         * lib/yesno.c: Likewise.
46496         * lib/getdelim.c: Likewise.
46497         (getdelim): Set errno on failure, and avoid memory leak.
46498
46499 2007-08-19  Bruno Haible  <bruno@clisp.org>
46500
46501         * modules/closein (Depends-on): Add freadahead.
46502         * lib/closein.c: Include freadahead.h.
46503         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
46504         is zero.
46505
46506 2007-08-19  Bruno Haible  <bruno@clisp.org>
46507
46508         * modules/freadahead-tests: New file.
46509         * tests/test-freadahead.sh: New file.
46510         * tests/test-freadahead.c: New file.
46511
46512         * modules/freadahead: New file.
46513         * lib/freadahead.h: New file.
46514         * lib/freadahead.c: New file.
46515         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
46516         fbufmode, fpurge, freadable, fwritable.
46517
46518 2007-08-19  Eric Blake  <ebb9@byu.net>
46519
46520         Test yesno in combination with closein.
46521         * lib/yesno.c (yesno): Document use of stdin.
46522         * modules/yesno-tests (Files): New module.
46523         * tests/test-yesno.c (main): New file.
46524         * tests/test-yesno.sh: Likewise.
46525
46526 2007-08-19  Bruno Haible  <bruno@clisp.org>
46527
46528         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
46529         * lib/fseeko.c (rpl_fseeko): Likewise.
46530         * lib/fseterr.c (fseterr): Likewise.
46531
46532 2007-08-19  Bruno Haible  <bruno@clisp.org>
46533
46534         * tests/test-lseek.c (main): Disable a test for BeOS.
46535         * doc/functions/lseek.texi: Document the BeOS bug.
46536
46537 2007-08-19  Bruno Haible  <bruno@clisp.org>
46538             Eric Blake  <ebb9@byu.net>
46539
46540         * lib/lseek.c: Include <sys/stat.h>.
46541         (rpl_lseek): Add workaround code also for Unix platforms.
46542         Needed for BeOS.
46543         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
46544         * doc/functions/lseek.texi: Document BeOS definiency.
46545
46546 2007-08-18  Bruno Haible  <bruno@clisp.org>
46547
46548         * modules/fstrcmp-tests: New file.
46549         * tests/test-fstrcmp.c: New file.
46550
46551 2007-08-18  Bruno Haible  <bruno@clisp.org>
46552
46553         * modules/fstrcmp: New file, from GNU gettext with modifications.
46554         * lib/fstrcmp.h: New file, from GNU gettext.
46555         * lib/fstrcmp.c: New file, from GNU gettext.
46556         * MODULES.html.sh (String handling): Add fstrcmp.
46557
46558 2007-08-18  Bruno Haible  <bruno@clisp.org>
46559
46560         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
46561         'bool'.
46562         (diag, compareseq): Remove const from the ctxt argument.
46563         (USE_HEURISTIC): Undefine at the end.
46564
46565 2007-08-18  Jim Meyering  <jim@meyering.net>
46566
46567         New file: lib/idcache.h
46568         * NEWS: Mention the addition.
46569         * modules/idcache (Files): Add lib/idcache.h
46570         * lib/idcache.c: Include "idcache.h".
46571         Don't include <sys/types.h>.
46572         Add a FIXME comment.
46573         Move file-scoped "static" declarations to the top.
46574         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
46575
46576 2007-08-17  Bruno Haible  <bruno@clisp.org>
46577         and Paul Eggert  <eggert@cs.ucla.edu>
46578
46579         * MODULES.html.sh: Add diffseq.
46580         * modules/diffseq: New file.
46581         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
46582         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
46583
46584 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
46585
46586         Import changes from coreutils for bootstrap script.
46587
46588         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
46589
46590         * build-aux/bootstrap (slurp): Work even in environments where
46591         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
46592         current code does not slurp files whose names start with ".", and
46593         this looks like it might be a troublesome area.
46594
46595         2007-07-11  Jim Meyering  <jim@meyering.net>
46596
46597         If there's a GPL vN copyright comment, require that N == 3.
46598
46599         2007-07-08  Jim Meyering  <jim@meyering.net>
46600
46601         Run the coreutils-specific code only if tests/Makefile.am.in exists.
46602         * build-aux/bootstrap (mam_template): Move definition out of loop.
46603
46604         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
46605
46606         * build-aux/bootstrap (symlink_to_dir): Rename function from
46607         symlink_to_gnulib.  Add a directory parameter.  Update all
46608         callers.
46609         (cp_mark_as_generated): Also check for -- and link to -- files in
46610         gl/.
46611
46612         2007-07-08  Jim Meyering  <jim@meyering.net>
46613
46614         Adapt to deeper hierarchy in gnulib.
46615         * build-aux/bootstrap (symlink_to_dir): If the destination
46616         directory doesn't exist, create it. This is required at least for
46617         "lib/uniwidth/cjk.h".
46618
46619         2007-05-15  Jim Meyering  <jim@meyering.net>
46620
46621         * build-aux/bootstrap: Now that generated Makefile.am files
46622         are no longer under version control, they must be created at
46623         bootstrap time.
46624
46625 2007-08-14  Ben Pfaff  <blp@gnu.org>
46626
46627         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
46628
46629 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
46630
46631         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
46632         given the changes below.
46633         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
46634         even on hosts that have padding bits beyond the supported 64.
46635
46636 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
46637
46638         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
46639         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
46640         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
46641         depends on it.
46642         (xstrtol_error): Remove.
46643         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
46644         but with a different signature.
46645         (ATTRIBUTE_NORETURN, __attribute__): New macros.
46646         * lib/xstrtol-error.c: Include exitfail.h.
46647         (xstrtol_fatal): New function, with a different signature from the
46648         old xstrtol_error, so that the caller need not worry about passing
46649         in an exit status, or about storage management of the option argument.
46650         (xstrtol_error): Now a static function.  Redo signature to
46651         implement xstrtol_fatal.  Output the correct number of hyphens in
46652         front of the option so that the caller need not worry about
46653         storage management.
46654         (N_): New macro.
46655         (_): Remove; not used now.
46656         * modules/xstrtol: Depend on getopt.
46657         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
46658         of old STRTOL_FATAL_ERROR macro.
46659         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
46660         of test program.
46661         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
46662         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
46663
46664 2007-08-08  Eric Blake  <ebb9@byu.net>
46665
46666         * lib/xstrtol-error.c: Add missing include.
46667
46668         Move xstrtol messages into gnulib domain, when --pobase is used.
46669         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
46670         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
46671         * modules/xstrtol (Files): Distribute new file.
46672         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
46673         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
46674         * tests/test-xstrtol.c: ...into new file.
46675         * tests/test-xstrtoul.c: Also test xstrtoul.
46676         * tests/test-xstrtoimax.c: Also test xstrtoimax.
46677         * tests/test-xstrtoumax.c: Also test xstrtoumax.
46678         * tests/test-xstrtol.sh: Drive the tests.
46679         * tests/test-xstrtoimax.sh: Likewise.
46680         * tests/test-xstrtoumax.sh: Likewise.
46681         * modules/xstrtol-tests: New module.
46682         * modules/xstrtoimax-tests: Likewise.
46683         * modules/xstrtoumax-tests: Likewise.
46684
46685 2007-08-08  Jim Meyering  <jim@meyering.net>
46686
46687         New function: mfile_name_concat.
46688         * lib/filenamecat.c (mfile_name_concat): New function, just like
46689         file_name_concat, but return NULL upon failure rather than exiting
46690         with a diagnostic.
46691         * lib/filenamecat.h: Declare it.
46692
46693 2007-08-07  Bruno Haible  <bruno@clisp.org>
46694
46695         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
46696         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
46697         warning from gcc.
46698         Reported by Eric Blake.
46699
46700 2007-08-07  Simon Josefsson  <simon@josefsson.org>
46701
46702         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
46703         * modules/crypto/arcfour (License): Likewise.
46704         * modules/crypto/des-tests (License): Likewise.
46705         * modules/crypto/gc-arctwo-tests (License): Likewise.
46706         * modules/crypto/gc-des-tests (License): Likewise.
46707         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
46708         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
46709         * modules/crypto/gc-md2-tests (License): Likewise.
46710         * modules/crypto/gc-md4-tests (License): Likewise.
46711         * modules/crypto/gc-md5-tests (License): Likewise.
46712         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
46713         * modules/crypto/gc-rijndael-tests (License): Likewise.
46714         * modules/crypto/gc-sha1-tests (License): Likewise.
46715         * modules/crypto/gc-tests (License): Likewise.
46716         * modules/crypto/hmac-md5 (License): Likewise.
46717         * modules/crypto/hmac-sha1 (License): Likewise.
46718         * modules/crypto/md2-tests (License): Likewise.
46719         * modules/crypto/md4-tests (License): Likewise.
46720         * modules/crypto/md5 (License): Likewise.
46721         * modules/crypto/rijndael (License): Likewise.
46722         * modules/crypto/sha1 (License): Likewise.
46723         * modules/memxor (License): Likewise.
46724
46725 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
46726         and Bruno Haible  <bruno@clisp.org>
46727
46728         * NEWS: Describe interface changes to human, xstrtol.
46729         * lib/human.h: Include <xstrtol.h>.
46730         (human_options): Return enum strtol_error, not int.  Remove
46731         bool arg; take int * instead.
46732         * lib/human.c: Don't include "gettext.h".
46733         (_): Remove; no longer used.
46734         Don't include <xstrtol.h>, since human.h does it.
46735         (human_options): Adjust to abovementioned interface changes.
46736         Do not report error to stderr; that's now the caller's
46737         responsibility.
46738         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
46739         interface change.
46740         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
46741         Str, Argument_type_string.  All uses changed.  Put " argument"
46742         in diagnostics to make them clearer.  Change wording of suffix
46743         message for clarity.
46744         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
46745         Argument_type_string.
46746         (STRTOL_FATAL_WARN): Remove; no longer used.
46747         * modules/human (Depends-on): Remove gettext-h.
46748
46749 2007-08-06  Simon Josefsson  <simon@josefsson.org>
46750
46751         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
46752
46753 2007-07-31  Bruno Haible  <bruno@clisp.org>
46754
46755         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
46756         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
46757         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
46758
46759 2007-07-31  Bruno Haible  <bruno@clisp.org>
46760
46761         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
46762         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
46763
46764 2007-07-30  Bruno Haible  <bruno@clisp.org>
46765
46766         * modules/base64 (License): Use the synonymous term "LGPLv2+".
46767         * modules/c-ctype (License): Likewise.
46768         * modules/c-strcase (License): Likewise.
46769         * modules/check-version (License): Likewise.
46770         * modules/iconv (License): Likewise.
46771         * modules/iconv_open (License): Likewise.
46772         * modules/read-file (License): Likewise.
46773         * modules/striconv (License): Likewise.
46774         * modules/strverscmp (License): Likewise.
46775         * modules/vasprintf (License): Likewise.
46776         * modules/crypto/des (License): Likewise.
46777         * modules/crypto/gc (License): Likewise.
46778         * modules/crypto/gc-arcfour (License): Likewise.
46779         * modules/crypto/gc-arctwo (License): Likewise.
46780         * modules/crypto/gc-des (License): Likewise.
46781         * modules/crypto/gc-hmac-md5 (License): Likewise.
46782         * modules/crypto/gc-hmac-sha1 (License): Likewise.
46783         * modules/crypto/gc-md2 (License): Likewise.
46784         * modules/crypto/gc-md4 (License): Likewise.
46785         * modules/crypto/gc-md5 (License): Likewise.
46786         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
46787         * modules/crypto/gc-random (License): Likewise.
46788         * modules/crypto/gc-rijndael (License): Likewise.
46789         * modules/crypto/gc-sha1 (License): Likewise.
46790         * modules/crypto/md2 (License): Likewise.
46791         * modules/crypto/md4 (License): Likewise.
46792
46793 2007-07-30  Jim Meyering  <jim@meyering.net>
46794
46795         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
46796         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
46797         it has valid stat data.  This bug would cause du not to count the
46798         sizes of inaccessible directories.
46799         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
46800         in <http://bugzilla.redhat.com/250077>.
46801
46802 2007-07-25  Peter O'Gorman  <peter@pogma.com>
46803             Bruno Haible  <bruno@clisp.org>
46804
46805         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
46806         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
46807         #include_next, gives a diagnostic about it, but reports no error in
46808         the exit code.
46809         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
46810
46811 2007-07-24  Ben Pfaff  <blp@gnu.org>
46812
46813         Improve name: "count-one-bits" is better than "popcount".
46814         * MODULES.html.sh: Update name.
46815         * lib/popcount.h: Renamed lib/count-one-bits.h.
46816         (popcount): Renamed count_one_bits.
46817         (popcountl): Renamed count_one_bits_l.
46818         (popcountll): Renamed count_one_bits_ll.
46819         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
46820         * modules/popcount: Renamed module/count-one-bits.
46821         * modules/popcount-tests: Renamed module/count-one-bits-tests.
46822         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
46823
46824 2007-07-23  Ben Pfaff  <blp@gnu.org>
46825
46826         * lib/popcount.h (popcount32): Reduce size of constants, to allow
46827         better code generation, and add U to large constants to avoid
46828         warnings, in non-GCC case.
46829         Suggested by Bruno Haible.
46830
46831 2007-07-23  Ben Pfaff  <blp@gnu.org>
46832
46833         * lib/popcount.h: Use verify_true instead of if...abort.
46834         * modules/popcount: Depend on verify module.
46835         Suggested by Jim Meyering.
46836
46837 2007-07-23  Bruno Haible  <bruno@clisp.org>
46838
46839         * gnulib-tool (func_import): Create a .cvsignore file also when the
46840         directory is not yet in CVS but the toplevel directory is. When
46841         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
46842         Reported by Karl Berry.
46843
46844 2007-07-22  Ben Pfaff  <blp@gnu.org>
46845
46846         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
46847         case.
46848         Suggested by Eric Blake.
46849
46850 2007-07-22  Ben Pfaff  <blp@gnu.org>
46851
46852         New module: popcount.
46853         * MODULES.html.sh: Add popcount.
46854         * modules/popcount: New file.
46855         * modules/popcount-tests: New file.
46856         * tests/test-popcount.c: New file.
46857         * lib/popcount.h: New file.
46858         * m4/popcount.m4: New file.
46859
46860 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
46861
46862         * build-aux/announce-gen: Update to GPLv3.
46863
46864         * build-aux/config.guess: Update from config.
46865
46866 2007-07-21  Bruno Haible  <bruno@clisp.org>
46867
46868         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
46869         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
46870
46871 2007-07-20  Jim Meyering  <jim@meyering.net>
46872
46873         * check-module: Diagnose a self-dependency.
46874
46875 2007-07-19  Bruno Haible  <bruno@clisp.org>
46876
46877         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
46878         empty.
46879         Reported by Eric Blake.
46880
46881 2007-07-18  Bruno Haible  <bruno@clisp.org>
46882
46883         * gnulib-tool: New options --po-base, --po-domain.
46884         (func_usage): Document them.
46885         (pobase, po_domain): New variables.
46886         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
46887         DEFAULT_TEXT_DOMAIN.
46888         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
46889         (func_import): Consider pobase and po_domain. Create a po/ directory.
46890         (func_create_testdir): Set pobase and po_domain to empty.
46891         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
46892         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
46893
46894 2007-07-18  Bruno Haible  <bruno@clisp.org>
46895
46896         * gnulib-tool (func_get_automake_snippet): Synthesize also an
46897         EXTRA_DIST augmentation for files in build-aux/.
46898
46899 2007-07-16  Bruno Haible  <bruno@clisp.org>
46900
46901         * modules/lseek (License): Use the synonymous term "LGPLv2+".
46902         * modules/getdelim (License): Likewise.
46903
46904 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46905
46906         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
46907         * modules/d-type (License): Likewise.
46908         * modules/extensions (License): Likewise.
46909         * modules/fnmatch (License): Likewise.
46910         * modules/fseeko (License): Likewise.
46911         * modules/getaddrinfo (License): Likewise.
46912         * modules/getline (License): Likewise.
46913         * modules/getlogin_r (License): Likewise.
46914         * modules/getpass (License): Likewise.
46915         * modules/gettimeofday (License): Likewise.
46916         * modules/glob (License): Likewise.
46917         * modules/inet_ntop (License): Likewise.
46918         * modules/malloc (License): Likewise.
46919         * modules/malloca (License): Likewise.
46920         * modules/memmem (License): Likewise.
46921         * modules/mempcpy (License): Likewise.
46922         * modules/memset (License): Likewise.
46923         * modules/minmax (License): Likewise.
46924         * modules/mktime (License): Likewise.
46925         * modules/netinet_in (License): Likewise.
46926         * modules/pathmax (License): Likewise.
46927         * modules/poll (License): Likewise.
46928         * modules/regex (License): Likewise.
46929         * modules/snprintf (License): Likewise.
46930         * modules/stdbool (License): Likewise.
46931         * modules/stdint (License): Likewise.
46932         * modules/stdio (License): Likewise.
46933         * modules/strcase (License): Likewise.
46934         * modules/strcasestr (License): Likewise.
46935         * modules/strdup (License): Likewise.
46936         * modules/string (License): Likewise.
46937         * modules/strndup (License): Likewise.
46938         * modules/strnlen (License): Likewise.
46939         * modules/strpbrk (License): Likewise.
46940         * modules/strptime (License): Likewise.
46941         * modules/strsep (License): Likewise.
46942         * modules/sys_select (License): Likewise.
46943         * modules/sys_socket (License): Likewise.
46944         * modules/sys_stat (License): Likewise.
46945         * modules/sys_time (License): Likewise.
46946         * modules/time (License): Likewise.
46947         * modules/time_r (License): Likewise.
46948         * modules/timegm (License): Likewise.
46949         * modules/unistd (License): Likewise.
46950         * modules/vsnprintf (License): Likewise.
46951         * modules/wctype (License): Likewise.
46952
46953 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46954
46955         * modules/argz (License): LGPLv2+.
46956
46957 2007-07-15  Karl Berry  <karl@gnu.org>
46958
46959         * doc/gnulib.texi: revise node structure per new fdl.texi.
46960
46961 2007-07-14  Bruno Haible  <bruno@clisp.org>
46962
46963         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
46964         the output file.
46965         * lib/uniname/uninames.h: Regenerated.
46966
46967 2007-07-14  Karl Berry  <karl@gnu.org>
46968
46969         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
46970         omitting sectioning and index commands.
46971
46972 2007-07-13  Bruno Haible  <bruno@clisp.org>
46973
46974         New gnulib-tool option --more-symlinks.
46975         * gnulib-tool (func_usage): Document --more-symlinks.
46976         (do_copyrights): New variable.
46977         Recognize option --more-symlinks.
46978         (func_import): Don't add a copyright notice transform to
46979         sed_transform_lib_file if do_copyrights is empty.
46980
46981 2007-07-13  Bruno Haible  <bruno@clisp.org>
46982
46983         * lib/vasnprintf.c (decimal_point_char): Define also if
46984         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
46985         && !NEED_PRINTF_DIRECTIVE_A.
46986         Reported by Clemens Koller <clemens.koller@anagramm.de> via
46987         Gary V. Vaughan <gary@gnu.org>.
46988
46989 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
46990
46991         * lib/inttypes_.h: Undo previous change, since it was fixed
46992         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
46993
46994 2007-07-13  Bruno Haible  <bruno@clisp.org>
46995
46996         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
46997         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
46998
46999 2007-07-13  Jim Meyering  <jim@meyering.net>
47000
47001         df: Don't fail for Tru64's "file-on-file mount".
47002         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
47003         so we fall through and use statfs instead.  Details here:
47004         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
47005         Reported by Albert Chin.
47006
47007 2007-07-13  Bruno Haible  <bruno@clisp.org>
47008
47009         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
47010         * modules/configmake (License): Likewise.
47011         * modules/gettext (License): Likewise.
47012         * modules/gettext-h (License): Likewise.
47013         * modules/include_next (License): Likewise.
47014         * modules/link-warning (License): Likewise.
47015         * modules/localcharset (License): Likewise.
47016         * modules/localename (License): Likewise.
47017         * modules/lock (License): Likewise.
47018         * modules/relocatable-lib-lgpl (License): Likewise.
47019         * modules/size_max (License): Likewise.
47020         * modules/vasnprintf (License): Likewise.
47021         * modules/wchar (License): Likewise.
47022         * modules/xsize (License): Likewise.
47023
47024 2007-07-13  Bruno Haible  <bruno@clisp.org>
47025
47026         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
47027         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
47028
47029 2007-07-12  Bruno Haible  <bruno@clisp.org>
47030
47031         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
47032         in the modules files.
47033
47034 2007-07-11  Karl Berry  <karl@gnu.org>
47035
47036         * MODULES.html.sh (func_module): use
47037          sed -e '\|^'"${includefile}"'$|d'
47038          instead of /.../d, to avoid errors on $includefile's containing /.
47039
47040 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47041
47042         * gnulib-tool (func_import): Avoid duplication of --avoid
47043         statements
47044         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
47045         names to `_' in variable names.
47046
47047 2007-07-10  Eric Blake  <ebb9@byu.net>
47048
47049         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
47050         * NEWS: Document this change.
47051
47052 2007-07-08  Bruno Haible  <bruno@clisp.org>
47053
47054         Update to Unicode 5.0.
47055         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
47056         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
47057         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
47058         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
47059         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
47060         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
47061         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
47062         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
47063         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
47064         U+10A3F, U+1D242..U+1D244.
47065         (nonspacing_table_ind): Update.
47066         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
47067         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
47068
47069 2007-07-08  Bruno Haible  <bruno@clisp.org>
47070
47071         Update to Unicode 5.0.
47072         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
47073         code transform. Extend the name index field of unicode_name_to_code and
47074         unicode_code_to_name from 16 to 24 bits.
47075         * lib/uniname/uniname.c (unicode_character_name,
47076         unicode_name_character): Add the range 0x12xxx to the code transform.
47077         * lib/uniname/uninames.h: Regenerated.
47078         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
47079
47080 2007-07-07  Bruno Haible  <bruno@clisp.org>
47081
47082         * modules/wcwidth-tests: New file.
47083         * tests/test-wcwidth.c: New file.
47084
47085         Work around MacOS X wcwidth() bug.
47086         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
47087         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
47088         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
47089         original wcwidth in non-UTF-8 locales.
47090         * modules/wcwidth (Depends-on): Add localcharset, streq,
47091         uniwidth/width.
47092         * doc/functions/wcwidth.texi: Update.
47093
47094 2007-07-07  Bruno Haible  <bruno@clisp.org>
47095
47096         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
47097         (wcwidth): New declaration.
47098         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
47099         macros.
47100         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
47101         here. Prepare for creating <wchar.h> unconditionally.
47102         * modules/wchar (Depends-on): Add link-warning.
47103         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
47104         REPLACE_WCWIDTH, and GL_LINK_WARNING.
47105         * lib/wcwidth.h: Remove file.
47106         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
47107         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
47108         * modules/wcwidth (Files): Remove lib/wcwidth.h.
47109         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
47110         (Include): Replace wcwidth.h with <wchar.h>.
47111         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
47112         * lib/mbchar.h: Don't include wcwidth.h.
47113         * lib/mbswidth.c: Likewise.
47114         * NEWS: Mention the change.
47115
47116 2007-07-07  Bruno Haible  <bruno@clisp.org>
47117
47118         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
47119         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
47120         definition with an external declaration.
47121         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
47122         defined as a function. Remove AC_C_INLINE requirement.
47123         * modules/wcwidth (Files): Add lib/wcwidth.c.
47124         (Makefile.am): Remove redundant statement.
47125
47126 2007-07-07  Bruno Haible  <bruno@clisp.org>
47127
47128         * MODULES.html.sh (Unicode string functions): Add the new modules.
47129
47130         * tests/uniwidth/test-u32-strwidth.c: New file.
47131         * modules/uniwidth/u32-strwidth-tests: New file.
47132
47133         * lib/uniwidth/u32-strwidth.c: New file.
47134         * modules/uniwidth/u32-strwidth: New file.
47135
47136         * tests/uniwidth/test-u16-strwidth.c: New file.
47137         * modules/uniwidth/u16-strwidth-tests: New file.
47138
47139         * lib/uniwidth/u16-strwidth.c: New file.
47140         * modules/uniwidth/u16-strwidth: New file.
47141
47142         * tests/uniwidth/test-u8-strwidth.c: New file.
47143         * modules/uniwidth/u8-strwidth-tests: New file.
47144
47145         * lib/uniwidth/u8-strwidth.c: New file.
47146         * modules/uniwidth/u8-strwidth: New file.
47147
47148         * tests/uniwidth/test-u32-width.c: New file.
47149         * modules/uniwidth/u32-width-tests: New file.
47150
47151         * lib/uniwidth/u32-width.c: New file.
47152         * modules/uniwidth/u32-width: New file.
47153
47154         * tests/uniwidth/test-u16-width.c: New file.
47155         * modules/uniwidth/u16-width-tests: New file.
47156
47157         * lib/uniwidth/u16-width.c: New file.
47158         * modules/uniwidth/u16-width: New file.
47159
47160         * tests/uniwidth/test-u8-width.c: New file.
47161         * modules/uniwidth/u8-width-tests: New file.
47162
47163         * lib/uniwidth/u8-width.c: New file.
47164         * modules/uniwidth/u8-width: New file.
47165
47166         * tests/uniwidth/test-uc_width.c: New file.
47167         * modules/uniwidth/width-tests: New file.
47168
47169         * lib/uniwidth/width.c: New file, from GNU libiconv.
47170         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
47171         * modules/uniwidth/width: New file.
47172
47173         * lib/uniwidth.h: New file, from GNU libiconv.
47174         * modules/uniwidth/base: New file.
47175
47176 2007-07-07  Bruno Haible  <bruno@clisp.org>
47177
47178         * lib/uniname.h: New file, from GNU gettext.
47179         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
47180         * lib/uniname/uninames.h: New file, from GNU gettext.
47181         * lib/uniname/uniname.c: New file, from GNU gettext.
47182         * tests/uniname/test-uninames.sh: New file.
47183         * tests/uniname/test-uninames.c: New file, from GNU gettext.
47184         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
47185         * modules/uniname/base: New file.
47186         * modules/uniname/uniname: New file.
47187         * modules/uniname/uniname-tests: New file.
47188         * MODULES.html.sh (Unicode string functions): Add the new modules.
47189
47190 2007-07-06  Bruno Haible  <bruno@clisp.org>
47191
47192         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
47193
47194 2007-07-06  Bruno Haible  <bruno@clisp.org>
47195
47196         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
47197         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
47198         includes <cygwin/sys_time.h> which includes <sys/select.h> which
47199         include <sys/time.h>.
47200         Reported by Eric Blake.
47201
47202 2007-07-06  Eric Blake  <ebb9@byu.net>
47203
47204         Fix testing canonicalize on cygwin.
47205         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
47206         Revert patch from 2007-06-19.
47207         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
47208         canonicalize module is also in use.
47209         * tests/test-canonicalize.c: New file.
47210         * tests/test-canonicalize.sh: Likewise.
47211         * modules/canonicalize-tests: Likewise.
47212
47213 2007-07-06  Jim Meyering  <jim@meyering.net>
47214
47215         * lib/getugroups.c (getugroups): Detect getgrent failure.
47216         Adjust comment to reflect reality: this function may return -1.
47217
47218 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
47219
47220         * build-aux/bootstrap (TP_URL,get_translations): Update to use
47221         the new TP address.
47222         (usage): Fix typo
47223         (gnulib_mk): New variable.
47224
47225 2007-07-05  Jim Meyering  <jim@meyering.net>
47226
47227         Don't let endgrent clobber errno, no matter how improbable.
47228         * lib/getugroups.c (getugroups): Save and restore errno around
47229         endgrent call.
47230
47231         Close the group DB even when failing with 2^31 or more members.
47232         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
47233
47234 2007-07-04  Jim Meyering  <jim@meyering.net>
47235
47236         * lib/getugroups.h: New file.
47237         * lib/getugroups.c: Include "getugroups.h".
47238         Remove uses of "register" keyword.
47239         Move local variable, "cp", down into scope where used.
47240         Give "username" parameter the "const" attribute.
47241         * modules/getugroups (Files): Add lib/getugroups.h
47242
47243 2007-07-04  Karl Berry  <karl@gnu.org>
47244
47245         * MODULES.html.sh (func_all_modules): Complete rename of
47246         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
47247
47248 2007-07-02  Bruno Haible  <bruno@clisp.org>
47249
47250         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
47251         mode, when inttypes.h comes from gnulib.
47252         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47253
47254 2007-07-02  Simon Josefsson  <simon@josefsson.org>
47255
47256         * NEWS: Mention lgpl module name change.
47257
47258         * modules/lgpl-2.1: Renamed from lgpl.
47259
47260         * NEWS: Mention gpl module name change.
47261
47262         * modules/gpl-3.0: New file, based on gpl-2.0.
47263
47264         * modules/gpl-2.0: Renamed from gpl.
47265
47266         * modules/gpl: Fix filename, doc/gpl.texi is now found at
47267         doc/gpl-2.0.texi.
47268
47269 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
47270
47271         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
47272         #define __STDC_LIMIT_MACROS temporarily while including
47273         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
47274         Problem reported by Joel E. Denny in
47275         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
47276
47277 2007-07-01  Bruno Haible  <bruno@clisp.org>
47278
47279         * lib/unistdio.h: New file.
47280         * lib/unistdio/u-asnprintf.h: New file.
47281         * lib/unistdio/u-asprintf.h: New file.
47282         * lib/unistdio/u-printf-args.c: New file.
47283         * lib/unistdio/u-printf-args.h: New file.
47284         * lib/unistdio/u-printf-parse.h: New file.
47285         * lib/unistdio/u-snprintf.h: New file.
47286         * lib/unistdio/u-sprintf.h: New file.
47287         * lib/unistdio/u-vasprintf.h: New file.
47288         * lib/unistdio/u-vsnprintf.h: New file.
47289         * lib/unistdio/u-vsprintf.h: New file.
47290         * lib/unistdio/ulc-asnprintf.c: New file.
47291         * lib/unistdio/ulc-asprintf.c: New file.
47292         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
47293         * lib/unistdio/ulc-printf-parse.c: New file.
47294         * lib/unistdio/ulc-snprintf.c: New file.
47295         * lib/unistdio/ulc-sprintf.c: New file.
47296         * lib/unistdio/ulc-vasnprintf.c: New file.
47297         * lib/unistdio/ulc-vasprintf.c: New file.
47298         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
47299         * lib/unistdio/ulc-vsnprintf.c: New file.
47300         * lib/unistdio/ulc-vsprintf.c: New file.
47301         * lib/unistdio/u8-asnprintf.c: New file.
47302         * lib/unistdio/u8-asprintf.c: New file.
47303         * lib/unistdio/u8-printf-parse.c: New file.
47304         * lib/unistdio/u8-snprintf.c: New file.
47305         * lib/unistdio/u8-sprintf.c: New file.
47306         * lib/unistdio/u8-vasnprintf.c: New file.
47307         * lib/unistdio/u8-vasprintf.c: New file.
47308         * lib/unistdio/u8-vsnprintf.c: New file.
47309         * lib/unistdio/u8-vsprintf.c: New file.
47310         * lib/unistdio/u8-u8-asnprintf.c: New file.
47311         * lib/unistdio/u8-u8-asprintf.c: New file.
47312         * lib/unistdio/u8-u8-snprintf.c: New file.
47313         * lib/unistdio/u8-u8-sprintf.c: New file.
47314         * lib/unistdio/u8-u8-vasnprintf.c: New file.
47315         * lib/unistdio/u8-u8-vasprintf.c: New file.
47316         * lib/unistdio/u8-u8-vsnprintf.c: New file.
47317         * lib/unistdio/u8-u8-vsprintf.c: New file.
47318         * lib/unistdio/u16-asnprintf.c: New file.
47319         * lib/unistdio/u16-asprintf.c: New file.
47320         * lib/unistdio/u16-printf-parse.c: New file.
47321         * lib/unistdio/u16-snprintf.c: New file.
47322         * lib/unistdio/u16-sprintf.c: New file.
47323         * lib/unistdio/u16-vasnprintf.c: New file.
47324         * lib/unistdio/u16-vasprintf.c: New file.
47325         * lib/unistdio/u16-vsnprintf.c: New file.
47326         * lib/unistdio/u16-vsprintf.c: New file.
47327         * lib/unistdio/u16-u16-asnprintf.c: New file.
47328         * lib/unistdio/u16-u16-asprintf.c: New file.
47329         * lib/unistdio/u16-u16-snprintf.c: New file.
47330         * lib/unistdio/u16-u16-sprintf.c: New file.
47331         * lib/unistdio/u16-u16-vasnprintf.c: New file.
47332         * lib/unistdio/u16-u16-vasprintf.c: New file.
47333         * lib/unistdio/u16-u16-vsnprintf.c: New file.
47334         * lib/unistdio/u16-u16-vsprintf.c: New file.
47335         * lib/unistdio/u32-asnprintf.c: New file.
47336         * lib/unistdio/u32-asprintf.c: New file.
47337         * lib/unistdio/u32-printf-parse.c: New file.
47338         * lib/unistdio/u32-snprintf.c: New file.
47339         * lib/unistdio/u32-sprintf.c: New file.
47340         * lib/unistdio/u32-vasnprintf.c: New file.
47341         * lib/unistdio/u32-vasprintf.c: New file.
47342         * lib/unistdio/u32-vsnprintf.c: New file.
47343         * lib/unistdio/u32-vsprintf.c: New file.
47344         * lib/unistdio/u32-u32-asnprintf.c: New file.
47345         * lib/unistdio/u32-u32-asprintf.c: New file.
47346         * lib/unistdio/u32-u32-snprintf.c: New file.
47347         * lib/unistdio/u32-u32-sprintf.c: New file.
47348         * lib/unistdio/u32-u32-vasnprintf.c: New file.
47349         * lib/unistdio/u32-u32-vasprintf.c: New file.
47350         * lib/unistdio/u32-u32-vsnprintf.c: New file.
47351         * lib/unistdio/u32-u32-vsprintf.c: New file.
47352         * tests/unistdio/test-ulc-asnprintf1.c: New file.
47353         * tests/unistdio/test-ulc-asnprintf1.h: New file.
47354         * tests/unistdio/test-ulc-printf1.h: New file.
47355         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
47356         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
47357         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
47358         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
47359         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
47360         * tests/unistdio/test-ulc-vasprintf1.c: New file.
47361         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
47362         * tests/unistdio/test-ulc-vsprintf1.c: New file.
47363         * tests/unistdio/test-u8-asnprintf1.c: New file.
47364         * tests/unistdio/test-u8-asnprintf1.h: New file.
47365         * tests/unistdio/test-u8-printf1.h: New file.
47366         * tests/unistdio/test-u8-vasnprintf1.c: New file.
47367         * tests/unistdio/test-u8-vasnprintf2.c: New file.
47368         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
47369         * tests/unistdio/test-u8-vasnprintf3.c: New file.
47370         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
47371         * tests/unistdio/test-u8-vasprintf1.c: New file.
47372         * tests/unistdio/test-u8-vsnprintf1.c: New file.
47373         * tests/unistdio/test-u8-vsprintf1.c: New file.
47374         * tests/unistdio/test-u16-asnprintf1.c: New file.
47375         * tests/unistdio/test-u16-asnprintf1.h: New file.
47376         * tests/unistdio/test-u16-printf1.h: New file.
47377         * tests/unistdio/test-u16-vasnprintf1.c: New file.
47378         * tests/unistdio/test-u16-vasnprintf2.c: New file.
47379         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
47380         * tests/unistdio/test-u16-vasnprintf3.c: New file.
47381         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
47382         * tests/unistdio/test-u16-vasprintf1.c: New file.
47383         * tests/unistdio/test-u16-vsnprintf1.c: New file.
47384         * tests/unistdio/test-u16-vsprintf1.c: New file.
47385         * tests/unistdio/test-u32-asnprintf1.c: New file.
47386         * tests/unistdio/test-u32-asnprintf1.h: New file.
47387         * tests/unistdio/test-u32-printf1.h: New file.
47388         * tests/unistdio/test-u32-vasnprintf1.c: New file.
47389         * tests/unistdio/test-u32-vasnprintf2.c: New file.
47390         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
47391         * tests/unistdio/test-u32-vasnprintf3.c: New file.
47392         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
47393         * tests/unistdio/test-u32-vasprintf1.c: New file.
47394         * tests/unistdio/test-u32-vsnprintf1.c: New file.
47395         * tests/unistdio/test-u32-vsprintf1.c: New file.
47396         * modules/unistdio/base: New file.
47397         * modules/unistdio/u-printf-args: New file.
47398         * modules/unistdio/ulc-asnprintf: New file.
47399         * modules/unistdio/ulc-asprintf: New file.
47400         * modules/unistdio/ulc-fprintf: New file.
47401         * modules/unistdio/ulc-printf-parse: New file.
47402         * modules/unistdio/ulc-snprintf: New file.
47403         * modules/unistdio/ulc-sprintf: New file.
47404         * modules/unistdio/ulc-vasnprintf: New file.
47405         * modules/unistdio/ulc-vasprintf: New file.
47406         * modules/unistdio/ulc-vfprintf: New file.
47407         * modules/unistdio/ulc-vsnprintf: New file.
47408         * modules/unistdio/ulc-vsprintf: New file.
47409         * modules/unistdio/u8-asnprintf: New file.
47410         * modules/unistdio/u8-asprintf: New file.
47411         * modules/unistdio/u8-printf-parse: New file.
47412         * modules/unistdio/u8-snprintf: New file.
47413         * modules/unistdio/u8-sprintf: New file.
47414         * modules/unistdio/u8-vasnprintf: New file.
47415         * modules/unistdio/u8-vasprintf: New file.
47416         * modules/unistdio/u8-vsnprintf: New file.
47417         * modules/unistdio/u8-vsprintf: New file.
47418         * modules/unistdio/u8-u8-asnprintf: New file.
47419         * modules/unistdio/u8-u8-asprintf: New file.
47420         * modules/unistdio/u8-u8-snprintf: New file.
47421         * modules/unistdio/u8-u8-sprintf: New file.
47422         * modules/unistdio/u8-u8-vasnprintf: New file.
47423         * modules/unistdio/u8-u8-vasprintf: New file.
47424         * modules/unistdio/u8-u8-vsnprintf: New file.
47425         * modules/unistdio/u8-u8-vsprintf: New file.
47426         * modules/unistdio/u16-asnprintf: New file.
47427         * modules/unistdio/u16-asprintf: New file.
47428         * modules/unistdio/u16-printf-parse: New file.
47429         * modules/unistdio/u16-snprintf: New file.
47430         * modules/unistdio/u16-sprintf: New file.
47431         * modules/unistdio/u16-vasnprintf: New file.
47432         * modules/unistdio/u16-vasprintf: New file.
47433         * modules/unistdio/u16-vsnprintf: New file.
47434         * modules/unistdio/u16-vsprintf: New file.
47435         * modules/unistdio/u16-u16-asnprintf: New file.
47436         * modules/unistdio/u16-u16-asprintf: New file.
47437         * modules/unistdio/u16-u16-snprintf: New file.
47438         * modules/unistdio/u16-u16-sprintf: New file.
47439         * modules/unistdio/u16-u16-vasnprintf: New file.
47440         * modules/unistdio/u16-u16-vasprintf: New file.
47441         * modules/unistdio/u16-u16-vsnprintf: New file.
47442         * modules/unistdio/u16-u16-vsprintf: New file.
47443         * modules/unistdio/u32-asnprintf: New file.
47444         * modules/unistdio/u32-asprintf: New file.
47445         * modules/unistdio/u32-printf-parse: New file.
47446         * modules/unistdio/u32-snprintf: New file.
47447         * modules/unistdio/u32-sprintf: New file.
47448         * modules/unistdio/u32-vasnprintf: New file.
47449         * modules/unistdio/u32-vasprintf: New file.
47450         * modules/unistdio/u32-vsnprintf: New file.
47451         * modules/unistdio/u32-vsprintf: New file.
47452         * modules/unistdio/u32-u32-asnprintf: New file.
47453         * modules/unistdio/u32-u32-asprintf: New file.
47454         * modules/unistdio/u32-u32-snprintf: New file.
47455         * modules/unistdio/u32-u32-sprintf: New file.
47456         * modules/unistdio/u32-u32-vasnprintf: New file.
47457         * modules/unistdio/u32-u32-vasprintf: New file.
47458         * modules/unistdio/u32-u32-vsnprintf: New file.
47459         * modules/unistdio/u32-u32-vsprintf: New file.
47460         * modules/unistdio/ulc-asnprintf-tests: New file.
47461         * modules/unistdio/ulc-vasnprintf-tests: New file.
47462         * modules/unistdio/ulc-vasprintf-tests: New file.
47463         * modules/unistdio/ulc-vsnprintf-tests: New file.
47464         * modules/unistdio/ulc-vsprintf-tests: New file.
47465         * modules/unistdio/u8-asnprintf-tests: New file.
47466         * modules/unistdio/u8-vasnprintf-tests: New file.
47467         * modules/unistdio/u8-vasprintf-tests: New file.
47468         * modules/unistdio/u8-vsnprintf-tests: New file.
47469         * modules/unistdio/u8-vsprintf-tests: New file.
47470         * modules/unistdio/u16-asnprintf-tests: New file.
47471         * modules/unistdio/u16-vasnprintf-tests: New file.
47472         * modules/unistdio/u16-vasprintf-tests: New file.
47473         * modules/unistdio/u16-vsnprintf-tests: New file.
47474         * modules/unistdio/u16-vsprintf-tests: New file.
47475         * modules/unistdio/u32-asnprintf-tests: New file.
47476         * modules/unistdio/u32-vasnprintf-tests: New file.
47477         * modules/unistdio/u32-vasprintf-tests: New file.
47478         * modules/unistdio/u32-vsnprintf-tests: New file.
47479         * modules/unistdio/u32-vsprintf-tests: New file.
47480         * MODULES.html.sh (Unicode string functions): Add the new modules.
47481
47482 2007-07-01  Bruno Haible  <bruno@clisp.org>
47483
47484         * lib/sprintf.c (sprintf): Limit the available length estimation,
47485         to avoid address wraparound.
47486         * lib/vsprintf.c (vsprintf): Likewise.
47487         * modules/sprintf-posix (Dependencies): Add stdint.
47488         * modules/vsprintf-posix (Dependencies): Likewise.
47489
47490 2007-07-01  Bruno Haible  <bruno@clisp.org>
47491
47492         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
47493         Windows PATH as well. Conservative double-quoting. Comments.
47494
47495 2007-07-01  Bruno Haible  <bruno@clisp.org>
47496             Eric Blake  <ebb9@byu.net>
47497             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47498
47499         * gnulib-tool (self_abspathname): Fix algorithm to cope with
47500         empty components in $PATH, denoting '.'.
47501
47502 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47503
47504         * gnulib-tool: Fix indentation.
47505         (func_create_megatestdir): Likewise.
47506         Report by Bruno Haible.
47507
47508 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47509
47510         Sync from Automake.
47511         * build-aux/gnupload: Fix shell portability issues with for loops.
47512         Report by Karl Berry.
47513
47514 2007-06-29  Simon Josefsson  <simon@josefsson.org>
47515
47516         * build-aux/maint.mk (POURL): Use translationproject.org.
47517
47518 2007-06-27  Simon Josefsson  <simon@josefsson.org>
47519             Bruno Haible  <bruno@clisp.org>
47520
47521         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
47522         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
47523         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
47524         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
47525         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
47526
47527 2007-06-27  Bruno Haible  <bruno@clisp.org>
47528
47529         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
47530         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
47531
47532 2007-06-26  Karl Berry  <karl@gnu.org>
47533
47534         * MODULES.html.sh: remove xreadlink-with-size.
47535
47536 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
47537
47538         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
47539         method that I hope also handles the double-include problem noted
47540         by Bruno Haible in
47541         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
47542
47543 2007-06-23  Bruno Haible  <bruno@clisp.org>
47544
47545         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47546         Don't let the 'mostlyclean' target fail if the last subdirectory could
47547         not be removed.
47548         Reported by Karl Berry.
47549
47550 2007-06-23  Bruno Haible  <bruno@clisp.org>
47551
47552         * gnulib-tool (echo): Add a speedier workaround for ksh.
47553         * tests/test-echo.sh: Likewise.
47554
47555 2007-06-23  Bruno Haible  <bruno@clisp.org>
47556
47557         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
47558         * tests/test-echo.sh: Likewise.
47559
47560 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47561
47562         * gnulib-tool (IFS): Initialize early, so we don't set it to
47563         empty later.
47564         (self_abspathname): Rewrite algorithm to set it, reindent.
47565         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
47566         (func_create_megatestdir): Merge some sed scripts.
47567
47568 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
47569
47570         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
47571         exposed by Sun Studio 11 cc on Solaris 8.
47572
47573 2007-06-22  Bruno Haible  <bruno@clisp.org>
47574
47575         * gnulib-tool (echo): Ensure the echo primitive does not interpret
47576         backslashes.
47577         * tests/test-echo.sh: New file.
47578
47579 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47580
47581         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
47582         simplify `sed_replace_build_aux' scripts, they are portable but
47583         echoing them with `echo' is not.
47584         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
47585
47586 2007-06-21  Karl Berry  <karl@gnu.org>
47587
47588         * config/srclist.txt: guess we can't handle the licenses via
47589         srclist at the moment.
47590
47591 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
47592
47593         * MODULES.html.sh: Add include_next.
47594         * modules/include_next: New file.
47595
47596 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
47597
47598         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
47599         INCLUDE_NEXT.
47600         (gl_CHECK_NEXT_HEADERS): New macro.
47601         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
47602         the obsolescent gl_ABSOLUTE_HEADER.
47603         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
47604         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
47605         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
47606         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
47607         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
47608         * m4/math_h.m4 (gl_MATH_H): Likewise.
47609         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
47610         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
47611         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
47612         * m4/stdint.m4 (gl_STDINT_H): Likewise.
47613         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
47614         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
47615         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
47616         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
47617         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
47618         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
47619         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
47620         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
47621         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
47622         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
47623         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47624         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
47625         * m4/inttypes.m4 (gl_INTTYPES_H): Define
47626         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
47627         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
47628         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
47629         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
47630         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
47631         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
47632         * lib/float_.h: Likewise.
47633         * lib/inttypes_.h: Likewise.
47634         * lib/math_.h: Likewise.
47635         * lib/search_.h: Likewise.
47636         * lib/signal_.h: Likewise.
47637         * lib/stdint_.h: Likewise.
47638         * lib/stdio_.h: Likewise.
47639         * lib/stdlib_.h: Likewise.
47640         * lib/string_.h: Likewise.
47641         * lib/sys_stat_.h: Likewise.
47642         * lib/sys_time_.h: Likewise.
47643         * lib/time_.h: Likewise.
47644         * lib/unistd_.h: Likewise.
47645         * lib/wchar_.h: Likewise.
47646         * lib/wctype_.h: Likewise.
47647         * lib/dirent_.h: Likewise.
47648         * lib/iconv_.h: Likewise.
47649         * lib/locale_.h: Likewise.
47650         * lib/netinet_in_.h: Likewise.
47651         * lib/sys_select_.h: Likewise.
47652         * lib/sys_socket_.h: Likewise.
47653         * lib/sysexits_.h: Likewise.
47654         * modules/fcntl (Depends-on): Depend on include_next, not
47655         absolute_header.
47656         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
47657         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
47658         * modules/fchdir: Likewise.
47659         * modules/float: Likewise.
47660         * modules/iconv_open: Likewise.
47661         * modules/inttypes: Likewise.
47662         * modules/locale: Likewise.
47663         * modules/math: Likewise.
47664         * modules/netinet_in: Likewise.
47665         * modules/search: Likewise.
47666         * modules/signal: Likewise.
47667         * modules/stdint: Likewise.
47668         * modules/stdio: Likewise.
47669         * modules/stdlib: Likewise.
47670         * modules/string: Likewise.
47671         * modules/sys_select: Likewise.
47672         * modules/sys_socket: Likewise.
47673         * modules/sys_stat: Likewise.
47674         * modules/sys_time: Likewise.
47675         * modules/sysexits: Likewise.
47676         * modules/time: Likewise.
47677         * modules/unistd: Likewise.
47678         * modules/wchar: Likewise.
47679         * modules/wctype: Likewise.
47680         * modules/sys_stat: Change maintainer to "all".
47681         * modules/unistd: Likewise.
47682
47683 2007-06-20  Karl Berry  <karl@gnu.org>
47684
47685         * config/srclist.txt: track www changes in license files.
47686
47687 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
47688
47689         * build-aux/bootstrap: Remove stray dot.
47690         Make sure build_aux settings are honored when linking
47691         gnulib_extra_files.
47692
47693 2007-06-19  Eric Blake  <ebb9@byu.net>
47694
47695         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
47696         Allow compilation on cygwin.
47697
47698 2007-06-19  Jim Meyering  <jim@meyering.net>
47699
47700         xreadlink-with-size: Remove module.  No longer used.
47701         Ex-callers now use xreadlink or mreadlink-with-size.
47702         * modules/xreadlink-with-size: Remove module.
47703         * lib/xreadlink-with-size.c: Remove file.
47704         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
47705         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
47706         just before the function definition *is* accurate.
47707
47708         Eliminate one way canonicalize_filename_mode could exit.
47709         * lib/canonicalize.c (canonicalize_filename_mode):
47710         Use mreadlink_with_size, not xreadlink_with_size.
47711
47712 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
47713
47714         Detect porting problems to FreeBSD/arm, which has time_t wider than
47715         long int.  Original problem reported for GNU diff by Xin Li in
47716         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
47717         * modules/getdate (Depends-on): Add intprops, verify.
47718         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
47719         is an integer type no wider than long int.
47720
47721 2007-06-18  Jim Meyering  <jim@meyering.net>
47722
47723         New module: mreadlink-with-size.
47724         * MODULES.html.sh: Add mreadlink-with-size.
47725         * modules/mreadlink-with-size: New module
47726         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
47727         not xreadlink-with-size.
47728         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
47729
47730 2007-06-16  Bruno Haible  <bruno@clisp.org>
47731
47732         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
47733         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
47734         Reported by Gary V. Vaughan <gary@gnu.org>.
47735
47736 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
47737
47738         Revamp lchown so that it lives in unistd.h where it belongs.
47739         * lib/lchown.h: Remove.
47740         * lib/dirchownmod.c: Don't include lib/lchown.h.
47741         * lib/fchownat.c: Likewise.
47742         * lib/openat.c: Likewise.
47743         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
47744         does not follow symlinks.
47745         (EOPNOTSUPP): Define if not defined.
47746         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
47747         is defined to 0.
47748         (lchown): New decl.
47749         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
47750         Do not check for lchown decl.
47751         Set REPLACE_LCHOWN.
47752         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
47753         REPLACE_LCHOWN.
47754         * modules/chown: Make it clear it follows symlinks.
47755         * modules/lchown: Make it clear it doesn't follow symlinks.
47756         (Files): Remove lib/lchown.h
47757         (Depends-on): Add unistd.
47758         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
47759         (Include): Include <unistd.h>, not "lchown.h".
47760         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
47761         REPLACE_LCHOWN.
47762
47763 2007-06-15  Jim Meyering  <jim@meyering.net>
47764
47765         Change license (GPL to LGPL) of fsusage and dependents.
47766         * modules/fsusage (License): Change to LGPL.
47767         * modules/full-read (License): Likewise.
47768         * modules/full-write (License): Likewise.
47769         * modules/safe-read (License): Likewise.
47770         * modules/safe-write (License): Likewise.
47771
47772 2007-06-14  Ben Pfaff  <blp@gnu.org>
47773
47774         Missing part of allocsa -> malloca transition.
47775         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
47776         gl_MALLOCA.
47777
47778 2007-06-12  Bruno Haible  <bruno@clisp.org>
47779
47780         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
47781         to ia64, x86_64, i386.
47782         Reported by Eric Blake.
47783
47784 2007-06-12  Bruno Haible  <bruno@clisp.org>
47785
47786         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
47787         cross-compiling to x86_64.
47788
47789 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
47790
47791         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
47792         glitch reported by Ralf Wildenhues in
47793         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
47794
47795         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
47796         Vin Shelton.
47797
47798 2007-06-11  Bruno Haible  <bruno@clisp.org>
47799
47800         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
47801         replacement string.
47802         Reported by Eric Blake.
47803
47804 2007-06-10  Bruno Haible  <bruno@clisp.org>
47805
47806         Prepare vasnprintf code for use with Unicode strings.
47807         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
47808         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
47809         TYPE_U32_STRING.
47810         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
47811         a_u32_string variants.
47812         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47813         * lib/printf-args.c: Don't include config.h and the specification
47814         header if PRINTF_FETCHARGS is already defined.
47815         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
47816         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
47817         TYPE_U16_STRING, TYPE_U32_STRING.
47818         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
47819         u16_directive, u16_directives, u32_directive, u32_directives): New
47820         types.
47821         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
47822         New declarations.
47823         * lib/printf-parse.c: Don't include config.h and the specification
47824         header if PRINTF_PARSE is already defined. Eliminate the set of
47825         parameters for WIDE_CHAR_VERSION; the user of this file must provide
47826         them now. Include c-ctype.h.
47827         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
47828         directive and CHAR_T_ONLY_ASCII.
47829         * lib/vasnprintf.c: Don't include config.h and the specification header
47830         if VASNPRINTF is already defined.
47831         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
47832         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
47833         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
47834         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
47835         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
47836         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
47837         code accordingly.
47838         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
47839         pad_ourselves also in this case, with the 'c' and 's' directives, and
47840         with a different notion of "width".
47841         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
47842
47843 2007-06-10  Bruno Haible  <bruno@clisp.org>
47844
47845         * modules/unistr/u32-mbsnlen: New file.
47846         * lib/unistr/u32-mbsnlen.c: New file.
47847
47848         * modules/unistr/u16-mbsnlen: New file.
47849         * lib/unistr/u16-mbsnlen.c: New file.
47850
47851         * modules/unistr/u8-mbsnlen: New file.
47852         * lib/unistr/u8-mbsnlen.c: New file.
47853
47854         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
47855         declarations.
47856
47857 2007-06-10  Bruno Haible  <bruno@clisp.org>
47858
47859         * lib/string_.h (mbsnlen): New declaration.
47860         * lib/mbsnlen.c: New file.
47861         * m4/mbsnlen.m4: New file.
47862         * modules/mbsnlen: New file.
47863         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
47864         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
47865         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
47866
47867 2007-06-10  Bruno Haible  <bruno@clisp.org>
47868
47869         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
47870
47871 2007-06-10  Bruno Haible  <bruno@clisp.org>
47872
47873         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
47874         * lib/mbuiter.h: Likewise.
47875
47876 2007-06-10  Bruno Haible  <bruno@clisp.org>
47877
47878         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
47879         declaration.
47880
47881 2007-06-10  Karl Berry  <karl@gnu.org>
47882
47883         * config/srclist.txt: remove gettext entries, Bruno prefers
47884         to update individually.
47885
47886 2007-06-10  Bruno Haible  <bruno@clisp.org>
47887
47888         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
47889         'maxlen'. Ensure only length + width bytes are allocated, not
47890         length + 1 + width.
47891
47892 2007-06-09  Bruno Haible  <bruno@clisp.org>
47893
47894         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
47895         (CHAR_T): Remove macro.
47896         (VASNPRINTF): Update.
47897
47898 2007-06-09  Bruno Haible  <bruno@clisp.org>
47899
47900         * MODULES.html.sh (Unicode string functions): Add the new modules.
47901
47902         * modules/uniconv/u32-conv-to-enc: New file.
47903         * lib/uniconv/u32-conv-to-enc.c: New file.
47904         * modules/uniconv/u32-conv-to-enc-tests: New file.
47905         * tests/uniconv/test-u32-conv-to-enc.c: New file.
47906
47907         * modules/uniconv/u16-conv-to-enc: New file.
47908         * lib/uniconv/u16-conv-to-enc.c: New file.
47909         * lib/uniconv/u-conv-to-enc.h: New file.
47910         * modules/uniconv/u16-conv-to-enc-tests: New file.
47911         * tests/uniconv/test-u16-conv-to-enc.c: New file.
47912
47913         * modules/uniconv/u8-conv-to-enc: New file.
47914         * lib/uniconv/u8-conv-to-enc.c: New file.
47915         * modules/uniconv/u8-conv-to-enc-tests: New file.
47916         * tests/uniconv/test-u8-conv-to-enc.c: New file.
47917
47918         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
47919         u32_conv_to_encoding): New declarations.
47920
47921 2007-06-09  Bruno Haible  <bruno@clisp.org>
47922
47923         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
47924
47925 2007-06-09  Bruno Haible  <bruno@clisp.org>
47926
47927         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
47928         * modules/malloca: Renamed from modules/allocsa, updated.
47929         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
47930         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
47931         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
47932         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
47933         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
47934         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
47935         * modules/xmalloca: Renamed from modules/xallocsa, updated.
47936         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
47937         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
47938         * modules/c-strcasestr (Depends-on): Update.
47939         * lib/c-strcasestr.c: Update.
47940         * modules/c-strstr (Depends-on): Update.
47941         * lib/c-strstr.c: Update.
47942         * modules/canonicalize-lgpl (Depends-on): Update.
47943         * lib/canonicalize-lgpl.c: Update.
47944         * modules/clean-temp (Depends-on): Update.
47945         * lib/clean-temp.c: Update.
47946         * modules/csharpcomp (Depends-on): Update.
47947         * lib/csharpcomp.c: Update.
47948         * modules/csharpexec (Depends-on): Update.
47949         * lib/csharpexec.c: Update.
47950         * modules/javacomp (Depends-on): Update.
47951         * lib/javacomp.c: Update.
47952         * modules/javaexec (Depends-on): Update.
47953         * lib/javaexec.c: Update.
47954         * modules/mbscasestr (Depends-on): Update.
47955         * lib/mbscasestr.c: Update.
47956         * modules/mbsstr (Depends-on): Update.
47957         * lib/mbsstr.c: Update.
47958         * modules/setenv (Depends-on): Update.
47959         * lib/setenv.c: Update.
47960         * modules/strcasestr (Depends-on): Update.
47961         * lib/strcasestr.c: Update.
47962         * modules/striconveha (Depends-on): Update.
47963         * lib/striconveha.c: Update.
47964         * modules/relocatable-prog-wrapper (Files): Update.
47965         * lib/relocwrapper.c: Update.
47966         * build-aux/install-reloc: Update.
47967         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
47968
47969 2007-06-08  Bruno Haible  <bruno@clisp.org>
47970
47971         Port to uClibc.
47972         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
47973         * lib/fpurge.c (fpurge): Likewise.
47974         * lib/freading.c (freading): Likewise.
47975         * lib/fseeko.c (rpl_fseeko): Likewise.
47976         * lib/fseterr.c (fseterr): Likewise.
47977         * lib/fwriting.c (fwriting): Likewise.
47978         * tests/test-fflush.c (main): Avoid a failure on uClibc.
47979
47980 2007-06-08  Bruno Haible  <bruno@clisp.org>
47981
47982         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
47983         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
47984         * modules/gettext (Files): Add m4/intlmacosx.m4.
47985
47986 2007-06-07  Bruno Haible  <bruno@clisp.org>
47987
47988         * modules/localename-tests: New file.
47989         * tests/test-localename.c: New file.
47990
47991         New module 'localename'.
47992         * lib/localename.h: New file.
47993         * lib/localename.c: New file, from GNU gettext.
47994         * m4/localename.m4: New file.
47995         * modules/localename: New file.
47996
47997 2007-06-07  Bruno Haible  <bruno@clisp.org>
47998
47999         Work around the lack of <wchar.h> on some builds of uClibc.
48000         * doc/headers/wchar.texi: Update.
48001         * lib/wchar_.h: Include <wchar.h> only if it exists.
48002         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
48003         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
48004         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
48005         doesn't exist.
48006         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
48007         * modules/mbfile (Depends-on): Add wchar.
48008         * modules/mbiter (Depends-on): Likewise.
48009         * modules/mbuiter (Depends-on): Likewise.
48010         Reported by Simon Josefsson.
48011
48012 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
48013
48014         Work around problem reported by Steven M. Schweda in
48015         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
48016         Tru64 5.1B with the Compaq compiler environment installed declares
48017         an 'isblank' function but does not define it in the C library.
48018         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
48019         * lib/regex_internal.h (isblank): Likewise.
48020         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
48021         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48022
48023 2007-06-05  Bruno Haible  <bruno@clisp.org>
48024
48025         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
48026         ia64.
48027         * modules/printf-safe: New file.
48028         * modules/fprintf-posix (Depends-on): Add printf-safe.
48029         * modules/printf-posix (Depends-on): Likewise.
48030         * modules/snprintf-posix (Depends-on): Likewise.
48031         * modules/sprintf-posix (Depends-on): Likewise.
48032         * modules/vasnprintf-posix (Depends-on): Likewise.
48033         * modules/vasprintf-posix (Depends-on): Likewise.
48034         * modules/vfprintf-posix (Depends-on): Likewise.
48035         * modules/vprintf-posix (Depends-on): Likewise.
48036         * modules/vsnprintf-posix (Depends-on): Likewise.
48037         * modules/vsprintf-posix (Depends-on): Likewise.
48038         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
48039         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
48040         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
48041         "no" on i386, x86_64, ia64.
48042         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
48043         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48044         on i386, x86_64, ia64.
48045         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
48046         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48047         on i386, x86_64, ia64.
48048         * tests/test-vasnprintf-posix.c: Include float.h.
48049         (LDBL80_WORDS): New macro.
48050         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48051         on i386, x86_64, ia64.
48052         * tests/test-vasprintf-posix.c: Include float.h.
48053         (LDBL80_WORDS): New macro.
48054         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
48055         on i386, x86_64, ia64.
48056         * tests/test-snprintf-posix.c: Include float.h.
48057         * tests/test-sprintf-posix.c: Likewise.
48058         * tests/test-vsnprintf-posix.c: Likewise.
48059         * tests/test-vsprintf-posix.c: Likewise.
48060
48061 2007-06-05  Bruno Haible  <bruno@clisp.org>
48062
48063         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
48064         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
48065         non-IEEE numbers on i386, x86_64, ia64.
48066         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
48067         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
48068         * tests/test-isnanl.h: Include float.h.
48069         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
48070
48071 2007-06-05  Bruno Haible  <bruno@clisp.org>
48072
48073         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
48074         also the %a / %A. Handle the %a / %A code before this extra handling.
48075
48076 2007-06-05  Bruno Haible  <bruno@clisp.org>
48077
48078         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
48079         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
48080
48081 2007-06-05  Bruno Haible  <bruno@clisp.org>
48082
48083         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
48084         typo in variable name.
48085
48086 2007-06-05  Eric Blake  <ebb9@byu.net>
48087
48088         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
48089         Reported by Simon Josefsson.
48090
48091 2007-06-04  Bruno Haible  <bruno@clisp.org>
48092
48093         Avoid test failures on some PowerPC platforms.
48094         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
48095         Define differently for PowerPC.
48096         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
48097         Reported by Gary V. Vaughan <gary@gnu.org>.
48098
48099 2007-06-02  Bruno Haible  <bruno@clisp.org>
48100
48101         Fix test-stdint failure on FreeBSD/ia64.
48102         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
48103         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
48104         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
48105         * doc/headers/stdint.texi: Update.
48106
48107 2007-06-01  Bruno Haible  <bruno@clisp.org>
48108
48109         * tests/test-binary-io.c (main): Pass a third argument to open().
48110         Reported by Gary V. Vaughan <gary@gnu.org>.
48111
48112 2007-06-01  Bruno Haible  <bruno@clisp.org>
48113
48114         * doc/functions/frexpl.texi: Update for mingw.
48115
48116 2007-06-01  Bruno Haible  <bruno@clisp.org>
48117
48118         * tests/test-lseek.c (main): Disable test of errno for invalid third
48119         argument.
48120         * doc/functions/lseek.texi: Update.
48121         Reported by Gary V. Vaughan <gary@gnu.org>.
48122
48123 2007-05-28  Bruno Haible  <bruno@clisp.org>
48124
48125         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
48126
48127 2007-05-31  Eric Blake  <ebb9@byu.net>
48128
48129         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
48130         cross compiling.
48131
48132 2007-05-30  Eric Blake  <ebb9@byu.net>
48133         and Bruno Haible  <bruno@clisp.org>
48134
48135         Work around mingw test failures exposed by m4-1.4.9b.
48136         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
48137         * tests/test-unistd.c: Disable uid_t and git_t tests for the
48138         moment.
48139
48140 2007-05-30  Bruno Haible  <bruno@clisp.org>
48141
48142         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
48143         assuming that they are closed. Needed on HP-UX 11.
48144
48145 2007-05-29  Bruno Haible  <bruno@clisp.org>
48146
48147         Fix a problem with #include_next.
48148         * lib/dirent_.h: Split the double-inclusion guard.
48149         * lib/fcntl_.h: Likewise.
48150         * lib/float_.h: Likewise.
48151         * lib/iconv_.h: Likewise.
48152         * lib/inttypes_.h: Likewise.
48153         * lib/locale_.h: Likewise.
48154         * lib/math_.h: Likewise.
48155         * lib/netinet_in_.h: Likewise.
48156         * lib/search_.h: Likewise.
48157         * lib/signal_.h: Likewise.
48158         * lib/stdint_.h: Likewise.
48159         * lib/stdio_.h: Likewise.
48160         * lib/stdlib_.h: Likewise.
48161         * lib/string_.h: Likewise.
48162         * lib/sys_select_.h: Likewise.
48163         * lib/sys_socket_.h: Likewise.
48164         * lib/sys_stat_.h: Likewise.
48165         * lib/sys_time_.h: Likewise.
48166         * lib/sysexits_.h: Likewise.
48167         * lib/time_.h: Likewise.
48168         * lib/unistd_.h: Likewise.
48169         * lib/wchar_.h: Likewise.
48170         * lib/wctype_.h: Likewise.
48171
48172 2007-05-29  Bruno Haible  <bruno@clisp.org>
48173
48174         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
48175         for the moment.
48176
48177 2007-05-29  Bruno Haible  <bruno@clisp.org>
48178
48179         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
48180         invocation.
48181         Reported by Eric Blake.
48182
48183 2007-05-29  Bruno Haible  <bruno@clisp.org>
48184
48185         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
48186         compiling case.
48187
48188 2007-05-29  Eric Blake  <ebb9@byu.net>
48189             Bruno Haible  <bruno@clisp.org>
48190
48191         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
48192         cross compiles.
48193
48194 2007-05-28  Eric Blake  <ebb9@byu.net>
48195
48196         * modules/closein-tests (test_closein_LDADD): Support test on
48197         cygwin with libtool.
48198
48199 2007-05-28  Bruno Haible  <bruno@clisp.org>
48200
48201         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
48202         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
48203         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
48204         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
48205         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
48206         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
48207         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
48208         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
48209         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
48210
48211 2007-05-28  Eric Blake  <ebb9@byu.net>
48212
48213         Unconditionally include <config.h> in unit tests.
48214         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
48215         * tests/test-allocsa.c, tests/test-arcfour.c,
48216         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
48217         tests/test-array_list.c, tests/test-array_oset.c,
48218         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
48219         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
48220         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
48221         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
48222         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
48223         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
48224         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
48225         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
48226         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
48227         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
48228         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
48229         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
48230         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
48231         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
48232         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
48233         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
48234         test-md5.c, test-memmem.c, test-printf-posix.c,
48235         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
48236         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
48237         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
48238         test-strcasestr.c, test-striconv.c, test-striconveh.c,
48239         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
48240         test-vasnprintf-posix2.c, test-vasnprintf.c,
48241         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
48242         test-vfprintf-posix.c, test-vprintf-posix.c,
48243         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
48244         test-xvasprintf.c: Likewise.
48245
48246 2007-05-28  Bruno Haible  <bruno@clisp.org>
48247
48248         * gnulib-tool (func_import): Remember the --with-tests command-line
48249         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
48250         Reported by Eric Blake.
48251
48252 2007-05-28  Bruno Haible  <bruno@clisp.org>
48253
48254         * modules/ftell-tests: New file.
48255         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
48256         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
48257
48258         * lib/ftell.c: New file.
48259         * modules/ftell: New file.
48260         * m4/ftell.m4: New file.
48261         * doc/functions/ftell.texi: Update.
48262         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
48263         REPLACE_FTELL.
48264         * lib/stdio_.h (rpl_ftell): New declaration.
48265         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
48266         REPLACE_FTELL.
48267
48268 2007-05-28  Eric Blake  <ebb9@byu.net>
48269
48270         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
48271
48272 2007-05-28  Bruno Haible  <bruno@clisp.org>
48273
48274         * modules/fseek-tests: New file.
48275         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
48276         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
48277
48278         * lib/fseek.c: New file.
48279         * modules/fseek: New file.
48280         * m4/fseek.m4: New file.
48281         * doc/functions/fseek.texi: Update.
48282         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
48283         REPLACE_FSEEK.
48284         * lib/stdio_.h (rpl_fseek): New declaration.
48285         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
48286         REPLACE_FSEEK.
48287
48288 2007-05-28  Bruno Haible  <bruno@clisp.org>
48289
48290         * lib/stdio_.h (fflush): More comments.
48291
48292 2007-05-28  Bruno Haible  <bruno@clisp.org>
48293
48294         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
48295         runtime test.
48296
48297 2007-05-28  Eric Blake  <ebb9@byu.net>
48298
48299         Improve lseek module.
48300         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
48301         * lib/unistd_.h (lseek): Scale back link warning message.
48302         * tests/test-lseek.c: Beef up test.
48303         * tests/test-lseek.sh: Exercise more facets of lseek.
48304         Reported by Bruno Haible.
48305
48306 2007-05-28  Bruno Haible  <bruno@clisp.org>
48307
48308         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
48309         to define.
48310
48311 2007-05-27  Bruno Haible  <bruno@clisp.org>
48312
48313         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
48314
48315 2007-05-27  Bruno Haible  <bruno@clisp.org>
48316
48317         * modules/openmp: New file.
48318         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
48319         Noah Misch.
48320
48321 2007-05-26  Bruno Haible  <bruno@clisp.org>
48322
48323         * modules/chdir-long (Depends-on): Add fchdir.
48324         * modules/chdir-safer (Depends-on): Likewise.
48325         * modules/fts (Depends-on): Likewise.
48326         * modules/fts-lgpl (Depends-on): Likewise.
48327         * modules/openat (Depends-on): Likewise.
48328         * modules/savewd (Depends-on): Likewise.
48329
48330 2007-05-24  Eric Blake  <ebb9@byu.net>
48331
48332         Fix lseek on mingw.
48333         * modules/lseek: New module.
48334         * m4/lseek.m4: New file.
48335         * lib/lseek.c: New file.
48336         * modules/lseek-tests: New file.
48337         * tests/test-lseek.c: New file.
48338         * tests/test-lseek.sh: New file.
48339         * MODULES.html.sh: Document lseek module.
48340         * modules/fflush (Depends-on): Add lseek, fseeko.
48341         * modules/fseeko (Depends-on): Likewise.
48342         * modules/ftello (Depends-on): Likewise.
48343         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
48344         broken.
48345         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
48346         broken.
48347         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
48348         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
48349         * lib/ftello.c (rpl_ftello): Likewise.
48350         * tests/test-fseeko.c (main): Test this.
48351         * tests/test-fseeko.sh: Likewise.
48352         * tests/test-ftello.c (main): Likewise.
48353         * tests/test-ftello.sh: Likewise.
48354         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
48355         implies replacing fseek.
48356         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
48357         HAVE_FTELLO.
48358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
48359         * modules/unistd (Makefile.am): Likewise.
48360         * lib/unistd_.h (lseek): Declare a replacement.
48361         * doc/functions/lseek.texi (lseek): Document this fix.
48362         * doc/functions/fseek.texi (fseek): Likewise.
48363         * doc/functions/ftell.texi (ftell): Likewise.
48364
48365 2007-05-24  Bruno Haible  <bruno@clisp.org>
48366
48367         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
48368         in the printed representation of a NaN.
48369         * tests/test-vasprintf-posix.c (test_function): Likewise.
48370         * tests/test-snprintf-posix.h (test_function): Likewise.
48371         * tests/test-sprintf-posix.h (test_function): Likewise.
48372         Reported by Eric Blake.
48373
48374 2007-05-23  Eric Blake  <ebb9@byu.net>
48375
48376         Fix fseeko/ftello on cygwin 1.5.24.
48377         * doc/functions/fseeko.texi (fseeko): Document the fix.
48378         * doc/functions/ftello.texi (ftello): Document the fix.
48379         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
48380         * doc/functions/stdout.text (stdout): New file.
48381         * doc/functions/stderr.text (stderr): New file.
48382         * doc/gnulib.texi (Function Substitutes): Use new files.
48383         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
48384         prior to 1.7.0.
48385         * tests/test-ftello.c (main): Likewise for ftello.
48386         * tests/test-fseeko.sh: New file.
48387         * tests/test-ftello.sh: New file.
48388         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
48389         with seekable stdin.
48390         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
48391         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
48392         (gl_REPLACE_FSEEKO): New macro.
48393         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
48394         * modules/fseeko (Files): Distribute fseeko.c.
48395         * modules/ftello (Files): Distribute ftello.c.
48396         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
48397         mode.
48398         * lib/ftello.c (rpl_ftello): New file.
48399         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
48400         fseeko, ftello.
48401         (gl_STDIN_LARGE_OFFSET): New macro.
48402         * modules/stdio (Makefile.am): Perform the replacement.
48403         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
48404
48405 2007-05-23  Bruno Haible  <bruno@clisp.org>
48406
48407         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
48408         GNULIB_POSIXCHECK is defined.
48409
48410 2007-05-21  Bruno Haible  <bruno@clisp.org>
48411
48412         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
48413         Check also the output for NaN arguments. When cross-compiling, guess
48414         no on IRIX.
48415         * lib/vasnprintf.c: Update comments.
48416         * tests/test-vasnprintf-posix.c (strisnan): New function.
48417         (test_function): Use it.
48418         * tests/test-vasprintf-posix.c (strisnan): New function.
48419         (test_function): Use it.
48420         * tests/test-snprintf-posix.h (strisnan): New function.
48421         (test_function): Use it.
48422         * tests/test-sprintf-posix.h (strisnan): New function.
48423         (test_function): Use it.
48424         Reported by Eric Blake.
48425
48426 2007-05-20  Bruno Haible  <bruno@clisp.org>
48427
48428         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
48429         numbers that fails on BeOS.
48430         * doc/functions/frexpl.texi: Update.
48431
48432 2007-05-20  Jim Meyering  <jim@meyering.net>
48433
48434         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
48435         forced upon us by glibc-2.6.
48436
48437 2007-05-20  Bruno Haible  <bruno@clisp.org>
48438
48439         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
48440         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
48441         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
48442         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
48443         NEED_PRINTF_INFINITE.
48444         (is_infinitel): New function.
48445         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
48446         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
48447         gl_PREREQ_VASNPRINTF_INFINITE.
48448         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
48449         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48450         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
48451         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
48452         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
48453         gl_PREREQ_VASNPRINTF_INFINITE.
48454         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48455         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48456         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48457         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48458         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48459         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48460         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48461         * doc/functions/fprintf.texi: Update.
48462         * doc/functions/printf.texi: Update.
48463         * doc/functions/snprintf.texi: Update.
48464         * doc/functions/sprintf.texi: Update.
48465         * doc/functions/vfprintf.texi: Update.
48466         * doc/functions/vprintf.texi: Update.
48467         * doc/functions/vsnprintf.texi: Update.
48468         * doc/functions/vsprintf.texi: Update.
48469
48470 2007-05-20  Bruno Haible  <bruno@clisp.org>
48471
48472         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
48473         was not found in libc.
48474         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48475
48476 2007-05-20  Bruno Haible  <bruno@clisp.org>
48477
48478         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
48479         printed as "-nan" instead of "nan".
48480         * tests/test-vasprintf-posix.c (test_function): Likewise.
48481         * tests/test-snprintf-posix.h (test_function): Likewise.
48482         * tests/test-sprintf-posix.h (test_function): Likewise.
48483         Needed for HP-UX 11.
48484
48485 2007-05-20  Jim Meyering  <jim@meyering.net>
48486
48487         Fix buggy test for the fchownat-deref bug.
48488         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
48489         symlink required for the run-test.  Without it, this test would
48490         always declare that fchownat doesn't work, and client code would
48491         unnecessarily use the replacement function with fixed libc.
48492         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
48493         Reported by Greg Schafer.
48494
48495 2007-05-19  Bruno Haible  <bruno@clisp.org>
48496
48497         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
48498         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
48499         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
48500         Needed for IRIX 6.5 and Solaris 2.5.1.
48501
48502 2007-05-19  Bruno Haible  <bruno@clisp.org>
48503
48504         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
48505         (test_function): Skip tests involving -0.0 on platforms where
48506         -0.0 = 0.0.
48507         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
48508         (test_function): Skip tests involving -0.0 on platforms where
48509         -0.0 = 0.0.
48510         * tests/test-snprintf-posix.h (have_minus_zero): New function.
48511         (test_function): Skip tests involving -0.0 on platforms where
48512         -0.0 = 0.0.
48513         * tests/test-sprintf-posix.h (have_minus_zero): New function.
48514         (test_function): Skip tests involving -0.0 on platforms where
48515         -0.0 = 0.0.
48516         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
48517         tests.
48518         * tests/test-printf-posix.h (test_function): Likewise.
48519         * tests/test-printf-posix.output: Remove all -0.0 related results.
48520         Needed for IRIX 6.5.
48521
48522 2007-05-19  Bruno Haible  <bruno@clisp.org>
48523
48524         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
48525         printed as "nan0x7fffffff" instead of "nan".
48526         * tests/test-vasprintf-posix.c (test_function): Likewise.
48527         * tests/test-snprintf-posix.h (test_function): Likewise.
48528         * tests/test-sprintf-posix.h (test_function): Likewise.
48529         * tests/test-fprintf-posix.h (NaN): Remove macro.
48530         (test_function): Remove all NaN related tests.
48531         * tests/test-printf-posix.h (NaN): Remove macro.
48532         (test_function): Remove all NaN related tests.
48533         * tests/test-printf-posix.output: Remove all NaN related results.
48534         Needed for IRIX 6.5.
48535
48536 2007-05-19  Bruno Haible  <bruno@clisp.org>
48537
48538         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
48539         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
48540
48541 2007-05-19  Bruno Haible  <bruno@clisp.org>
48542
48543         * lib/float_.h: New file.
48544         * m4/float_h.m4: New file.
48545         * modules/float: New file.
48546         * modules/isnanl (Dependencies): Add float.
48547         * modules/isnanl-nolibm (Dependencies): Likewise.
48548         * modules/mathl (Dependencies): Likewise.
48549         * modules/printf-frexpl (Dependencies): Likewise.
48550         * modules/signbit (Dependencies): Likewise.
48551         * modules/vasnprintf (Dependencies): Likewise.
48552         * doc/headers/float.texi: Update.
48553
48554 2007-05-19  Jim Meyering  <jim@meyering.net>
48555
48556         * lib/utimens.c (gl_futimens): Rename from futimens,
48557         now that glibc-2.6 declares futimens.
48558         * lib/utimens.h: Likewise.
48559
48560 2007-05-19  Bruno Haible  <bruno@clisp.org>
48561
48562         Avoid test failures on mingw.
48563         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
48564         * tests/test-printf-posix.sh: Likewise.
48565         * tests/test-vfprintf-posix.sh: Likewise.
48566         * tests/test-vprintf-posix.sh: Likewise.
48567
48568 2007-05-19  Bruno Haible  <bruno@clisp.org>
48569
48570         Fix *printf result for NaN, Inf, -0.0 on mingw.
48571         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
48572         * lib/vasnprintf.c: Include math.h and isnan.h.
48573         (is_infinite_or_zero): New function.
48574         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
48575         values in the %f, %F, %e, %E, %g, %G directives.
48576         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
48577         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48578         gl_PRINTF_INFINITE and test its result. Invoke
48579         gl_PREREQ_VASNPRINTF_INFINITE.
48580         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48581         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48582         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48583         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48584         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48585         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48586         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48587         * doc/functions/fprintf.texi: Update.
48588         * doc/functions/printf.texi: Update.
48589         * doc/functions/snprintf.texi: Update.
48590         * doc/functions/sprintf.texi: Update.
48591         * doc/functions/vfprintf.texi: Update.
48592         * doc/functions/vprintf.texi: Update.
48593         * doc/functions/vsnprintf.texi: Update.
48594         * doc/functions/vsprintf.texi: Update.
48595
48596 2007-05-19  Bruno Haible  <bruno@clisp.org>
48597
48598         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
48599         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
48600         Instead of multiplying with 10^k, set extra_zeroes to k.
48601         (scale10_round_long_double): Remove function.
48602
48603 2007-05-18  Bruno Haible  <bruno@clisp.org>
48604
48605         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
48606         introduced on 2007-05-06.
48607
48608 2007-05-18  Bruno Haible  <bruno@clisp.org>
48609
48610         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
48611         %g directives.
48612         * tests/test-vasprintf-posix.c (test_function): Likewise.
48613         * tests/test-snprintf-posix.h (test_function): Likewise.
48614         * tests/test-sprintf-posix.h (test_function): Likewise.
48615
48616 2007-05-18  Bruno Haible  <bruno@clisp.org>
48617
48618         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
48619         (strmatch): New function.
48620         (test_function): Test the %f directive on numbers of various exponents.
48621         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
48622         (strmatch): New function.
48623         (test_function): Test the %f directive on numbers of various exponents.
48624         * tests/test-snprintf-posix.h (strmatch): New function.
48625         (test_function): Test the %f directive on numbers of various exponents.
48626         * tests/test-sprintf-posix.h (strmatch): New function.
48627         (test_function): Test the %f directive on numbers of various exponents.
48628         * tests/test-snprintf-posix.c (SIZEOF): New macro.
48629         * tests/test-sprintf-posix.c (SIZEOF): New macro.
48630         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
48631         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
48632
48633 2007-05-18  Bruno Haible  <bruno@clisp.org>
48634
48635         Add support for 'long double' number output.
48636         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
48637         * lib/vasnprintf.c: Include math.h and float+.h.
48638         (mp_limb_t): New type.
48639         (GMP_LIMB_BITS): New macro.
48640         (mp_twolimb_t): New type.
48641         (GMP_TWOLIMB_BITS): New macro.
48642         (mpn_t): New type.
48643         (multiply, divide, convert_to_decimal, decode_long_double,
48644         scale10_round_long_double, scale10_round_decimal_long_double,
48645         floorlog10l): New functions.
48646         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
48647         for the %f, %F, %e, %E, %g, %G directives.
48648         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
48649         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48650         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
48651         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
48652         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48653         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48654         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48655         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48656         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48657         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48658         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48659         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
48660         * modules/snprintf-posix (Depends-on): Likewise.
48661         * modules/sprintf-posix (Depends-on): Likewise.
48662         * modules/vasnprintf-posix (Depends-on): Likewise.
48663         * modules/vasprintf-posix (Depends-on): Likewise.
48664         * modules/vfprintf-posix (Depends-on): Likewise.
48665         * modules/vsnprintf-posix (Depends-on): Likewise.
48666         * modules/vsprintf-posix (Depends-on): Likewise.
48667         * modules/vasnprintf (Files): Add lib/float+.h.
48668         * doc/functions/fprintf.texi: Update.
48669         * doc/functions/printf.texi: Update.
48670         * doc/functions/snprintf.texi: Update.
48671         * doc/functions/sprintf.texi: Update.
48672         * doc/functions/vfprintf.texi: Update.
48673         * doc/functions/vprintf.texi: Update.
48674         * doc/functions/vsnprintf.texi: Update.
48675         * doc/functions/vsprintf.texi: Update.
48676
48677 2007-05-18  Bruno Haible  <bruno@clisp.org>
48678
48679         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
48680
48681 2007-05-18  Bruno Haible  <bruno@clisp.org>
48682
48683         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
48684         for printing 64-bit integers. Needed for mingw.
48685
48686 2007-05-18  Bruno Haible  <bruno@clisp.org>
48687
48688         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
48689         gl_FUNC_FREXPL_WORKS.
48690         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
48691
48692 2007-05-18  Bruno Haible  <bruno@clisp.org>
48693
48694         * modules/frexpl-nolibm-tests: New file.
48695
48696         * modules/frexpl-nolibm: New file.
48697         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
48698
48699 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
48700
48701         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
48702         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48703         GCC 4.2, which otherwise issues a lot of warnings.
48704         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
48705         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
48706         Likewise.
48707         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
48708         * modules/iconv_open (iconv.h): Likewise.
48709         * modules/locale (locale.h): Likewise.
48710         * modules/netinet_in (netinet/in.h): Likewise.
48711         * modules/sys_select (sys_select.h): Likewise.
48712         * modules/sys_socket (sys/socket.h): Likewise.
48713         * modules/sys_stat (sys/stat.h): Likewise.
48714         * modules/sysexits (sysexits.h): Likewise.
48715         * modules/unistd (unistd.h): Likewise.
48716
48717 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48718
48719         * modules/closein-tests (Makefile.am): Distribute
48720         `test-closein.sh'.
48721
48722 2007-05-17  Bruno Haible  <bruno@clisp.org>
48723
48724         * tests/test-printf-posix.output: Renamed from
48725         tests/test-fprintf-posix.out.
48726         * modules/fprintf-posix-tests: Update.
48727         * modules/printf-posix-tests: Update.
48728         * modules/vfprintf-posix-tests: Update.
48729         * modules/vprintf-posix-tests: Update.
48730         * tests/test-fprintf-posix.sh: Update.
48731         * tests/test-printf-posix.sh: Update.
48732         * tests/test-vfprintf-posix.sh: Update.
48733         * tests/test-vprintf-posix.sh: Update.
48734         Reported by Ralf Wildenhues.
48735
48736 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
48737
48738         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
48739         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
48740         GCC 4.2, which otherwise issues a lot of warnings.
48741         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
48742         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
48743         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
48744         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
48745         it should no longer be needed.
48746         * lib/string_.h: Likewise.
48747         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
48748         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
48749         * modules/inttypes (inttypes.h): Likewise.
48750         * modules/math (math.h): Likewise.
48751         * modules/search (search.h): Likewise.
48752         * modules/signal (signal.h): Likewise.
48753         * modules/stdint (stdint.h): Likewise.
48754         * modules/stdio (stdio.h): Likewise.
48755         * modules/stdlib (stdlib.h): Likewise.
48756         * modules/string (string.h): Likewise.
48757         * modules/sys_time (sys/time.h): Likewise.
48758         * modules/time (time.h): Likewise.
48759         * modules/wchar (wchar.h): Likewise.
48760         * modules/wctype (wtype.h): Likewise.
48761
48762 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
48763
48764         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
48765
48766 2007-05-13  Bruno Haible  <bruno@clisp.org>
48767
48768         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
48769         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
48770         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
48771         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
48772         (gl_PREREQ_STRTOK_R): Don't require it here.
48773
48774 2007-05-13  Bruno Haible  <bruno@clisp.org>
48775
48776         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
48777         when used in C++ mode.
48778
48779 2007-05-12  Bruno Haible  <bruno@clisp.org>
48780
48781         * lib/linebuffer.h: Tweak doc.
48782         * lib/linebuffer.c: Likewise.
48783
48784 2007-05-12  James Youngman  <jay@gnu.org>
48785
48786         * lib/linebuffer.c (readlinebuffer_delim): New function,
48787         like readlinebuffer, but use a caller-specified delimiter.
48788         (readlinebuffer): Just call readlinebuffer_delim with '\n'
48789         as the delimiter.
48790         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
48791
48792 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
48793
48794         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
48795         * modules/openat (Files): Remove openat-die.c.
48796         (Depends-on): Add openat-die.
48797         * modules/openat-die: New module.
48798
48799 2007-05-06  Bruno Haible  <bruno@clisp.org>
48800
48801         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
48802         Update with info about Cygwin.
48803         * doc/functions/fprintf.texi: Update.
48804         * doc/functions/printf.texi: Update.
48805         * doc/functions/snprintf.texi: Update.
48806         * doc/functions/sprintf.texi: Update.
48807         * doc/functions/vfprintf.texi: Update.
48808         * doc/functions/vprintf.texi: Update.
48809         * doc/functions/vsnprintf.texi: Update.
48810         * doc/functions/vsprintf.texi: Update.
48811         Reported by Eric Blake.
48812
48813 2007-05-06  Bruno Haible  <bruno@clisp.org>
48814
48815         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
48816         padding ourselves for the floating-point directives.
48817         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
48818         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
48819         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48820         gl_PRINTF_FLAG_ZERO and test its result. Invoke
48821         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
48822         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48823         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48824         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48825         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48826         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48827         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48828         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48829         * tests/test-snprintf-posix.h (test_function): Also check the width
48830         and some flags in the %f directive.
48831         * tests/test-sprintf-posix.h (test_function): Likewise.
48832         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48833         * tests/test-vasprintf-posix.c (test_function): Likewise.
48834         * doc/functions/fprintf.texi: Update.
48835         * doc/functions/printf.texi: Update.
48836         * doc/functions/snprintf.texi: Update.
48837         * doc/functions/sprintf.texi: Update.
48838         * doc/functions/vfprintf.texi: Update.
48839         * doc/functions/vprintf.texi: Update.
48840         * doc/functions/vsnprintf.texi: Update.
48841         * doc/functions/vsprintf.texi: Update.
48842
48843 2007-05-06  Bruno Haible  <bruno@clisp.org>
48844
48845         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
48846         pass the ' flag character to sprintf or snprintf.
48847         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
48848         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
48849         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
48850         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
48851         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
48852         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48853         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
48854         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48855         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48856         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48857         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48858         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48859         * tests/test-snprintf-posix.h (test_function): Also check the grouping
48860         flag.
48861         * tests/test-sprintf-posix.h (test_function): Likewise.
48862         * tests/test-vasnprintf-posix.c (test_function): Likewise.
48863         * tests/test-vasprintf-posix.c (test_function): Likewise.
48864         * doc/functions/fprintf.texi: Update.
48865         * doc/functions/printf.texi: Update.
48866         * doc/functions/snprintf.texi: Update.
48867         * doc/functions/sprintf.texi: Update.
48868         * doc/functions/vfprintf.texi: Update.
48869         * doc/functions/vprintf.texi: Update.
48870         * doc/functions/vsnprintf.texi: Update.
48871         * doc/functions/vsprintf.texi: Update.
48872
48873 2007-05-01  Bruno Haible  <bruno@clisp.org>
48874
48875         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
48876
48877 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
48878
48879         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
48880         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
48881
48882 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
48883
48884         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
48885         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
48886         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
48887
48888 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
48889
48890         * lib/argp-help.c (struct hol_entry): New member `ord'.
48891         (HOL_ENTRY_PTRCMP): Use ord for comparison
48892         (hol_sort): Initialize ord.
48893
48894 2007-05-01  Bruno Haible  <bruno@clisp.org>
48895
48896         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
48897         Reported by Eric Blake.
48898         * doc/gnulib.texi (Function Substitutes): Update.
48899
48900 2007-05-01  Bruno Haible  <bruno@clisp.org>
48901
48902         * doc/functions.texi: Remove file, now redundant through
48903         doc/functions/*.texi.
48904
48905 2007-05-01  Bruno Haible  <bruno@clisp.org>
48906
48907         * modules/argp (Depends-on): Add sleep.
48908
48909 2007-05-01  Bruno Haible  <bruno@clisp.org>
48910
48911         * modules/sleep-tests: New file.
48912         * tests/test-sleep.c: New file.
48913
48914         * modules/sleep: New file.
48915         * lib/sleep.c: New file.
48916         * m4/sleep.m4: New file.
48917         * lib/unistd_.h (sleep): New declaration.
48918         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
48919         HAVE_SLEEP.
48920         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
48921         * doc/functions/sleep.texi: Document the sleep module.
48922
48923 2007-05-01  Bruno Haible  <bruno@clisp.org>
48924
48925         * lib/sigprocmask.h: Remove file.
48926         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
48927         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
48928         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
48929         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
48930         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
48931         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
48932         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
48933         HAVE_SIGSET_T as a shell variable.
48934         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
48935         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
48936         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
48937         (Depends-on): Add signal. Remove verify.
48938         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
48939         (Include): Mention <signal.h> instead of sigprocmask.h.
48940         * NEWS: Mention the change.
48941         * lib/fatal-signal.c: Don't include sigprocmask.h.
48942
48943 2007-05-01  Bruno Haible  <bruno@clisp.org>
48944
48945         * modules/signal: New file.
48946         * lib/signal_.h: New file.
48947         * m4/signal_h.m4: New file.
48948
48949 2007-05-01  Bruno Haible  <bruno@clisp.org>
48950
48951         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
48952         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
48953         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
48954         HAVE_WCTYPE_CTMP_BUG into wctype.h.
48955
48956 2007-05-01  Bruno Haible  <bruno@clisp.org>
48957
48958         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
48959         configure time.
48960         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
48961         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
48962         * modules/sys_stat (Makefile.am): Substitute their values into
48963         sys/stat.h.
48964
48965 2007-05-01  Bruno Haible  <bruno@clisp.org>
48966
48967         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
48968         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
48969         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
48970
48971 2007-05-01  Bruno Haible  <bruno@clisp.org>
48972
48973         * doc/header/assert.texi: Undo last change: don't mention the gnulib
48974         'assert' module here.
48975
48976 2007-05-01  Bruno Haible  <bruno@clisp.org>
48977
48978         * doc/functions/*.texi: New files.
48979         * doc/functions/google-ranking.txt: New file.
48980         * doc/gnulib.texi (Function Substitutes): New chapter.
48981         (ctime, inet_ntoa): Remove sections.
48982         * doc/ctime.texi: Remove file.
48983         * doc/inet_ntoa.texi: Remove file.
48984         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
48985         dependencies.
48986         (%.info): New rule, specifying a --reference-limit.
48987
48988 2007-05-01  Bruno Haible  <bruno@clisp.org>
48989
48990         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
48991
48992 2007-05-01  Bruno Haible  <bruno@clisp.org>
48993
48994         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
48995         the portability of 'mkdir' to mingw systems.
48996
48997 2007-05-01  Bruno Haible  <bruno@clisp.org>
48998
48999         * doc/headers/google-ranking.txt: New file.
49000
49001 2007-04-30  Eric Blake  <ebb9@byu.net>
49002
49003         Prefer fseeko to fseek.
49004         * modules/getpass (Depends-on): Add fseeko.
49005         * lib/getpass.c (getpass): Use fseeko, not fseek.
49006
49007 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
49008
49009         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
49010         assumes the sorting is stable, while most qsort implementations
49011         are not.  Use argument addresses to ensure they never compare as
49012         equal.
49013
49014         * tests/test-argp-2.sh (usage-indent test): Fix output
49015         (func_compare): Restore diff options
49016         * tests/test-argp.c: Restore #include "progname.h"
49017
49018 2007-04-29  Bruno Haible  <bruno@clisp.org>
49019
49020         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
49021         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49022         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
49023         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49024         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
49025         (configure.ac): Define CHECK_SNPRINTF_POSIX.
49026         (TESTS, check_PROGRAMS): Add test-snprintf.
49027         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
49028         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
49029         (TESTS, check_PROGRAMS): Add test-vsnprintf.
49030         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
49031         assertions that fail on HP-UX, OSF/1, or IRIX.
49032         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
49033
49034 2007-04-29  Bruno Haible  <bruno@clisp.org>
49035
49036         * MODULES.html.sh (posix_functions): Remove 'contents'.
49037
49038 2007-04-29  Karl Berry  <karl@gnu.org>
49039
49040         * config/srclist.txt (gendocs_template_min): new entry.
49041
49042 2007-04-29  Bruno Haible  <bruno@clisp.org>
49043
49044         Work around fpurge bug on BSD systems.
49045         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
49046         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
49047         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
49048         fpurge to rpl_fpurge if the system already has this function.
49049         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
49050         the case where the system already has this function. Correct invariants
49051         on BSD systems.
49052         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
49053         BSD systems.
49054
49055 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
49056
49057         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
49058         proposed by Sven Verdoolaege.
49059
49060         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
49061         options.
49062         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
49063         (usage and help tests): Update
49064
49065 2007-04-29  Bruno Haible  <bruno@clisp.org>
49066
49067         * tests/test-fflush.c (main): Use a file of size 17, not 10.
49068         Print more information in case of failure. Disable a test on BeOS.
49069
49070 2007-04-29  Bruno Haible  <bruno@clisp.org>
49071
49072         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
49073         This helps debugging on systems on which no gdb is available.
49074
49075 2007-04-29  Bruno Haible  <bruno@clisp.org>
49076
49077         * lib/freading.h: Improve comments.
49078         * lib/fwriting.h: Likewise.
49079         * tests/test-freading.c (main): Don't check freading immediately after
49080         repositioning. Needed for glibc.
49081
49082 2007-04-29  Bruno Haible  <bruno@clisp.org>
49083
49084         * lib/freading.c (freading): Trivial simplification.
49085
49086 2007-04-28  Bruno Haible  <bruno@clisp.org>
49087
49088         * tests/test-fwriting.c (main): Also test the interaction between
49089         fflush and fwriting.
49090         * modules/fwriting-tests (Depends-on): Add fflush.
49091
49092         * tests/test-freading.c (main): Also test the interaction between
49093         fflush and freading.
49094         * modules/freading-tests (Depends-on): Add fflush.
49095
49096 2007-04-28  Bruno Haible  <bruno@clisp.org>
49097
49098         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
49099         fseeko and ftello.
49100         Suggested by Eric Blake.
49101
49102 2007-04-28  Jim Meyering  <jim@meyering.net>
49103
49104         Avoid false-negative in gl_STDINT_H's C99 conformance test.
49105         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
49106         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
49107
49108 2007-04-27  Eric Blake  <ebb9@byu.net>
49109
49110         * doc/headers/assert.texi (assert.h): Document assert module use.
49111
49112 2007-04-27  Bruno Haible  <bruno@clisp.org>
49113
49114         * doc/headers/*.texi: New files.
49115         * doc/gnulib.texi (Header File Substitutes): New chapter.
49116         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
49117         dependencies.
49118         (standards.info ,standards.html, standards.dvi): Update dependencies.
49119         (mostlyclean, clean): New targets.
49120
49121 2007-04-27  Bruno Haible  <bruno@clisp.org>
49122
49123         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
49124         * modules/sysexits (Files, Makefile.am): Update.
49125
49126         * lib/sys_socket_.h: Renamed from lib/socket_.h.
49127         * modules/sys_socket (Files, Makefile.am): Update.
49128
49129         * lib/sys_stat_.h: Renamed from lib/stat_.h.
49130         * modules/sys_stat (Files, Makefile.am): Update.
49131
49132 2007-04-27  Eric Blake  <ebb9@byu.net>
49133
49134         * lib/freading.h: Improve comments.
49135         * lib/fwriting.h: Likewise.
49136         * lib/fflush.c: Likewise.
49137
49138         Fix closein for mingw.
49139         * modules/closein-tests: Add tests for closein.
49140         * tests/test-closein.c: New file.
49141         * tests/test-closein.sh: Likewise.
49142         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
49143         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
49144
49145 2007-04-27  Bruno Haible  <bruno@clisp.org>
49146
49147         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
49148         version is < 6.
49149         * lib/math_.h [__DECC]: Likewise.
49150         * lib/stdio_.h [__DECC]: Likewise.
49151         * lib/stdlib_.h [__DECC]: Likewise.
49152         * lib/string_.h [__DECC]: Likewise.
49153         * lib/time_.h [__DECC]: Likewise.
49154         * lib/wchar_.h [__DECC]: Likewise.
49155         * lib/wctype_.h [__DECC]: Likewise.
49156
49157 2007-04-27  Bruno Haible  <bruno@clisp.org>
49158
49159         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
49160
49161 2007-04-27  Bruno Haible  <bruno@clisp.org>
49162
49163         * lib/fflush.c: Add comments.
49164         * modules/fpurge-tests (Depends-on): Add fflush.
49165         * modules/freadable-tests (Depends-on): Likewise.
49166         * modules/fwritable-tests (Depends-on): Likewise.
49167
49168 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
49169
49170         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
49171         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
49172         Report by Bruno Haible <bruno@clisp.org>.
49173
49174 2007-04-26  Eric Blake  <ebb9@byu.net>
49175
49176         Fix fflush on mingw.
49177         * modules/fflush (Depends-on): Add freading.
49178         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
49179         but unread data.
49180
49181 2007-04-26  Eric Blake  <ebb9@byu.net>
49182         and Bruno Haible  <bruno@clisp.org>
49183
49184         Implement freading and fwriting.
49185         * lib/freading.c: New file.
49186         * lib/freading.h: Likewise.
49187         * m4/freading.m4: Likewise.
49188         * modules/freading: Likewise.
49189         * modules/freading-tests: Likewise.
49190         * tests/test-freading.c: Likewise.
49191         * lib/fwriting.c: New file.
49192         * lib/fwriting.h: Likewise.
49193         * m4/fwriting.m4: Likewise.
49194         * modules/fwriting: Likewise.
49195         * modules/fwriting-tests: Likewise.
49196         * tests/test-fwriting.c: Likewise.
49197         * MODULES.html.sh (File stream based Input/Output): Mention them.
49198
49199 2007-04-26  Bruno Haible  <bruno@clisp.org>
49200
49201         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
49202         'long' when we assume it.
49203         Suggested by Eric Blake.
49204
49205 2007-04-26  Bruno Haible  <bruno@clisp.org>
49206
49207         Ensure fseeko, ftello are declared on glibc systems.
49208         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
49209         * modules/fseeko (configure.ac-early): Likewise.
49210         * modules/ftello (configure.ac-early): Likewise.
49211         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
49212         AC_FUNC_FSEEKO for this.
49213         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
49214         (gl_CHECK_FSEEKO): Remove macro.
49215
49216 2007-04-26  Bruno Haible  <bruno@clisp.org>
49217
49218         * tests/test-fflush.c (main): Also check the ftell result after
49219         fflush and fseek/fseeko.
49220         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
49221         file descriptor position cache in the stream.
49222         * lib/fseeko.c (rpl_fseeko): Likewise.
49223
49224 2007-04-26  Bruno Haible  <bruno@clisp.org>
49225
49226         * modules/fflush-tests (Depends-on): Add fseeko.
49227
49228 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
49229             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49230
49231         * lib/argz_.h: ensure error_t definition is obtained in same
49232         mechanism system argz.h would have.
49233         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
49234         argz facilities are known bad.  Err on the side of caution if
49235         cross-compiling.
49236
49237 2007-04-25  Eric Blake  <ebb9@byu.net>
49238
49239         * lib/fpurge.c (includes): Use stdlib.h for free.
49240         * tests/test-fflush.c (main): Also test fflush-fseeko.
49241
49242 2007-04-25  Bruno Haible  <bruno@clisp.org>
49243
49244         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
49245         * lib/fseeko.c: New file.
49246         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
49247         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
49248         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
49249         gl_FUNC_FSEEKO.
49250         (gl_FUNC_FSEEKO): Invoke it.
49251         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
49252         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
49253         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
49254
49255 2007-04-25  Bruno Haible  <bruno@clisp.org>
49256
49257         * modules/fflush (Depends-on): Add ftello.
49258
49259 2007-04-25  Bruno Haible  <bruno@clisp.org>
49260
49261         * modules/ftello-tests: New file.
49262         * tests/test-ftello.c: New file.
49263
49264         * modules/ftello: New file.
49265         * m4/ftello.m4: New file.
49266         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
49267         HAVE_FTELLO.
49268         * lib/stdio_.h (ftello): New declaration.
49269         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
49270         HAVE_FTELLO.
49271
49272 2007-04-25  Bruno Haible  <bruno@clisp.org>
49273
49274         * modules/fseeko-tests: New file.
49275         * tests/test-fseeko.c: New file.
49276
49277         * modules/fseeko: New file.
49278         * m4/fseeko.m4: New file.
49279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
49280         HAVE_FSEEKO.
49281         * lib/stdio_.h (fseeko): New declaration.
49282         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
49283         HAVE_FSEEKO.
49284
49285 2007-04-25  Bruno Haible  <bruno@clisp.org>
49286
49287         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
49288
49289 2007-04-25  Bruno Haible  <bruno@clisp.org>
49290
49291         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
49292         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
49293         * tests/test-unistd.c: Likewise.
49294         * tests/test-fcntl.c: Likewise.
49295
49296 2007-04-23  Eric Blake  <ebb9@byu.net>
49297
49298         * lib/fflush.c: Fix missing include.
49299         Reported by Bruno Haible.
49300
49301 2007-04-23  Bruno Haible  <bruno@clisp.org>
49302
49303         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
49304         Reported by Eric Blake.
49305
49306 2007-04-23  Bruno Haible  <bruno@clisp.org>
49307
49308         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
49309
49310 2007-04-23  Bruno Haible  <bruno@clisp.org>
49311
49312         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
49313
49314 2007-04-23  Bruno Haible  <bruno@clisp.org>
49315
49316         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
49317         Needed on HP-UX 11.
49318
49319 2007-04-16  Eric Blake  <ebb9@byu.net>
49320
49321         Make fflush rely on fpurge.
49322         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
49323         open coding all variants.
49324         * modules/fflush (Depends-on): Add fpurge and unistd.
49325         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
49326         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
49327
49328         Fix --with-tests compilation on cygwin.
49329         * modules/argmatch-tests (Makefile.am): List gnulib library first
49330         in LDADD.
49331         * modules/argp-tests (Makefile.am): Likewise.
49332         * modules/array-list-tests (Makefile.am): Likewise.
49333         * modules/array-oset-tests (Makefile.am): Likewise.
49334         * modules/avltree-list-tests (Makefile.am): Likewise.
49335         * modules/avltree-oset-tests (Makefile.am): Likewise.
49336         * modules/avltreehash-list-tests (Makefile.am): Likewise.
49337         * modules/carray-list-tests (Makefile.am): Likewise.
49338         * modules/dirname-tests (Makefile.am): Likewise.
49339         * modules/frexp-tests (Makefile.am): Likewise.
49340         * modules/isnanl-tests (Makefile.am): Likewise.
49341         * modules/linked-list-tests (Makefile.am): Likewise.
49342         * modules/linkedhash-list-tests (Makefile.am): Likewise.
49343         * modules/lock-tests (Makefile.am): Likewise.
49344         * modules/rbtree-list-tests (Makefile.am): Likewise.
49345         * modules/rbtree-oset-tests (Makefile.am): Likewise.
49346         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
49347         * modules/tls-tests (Makefile.am): Likewise.
49348         * modules/tsearch-tests (Makefile.am): Likewise.
49349         * modules/xvasprintf-tests (Makefile.am): Likewise.
49350
49351         Fix fpurge for cygwin.
49352         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
49353         value.
49354         * modules/fpurge-tests (Depends-on): Clean up trash.
49355
49356 2007-04-16  Simon Josefsson  <simon@josefsson.org>
49357
49358         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
49359
49360         * m4/autobuild.m4: Re-indent.
49361
49362 2007-04-13  Bruno Haible  <bruno@clisp.org>
49363
49364         * modules/fpurge-tests: New file.
49365         * tests/test-fpurge.c: New file.
49366
49367         * modules/fpurge: New file.
49368         * lib/fpurge.h: New file.
49369         * lib/fpurge.c: New file.
49370         * m4/fpurge.m4: New file.
49371
49372 2007-04-13  Bruno Haible  <bruno@clisp.org>
49373
49374         * modules/fbufmode-tests: New file.
49375         * tests/test-fbufmode.c: New file.
49376
49377         * modules/fbufmode: New file.
49378         * lib/fbufmode.h: New file.
49379         * lib/fbufmode.c: New file.
49380         * m4/fbufmode.m4: New file.
49381
49382 2007-04-13  Bruno Haible  <bruno@clisp.org>
49383
49384         * modules/fwritable-tests: New file.
49385         * tests/test-fwritable.c: New file.
49386
49387         * modules/fwritable: New file.
49388         * lib/fwritable.h: New file.
49389         * lib/fwritable.c: New file.
49390         * m4/fwritable.m4: New file.
49391
49392 2007-04-13  Bruno Haible  <bruno@clisp.org>
49393
49394         * modules/freadable-tests: New file.
49395         * tests/test-freadable.c: New file.
49396
49397         * modules/freadable: New file.
49398         * lib/freadable.h: New file.
49399         * lib/freadable.c: New file.
49400         * m4/freadable.m4: New file.
49401
49402 2007-04-13  Bruno Haible  <bruno@clisp.org>
49403
49404         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
49405         MOSTLYCLEANFILES.
49406
49407 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
49408
49409         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
49410         gzip bootstrap.conf to avoid dragging in i18n machinery.
49411         (gnulib_tool_option): Use it.
49412
49413 2007-04-13  Bruno Haible  <bruno@clisp.org>
49414
49415         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
49416         %F directives.
49417         * tests/test-vasprintf-posix.c (test_function): Likewise.
49418         * tests/test-snprintf-posix.h (test_function): Likewise.
49419         * tests/test-sprintf-posix.h (test_function): Likewise.
49420         * tests/test-fprintf-posix.h (test_function): Likewise.
49421         * tests/test-printf-posix.h (test_function): Likewise.
49422         * tests/test-fprintf-posix.out: Likewise.
49423
49424 2007-04-13  Bruno Haible  <bruno@clisp.org>
49425
49426         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
49427         * modules/tls-tests (configure.ac): Likewise.
49428         Reported by Arto C. Nirkko <anirkko@insel.ch>.
49429
49430 2007-04-13  Bruno Haible  <bruno@clisp.org>
49431
49432         * lib/tls.c (glthread_tls_get): Fix return type.
49433         Patch by Arto C. Nirkko <anirkko@insel.ch>.
49434
49435 2007-04-12  Eric Blake  <ebb9@byu.net>
49436
49437         * modules/gettime (Depends-on): Remove gettime.
49438         Reported by Dmitry V. Levin.
49439
49440 2007-04-12  Bruno Haible  <bruno@clisp.org>
49441
49442         * modules/fflush (Include): Mention <stdio.h>.
49443         * modules/strtoimax (Include): Mention <inttypes.h>.
49444         * modules/strtoumax (Include): Likewise.
49445
49446 2007-04-12  Eric Blake  <ebb9@byu.net>
49447
49448         * .cvsignore: New file.
49449         * .gitignore: Likewise.
49450
49451 2007-04-12  Bruno Haible  <bruno@clisp.org>
49452
49453         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
49454         not before, since $(LDADD) often contains libgnu.a.
49455         * modules/striconv-tests (test_striconv_LDADD): Likewise.
49456         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
49457         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
49458         Needed on Cygwin.
49459
49460 2007-04-12  Eric Blake  <ebb9@byu.net>
49461
49462         Work around glibc's failure to flush stdin on fclose.
49463         * lib/closein.c (close_stdin): Flush stdin before closing.
49464
49465         Work around glibc's failure to reset seekable stdin on exit.
49466         * modules/closein: New module.
49467         * lib/closein.c: New file.
49468         * lib/closein.h: Likewise.
49469         * m4/closein.m4: Likewise.
49470         * MODULES.html.sh (File stream based Input/Output): Document it.
49471
49472 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49473
49474         * gnulib-tool: Rename generated 'autobuild' script to
49475         'do-autobuild' in --create-megatestdir output.
49476
49477         * doc/gnulib.texi (Build robot for gnulib): Fix.
49478
49479 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49480
49481         * modules/sysexits (Depends-on): Add absolute-header.
49482
49483 2007-04-12  Eric Blake  <ebb9@byu.net>
49484
49485         No need to preserve errno on success.
49486         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
49487         Reported by Bruno Haible.
49488
49489 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49490
49491         * MODULES.html.sh (Support for maintaining and releasing
49492         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
49493
49494 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49495
49496         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
49497
49498 2007-04-12  Simon Josefsson  <simon@josefsson.org>
49499
49500         * modules/autobuild: New module.
49501
49502         * m4/autobuild.m4: New file.
49503
49504 2007-04-11  Bruno Haible  <bruno@clisp.org>
49505
49506         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
49507         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
49508         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
49509         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
49510         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49511         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49512         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49513         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49514         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49515         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49516         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
49517         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49518         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49519         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
49520         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49521         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49522         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
49523         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49524         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49525         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
49526         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49527         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49528         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
49529         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49530         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49531         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
49532         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
49533         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
49534         Reported by Eric Blake.
49535
49536 2007-04-11  Bruno Haible  <bruno@clisp.org>
49537
49538         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
49539
49540 2007-04-10  Bruno Haible  <bruno@clisp.org>
49541
49542         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
49543         for NaN and Infinity. Needed on FreeBSD 6.1.
49544         * tests/test-vasnprintf-posix.c (test_function): Undo last change
49545         regarding results for "%010a" of Infinity and NaN.
49546         * tests/test-vasprintf-posix.c (test_function): Likewise.
49547         * tests/test-snprintf-posix.h (test_function): Likewise.
49548         * tests/test-sprintf-posix.h (test_function): Likewise.
49549         * tests/test-fprintf-posix.h (test_function): Likewise.
49550         * tests/test-printf-posix.h (test_function): Likewise.
49551         * tests/test-fprintf-posix.out: Likewise.
49552
49553 2007-04-10  Bruno Haible  <bruno@clisp.org>
49554
49555         * modules/locale-tests: New file.
49556         * tests/test-locale.c: New file.
49557
49558         * modules/locale: New file.
49559         * lib/locale_.h: New file.
49560         * m4/locale_h.m4: New file.
49561
49562 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
49563             Bruno Haible  <bruno@clisp.org>
49564
49565         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
49566         be determined, test for availability of the copysignf, copysign,
49567         copysignl functions.
49568         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
49569         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
49570         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
49571
49572 2007-04-09  Eric Blake  <ebb9@byu.net>
49573
49574         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
49575         * modules/stdio (Makefile.am): Support fflush.
49576         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
49577         * modules/fflush: New file.
49578         * lib/fflush.c: Likewise.
49579         * m4/fflush.m4: Likewise.
49580         * modules/fflush-tests: New test.
49581         * tests/test-fflush.c: Likewise.
49582         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
49583
49584 2007-04-06  Bruno Haible  <bruno@clisp.org>
49585
49586         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
49587         (VASNPRINTF): Use signbit for faster determination whether to print a
49588         minus sign.
49589         * modules/vasnprintf (Files): Remove lib/float+.h.
49590         * modules/fprintf-posix (Depends-on): Add signbit.
49591         * modules/snprintf-posix (Depends-on): Likewise.
49592         * modules/sprintf-posix (Depends-on): Likewise.
49593         * modules/vasnprintf-posix (Depends-on): Likewise.
49594         * modules/vasprintf-posix (Depends-on): Likewise.
49595         * modules/vfprintf-posix (Depends-on): Likewise.
49596         * modules/vsnprintf-posix (Depends-on): Likewise.
49597         * modules/vsprintf-posix (Depends-on): Likewise.
49598
49599 2007-04-06  Bruno Haible  <bruno@clisp.org>
49600
49601         * tests/test-frexp.c (main): Test also the sign bit of zero results.
49602         * tests/test-frexpl.c (main): Likewise.
49603         * tests/test-ldexpl.c (main): Likewise.
49604         * modules/frexp-tests (Depends-on): Add signbit.
49605         * modules/frexpl-tests (Depdends-on): Likewise.
49606         * modules/ldexpl-tests (Depdends-on): Likewise.
49607
49608 2007-04-06  Bruno Haible  <bruno@clisp.org>
49609
49610         * modules/signbit-tests: New file.
49611         * tests/test-signbit.c: New file.
49612
49613         * modules/signbit: New file.
49614         * lib/signbitf.c: New file.
49615         * lib/signbitd.c: New file.
49616         * lib/signbitl.c: New file.
49617         * m4/signbit.m4: New file.
49618         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
49619         (signbit): New macro.
49620         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
49621         REPLACE_SIGNBIT.
49622         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
49623         REPLACE_FREXPL into math.h.
49624
49625 2007-04-06  Bruno Haible  <bruno@clisp.org>
49626
49627         * modules/isnanf-nolibm-tests: New file.
49628         * tests/test-isnanf.c: New file.
49629
49630         * modules/isnanf-nolibm: New file.
49631         * lib/isnanf.h: New file.
49632         * lib/isnanf.c: New file.
49633         * lib/isnan.c: Consider the USE_FLOAT macro.
49634         * m4/isnanf.m4: New file.
49635
49636 2007-04-06  Bruno Haible  <bruno@clisp.org>
49637
49638         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
49639         (Link): New section.
49640
49641         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
49642
49643 2007-04-06  Bruno Haible  <bruno@clisp.org>
49644
49645         Assume the 'long double' type.
49646         * m4/longdouble.m4: Remove file.
49647         * config/srclist.txt: Don't mention longdouble.m4.
49648         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
49649         * lib/float+.h: Likewise.
49650         * lib/frexp.c: Likewise.
49651         * lib/printf-args.h: Likewise.
49652         * lib/printf-args.c: Likewise.
49653         * lib/printf-frexp.c: Likewise.
49654         * lib/printf-parse.c: Likewise.
49655         * lib/vasnprintf.c: Likewise.
49656         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
49657         * m4/intl.m4: Likewise.
49658         * m4/isnanl.m4: Likewise.
49659         * m4/printf.m4: Likewise.
49660         * m4/printf-frexpl.m4: Likewise.
49661         * m4/vasnprintf.m4: Likewise.
49662         * modules/allocsa (Files): Remove m4/longdouble.m4.
49663         * modules/gettext (Files): Likewise.
49664         * modules/relocatable-prog-wrapper (Files): Likewise.
49665         * modules/vasnprintf (Files): Likewise.
49666         * modules/isnanl (Files): Likewise.
49667         (Include): Simplify.
49668         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
49669         (Include): Simplify.
49670         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
49671         (Include): Simplify.
49672         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
49673         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49674         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
49675         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49676         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
49677         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49678         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
49679         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49680         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
49681         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49682         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
49683         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
49684         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
49685         * tests/test-isnanl.c: Likewise.
49686         * tests/test-snprintf-posix.h: Likewise.
49687         * tests/test-sprintf-posix.h: Likewise.
49688         * tests/test-vasnprintf-posix.c: Likewise.
49689         * tests/test-vasnprintf-posix2.c: Likewise.
49690         * tests/test-vasprintf-posix.c: Likewise.
49691
49692 2007-04-06  Bruno Haible  <bruno@clisp.org>
49693
49694         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
49695         * lib/math_.h [__DECC]: Include the overridden include file through
49696         #include_next, outside the double-inclusion guard.
49697         * lib/stdio_.h [__DECC]: Likewise.
49698         * lib/stdlib_.h [__DECC]: Likewise.
49699         * lib/string_.h [__DECC]: Likewise.
49700         * lib/time_.h [__DECC]: Likewise.
49701         * lib/wchar_.h [__DECC]: Likewise.
49702         * lib/wctype_.h [__DECC]: Likewise.
49703         * lib/inttypes_.h [__DECC]: Likewise.
49704         Reported by Albert Chin <china@thewrittenword.com> in
49705         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
49706
49707 2007-04-04  Eric Blake  <ebb9@byu.net>
49708
49709         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
49710         1.5.x.
49711
49712 2007-04-04  Bruno Haible  <bruno@clisp.org>
49713
49714         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
49715         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
49716
49717 2007-04-04  Bruno Haible  <bruno@clisp.org>
49718
49719         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
49720         results for "%010a" of Infinity and NaN.
49721         * tests/test-vasprintf-posix.c (test_function): Likewise.
49722         * tests/test-snprintf-posix.h (test_function): Likewise.
49723         * tests/test-sprintf-posix.h (test_function): Likewise.
49724         * tests/test-fprintf-posix.h (test_function): Remove these tests.
49725         * tests/test-printf-posix.h (test_function): Likewise.
49726         * tests/test-fprintf-posix.out: Update.
49727         Needed for FreeBSD 6.1.
49728
49729 2007-04-04  Bruno Haible  <bruno@clisp.org>
49730
49731         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
49732         directly used by the gnulib modules nor by gnulib-tool.
49733
49734 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
49735
49736         * DEPENDENCIES: Give overall description of version dependency
49737         desirability.  Use more-typical names for apps.
49738         Add shell, coreutils, diffutils, grep, tar, gzip.
49739
49740 2007-04-04  Simon Josefsson  <simon@josefsson.org>
49741
49742         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
49743
49744 2007-04-04  Karl Berry  <karl@gnu.org>
49745
49746         * MODULES.html.sh (func_module): missing '.
49747
49748 2007-04-03  Bruno Haible  <bruno@clisp.org>
49749
49750         * modules/argmatch-tests (Makefile.am): New variable
49751         test_argmatch_LDADD.
49752         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
49753         * modules/array-list-tests (Makefile.am): New variable
49754         test_array_list_LDADD.
49755         * modules/array-oset-tests (Makefile.am): New variable
49756         test_array_oset_LDADD.
49757         * modules/avltree-list-tests (Makefile.am): New variable
49758         test_avltree_list_LDADD.
49759         * modules/avltree-oset-tests (Makefile.am): New variable
49760         test_avltree_oset_LDADD.
49761         * modules/avltreehash-list-tests (Makefile.am): New variable
49762         test_avltreehash_list_LDADD.
49763         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
49764         test_canonicalize_lgpl_LDADD.
49765         * modules/carray-list-tests (Makefile.am): New variable
49766         test_carray_list_LDADD.
49767         * modules/dirname-tests (Makefile.am): New variable
49768         test_dirname_LDADD.
49769         * modules/linked-list-tests (Makefile.am): New variable
49770         test_linked_list_LDADD.
49771         * modules/linkedhash-list-tests (Makefile.am): New variable
49772         test_linkedhash_list_LDADD.
49773         * modules/rbtree-list-tests (Makefile.am): New variable
49774         test_rbtree_list_LDADD.
49775         * modules/rbtree-oset-tests (Makefile.am): New variable
49776         test_rbtree_oset_LDADD.
49777         * modules/rbtreehash-list-tests (Makefile.am): New variable
49778         test_rbtreehash_list_LDADD.
49779         * modules/xvasprintf-tests (Makefile.am): New variable
49780         test_xvasprintf_LDADD.
49781         Reported by Eric Blake.
49782
49783 2007-04-03  Eric Blake  <ebb9@byu.net>
49784
49785         * DEPENDENCIES: Weaken m4 requirements.
49786
49787 2007-04-03  Bruno Haible  <bruno@clisp.org>
49788
49789         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
49790         * modules/isnanl-tests (configure.ac): Likewise.
49791
49792 2007-04-03  Ben Pfaff  <blp@gnu.org>
49793
49794         * modules/iconv_open: Add $(srcdir)/ to source directory
49795         references in Makefile fragments that call gperf, to fix VPATH
49796         builds.
49797
49798 2007-04-03  Bruno Haible  <bruno@clisp.org>
49799
49800         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
49801         * lib/ldexpl.c: Undo last change.
49802
49803 2007-04-03  Bruno Haible  <bruno@clisp.org>
49804
49805         * modules/printf-frexpl (Depends-on): Undo last change.
49806         (Files): Add m4/ldexpl.m4.
49807
49808 2007-04-03  Bruno Haible  <bruno@clisp.org>
49809
49810         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
49811         * modules/isnanl (Link): New section.
49812
49813         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
49814         * modules/frexp (Link): New section.
49815
49816         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
49817         * modules/frexpl (Link): New section.
49818
49819         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
49820         * modules/ldexpl (Link): New section.
49821
49822 2007-04-03  Bruno Haible  <bruno@clisp.org>
49823
49824         * modules/TEMPLATE-EXTENDED: New file.
49825         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
49826
49827 2007-04-03  Bruno Haible  <bruno@clisp.org>
49828
49829         * DEPENDENCIES: New file.
49830         Suggested by Simon Josefsson.
49831
49832 2007-04-03  Bruno Haible  <bruno@clisp.org>
49833
49834         * doc/gnulib.texi: Escape @.
49835
49836 2007-04-03  James Youngman  <jay@gnu.org>
49837         and Paul Eggert  <eggert@cs.ucla.edu>
49838
49839         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
49840         birthtime on all systems that have birthtime, not just those which
49841         use st_birthtimensec rather than st_birthtim.  Putting zero in
49842         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
49843         that the birth time is not available for files on an NFS mount.
49844
49845 2007-04-03  Simon Josefsson  <simon@josefsson.org>
49846
49847         * modules/memxor: Move back from crypto/, suggested by Bruno.
49848         * modules/crypto/hmac-sha1: Fix memxor dependency.
49849
49850         * modules/crypto/gc: Moved from ../.
49851
49852 2007-04-02  Eric Blake  <ebb9@byu.net>
49853
49854         * lib/ldexpl.c (includes): Avoid libm.
49855
49856         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
49857
49858 2007-04-02  Bruno Haible  <bruno@clisp.org>
49859
49860         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
49861         on IRIX.
49862
49863 2007-04-02  Bruno Haible  <bruno@clisp.org>
49864
49865         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
49866         x86 or x86_64 platforms running MacOS X.
49867         Reported by Ryan Schmidt <@ryandesign.com>.
49868
49869 2007-04-02  Bruno Haible  <bruno@clisp.org>
49870
49871         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
49872         i386.
49873
49874 2007-04-01  Simon Josefsson  <simon@josefsson.org>
49875
49876         * modules/crypto/arcfour: Moved from ../.
49877         * modules/crypto/arcfour-tests: Moved from ../.
49878         * modules/crypto/arctwo: Moved from ../.
49879         * modules/crypto/arctwo-tests: Moved from ../.
49880         * modules/crypto/des: Moved from ../.
49881         * modules/crypto/des-tests: Moved from ../.
49882         * modules/crypto/gc-arcfour: Moved from ../.
49883         * modules/crypto/gc-arcfour-tests: Moved from ../.
49884         * modules/crypto/gc-arctwo: Moved from ../.
49885         * modules/crypto/gc-arctwo-tests: Moved from ../.
49886         * modules/crypto/gc-des: Moved from ../.
49887         * modules/crypto/gc-des-tests: Moved from ../.
49888         * modules/crypto/gc-hmac-md5: Moved from ../.
49889         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
49890         * modules/crypto/gc-hmac-sha1: Moved from ../.
49891         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
49892         * modules/crypto/gc-md2: Moved from ../.
49893         * modules/crypto/gc-md2-tests: Moved from ../.
49894         * modules/crypto/gc-md4: Moved from ../.
49895         * modules/crypto/gc-md4-tests: Moved from ../.
49896         * modules/crypto/gc-md5: Moved from ../.
49897         * modules/crypto/gc-md5-tests: Moved from ../.
49898         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
49899         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
49900         * modules/crypto/gc-random: Moved from ../.
49901         * modules/crypto/gc-rijndael: Moved from ../.
49902         * modules/crypto/gc-rijndael-tests: Moved from ../.
49903         * modules/crypto/gc-sha1: Moved from ../.
49904         * modules/crypto/gc-sha1-tests: Moved from ../.
49905         * modules/crypto/gc-tests: Moved from ../.
49906         * modules/crypto/hmac-md5: Moved from ../.
49907         * modules/crypto/hmac-md5-tests: Moved from ../.
49908         * modules/crypto/hmac-sha1: Moved from ../.
49909         * modules/crypto/hmac-sha1-tests: Moved from ../.
49910         * modules/crypto/md2: Moved from ../.
49911         * modules/crypto/md2-tests: Moved from ../.
49912         * modules/crypto/md4: Moved from ../.
49913         * modules/crypto/md4-tests: Moved from ../.
49914         * modules/crypto/md5: Moved from ../.
49915         * modules/crypto/md5-tests: Moved from ../.
49916         * modules/crypto/memxor: Moved from ../.
49917         * modules/crypto/rijndael: Moved from ../.
49918         * modules/crypto/rijndael-tests: Moved from ../.
49919         * modules/crypto/sha1: Moved from ../.
49920
49921 2007-03-30  James Youngman  <jay@gnu.org>
49922
49923         * tests/test-stat-time.c (prepare_test): use chmod() rather than
49924         rename() to change the ctime of a file (because ctime is unaffected
49925         by rename on jfs2 on AIX 5.1).
49926         (main): Start by doing cleanup, in case a previous run failed leaving
49927         test files behind.
49928
49929 2007-03-31  Bruno Haible  <bruno@clisp.org>
49930
49931         Support old proprietary implementations of iconv.
49932         * modules/iconv_open: New file.
49933         * lib/iconv_.h: New file.
49934         * m4/iconv_h.m4: New file.
49935         * lib/iconv_open.c: New file.
49936         * lib/iconv_open-aix.gperf: New file.
49937         * lib/iconv_open-hpux.gperf: New file.
49938         * lib/iconv_open-irix.gperf: New file.
49939         * lib/iconv_open-osf.gperf: New file.
49940         * m4/iconv_open.m4: New file.
49941         * modules/linebreak (Depends-on): Add iconv_open.
49942         * modules/striconv (Depends-on): Likewise.
49943         * modules/striconveh (Depends-on): Likewise.
49944         * modules/unicodeio (Depends-on): Likewise.
49945         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
49946         (iconv_t)(-1).
49947         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
49948         conversion if cd is (iconv_t)(-1).
49949         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
49950         is not possible.
49951
49952 2007-03-31  Bruno Haible  <bruno@clisp.org>
49953
49954         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
49955         work on Solaris either. Protect also second use of "autodetect_jp".
49956
49957 2007-03-31  Bruno Haible  <bruno@clisp.org>
49958
49959         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
49960         the function is not present.
49961
49962 2007-03-31  Bruno Haible  <bruno@clisp.org>
49963
49964         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
49965         the function is not present.
49966
49967 2007-03-31  Bruno Haible  <bruno@clisp.org>
49968
49969         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
49970         a bug in HP-UX iconv_open().
49971
49972 2007-03-31  Bruno Haible  <bruno@clisp.org>
49973
49974         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
49975         (Mathematics <math.h>): New section, add fpieee.
49976         (Input/output <stdio.h>): Add fseterr.
49977         (Mathematics <math.h>): New section, add printf-frexp.
49978         (Container data structures): Add sublist.
49979         (Core language properties): Add fpucw, inline.
49980         (Functions for greatest-width integer types <inttypes.h>): Add
49981         imaxabs, imaxdiv, inttypes.
49982         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
49983         isnanl-nolibm, ldexp.
49984         (Mathematics <math.h>): New section, add printf-frexpl.
49985         (Support for systems lacking POSIX:2001): Add fprintf-posix,
49986         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
49987         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
49988         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
49989         (Unicode string functions): Add unistr/u*-mbtoucr.
49990         (Java): Add javacomp-script, javaexec-script.
49991         (C#): Add csharpcomp-script, csharpexec-script.
49992         (Support for building libraries and executables): Add havelib,
49993         relocatable-*.
49994         (Support for maintaining and releasing projects): Renamed from
49995         'Support for maintaining and release projects'. Add announce-gen.
49996
49997 2007-03-31  Bruno Haible  <bruno@clisp.org>
49998
49999         * README: Talk primarily about git.
50000         (git and CVS): Renamed from CVS.
50001         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
50002         gnulib is available through git.
50003         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
50004
50005 2007-03-30  Bruno Haible  <bruno@clisp.org>
50006
50007         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
50008         * lib/poll_.h: Likewise.
50009         * lib/stat_.h: Likewise.
50010         * lib/sys_time_.h: Likewise.
50011         * lib/sysexit_.h: Likewise.
50012         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
50013         * lib/stdbool_.h: Likewise.
50014         * lib/byteswap_.h: Add double-inclusion guard.
50015
50016 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
50017
50018         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
50019
50020 2007-03-30  Karl Berry  <karl@gnu.org>
50021
50022         * config/srclist-update: double space after USA in the license
50023         substitution, since that's how it's usually (?) written.
50024
50025 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50026
50027         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
50028         reported by Bruno Haible.
50029
50030 2007-03-29  Bruno Haible  <bruno@clisp.org>
50031
50032         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
50033         a bug in AIX iconv().
50034
50035 2007-03-29  Bruno Haible  <bruno@clisp.org>
50036
50037         * modules/ldexpl-tests: New file.
50038         * tests/test-ldexpl.c: New file.
50039
50040 2007-03-29  Bruno Haible  <bruno@clisp.org>
50041
50042         * lib/ldexpl.c: Include fpucw.h.
50043         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
50044         multiplication.
50045         * modules/ldexpl (Depends-on): Add fpucw.
50046
50047 2007-03-29  Bruno Haible  <bruno@clisp.org>
50048
50049         * modules/ldexpl: New file.
50050         * m4/ldexpl.m4: New file.
50051         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
50052         set.
50053         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
50054         REPLACE_LDEXPL.
50055         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
50056         REPLACE_LDEXPL.
50057         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
50058         gl_FUNC_LDEXPL_WORKS.
50059         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
50060         * modules/mathl (Files): Remove lib/ldexpl.c.
50061         (Depends-on): Add ldexpl.
50062
50063 2007-03-29  Bruno Haible  <bruno@clisp.org>
50064
50065         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
50066
50067 2007-03-29  Bruno Haible  <bruno@clisp.org>
50068
50069         * tests/test-striconveh.c (main): Don't assume that a direct conversion
50070         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
50071         and possibly also HP-UX.
50072         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50073         work on AIX, IRIX, HP-UX, OSF/1.
50074         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
50075         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
50076         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
50077         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
50078         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
50079         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
50080
50081 2007-03-29  Bruno Haible  <bruno@clisp.org>
50082
50083         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
50084
50085 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50086
50087         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
50088         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
50089
50090 2007-03-29  Eric Blake  <ebb9@byu.net>
50091
50092         * lib/acl-internal.h: Remove redundant include.
50093         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
50094         Cygwin when a file is locked.
50095
50096 2007-03-29  Bruno Haible  <bruno@clisp.org>
50097
50098         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
50099         file.
50100         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
50101
50102 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
50103
50104         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
50105         try to remove a parent directory if the child couldn't be removed
50106         (except for the first rmdir, which could fail because the child
50107         doesn't exist).  Problem reported by Jeff Blaine in
50108         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
50109
50110 2007-03-28  Bruno Haible  <bruno@clisp.org>
50111
50112         * lib/striconveh.c (utf8conv_carefully): New function.
50113         (mem_cd_iconveh_internal): Invoke it.
50114
50115 2007-03-28  Bruno Haible  <bruno@clisp.org>
50116
50117         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
50118         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
50119         input.
50120         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
50121         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
50122         unistr/u8-uctomb.
50123
50124 2007-03-28  Bruno Haible  <bruno@clisp.org>
50125
50126         * modules/unistr/u8-mbtoucr: New file.
50127         * lib/unistr/u8-mbtoucr.c: New file.
50128         * modules/unistr/u16-mbtoucr: New file.
50129         * lib/unistr/u16-mbtoucr.c: New file.
50130         * modules/unistr/u16-mbtoucr: New file.
50131         * lib/unistr/u16-mbtoucr.c: New file.
50132         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
50133
50134 2007-03-27  Simon Josefsson  <simon@josefsson.org>
50135             Bruno Haible  <bruno@clisp.org>
50136
50137         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
50138         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
50139         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
50140
50141         * m4/stdio_h.m4: Add stubs for vasprintf too.
50142
50143         * modules/stdio: Support vasprintf in sed command.
50144
50145         * modules/vasprintf: Depend on stdio for prototypes.  Remove
50146         vasprintf.h.  Add stdio module indicator.
50147
50148         * lib/stdio_.h: Declare asprintf and vasprintf, based on
50149         vasprintf.h.
50150
50151         * lib/vasprintf.h: File removed.
50152
50153         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
50154         * lib/vasprintf.c: Ditto.
50155         * lib/xvasprintf.c: Ditto.
50156         * tests/test-vasprintf-posix.c: Ditto.
50157         * tests/test-vasprintf.c: Ditto.
50158
50159 2007-03-27  Bruno Haible  <bruno@clisp.org>
50160
50161         Make vasnprintf multithread-safe.
50162         * lib/vasnprintf.c (decimal_point_char): New function.
50163         (VASNPRINTF): Use it.
50164         Suggested by Simon Josefsson.
50165
50166 2007-03-27  Eric Blake  <ebb9@byu.net>
50167
50168         Support sub-second birthtime on cygwin.
50169         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
50170         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
50171         (get_stat_birthtime): Also work with st_birthtim.
50172
50173 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
50174
50175         * lib/stat-time.h (USE_BIRTHTIME): Remove.
50176         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
50177         (get_stat_birthtime_ns): Do not try to use "spare" fields.
50178         (get_stat_birthtime_ns): Simplify compile-time tests.
50179         (get_stat_birthtime): Change the API to look like
50180         get_stat_mtime etc., except return a negative tv_nsec on error.
50181         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
50182         Don't check for "spare" fields.
50183         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
50184         or for struct stat.st_birthtime, as these tests aren't used.
50185         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
50186
50187 2007-03-27  Bruno Haible  <bruno@clisp.org>
50188
50189         * lib/stat-time.h: Include <sys/stat.h>.
50190
50191 2007-03-27  James Youngman  <jay@gnu.org>
50192
50193         * lib/stat-time.h (get_stat_birthtime): New function for
50194           retrieving st_birthtime as provided by UFS2 (hence *BSD).
50195         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
50196           and its variants.
50197         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
50198         * modules/stat-time-test: New file.
50199         * tests/test-stat-time.c: New test, devised by Bruno Haible.
50200
50201 2007-03-26  Bruno Haible  <bruno@clisp.org>
50202
50203         Better support of signalling NaNs.
50204         * lib/atanl.c: Include isnanl.h.
50205         (atanl): Perform test for NaN at the beginning of the function and
50206         through a call to isnanl.
50207         * lib/cosl.c: Include isnanl.h.
50208         (cosl): Perform test for NaN at the beginning of the function and
50209         through a call to isnanl.
50210         * lib/ldexpl.c: Include isnanl.h.
50211         (ldexpl): Perform test for NaN through a call to isnanl.
50212         * lib/logl.c: Include isnanl.h.
50213         (logl): Perform test for NaN at the beginning of the function and
50214         through a call to isnanl.
50215         * lib/sinl.c: Include isnanl.h.
50216         (sinl): Perform test for NaN at the beginning of the function and
50217         through a call to isnanl.
50218         * lib/sqrtl.c: Include isnanl.h.
50219         (sqrtl): Perform test for NaN at the beginning of the function and
50220         through a call to isnanl.
50221         * lib/tanl.c: Include isnanl.h.
50222         (tanl): Perform test for NaN at the beginning of the function and
50223         through a call to isnanl.
50224         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
50225         * modules/mathl (Depends-on): Add isnanl.
50226
50227 2007-03-26  Eric Blake  <ebb9@byu.net>
50228
50229         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
50230         regression in logic sense of previous patch.
50231
50232 2007-03-26  Bruno Haible  <bruno@clisp.org>
50233
50234         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
50235         unportable shell command "if ! ...".
50236         Reported by Ralf Wildenhues.
50237
50238 2007-03-25  Bruno Haible  <bruno@clisp.org>
50239
50240         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
50241         <sysexits.h> file, and only add EX_CONFIG.
50242         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
50243         absolute file name and whether it is sufficient. Substitute also
50244         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
50245         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
50246         ABSOLUTE_SYSEXITS_H into sysexits.h.
50247
50248 2007-03-25  Bruno Haible  <bruno@clisp.org>
50249
50250         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
50251         hints is NULL.
50252
50253 2007-03-25  Bruno Haible  <bruno@clisp.org>
50254
50255         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
50256         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
50257
50258 2007-03-25  Bruno Haible  <bruno@clisp.org>
50259
50260         * lib/vasnprintf.c: Include langinfo.h.
50261         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
50262         multithread-safe.
50263         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
50264         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
50265         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50266         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50267         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50268         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50269         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50270         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
50271         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50272         Reported by Simon Josefsson.
50273
50274 2007-03-25  Bruno Haible  <bruno@clisp.org>
50275
50276         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
50277         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
50278         * modules/vasnprintf (Depends-on): Add stdint.
50279
50280 2007-03-25  Bruno Haible  <bruno@clisp.org>
50281
50282         * modules/fpieee: New file.
50283         * m4/fpieee.m4: New file.
50284         * modules/isnan-nolibm (Depends-on): Add fpieee.
50285         * modules/isnanl-nolibm (Depends-on): Add fpieee.
50286         * modules/isnanl (Depends-on): Add fpieee.
50287
50288 2007-03-25  Bruno Haible  <bruno@clisp.org>
50289
50290         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
50291
50292 2007-03-25  Bruno Haible  <bruno@clisp.org>
50293
50294         Avoid test failures on IRIX 6.5.
50295         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
50296         (main): Use it.
50297         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
50298         macros.
50299         (main): Use them.
50300
50301 2007-03-25  Bruno Haible  <bruno@clisp.org>
50302
50303         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
50304         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
50305         exists but doesn't work.
50306         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
50307         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
50308         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
50309         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
50310
50311 2007-03-25  Bruno Haible  <bruno@clisp.org>
50312
50313         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
50314         returns inf. Needed on IRIX 6.5.
50315
50316 2007-03-25  Bruno Haible  <bruno@clisp.org>
50317
50318         * tests/test-frexpl.c: Include isnanl-nolibm.h.
50319         (main): Use isnanl instead of x != x idiom.
50320         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
50321
50322         * tests/test-frexp.c: Include isnan.h.
50323         (main): Use isnan instead of x != x idiom.
50324         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
50325
50326 2007-03-25  Bruno Haible  <bruno@clisp.org>
50327
50328         * tests/test-frexp.c (NaN): New function/macro.
50329         (main): Use it instead of 0.0 / 0.0.
50330         * tests/test-isnan.c (NaN): New function/macro.
50331         (main): Use it instead of 0.0 / 0.0.
50332         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
50333         (test_function): Use it instead of 0.0 / 0.0.
50334         * tests/test-vasprintf-posix.c (NaN): New function/macro.
50335         (test_function): Use it instead of 0.0 / 0.0.
50336         * tests/test-snprintf-posix.h (NaN): New function/macro.
50337         (test_function): Use it instead of 0.0 / 0.0.
50338         * tests/test-sprintf-posix.h (NaN): New function/macro.
50339         (test_function): Use it instead of 0.0 / 0.0.
50340         * tests/test-fprintf-posix.h (NaN): New function/macro.
50341         (test_function): Use it instead of 0.0 / 0.0.
50342         * tests/test-printf-posix.h (NaN): New function/macro.
50343         (test_function): Use it instead of 0.0 / 0.0.
50344
50345         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
50346
50347 2007-03-25  Bruno Haible  <bruno@clisp.org>
50348
50349         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
50350
50351 2007-03-25  Bruno Haible  <bruno@clisp.org>
50352
50353         * lib/regexec.c (merge_state_with_log): Make static.
50354
50355 2007-03-25  Bruno Haible  <bruno@clisp.org>
50356
50357         * lib/trigl.c (kernel_rem_pio2): Make static.
50358
50359 2007-03-25  Bruno Haible  <bruno@clisp.org>
50360
50361         * lib/sincosl.c (sincosl_table): Make static.
50362
50363 2007-03-25  Bruno Haible  <bruno@clisp.org>
50364
50365         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
50366         if the compiler does not support C99.
50367
50368 2007-03-25  Bruno Haible  <bruno@clisp.org>
50369
50370         * modules/time (Makefile.am): Ensure all rule action lines start with a
50371         tab.
50372
50373 2007-03-24  Bruno Haible  <bruno@clisp.org>
50374
50375         * modules/tsearch-tests: New file.
50376         * tests/test-tsearch.sh: New file.
50377         * tests/test-tsearch.c: New file, mostly copied from glibc.
50378
50379         * modules/search-tests: New file.
50380         * tests/test-search.c: New file.
50381
50382         * modules/search: New file.
50383         * lib/search_.h: New file, incorporating lib/tsearch.h.
50384         * m4/search_h.m4: New file.
50385         * lib/tsearch.h: Remove file.
50386         * lib/tsearch.c: Include search.h instead of tsearch.h.
50387         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
50388         HAVE_TSEARCH.
50389         * modules/tsearch (Files): Remove lib/tsearch.h.
50390         (Depends-on): Add search.
50391         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
50392         (Include): Change tsearch.h into search.h.
50393
50394 2007-03-24  Bruno Haible  <bruno@clisp.org>
50395
50396         * modules/fpucw: New file.
50397         * lib/fpucw.h: New file.
50398         * lib/frexp.c: Include fpucw.h.
50399         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50400         (FUNC): Use them.
50401         * lib/printf-frexp.c: Include fpucw.h.
50402         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
50403         (FUNC): Use them.
50404         * lib/vasnprintf.c: Include fpucw.h.
50405         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
50406         'long double' calculations.
50407         * tests/test-frexpl.c: Include fpucw.h.
50408         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50409         * tests/test-printf-frexpl.c: Include fpucw.h.
50410         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
50411         * modules/frexpl (Depends-on): Add fpucw.
50412         * modules/printf-frexpl (Depends-on): Likewise.
50413         * modules/fprintf-posix (Depends-on): Likewise.
50414         * modules/snprintf-posix (Depends-on): Likewise.
50415         * modules/sprintf-posix (Depends-on): Likewise.
50416         * modules/vasnprintf-posix (Depends-on): Likewise.
50417         * modules/vasprintf-posix (Depends-on): Likewise.
50418         * modules/vfprintf-posix (Depends-on): Likewise.
50419         * modules/vsnprintf-posix (Depends-on): Likewise.
50420         * modules/vsprintf-posix (Depends-on): Likewise.
50421         * modules/frexpl-tests (Depends-on): Likewise.
50422         * modules/printf-frexpl-tests (Depends-on): Likewise.
50423
50424 2007-03-24  Bruno Haible  <bruno@clisp.org>
50425
50426         * lib/float+.h: New file.
50427         * lib/isnan.c: Include float+.h.
50428         (SIZE): New macro.
50429         (FUNC): Compare only SIZE bytes of the value.
50430         * lib/vasnprintf.c: Include float+.h.
50431         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
50432         SIZEOF_LDBL or SIZEOF_DBL bytes.
50433         * modules/isnan-nolibm (Files): Add lib/float+.h.
50434         * modules/isnanl-nolibm (Files): Add lib/float+.h.
50435         * modules/isnanl (Files): Add lib/float+.h.
50436         * modules/vasnprintf (Files): Add lib/float+.h.
50437
50438 2007-03-24  Bruno Haible  <bruno@clisp.org>
50439
50440         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
50441         include isnanl-nolibm.h.
50442
50443 2007-03-24  Bruno Haible  <bruno@clisp.org>
50444
50445         * tests/test-read-file.c (main): Don't produce spurious output for
50446         expected situations. Make the test fail if it encountered unexpected
50447         results.
50448
50449 2007-03-24  Bruno Haible  <bruno@clisp.org>
50450
50451         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
50452         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
50453
50454 2007-03-24  Bruno Haible  <bruno@clisp.org>
50455
50456         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
50457
50458 2007-03-24  Bruno Haible  <bruno@clisp.org>
50459
50460         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
50461         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
50462
50463         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
50464         * modules/utf8-ucs4: Turn into a symbolic link to module
50465         unistr/u8-mbtouc.
50466
50467         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
50468         utf8-ucs4-unsafe.
50469         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
50470         unistr/u8-mbtouc-unsafe.
50471
50472         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
50473         * modules/utf16-ucs4: Turn into a symbolic link to module
50474         unistr/u16-mbtouc.
50475
50476         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
50477         utf16-ucs4-unsafe.
50478         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
50479         unistr/u16-mbtouc-unsafe.
50480
50481         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
50482         * modules/ucs4-utf8: Turn into a symbolic link to module
50483         unistr/u8-ubtomb.
50484
50485         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
50486         * modules/ucs4-utf16: Turn into a symbolic link to module
50487         unistr/u16-ubtomb.
50488
50489 2007-03-24  Bruno Haible  <bruno@clisp.org>
50490
50491         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
50492         Enable the function only if HAVE_INLINE.
50493         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
50494         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50495         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
50496         Enable the function only if HAVE_INLINE.
50497         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
50498         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
50499         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
50500         Enable the function only if HAVE_INLINE.
50501         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
50502         Enable the function only if HAVE_INLINE.
50503         * modules/utf8-ucs4: Update.
50504         * modules/utf8-ucs4-unsafe: Update.
50505         * modules/utf16-ucs4: Update.
50506         * modules/utf16-ucs4-unsafe: Update.
50507         * modules/ucs4-utf8: Update.
50508         * modules/ucs4-utf16: Update.
50509
50510 2007-03-24  Bruno Haible  <bruno@clisp.org>
50511
50512         * lib/utf8-ucs4.h: Remove file.
50513         * lib/utf8-ucs4-unsafe.h: Remove file.
50514         * lib/utf16-ucs4.h: Remove file.
50515         * lib/utf16-ucs4-unsafe.h: Remove file.
50516         * lib/ucs4-utf8.h: Remove file.
50517         * lib/ucs4-utf16.h: Remove file.
50518         * lib/unistr.h: Include their previous contents.
50519         * m4/utf-ucs4.m4: Remove file.
50520         * m4/ucs4-utf.m4: Remove file.
50521         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
50522         (Depends-on): Add unistr/base.
50523         (configure.ac): Remove gl_UTF_UCS4.
50524         (Makefile.am): Update.
50525         (Include): Change to unistr.h.
50526         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
50527         (Depends-on): Add unistr/base.
50528         (configure.ac): Remove gl_UTF_UCS4.
50529         (Makefile.am): Update.
50530         (Include): Change to unistr.h.
50531         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
50532         (Depends-on): Add unistr/base.
50533         (configure.ac): Remove gl_UTF_UCS4.
50534         (Makefile.am): Update.
50535         (Include): Change to unistr.h.
50536         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
50537         (Depends-on): Add unistr/base.
50538         (configure.ac): Remove gl_UTF_UCS4.
50539         (Makefile.am): Update.
50540         (Include): Change to unistr.h.
50541         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
50542         (Depends-on): Add unistr/base.
50543         (configure.ac): Remove gl_UCS4_UTF.
50544         (Makefile.am): Update.
50545         (Include): Change to unistr.h.
50546         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
50547         (Depends-on): Add unistr/base.
50548         (configure.ac): Remove gl_UCS4_UTF.
50549         (Makefile.am): Update.
50550         (Include): Change to unistr.h.
50551         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
50552         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
50553         utf8-ucs4-unsafe.h.
50554         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
50555         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
50556         utf16-ucs4-unsafe.h.
50557         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
50558         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
50559         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
50560         * lib/unistr/u8-strchr.c: Likewise.
50561         * lib/unistr/u8-strrchr.c: Likewise.
50562         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
50563         * lib/unistr/u16-strchr.c: Likewise.
50564         * lib/unistr/u16-strrchr.c: Likewise.
50565         * lib/striconveh.c: Update.
50566         * lib/linebreak.c: Update.
50567
50568 2007-03-24  Bruno Haible  <bruno@clisp.org>
50569
50570         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
50571         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
50572
50573 2007-03-22  Bruno Haible  <bruno@clisp.org>
50574
50575         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
50576
50577 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
50578
50579         * MODULES.html.sh (File system functions): New module write-any-file.
50580         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
50581         * m4/write-any-file.m4: New files.
50582
50583 2007-03-23  Eric Blake  <ebb9@byu.net>
50584
50585         * gnulib-tool: Rearrange space-tab sequences, since some editors
50586         like to eat them.
50587
50588 2007-03-23  Eric Blake  <ebb9@byu.net>
50589
50590         * lib/version-etc.c (version_etc_va): Update license wording to
50591         be more concise.  Recommended by Richard Stallman.
50592
50593 2007-03-22  Bruno Haible  <bruno@clisp.org>
50594
50595         * lib/poll.c (MSG_PEEK): New fallback definition.
50596
50597 2007-03-22  Bruno Haible  <bruno@clisp.org>
50598
50599         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
50600         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
50601         (main): Update.
50602         Fixes a compilation error on BeOS.
50603
50604 2007-03-22  Bruno Haible  <bruno@clisp.org>
50605
50606         * modules/frexpl-tests: New file.
50607         * tests/test-frexpl.c: New file.
50608
50609         * modules/frexpl: New file.
50610         * m4/frexpl.m4: New file.
50611         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
50612         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
50613         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
50614         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
50615         (Depends-on): Add frexpl. Remove isnanl-nolibm.
50616         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
50617
50618 2007-03-22  Bruno Haible  <bruno@clisp.org>
50619
50620         * lib/frexpl.c: Share code with lib/frexp.c.
50621         * modules/mathl (Files): Add lib/frexp.c.
50622         (Depends-on): Add isnanl-nolibm.
50623
50624 2007-03-22  Bruno Haible  <bruno@clisp.org>
50625
50626         * modules/printf-frexp (Files): Add m4/frexp.m4.
50627         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
50628         only if the found frexp function actually works.
50629
50630 2007-03-22  Bruno Haible  <bruno@clisp.org>
50631
50632         * lib/frexp.c: Remove older implementation that uses divisions.
50633
50634 2007-03-21  Bruno Haible  <bruno@clisp.org>
50635
50636         * modules/frexp-tests: New file.
50637         * tests/test-frexp.c: New file.
50638
50639         * modules/frexp: New file.
50640         * lib/frexp.c: New file.
50641         * m4/frexp.m4: New file.
50642         * lib/math_.h (frexp): New declaration.
50643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
50644         REPLACE_FREXP.
50645         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
50646
50647 2007-03-21  Bruno Haible  <bruno@clisp.org>
50648
50649         * modules/isnanl-tests: New file.
50650         * tests/test-isnanl.c: New file.
50651
50652         * modules/isnanl: New file.
50653         * lib/isnanl.h: New file.
50654         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
50655         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
50656         gl_FUNC_ISNANL_WORKS.
50657         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
50658         New macros.
50659
50660 2007-03-21  Bruno Haible  <bruno@clisp.org>
50661
50662         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
50663         lib/isnanl.h.
50664         (Include): Update.
50665         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
50666         * lib/vasnprintf.c: Update.
50667         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
50668         tests/test-isnanl.h, remove tests/test-isnanl.c.
50669         (Makefile.am): Update.
50670         * tests/test-isnanl-nolibm.c: New file.
50671         * tests/test-isnanl.h: New file.
50672         * tests/test-isnanl.c: Remove file.
50673
50674 2007-03-21  Jim Meyering  <jim@meyering.net>
50675
50676         When trying to open ".", treat ESTALE like EACCES.
50677         * lib/savewd.c (savewd_save): Resort to forking not just upon
50678         failure with EACCES, but also when errno is ESTALE.
50679
50680 2007-03-20  Bruno Haible  <bruno@clisp.org>
50681
50682         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
50683         Needed on AIX 5.1. Reported by Matthew Woehlke.
50684
50685 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50686
50687         Suggestions by Bruno Haible:
50688         * lib/acl-internal.h: Include "gettext.h" rather than rolling
50689         our own.
50690         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
50691         * modules/acl (Depends-on): Add gettext.
50692
50693 2007-03-19  Bruno Haible  <bruno@clisp.org>
50694
50695         * modules/iconvme: Remove file.
50696         * lib/iconvme.h: Remove file.
50697         * lib/iconvme.c: Remove file.
50698         * m4/iconvme.m4: Remove file.
50699
50700 2007-03-19  Bruno Haible  <bruno@clisp.org>
50701
50702         * doc/relocatable-maint.texi: Break long shell script line.
50703         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50704
50705 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50706
50707         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
50708         handle file_has_acl.
50709         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
50710         * lib/acl.c: Move header inclusions and related macro defns into
50711         lib/acl-internal.h.
50712         (S_ISLNK): Remove defn, since that's now done for us.
50713         (file_has_acl): Move to lib/file-has-acl.c.
50714         Call acl_trivial if available.  This is the crucial part of the fix.
50715         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
50716         shared within the library.  Rewrite a bit, partly to make it compatible
50717         with the GNU coding style.
50718         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
50719         Remove unnecessary double-quotes.
50720         Don't test for acl_to_text; the build will catch that.
50721         Replace acl_entries if it doesn't exist and it is needed.
50722         Check for -lsec and acl_trivial (as used on Solaris 10).
50723         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
50724         lib/file-has-acl.c.
50725         (Depends-on): Add sys_stat, for S_ISLNK.
50726
50727 2007-03-19  Ben Pfaff  <blp@gnu.org>
50728
50729         * doc/gnulib.texi: Fix typos.
50730         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
50731
50732 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
50733
50734         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
50735         If size is zero here, buf must be zero.
50736
50737 2007-03-19  Simon Josefsson  <simon@josefsson.org>
50738
50739         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
50740         <bruno@clisp.org>.
50741
50742 2007-03-18  Bruno Haible  <bruno@clisp.org>
50743
50744         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
50745         Suggested by Eric Blake.
50746
50747 2007-03-18  Ben Pfaff  <blp@gnu.org>
50748
50749         * doc/relocatable.texi: Recommend using as prefix a directory
50750         that does not exist and will never be created.  Based on
50751         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
50752         and others.
50753
50754 2007-03-17  Bruno Haible  <bruno@clisp.org>
50755
50756         * lib/fchownat.c: Include lchown.h.
50757
50758 2007-03-17  Bruno Haible  <bruno@clisp.org>
50759
50760         Fix endless loop when the given allocated size was > INT_MAX.
50761         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
50762         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
50763         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
50764         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
50765         * lib/sprintf.c (sprintf): Likewise.
50766
50767 2007-03-17  Bruno Haible  <bruno@clisp.org>
50768
50769         * tests/test-argp-2.sh (func_compare): Output a context diff.
50770
50771 2007-03-17  Bruno Haible  <bruno@clisp.org>
50772
50773         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
50774         locale's decimal-point character.
50775
50776 2007-03-17  Bruno Haible  <bruno@clisp.org>
50777
50778         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
50779         before comparing it. Needed because on some platforms (e.g. x86) a
50780         'long double' occupies less bytes than sizeof (long double).
50781
50782 2007-03-17  Bruno Haible  <bruno@clisp.org>
50783
50784         * tests/test-crc.c (main): Make printf statements 64-bit clean.
50785         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
50786         * tests/test-getaddrinfo.c (simple): Likewise.
50787         * tests/test-read-file.c (main): Likewise.
50788
50789 2007-03-17  Bruno Haible  <bruno@clisp.org>
50790
50791         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
50792
50793 2007-03-17  Bruno Haible  <bruno@clisp.org>
50794
50795         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
50796         unused variable.
50797
50798 2007-03-17  Bruno Haible  <bruno@clisp.org>
50799
50800         * tests/test-c-strcasecmp.c: Include c-strcase.h.
50801         * tests/test-c-strncasecmp.c: Likewise.
50802
50803 2007-03-17  Bruno Haible  <bruno@clisp.org>
50804
50805         * modules/stdlib (Depends-on): Add unistd.
50806         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
50807         Needed for MacOS X 10.3.
50808
50809 2007-03-17  Bruno Haible  <bruno@clisp.org>
50810
50811         * lib/unistr/u-strdup.h: Include <stdlib.h>.
50812
50813 2007-03-17  Bruno Haible  <bruno@clisp.org>
50814
50815         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
50816
50817 2007-03-17  Bruno Haible  <bruno@clisp.org>
50818
50819         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
50820         to reflect files copied from gnulib (with or without modifications).
50821         Suggested by Jim Meyering.
50822
50823 2007-03-17  Eric Blake  <ebb9@byu.net>
50824
50825         * NEWS: Document stdlib change from 2007-02-18.
50826
50827 2007-03-17  Jim Meyering  <jim@meyering.net>
50828
50829         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
50830         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
50831         someone uses a name containing shell meta-characters.
50832         Reported by Alfred M. Szmidt.
50833
50834         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
50835
50836 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50837
50838         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
50839         and copy gettext configuration files only if configure.ac contains
50840         a use of AM_GNU_GETTEXT_VERSION.
50841
50842 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
50843
50844         * build-aux/bootstrap (gnulib_name): New variable.
50845         (gnulib_tool_options): Use it.
50846
50847 2007-03-13  Simon Josefsson  <simon@josefsson.org>
50848
50849         * tests/test-des.c: Use new namespace.
50850
50851 2007-03-15  Bruno Haible  <bruno@clisp.org>
50852
50853         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
50854         Reported by James Youngman <jay@gnu.org>.
50855
50856 2007-03-15  Bruno Haible  <bruno@clisp.org>
50857
50858         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
50859         declared prototype. Needed with cc on OSF/1 5.1.
50860
50861 2007-03-15  Bruno Haible  <bruno@clisp.org>
50862
50863         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
50864         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
50865         (struct gl_list_implementation): Add dispose_fn argument to the
50866         'create_empty', 'create' methods.
50867         (struct gl_list_impl_base): Add field 'dispose_fn'.
50868         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
50869         argument.
50870         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
50871         dispose_fn argument.
50872         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
50873         dispose_fn on the dropped values.
50874         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
50875         dispose_fn argument.
50876         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
50877         dropped values.
50878         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
50879         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50880         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
50881         (gl_tree_remove_node): Call dispose_fn on the dropped value.
50882         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
50883         argument.
50884         (gl_tree_list_free): Call dispose_fn on the dropped values.
50885         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
50886         the dropped values.
50887         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
50888         Add dispose_fn argument.
50889         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
50890         Call dispose_fn on the dropped values.
50891         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
50892         Add dispose_fn argument.
50893         (gl_sublist_create): Initialize the 'dispose_fn' field.
50894         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
50895         * tests/test-array_list.c (main): Update.
50896         * tests/test-carray_list.c (main): Update.
50897         * tests/test-avltree_list.c (main): Update.
50898         * tests/test-rbtree_list.c (main): Update.
50899         * tests/test-avltreehash_list.c (main): Update.
50900         * tests/test-rbtreehash_list.c (main): Update.
50901         * tests/test-linked_list.c (main): Update.
50902         * tests/test-linkedhash_list.c (main): Update.
50903         * tests/test-array_oset.c (main): Update.
50904
50905 2007-03-15  Bruno Haible  <bruno@clisp.org>
50906
50907         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
50908         (gl_oset_create_empty): Add dispose_fn argument.
50909         (struct gl_oset_implementation): Add dispose_fn argument to
50910         'create_empty' method.
50911         (struct gl_oset_impl_base): Add dispose_fn field.
50912         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
50913         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
50914         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
50915         values.
50916         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
50917         (gl_tree_oset_free): Call dispose_fn on the dropped values.
50918         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50919         dropped value.
50920         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
50921         dropped value.
50922         * tests/test-array_oset.c (main): Update.
50923         * tests/test-avltree_oset.c (main): Update.
50924         * tests/test-rbtree_oset.c (main): Update.
50925         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
50926
50927 2007-03-13  Bruno Haible  <bruno@clisp.org>
50928
50929         * tests/test-stdbool.c (i): Update after last patch.
50930
50931 2007-03-12  Bruno Haible  <bruno@clisp.org>
50932
50933         * lib/quotearg.c: Include <wctype.h> early, before the definition of
50934         the iswprint macro. Needed on Solaris 2.5.1.
50935
50936 2007-03-12  Bruno Haible  <bruno@clisp.org>
50937
50938         * tests/test-printf-frexp.c (main): Declare x as volatile.
50939
50940 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50941
50942         * doc/gnulib.texi (Build robot for gnulib): New section.
50943
50944 2007-03-12  Jim Meyering  <jim@meyering.net>
50945
50946         * build-aux/bootstrap: New file.
50947         * build-aux/bootstrap.conf: New file, from coreutils.
50948
50949 2007-03-11  Bruno Haible  <bruno@clisp.org>
50950
50951         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
50952
50953 2007-03-12  Simon Josefsson  <simon@josefsson.org>
50954
50955         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
50956         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
50957         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
50958
50959 2007-03-11  Bruno Haible  <bruno@clisp.org>
50960
50961         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
50962         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
50963
50964 2007-03-11  Bruno Haible  <bruno@clisp.org>
50965
50966         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
50967         formula. Needed for SunPRO C 5.0.
50968
50969 2007-03-11  Bruno Haible  <bruno@clisp.org>
50970
50971         * modules/long-options (Depends-on): Add getopt.
50972
50973 2007-03-11  Bruno Haible  <bruno@clisp.org>
50974
50975         * modules/modechange (Depends-on): Add stdbool.
50976
50977 2007-03-11  Bruno Haible  <bruno@clisp.org>
50978
50979         * modules/i-ring (Depends-on): Add stdbool.
50980
50981 2007-03-11  Bruno Haible  <bruno@clisp.org>
50982
50983         * modules/gc-des (Depends-on): Add stdbool.
50984
50985 2007-03-11  Bruno Haible  <bruno@clisp.org>
50986
50987         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
50988
50989 2007-03-11  Bruno Haible  <bruno@clisp.org>
50990
50991         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
50992
50993 2007-03-11  Bruno Haible  <bruno@clisp.org>
50994
50995         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
50996
50997 2007-03-11  Bruno Haible  <bruno@clisp.org>
50998
50999         * lib/vasnprintf.c (sprintf): Undefine.
51000
51001 2007-03-11  Bruno Haible  <bruno@clisp.org>
51002
51003         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
51004         initializers in SunPRO C and Compaq C compilers.
51005
51006 2007-03-11  Bruno Haible  <bruno@clisp.org>
51007
51008         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
51009         decrementing code ANSI C compliant.
51010
51011 2007-03-11  Bruno Haible  <bruno@clisp.org>
51012
51013         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
51014         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
51015
51016 2007-03-11  Bruno Haible  <bruno@clisp.org>
51017
51018         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
51019         <stdbool.h> substitute doesn't pass.
51020
51021 2007-03-11  Bruno Haible  <bruno@clisp.org>
51022
51023         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
51024
51025 2007-03-11  Bruno Haible  <bruno@clisp.org>
51026
51027         * gnulib-tool (func_create_megatestdir): Create also an autobuild
51028         script, for submission to autobuild.josefsson.org.
51029
51030 2007-03-10  Bruno Haible  <bruno@clisp.org>
51031
51032         * modules/canonicalize-lgpl-tests: New file.
51033         * tests/test-canonicalize-lgpl.sh: New file.
51034         * tests/test-canonicalize-lgpl.c: New file.
51035
51036         * modules/c-strcase-tests: New file.
51037         * tests/test-c-strcase.sh: New file.
51038         * tests/test-c-strcasecmp.c: New file.
51039         * tests/test-c-strncasecmp.c: New file.
51040
51041         * modules/atexit-tests: New file.
51042         * tests/test-atexit.sh: New file.
51043         * tests/test-atexit.c: New file.
51044
51045 2007-03-10  Bruno Haible  <bruno@clisp.org>
51046
51047         * tests/test-binary-io.sh: Use temporary filenames that are not so
51048         likely to clash with those of other tests (in a parallel make).
51049         * tests/test-binary-io.c: Likewise.
51050
51051 2007-03-10  Bruno Haible  <bruno@clisp.org>
51052
51053         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
51054         fallback; use #error instead.
51055         Suggested by Simon Josefsson.
51056
51057 2007-03-10  Bruno Haible  <bruno@clisp.org>
51058
51059         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
51060         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
51061         first and the last.
51062
51063 2007-03-10  Bruno Haible  <bruno@clisp.org>
51064
51065         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
51066
51067 2007-03-10  Bruno Haible  <bruno@clisp.org>
51068
51069         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
51070         "make distcheck".
51071         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
51072         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
51073         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
51074
51075 2007-03-10  Bruno Haible  <bruno@clisp.org>
51076
51077         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
51078         variable.
51079         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
51080         variable.
51081
51082 2007-03-09  Eric Blake  <ebb9@byu.net>
51083         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
51084
51085         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
51086         types are not being provided by gnulib.
51087         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
51088         types are supported.
51089
51090 2007-03-10  Bruno Haible  <bruno@clisp.org>
51091
51092         * lib/stdio_.h (__attribute__): New macro.
51093         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
51094         vsprintf): Specify __attribute__ __format__ for GCC.
51095         Suggested by Eric Blake.
51096
51097 2007-03-09  Bruno Haible  <bruno@clisp.org>
51098
51099         * modules/printf-posix-tests: New file.
51100         * tests/test-printf-posix.sh: New file.
51101         * tests/test-printf-posix.c: New file.
51102
51103         * modules/printf-posix: New file.
51104         * lib/printf.c: New file.
51105         * m4/printf-posix-rpl.m4: New file.
51106         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
51107         REPLACE_PRINTF.
51108         * lib/stdio_.h (printf): New declaration.
51109         (format, __format__, ____printf____, ____scanf____, ____strftime____,
51110         ____strfmon____): New macros.
51111         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
51112         REPLACE_PRINTF.
51113
51114 2007-03-09  Bruno Haible  <bruno@clisp.org>
51115
51116         * tests/test-vasnprintf-posix2.sh: New file.
51117         * tests/test-vasnprintf-posix2.c: New file.
51118         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
51119         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51120         (Makefile.am): Activate test-vasnprintf-posix2.sh.
51121
51122         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
51123         a locale dependent decimal point, rather than always '.'.
51124
51125 2007-03-09  Eric Blake  <ebb9@byu.net>
51126
51127         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
51128         spite of platforms like Tandem/NSK that define it to -1.
51129
51130 2007-03-08  Bruno Haible  <bruno@clisp.org>
51131
51132         * modules/vprintf-posix-tests: New file.
51133         * tests/test-vprintf-posix.sh: New file.
51134         * tests/test-vprintf-posix.c: New file.
51135         * tests/test-printf-posix.h: New file.
51136
51137         * modules/vprintf-posix: New file.
51138         * lib/vprintf.c: New file.
51139         * m4/vprintf-posix.m4: New file.
51140         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
51141         REPLACE_VPRINTF.
51142         * lib/stdio_.h (vprintf): New declaration.
51143         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
51144         REPLACE_VPRINTF.
51145
51146 2007-03-08  Bruno Haible  <bruno@clisp.org>
51147
51148         * modules/fprintf-posix-tests: New file.
51149         * tests/test-fprintf-posix.sh: New file.
51150         * tests/test-fprintf-posix.c: New file.
51151
51152         * modules/fprintf-posix: New file.
51153         * lib/fprintf.c: New file.
51154         * m4/fprintf-posix.m4: New file.
51155         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
51156         REPLACE_FPRINTF.
51157         * lib/stdio_.h (fprintf): New declaration.
51158         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
51159         REPLACE_FPRINTF.
51160
51161 2007-03-08  Bruno Haible  <bruno@clisp.org>
51162
51163         * modules/vfprintf-posix-tests: New file.
51164         * tests/test-vfprintf-posix.sh: New file.
51165         * tests/test-vfprintf-posix.c: New file.
51166         * tests/test-fprintf-posix.h: New file.
51167         * tests/test-fprintf-posix.out: New file.
51168
51169         * modules/vfprintf-posix: New file.
51170         * lib/vfprintf.c: New file.
51171         * m4/vfprintf-posix.m4: New file.
51172         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
51173         REPLACE_VFPRINTF.
51174         * lib/stdio_.h (vfprintf): New declaration.
51175         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
51176         REPLACE_VFPRINTF.
51177
51178 2007-03-08  Bruno Haible  <bruno@clisp.org>
51179
51180         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
51181
51182 2007-03-08  Bruno Haible  <bruno@clisp.org>
51183
51184         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
51185         instead of 'expr' invocations.
51186         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51187         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51188         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51189         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
51190         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51191         Suggested by Paul Eggert.
51192
51193 2007-03-08  Bruno Haible  <bruno@clisp.org>
51194
51195         * modules/fseterr-tests: New file.
51196         * tests/test-fseterr.c: New file.
51197
51198         * modules/fseterr: New file.
51199         * lib/fseterr.h: New file.
51200         * lib/fseterr.c: New file.
51201
51202 2007-03-08  Bruno Haible  <bruno@clisp.org>
51203
51204         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
51205         * lib/getopt_.h: Likewise.
51206         * lib/mbswidth.h: Likewise.
51207         * lib/setenv.h: Likewise.
51208         * lib/vasnprintf.h: Likewise.
51209         * lib/vasprintf.h: Likewise.
51210         * lib/verror.h: Likewise.
51211         * lib/xsetenv.h: Likewise.
51212         * lib/xvasprintf.h: Likewise.
51213
51214 2007-03-08  Jim Meyering  <jim@meyering.net>
51215
51216         * users.txt: Add parted.
51217
51218         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
51219
51220 2007-03-07  Bruno Haible  <bruno@clisp.org>
51221
51222         * m4/printf.m4: Make the shell script snippets copy&pastable.
51223
51224 2007-03-02  Bruno Haible  <bruno@clisp.org>
51225
51226         * lib/netinet_in_.h: New file.
51227         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
51228         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
51229         * modules/netinet_in (Files): Add lib/netinet_in_.h.
51230         (Depends-on): Add absolute-header.
51231         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
51232         into netinet/in.h.
51233
51234 2007-03-03  Bruno Haible  <bruno@clisp.org>
51235
51236         * lib/sys_select_.h: New file.
51237         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
51238         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
51239         * modules/sys_select (Files): Add lib/sys_select_.h.
51240         (Depends-on): Add absolute-header.
51241         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
51242         into sys/select.h.
51243
51244 2007-03-02  Bruno Haible  <bruno@clisp.org>
51245
51246         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
51247         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
51248         values.
51249         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
51250         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
51251         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
51252         * modules/sys_socket (Depends-on): Add absolute-header.
51253         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
51254         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
51255         (Include): Remove requirement of inclusion of <sys/types.h>.
51256
51257 2007-03-02  Bruno Haible  <bruno@clisp.org>
51258
51259         * lib/byteswap_.h (bswap_32): Fix formula.
51260
51261 2007-03-06  Bruno Haible  <bruno@clisp.org>
51262
51263         * modules/sprintf-posix-tests: New file.
51264         * tests/test-sprintf-posix.c: New file.
51265
51266         * modules/sprintf-posix: New file.
51267         * lib/sprintf.c: New file.
51268         * m4/sprintf-posix.m4: New file.
51269         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
51270         REPLACE_SPRINTF.
51271         * lib/stdio_.h (sprintf): New declaration.
51272         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
51273         REPLACE_SPRINTF.
51274
51275 2007-03-06  Bruno Haible  <bruno@clisp.org>
51276
51277         * modules/vsprintf-posix-tests: New file.
51278         * tests/test-vsprintf-posix.c: New file.
51279         * tests/test-sprintf-posix.h: New file.
51280
51281         * modules/vsprintf-posix: New file.
51282         * lib/vsprintf.c: New file.
51283         * m4/vsprintf-posix.m4: New file.
51284         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
51285         REPLACE_VSPRINTF.
51286         * lib/stdio_.h (vsprintf): New declaration.
51287         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
51288         REPLACE_VSPRINTF.
51289
51290 2007-03-06  Bruno Haible  <bruno@clisp.org>
51291
51292         * modules/vsnprintf (Depend-on): Remove minmax.
51293
51294 2007-03-06  Bruno Haible  <bruno@clisp.org>
51295
51296         * modules/snprintf-posix-tests: New file.
51297         * tests/test-snprintf-posix.c: New file.
51298
51299         * modules/snprintf-posix: New file.
51300         * m4/snprintf-posix.m4: New file.
51301         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
51302         gl_FUNC_SNPRINTF.
51303         (gl_FUNC_SNPRINTF): Invoke it.
51304         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
51305         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
51306         is set.
51307         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
51308
51309 2007-03-06  Bruno Haible  <bruno@clisp.org>
51310
51311         * modules/vsnprintf-posix-tests: New file.
51312         * tests/test-vsnprintf-posix.c: New file.
51313         * tests/test-snprintf-posix.h: New file.
51314
51315         * modules/vsnprintf-posix: New file.
51316         * m4/vsnprintf-posix.m4: New file.
51317         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
51318         gl_FUNC_VSNPRINTF.
51319         (gl_FUNC_VSNPRINTF): Invoke it.
51320         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
51321         * lib/stdio_.h (vsnprintf): Define as a replacement if
51322         REPLACE_VSNPRINTF is set.
51323         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
51324
51325 2007-03-06  Bruno Haible  <bruno@clisp.org>
51326
51327         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
51328         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
51329
51330 2007-03-06  Bruno Haible  <bruno@clisp.org>
51331
51332         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
51333         (asinl): Declare also if HAVE_DECL_ASINL is set.
51334         (atanl): Declare also if HAVE_DECL_ATANL is set.
51335         (ceill): Declare also if HAVE_DECL_CEILL is set.
51336         (cosl): Declare also if HAVE_DECL_COSL is set.
51337         (expl): Declare also if HAVE_DECL_EXPL is set.
51338         (floorl): Declare also if HAVE_DECL_FLOORL is set.
51339         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
51340         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
51341         (logl): Declare also if HAVE_DECL_LOGL is set.
51342         (sinl): Declare also if HAVE_DECL_SINL is set.
51343         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
51344         (tanl): Declare also if HAVE_DECL_TANL is set.
51345         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
51346         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
51347         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
51348         declaration of frexpl, ldexpl.
51349         * modules/printf-frexpl (Depends-on): Add math.
51350         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
51351
51352 2007-03-05  Bruno Haible  <bruno@clisp.org>
51353
51354         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
51355         frexpl and ldexpl are declared.
51356         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
51357
51358 2007-03-05  Bruno Haible  <bruno@clisp.org>
51359
51360         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
51361         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
51362
51363 2007-03-05  Bruno Haible  <bruno@clisp.org>
51364
51365         * lib/stdio_.h: Include <stddef.h>.
51366
51367 2007-03-05  Bruno Haible  <bruno@clisp.org>
51368
51369         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
51370
51371 2007-03-05  Bruno Haible  <bruno@clisp.org>
51372
51373         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
51374         NetBSD 4, from Ralf Wildenhues.
51375
51376 2007-03-04  Bruno Haible  <bruno@clisp.org>
51377
51378         * lib/vasprintf.h: Update #if logic for the case when the functions
51379         exist but are overridden.
51380
51381 2007-03-04  Bruno Haible  <bruno@clisp.org>
51382
51383         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
51384         implementations: glibc-2.4 and MacOS X 10.3.
51385         * tests/test-vasnprintf-posix.c (test_function): Test also the case
51386         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
51387         * tests/test-vasprintf-posix.c (test_function): Likewise.
51388
51389 2007-03-04  Bruno Haible  <bruno@clisp.org>
51390
51391         * modules/vasprintf-posix-tests: New file.
51392         * tests/test-vasprintf-posix.c: New file.
51393
51394         * modules/vasprintf-posix: New file.
51395         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
51396         defined.
51397         * m4/vasprintf-posix.m4: New file.
51398         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
51399         gl_FUNC_VASPRINTF.
51400         (gl_FUNC_VASPRINTF): Invoke it.
51401         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
51402         here.
51403         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
51404
51405 2007-03-04  Bruno Haible  <bruno@clisp.org>
51406
51407         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
51408         REPLACE_GETTIMEOFDAY.
51409         * modules/sys_time (Makefile.am): Likewise.
51410         * m4/sys_time_h.m4: Likewise.
51411         * m4/gettimeofday.m4: Likewise.
51412
51413 2007-03-04  Bruno Haible  <bruno@clisp.org>
51414
51415         * modules/vasnprintf-posix-tests: New file.
51416         * tests/test-vasnprintf-posix.c: New file.
51417
51418         * modules/vasnprintf-posix: New file.
51419         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
51420         printf-frexpl.h.
51421         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
51422         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
51423         REPLACE_VASNPRINTF is defined.
51424         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
51425         gl_FUNC_VASNPRINTF.
51426         (gl_FUNC_VASNPRINTF): Invoke it.
51427         * m4/vasnprintf-posix.m4: New file.
51428         * m4/printf.m4: New file.
51429
51430 2007-03-04  Bruno Haible  <bruno@clisp.org>
51431
51432         Compile progreloc.c only if --enable-relocatable is specified.
51433         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
51434         if --enable-relocatable was specified.
51435         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
51436         lib_SOURCES.
51437
51438 2007-03-04  Jim Meyering  <jim@meyering.net>
51439
51440         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
51441         Use it consistently, rather than enumerating errno constants.
51442
51443 2007-03-04  Bruno Haible  <bruno@clisp.org>
51444
51445         * modules/xvasprintf-tests: New file.
51446         * tests/test-xvasprintf.c: New file.
51447
51448         * modules/vasprintf-tests: New file.
51449         * tests/test-vasprintf.c: New file.
51450
51451         * modules/vasnprintf-tests: New file.
51452         * tests/test-vasnprintf.c: New file.
51453
51454         * modules/vsnprintf-tests: New file.
51455         * tests/test-vsnprintf.c: New file.
51456
51457         * modules/snprintf-tests: New file.
51458         * tests/test-snprintf.c: New file.
51459
51460 2007-03-04  Bruno Haible  <bruno@clisp.org>
51461
51462         Compile relocatable.c only if --enable-relocatable is specified.
51463         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
51464         gl_RELOCATABLE_LIBRARY.
51465         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
51466         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
51467         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
51468         gl_RELOCATABLE_LIBRARY.
51469         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
51470         (Makefile.am): Remove lib_SOURCES.
51471         * modules/relocatable-lib-lgpl (configure.ac): Invoke
51472         gl_RELOCATABLE_LIBRARY.
51473         (Makefile.am): Remove lib_SOURCES.
51474         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
51475         always.
51476         * modules/relocatable-prog-wrapper (configure.ac): Invoke
51477         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
51478
51479 2007-03-04  Bruno Haible  <bruno@clisp.org>
51480
51481         * modules/argmatch-tests: New file.
51482         * tests/test-argmatch.c: New file.
51483
51484         * tests/test-allocsa.c (main): Halve the number of loop runs.
51485
51486         * modules/alloca-opt-tests: New file.
51487         * tests/test-alloca-opt.c: New file.
51488
51489 2007-03-04  Jim Meyering  <jim@meyering.net>
51490
51491         Work around difference between Linux ACLs and Solaris 10 ZFS.
51492         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
51493         for EINVAL.
51494
51495 2007-03-03  Bruno Haible  <bruno@clisp.org>
51496
51497         * modules/relocatable-prog (Depends-on): Add back progreloc's
51498         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
51499
51500 2007-03-03  Bruno Haible  <bruno@clisp.org>
51501
51502         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
51503         * modules/relocatable-lib: New file.
51504
51505 2007-03-03  Bruno Haible  <bruno@clisp.org>
51506
51507         * modules/relocatable-prog: Renamed from modules/relocatable.
51508         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
51509
51510 2007-03-03  Bruno Haible  <bruno@clisp.org>
51511
51512         * modules/relocatable-script (Files): Add doc/relocatable.texi,
51513         m4/relocatable-lib.m4.
51514         (Depends-on): Remove 'relocatable'.
51515         (configure.ac): Add gl_RELOCATABLE_NOP.
51516
51517 2007-03-03  Bruno Haible  <bruno@clisp.org>
51518
51519         * modules/relocatable-prog-wrapper: New file.
51520         * modules/relocatable (Depends-on): Add it. Remove all other
51521         dependencies except progname.
51522         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
51523
51524         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
51525         (gl_FUNC_STRERROR): Nop.
51526         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
51527
51528         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
51529         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
51530
51531         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
51532         (gl_FUNC_READLINK): Update.
51533
51534         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
51535
51536 2007-03-03  Bruno Haible  <bruno@clisp.org>
51537
51538         * lib/xreadlink.c: Include <unistd.h> unconditionally.
51539         * modules/xreadlink (Depends-on): Add unistd.
51540         * modules/xreadlink-with-size (Depends-on): Likewise.
51541
51542 2007-03-03  Bruno Haible  <bruno@clisp.org>
51543
51544         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
51545         extracted from gt_FUNC_SETENV.
51546         (gt_FUNC_SETENV): Remove macro.
51547         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
51548         remove gt_FUNC_SETENV.
51549
51550 2007-03-03  Bruno Haible  <bruno@clisp.org>
51551
51552         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
51553         ENABLE_RELOCATABLE here.
51554         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
51555
51556 2007-03-03  Bruno Haible  <bruno@clisp.org>
51557
51558         * modules/rbtreehash-list-tests (Depends-on): Add progname.
51559         * tests/test-rbtreehash_list.c: Include progname.h.
51560         (main): Call set_program_name.
51561
51562         * modules/rbtree-oset-tests (Depends-on): Add progname.
51563         * tests/test-rbtree_oset.c: Include progname.h.
51564         (main): Call set_program_name.
51565
51566         * modules/rbtree-list-tests (Depends-on): Add progname.
51567         * tests/test-rbtree_list.c: Include progname.h.
51568         (main): Call set_program_name.
51569
51570         * modules/linked-list-tests (Depends-on): Add progname.
51571         * tests/test-linked_list.c: Include progname.h.
51572         (main): Call set_program_name.
51573
51574 2007-03-03  Bruno Haible  <bruno@clisp.org>
51575
51576         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
51577         All uses of __restrict changed to _Restrict_.
51578         * lib/glob_.h (__restrict): Remove macro.
51579
51580 2007-03-02  Bruno Haible  <bruno@clisp.org>
51581
51582         * modules/gettext (configure.ac): Require gettext infrastructure
51583         from version 0.16.1.
51584
51585 2007-03-02  Bruno Haible  <bruno@clisp.org>
51586
51587         * modules/linkedhash-list-tests (Depends-on): Add progname.
51588         * tests/test-linkedhash_list.c: Include progname.h.
51589         (main): Call set_program_name.
51590
51591         * modules/carray-list-tests (Depends-on): Add progname.
51592         * tests/test-carray_list.c: Include progname.h.
51593         (main): Call set_program_name.
51594
51595         * modules/avltreehash-list-tests (Depends-on): Add progname.
51596         * tests/test-avltreehash_list.c: Include progname.h.
51597         (main): Call set_program_name.
51598
51599         * modules/avltree-oset-tests (Depends-on): Add progname.
51600         * tests/test-avltree_oset.c: Include progname.h.
51601         (main): Call set_program_name.
51602
51603         * modules/avltree-list-tests (Depends-on): Add progname.
51604         * tests/test-avltree_list.c: Include progname.h.
51605         (main): Call set_program_name.
51606
51607         * modules/array-oset-tests (Depends-on): Add progname.
51608         * tests/test-array_oset.c: Include progname.h.
51609         (main): Call set_program_name.
51610
51611         * modules/array-list-tests (Depends-on): Add progname.
51612         * tests/test-array_list.c: Include progname.h.
51613         (main): Call set_program_name.
51614
51615         * modules/argp-tests (Depends-on): Add progname.
51616         * tests/test-argp.c: Include argp.h first. Include progname.h.
51617         (main): Call set_program_name.
51618
51619 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
51620
51621         * doc/gnulib-tool.texi (Initial import): Reword description of
51622         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
51623         limited effect even if defined after the first system include.
51624
51625 2007-03-01  Bruno Haible  <bruno@clisp.org>
51626
51627         * build-aux/config.libpath: Update to libtool-1.5.22.
51628         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51629
51630 2007-03-01  Bruno Haible  <bruno@clisp.org>
51631
51632         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
51633         foo_CFLAGS.
51634         Reported by Ralf Wildenhues.
51635
51636 2007-03-01  Bruno Haible  <bruno@clisp.org>
51637
51638         * build-aux/install-reloc: Remove object files left over by some
51639         compilers.
51640         Reported by Ralf Wildenhues.
51641
51642 2007-03-01  Bruno Haible  <bruno@clisp.org>
51643
51644         * build-aux/install-reloc: Break long lines.
51645
51646 2007-03-01  Bruno Haible  <bruno@clisp.org>
51647
51648         * doc/relocatable.texi: Document that it may not work on OpenBSD.
51649         Reported by Ralf Wildenhues.
51650
51651 2007-03-01  Bruno Haible  <bruno@clisp.org>
51652
51653         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
51654         include ordering constraints.
51655
51656 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
51657
51658         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
51659         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
51660         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
51661         as another example.
51662         * lib/time_.h: Fix misspelling.
51663         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
51664         Require gl_HEADER_TIME_H_DEFAULTS.
51665         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
51666         * m4/time_r.m4 (gl_TIME_R): Likewise.
51667         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
51668
51669 2007-03-01  Bruno Haible  <bruno@clisp.org>
51670
51671         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
51672         * m4/utimens.m4 (gl_UTIMENS): Likewise.
51673
51674 2007-03-01  Jim Meyering  <jim@meyering.net>
51675
51676         * modules/xreadlink (Maintainer): Add my name.
51677         * modules/xreadlink-with-size (Depends-on): Alphabetize.
51678
51679 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
51680             Bruno Haible  <bruno@clisp.org>
51681
51682         * build-aux/install-reloc: Compile also c-ctype.c.
51683         * build-aux/relocatable.sh.in: New file.
51684         * doc/relocatable.texi: New file.
51685         * doc/relocatable-maint.texi: New file.
51686         * doc/gnulib.texi: Include relocatable-maint.texi.
51687         * lib/progreloc.c: Include unistd.h unconditionally.
51688         * lib/relocwrapper.c: Include unistd.h unconditionally.
51689         Include c-ctype.h.
51690         (add_dotbin): Use c_tolower.
51691         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
51692         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
51693         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
51694         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
51695         to m4/relocatable-lib.m4.
51696         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
51697         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
51698         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
51699         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
51700         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
51701         * modules/relocatable: New file.
51702         * modules/relocatable-lib: New file.
51703         * modules/relocatable-script: New file.
51704
51705 2007-02-28  Bruno Haible  <bruno@clisp.org>
51706
51707         Import --enable-relocatable infrastructure.
51708         * build-aux/config.libpath: New file, from GNU gettext.
51709         * build-aux/install-reloc: New file, from GNU gettext.
51710         * build-aux/reloc-ldflags: New file, from GNU gettext.
51711         * lib/relocatable.h: New file, from GNU gettext.
51712         * lib/relocatable.c: New file, from GNU gettext.
51713         * lib/relocwrapper.c: New file, from GNU gettext.
51714         * m4/relocatable.m4: New file, from GNU gettext.
51715
51716 2007-02-28  Bruno Haible  <bruno@clisp.org>
51717
51718         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
51719
51720         * modules/xreadlink: New file, from GNU gettext with modifications.
51721         * lib/xreadlink.c: New file, from GNU gettext.
51722         * lib/xreadlink.h: Add comments.
51723         (xreadlink): New declaration.
51724
51725         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
51726         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
51727         lib/xreadlink-with-size.c.
51728         (configure.ac): Remove gl_XREADLINK invocation.
51729         (Makefile.am): Augment lib_SOURCES.
51730         * m4/xreadlink.m4: Remove file.
51731         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
51732         (xreadlink_with_size): Renamed from xreadink.
51733         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
51734         * modules/canonicalize (Depends-on): Replace xreadlink with
51735         xreadlink-with-size.
51736         * lib/canonicalize.c (canonicalize_filename_mode): Update.
51737
51738 2007-02-25  Jim Meyering  <jim@meyering.net>
51739
51740         * build-aux/announce-gen: When complaining about excess arguments,
51741         list them.
51742
51743 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
51744
51745         * README: Document signed integer overflow situation more
51746         accurately.
51747
51748 2007-02-25  Bruno Haible  <bruno@clisp.org>
51749
51750         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
51751         'a' or 'A' conversion.
51752
51753 2007-02-25  Bruno Haible  <bruno@clisp.org>
51754
51755         * modules/filename: Renamed from modules/pathname.
51756         (Files): Replace lib/pathname.h with lib/filename.h. Replace
51757         lib/concatpath.c with lib/concat-filename.c.
51758         (Makefile.am): Update.
51759         (Include): Replace pathname.h with filename.h.
51760         * lib/filename.h: Renamed from lib/pathname.h.
51761         (concatenated_filename): Renamed from concatenated_pathname.
51762         * lib/concat-filename.c: Renamed from lib/concatpath.c.
51763         (concatenated_filename): Renamed from concatenated_pathname.
51764         * lib/findprog.c: Include filename.h instead of pathname.h.
51765         (find_in_path): Update.
51766         * lib/javacomp.c: Include filename.h instead of pathname.h.
51767         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51768         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51769         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51770         is_oldgcj_14_13_usable, is_javac_usable): Update.
51771         * lib/javaexec.c: Include filename.h instead of pathname.h.
51772         (execute_java_class): Update.
51773         * modules/findprog: Update.
51774         * modules/javacomp: Update.
51775         * modules/javaexec: Update.
51776         * MODULES.html.sh (File system functions): Add 'filename', remove
51777         'pathname'.
51778
51779 2007-02-25  Bruno Haible  <bruno@clisp.org>
51780
51781         * modules/printf-frexpl-tests: New file.
51782         * tests/test-printf-frexpl.c: New file.
51783
51784         * modules/printf-frexpl: New file.
51785         * lib/printf-frexpl.h: New file.
51786         * lib/printf-frexpl.c: New file.
51787         * m4/printf-frexpl.m4: New file.
51788
51789 2007-02-25  Bruno Haible  <bruno@clisp.org>
51790
51791         * modules/printf-frexp-tests: New file.
51792         * tests/test-printf-frexp.c: New file.
51793
51794         * modules/printf-frexp: New file.
51795         * lib/printf-frexp.h: New file.
51796         * lib/printf-frexp.c: New file.
51797         * m4/printf-frexp.m4: New file.
51798
51799 2007-02-25  Bruno Haible  <bruno@clisp.org>
51800
51801         Assume automake >= 1.10 for the tests.
51802         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
51803         * modules/arctwo-tests: Likewise.
51804         * modules/argp-tests: Likewise.
51805         * modules/avltree-list-tests: Likewise.
51806         * modules/avltree-oset-tests: Likewise.
51807         * modules/avltreehash-list-tests: Likewise.
51808         * modules/carray-list-tests: Likewise.
51809         * modules/crc-tests: Likewise.
51810         * modules/des-tests: Likewise.
51811         * modules/gc-arcfour-tests: Likewise.
51812         * modules/gc-arctwo-tests: Likewise.
51813         * modules/gc-des-tests: Likewise.
51814         * modules/gc-hmac-md5-tests: Likewise.
51815         * modules/gc-hmac-sha1-tests: Likewise.
51816         * modules/gc-md2-tests: Likewise.
51817         * modules/gc-md4-tests: Likewise.
51818         * modules/gc-md5-tests: Likewise.
51819         * modules/gc-pbkdf2-sha1-tests: Likewise.
51820         * modules/gc-rijndael-tests: Likewise.
51821         * modules/gc-sha1-tests: Likewise.
51822         * modules/gc-tests: Likewise.
51823         * modules/getaddrinfo-tests: Likewise.
51824         * modules/hmac-md5-tests: Likewise.
51825         * modules/hmac-sha1-tests: Likewise.
51826         * modules/linked-list-tests: Likewise.
51827         * modules/linkedhash-list-tests: Likewise.
51828         * modules/lock-tests: Likewise.
51829         * modules/md2-tests: Likewise.
51830         * modules/md4-tests: Likewise.
51831         * modules/md5-tests: Likewise.
51832         * modules/rbtree-list-tests: Likewise.
51833         * modules/rbtree-oset-tests: Likewise.
51834         * modules/rbtreehash-list-tests: Likewise.
51835         * modules/read-file-tests: Likewise.
51836         * modules/rijndael-tests: Likewise.
51837         * modules/stdint-tests: Likewise.
51838         * modules/tls-tests: Likewise.
51839
51840 2007-02-24  Bruno Haible  <bruno@clisp.org>
51841
51842         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
51843         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
51844         function; instead check whether isnan with a double argument links.
51845         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
51846         function; instead check whether isnan with a 'long double' argument
51847         links.
51848         Reported by Eric Blake <ebb9@byu.net>.
51849
51850 2007-02-24  Bruno Haible  <bruno@clisp.org>
51851
51852         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
51853         defined.
51854         * lib/isnanl.c: Remove all code. Just include isnan.c.
51855         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
51856
51857 2007-02-25  Jim Meyering  <jim@meyering.net>
51858
51859         Avoid conflicting types for 'unsetenv' on FreeBSD.
51860         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
51861         conflicting with FreeBSD's (5.0 and 6.1) function declaration
51862         in stdlib.h.
51863
51864 2007-02-24  Bruno Haible  <bruno@clisp.org>
51865
51866         * modules/isnanl-nolibm-tests: New file.
51867         * tests/test-isnanl.c: New file.
51868
51869         * modules/isnanl-nolibm: New file.
51870         * lib/isnanl.h: New file.
51871         * lib/isnanl.c: New file.
51872         * m4/isnanl.m4: New file.
51873
51874 2007-02-24  Bruno Haible  <bruno@clisp.org>
51875
51876         * modules/isnan-nolibm-tests: New file.
51877         * tests/test-isnan.c: New file.
51878
51879         * modules/isnan-nolibm: New file.
51880         * lib/isnan.h: New file.
51881         * lib/isnan.c: New file.
51882         * m4/isnan.m4: New file.
51883
51884 2007-02-24  Bruno Haible  <bruno@clisp.org>
51885
51886         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
51887         assume that an exponent fits in 20 bits.
51888
51889 2007-02-24  Jim Meyering  <jim@meyering.net>
51890
51891         * m4/regex.m4: Update the description of the configure-time option,
51892         --without-included-regex, to state accurately what the defaults are,
51893         and perhaps to give people an idea why using this option is risky.
51894
51895 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
51896
51897         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
51898         loops on small arguments.  This attempts to avoid the problem
51899         Bruno Haible reported for AIX 4.3.2 in
51900         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
51901
51902 2007-02-23  Bruno Haible  <bruno@clisp.org>
51903
51904         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
51905         Needed for help2man.
51906
51907 2007-02-23  Karl Berry  <karl@gnu.org>
51908
51909         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
51910         exists, foo.h should be cvs-ignored, not committed.
51911
51912 2007-02-23  Eric Blake  <ebb9@byu.net>
51913
51914         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
51915         * lib/stat-time.h (includes): Likewise.
51916         * lib/utimecmp.c (includes): Likewise.
51917         * lib/utimens.h (includes): Likewise.
51918         * lib/getdate.y (includes): Also include "timespec.h" for use
51919         internal to the module.
51920         * modules/utimens (Depends-on): Revert yesterday's patch.
51921         * modules/nanosleep (Depends-on): Add missing dependency.
51922
51923 2007-02-22  Bruno Haible  <bruno@clisp.org>
51924
51925         * lib/glob.c: Don't include getlogin_r.h.
51926
51927 2007-02-22  Jim Meyering  <jim@meyering.net>
51928
51929         * modules/utimens (Depends-on): Add timespec, required for
51930         utimens.h's inclusion of timespec.h.
51931
51932 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
51933
51934         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
51935         long unreadable paths in GNU/Linux.  Problem reported by Andreas
51936         Schwab in
51937         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
51938         I'll try to think of a better way to fix the Solaris problem.
51939
51940         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
51941         like glibc; on Solaris 10, it fails with errno == EINVAL.
51942         POSIX says the behavior is unspecified if the first argument is NULL,
51943         so play it safe and never pass NULL to the system getcwd.
51944
51945 2007-02-21  Jim Meyering  <jim@meyering.net>
51946
51947         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
51948         of gettimeofday.  It would conflict with the one now always
51949         provided via sys_time_.h.  Reported by Matthew Woehlke, as
51950         an IRIX 6.5 build failure.
51951
51952 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
51953
51954         Minor fixups to port to Solaris 10 with Sun C 5.8.
51955         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
51956         * modules/getcwd (Depends-on): Add dirfd.
51957         * lib/putenv.c (putenv): #undef it.
51958         (rpl_putenv): New decl.
51959         (malloc, free): Include <stdlib.h> rather than prototyping separately.
51960
51961 2007-02-20  Bruno Haible  <bruno@clisp.org>
51962
51963         * modules/stdio-tests: New file.
51964         * tests/test-stdio.c: New file.
51965
51966         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
51967         (Depends-on): Add stdio.
51968         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51969         (Include): Use <stdio.h> instead of vsnprintf.h.
51970         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51971         HAVE_DECL_VSNPRINTF.
51972         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
51973
51974         * modules/snprintf (Files): Remove lib/snprintf.h.
51975         (Depends-on): Add stdio.
51976         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
51977         (Include): Use <stdio.h> instead of snprintf.h.
51978         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
51979         HAVE_DECL_SNPRINTF.
51980         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
51981         * lib/getaddrinfo.c: Likewise.
51982
51983         * modules/stdio: New file.
51984         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
51985         * lib/snprintf.h: Remove file.
51986         * lib/vsnprintf.h: Remove file.
51987         * lib/.cppi-disable: Remove snprintf.h.
51988         * m4/stdio_h.m4: New file.
51989         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
51990
51991 2007-02-20  Jim Meyering  <jim@meyering.net>
51992
51993         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
51994         used by e.g., mingw.  From Bruno Haible.
51995
51996 2007-02-19  Bruno Haible  <bruno@clisp.org>
51997
51998         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
51999         warnings.
52000         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52001
52002 2007-02-19  Bruno Haible  <bruno@clisp.org>
52003
52004         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
52005         from mingw users.
52006
52007 2007-02-19  Bruno Haible  <bruno@clisp.org>
52008
52009         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
52010         warnings.
52011         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
52012
52013 2007-02-19  Jim Meyering  <jim@meyering.net>
52014
52015         Don't use FD after a successful "fdopendir (fd)".
52016         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
52017         Reset it by calling dirfd on the just-obtained DIR*.
52018
52019         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
52020         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
52021
52022 2007-02-18  Bruno Haible  <bruno@clisp.org>
52023
52024         * lib/readlink.c: Include <unistd.h>.
52025         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
52026         HAVE_READLINK.
52027         * modules/readlink (Depends-on): Add unistd.
52028         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52029         (Include): Add <unistd.h>.
52030
52031         * lib/getlogin_r.h: Remove file.
52032         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
52033         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
52034         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
52035         HAVE_DECL_GETLOGIN_R.
52036         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
52037         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52038         (Include): Use <unistd.h> instead of getlogin_r.h.
52039
52040         * lib/getcwd.h: Remove file.
52041         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
52042         * lib/xgetcwd.c: Likewise.
52043         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
52044         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
52045         * modules/getcwd (Files): Remove lib/getcwd.h.
52046         (Depends-on): Add unistd.
52047         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52048         (Include): Use <unistd.h> instad of getcwd.h.
52049
52050         * lib/ftruncate.c: Include <unistd.h> first.
52051         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
52052         Set HAVE_FTRUNCATE.
52053         * modules/ftruncate (Depends-on): Add unistd.
52054         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52055
52056         * lib/fchdir.c: Include <unistd.h> first.
52057         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
52058         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
52059         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
52060         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52061         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
52062
52063         * lib/dup2.c: Include <unistd.h> first.
52064         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
52065         HAVE_DUP2.
52066         * modules/dup2 (Depends-on): Add unistd.
52067         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52068
52069         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
52070         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
52071         REPLACE_CHOWN. Don't define chown as a macro here.
52072         * modules/chown (Depends-on): Add unistd.
52073         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52074
52075         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
52076         Add definition for GL_LINK_WARNING.
52077         (chown, dup2): New declarations.
52078         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
52079         link warning.
52080         (ftruncate): New declaration.
52081         (getcwd): New declaration, taken from old getcwd.h.
52082         (getlogin_r): New declaration, taken from old getlogin_r.h.
52083         (readlink): New declaration.
52084         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
52085         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
52086         (gl_PREREQ_UNISTD): Remove macro.
52087         (gl_UNISTD_MODULE_INDICATOR): New macro.
52088         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
52089         many new variables. Don't set UNISTD_H.
52090         * modules/unistd (Description): Change.
52091         (Depends-on): Add link-warning.
52092         (configure.ac): Update.
52093         (Makefile.am): Create unistd.h always. Substitute many new variables
52094         into it.
52095
52096 2007-02-18  Bruno Haible  <bruno@clisp.org>
52097
52098         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
52099         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
52100         HAVE_GETSUBOPT.
52101         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
52102         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
52103         * lib/getsubopt.h: Remove file.
52104         * modules/getsubopt (Files): Remove lib/getsubopt.h.
52105         (Depends-on): Add stdlib.
52106         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52107         (Includes): Use <stdlib.h> instead of getsubopt.h.
52108         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
52109         Set HAVE_GETSUBOPT.
52110         * lib/getsubopt.c: Don't include getsubopt.h.
52111
52112 2007-02-18  Bruno Haible  <bruno@clisp.org>
52113
52114         * modules/fchdir (Depends-on): Add dup2.
52115
52116 2007-02-18  Bruno Haible  <bruno@clisp.org>
52117
52118         * lib/stdlib_.h: Handle glibc's special invocation convention
52119         specially.
52120
52121 2007-02-18  Bruno Haible  <bruno@clisp.org>
52122
52123         * modules/stdlib-tests: New file.
52124         * tests/test-stdlib.c: New file.
52125
52126         * modules/mkstemp (Files): Remove lib/mkstemp.h.
52127         (Depends-on): Add stdlib.
52128         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52129         (Includes): Use <stdlib.h> instead of mkstemp.h.
52130         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52131         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
52132         * lib/mkstemp.c: Don't include mkstemp.h.
52133         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
52134         * lib/stdlib--.h: Don't include mkstemp.h.
52135
52136         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
52137         (Depends-on): Add stdlib.
52138         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52139         (Includes): Use <stdlib.h> instead of mkdtemp.h.
52140         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
52141         HAVE_MKDTEMP.
52142         * lib/mkdtemp.c: Don't include mkdtemp.h.
52143         * lib/clean-temp.c: Don't include mkdtemp.h.
52144
52145         * modules/exit (Files): Remove lib/exit.h.
52146         (Depends-on): Add stdlib.
52147         (Makefile.am): Remove lib_SOURCES.
52148         (Include): Use <stdlib.h> instead of exit.h.
52149         * lib/argmatch.c: Don't include exit.h.
52150         * lib/execute.c: Likewise.
52151         * lib/pagealign_alloc.c: Likewise.
52152         * lib/pipe.c: Likewise.
52153         * lib/wait-process.c: Likewise.
52154         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
52155         * lib/exitfail.c: Likewise.
52156         * lib/savewd.c: Likewise.
52157         * lib/xsetenv.c: Likewise.
52158
52159         * modules/stdlib: New file.
52160         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
52161         and extra comments about mkstemp().
52162         * lib/exit.h: Remove file.
52163         * lib/mkdtemp.h: Remove file.
52164         * lib/mkstemp.h: Remove file.
52165         * m4/stdlib_h.m4: New file.
52166         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
52167
52168 2007-02-18  Bruno Haible  <bruno@clisp.org>
52169
52170         * modules/math-tests: New file.
52171         * tests/test-math.c: New file.
52172
52173         * modules/math: New file.
52174         * modules/mathl (Files): Remove lib/mathl.h.
52175         (Depends-on): Add math.
52176         (Makefile.am): Don't mention mathl.h.
52177         (Include): Use <math.h> instead of mathl.h.
52178         * lib/math_.h: New file.
52179         * lib/mathl.h: Remove file.
52180         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
52181         mathl.h.
52182         * lib/asinl.c: Likewise.
52183         * lib/atanl.c: Likewise.
52184         * lib/ceill.c: Likewise.
52185         * lib/cosl.c: Likewise.
52186         * lib/expl.c: Likewise.
52187         * lib/floorl.c: Likewise.
52188         * lib/frexpl.c: Likewise.
52189         * lib/ldexpl.c: Likewise.
52190         * lib/logl.c: Likewise.
52191         * lib/sincosl.c: Likewise.
52192         * lib/sinl.c: Likewise.
52193         * lib/sqrtl.c: Likewise.
52194         * lib/tanl.c: Likewise.
52195         * lib/trigl.c: Likewise.
52196         * m4/math_h.m4: New file.
52197         * MODULES.html.sh (Mathematics): Add math.
52198
52199 2007-02-17  Bruno Haible  <bruno@clisp.org>
52200
52201         * modules/wctype-tests: New file.
52202         * tests/test-wctype.c: New file.
52203
52204         * modules/wchar-tests: New file.
52205         * tests/test-wchar.c: New file.
52206
52207         * modules/unistd-tests: New file.
52208         * tests/test-unistd.c: New file.
52209
52210         * modules/time-tests: New file.
52211         * tests/test-time.c: New file.
52212
52213         * modules/sysexits-tests: New file.
52214         * tests/test-sysexits.c: New file.
52215
52216         * modules/sys_time-tests: New file.
52217         * tests/test-sys_time.c: New file.
52218
52219         * modules/sys_stat-tests: New file.
52220         * tests/test-sys_stat.c: New file.
52221
52222         * modules/sys_socket-tests: New file.
52223         * tests/test-sys_socket.c: New file.
52224
52225         * modules/sys_select-tests: New file.
52226         * tests/test-sys_select.c: New file.
52227
52228         * modules/string-tests: New file.
52229         * tests/test-string.c: New file.
52230
52231         * modules/stdbool-tests: New file.
52232         * tests/test-stdbool.c: New file.
52233
52234         * modules/netinet_in-tests: New file.
52235         * tests/test-netinet_in.c: New file.
52236
52237         * modules/inttypes-tests: New file.
52238         * tests/test-inttypes.c: New file.
52239
52240         * modules/fcntl-tests: New file.
52241         * tests/test-fcntl.c: New file.
52242
52243         * modules/byteswap-tests: New file.
52244         * tests/test-byteswap.c: New file.
52245
52246         * modules/arpa_inet-tests: New file.
52247         * tests/test-arpa_inet.c: New file.
52248
52249 2007-02-17  Bruno Haible  <bruno@clisp.org>
52250
52251         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
52252         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
52253         if the corresponding module is not enabled. Emit link warnings if
52254         the function is used nevertheless.
52255         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
52256         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
52257         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
52258         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
52259         * modules/inttypes (Depends-on): Add link-warning.
52260         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52261         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
52262         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
52263         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
52264         * modules/imaxdiv (configure.ac): Likewise.
52265         * modules/strtoimax (configure.ac): Likewise.
52266         * modules/strtoumax (configure.ac): Likewise.
52267
52268 2007-02-17  Bruno Haible  <bruno@clisp.org>
52269
52270         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
52271         gl_STRING_MODULE_INDICATOR_DEFAULTS.
52272         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
52273         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
52274
52275 2007-02-17  Bruno Haible  <bruno@clisp.org>
52276
52277         * modules/link-warning: New file.
52278         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
52279         * lib/string_.h (GL_LINK_WARNING): Remove definition.
52280         * modules/string (Depends-on): Add link-warning.
52281         (Makefile.am): Copy the contents of build-aux/link-warning.h into
52282         string.h.
52283         * MODULES.html.sh (Support for building libraries and executables): Add
52284         link-warning.
52285
52286 2007-02-17  Bruno Haible  <bruno@clisp.org>
52287
52288         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
52289         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
52290         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
52291         long lines.
52292
52293 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
52294             Bruno Haible  <bruno@clisp.org>
52295
52296         * modules/tmpfile: New file.
52297         * lib/tmpfile.c: New file.
52298         * m4/tmpfile.m4: New file.
52299         * MODULES.html.sh (func_all_modules): New section "Input/output".
52300
52301 2007-02-15  Bruno Haible  <bruno@clisp.org>
52302
52303         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
52304         (supports_delete_on_close): New function.
52305         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
52306
52307 2007-02-14  Bruno Haible  <bruno@clisp.org>
52308
52309         * modules/mbspcasecmp-tests: New file.
52310         * tests/test-mbspcasecmp.sh: New file.
52311         * tests/test-mbspcasecmp.c: New file.
52312
52313         New module mbspcasecmp.
52314         * modules/mbspcasecmp: New file.
52315         * lib/mbspcasecmp.c: New file.
52316         * lib/string_.h (strncasecmp): Change warning message.
52317         (mbspcasecmp): New declaration.
52318         * m4/mbspcasecmp.m4: New file.
52319         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52320         GNULIB_MBSPCASECMP.
52321         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
52322         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
52323
52324 2007-02-14  Bruno Haible  <bruno@clisp.org>
52325
52326         * modules/mbsncasecmp-tests: New file.
52327         * tests/test-mbsncasecmp.sh: New file.
52328         * tests/test-mbsncasecmp.c: New file.
52329
52330         New module mbsncasecmp.
52331         * modules/mbsncasecmp: New file.
52332         * lib/mbsncasecmp.c: New file.
52333         * lib/string_.h (mbsncasecmp): New declaration.
52334         * m4/mbsncasecmp.m4: New file.
52335         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52336         GNULIB_MBSNCASECMP.
52337         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
52338         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
52339
52340 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
52341
52342         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
52343         Verify that it doesn't overlap with our flags.
52344         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
52345         do not have the desired effect in multibyte locales; instead, use
52346         mbscasecmp.
52347         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
52348         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
52349         we don't require GNU fnmatch ourselves (if our users require it, they
52350         should do so explicitly).
52351
52352         Fix regex code so it doesn't rely on strcasecmp.
52353         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
52354         Otherwise, include gnulib's langinfo.h.
52355         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
52356         undesirable behavior in non-C locales.  Instead, rely on localecharset.
52357         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
52358         * modules/regex (FILES): Remove m4/codeset.m4.
52359         (Depends-on): Add localcharset.  Remove strcase.
52360
52361 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52362
52363         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
52364         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
52365
52366 2007-02-13  Bruno Haible  <bruno@clisp.org>
52367
52368         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
52369         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52370
52371 2007-02-12  Bruno Haible  <bruno@clisp.org>
52372
52373         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52374         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
52375         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
52376         time warning rather than a link error.
52377
52378 2007-02-12  Bruno Haible  <bruno@clisp.org>
52379
52380         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
52381         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
52382         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52383
52384 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52385
52386         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
52387         args, not 2.
52388
52389 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
52390
52391         New module 'time', so that apps can include <time.h> as per
52392         POSIX and GNU instead of separate include files like time_r.h
52393         and timegm.h.  This implementation tries out a simpler approach
52394         for replacing decls in standard include files (as compared to
52395         the string module), somewhat as an experiment.
52396
52397         * config/srclist.txt: Comment out mktime.c for now.
52398         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
52399         since it doesn't apply any more.  Use generic wording instead.
52400         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
52401         'time'.
52402         * lib/time_.h, m4/time_h.m4, modules/time: New files.
52403         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
52404         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
52405         Don't include <sys/types.h>; no longer needed since we assume C89.
52406         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
52407         * lib/strftime.c: Likewise.
52408         * lib/time_r.c: Likewise.
52409         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
52410         * lib/nanosleep.c: Include <time.h> first, to check interface.
52411         * lib/strptime.c: Likewise.
52412         * lib/time_r.c: Likewise.
52413         * lib/timegm.c: Likewise.
52414         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
52415         needed.
52416         * lib/timegm.c: Don't include timegm.h; no longer needed.
52417         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
52418         time.h now handles any problems in that area.
52419         (struct timespec, nanosleep): Remove; time.h now arranges for these.
52420         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
52421         that time.h defines struct timespec.
52422         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
52423         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
52424         handles that.
52425         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
52426         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
52427         needed.  Set REPLACE_LOCALTIME.
52428         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
52429         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
52430         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
52431         nanosleep; time_h.m4 now does that.  Don't require
52432         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
52433         module handles this now.
52434         * modules/getdate (Depends-on): Remove timespec.  Add time.
52435         * modules/nanosleep (Depends-on): Likewise.
52436         * modules/stat-time (Depends-on): Likewise.
52437         * modules/nanosleep (Include): Include time.h, not timespec.h.
52438         * modules/strptime (Files): Remove lib/strptime.h.
52439         (Depends-on): Add extensions, time.
52440         (Include): Include time.h, not strptime.h.
52441         * modules/time_r (Files): Remove lib/time_r.h.
52442         (Depends-on): Add time.
52443         (Include): Include time.h, not time_r.h.
52444         * modules/timegm: Likewise.
52445         * modules/timespec (Description): Now does timespec-related decls
52446         of our own, instead of struct timespec itself.
52447         (Depends-on): Add time; remove extensions.
52448         (Maintainer): Add self.
52449         * modules/utimecmp (Depends-on): Add time; remove timespec.
52450         * modules/utimens (Depends-on): Likewise.
52451         * modules/xnanosleep (Depends-on): Likewise.
52452
52453 2007-02-11  Bruno Haible  <bruno@clisp.org>
52454
52455         * lib/c-strstr.c: Include allocsa.h.
52456         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52457         * lib/c-strcasestr.c: Include allocsa.h.
52458         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52459         * lib/strcasestr.c: Include allocsa.h.
52460         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
52461         * lib/mbsstr.c: Include allocsa.h.
52462         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52463         allocsa/freesa instead of malloc/free.
52464         * lib/mbscasestr.c: Include allocsa.h.
52465         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
52466         allocsa/freesa instead of malloc/free.
52467         * modules/c-strstr (Depends-on): Add allocsa.
52468         * modules/c-strcasestr (Depends-on): Likewise.
52469         * modules/strcasestr (Depends-on): Likewise.
52470         * modules/mbsstr (Depends-on): Likewise.
52471         * modules/mbscasestr (Depends-on): Likewise.
52472
52473 2007-02-11  Bruno Haible  <bruno@clisp.org>
52474
52475         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
52476
52477         * modules/mbsspn-tests: New file.
52478         * tests/test-mbsspn.sh: New file.
52479         * tests/test-mbsspn.c: New file.
52480
52481 2007-02-11  Bruno Haible  <bruno@clisp.org>
52482
52483         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
52484
52485         * modules/mbspbrk-tests: New file.
52486         * tests/test-mbspbrk.sh: New file.
52487         * tests/test-mbspbrk.c: New file.
52488
52489 2007-02-11  Bruno Haible  <bruno@clisp.org>
52490
52491         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
52492         unneeded cast.
52493
52494         * modules/mbscspn-tests: New file.
52495         * tests/test-mbscspn.sh: New file.
52496         * tests/test-mbscspn.c: New file.
52497
52498 2007-02-11  Bruno Haible  <bruno@clisp.org>
52499
52500         * modules/mbscasecmp-tests: New file.
52501         * tests/test-mbscasecmp.sh: New file.
52502         * tests/test-mbscasecmp.c: New file.
52503
52504 2007-02-11  Bruno Haible  <bruno@clisp.org>
52505
52506         Ensure O(n) worst-case complexity of mbscasestr.
52507         * lib/mbscasestr.c: Include stdbool.h.
52508         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
52509         functions.
52510         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
52511         the bookkeeping indicates that it's worth it.
52512         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
52513
52514         * modules/mbscasestr-tests: New file.
52515         * tests/test-mbscasestr1.c: New file.
52516         * tests/test-mbscasestr2.sh: New file.
52517         * tests/test-mbscasestr2.c: New file.
52518         * tests/test-mbscasestr3.sh: New file.
52519         * tests/test-mbscasestr3.c: New file.
52520         * tests/test-mbscasestr4.sh: New file.
52521         * tests/test-mbscasestr4.c: New file.
52522         * m4/locale-tr.m4: New file.
52523
52524 2007-02-11  Bruno Haible  <bruno@clisp.org>
52525
52526         Ensure O(n) worst-case complexity of mbsstr.
52527         * lib/mbsstr.c: Include stdbool.h.
52528         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
52529         functions.
52530         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
52531         bookkeeping indicates that it's worth it.
52532         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
52533
52534         * modules/mbsstr-tests: New file.
52535         * tests/test-mbsstr1.c: New file.
52536         * tests/test-mbsstr2.sh: New file.
52537         * tests/test-mbsstr2.c: New file.
52538         * tests/test-mbsstr3.sh: New file.
52539         * tests/test-mbsstr3.c: New file.
52540         * m4/locale-fr.m4: New file.
52541
52542 2007-02-11  Bruno Haible  <bruno@clisp.org>
52543
52544         * lib/mbsrchr.c (mbsrchr): Fix bug.
52545
52546         * modules/mbsrchr-tests: New file.
52547         * tests/test-mbsrchr.sh: New file.
52548         * tests/test-mbsrchr.c: New file.
52549
52550 2007-02-11  Bruno Haible  <bruno@clisp.org>
52551
52552         * lib/mbschr.c (mbschr): Fix bug.
52553
52554         * modules/mbschr-tests: New file.
52555         * tests/test-mbschr.sh: New file.
52556         * tests/test-mbschr.c: New file.
52557         * m4/locale-zh.m4: New file.
52558
52559 2007-02-11  Bruno Haible  <bruno@clisp.org>
52560
52561         Support for copying multibyte string iterators.
52562         * lib/mbiter.h: Include <string.h>.
52563         (mbiter_multi_copy): New function.
52564         (mbi_copy): New macro.
52565         * lib/mbuiter.h: Include <string.h>.
52566         (mbuiter_multi_copy): New function.
52567         (mbui_copy): New macro.
52568
52569 2007-02-11  Bruno Haible  <bruno@clisp.org>
52570
52571         New module mbslen.
52572         * modules/mbslen: New file.
52573         * lib/mbslen.c: New file.
52574         * lib/string_.h (mbslen): New declaration.
52575         * m4/mbslen.m4: New file.
52576         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52577         GNULIB_MBSLEN.
52578         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
52579         * MODULES.html.sh (Internationalization functions): Add mbslen.
52580
52581 2007-02-11  Bruno Haible  <bruno@clisp.org>
52582
52583         Ensure O(n) worst-case complexity of strcasestr substitute.
52584         * lib/strcasestr.c: Include stdbool.h.
52585         (knuth_morris_pratt): New function.
52586         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
52587         bookkeeping indicates that it's worth it.
52588         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
52589
52590         * modules/strcasestr-tests: New file.
52591         * tests/test-strcasestr.c: New file.
52592
52593 2007-02-11  Bruno Haible  <bruno@clisp.org>
52594
52595         Ensure O(n) worst-case complexity of c_strcasestr.
52596         * lib/c-strcasestr.c: Include stdbool.h, string.h.
52597         (knuth_morris_pratt): New function.
52598         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
52599         the bookkeeping indicates that it's worth it.
52600         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
52601
52602         * modules/c-strcasestr-tests: New file.
52603         * tests/test-c-strcasestr.c: New file.
52604
52605 2007-02-11  Bruno Haible  <bruno@clisp.org>
52606
52607         Ensure O(n) worst-case complexity of c_strstr.
52608         * lib/c-strstr.c: Include stdbool.h, string.h.
52609         (knuth_morris_pratt): New function.
52610         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
52611         bookkeeping indicates that it's worth it.
52612         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
52613
52614         * lib/c-strstr.c: Complete rewrite for maintainability.
52615
52616         * modules/c-strstr-tests: New file.
52617         * tests/test-c-strstr.c: New file.
52618
52619 2007-02-11  Bruno Haible  <bruno@clisp.org>
52620
52621         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
52622         5.2.1 and earlier, whereby \055 was treated just like the range
52623         delimiter '-'.
52624         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
52625
52626 2007-02-08  Bruno Haible  <bruno@clisp.org>
52627
52628         * modules/regex (Depends-on): Add stdbool.
52629         Reported by Dalibor Topic <robilad@kaffe.org>.
52630
52631 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52632
52633         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
52634         Prefer returning from main to exiting from it.
52635         Remove unnecessary parens after sizeof.
52636
52637 2007-02-05  Bruno Haible  <bruno@clisp.org>
52638
52639         New module mbssep.
52640         * modules/mbssep: New file.
52641         * lib/mbssep.c: New file.
52642         * lib/string_.h (strsep): Add a conditional link warning.
52643         (mbssep): New declaration.
52644         * m4/mbssep.m4: New file.
52645         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52646         GNULIB_MBSSEP.
52647         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
52648         * MODULES.html.sh (Internationalization functions): Add mbssep.
52649
52650 2007-02-05  Bruno Haible  <bruno@clisp.org>
52651
52652         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
52653         Optimize search in case of 1 delimiter.
52654
52655 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
52656
52657         * lib/acl.h: Include sys/types.h before sys/acl.h.
52658
52659 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
52660
52661         Merge upstream fix for glibc bugzilla #3957:
52662
52663         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
52664
52665         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
52666         bit for RE_HAT_LISTS_NOT_NEWLINE.
52667         (build_charclass_op): Remove bogus comment.
52668
52669 2007-02-05  Simon Josefsson  <simon@josefsson.org>
52670
52671         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
52672
52673 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52674
52675         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
52676         * lib/memmem.c [!defined _LIBC]: Include config.h.
52677
52678 2007-02-04  Bruno Haible  <bruno@clisp.org>
52679
52680         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
52681         warning message.
52682
52683 2007-02-04  Bruno Haible  <bruno@clisp.org>
52684
52685         New module mbstok_r.
52686         * modules/mbstok_r: New file.
52687         * lib/mbstok_r.c: New file.
52688         * lib/string_.h (strtok_r): Change argument names to match the
52689         comments. Add a conditional link warning.
52690         (mbstok_r): New declaration.
52691         * m4/mbstok_r.m4: New file.
52692         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52693         GNULIB_MBSTOK_R.
52694         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
52695         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
52696
52697 2007-02-04  Bruno Haible  <bruno@clisp.org>
52698
52699         New module mbsspn.
52700         * modules/mbsspn: New file.
52701         * lib/mbsspn.c: New file.
52702         * lib/string_.h (strspn): Add a conditional link warning.
52703         (mbsspn): New declaration.
52704         * m4/mbsspn.m4: New file.
52705         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52706         GNULIB_MBSSPN.
52707         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
52708         * MODULES.html.sh (Internationalization functions): Add mbsspn.
52709
52710 2007-02-04  Bruno Haible  <bruno@clisp.org>
52711
52712         New module mbspbrk.
52713         * modules/mbspbrk: New file.
52714         * lib/mbspbrk.c: New file.
52715         * lib/string_.h (strpbrk): Add a conditional link warning.
52716         (mbspbrk): New declaration.
52717         * m4/mbspbrk.m4: New file.
52718         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52719         GNULIB_MBSPBRK.
52720         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
52721         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
52722
52723 2007-02-04  Bruno Haible  <bruno@clisp.org>
52724
52725         New module mbscspn.
52726         * modules/mbscspn: New file.
52727         * lib/mbscspn.c: New file.
52728         * lib/string_.h (strcspn): Add a conditional link warning.
52729         (mbscspn): New declaration.
52730         * m4/mbscspn.m4: New file.
52731         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52732         GNULIB_MBSCSPN.
52733         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
52734         * MODULES.html.sh (Internationalization functions): Add mbscspn.
52735
52736 2007-02-04  Bruno Haible  <bruno@clisp.org>
52737
52738         New module mbscasestr, reduced goal of strcasestr.
52739         * modules/mbscasestr: New file.
52740         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
52741         (mbscasestr): Renamed from strcasestr.
52742         * lib/strcasestr.c: Don't include mbuiter.h.
52743         (strcasestr): Remove support for multibyte locales.
52744         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
52745         Change the conditional link warning.
52746         (mbscasestr): New declaration.
52747         * m4/mbscasestr.m4: New file.
52748         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
52749         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
52750         REPLACE_STRCASESTR.
52751         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
52752         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52753         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52754         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
52755         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
52756         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
52757         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
52758         (Depends-on): Remove mbuiter.
52759         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
52760
52761 2007-02-04  Bruno Haible  <bruno@clisp.org>
52762
52763         Simplify handling of strncasecmp.
52764         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
52765         the conditional link warning.
52766         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
52767         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
52768         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
52769         * modules/strcase (configure.ac): Don't invoke
52770         gl_STRING_MODULE_INDICATOR.
52771         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
52772
52773 2007-02-04  Bruno Haible  <bruno@clisp.org>
52774
52775         New module mbscasecmp, reduced goal of strcasecmp.
52776         * modules/mbscasecmp: New file.
52777         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
52778         (mbscasecmp): Renamed from strcasecmp.
52779         * lib/strcasecmp.c: Don't include mbuiter.h.
52780         (strcasecmp): Remove support for multibyte locales.
52781         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
52782         Change the conditional link warning.
52783         (mbscasecmp): New declaration.
52784         * m4/mbscasecmp.m4: New file.
52785         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
52786         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
52787         REPLACE_STRCASECMP.
52788         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
52789         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52790         GNULIB_MBSCASECMP.
52791         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
52792         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
52793         * modules/strcase (Files): Remove m4/mbrtowc.m4.
52794         (Depends-on): Remove mbuiter.
52795         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
52796
52797 2007-02-04  Bruno Haible  <bruno@clisp.org>
52798
52799         New module mbsstr. Remove module strstr.
52800         * modules/mbsstr: New file.
52801         * modules/strstr: Remove file.
52802         * lib/mbsstr.c: Renamed from lib/strstr.c.
52803         (mbsstr): Renamed from strstr.
52804         * lib/string_.h (strstr): Remove declaration. Change the conditional
52805         link warning.
52806         (mbsstr): New declaration.
52807         * m4/mbsstr.m4: New file.
52808         * m4/strstr.m4: Remove file.
52809         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
52810         REPLACE_STRSTR.
52811         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
52812         Don't initialize GNULIB_STRSTR.
52813         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
52814         substitute GNULIB_STRSTR and REPLACE_STRSTR.
52815         * MODULES.html.sh (Internationalization functions): Add mbsstr.
52816         (Support for systems lacking ANSI C 89): Remove strstr.
52817
52818 2007-02-04  Bruno Haible  <bruno@clisp.org>
52819
52820         New module mbsrchr.
52821         * modules/mbsrchr: New file.
52822         * lib/mbsrchr.c: New file.
52823         * lib/string_.h (strrchr): Add a conditional link warning.
52824         (mbsrchr): New declaration.
52825         * m4/mbsrchr.m4: New file.
52826         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52827         GNULIB_MBSRCHR.
52828         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
52829         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
52830
52831 2007-02-04  Bruno Haible  <bruno@clisp.org>
52832
52833         New module mbschr.
52834         * modules/mbschr: New file.
52835         * lib/mbschr.c: New file.
52836         * lib/string_.h (strchr): Add a conditional link warning.
52837         (mbschr): New declaration.
52838         * m4/mbschr.m4: New file.
52839         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
52840         GNULIB_MBSCHR.
52841         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
52842         * MODULES.html.sh (Internationalization functions): Add mbschr.
52843
52844 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52845
52846         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
52847
52848         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
52849
52850 2007-02-04  Bruno Haible  <bruno@clisp.org>
52851
52852         New module description section 'configure.ac-early'.
52853         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
52854         (func_get_autoconf_early_snippet): New function.
52855         (func_import, func_create_testdir): Use it. Remove special cases for
52856         modules 'extensions' and 'lock'.
52857         * modules/extensions (configure.ac-early): Require
52858         gl_USE_SYSTEM_EXTENSIONS.
52859         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
52860
52861 2007-02-04  Bruno Haible  <bruno@clisp.org>
52862
52863         Make use of gcj-4.3's -fsource and -ftarget option.
52864         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
52865         and if so try the options -fsource and -ftarget.
52866         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
52867         source_version, ftarget_option, target_version arguments.
52868         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
52869         (is_envjavac_oldgcj_14_14_usable): Renamed from
52870         is_envjavac_gcj_14_14_usable.
52871         (is_envjavac_oldgcj_14_13_usable): Renamed from
52872         is_envjavac_gcj_14_13_usable.
52873         (is_gcj_present): Update.
52874         (is_gcj_43, is_gcj43_usable): New functions.
52875         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
52876         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
52877         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
52878         try the options -fsource and -ftarget.
52879
52880 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52881
52882         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
52883         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
52884         larger value.
52885
52886 2007-02-03  Jim Meyering  <jim@meyering.net>
52887
52888         Give tools a better chance to allocate space for very large buffers.
52889         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
52890
52891         Make pwd and readlink work also when run with an unreadable parent dir
52892         on systems with openat support.
52893         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
52894         provided getcwd function, even when we have openat support.
52895         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
52896
52897 2007-02-02  Bruno Haible  <bruno@clisp.org>
52898
52899         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
52900         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
52901         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
52902         portability problems if one of these functions is only used on specific
52903         platforms.
52904         Reported by Paul Eggert.
52905
52906 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52907
52908         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
52909         is causing more trouble than it's curing.
52910         * lib/regex_internal.h (__mempcpy): Remove.
52911         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
52912         (and make the code a tad smaller to boot).
52913         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
52914
52915 2007-02-02  Jim Meyering  <jim@meyering.net>
52916
52917         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
52918         section, not in the Makefile.am: one.
52919
52920 2007-02-02  Eric Blake  <ebb9@byu.net>
52921
52922         * lib/strchrnul.c: Always include config.h first.
52923
52924         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
52925         gnulib strstr is not necessary here.
52926
52927 2007-02-02  Simon Josefsson  <simon@josefsson.org>
52928
52929         * m4/socklen.m4: Fix typo.
52930
52931 2007-02-02  Eric Blake  <ebb9@byu.net>
52932
52933         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
52934         * modules/netinet_in (Makefile.am): Likewise.
52935
52936 2007-02-01  Bruno Haible  <bruno@clisp.org>
52937
52938         * lib/string_.h (GL_LINK_WARNING): New macro.
52939         (strcasecmp, strstr, strcasestr): If provided by the system,
52940         conditionally define as a macro that leads to a warning instead of to
52941         an error.
52942         (strncasecmp): Conditionally define as a macro that leads to a warning.
52943
52944 2007-02-01  Karl Berry  <karl@gnu.org>
52945
52946         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
52947
52948 2007-02-01  Bruno Haible  <bruno@clisp.org>
52949
52950         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
52951         renamings.
52952
52953 2007-02-01  Eric Blake  <ebb9@byu.net>
52954
52955         * modules/regex (Depends-on): Revert dependence on mempcpy.
52956         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
52957         module's definition of mempcpy.
52958         Reported by Paul Eggert.
52959
52960 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
52961
52962         * lib/string_.h: If the gnulib module XYZ is not present, undefine
52963         the symbol XYZ before redefining it.  This fixes a problem with
52964         programs that don't use XYZ, when compiled on systems that define
52965         XYZ to something else.
52966
52967 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
52968
52969         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
52970         occurs when "mkdir -m foo" creates a setgid directory that is (1)
52971         writeable to group or other and (2) is intended to have a special
52972         mode bit that is set or cleared.  In such a case, the directory
52973         should be neither group- nor other-writeable until the special
52974         mode bits are right.
52975
52976 2007-01-31  Eric Blake  <ebb9@byu.net>
52977
52978         * modules/mountlist (Depends-on): Add strstr.
52979
52980         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
52981         bug.
52982         * modules/string (Makefile.am): Remove redundant replacement.
52983         * modules/regex (Depends-on): Add mempcpy.
52984
52985 2007-01-31  Bruno Haible  <bruno@clisp.org>
52986
52987         New module description field 'Link'.
52988         * gnulib-tool (func_usage): Document --extract-link-directive.
52989         (sed_extract_prog): Recognize 'Link' directive.
52990         (func_get_link_directive): New function.
52991         (func_import): Show summary of link directives.
52992         Handle --extract-link-directive option.
52993         * modules/acl (Link): New section.
52994         * modules/clock-time (Link): New section.
52995         * modules/euidaccess (Link): New section.
52996         * modules/gettext (Link): New section.
52997         * modules/iconv (Link): New section.
52998         * modules/lock (Link): New section.
52999         * modules/nanosleep (Link): New section.
53000         * modules/readline (Link): New section.
53001
53002 2007-01-27  Bruno Haible  <bruno@clisp.org>
53003
53004         Enforce the use of gnulib modules for unportable <string.h> functions.
53005         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
53006         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
53007         (gl_HEADER_STRING_H_BODY): Require it.
53008         * lib/string_.h: If the gnulib module XYZ is not present, redefine
53009         the symbol XYZ to one that gives a link error.
53010         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
53011         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
53012         * modules/mempcpy (configure.ac): Likewise.
53013         * modules/memrchr (configure.ac): Likewise.
53014         * modules/stpcpy (configure.ac): Likewise.
53015         * modules/stpncpy (configure.ac): Likewise.
53016         * modules/strcase (configure.ac): Likewise.
53017         * modules/strcasestr (configure.ac): Likewise.
53018         * modules/strchrnul (configure.ac): Likewise.
53019         * modules/strdup (configure.ac): Likewise.
53020         * modules/strndup (configure.ac): Likewise.
53021         * modules/strnlen (configure.ac): Likewise.
53022         * modules/strpbrk (configure.ac): Likewise.
53023         * modules/strsep (configure.ac): Likewise.
53024         * modules/strstr (configure.ac): Likewise.
53025         * modules/strtok_r (configure.ac): Likewise.
53026
53027 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
53028
53029         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
53030
53031 2007-01-30  Jim Meyering  <jim@meyering.net>
53032
53033         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
53034
53035 2007-01-29  Bruno Haible  <bruno@clisp.org>
53036
53037         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
53038         * lib/execute.c: Likewise.
53039         * lib/pipe.c: Likewise.
53040         * lib/printf-args.h: Likewise.
53041         * lib/printf-args.c: Likewise.
53042         * lib/printf-parse.c: Likewise.
53043         * lib/vasnprintf.c: Likewise.
53044
53045 2007-01-29  Eric Blake  <ebb9@byu.net>
53046
53047         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
53048         declaration.
53049
53050 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
53051
53052         * lib/strptime.h (strptime): Use 'restrict' for args where
53053         POSIX requires this.
53054         * lib/strptime.c (strptime): Likewise.
53055         Change license notice from LGPL to GPL, since gnulib-tool will
53056         change this as needed.
53057         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
53058         defined.
53059         Include "strptime.h" first, to check interface.
53060         Do not #undef _LIBC and _NL_CURRENT.
53061         Do not include <stdlib.h>; no longer needed.
53062         Include "time_r.h" and declare ptime_locale_status
53063         only if _LIBC is not defined.
53064         (__P): Remove unused macro.
53065         (match_string): Bring back glibc version, but use it only if _LIBC
53066         is defined.
53067         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
53068         Remove unnecessary assertion and abort() call.
53069         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
53070         * m4/strptime.m4: Fix serial number comment.
53071         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
53072         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
53073         (Depends-on): Add time_r.
53074
53075 2007-01-29  Bruno Haible  <bruno@clisp.org>
53076
53077         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
53078         strptime.
53079         * modules/strptime (Depends-on): Add stdbool.
53080         * lib/strptime.h: Include <time.h> always. Add comments.
53081
53082 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53083
53084         * modules/strptime: New file.
53085         * lib/strptime.h: New file.
53086         * lib/strptime.c: New file.
53087         * m4/strptime.m4: New file.
53088
53089 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
53090
53091         * MODULES.html.sh: New module mpsort.
53092         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
53093
53094         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
53095         a circularity problem with HP-UX ia64 reported by Bob Proulx in
53096         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
53097         All uses changed.
53098         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
53099         All uses changed.
53100         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
53101         to _Restrict_.
53102         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
53103         the parameter matches the prototype.
53104
53105 2007-01-28  Jim Meyering  <jim@meyering.net>
53106
53107         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
53108         sys/time.h here, reverting that part of the previous patch:
53109         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
53110
53111 2007-01-28  Bruno Haible  <bruno@clisp.org>
53112
53113         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
53114         value of $(SYS_TIME_H).
53115         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
53116         remove it conditionally, too. [added by Jim Meyering]
53117         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
53118         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53119         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
53120         GETTIMEOFDAY_REPLACEMENT to 1.
53121
53122 2007-01-28  Bruno Haible  <bruno@clisp.org>
53123
53124         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
53125         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
53126         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
53127         Set UNISTD_H instead of UNISTD_H2.
53128         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
53129
53130 2007-01-28  Bruno Haible  <bruno@clisp.org>
53131
53132         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
53133         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
53134
53135 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53136
53137         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
53138         (func_create_testdir): Ensure C locale for `grep' and `tr'
53139         character ranges.
53140         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
53141         ACLOCAL_AMFLAGS parsing state machine.
53142
53143 2007-01-27  Bruno Haible  <bruno@clisp.org>
53144
53145         * modules/unistr/base: Update.
53146
53147 2007-01-27  Bruno Haible  <bruno@clisp.org>
53148
53149         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
53150         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
53151         * modules/unistr/u32-mbtouc-unsafe: Renamed from
53152         modules/unistr/u32-mbtouc.
53153         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
53154         * lib/unistr.h: Update.
53155         * lib/linebreak.c: Update.
53156         * modules/unistr/u32-mbtouc: Renamed from
53157         modules/unistr/u32-mbtouc-safe.
53158         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
53159         * lib/unistr.h: Update.
53160         * lib/unistr/u32-to-u8.c: Update.
53161         * lib/unistr/u32-to-u16.c: Update.
53162
53163 2007-01-27  Bruno Haible  <bruno@clisp.org>
53164
53165         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
53166         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
53167         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
53168         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
53169         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
53170         * modules/unistr/u16-mbtouc-unsafe: Renamed from
53171         modules/unistr/u16-mbtouc.
53172         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
53173         * lib/unistr.h: Update.
53174         * lib/linebreak.c: Update.
53175         * modules/linebreak: Update.
53176         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
53177         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
53178         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
53179         * modules/unistr/u16-mbtouc: Renamed from
53180         modules/unistr/u16-mbtouc-safe.
53181         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
53182         * lib/unistr.h: Update.
53183         * lib/unistr/u16-to-u8.c: Update.
53184         * modules/unistr/u16-to-u8: Update.
53185         * lib/unistr/u16-to-u32.c: Update.
53186         * modules/unistr/u16-to-u32: Update.
53187
53188 2007-01-27  Bruno Haible  <bruno@clisp.org>
53189
53190         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
53191         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
53192         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
53193         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
53194         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
53195         * modules/unistr/u8-mbtouc-unsafe: Renamed from
53196         modules/unistr/u8-mbtouc.
53197         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
53198         * lib/unistr.h: Update.
53199         * lib/striconveh.c: Update.
53200         * modules/striconveh: Update.
53201         * lib/linebreak.c: Update.
53202         * modules/linebreak: Update.
53203         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
53204         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
53205         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
53206         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
53207         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
53208         * lib/unistr.h: Update.
53209         * lib/striconveh.c: Update.
53210         * modules/striconveh: Update.
53211         * lib/unistr/u8-to-u16.c: Update.
53212         * modules/unistr/u8-to-u16: Update.
53213         * lib/unistr/u8-to-u32.c: Update.
53214         * modules/unistr/u8-to-u32: Update.
53215
53216 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53217
53218         Sync from Libtool.
53219         * lib/argz.c: Do not include strings.h nor memory.h, include
53220         string.h unconditionally.  Patch by Simon Josefsson.
53221
53222 2007-01-27  Bruno Haible  <bruno@clisp.org>
53223
53224         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
53225         from gl_HEADER_STRING_H_BODY.
53226         (gl_HEADER_STRING_H_BODY): Require it.
53227         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
53228         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
53229         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
53230         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
53231         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
53232         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
53233         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53234         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
53235         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
53236         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
53237         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
53238         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
53239         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
53240         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53241         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
53242
53243 2007-01-27  Bruno Haible  <bruno@clisp.org>
53244
53245         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
53246         check_PROGRAMS into noinst_PROGRAMS.
53247         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
53248         check_PROGRAMS in this case.
53249         (func_import): Set for_test to false.
53250         (func_create_testdir): Set for_test to true.
53251
53252 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
53253             Bruno Haible  <bruno@clisp.org>
53254
53255         * modules/strcasestr (Files): Remove lib/strcasestr.h.
53256         (Depends-on): Add string.
53257         (Includes): Use <string.h> instead of strcasestr.h.
53258         * modules/string (Makefile.am): Also substitute the value of
53259         REPLACE_STRCASESTR.
53260         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
53261         assume strcasestr is declared in <string.h> not <strings.h>. Also
53262         set REPLACE_STRCASESTR.
53263         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
53264         REPLACE_STRCASESTR.
53265         * lib/strcasestr.h: Remove file.
53266         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
53267         * lib/string_.h (strcasestr): New declaration.
53268
53269 2007-01-27  Bruno Haible  <bruno@clisp.org>
53270
53271         * lib/string_.h: Use 'extern'.
53272
53273 2007-01-27  Jim Meyering  <jim@meyering.net>
53274
53275         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
53276         of set-but-not-used local, "q".
53277
53278         * lib/mempcpy.c: Include <config.h> before <string.h>.
53279         This fixes a compilation error on HP-UX, due to the system's
53280         "restrict"-using mempcpy prototype.
53281
53282 2007-01-26  Bruno Haible  <bruno@clisp.org>
53283
53284         Small optimization.
53285         * lib/javacomp.c: Include c-strstr.h.
53286          (is_envjavac_gcj): Use c_strstr instead of strstr.
53287         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
53288
53289 2007-01-26  Bruno Haible  <bruno@clisp.org>
53290
53291         * MODULES.html.sh (Unicode string functions): Add the new modules.
53292
53293         * modules/uniconv/u32-strconv-to-locale: New file.
53294         * lib/uniconv/u32-strconv-to-locale.c: New file.
53295
53296         * modules/uniconv/u16-strconv-to-locale: New file.
53297         * lib/uniconv/u16-strconv-to-locale.c: New file.
53298
53299         * modules/uniconv/u8-strconv-to-locale: New file.
53300         * lib/uniconv/u8-strconv-to-locale.c: New file.
53301
53302         * modules/uniconv/u32-strconv-from-locale: New file.
53303         * lib/uniconv/u32-strconv-from-locale.c: New file.
53304
53305         * modules/uniconv/u16-strconv-from-locale: New file.
53306         * lib/uniconv/u16-strconv-from-locale.c: New file.
53307
53308         * modules/uniconv/u8-strconv-from-locale: New file.
53309         * lib/uniconv/u8-strconv-from-locale.c: New file.
53310
53311         * modules/uniconv/u32-strconv-to-enc: New file.
53312         * lib/uniconv/u32-strconv-to-enc.c: New file.
53313         * modules/uniconv/u32-strconv-to-enc-tests: New file.
53314         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
53315
53316         * modules/uniconv/u16-strconv-to-enc: New file.
53317         * lib/uniconv/u16-strconv-to-enc.c: New file.
53318         * lib/uniconv/u-strconv-to-enc.h: New file.
53319         * modules/uniconv/u16-strconv-to-enc-tests: New file.
53320         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
53321
53322         * modules/uniconv/u8-strconv-to-enc: New file.
53323         * lib/uniconv/u8-strconv-to-enc.c: New file.
53324         * modules/uniconv/u8-strconv-to-enc-tests: New file.
53325         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
53326
53327         * modules/uniconv/u32-strconv-from-enc: New file.
53328         * lib/uniconv/u32-strconv-from-enc.c: New file.
53329         * modules/uniconv/u32-strconv-from-enc-tests: New file.
53330         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
53331
53332         * modules/uniconv/u16-strconv-from-enc: New file.
53333         * lib/uniconv/u16-strconv-from-enc.c: New file.
53334         * modules/uniconv/u16-strconv-from-enc-tests: New file.
53335         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
53336
53337         * modules/uniconv/u8-strconv-from-enc: New file.
53338         * lib/uniconv/u8-strconv-from-enc.c: New file.
53339         * lib/uniconv/u-strconv-from-enc.h: New file.
53340         * modules/uniconv/u8-strconv-from-enc-tests: New file.
53341         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
53342
53343         * modules/uniconv/u32-conv-from-enc: New file.
53344         * lib/uniconv/u32-conv-from-enc.c: New file.
53345         * modules/uniconv/u32-conv-from-enc-tests: New file.
53346         * tests/uniconv/test-u32-conv-from-enc.c: New file.
53347
53348         * modules/uniconv/u16-conv-from-enc: New file.
53349         * lib/uniconv/u16-conv-from-enc.c: New file.
53350         * lib/uniconv/u-conv-from-enc.h: New file.
53351         * modules/uniconv/u16-conv-from-enc-tests: New file.
53352         * tests/uniconv/test-u16-conv-from-enc.c: New file.
53353
53354         * modules/uniconv/u8-conv-from-enc: New file.
53355         * lib/uniconv/u8-conv-from-enc.c: New file.
53356         * modules/uniconv/u8-conv-from-enc-tests: New file.
53357         * tests/uniconv/test-u8-conv-from-enc.c: New file.
53358
53359         * modules/uniconv/base: New file.
53360         * lib/uniconv.h: New file.
53361
53362 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
53363
53364         * doc/gnulib-tool.texi (Initial import): Update to match current
53365         behavior with strdup module.
53366         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
53367         * lib/memmem.h: Remove; all uses removed.  This is now done
53368         by <string.h>.
53369         * lib/mempcpy.h: Likewise.
53370         * lib/memrchr.h: Likewise.
53371         * lib/stpcpy.h: Likewise.
53372         * lib/stpncpy.h: Likewise.
53373         * lib/strcase.h: Likewise.
53374         * lib/strchrnul.h: Likewise.
53375         * lib/strdup.h: Likewise.
53376         * lib/strndup.h: Likewise.
53377         * lib/strnlen.h: Likewise.
53378         * lib/strpbrk.h: Likewise.
53379         * lib/strsep.h: Likewise.
53380         * lib/strstr.h: Likewise.
53381         * lib/strtok_r.h: Likewise.
53382         * lib/string_.h: New file.
53383         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
53384         Rely on <string.h> instead.
53385         * lib/canon-host.c: Likewise.
53386         * lib/chdir-long.c: Likewise.
53387         * lib/concatpath.c: Likewise.
53388         * lib/exclude.c: Likewise.
53389         * lib/fchdir.c: Likewise.
53390         * lib/getaddrinfo.c: Likewise.
53391         * lib/getcwd.c: Likewise.
53392         * lib/getsubopt.c: Likewise.
53393         * lib/glob.c: Likewise.
53394         * lib/hard-locale.c: Likewise.
53395         * lib/iconvme.c: Likewise.
53396         * lib/javacomp.c: Likewise.
53397         * lib/mempcpy.c: Likewise.
53398         * lib/memrchr.c: Likewise.
53399         * lib/regex_internal.h: Likewise.
53400         * lib/stpncpy.c: Likewise.
53401         * lib/strcasecmp.c: Likewise.
53402         * lib/strchrnul.c: Likewise.
53403         * lib/strdup.c: Likewise.
53404         * lib/striconv.c: Likewise.
53405         * lib/striconveh.c: Likewise.
53406         * lib/striconveha.c: Likewise.
53407         * lib/strncasecmp.c: Likewise.
53408         * lib/strndup.c: Likewise.
53409         * lib/strnlen.c: Likewise.
53410         * lib/strsep.c: Likewise.
53411         * lib/strstr.c: Likewise.
53412         * lib/strtok_r.c: Likewise.
53413         * lib/userspec.c: Likewise.
53414         * lib/w32spawn.h: Likewise.
53415         * lib/xstrndup.c: Likewise.
53416         * lib/mountlist.c (strstr): Remove decl.
53417         * m4/string_h.m4: New file.
53418         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
53419         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
53420         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
53421         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
53422         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
53423         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
53424         Set REPLACE_STRCASECMP if necessary.
53425         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
53426         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
53427         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
53428         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
53429         HAVE_DECL_STRDUP if necessary.
53430         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
53431         since gl_FUNC_STRNDUP does that now.
53432         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
53433         Check for decl here...
53434         (gl_PREREQ_STRNLEN): ... not here.
53435         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
53436         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
53437         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
53438         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
53439         necessary.
53440         * modules/string: New file.
53441         * modules/memmem (Files): Remove special-purpose include file.
53442         (Depends-on): Add string.
53443         (Include): Include <string.h>, not the removed file.
53444         * modules/mempcpy: Likewise.
53445         * modules/memrchr: Likewise.
53446         * modules/stpcpy: Likewise.
53447         * modules/stpncpy: Likewise.
53448         * modules/strcase: Likewise.
53449         * modules/strchrnul: Likewise.
53450         * modules/strdup: Likewise.
53451         * modules/strndup: Likewise.
53452         * modules/strnlen: Likewise.
53453         * modules/strpbrk: Likewise.
53454         * modules/strsep: Likewise.
53455         * modules/strstr: Likewise.
53456         * modules/strtok_r: Likewise.
53457         * tests/test-dirname.c: Don't include "strdup.h", since
53458         <string.h> now suffices.
53459         * tests/test-memmem.c: Don't include "memmem.h", since
53460         <string.h> now suffices.
53461
53462 2007-01-25  Bruno Haible  <bruno@clisp.org>
53463
53464         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
53465         *resultp is 0.
53466
53467         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
53468         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
53469         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
53470         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
53471
53472         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
53473         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
53474         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
53475         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
53476         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
53477         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
53478
53479 2007-01-24  Bruno Haible  <bruno@clisp.org>
53480
53481         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
53482         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
53483         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
53484         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
53485         gl_FUNC_FTS_CORE.
53486         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
53487         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
53488         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
53489         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
53490         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
53491         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
53492         gl_FUNC_FCHOWNAT.
53493         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
53494         gl_FUNC_STRFTIME.
53495         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
53496         Reported by Ralf Wildenhues.
53497
53498 2007-01-24  Bruno Haible  <bruno@clisp.org>
53499
53500         Drop AC_REQUIRE calls that are redundant with the module dependencies.
53501         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
53502         gl_GETADDRINFO.
53503         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
53504         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
53505         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
53506
53507 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
53508
53509         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
53510         Don't use 'exit'; just return from 'main'.
53511         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
53512
53513         * lib/fnmatch_.h: Readjust white space and comments to match
53514         glibc, to avoid spurious diffs.
53515
53516 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53517
53518         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
53519         2004-12-01 change by Jakub Jelinek, since this code won't compile
53520         if !LIBC.  Problem reported by Bob Proulx.
53521
53522 2007-01-23  Bruno Haible  <bruno@clisp.org>
53523
53524         * lib/striconveh.c: Include c-strcaseeq.h.
53525         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
53526         * modules/striconveh (Depends-on): Add c-strcaseeq.
53527
53528 2007-01-23  Bruno Haible  <bruno@clisp.org>
53529
53530         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
53531
53532         * modules/c-strcaseeq: New file.
53533         * lib/c-strcaseeq.h: New file.
53534
53535         * modules/streq: New file.
53536         * lib/streq.h: New file.
53537
53538 2007-01-23  Bruno Haible  <bruno@clisp.org>
53539
53540         * modules/striconveha-tests: New file.
53541         * tests/test-striconveha.c: New file.
53542
53543         * lib/striconveha.h: Include <stdbool.h>.
53544         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
53545         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
53546         (mem_iconveha_notranslit): Renamed from mem_iconveha.
53547         (mem_iconveha): New function.
53548         (str_iconveha_notranslit): Renamed from str_iconveha.
53549         (str_iconveha): New function.
53550         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
53551         c-strcase.
53552
53553 2007-01-23  Bruno Haible  <bruno@clisp.org>
53554
53555         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
53556         encodings without forgiving before trying any encoding with handler.
53557         (str_iconveha): Try all encodings without forgiving before trying any
53558         encoding with handler.
53559
53560 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53561
53562         Import the following changes from libc.
53563
53564         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
53565
53566         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
53567
53568         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
53569
53570         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
53571         normal_bracket label.
53572
53573         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
53574
53575         [BZ #361]
53576         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
53577         to normal_bracket after fetching the next character.
53578
53579 2007-01-22  Bruno Haible  <bruno@clisp.org>
53580
53581         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
53582         argument.
53583         * lib/striconveh.c (iconv_carefully_1): New function.
53584         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
53585         argument.
53586         (str_cd_iconveh): Update.
53587         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
53588         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
53589         * tests/test-striconveh.c (MAGIC): New macro.
53590         (new_offsets): New function.
53591         (main): Test call with and without offsets.
53592
53593 2007-01-22  Bruno Haible  <bruno@clisp.org>
53594
53595         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
53596         * modules/sys_select (Makefile.am): Likewise.
53597         * modules/sys_socket (Makefile.am): Likewise.
53598         * modules/sys_time (Makefile.am): Likewise.
53599
53600 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
53601
53602         * modules/gettimeofday (License): Change from GPL to LGPL, since
53603         gettimeofday is a library function.
53604
53605 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53606
53607         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
53608
53609 2007-01-21  Bruno Haible  <bruno@clisp.org>
53610
53611         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
53612
53613 2007-01-21  Bruno Haible  <bruno@clisp.org>
53614
53615         * modules/striconveha: New file.
53616         * lib/striconveha.h: New file.
53617         * lib/striconveha.c: New file.
53618         * MODULES.html.sh (Internationalization functions): Add striconveha.
53619         * lib/striconv.c (str_iconv): Optimize the case of an empty input
53620         string.
53621         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
53622
53623 2007-01-21  Bruno Haible  <bruno@clisp.org>
53624
53625         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
53626         * lib/striconveh.c (str_iconveh): Likewise.
53627
53628 2007-01-21  Bruno Haible  <bruno@clisp.org>
53629
53630         * lib/striconveh.h (mem_iconveh): New declaration.
53631         * lib/striconveh.c (mem_iconveh): New function.
53632         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
53633
53634 2007-01-21  Bruno Haible  <bruno@clisp.org>
53635
53636         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
53637
53638         * lib/striconveh.h (mem_cd_iconveh): Change specification.
53639         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
53640         original result buffer.
53641         (str_cd_iconveh): Update.
53642         * tests/test-striconveh.c (main): Update.
53643
53644         * lib/striconv.h (mem_cd_iconv): Change specification.
53645         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
53646         result buffer.
53647         (str_cd_iconv): Update.
53648         * tests/test-striconv.c (main): Update.
53649
53650 2007-01-21  Bruno Haible  <bruno@clisp.org>
53651
53652         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
53653
53654 2007-01-20  Jim Meyering  <jim@meyering.net>
53655
53656         * lib/userspec.c (parse_with_separator): If a user or group string
53657         starts with "+", skip the corresponding name-to-ID look-up, since
53658         such a look-up must fail: user and group names may not include "+".
53659
53660 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
53661
53662         * lib/poll.c: Include sys/time.h and time.h unconditionally,
53663         since we now assume the sys_time module.
53664         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
53665         check for sys/time.h; no longer needed.
53666         * modules/poll (Depends-on): Depend on sys_time.
53667
53668 2007-01-18  Bruno Haible  <bruno@clisp.org>
53669
53670         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
53671         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53672
53673         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
53674         gettimeofday.
53675
53676         * tests/test-gettimeofday.c: Include <time.h>.
53677         (dummy): Remove variable.
53678
53679         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
53680         gl_HEADER_SYS_TIME_H.
53681         (gl_HEADER_SYS_TIME_H): New macro.
53682
53683         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
53684         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53685         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
53686         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
53687         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53688         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
53689         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
53690         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53691         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
53692         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
53693         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53694
53695         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
53696         last change; it caused a compilation error when cross-compiling to
53697         Cygwin.
53698
53699 2007-01-18  Jim Meyering  <jim@meyering.net>
53700
53701         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
53702         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
53703         than the race-prone "test -d sys || mkdir sys".
53704         (configure.ac): Use AC_PROG_MKDIR_P.
53705         * modules/sys_select: Likewise.
53706         * modules/sys_socket: Likewise.
53707         * modules/sys_time: Likewise.
53708
53709 2007-01-18  Eric Blake  <ebb9@byu.net>
53710
53711         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
53712         replace gettimeofday.
53713         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
53714         name, to avoid infinite recursion.
53715
53716 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
53717
53718         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
53719         module sys_time.
53720         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
53721         assume timespec.h defines struct timeval.
53722         * lib/settime.c: Likewise.
53723         * lib/utimens.c: Likewise.
53724         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
53725         since we now assume the gettimeofday module.
53726         * lib/tempname.c (__gen_tempname): Likewise.
53727         * lib/gettimeofday.h: Remove.
53728         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
53729         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
53730         Include <time.h>, for 'time()'.
53731         (localtime_buffer_addr): Also use this workaround if
53732         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
53733         to simplify the uses.  All uses changed.
53734         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
53735         that #undef is inside {}, and 'const' follows type name consistently.
53736         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
53737         (gettimeofday): Do not use the maximum possible value for
53738         tv->tv_usec, since that might break usages other than ls.c.
53739         Instead, we'll leave ls.c alone.  This undoes today's patch
53740         by Bruno.  Add a compile-time warning for 1s-clock resolution;
53741         we've never observed the problem but might as well keep the
53742         canary.
53743         * lib/nanosleep.c: Include timespec.h first, for interface check.
53744         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
53745         now assume the sys_time module.
53746         * lib/tempname.c: Likewise.
53747         * lib/timespec.h: Likewise.
53748         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
53749         needed.
53750         * lib/strftime.c: Likewise.
53751         * lib/timespec.h: Likewise.
53752         * lib/posixtm.c: Include posixtm.h first, for interface check.
53753         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
53754         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
53755         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
53756         * lib/sys_time_.h: New file.
53757         * lib/timespec.h (struct timespec): Use long int, not long.
53758         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
53759         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
53760         Remove obsolescent call to AC_HEADER_TIME.
53761         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
53762         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53763         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
53764         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
53765         Likewise.
53766         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
53767         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
53768         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
53769         into the sys_time module.  Check for gettimeofday just once.
53770         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
53771         for gettimeofday signature to just check the signature.  Merely
53772         compile it, since linking doesn't test signature.  Improve test for
53773         whether gettimeofday.o is actually needed.
53774         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
53775         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
53776         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
53777         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53778         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
53779         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
53780         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
53781         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
53782         than worrying about sys/time.h.
53783         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
53784         Don't bother worrying about TIME_WITH_SYS_TIME.
53785         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
53786         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
53787         * m4/sys_time_h.m4: New file.
53788         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
53789         Don't include sys/time.h.  Return from main rather than exiting.
53790         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
53791         all uses changed.
53792         * modules/gethrxtime (Depends-on): Add sys_time.
53793         * modules/gettime (Depends-on): Likewise.
53794         * modules/gettimeofday (Depends-on): Likewise.
53795         * modules/nanosleep (Depends-on): Likewise.
53796         * modules/settime (Depends-on): Likewise.
53797         * modules/tempname (Depends-on): Likewise.
53798         * modules/utimens (Depends-on): Likewise.
53799         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
53800         (Include:) Change back to <sys/time.h>.
53801         (Maintainer:) Add self.
53802         * modules/sys_time: New file.
53803         * modules/tempname (Depends-on): Add gettimeofday.
53804         * tests/test-gettimeofday.c: Include <sys/time.h>
53805         rather than gettimeofday.h.
53806
53807 2007-01-17  Bruno Haible  <bruno@clisp.org>
53808
53809         * gnulib-tool (func_get_license): Revert last patch. Instead, let
53810         the license default to GPL.
53811         (func_create_testdir): Don't complain if a module is LGPL and its
53812         tests module depends on GPLed modules.
53813
53814 2007-01-17  Bruno Haible  <bruno@clisp.org>
53815
53816         * lib/gettimeofday.c (gettimeofday): Add code for the case
53817         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
53818         maximum possible value for tv->tv_usec, rather than the minimum one.
53819
53820 2005-10-08  Martin Lambers  <marlam@marlam.de>
53821 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
53822 2007-01-16  Bruno Haible  <bruno@clisp.org>
53823
53824         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
53825         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
53826         gl_FUNC_GETTIMEOFDAY.
53827         (Include): Add gettimeofday.h.
53828         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
53829         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
53830         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
53831         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
53832         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
53833         * lib/gettimeofday.h: New file.
53834         * lib/gettimeofday.c: Include <sys/timeb.h>.
53835         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
53836         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
53837         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
53838         fall back on time().
53839
53840         * tests/test-gettimeofday.c: New file.
53841         * modules/gettimeofday-tests: New file.
53842
53843 2007-01-16  Eric Blake  <ebb9@byu.net>
53844
53845         * modules/fnmatch (Depends-on): Depend on wchar.
53846         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
53847         * m4/fnmatch.m4: Likewise.
53848         * modules/mbchar (Makefile.am): Assume <wchar.h>.
53849         * m4/mbchar.m4: Likewise.
53850         * modules/mbswidth (Depends-on): Depend on wchar.
53851         * lib/mbswidth.c: Assume <wchar.h>.
53852         * m4/mbswidth.m4: Likewise.
53853         * modules/quotearg (Depends-on): Depend on wchar.
53854         * lib/quotearg.c: Assume <wchar.h>.
53855         * m4/quotearg.m4: Likewise.
53856         * modules/regex (Depends-on): Depend on wchar.
53857         * lib/regex_internal.h: Assume <wchar.h>.
53858         * m4/regex.m4: Likewise.
53859         * modules/stdint (Depends-on): Depend on wchar.
53860         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
53861         * m4/stdint.m4: Likewise.
53862         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
53863         * modules/strftime (Depends-on): Depend on wchar.
53864         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
53865         * modules/strtol (Depends-on): Depend on wchar.
53866         * lib/strtol.c: Assume <wchar.h>.
53867         * modules/wcwidth (Depends-on): Depend on wchar.
53868         * lib/wcwidth.h: Assume <wchar.h>.
53869         * m4/wcwidth.m4: Likewise.
53870
53871 2007-01-16  Bruno Haible  <bruno@clisp.org>
53872
53873         * modules/csharpexec-script: New, created from...
53874         * modules/csharpexec: ... this.
53875
53876 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
53877
53878         * modules/javaexec-script: New, created from...
53879         * modules/javaexec: ... this.
53880
53881 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53882
53883         * modules/poll (Dependencies): Add sys_select.
53884
53885 2007-01-15  Jim Meyering  <jim@meyering.net>
53886
53887         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
53888         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
53889         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
53890         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
53891
53892 2007-01-15  Bruno Haible  <bruno@clisp.org>
53893
53894         * modules/striconveh: New file.
53895         * lib/striconveh.h: New file.
53896         * lib/striconveh.c: New file.
53897         * MODULES.html.sh (Internationalization functions): Add striconveh.
53898
53899         * modules/striconveh-tests: New file.
53900         * tests/test-striconveh.c: New file.
53901
53902 2007-01-15  Bruno Haible  <bruno@clisp.org>
53903
53904         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
53905         not from GNU libiconv or GNU libc.
53906
53907 2007-01-15  Bruno Haible  <bruno@clisp.org>
53908
53909         * doc/gnulib-intro.texi (Copyright): Explain the different license
53910         terms for module descriptions, autoconf macros, tests, documentation.
53911
53912 2007-01-14  Bruno Haible  <bruno@clisp.org>
53913
53914         * modules/striconv-tests: New file.
53915         * tests/test-striconv.c: New file.
53916
53917 2007-01-14  Bruno Haible  <bruno@clisp.org>
53918
53919         * modules/iconv-tests: New file.
53920         * tests/test-iconv.c: New file.
53921
53922 2007-01-14  Bruno Haible  <bruno@clisp.org>
53923
53924         * gnulib-tool (func_get_license): For test modules, use the license of
53925         the main module.
53926
53927 2007-01-14  Bruno Haible  <bruno@clisp.org>
53928
53929         * modules/iconv (Include): Clarify that <iconv.h> can only be included
53930         if iconv is found to exist.
53931
53932 2007-01-14  Bruno Haible  <bruno@clisp.org>
53933
53934         * modules/c-ctype-tests: New file.
53935         * tests/test-c-ctype.c: New file.
53936
53937 2007-01-14  Bruno Haible  <bruno@clisp.org>
53938
53939         * modules/binary-io-tests: New file.
53940         * tests/test-binary-io.sh: New file.
53941         * tests/test-binary-io.c: New file.
53942
53943 2007-01-14  Bruno Haible  <bruno@clisp.org>
53944
53945         * modules/array-oset-tests: New file.
53946         * tests/test-array_oset.c: New file.
53947
53948 2007-01-14  Bruno Haible  <bruno@clisp.org>
53949
53950         * modules/array-list-tests: New file.
53951         * tests/test-array_list.c: New file.
53952
53953 2007-01-14  Bruno Haible  <bruno@clisp.org>
53954
53955         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
53956         and make.
53957         Reported by Simon Josefsson in
53958         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
53959
53960 2007-01-14  Bruno Haible  <bruno@clisp.org>
53961
53962         * modules/allocsa-tests: New file.
53963         * tests/test-allocsa.c: New file.
53964
53965 2007-01-14  Bruno Haible  <bruno@clisp.org>
53966
53967         * modules/fchdir (Depends-on): Add absolute-header.
53968         * modules/unistd (Depends-on): Likewise.
53969
53970 2006-12-30  Bruno Haible  <bruno@clisp.org>
53971
53972         * modules/fchdir: New file.
53973         * modules/unistd (Files): Add lib/unistd_.h.
53974         (Makefile.am): Generate unistd.h from unistd_.h.
53975         * lib/fchdir.c: New file.
53976         * lib/dirent_.h: New file.
53977         * lib/unistd_.h: New file.
53978         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
53979         * m4/fchdir.m4: New file.
53980         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
53981         (gl_HEADER_UNISTD): Invoke it.
53982         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
53983         function.
53984         * lib/backupfile.c (opendir, closedir): Undefine.
53985         * lib/chown.c (open, close): Undefine.
53986         * lib/clean-temp.c (open, close): Undefine.
53987         * lib/copy-file.c (open, close): Undefine.
53988         * lib/execute.c (open, close): Undefine.
53989         * lib/fsusage.c (open, close): Undefine.
53990         * lib/gc-gnulib.c (open, close): Undefine.
53991         * lib/getcwd.c (opendir, closedir): Undefine.
53992         * lib/glob.c (opendir, closedir): Undefine.
53993         * lib/javacomp.c (open, close): Undefine.
53994         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
53995         * lib/openat-proc.c (open, close): Undefine.
53996         * lib/pagealign_alloc.c (open, close): Undefine.
53997         * lib/pipe.c (open, close): Undefine.
53998         * lib/progreloc.c (open, close): Undefine.
53999         * lib/savedir.c (opendir, closedir): Undefine.
54000         * lib/utime.c (open, close): Undefine.
54001         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
54002
54003 2007-01-10  Bruno Haible  <bruno@clisp.org>
54004
54005         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
54006
54007 2007-01-12  Eric Blake  <ebb9@byu.net>
54008
54009         Provide a robust <wchar.h>.  Further simplifications are now
54010         possible in other modules, but not included here.
54011         * modules/wchar: New module.
54012         * m4/wchar.m4: New file.
54013         * lib/wchar_.h: Likewise.
54014         * modules/mbchar (Depends-on): Depend on wchar, as the first use
54015         of the new module.
54016         * MODULES.html.sh (Extended multibyte and wide character utilities):
54017         New section.
54018
54019 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
54020
54021         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
54022         to a reasonable default for memory allocation.
54023         (xreadlink): Don't allocate a huge buffer, to work around a buggy
54024         file system that reports garbage st_size values for symlinks.
54025         Problem reported by Liyang Hu.
54026
54027 2007-01-11  Simon Josefsson  <simon@josefsson.org>
54028
54029         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
54030         Emacs .#* auto-save files).
54031
54032 2007-01-11  Bruno Haible  <bruno@clisp.org>
54033
54034         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
54035         directory.
54036
54037 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54038
54039         Use @...@ consistently in lib/wctype_.h.
54040         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
54041         on it being set to 1 or 0.
54042         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
54043         go back to AC_SUBSTing it.
54044         * modules/wctype (Makefile.am): Undo previous change.
54045
54046 2007-01-10  Eric Blake  <ebb9@byu.net>
54047
54048         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
54049         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
54050         * modules/wctype (Makefile.am): Likewise.
54051         Reported by Chris McGuire.
54052
54053 2007-01-10  Jim Meyering  <jim@meyering.net>
54054
54055         fts.c: a small readability/maintainability improvement
54056         * lib/fts.c (fts_read): Make this code slightly more readable and
54057         maintainable by hoisting the "sp->fts_cur = p" assignments to
54058         immediately follow the statements that set P.  Derived from
54059         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
54060
54061 2007-01-10  Eric Blake  <ebb9@byu.net>
54062
54063         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
54064         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
54065         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54066         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
54067         Reported by Chris McGuire.
54068
54069 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54070
54071         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
54072         in sed script.
54073
54074 2007-01-09  Bruno Haible  <bruno@clisp.org>
54075
54076         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
54077         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
54078         variables.
54079         (func_module): Use them.
54080
54081 2007-01-09  Bruno Haible  <bruno@clisp.org>
54082
54083         * modules/unistr/base: New file.
54084         * lib/unistr.h: New file.
54085
54086         * modules/unistr/u8-to-u16: New file.
54087         * lib/unistr/u8-to-u16.c: New file.
54088
54089         * modules/unistr/u8-to-u32: New file.
54090         * lib/unistr/u8-to-u32.c: New file.
54091
54092         * modules/unistr/u16-to-u8: New file.
54093         * lib/unistr/u16-to-u8.c: New file.
54094
54095         * modules/unistr/u16-to-u32: New file.
54096         * lib/unistr/u16-to-u32.c: New file.
54097
54098         * modules/unistr/u32-to-u8: New file.
54099         * lib/unistr/u32-to-u8.c: New file.
54100
54101         * modules/unistr/u32-to-u16: New file.
54102         * lib/unistr/u32-to-u16.c: New file.
54103
54104         * modules/unistr/u8-check: New file.
54105         * modules/unistr/u16-check: New file.
54106         * modules/unistr/u32-check: New file.
54107         * lib/unistr/u8-check.c: New file.
54108         * lib/unistr/u16-check.c: New file.
54109         * lib/unistr/u32-check.c: New file.
54110
54111         * modules/unistr/u8-chr: New file.
54112         * modules/unistr/u16-chr: New file.
54113         * modules/unistr/u32-chr: New file.
54114         * lib/unistr/u8-chr.c: New file.
54115         * lib/unistr/u16-chr.c: New file.
54116         * lib/unistr/u32-chr.c: New file.
54117
54118         * modules/unistr/u8-cmp: New file.
54119         * modules/unistr/u16-cmp: New file.
54120         * modules/unistr/u32-cmp: New file.
54121         * lib/unistr/u8-cmp.c: New file.
54122         * lib/unistr/u16-cmp.c: New file.
54123         * lib/unistr/u32-cmp.c: New file.
54124
54125         * modules/unistr/u8-cpy: New file.
54126         * modules/unistr/u16-cpy: New file.
54127         * modules/unistr/u32-cpy: New file.
54128         * lib/unistr/u8-cpy.c: New file.
54129         * lib/unistr/u16-cpy.c: New file.
54130         * lib/unistr/u32-cpy.c: New file.
54131         * lib/unistr/u-cpy.h: New file.
54132
54133         * modules/unistr/u8-cpy-alloc: New file.
54134         * modules/unistr/u16-cpy-alloc: New file.
54135         * modules/unistr/u32-cpy-alloc: New file.
54136         * lib/unistr/u8-cpy-alloc.c: New file.
54137         * lib/unistr/u16-cpy-alloc.c: New file.
54138         * lib/unistr/u32-cpy-alloc.c: New file.
54139         * lib/unistr/u-cpy-alloc.h: New file.
54140
54141         * modules/unistr/u8-endswith: New file.
54142         * modules/unistr/u16-endswith: New file.
54143         * modules/unistr/u32-endswith: New file.
54144         * lib/unistr/u8-endswith.c: New file.
54145         * lib/unistr/u16-endswith.c: New file.
54146         * lib/unistr/u32-endswith.c: New file.
54147         * lib/unistr/u-endswith.h: New file.
54148
54149         * modules/unistr/u8-mblen: New file.
54150         * modules/unistr/u16-mblen: New file.
54151         * modules/unistr/u32-mblen: New file.
54152         * lib/unistr/u8-mblen.c: New file.
54153         * lib/unistr/u16-mblen.c: New file.
54154         * lib/unistr/u32-mblen.c: New file.
54155
54156         * modules/unistr/u8-mbtouc: New file.
54157         * modules/unistr/u16-mbtouc: New file.
54158         * modules/unistr/u32-mbtouc: New file.
54159         * lib/unistr/u8-mbtouc.c: New file.
54160         * lib/unistr/u16-mbtouc.c: New file.
54161         * lib/unistr/u32-mbtouc.c: New file.
54162
54163         * modules/unistr/u8-mbtouc-safe: New file.
54164         * modules/unistr/u16-mbtouc-safe: New file.
54165         * modules/unistr/u32-mbtouc-safe: New file.
54166         * lib/unistr/u8-mbtouc-safe.c: New file.
54167         * lib/unistr/u16-mbtouc-safe.c: New file.
54168         * lib/unistr/u32-mbtouc-safe.c: New file.
54169
54170         * modules/unistr/u8-move: New file.
54171         * modules/unistr/u16-move: New file.
54172         * modules/unistr/u32-move: New file.
54173         * lib/unistr/u8-move.c: New file.
54174         * lib/unistr/u16-move.c: New file.
54175         * lib/unistr/u32-move.c: New file.
54176         * lib/unistr/u-move.h: New file.
54177
54178         * modules/unistr/u8-next: New file.
54179         * modules/unistr/u16-next: New file.
54180         * modules/unistr/u32-next: New file.
54181         * lib/unistr/u8-next.c: New file.
54182         * lib/unistr/u16-next.c: New file.
54183         * lib/unistr/u32-next.c: New file.
54184
54185         * modules/unistr/u8-prev: New file.
54186         * modules/unistr/u16-prev: New file.
54187         * modules/unistr/u32-prev: New file.
54188         * lib/unistr/u8-prev.c: New file.
54189         * lib/unistr/u16-prev.c: New file.
54190         * lib/unistr/u32-prev.c: New file.
54191
54192         * modules/unistr/u8-set: New file.
54193         * modules/unistr/u16-set: New file.
54194         * modules/unistr/u32-set: New file.
54195         * lib/unistr/u8-set.c: New file.
54196         * lib/unistr/u16-set.c: New file.
54197         * lib/unistr/u32-set.c: New file.
54198         * lib/unistr/u-set.h: New file.
54199
54200         * modules/unistr/u8-startswith: New file.
54201         * modules/unistr/u16-startswith: New file.
54202         * modules/unistr/u32-startswith: New file.
54203         * lib/unistr/u8-startswith.c: New file.
54204         * lib/unistr/u16-startswith.c: New file.
54205         * lib/unistr/u32-startswith.c: New file.
54206         * lib/unistr/u-startswith.h: New file.
54207
54208         * modules/unistr/u8-stpcpy: New file.
54209         * modules/unistr/u16-stpcpy: New file.
54210         * modules/unistr/u32-stpcpy: New file.
54211         * lib/unistr/u8-stpcpy.c: New file.
54212         * lib/unistr/u16-stpcpy.c: New file.
54213         * lib/unistr/u32-stpcpy.c: New file.
54214         * lib/unistr/u-stpcpy.h: New file.
54215
54216         * modules/unistr/u8-stpncpy: New file.
54217         * modules/unistr/u16-stpncpy: New file.
54218         * modules/unistr/u32-stpncpy: New file.
54219         * lib/unistr/u8-stpncpy.c: New file.
54220         * lib/unistr/u16-stpncpy.c: New file.
54221         * lib/unistr/u32-stpncpy.c: New file.
54222         * lib/unistr/u-stpncpy.h: New file.
54223
54224         * modules/unistr/u8-strcat: New file.
54225         * modules/unistr/u16-strcat: New file.
54226         * modules/unistr/u32-strcat: New file.
54227         * lib/unistr/u8-strcat.c: New file.
54228         * lib/unistr/u16-strcat.c: New file.
54229         * lib/unistr/u32-strcat.c: New file.
54230         * lib/unistr/u-strcat.h: New file.
54231
54232         * modules/unistr/u8-strchr: New file.
54233         * modules/unistr/u16-strchr: New file.
54234         * modules/unistr/u32-strchr: New file.
54235         * lib/unistr/u8-strchr.c: New file.
54236         * lib/unistr/u16-strchr.c: New file.
54237         * lib/unistr/u32-strchr.c: New file.
54238
54239         * modules/unistr/u8-strcmp: New file.
54240         * modules/unistr/u16-strcmp: New file.
54241         * modules/unistr/u32-strcmp: New file.
54242         * lib/unistr/u8-strcmp.c: New file.
54243         * lib/unistr/u16-strcmp.c: New file.
54244         * lib/unistr/u32-strcmp.c: New file.
54245
54246         * modules/unistr/u8-strcpy: New file.
54247         * modules/unistr/u16-strcpy: New file.
54248         * modules/unistr/u32-strcpy: New file.
54249         * lib/unistr/u8-strcpy.c: New file.
54250         * lib/unistr/u16-strcpy.c: New file.
54251         * lib/unistr/u32-strcpy.c: New file.
54252         * lib/unistr/u-strcpy.h: New file.
54253
54254         * modules/unistr/u8-strcspn: New file.
54255         * modules/unistr/u16-strcspn: New file.
54256         * modules/unistr/u32-strcspn: New file.
54257         * lib/unistr/u8-strcspn.c: New file.
54258         * lib/unistr/u16-strcspn.c: New file.
54259         * lib/unistr/u32-strcspn.c: New file.
54260         * lib/unistr/u-strcspn.h: New file.
54261
54262         * modules/unistr/u8-strdup: New file.
54263         * modules/unistr/u16-strdup: New file.
54264         * modules/unistr/u32-strdup: New file.
54265         * lib/unistr/u8-strdup.c: New file.
54266         * lib/unistr/u16-strdup.c: New file.
54267         * lib/unistr/u32-strdup.c: New file.
54268         * lib/unistr/u-strdup.h: New file.
54269
54270         * modules/unistr/u8-strlen: New file.
54271         * modules/unistr/u16-strlen: New file.
54272         * modules/unistr/u32-strlen: New file.
54273         * lib/unistr/u8-strlen.c: New file.
54274         * lib/unistr/u16-strlen.c: New file.
54275         * lib/unistr/u32-strlen.c: New file.
54276         * lib/unistr/u-strlen.h: New file.
54277
54278         * modules/unistr/u8-strmblen: New file.
54279         * modules/unistr/u16-strmblen: New file.
54280         * modules/unistr/u32-strmblen: New file.
54281         * lib/unistr/u8-strmblen.c: New file.
54282         * lib/unistr/u16-strmblen.c: New file.
54283         * lib/unistr/u32-strmblen.c: New file.
54284
54285         * modules/unistr/u8-strmbtouc: New file.
54286         * modules/unistr/u16-strmbtouc: New file.
54287         * modules/unistr/u32-strmbtouc: New file.
54288         * lib/unistr/u8-strmbtouc.c: New file.
54289         * lib/unistr/u16-strmbtouc.c: New file.
54290         * lib/unistr/u32-strmbtouc.c: New file.
54291
54292         * modules/unistr/u8-strncat: New file.
54293         * modules/unistr/u16-strncat: New file.
54294         * modules/unistr/u32-strncat: New file.
54295         * lib/unistr/u8-strncat.c: New file.
54296         * lib/unistr/u16-strncat.c: New file.
54297         * lib/unistr/u32-strncat.c: New file.
54298         * lib/unistr/u-strncat.h: New file.
54299
54300         * modules/unistr/u8-strncmp: New file.
54301         * modules/unistr/u16-strncmp: New file.
54302         * modules/unistr/u32-strncmp: New file.
54303         * lib/unistr/u8-strncmp.c: New file.
54304         * lib/unistr/u16-strncmp.c: New file.
54305         * lib/unistr/u32-strncmp.c: New file.
54306
54307         * modules/unistr/u8-strncpy: New file.
54308         * modules/unistr/u16-strncpy: New file.
54309         * modules/unistr/u32-strncpy: New file.
54310         * lib/unistr/u8-strncpy.c: New file.
54311         * lib/unistr/u16-strncpy.c: New file.
54312         * lib/unistr/u32-strncpy.c: New file.
54313         * lib/unistr/u-strncpy.h: New file.
54314
54315         * modules/unistr/u8-strnlen: New file.
54316         * modules/unistr/u16-strnlen: New file.
54317         * modules/unistr/u32-strnlen: New file.
54318         * lib/unistr/u8-strnlen.c: New file.
54319         * lib/unistr/u16-strnlen.c: New file.
54320         * lib/unistr/u32-strnlen.c: New file.
54321         * lib/unistr/u-strnlen.h: New file.
54322
54323         * modules/unistr/u8-strpbrk: New file.
54324         * modules/unistr/u16-strpbrk: New file.
54325         * modules/unistr/u32-strpbrk: New file.
54326         * lib/unistr/u8-strpbrk.c: New file.
54327         * lib/unistr/u16-strpbrk.c: New file.
54328         * lib/unistr/u32-strpbrk.c: New file.
54329         * lib/unistr/u-strpbrk.h: New file.
54330
54331         * modules/unistr/u8-strrchr: New file.
54332         * modules/unistr/u16-strrchr: New file.
54333         * modules/unistr/u32-strrchr: New file.
54334         * lib/unistr/u8-strrchr.c: New file.
54335         * lib/unistr/u16-strrchr.c: New file.
54336         * lib/unistr/u32-strrchr.c: New file.
54337
54338         * modules/unistr/u8-strspn: New file.
54339         * modules/unistr/u16-strspn: New file.
54340         * modules/unistr/u32-strspn: New file.
54341         * lib/unistr/u8-strspn.c: New file.
54342         * lib/unistr/u16-strspn.c: New file.
54343         * lib/unistr/u32-strspn.c: New file.
54344         * lib/unistr/u-strspn.h: New file.
54345
54346         * modules/unistr/u8-strstr: New file.
54347         * modules/unistr/u16-strstr: New file.
54348         * modules/unistr/u32-strstr: New file.
54349         * lib/unistr/u8-strstr.c: New file.
54350         * lib/unistr/u16-strstr.c: New file.
54351         * lib/unistr/u32-strstr.c: New file.
54352         * lib/unistr/u-strstr.h: New file.
54353
54354         * modules/unistr/u8-strtok: New file.
54355         * modules/unistr/u16-strtok: New file.
54356         * modules/unistr/u32-strtok: New file.
54357         * lib/unistr/u8-strtok.c: New file.
54358         * lib/unistr/u16-strtok.c: New file.
54359         * lib/unistr/u32-strtok.c: New file.
54360         * lib/unistr/u-strtok.h: New file.
54361
54362         * modules/unistr/u8-uctomb: New file.
54363         * modules/unistr/u16-uctomb: New file.
54364         * modules/unistr/u32-uctomb: New file.
54365         * lib/unistr/u8-uctomb.c: New file.
54366         * lib/unistr/u16-uctomb.c: New file.
54367         * lib/unistr/u32-uctomb.c: New file.
54368
54369         * MODULES.html.sh (Unicode string functions): Add the new modules.
54370
54371 2007-01-08  Bruno Haible  <bruno@clisp.org>
54372
54373         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
54374         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
54375         subdirectories.
54376
54377 2007-01-08  Karl Berry  <karl@gnu.org>
54378
54379         * doc/error.texi: mention that main() fns must set program_name
54380         when progname is used.
54381
54382 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
54383
54384         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
54385         WCTYPE_H is empty, for the benefit of builds from non-distclean
54386         directories.  Problem reported by Eric Blake in
54387         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
54388
54389 2007-01-08  Bruno Haible  <bruno@clisp.org>
54390
54391         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
54392         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
54393         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
54394         PROVIDE_CANONICALIZE_FILENAME_MODE.
54395         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
54396
54397 2007-01-08  Bruno Haible  <bruno@clisp.org>
54398
54399         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
54400         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
54401         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
54402         * lib/fts.c: Likewise.
54403         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
54404
54405 2006-12-25  Bruno Haible  <bruno@clisp.org>
54406
54407         * modules/utf8-ucs4-safe: New file.
54408         * lib/utf8-ucs4-safe.h: New file.
54409         * lib/unistr/utf8-ucs4-safe.c: New file.
54410
54411         * modules/utf16-ucs4-safe: New file.
54412         * lib/utf16-ucs4-safe.h: New file.
54413         * lib/unistr/utf16-ucs4-safe.c: New file.
54414
54415         * MODULES.html.sh (Unicode string functions): Add the new modules.
54416
54417 2007-01-08  Bruno Haible  <bruno@clisp.org>
54418
54419         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
54420         (Depends-on): Add unitypes.
54421         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54422         (u8_mbtouc_aux): Move out to separate file.
54423         (u8_mbtouc): Use ucs4_t, uint8_t types.
54424         * lib/unistr/utf8-ucs4.c: New file.
54425
54426         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
54427         (Depends-on): Add unitypes.
54428         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
54429         (u16_mbtouc_aux): Move out to separate file.
54430         (u16_mbtouc): Use ucs4_t, uint16_t types.
54431         * lib/unistr/utf16-ucs4.c: New file.
54432
54433         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
54434         (Depends-on): Add unitypes.
54435         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
54436         (u8_uctomb_aux): Move out to separate file.
54437         (u8_uctomb): Use ucs4_t, uint8_t types.
54438         * lib/unistr/ucs4-utf8.c: New file.
54439
54440         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
54441         (Depends-on): Add unitypes.
54442         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
54443         (u16_uctomb_aux): Move out to separate file.
54444         (u16_uctomb): Use ucs4_t, uint16_t types.
54445         * lib/unistr/ucs4-utf16.c: New file.
54446
54447 2006-12-25  Bruno Haible  <bruno@clisp.org>
54448
54449         * modules/unitypes: New file.
54450         * lib/unitypes.h: New file.
54451         * MODULES.html.sh (func_all_modules): New section "Unicode string
54452         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
54453         this section. Add unitypes.
54454
54455 2007-01-08  Bruno Haible  <bruno@clisp.org>
54456
54457         Avoid variable names that conflict with those from libtool.
54458         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
54459         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
54460         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
54461         library_names_spec to acl_library_names_spec, hardcode_* to
54462         acl_hardcode_*.
54463         Reported by Ralf Wildenhues.
54464
54465 2007-01-08  Bruno Haible  <bruno@clisp.org>
54466
54467         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
54468         definition.
54469         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
54470         definition.
54471         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
54472         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
54473         definition.
54474         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
54475         definition.
54476         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
54477         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
54478         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
54479         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
54480         definition.
54481         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
54482         definition.
54483         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
54484         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
54485         GC_USE_<algorithm>.
54486         * lib/gc-libgcrypt.c: Likewise.
54487         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
54488         * modules/gc-arctwo (configure.ac): Likewise.
54489         * modules/gc-des (configure.ac): Likewise.
54490         * modules/gc-hmac-md5 (configure.ac): Likewise.
54491         * modules/gc-hmac-sha1 (configure.ac): Likewise.
54492         * modules/gc-md2 (configure.ac): Likewise.
54493         * modules/gc-md4 (configure.ac): Likewise.
54494         * modules/gc-md5 (configure.ac): Likewise.
54495         * modules/gc-random (configure.ac): Likewise.
54496         * modules/gc-rijndael (configure.ac): Likewise.
54497         * modules/gc-sha1 (configure.ac): Likewise.
54498
54499 2007-01-08  Bruno Haible  <bruno@clisp.org>
54500
54501         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
54502         macro definition.
54503         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
54504         definition.
54505         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
54506         definition.
54507         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
54508         * modules/fcntl-safer (configure.ac): Likewise.
54509         * modules/fopen-safer (configure.ac): Likewise.
54510         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
54511         GNULIB_FWRITEERROR macro definition.
54512
54513 2007-01-08  Bruno Haible  <bruno@clisp.org>
54514
54515         * m4/gnulib-common.m4: New file.
54516         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
54517         (func_get_filelist): Add m4/gnulib-common.m4.
54518
54519 2007-01-08  Bruno Haible  <bruno@clisp.org>
54520
54521         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
54522         command.
54523
54524 2007-01-08  Jim Meyering  <jim@meyering.net>
54525
54526         Use a more robust test for a "can't happen" condition.
54527         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
54528         narrowed the st_size value.  Presuming the "can't happen" condition
54529         is true, that narrowing could conceivably convert an invalid st_size
54530         value into a valid one.  Instead, use a change based on Matthew
54531         Woehlke's original patch.
54532
54533         Slight readability improvement: use an assert-like macro
54534         in place of literal "abort ()" uses.
54535         * lib/fts.c (fts_assert): Define.
54536         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
54537         Use this macro instead of a bare 'abort'.
54538
54539 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
54540
54541         Don't worry about using IRIX 5.3's wctype.h broken definitions;
54542         simply work around them.
54543         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
54544         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
54545         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
54546         declaring.
54547         Don't bother to define as macros, since the standard doesn't require it.
54548         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
54549         longer worry about IRIX 5.3.
54550         (HAVE_WCTYPE_CTMP_BUG): Remove.
54551
54552 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54553
54554         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
54555         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
54556         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
54557         Problems reported by Georg Schwarz for IRIX 5.3.
54558
54559         * gnulib-tool (autoconf_minversion): Take the maximum version number
54560         found, not the minimum.  Problem reported by James Youngman.
54561
54562 2007-01-03  Karl Berry  <karl@gnu.org>
54563
54564         * doc/error.texi: new file, explaining interaction with progname.
54565         * doc/gnulib.texi: include it.  Update copyright.
54566
54567 2007-01-03  Simon Josefsson  <simon@josefsson.org>
54568
54569         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
54570         AC_CANONICAL_HOST, to improve autobuild outputs.
54571
54572 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
54573             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
54574
54575         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
54576         sockets, server sockets, and other file descriptors.  Count errors
54577         to compute the return value.  Reorder the code a bit to be easier
54578         to follow.  Don't set event bits that were not requested (except
54579         POLLERR and POLLHUP).
54580
54581 2007-01-01  Bruno Haible  <bruno@clisp.org>
54582
54583         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
54584
54585 2007-01-03  Jim Meyering  <jim@meyering.net>
54586
54587         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
54588
54589 2007-01-02  Bruno Haible  <bruno@clisp.org>
54590
54591         * modules/settime (Include): Require timespec.h.
54592         * modules/nanosleep (Include): Likewise.
54593
54594 2007-01-01  Bruno Haible  <bruno@clisp.org>
54595
54596         * gnulib-tool (func_emit_copyright_notice): Bump year.
54597         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
54598
54599 2007-01-01  Bruno Haible  <bruno@clisp.org>
54600
54601         Improve support for OpenBSD.
54602         * build-aux/config.rpath (libname_spec): Export.
54603         (library_names_spec): New variable. Export.
54604         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
54605         library_names_spec from the config.rpath output. Locate shared library
54606         through the name pattern in library_names_spec.
54607
54608 2007-01-01  Eric Blake  <ebb9@byu.net>
54609
54610         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
54611
54612 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
54613
54614         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
54615         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
54616         assume the C locale, and avoid an "eval" that could cause trouble.
54617         Problem with SORT reported by Bob Proulx.
54618
54619         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
54620         Define.  Trivial patch from Henning Nielsen Lund, originally
54621         sent to bug-grep@gnu.org today.
54622
54623 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
54624
54625         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
54626         struct stat.  Problem reported by Henning Nielsen Lund.
54627         * lib/acl.c: Include acl.h first, to check interface.  Don't
54628         bother to include sys/types.h and sys/stat.h again.
54629
54630 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
54631
54632         Import the following change from libc; problem reported by
54633         Sven Verdoolaege.
54634
54635         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
54636
54637         [BZ #1373]
54638         * lib/argp.h: Remove __NTH for __argp_usage inline function.
54639
54640 2006-12-28  Jim Meyering  <jim@meyering.net>
54641
54642         * build-aux/announce-gen: Do not assume that the package
54643         builds any of tar.gz, tar.bz2, and .xdelta files.
54644         Suggestion from Simon Josefsson.
54645
54646 2006-12-28  Simon Josefsson  <simon@josefsson.org>
54647
54648         * modules/announce-gen: New file.
54649
54650 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
54651
54652         * lib/mbchar.h: Just include <wctype.h>; the wctype module
54653         handles its gotchas now.
54654         * lib/mbswidth.c: Likewise.
54655         * lib/wcwidth.h: Likewise.
54656         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
54657         and iswcntrl; the wctype module does this stuff now.
54658         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
54659         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
54660         * modules/mbchar (Depends-on): Add wctype.
54661         * modules/mbswidth (Depends-on): Likewise.
54662         * modules/wcwidth (Depends-on): Likewise.
54663
54664 2006-12-27  Eric Blake  <ebb9@byu.net>
54665
54666         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
54667         module uses more than what <wctype.h> is required to provide.
54668
54669 2006-12-26  Eric Blake  <ebb9@byu.net>
54670
54671         * gnulib-tool (sed_extract_prog): Avoid space-tab.
54672
54673 2006-12-26  Eric Blake  <ebb9@byu.net>
54674
54675         * modules/absolute-header: New module.
54676         * modules/fcntl (Depends-on): Depend on it.
54677         * modules/inttypes (Depends-on): Likewise.
54678         * modules/stdint (Depends-on): Likewise.
54679         * modules/sys_stat (Depends-on): Likewise.
54680         * modules/wctype (Depends-on): Likewise.
54681         * MODULES.html.sh (Support for building libraries and
54682         executables): Document it.
54683
54684 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
54685
54686         * gnulib-tool (SED): Remove, undoing previous change.
54687         The problem was that it broke coreutils on Solaris, because
54688         "sed --posix" leaked into a makefile.
54689         (sed): New alias, if 'alias' and GNU sed.
54690
54691 2006-12-24  Jim Meyering  <jim@meyering.net>
54692
54693         Work around an fchownat bug in glibc-2.4:
54694         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
54695         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
54696         in spite of the -P option.
54697         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
54698         New macros.
54699         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
54700         * modules/openat (Files): Add lib/fchownat.c.
54701         * lib/openat.c (fchownat): Don't define here.  Move to...
54702         * lib/fchownat.c: ...this new file.
54703
54704 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
54705
54706         Fix bug reported by Bruno Haible in
54707         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
54708         where quotearg.c didn't compile on Mac OS X 10.2 because it
54709         lacks <wchar.h> and wint_t.
54710         * lib/wctype_.h (__wctype_wint_t): New type.
54711         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
54712         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
54713         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
54714         Arg is now of type __wctype_wint_t, not wint_t.
54715         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
54716         substitute HAVE_WINT_T.
54717         * modules/wctype (Files): Add m4/wint_t.m4.
54718         (wctype.h): Substitute HAVE_WINT_T.
54719
54720 2006-12-23  Bruno Haible  <bruno@clisp.org>
54721
54722         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
54723
54724 2006-12-23  Bruno Haible  <bruno@clisp.org>
54725
54726         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
54727         S_ISLNK.
54728         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
54729         mingw.
54730
54731 2006-12-22  Bruno Haible  <bruno@clisp.org>
54732
54733         * lib/copy-file.c: Include acl.h.
54734         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
54735         Close the file descriptors only after being done with copy_acl.
54736         * modules/copy-file (Depends-on): Add acl.
54737
54738 2006-12-22  Bruno Haible  <bruno@clisp.org>
54739
54740         * gnulib-tool (SED): New variable.
54741         Use $SED instead of sed everywhere.
54742
54743 2006-12-22  Bruno Haible  <bruno@clisp.org>
54744
54745         * modules/no-c++: New file.
54746         * m4/no-c++.m4: New file.
54747         * MODULES.html.sh (Support for building libraries and executables):
54748         Add no-c++.
54749
54750 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
54751
54752         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
54753         Include <limits.h>, and use its INT_MAX to rewrite the
54754         j loop so that it does not overflow 'int'.  Problem reported by
54755         Ralf Wildenhues in
54756         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
54757         Play it safe by shifting left by 1 rather than multiplying by 2,
54758         as GCC is less likely to optimize this away when the value
54759         is signed (when it assumes overflow leads to undefined behavior).
54760         Also, don't assume time_t uses two's complement.
54761
54762 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
54763
54764         * MODULES.html.sh: New module wctype.
54765         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
54766         * lib/fnmatch.c: Don't bother to include <wchar.h> before
54767         <wctype.h>, since the new wctype module should fix this.
54768         * lib/quotearg.c: Include <wctype.h> unconditionally, since
54769         the wctype module should arrange for it.
54770         * lib/regex_internal.h: Likewise.
54771         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
54772         since the wctype module should handle this now.
54773         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
54774         * modules/fnmatch (Depends-on): Add wctype.
54775         * modules/quotearg (Depends-on): Likewise.
54776         * modules/regex (Depends-on): Likewise.
54777
54778 2006-12-19  Bruno Haible  <bruno@clisp.org>
54779
54780         * lib/strdup.h [C++]: Wrap definitions in extern "C".
54781         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
54782
54783 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54784
54785         * modules/savewd (Depends-on): Fix dependency on fcntl.
54786
54787 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54788
54789         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
54790         conforms to C99, rather than relying on the user's environment
54791         setting of STDINT_H.
54792
54793 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
54794         and Eric Blake  <ebb9@byu.net>
54795
54796         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
54797         This is more consistent with the other defines here.
54798         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
54799         Port to z/OS.  Problem reported by Paul Gilmartin.
54800         Change local vars to use gl_ prefix rather than ac_.
54801         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
54802         with other defines.
54803         * modules/double-slash-root: New module.
54804         * modules/dirname (Files): Remove m4/double-slash-root.m4.
54805         (Depends-on): Add double-slash-root.
54806         * MODULES.html.sh (File system functions): Mention new module.
54807
54808 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
54809
54810         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
54811         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
54812         This is for the benefit of gzip, which doesn't do i18n.
54813
54814 2006-12-12  Jim Meyering  <jim@meyering.net>
54815
54816         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
54817         Reported by Andreas Schwab <schwab@suse.de>.
54818
54819 2006-12-12  Bruno Haible  <bruno@clisp.org>
54820
54821         Merge these changes.
54822         2006-09-05  Bruno Haible  <bruno@clisp.org>
54823         * lib/iconvme.c (iconv_string): No need to save and restore errno when
54824         iconv_alloc succeeded.
54825         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
54826         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
54827         test for " && dest " at the end - dest is always != NULL there. Call
54828         iconv with 4xNULL arguments initially, to reset the state. Call iconv
54829         with 2xNULL arguments, also to flush the state storage. Handle the
54830         IRIX iconv behaviour. Realloc the final result, to throw away unused
54831         memory.
54832
54833 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
54834
54835         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
54836         and fchmodat unconditionally, since glibc 2.4 has them.
54837         Problem reported by Arkadiusz Miskiewicz.
54838
54839 2006-12-10  Bruno Haible  <bruno@clisp.org>
54840
54841         * gnulib-tool (func_import): Show the include files only for those
54842         modules that are copied and specified.
54843         Reported by Karl Berry.
54844
54845 2006-12-08  Jim Meyering  <jim@meyering.net>
54846
54847         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
54848         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
54849
54850         * build-aux/announce-gen: Add two new options, both optional:
54851         --bootstrap-tools=TOOL_LIST
54852               a comma-separated list of tools, e.g.,
54853               autoconf,automake,bison,gnulib
54854         --gnulib-snapshot-date=DATE
54855               if gnulib is in the bootstrap tool list,
54856               then report this as the snapshot date.
54857               If not specified, use the current date/time.
54858               If you specify a date here, be sure it's UTC.
54859
54860 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54861
54862         * tests/test-argp-2.sh: Fix test to match actual output.
54863         (func_compare): Fix sed script to be portable.
54864
54865 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
54866
54867         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
54868         workaround for this case.  It is not autoconfigured now; offhand
54869         it's hard to see how to autoconfigure it.
54870
54871 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
54872
54873         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
54874         a directory that is about to be chowned.  Such a directory's
54875         initial file permissions should permit the owner only and this
54876         should not be changed until after the chown, since the group and
54877         other bits would be incorrect if they granted permission before
54878         the chown.
54879
54880         Fix porting problem for iswctype reported by Georg Schwarz in:
54881         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
54882         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
54883         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
54884         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
54885         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
54886
54887 2006-12-03  Jim Meyering  <jim@meyering.net>
54888
54889         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
54890         p->fts_statp may not yet be defined.
54891         (fts_read): Instead, set it in the caller, once p->fts_statp is
54892         sure to be defined, and corresponds to a top-level directory.
54893         This bug made du -x fail.  Here's the coreutils test case:
54894         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
54895         Reported by Mike Frysinger.
54896
54897 2006-12-01  Jim Meyering  <jim@meyering.net>
54898
54899         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
54900         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
54901         Reported by Simon Josefsson.
54902
54903 2006-11-30  Jim Meyering  <jim@meyering.net>
54904
54905         * m4/warning.m4: Use the all-permissive copyright notice
54906         recommended by RMS (rather than LGPL).
54907         * m4/vararrays.m4: Likewise.
54908         * m4/flexmember.m4: Likewise.
54909
54910 2006-11-29  Bruno Haible  <bruno@clisp.org>
54911
54912         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54913         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
54914         using +=.
54915         Reported by Simon Josefsson <simon@josefsson.org>.
54916
54917 2006-11-28  James Youngman <jay@gnu.org>
54918
54919         * README: Advise users that they might find the bug-gnulib@gnu.org
54920         and autotools-announce@gnu.org mailing lists useful.
54921
54922 2006-11-28  Bruno Haible  <bruno@clisp.org>
54923
54924         * m4/ptrdiff_max.m4: Remove file.
54925
54926 2006-11-21  Bruno Haible  <bruno@clisp.org>
54927
54928         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
54929         _AC_COMPUTE_INT.
54930         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54931         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
54932         _AC_COMPUTE_INT.
54933         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54934         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
54935         _AC_COMPUTE_INT.
54936         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54937
54938 2006-11-28  Jim Meyering  <jim@meyering.net>
54939
54940         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
54941         warning from "gcc -Wshadow" about shadowing the builtin.
54942
54943 2006-11-27  Bruno Haible  <bruno@clisp.org>
54944
54945         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
54946         _AC_COMPUTE_INT.
54947         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
54948
54949 2006-11-27  Bruno Haible  <bruno@clisp.org>
54950             Paul Eggert  <eggert@cs.ucla.edu>
54951
54952         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
54953
54954 2006-11-26  Bruno Haible  <bruno@clisp.org>
54955
54956         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
54957         noinst_LTLIBRARIES.
54958
54959 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
54960             Bruno Haible  <bruno@clisp.org>
54961
54962         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
54963         if compiling with "gcc -ansi".
54964
54965 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
54966
54967         Fix some incompatibilities with gcc -ansi -pedantic.
54968         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
54969         if compiling pedantically with GCC, unless it's C99 or later.
54970         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
54971         it mishandles gcc -ansi -pedantic as well.
54972         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
54973         if gcc -pedantic.
54974         * lib/regexec.c (check_node_accept_bytes): Don't use auto
54975         initializers for struct if -pedantic, unless it's C99 or later.
54976
54977 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
54978
54979         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
54980         Don't close an fd more than once. Identical atimes indicate
54981         success, not failure.
54982
54983 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
54984
54985         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
54986
54987 2006-11-23  Jim Meyering  <jim@meyering.net>
54988
54989         * build-aux/announce-gen: New file.  From coreutils.
54990
54991 2006-11-22  Jim Meyering  <jim@meyering.net>
54992
54993         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
54994         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
54995         (fts_read): Use a temporary to narrow the overused st_size member
54996         before using it in a switch statement.  Reported by Matthew Woehlke.
54997
54998         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
54999         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
55000
55001 2006-11-20  Bruno Haible  <bruno@clisp.org>
55002
55003         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
55004         changequote instead of pairs of brackets.
55005         Reported by Andreas Schwab <schwab@suse.de>.
55006
55007 2006-11-21  Jim Meyering  <jim@meyering.net>
55008
55009         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
55010         so as to remain compatible with older compilers.
55011         Patch from Michael Deutschmann.
55012
55013 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55014
55015         * MODULES.html.sh (File system functions): Add openat.
55016
55017         * lib/openat.h (rpl_fstatat): New macro, if
55018         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
55019         (fstatat): Define to rpl_fstatat under the same conditions,
55020         unless COMPILING_FSTATAT.
55021         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
55022         seems to have the bug.
55023         * lib/fstatat.c: New file.
55024         * modules/openat (Files): Add it.
55025
55026 2006-11-20  Bruno Haible  <bruno@clisp.org>
55027
55028         * Makefile: New file.
55029
55030 2006-11-20  Jim Meyering  <jim@meyering.net>
55031
55032         The beginnings of syntax-related checks for gnulib.
55033         * lib/Makefile: New file.
55034         * lib/t-idcache: New script.  Ensure that the two halves of
55035         idcache.c stay in sync.
55036
55037         * lib/idcache.c: Adjust comments in user- and group- portions to
55038         be more accurate, and to be consistent with one another.
55039
55040 2006-11-20  Jim Meyering  <jim@meyering.net>
55041
55042         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
55043         continue using the flexible array member (thus, this module performs
55044         half as many malloc calls), with the addition that...
55045         (getgroup, getuser): Consistently record a non-match via an empty
55046         "name" string, and map an empty string match to a NULL return value.
55047         * modules/idcache (Depends-on): Re-add flexmember.
55048
55049         * lib/idcache.c (getuser): Remove all uses of the register keyword.
55050         (getuidbyname, getgroup, getgidbyname): Likewise.
55051
55052         Use cleaner syntax: NULL rather than 0.
55053         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
55054
55055 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55056
55057         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
55058         It mishandled the case where the group was missing.
55059         Problem reported by Greg Schafer.
55060         * modules/idcache: Likewise.
55061
55062 2006-11-18  Jim Meyering  <jim@meyering.net>
55063
55064         * check-module (%exempt_header): Add exception for some
55065         conditionally-included headers.
55066
55067         * modules/i-ring (Depends-on): Add verify.
55068         (License): Change to LGPL.
55069
55070 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
55071
55072         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
55073         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
55074         and inttostr.h.  Use snprintf rather than uinttostr, so that
55075         LGPLed code doesn't depend on GPLed.
55076
55077 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
55078
55079         * modules/inline (License): Change from GPL to LGPL.
55080
55081 2006-11-17  Jim Meyering  <jim@meyering.net>
55082
55083         * modules/d-type (License): Switch to LGPL.
55084
55085 2006-11-15  Bruno Haible  <bruno@clisp.org>
55086
55087         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
55088
55089 2006-11-15  Eric Blake  <ebb9@byu.net>
55090
55091         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
55092         the module dependency.
55093
55094 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55095             Bruno Haible  <bruno@clisp.org>
55096
55097         * gnulib-tool (func_create_testdir): Add license consistency check.
55098
55099 2006-11-15  Eric Blake  <ebb9@byu.net>
55100
55101         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
55102         random "(cached)" in configure output.
55103
55104 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55105
55106         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
55107         test for conforming inttypes.h is both announced and cached.
55108
55109         * MODULES.html.sh (seen_modules, seen_files): New variables.
55110         (func_module): Rewrite to use a few less gnulib-tool and sed
55111         invocations.  Avoid a couple of quadratic algorithms for ...
55112         (missed_modules, missed_files): ... these, with ...
55113         (func_append, func_tmpdir): ... these new functions, from
55114         gnulib-tool.  Analogously, install traps for cleanup.
55115
55116         * tests/test-gc.c (main): Remove unused variables.
55117         * tests/test-read-file.c: Include stdlib.h, for 'free'.
55118
55119 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
55120
55121         * modules/inttostr (License): Change to LGPL.
55122
55123 2006-11-14  Eric Blake  <ebb9@byu.net>
55124
55125         * modules/tempname (License): Change to LGPL.
55126
55127 2006-11-14  Eric Blake  <ebb9@byu.net>
55128
55129         * doc/functions.texi (Function Portability): *printf functions on
55130         Cygwin now understand all POSIX size specifiers.
55131
55132 2006-11-14  Bruno Haible  <bruno@clisp.org>
55133
55134         * modules/c-ctype (License): Change to LGPL.
55135
55136 2006-11-12  Bruno Haible  <bruno@clisp.org>
55137
55138         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55139         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
55140         for GNOME libraries, for which the include files are installed in
55141         subdirectories of $prefix/include.
55142
55143 2006-11-12  Bruno Haible  <bruno@clisp.org>
55144
55145         * m4/lib-link.m4: Require at least autoconf-2.54.
55146         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
55147         name to underscores for the --with option.
55148
55149 2006-11-13  Bruno Haible  <bruno@clisp.org>
55150
55151         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
55152         the tests directory.
55153         Reported by Ralf Wildenhues.
55154
55155 2006-11-13  Bruno Haible  <bruno@clisp.org>
55156
55157         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
55158         (func_emit_initmacro_end): Undo the override here.
55159         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
55160         Works around the famous automake error in coreutils.
55161
55162 2006-11-13  Eric Blake  <ebb9@byu.net>
55163
55164         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
55165         element, not its node.
55166
55167 2006-11-12  Bruno Haible  <bruno@clisp.org>
55168
55169         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
55170         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
55171
55172 2006-11-12  Bruno Haible  <bruno@clisp.org>
55173
55174         * gnulib-tool: New option --local-symlink.
55175         (func_usage): Document it.
55176         (lsymbolic): New variable.
55177         (func_import, func_create_testdir): If --symlink was not specified,
55178         test whether --local-symlink was specified and the file comes from
55179         the local_gnulib_dir.
55180
55181 2006-11-12  Bruno Haible  <bruno@clisp.org>
55182
55183         * gnulib-tool (func_ln): New function.
55184         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
55185
55186 2006-11-12  Bruno Haible  <bruno@clisp.org>
55187
55188         Finish support for source files in subdirectories.
55189         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
55190         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
55191         AUTOMAKE_OPTIONS.
55192         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
55193
55194 2006-11-12  Bruno Haible  <bruno@clisp.org>
55195
55196         * gnulib-tool (func_get_automake_snippet): Synthesize also an
55197         EXTRA_lib_SOURCES augmentation.
55198         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
55199
55200 2006-11-12  Jim Meyering  <jim@meyering.net>
55201
55202         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
55203         file descriptors.  This also averts a failure on systems with
55204         native openat support when a traversed directory lacks "x" access.
55205         * lib/fts_.h: Include "i-ring.h"
55206         (struct FTS) [fts_fd_ring]: New member.
55207         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
55208         (FCHDIR): Add parentheses.
55209         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
55210         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
55211         When descending, rather than simply closing the previous
55212         fts_cwd_fd value, push that file descriptor onto the ring.
55213         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
55214         (fts_open): Initialize the new fd_ring member.
55215         (fts_close): Clear the ring.
55216         (fts_safe_changedir): When possible, use our new fd_ring to skip
55217         the diropen and fstat and dev/ino comparison that would normally
55218         accompany a virtual `chdir ("..")'.
55219
55220         * modules/fts (Depends-on): Add i-ring.
55221         * modules/i-ring: New module.
55222         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
55223         * m4/i-ring.m4: New file.
55224
55225 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55226
55227         * gnulib-tool (func_create_testdir): Fix replacement of
55228         `build-aux' in configure.ac.  Run autotools in gltests
55229         subdirectory.
55230         (func_create_testdir, func_create_megatestdir, test): There is
55231         no need for '--force' in most autotool invocations in a new
55232         tree.  Actually fail the whole test if any of the tools, or the
55233         configure or make stages fail.
55234
55235         Sync from Automake.
55236         * build-aux/gnupload: Revert last change.  Add pointer to upload
55237         instructions of the GNU Maintenance Instructions.
55238         Suggestion by Karl Berry.
55239
55240 2006-11-10  Jim Meyering  <jim@meyering.net>
55241
55242         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
55243
55244 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55245
55246         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
55247         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
55248         (bind_textdomain_codeset) [! ENABLE_NLS]:
55249         Evaluate all the arguments.  That way, callers get compatible behavior
55250         if the arguments have side effects.  Also, it avoids some GCC
55251         diagnostics in some cases; Joel E. Denny reported problems when Bison
55252         was configured with --enable-gcc-warnigs.
55253
55254 2006-11-10  Jim Meyering  <jim@meyering.net>
55255
55256         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
55257         relevant options in CFLAGS (like -O, -fno-inline) are taken into
55258         account.
55259
55260 2006-11-10  Jim Meyering  <jim@meyering.net>
55261
55262         * modules/inline: New file/module.
55263         * modules/xalloc (Files): Remove m4/inline.m4.
55264         (Depends-on): Add inline, instead.
55265         * modules/oset: Likewise.
55266         * modules/list: Likewise.
55267
55268 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
55269
55270         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
55271         Problem reported by Matthew Woehlke.
55272
55273 2006-11-09  Bruno Haible  <bruno@clisp.org>
55274
55275         * lib/tempname.c (gen_tempname): Remove variant that invokes
55276         __gen_tempname.
55277         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
55278         __gen_tempname.
55279
55280 2006-11-08  Bruno Haible  <bruno@clisp.org>
55281
55282         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
55283         to 'yes' instead of 'cross-compiling'.
55284
55285 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
55286
55287         * lib/quotearg.h (quotearg_free): New decl.
55288         * lib/quotearg.c (quotearg_free): New function.
55289         (slot0, nslots, slotvec0, slotvec):
55290         Now file-scope so that quotearg_free can get at them.
55291
55292 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55293
55294         Sync from Automake.
55295         * build-aux/gnupload: Add missing 'gnu' to example URL.
55296         Report by Karl Berry.
55297
55298 2006-11-08  Bruno Haible  <bruno@clisp.org>
55299
55300         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
55301         Suggested by Paul Eggert.
55302
55303 2006-11-08  Jim Meyering  <jim@meyering.net>
55304
55305         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
55306         It's already included if !_LIBC.
55307         (fts_safe_changedir): Add a comment.
55308
55309 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55310
55311         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
55312         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
55313         Matthew Woehlke.
55314
55315         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
55316         definitions up, to avoid colliding with change below.
55317         (static_inline) [HAVE_INLINE]: New macro.
55318         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
55319         Provide extern decls when !HAVE_INLINE.  Do not define unless
55320         static_inline is defined, either by us or by xmalloc.c.  Use
55321         static_inline rather than static inline.
55322         (XCALLOC): Optimize sizeof(T) = 1 case.
55323         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
55324
55325 2006-11-07  Bruno Haible  <bruno@clisp.org>
55326
55327         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
55328         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
55329         AC_C_INLINE.
55330         * modules/xalloc (Files): Add m4/inline.m4.
55331
55332 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55333
55334         * README: Fix typo.
55335         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
55336         (Miscellanous Notes): ...from this.
55337
55338 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
55339
55340         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
55341         Mention that offsetof should be used instead of sizeof.
55342         From Bruno Haible.
55343
55344 2006-11-07  Bruno Haible  <bruno@clisp.org>
55345
55346         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
55347
55348 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55349
55350         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55351         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
55352         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55353         (gl_tree_add_before, gl_tree_add_after):
55354         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
55355         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
55356         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
55357         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
55358         (gl_linked_add_after, gl_linked_add_at): Likewise.
55359         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
55360         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
55361         (gl_tree_add_before, gl_tree_add_after): Likewise.
55362         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
55363         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
55364         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
55365
55366 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55367
55368         * lib/gl_oset.h: Use C comment style, not C++ comment style.
55369
55370 2006-11-06  Bruno Haible  <bruno@clisp.org>
55371
55372         * m4/inline.m4: New file.
55373         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
55374         * modules/list (Files): Add m4/inline.m4.
55375         * modules/oset (Files): Likewise.
55376
55377 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
55378
55379         * lib/idcache.c: Include <stddef.h>, for offsetof.
55380         (struct userid.name): Change from char * to a flexible array member.
55381         All uses changed.
55382         * modules/idcache (Depends-on): Add flexmember.
55383
55384         * MODULES.html.sh (Core language properties): New module flexmember.
55385         * modules/flexmember, m4/flexmember.m4: New files.
55386
55387         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
55388         inline functions that are identical with the old xnmalloc_inline,
55389         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
55390         that we can avoid some unnecessary integer multiplications and
55391         divisions in the common case where the element size is known at
55392         compile time.
55393         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
55394         needed.
55395         (xnboundedmalloc): Remove.
55396         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
55397         arguments, for consistency with rest of this header.
55398         (xcharalloc): Rewrite using XNMALLOC.
55399         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
55400         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
55401         versions have been moved to lib/xalloc.h and renamed to be the
55402         non-*_inline versions.
55403         (xmalloc, xrealloc): Implement without reference to the xnmalloc
55404         and xnrealloc functions, since those functions are now inline and
55405         now call us.
55406         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
55407         renaming described above.
55408         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
55409         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
55410         captures the dependency in AC_C_INLINE.
55411
55412         New module canonicalize-lgpl, proposed by Charles Wilson in
55413         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
55414         with a few small changes afterwards.
55415         * MODULES.html.sh (File system functions): New module
55416         canonicalize-lgpl.
55417         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
55418         and canonicalize_file_name.
55419         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
55420         * modules/canonicalize-lgpl: New files.
55421
55422 2006-11-05  Bruno Haible  <bruno@clisp.org>
55423
55424         * gnulib-tool (func_import, func_create_testdir): Create directories
55425         also for files in subdirectories of lib/.
55426
55427 2006-11-05  Bruno Haible  <bruno@clisp.org>
55428
55429         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
55430         ANSI C compliant.
55431
55432 2006-11-03  Bruno Haible  <bruno@clisp.org>
55433
55434         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
55435         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
55436         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
55437         (xnboundedmalloc): New inline function.
55438         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
55439         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
55440         xmalloc.
55441         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
55442         xmalloc.
55443         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
55444         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
55445         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
55446         xmalloc.
55447         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55448         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
55449         xmalloc.
55450         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
55451         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55452         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
55453         xmalloc.
55454         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
55455         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
55456         gl_tree_add_after): Use XMALLOC instead of xmalloc.
55457         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
55458         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
55459         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
55460         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
55461
55462 2006-11-03  Bruno Haible  <bruno@clisp.org>
55463
55464         * lib/c-ctype.h [C++]: Define functions without name mangling.
55465         * lib/fwriteerror.h [C++]: Likewise.
55466         * lib/gcd.h [C++]: Likewise.
55467         * lib/linebreak.h [C++]: Likewise.
55468
55469 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
55470
55471         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
55472         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
55473         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
55474         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
55475         Check for functions and headers just once.
55476         Check for declaration of canonicalize_file_name.
55477         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
55478
55479 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55480
55481         * gnulib-tool (func_import): Fix typo in actioncmd.
55482
55483 2006-11-02  Bruno Haible  <bruno@clisp.org>
55484
55485         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
55486         newline sequence in the Makefile.am snippet as a space, like "make"
55487         does.
55488         Reported by Roger Persson <perrog@gmail.com>.
55489
55490 2006-11-01  Bruno Haible  <bruno@clisp.org>
55491
55492         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
55493         already declared in <string.h>.
55494         * lib/strcase.h (strncasecmp): Don't declare it if yes.
55495
55496 2006-11-01  Bruno Haible  <bruno@clisp.org>
55497
55498         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
55499         * lib/strcase.h: Include <string.h>.
55500         (strcasecmp): Define to rpl_strcasecmp here.
55501
55502 2006-11-01  Bruno Haible  <bruno@clisp.org>
55503
55504         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
55505
55506 2006-11-01  Eric Blake  <ebb9@byu.net>
55507
55508         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
55509
55510         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
55511
55512 2006-10-29  Bruno Haible  <bruno@clisp.org>
55513
55514         Make it compile in C++ mode.
55515         * lib/full-write.c (full_rw): Add a cast.
55516
55517 2006-11-01  Bruno Haible  <bruno@clisp.org>
55518
55519         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
55520         be POSIX compliant.
55521         Reported by Roger Persson <perrog@gmail.com>.
55522
55523 2006-11-01  Eric Blake  <ebb9@byu.net>
55524
55525         * lib/getopt_.h: Fix comments.
55526
55527 2006-10-31  Eric Blake  <ebb9@byu.net>
55528
55529         * modules/tmpdir (Depends-on): Add sys_stat.
55530         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
55531         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
55532         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
55533         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
55534         tempname.
55535
55536 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
55537
55538         Avoid some C++ diagnostics reported by Bruno Haible.
55539         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
55540         xmalloc.
55541         (quotearg_alloc): Use xcharalloc rather than xmalloc.
55542         (struct slotvec): Move to top level.
55543         (quotearg_n_options): Rewrite to avoid xmalloc.
55544         * lib/xalloc.h (xcharalloc): New function.
55545         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
55546         [defined __cplusplus]: Add function template that provides result
55547         type propagation.  This part of the change is from Bruno Haible.
55548
55549 2006-10-29  Bruno Haible  <bruno@clisp.org>
55550
55551         Make it compile in C++ mode.
55552         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
55553         * lib/strnlen1.c (strnlen1): Cast memchr result.
55554         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
55555         * lib/clean-temp.c (string_equals, string_hash): Add casts.
55556         (create_temp_dir): Rename local variable 'template'.
55557         (compile_csharp_using_sscli): Add cast.
55558         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
55559         * lib/findprog.c (find_in_path): Likewise.
55560         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
55561         * lib/wait-process.c (register_slave_subprocess): Likewise.
55562
55563 2006-10-22  Bruno Haible  <bruno@clisp.org>
55564
55565         * modules/tsearch: New file.
55566         * lib/tsearch.h: New file.
55567         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
55568         * m4/tsearch.m4: New file.
55569         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
55570
55571 2006-10-29  Eric Blake  <ebb9@byu.net>
55572
55573         * lib/arcfour.c: Assume config.h.
55574         * lib/arctwo.c: Likewise.
55575         * lib/base64.c: Likewise.
55576         * lib/check-version.c: Likewise.
55577         * lib/crc.c: Likewise.
55578         * lib/des.c: Likewise.
55579         * lib/gc-gnulib.c: Likewise.
55580         * lib/gc-libgcrypt.c: Likewise.
55581         * lib/gc-pbkdf2-sha1.c: Likewise.
55582         * lib/getaddrinfo.c: Likewise.
55583         * lib/getdelim.c: Likewise.
55584         * lib/getline.c: Likewise.
55585         * lib/hmac-md5.c: Likewise.
55586         * lib/hmac-sha1.c: Likewise.
55587         * lib/iconvme.c: Likewise.
55588         * lib/md2.c: Likewise.
55589         * lib/md4.c: Likewise.
55590         * lib/memxor.c: Likewise.
55591         * lib/read-file.c: Likewise.
55592         * lib/readline.c: Likewise.
55593         * lib/rijndael-alg-fst.c: Likewise.
55594         * lib/rijndael-api-fst.c: Likewise.
55595         * lib/xgetdomainname.c: Likewise.
55596
55597 2006-10-28  Eric Blake  <ebb9@byu.net>
55598
55599         * lib/xstrndup.c: Assume config.h.
55600
55601 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
55602
55603         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
55604         stat-macros.h is now for our own macros, whereas stat_h is for
55605         macros in the <sys/stat.h> name space.
55606         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
55607         (STAT_MACROS_H): Remove.
55608         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
55609         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
55610         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
55611         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
55612         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
55613         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
55614         Move these macros to ...
55615         * lib/stat_.h: here.  Don't include stat-macros.h.
55616         * lib/canonicalize.c: Don't include stat-macros.h.
55617         * lib/chown.c: Likewise.
55618         * lib/euidaccess.c: Likewise.
55619         * lib/file-type.c: Likewise.
55620         * lib/filemode.c: Likewise.
55621         * lib/glob.c: Likewise.
55622         * lib/isapipe.c: Likewise.
55623         * lib/lchown.c: Likewise.
55624         * lib/lstat.c: Likewise.
55625         * lib/mkdir-p.c: Likewise.
55626         * lib/rmdir.c: Likewise.
55627         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
55628         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
55629         unless mkdir isn't declared, to speed up 'configure'.
55630         Always create sys/stat.h, since it's unlikely any real sys/stat.h
55631         would define all the S_* symbols.
55632         * modules/canonicalize (Depends-on):
55633         Depend on sys_stat, not stat-macros.
55634         * modules/chown: Likewise.
55635         * modules/euidaccess: Likewise.
55636         * modules/filemode: Likewise.
55637         * modules/file-type: Likewise.
55638         * modules/glob: Likewise.
55639         * modules/isapipe: Likewise.
55640         * modules/lchown: Likewise.
55641         * modules/lstat: Likewise.
55642         * modules/mkancesdirs: Likewise.
55643         * modules/rmdir: Likewise.
55644         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
55645         * modules/modechange: Likewise.
55646         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
55647         (configure.ac): Remove gl_STAT_MACROS.
55648         * modules/sys_stat (Depends-on): Remove stat-macros.
55649
55650 2006-10-27  Bruno Haible  <bruno@clisp.org>
55651
55652         * m4/signed.m4: Remove file.
55653         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
55654         invocation.
55655         * modules/vasnprintf (Files): Remove m4/signed.m4.
55656
55657 2006-10-27  Bruno Haible  <bruno@clisp.org>
55658
55659         Update to GNU gettext 0.16.
55660         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
55661         m4/inttypes-h.m4, m4/signed.m4.
55662         * m4/gettext.m4: Update to GNU gettext 0.16.
55663         * m4/intl.m4: New file, from GNU gettext.
55664         * m4/intldir.m4: New file, from GNU gettext.
55665         * config/srclist.txt: Update
55666
55667 2006-10-27  Eric Blake  <ebb9@byu.net>
55668
55669         * MODULES.html.sh: Document tempname.
55670         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
55671         dependencies.
55672         (Files): Move lib/tempname.c...
55673         * modules/tempname: ...to this new module.
55674         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
55675         (gl_PREREQ_TEMPNAME): Move...
55676         * m4/tempname.m4: ...to this new file.
55677         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
55678         * modules/sys_stat (Depends-on): Add stat-macros.
55679         * lib/stat_.h (includes): Pick up stat macros.
55680         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
55681         if stat macros are broken.
55682         * lib/tempname.c (includes): No need to include "stat-macros.h".
55683         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
55684         (direxists, __path_search) [!_LIBC]: Don't compile these in
55685         gnulib; the tmpdir module covers that.
55686         * lib/tempname.h: New file.
55687
55688 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
55689
55690         * COPYING: Explain how gnulib-tool converts licence headers.
55691         Almost all wording by Eric Blake.
55692
55693 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
55694
55695         * lib/mbchar.h (is_basic_table): Make read-only.
55696         * lib/mbchar.c (is_basic_table): Likewise.
55697         Reported by John Darrington.
55698
55699 2006-10-25  Bruno Haible  <bruno@clisp.org>
55700
55701         * lib/progname.h (set_program_name): Undefine before defining.
55702
55703 2006-10-25  Bruno Haible  <bruno@clisp.org>
55704
55705         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
55706         false for non-gcc C++ compilers.
55707         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
55708
55709 2006-10-24  Bruno Haible  <bruno@clisp.org>
55710
55711         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
55712         iconv implementations like Irix iconv.
55713
55714 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55715
55716         * modules/vararrays: New file.
55717         * m4/vararrays.m4: New file, taken from diffutils.
55718         * MODULES.html.sh: New module vararrays.
55719
55720 2006-10-24  Karl Berry  <karl@gnu.org>
55721
55722         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
55723         Don't call GNU Unix.
55724
55725 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55726
55727         * users.txt: Add Libtool.
55728
55729         Sync from Libtool:
55730
55731         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55732
55733         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
55734         to gnulib's policy of including config.h unconditionally.
55735
55736 2006-10-24  Bruno Haible  <bruno@clisp.org>
55737
55738         * modules/wcwidth (Files): Add m4/wint_t.m4.
55739         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
55740         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
55741
55742 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
55743
55744         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
55745         to pacify GCC with some -W flags enabled.  Problem reported by
55746         Bruno Haible.
55747
55748 2006-10-24  Jim Meyering  <jim@meyering.net>
55749
55750         * MODULES.html.sh: Remove uinttostr.  It's not a module.
55751         Reported by Karl Berry.
55752
55753 2006-10-23  Bruno Haible  <bruno@clisp.org>
55754
55755         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
55756
55757 2006-10-24  Bruno Haible  <bruno@clisp.org>
55758
55759         * lib/gl_list.h: Use C comment style, not C++ comment style.
55760
55761 2006-10-23  Eric Blake  <ebb9@byu.net>
55762
55763         * lib/getaddrinfo.c (includes): Add missing include.
55764
55765 2006-10-23  Bruno Haible  <bruno@clisp.org>
55766             Paul Eggert  <eggert@cs.ucla.edu>
55767
55768         Ability to rename obstack_free.
55769         * lib/obstack.h (__obstack_free): New macro. Declare instead of
55770         obstack_free.
55771         (obstack_free): Invoke the __obstack_free macro.
55772         * lib/obstack.c (obstack_free): Use __obstack_free macro.
55773
55774 2006-10-23  Bruno Haible  <bruno@clisp.org>
55775             Paul Eggert  <eggert@cs.ucla.edu>
55776
55777         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
55778         __argc, __argv from the declaration. (They are defined as macros on
55779         mingw.)
55780
55781 2006-10-22  Bruno Haible  <bruno@clisp.org>
55782
55783         * doc/gnulib-intro.texi: New file.
55784         * doc/gnulib.texi: Include it.
55785
55786 2006-10-21  Bruno Haible  <bruno@clisp.org>
55787
55788         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
55789         "Introduction", "Miscellanous Notes", "Particular Modules".
55790
55791 2006-10-21  Bruno Haible  <bruno@clisp.org>
55792
55793         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
55794         Change mostlyclean-local rule to avoid sh syntax error from bash
55795         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
55796
55797 2006-10-23  Jim Meyering  <jim@meyering.net>
55798
55799         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
55800         in place of snprintf.
55801
55802         * modules/inttostr (Files): Add lib/uinttostr.c.
55803         * lib/uinttostr.c (inttostr): New file/function.
55804         * lib/inttostr.h (uinttostr): Declare.
55805         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
55806         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
55807         Add uinttostr.
55808         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
55809
55810 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55811
55812         * lib/canonicalize.c (ELOOP): Define if not already defined.
55813         Problem reported by Bruno Haible in
55814         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
55815
55816 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
55817
55818         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
55819         Problem reported by Perry Smith and Ville Laurikari.
55820
55821         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
55822         uses.
55823
55824 2006-10-19  Bruno Haible  <bruno@clisp.org>
55825
55826         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
55827         for mingw.
55828
55829 2006-10-19  Bruno Haible  <bruno@clisp.org>
55830
55831         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
55832         Needed for mingw.
55833
55834 2006-10-19  Bruno Haible  <bruno@clisp.org>
55835
55836         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
55837
55838 2006-10-19  Bruno Haible  <bruno@clisp.org>
55839
55840         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
55841         it.
55842
55843 2006-10-19  Bruno Haible  <bruno@clisp.org>
55844
55845         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
55846         invocation.
55847
55848 2006-10-19  Bruno Haible  <bruno@clisp.org>
55849
55850         * gnulib-tool (func_create_testdir): Don't include ftruncate and
55851         mountlist by default.
55852
55853 2006-10-16  Bruno Haible  <bruno@clisp.org>
55854
55855         * lib/c-strstr.c: Include c-strstr.h.
55856
55857 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
55858
55859         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
55860         in a slash.
55861
55862 2006-10-18  Bruno Haible  <bruno@clisp.org>
55863
55864         * lib/lock.h [C++]: Wrap definitions in extern "C".
55865
55866 2006-10-18  Bruno Haible  <bruno@clisp.org>
55867
55868         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
55869         gl_LIBOBJS list.
55870
55871 2006-10-18  Bruno Haible  <bruno@clisp.org>
55872
55873         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
55874
55875 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
55876
55877         * lib/xstrtol.h: Include gettext.h.
55878         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
55879         Problem reported by Eric Blake.
55880         * modules/xstrtol (Depends-on): Add gettext-h.
55881
55882 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
55883
55884         * lib/strftime.c (advance): New macro.
55885         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
55886         incomplete type, so you can't add 0 to it.  Problem and patch
55887         reported by Eelco Dolstra for dietlibc.
55888
55889 2006-10-18  Jim Meyering  <jim@meyering.net>
55890
55891         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
55892         type for a local, and rename it: s/up/user_proc/.
55893
55894 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
55895
55896         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
55897         READ_UTMP_USER_PROCESS.
55898         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
55899
55900 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
55901
55902         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
55903         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
55904
55905 2006-10-17  Eric Blake  <ebb9@byu.net>
55906
55907         * lib/sigprocmask.c (sigprocmask): Fix typo.
55908
55909         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
55910
55911         * modules/clean-temp (Makefile.am): Don't add to make output...
55912         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
55913         config.h.
55914
55915 2006-10-17  Bruno Haible  <bruno@clisp.org>
55916
55917         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
55918         differently if DEFAULT_TEXT_DOMAIN is set.
55919
55920 2006-10-16  Bruno Haible  <bruno@clisp.org>
55921
55922         * lib/clean-temp.c: Include fwriteerror.h.
55923
55924 2006-10-16  Bruno Haible  <bruno@clisp.org>
55925
55926         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
55927
55928 2006-10-16  Bruno Haible  <bruno@clisp.org>
55929
55930         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
55931         * lib/sigprocmask.h: Include <sys/types.h>.
55932         (sigset_t): Use the system's definition if present.
55933
55934 2006-10-17  Eric Blake  <ebb9@byu.net>
55935
55936         * lib/xvasprintf.c (includes): Assume config.h.
55937         * lib/xasprintf.c (includes): Likewise.
55938
55939 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55940
55941         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
55942         at least as wide as intmax_t.
55943
55944 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
55945
55946         (Imported from Automake.)
55947         * build-aux/gnupload: Update to version 1.1 of directive file.
55948
55949 2006-10-16  Eric Blake  <ebb9@byu.net>
55950
55951         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
55952         match Automake 1.10a.
55953
55954 2006-10-14  Bruno Haible  <bruno@clisp.org>
55955
55956         * modules/sigprocmask: New file.
55957         * lib/sigprocmask.h: New file.
55958         * lib/sigprocmask.c: New file.
55959         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
55960         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
55961         request sigprocmask.o.
55962         (gl_PREREQ_SIGPROCMASK): New macro.
55963         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
55964         (Depends-on): Add sigprocmask.
55965         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
55966         gt_SIGNALBLOCKING. Test for 'raise' only once.
55967         * lib/fatal-signal.c: Include sigprocmask.h.
55968         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
55969         unblock_fatal_signals): Define always.
55970         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55971         sigprocmask.
55972
55973 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55974
55975         Sync from Automake.
55976         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
55977         which incorrectly sets the mode of an existing destination
55978         directory.  In some cases the unpatched install-sh could do the
55979         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
55980         system.  We hope this is rare in practice, but it's clearly worth
55981         fixing.  Problem reported by Alex Unleashed in
55982         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
55983         Also, don't bother to check for -m bugs unless we're using -m;
55984         suggested by Stepan Kasal.
55985
55986 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55987
55988         Sync from Automake.
55989         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
55990         `-c' flag, so they appear at the same position as in %FASTDEP%
55991         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
55992         which ignores unknown options only after the first non-option.
55993         Bug report against M4 by Nelson H. F. Beebe.
55994
55995 2006-10-13  Jim Meyering  <jim@meyering.net>
55996
55997         Fix a bug in yesterday's change.
55998         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
55999         p->fts_statp->st_dev would be used uninitialized.
56000         Ensures that we always call fts_stat on the very first entry.
56001         Miklos Szeredi reported that find -xdev stopped working.
56002
56003 2006-10-12  Bruno Haible  <bruno@clisp.org>
56004
56005         * gnulib-tool (func_get_automake_snippet): Append an automatically
56006         computed EXTRA_DIST augmentation.
56007         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
56008         * modules/alloca-opt (Makefile.am): Likewise.
56009         * modules/allocsa (Makefile.am): Likewise.
56010         * modules/arcfour (Makefile.am): Likewise.
56011         * modules/arctwo (Makefile.am): Likewise.
56012         * modules/argmatch (Makefile.am): Likewise.
56013         * modules/argz (Makefile.am): Likewise.
56014         * modules/atexit (Makefile.am): Likewise.
56015         * modules/backupfile (Makefile.am): Likewise.
56016         * modules/byteswap (Makefile.am): Likewise.
56017         * modules/c-strtod (Makefile.am): Likewise.
56018         * modules/c-strtold (Makefile.am): Likewise.
56019         * modules/calloc (Makefile.am): Likewise.
56020         * modules/canon-host (Makefile.am): Likewise.
56021         * modules/canonicalize (Makefile.am): Likewise.
56022         * modules/chdir-long (Makefile.am): Likewise.
56023         * modules/chdir-safer (Makefile.am): Likewise.
56024         * modules/check-version (Makefile.am): Likewise.
56025         * modules/chown (Makefile.am): Likewise.
56026         * modules/cloexec (Makefile.am): Likewise.
56027         * modules/close-stream (Makefile.am): Likewise.
56028         * modules/closeout (Makefile.am): Likewise.
56029         * modules/crc (Makefile.am): Likewise.
56030         * modules/csharpexec (Makefile.am): Likewise.
56031         * modules/cycle-check (Makefile.am): Likewise.
56032         * modules/des (Makefile.am): Likewise.
56033         * modules/dev-ino (Makefile.am): Likewise.
56034         * modules/dirfd (Makefile.am): Likewise.
56035         * modules/dirname (Makefile.am): Likewise.
56036         * modules/dup2 (Makefile.am): Likewise.
56037         * modules/eealloc (Makefile.am): Likewise.
56038         * modules/error (Makefile.am): Likewise.
56039         * modules/euidaccess (Makefile.am): Likewise.
56040         * modules/exclude (Makefile.am): Likewise.
56041         * modules/exitfail (Makefile.am): Likewise.
56042         * modules/fcntl-safer (Makefile.am): Likewise.
56043         * modules/fcntl (Makefile.am): Likewise.
56044         * modules/file-type (Makefile.am): Likewise.
56045         * modules/fileblocks (Makefile.am): Likewise.
56046         * modules/filemode (Makefile.am): Likewise.
56047         * modules/filenamecat (Makefile.am): Likewise.
56048         * modules/fnmatch (Makefile.am): Likewise.
56049         * modules/fopen-safer (Makefile.am): Likewise.
56050         * modules/fpending (Makefile.am): Likewise.
56051         * modules/fprintftime (Makefile.am): Likewise.
56052         * modules/free (Makefile.am): Likewise.
56053         * modules/fsusage (Makefile.am): Likewise.
56054         * modules/ftruncate (Makefile.am): Likewise.
56055         * modules/fts (Makefile.am): Likewise.
56056         * modules/gc-arcfour (Makefile.am): Likewise.
56057         * modules/gc-des (Makefile.am): Likewise.
56058         * modules/gc-hmac-md5 (Makefile.am): Likewise.
56059         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
56060         * modules/gc-md4 (Makefile.am): Likewise.
56061         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56062         * modules/gc-sha1 (Makefile.am): Likewise.
56063         * modules/gc (Makefile.am): Likewise.
56064         * modules/getaddrinfo (Makefile.am): Likewise.
56065         * modules/getcwd (Makefile.am): Likewise.
56066         * modules/getdelim (Makefile.am): Likewise.
56067         * modules/getdomainname (Makefile.am): Likewise.
56068         * modules/getgroups (Makefile.am): Likewise.
56069         * modules/gethostname (Makefile.am): Likewise.
56070         * modules/gethrxtime (Makefile.am): Likewise.
56071         * modules/getline (Makefile.am): Likewise.
56072         * modules/getloadavg (Makefile.am): Likewise.
56073         * modules/getlogin_r (Makefile.am): Likewise.
56074         * modules/getndelim2 (Makefile.am): Likewise.
56075         * modules/getopt (Makefile.am): Likewise.
56076         * modules/getpagesize (Makefile.am): Likewise.
56077         * modules/getpass-gnu (Makefile.am): Likewise.
56078         * modules/getpass (Makefile.am): Likewise.
56079         * modules/getsubopt (Makefile.am): Likewise.
56080         * modules/gettime (Makefile.am): Likewise.
56081         * modules/gettimeofday (Makefile.am): Likewise.
56082         * modules/getugroups (Makefile.am): Likewise.
56083         * modules/getusershell (Makefile.am): Likewise.
56084         * modules/glob (Makefile.am): Likewise.
56085         * modules/group-member (Makefile.am): Likewise.
56086         * modules/hard-locale (Makefile.am): Likewise.
56087         * modules/hash (Makefile.am): Likewise.
56088         * modules/hmac-md5 (Makefile.am): Likewise.
56089         * modules/hmac-sha1 (Makefile.am): Likewise.
56090         * modules/human (Makefile.am): Likewise.
56091         * modules/idcache (Makefile.am): Likewise.
56092         * modules/imaxabs (Makefile.am): Likewise.
56093         * modules/imaxdiv (Makefile.am): Likewise.
56094         * modules/inet_ntop (Makefile.am): Likewise.
56095         * modules/inet_pton (Makefile.am): Likewise.
56096         * modules/intprops (Makefile.am): Likewise.
56097         * modules/inttostr (Makefile.am): Likewise.
56098         * modules/inttypes (Makefile.am): Likewise.
56099         * modules/isapipe (Makefile.am): Likewise.
56100         * modules/javaversion (Makefile.am): Likewise.
56101         * modules/lchmod (Makefile.am): Likewise.
56102         * modules/lchown (Makefile.am): Likewise.
56103         * modules/localcharset (Makefile.am): Likewise.
56104         * modules/long-options (Makefile.am): Likewise.
56105         * modules/lstat (Makefile.am): Likewise.
56106         * modules/malloc (Makefile.am): Likewise.
56107         * modules/mathl (Makefile.am): Likewise.
56108         * modules/mbchar (Makefile.am): Likewise.
56109         * modules/md2 (Makefile.am): Likewise.
56110         * modules/md4 (Makefile.am): Likewise.
56111         * modules/md5 (Makefile.am): Likewise.
56112         * modules/memcasecmp (Makefile.am): Likewise.
56113         * modules/memchr (Makefile.am): Likewise.
56114         * modules/memcmp (Makefile.am): Likewise.
56115         * modules/memcoll (Makefile.am): Likewise.
56116         * modules/memcpy (Makefile.am): Likewise.
56117         * modules/memmem (Makefile.am): Likewise.
56118         * modules/memmove (Makefile.am): Likewise.
56119         * modules/mempcpy (Makefile.am): Likewise.
56120         * modules/memrchr (Makefile.am): Likewise.
56121         * modules/memset (Makefile.am): Likewise.
56122         * modules/memxor (Makefile.am): Likewise.
56123         * modules/mkancesdirs (Makefile.am): Likewise.
56124         * modules/mkdir-p (Makefile.am): Likewise.
56125         * modules/mkdir (Makefile.am): Likewise.
56126         * modules/mkdtemp (Makefile.am): Likewise.
56127         * modules/mkstemp (Makefile.am): Likewise.
56128         * modules/mktime (Makefile.am): Likewise.
56129         * modules/modechange (Makefile.am): Likewise.
56130         * modules/mountlist (Makefile.am): Likewise.
56131         * modules/nanosleep (Makefile.am): Likewise.
56132         * modules/obstack (Makefile.am): Likewise.
56133         * modules/openat (Makefile.am): Likewise.
56134         * modules/pagealign_alloc (Makefile.am): Likewise.
56135         * modules/pathmax (Makefile.am): Likewise.
56136         * modules/physmem (Makefile.am): Likewise.
56137         * modules/poll (Makefile.am): Likewise.
56138         * modules/posixtm (Makefile.am): Likewise.
56139         * modules/posixver (Makefile.am): Likewise.
56140         * modules/putenv (Makefile.am): Likewise.
56141         * modules/quote (Makefile.am): Likewise.
56142         * modules/quotearg (Makefile.am): Likewise.
56143         * modules/raise (Makefile.am): Likewise.
56144         * modules/read-file (Makefile.am): Likewise.
56145         * modules/readline (Makefile.am): Likewise.
56146         * modules/readlink (Makefile.am): Likewise.
56147         * modules/readtokens (Makefile.am): Likewise.
56148         * modules/readutmp (Makefile.am): Likewise.
56149         * modules/realloc (Makefile.am): Likewise.
56150         * modules/regex (Makefile.am): Likewise.
56151         * modules/rename-dest-slash (Makefile.am): Likewise.
56152         * modules/rename (Makefile.am): Likewise.
56153         * modules/rijndael (Makefile.am): Likewise.
56154         * modules/rmdir (Makefile.am): Likewise.
56155         * modules/rpmatch (Makefile.am): Likewise.
56156         * modules/safe-read (Makefile.am): Likewise.
56157         * modules/safe-write (Makefile.am): Likewise.
56158         * modules/same-inode (Makefile.am): Likewise.
56159         * modules/same (Makefile.am): Likewise.
56160         * modules/save-cwd (Makefile.am): Likewise.
56161         * modules/savedir (Makefile.am): Likewise.
56162         * modules/setenv (Makefile.am): Likewise.
56163         * modules/settime (Makefile.am): Likewise.
56164         * modules/sha1 (Makefile.am): Likewise.
56165         * modules/sig2str (Makefile.am): Likewise.
56166         * modules/snprintf (Makefile.am): Likewise.
56167         * modules/stat-macros (Makefile.am): Likewise.
56168         * modules/stat-time (Makefile.am): Likewise.
56169         * modules/stdbool (Makefile.am): Likewise.
56170         * modules/stdint (Makefile.am): Likewise.
56171         * modules/stdlib-safer (Makefile.am): Likewise.
56172         * modules/stpcpy (Makefile.am): Likewise.
56173         * modules/stpncpy (Makefile.am): Likewise.
56174         * modules/strcase (Makefile.am): Likewise.
56175         * modules/strcasestr (Makefile.am): Likewise.
56176         * modules/strchrnul (Makefile.am): Likewise.
56177         * modules/strcspn (Makefile.am): Likewise.
56178         * modules/strdup (Makefile.am): Likewise.
56179         * modules/strerror (Makefile.am): Likewise.
56180         * modules/strftime (Makefile.am): Likewise.
56181         * modules/strndup (Makefile.am): Likewise.
56182         * modules/strnlen (Makefile.am): Likewise.
56183         * modules/strpbrk (Makefile.am): Likewise.
56184         * modules/strsep (Makefile.am): Likewise.
56185         * modules/strstr (Makefile.am): Likewise.
56186         * modules/strtod (Makefile.am): Likewise.
56187         * modules/strtoimax (Makefile.am): Likewise.
56188         * modules/strtok_r (Makefile.am): Likewise.
56189         * modules/strtol (Makefile.am): Likewise.
56190         * modules/strtoll (Makefile.am): Likewise.
56191         * modules/strtoul (Makefile.am): Likewise.
56192         * modules/strtoull (Makefile.am): Likewise.
56193         * modules/strtoumax (Makefile.am): Likewise.
56194         * modules/strverscmp (Makefile.am): Likewise.
56195         * modules/sys_socket (Makefile.am): Likewise.
56196         * modules/sys_stat (Makefile.am): Likewise.
56197         * modules/sysexits (Makefile.am): Likewise.
56198         * modules/time_r (Makefile.am): Likewise.
56199         * modules/timegm (Makefile.am): Likewise.
56200         * modules/timespec (Makefile.am): Likewise.
56201         * modules/tmpfile-safer (Makefile.am): Likewise.
56202         * modules/trim (Makefile.am): Likewise.
56203         * modules/unistd-safer (Makefile.am): Likewise.
56204         * modules/unlinkdir (Makefile.am): Likewise.
56205         * modules/unlocked-io (Makefile.am): Likewise.
56206         * modules/userspec (Makefile.am): Likewise.
56207         * modules/utime (Makefile.am): Likewise.
56208         * modules/utimecmp (Makefile.am): Likewise.
56209         * modules/utimens (Makefile.am): Likewise.
56210         * modules/vasnprintf (Makefile.am): Likewise.
56211         * modules/vasprintf (Makefile.am): Likewise.
56212         * modules/vsnprintf (Makefile.am): Likewise.
56213         * modules/xalloc (Makefile.am): Likewise.
56214         * modules/xgetcwd (Makefile.am): Likewise.
56215         * modules/xnanosleep (Makefile.am): Likewise.
56216         * modules/xreadlink (Makefile.am): Likewise.
56217         * modules/xstrtod (Makefile.am): Likewise.
56218         * modules/xstrtol (Makefile.am): Likewise.
56219         * modules/xstrtold (Makefile.am): Likewise.
56220         * modules/yesno (Makefile.am): Likewise.
56221         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
56222
56223 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56224
56225         * modules/error (Makefile.am): Distribute files through
56226         EXTRA_DIST, not lib_SOURCES.
56227
56228 2006-10-12  Eric Blake  <ebb9@byu.net>
56229
56230         * modules/error (Makefile.am): Distribute files in /lib.
56231         * modules/obstack (Makefile.am): Likewise.
56232
56233 2006-10-12  Bruno Haible  <bruno@clisp.org>
56234
56235         * modules/acl (Makefile.am): Distribute all files in lib/ through
56236         EXTRA_DIST.
56237         * modules/arcfour (Makefile.am): Likewise.
56238         * modules/arctwo (Makefile.am): Likewise.
56239         * modules/argmatch (Makefile.am): Likewise.
56240         * modules/argz (Makefile.am): Likewise.
56241         * modules/atexit (Makefile.am): Likewise.
56242         * modules/backupfile (Makefile.am): Likewise.
56243         * modules/c-strtod (Makefile.am): Likewise.
56244         * modules/c-strtold (Makefile.am): Likewise.
56245         * modules/calloc (Makefile.am): Likewise.
56246         * modules/canon-host (Makefile.am): Likewise.
56247         * modules/canonicalize (Makefile.am): Likewise.
56248         * modules/chdir-long (Makefile.am): Likewise.
56249         * modules/chdir-safer (Makefile.am): Likewise.
56250         * modules/check-version (Makefile.am): Likewise.
56251         * modules/chown (Makefile.am): Likewise.
56252         * modules/cloexec (Makefile.am): Likewise.
56253         * modules/close-stream (Makefile.am): Likewise.
56254         * modules/closeout (Makefile.am): Likewise.
56255         * modules/crc (Makefile.am): Likewise.
56256         * modules/cycle-check (Makefile.am): Likewise.
56257         * modules/des (Makefile.am): Likewise.
56258         * modules/dirfd (Makefile.am): Likewise.
56259         * modules/dirname (Makefile.am): Likewise.
56260         * modules/dup2 (Makefile.am): Likewise.
56261         * modules/euidaccess (Makefile.am): Likewise.
56262         * modules/exclude (Makefile.am): Likewise.
56263         * modules/exitfail (Makefile.am): Likewise.
56264         * modules/fcntl-safer (Makefile.am): Likewise.
56265         * modules/file-type (Makefile.am): Likewise.
56266         * modules/fileblocks (Makefile.am): Likewise.
56267         * modules/filemode (Makefile.am): Likewise.
56268         * modules/filenamecat (Makefile.am): Likewise.
56269         * modules/fnmatch (Makefile.am): Likewise.
56270         * modules/fopen-safer (Makefile.am): Likewise.
56271         * modules/fpending (Makefile.am): Likewise.
56272         * modules/fprintftime (Makefile.am): Likewise.
56273         * modules/free (Makefile.am): Likewise.
56274         * modules/fsusage (Makefile.am): Likewise.
56275         * modules/ftruncate (Makefile.am): Likewise.
56276         * modules/fts (Makefile.am): Likewise.
56277         * modules/gc (Makefile.am): Likewise.
56278         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
56279         * modules/getaddrinfo (Makefile.am): Likewise.
56280         * modules/getcwd (Makefile.am): Likewise.
56281         * modules/getdelim (Makefile.am): Likewise.
56282         * modules/getdomainname (Makefile.am): Likewise.
56283         * modules/getgroups (Makefile.am): Likewise.
56284         * modules/gethostname (Makefile.am): Likewise.
56285         * modules/gethrxtime (Makefile.am): Likewise.
56286         * modules/getline (Makefile.am): Likewise.
56287         * modules/getloadavg (Makefile.am): Likewise.
56288         * modules/getlogin_r (Makefile.am): Likewise.
56289         * modules/getopt (Makefile.am): Likewise.
56290         * modules/getpass (Makefile.am): Likewise.
56291         * modules/getpass-gnu (Makefile.am): Likewise.
56292         * modules/getsubopt (Makefile.am): Likewise.
56293         * modules/gettime (Makefile.am): Likewise.
56294         * modules/gettimeofday (Makefile.am): Likewise.
56295         * modules/getugroups (Makefile.am): Likewise.
56296         * modules/getusershell (Makefile.am): Likewise.
56297         * modules/glob (Makefile.am): Likewise.
56298         * modules/group-member (Makefile.am): Likewise.
56299         * modules/hard-locale (Makefile.am): Likewise.
56300         * modules/hash (Makefile.am): Likewise.
56301         * modules/hmac-md5 (Makefile.am): Likewise.
56302         * modules/hmac-sha1 (Makefile.am): Likewise.
56303         * modules/human (Makefile.am): Likewise.
56304         * modules/idcache (Makefile.am): Likewise.
56305         * modules/imaxabs (Makefile.am): Likewise.
56306         * modules/imaxdiv (Makefile.am): Likewise.
56307         * modules/inet_ntop (Makefile.am): Likewise.
56308         * modules/inet_pton (Makefile.am): Likewise.
56309         * modules/inttostr (Makefile.am): Likewise.
56310         * modules/isapipe (Makefile.am): Likewise.
56311         * modules/lchown (Makefile.am): Likewise.
56312         * modules/long-options (Makefile.am): Likewise.
56313         * modules/lstat (Makefile.am): Likewise.
56314         * modules/malloc (Makefile.am): Likewise.
56315         * modules/mathl (Makefile.am): Likewise.
56316         * modules/mbchar (Makefile.am): Likewise.
56317         * modules/md2 (Makefile.am): Likewise.
56318         * modules/md4 (Makefile.am): Likewise.
56319         * modules/md5 (Makefile.am): Likewise.
56320         * modules/memcasecmp (Makefile.am): Likewise.
56321         * modules/memchr (Makefile.am): Likewise.
56322         * modules/memcmp (Makefile.am): Likewise.
56323         * modules/memcoll (Makefile.am): Likewise.
56324         * modules/memcpy (Makefile.am): Likewise.
56325         * modules/memmem (Makefile.am): Likewise.
56326         * modules/memmove (Makefile.am): Likewise.
56327         * modules/mempcpy (Makefile.am): Likewise.
56328         * modules/memrchr (Makefile.am): Likewise.
56329         * modules/memset (Makefile.am): Likewise.
56330         * modules/memxor (Makefile.am): Likewise.
56331         * modules/mkancesdirs (Makefile.am): Likewise.
56332         * modules/mkdir (Makefile.am): Likewise.
56333         * modules/mkdir-p (Makefile.am): Likewise.
56334         * modules/mkdtemp (Makefile.am): Likewise.
56335         * modules/mkstemp (Makefile.am): Likewise.
56336         * modules/mktime (Makefile.am): Likewise.
56337         * modules/modechange (Makefile.am): Likewise.
56338         * modules/mountlist (Makefile.am): Likewise.
56339         * modules/nanosleep (Makefile.am): Likewise.
56340         * modules/openat (Makefile.am): Likewise.
56341         * modules/pagealign_alloc (Makefile.am): Likewise.
56342         * modules/physmem (Makefile.am): Likewise.
56343         * modules/poll (Makefile.am): Likewise.
56344         * modules/posixtm (Makefile.am): Likewise.
56345         * modules/posixver (Makefile.am): Likewise.
56346         * modules/putenv (Makefile.am): Likewise.
56347         * modules/quote (Makefile.am): Likewise.
56348         * modules/quotearg (Makefile.am): Likewise.
56349         * modules/raise (Makefile.am): Likewise.
56350         * modules/read-file (Makefile.am): Likewise.
56351         * modules/readline (Makefile.am): Likewise.
56352         * modules/readlink (Makefile.am): Likewise.
56353         * modules/readtokens (Makefile.am): Likewise.
56354         * modules/readutmp (Makefile.am): Likewise.
56355         * modules/realloc (Makefile.am): Likewise.
56356         * modules/regex (Makefile.am): Likewise.
56357         * modules/rename (Makefile.am): Likewise.
56358         * modules/rename-dest-slash (Makefile.am): Likewise.
56359         * modules/rijndael (Makefile.am): Likewise.
56360         * modules/rmdir (Makefile.am): Likewise.
56361         * modules/rpmatch (Makefile.am): Likewise.
56362         * modules/safe-read (Makefile.am): Likewise.
56363         * modules/safe-write (Makefile.am): Likewise.
56364         * modules/same (Makefile.am): Likewise.
56365         * modules/save-cwd (Makefile.am): Likewise.
56366         * modules/savedir (Makefile.am): Likewise.
56367         * modules/setenv (Makefile.am): Likewise.
56368         * modules/settime (Makefile.am): Likewise.
56369         * modules/sha1 (Makefile.am): Likewise.
56370         * modules/sig2str (Makefile.am): Likewise.
56371         * modules/snprintf (Makefile.am): Likewise.
56372         * modules/stdlib-safer (Makefile.am): Likewise.
56373         * modules/stpcpy (Makefile.am): Likewise.
56374         * modules/stpncpy (Makefile.am): Likewise.
56375         * modules/strcase (Makefile.am): Likewise.
56376         * modules/strcasestr (Makefile.am): Likewise.
56377         * modules/strchrnul (Makefile.am): Likewise.
56378         * modules/strcspn (Makefile.am): Likewise.
56379         * modules/strdup (Makefile.am): Likewise.
56380         * modules/strerror (Makefile.am): Likewise.
56381         * modules/strftime (Makefile.am): Likewise.
56382         * modules/strndup (Makefile.am): Likewise.
56383         * modules/strnlen (Makefile.am): Likewise.
56384         * modules/strpbrk (Makefile.am): Likewise.
56385         * modules/strsep (Makefile.am): Likewise.
56386         * modules/strstr (Makefile.am): Likewise.
56387         * modules/strtod (Makefile.am): Likewise.
56388         * modules/strtoimax (Makefile.am): Likewise.
56389         * modules/strtok_r (Makefile.am): Likewise.
56390         * modules/strtol (Makefile.am): Likewise.
56391         * modules/strtoll (Makefile.am): Likewise.
56392         * modules/strtoul (Makefile.am): Likewise.
56393         * modules/strtoull (Makefile.am): Likewise.
56394         * modules/strtoumax (Makefile.am): Likewise.
56395         * modules/strverscmp (Makefile.am): Likewise.
56396         * modules/time_r (Makefile.am): Likewise.
56397         * modules/timegm (Makefile.am): Likewise.
56398         * modules/tmpfile-safer (Makefile.am): Likewise.
56399         * modules/unistd-safer (Makefile.am): Likewise.
56400         * modules/unlinkdir (Makefile.am): Likewise.
56401         * modules/userspec (Makefile.am): Likewise.
56402         * modules/utime (Makefile.am): Likewise.
56403         * modules/utimecmp (Makefile.am): Likewise.
56404         * modules/utimens (Makefile.am): Likewise.
56405         * modules/vasnprintf (Makefile.am): Likewise.
56406         * modules/vasprintf (Makefile.am): Likewise.
56407         * modules/vsnprintf (Makefile.am): Likewise.
56408         * modules/xalloc (Makefile.am): Likewise.
56409         * modules/xgetcwd (Makefile.am): Likewise.
56410         * modules/xnanosleep (Makefile.am): Likewise.
56411         * modules/xreadlink (Makefile.am): Likewise.
56412         * modules/xstrtod (Makefile.am): Likewise.
56413         * modules/xstrtol (Makefile.am): Likewise.
56414         * modules/xstrtold (Makefile.am): Likewise.
56415         * modules/yesno (Makefile.am): Likewise.
56416
56417 2006-10-12  Jim Meyering  <jim@meyering.net>
56418
56419         * m4/getloadavg.m4: Revert the change below.
56420
56421         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
56422         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
56423         fail with a symlink, which is what coreutils' ./bootstrap now
56424         creates by default.
56425
56426 2006-10-12  Bruno Haible  <bruno@clisp.org>
56427
56428         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
56429         mingw.
56430         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
56431         MSVC and mingw explicitly.
56432
56433 2006-10-11  Simon Josefsson  <jas@extundo.com>
56434             Bruno Haible  <bruno@clisp.org>
56435
56436         Add support for multiple gnulib-tool invocations in the scope of a
56437         single configure.ac file.
56438         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
56439         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
56440         with the same contents as the _LIBADD variable.
56441         (func_emit_initmacro_start, func_emit_initmacro_end,
56442         func_emit_initmacro_done): New functions.
56443         (func_import, func_create_testdir): Invoke them. Allow the identifiers
56444         gl_LIBOBJS and gl_LTLIBOBJS.
56445
56446 2006-10-11  Bruno Haible  <bruno@clisp.org>
56447
56448         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
56449         (func_create_testdir): Don't create po/Makefile.am, don't invoke
56450         autoreconf. Instead, invoke autopoint explicitly but move back the
56451         *.m4 files from gnulib.
56452
56453 2006-10-11  Bruno Haible  <bruno@clisp.org>
56454
56455         * gnulib-tool (func_usage): Make module names after --create-testdir
56456         optional.
56457         (func_create_testdir): If no module was specified, use nearly all
56458         modules.
56459
56460 2006-10-12  Jim Meyering  <jim@meyering.net>
56461
56462         Big performance improvement for fts-based tools that use FTS_NOSTAT.
56463         Avoid spurious inode-mismatch problems on non-POSIX file systems.
56464         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
56465         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
56466         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
56467         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
56468         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
56469         (fts_set_stat_required): New function.
56470         (fts_open): Defer the calls to fts_stat, if possible or requested.
56471         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
56472         into fts_stat itself.
56473         (fts_read): Perform any required (deferred) fts_stat call.
56474         (fts_build): Likewise, for the directory we're about to open and read.
56475         In the readdir loop, carefully decide whether each entry will require
56476         an eventual call to fts_stat, using dirent.d_type info if available.
56477         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
56478         a command line argument into this function.  Update all callers.
56479         Map a return value of FTS_DOT to FTS_D for a command line argument.
56480         * modules/fts (Depends-on): Add d-type.  Alphabetize.
56481         Thanks to Miklos Szeredi for his tenacity and for the initial
56482         bug report about "find" failing on a FUSE-based file system.
56483
56484         * lib/fts.c (fts_open): Use consistent indentation.
56485
56486 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
56487
56488         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
56489         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
56490         reported by Jim Meyering.  All uses of cache variables renamed
56491         to match Autoconf's.
56492         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
56493         the other one.
56494
56495         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
56496         Fix misspelling in diagnostic.
56497
56498 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56499
56500         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
56501         defined.  Problem reported by Matthew Woehlke.
56502
56503         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
56504         Add support for Tandem NonStop R series.
56505         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
56506         Use new macro.
56507
56508         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
56509         (has_trailing_slash): Omit size arg; all callers changed.
56510         Omit 'inline', since it doesn't help performance and we'd
56511         need to configure it.
56512         Don't count //, ///, etc. as having a trailing slash.
56513         As a side effect, this removes a C99ism reported by Matthew Woehlke.
56514         (rpl_rename_dest_slash): On failure, use rename's errno rather
56515         than (in some cases) an incorrect or junk errno.
56516         Simplify code by removing need to compute length; this does
56517         cause it to make two passes instead of one over the file name,
56518         but it's worth it.
56519
56520         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
56521         change, since Autoconf's version may no longer be appropriate now
56522         that we are using CVS Autoconf's version.  Add support for Tandem.
56523
56524 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
56525             Bruno Haible  <bruno@clisp.org>
56526
56527         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
56528         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
56529         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
56530         gl_AC_TYPE_LONG_LONG.
56531
56532         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
56533         instead of HAVE_LONG_LONG.
56534         * lib/printf-args.c (printf_fetchargs): Likewise.
56535         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
56536         * lib/vasnprintf.c (VASNPRINTF): Likewise.
56537         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
56538         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
56539         gl_AC_TYPE_LONG_LONG.
56540
56541 2006-10-11  Bruno Haible  <bruno@clisp.org>
56542
56543         * m4/longlong.m4: Add comments.
56544         * m4/ulonglong.m4: Likewise.
56545
56546 2006-10-10  Bruno Haible  <bruno@clisp.org>
56547
56548         Make it possible to #define stpcpy, strdup to aliases.
56549         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
56550         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
56551
56552 2006-10-10  Bruno Haible  <bruno@clisp.org>
56553
56554         Make it possible to #define gcd to an alias.
56555         * lib/gcd.c: Include config.h.
56556
56557 2006-10-10  Bruno Haible  <bruno@clisp.org>
56558
56559         Make it possible to #define c_isascii to an alias.
56560         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
56561         defined. Undefine the macros before defining them, to avoid gcc
56562         warnings.
56563         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
56564         define NO_C_CTYPE_MACROS early.
56565
56566 2006-10-10  Bruno Haible  <bruno@clisp.org>
56567
56568         Make it possible to #define set_program_name to an alias.
56569         * lib/progname.c: Don't undefine set_program_name; instead, undefine
56570         ENABLE_RELOCATABLE early.
56571
56572 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
56573
56574         Port to Tandem NSK OSS, which has 64-bit signed int but at most
56575         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
56576         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
56577         More generally, don't assume that 64-bit signed int is available
56578         if unsigned int is, and vice versa.
56579         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
56580         unsigned symbols, not on their signed counterparts.
56581         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
56582         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
56583         (UINT64_C, UINTMAX_C):
56584         Likewise.
56585         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
56586         unsigned counterparts.
56587         (Have_long_long, Unsigned): New macros.
56588         (Int): Renamed from INT.
56589         (strtoimax): Use the new macros.
56590         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
56591         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
56592         * modules/inttypes (inttypes.h): Substitute
56593         HAVE_UNSIGNED_LONG_LONG_INT.
56594         * modules/stdint (stdint.h): Likewise.
56595         (Files): Add m4/ulonglong.m4.
56596
56597 2006-10-10  Bruno Haible  <bruno@clisp.org>
56598
56599         Fix a gcc -Wshadow warning.
56600         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
56601         to 'bucket'.
56602         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
56603         gl_linked_indexof_from_to): Likewise.
56604         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
56605         Likewise.
56606         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
56607         Likewise.
56608         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
56609         Reported by Eric Blake.
56610
56611 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
56612
56613         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
56614         for NetBSD.  Problem reported by Bruno Haible.
56615
56616 2006-10-09  Jim Meyering  <jim@meyering.net>
56617
56618         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
56619         Patch from Bruno Haible.
56620
56621 2006-10-09  Jim Meyering  <jim@meyering.net>
56622
56623         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
56624         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
56625         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
56626
56627 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
56628
56629         Don't include <config.h> twice; this doesn't work in some cases,
56630         e.g., when config.h has "#define intmax_t long long int" and
56631         we include <config.h>, <inttypes.h>, <config.h> in that order.
56632         Problem reported by Matthew Woehlke in:
56633         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
56634         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
56635         * lib/fts-cycle.c: Don't include config.h.
56636         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
56637         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
56638         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
56639         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
56640         inttypes.h.
56641         * lib/xstrtoumax.c: Likewise.
56642         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
56643         __strtol and the like, so that this module is more like its siblings.
56644         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
56645         Remove; no longer needed now that we assume gnulib inttypes.h.
56646
56647 2006-10-08  Bruno Haible  <bruno@clisp.org>
56648
56649         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
56650         option.
56651
56652 2006-10-07  Jim Meyering  <jim@meyering.net>
56653
56654         * modules/inttypes (inttypes.h): Revert what seems to have been
56655         an inadvertent part of today's change: use "|", not "/" in the
56656         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
56657
56658 2006-10-07  Bruno Haible  <bruno@clisp.org>
56659
56660         * modules/sublist: New file.
56661
56662 2006-10-07  Bruno Haible  <bruno@clisp.org>
56663
56664         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
56665         * modules/argz (argz.h): Likewise.
56666         * modules/arpa_inet (arpa/inet.h): Likewise.
56667         * modules/byteswap (byteswap.h): Likewise.
56668         * modules/configmake (configmake.h): Likewise.
56669         * modules/fcntl (fcntl.h): Likewise.
56670         * modules/fnmatch (fnmatch.h): Likewise.
56671         * modules/getopt (getopt.h): Likewise.
56672         * modules/glob (glob.h): Likewise.
56673         * modules/inttypes (inttypes.h): Likewise.
56674         * modules/netinet_in (netinet/in.h): Likewise.
56675         * modules/poll (poll.h): Likewise.
56676         * modules/stdbool (stdbool.h): Likewise.
56677         * modules/stdint (stdint.h): Likewise.
56678         * modules/sys_select (sys/select.h): Likewise.
56679         * modules/sys_socket (sys/socket.h): Likewise.
56680         * modules/sys_stat (sys/stat.h): Likewise.
56681         * modules/sysexits (sysexits.h): Likewise.
56682         * modules/unistd (unistd.h): Likewise.
56683         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56684         Add a "DO NOT EDIT" comment to the generated file.
56685         (func_import): Likewise for gnulib-comp.m4.
56686
56687 2006-10-07  Bruno Haible  <bruno@clisp.org>
56688
56689         * lib/gl_sublist.h: New file.
56690         * lib/gl_sublist.c: New file.
56691
56692 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
56693
56694         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
56695         name (relative to the original working directory) and the file
56696         name component (relative to the temporary working directory).  All
56697         callers changed.
56698         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
56699         * lib/mkdir-p.c (make_dir_parents): Likewise.
56700         * lib/mkdir-p.h (make_dir_parents): Likewise.
56701
56702 2006-10-06  Eric Blake  <ebb9@byu.net>
56703
56704         Define several macros for use by the clean-temp module.
56705         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
56706         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
56707         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
56708
56709         * lib/clean-temp.h (close_stream_temp): New declaration.
56710         * lib/clean-temp.c (includes): Pull in headers according to what
56711         other modules are in use.
56712         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
56713
56714 2006-10-06  Bruno Haible  <bruno@clisp.org>
56715
56716         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
56717         instead of fopen, fwriteerror.
56718
56719 2006-10-06  Bruno Haible  <bruno@clisp.org>
56720
56721         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
56722         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
56723         int.
56724         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
56725         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
56726         Return an error indicator.
56727         Suggested by Eric Blake.
56728
56729 2006-10-06  Bruno Haible  <bruno@clisp.org>
56730
56731         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
56732         Reported by Eric Blake.
56733
56734 2006-10-06  Bruno Haible  <bruno@clisp.org>
56735
56736         * modules/closeout (Description): Mention stderr too.
56737
56738 2006-10-06  Bruno Haible  <bruno@clisp.org>
56739         and Paul Eggert  <eggert@cs.ucla.edu>
56740
56741         * lib/closeout.c (close_stdout): Also close stderr.
56742         * lib/closeout.h: Update comment.
56743
56744 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
56745
56746         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
56747         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
56748         * lib/dirchownmod.c: Include lchown.h.
56749         * lib/lchown.c: Don't include files that lchown.h now includes.
56750         Don't declare chown, since lchown.h now does that.
56751         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
56752         (lchown): Define to rpl_chown if lchown is declared but
56753         does not exist.  Declare using a prototype if lchown is not
56754         declared.  Add a copyright notice.
56755         * lib/mkstemp.h: Include <unistd.h>.
56756         * lib/openat.c: Include lchown.h.
56757
56758         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
56759         we now test for that separately.
56760         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
56761         rather than O_NOFOLLOW, when testing whether it's possible to
56762         avoid a race condition reliably.
56763         * lib/savewd.c (savewd_chdir): Likewise.
56764
56765         Remove macros that are no longer needed now that stdint.h is
56766         reliable.
56767         * lib/fsusage.c (UINTMAX_MAX): Remove.
56768         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
56769         * lib/utimecmp.c (SIZE_MAX): Remove.
56770
56771         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
56772
56773         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
56774         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
56775         O_NOATIME works.
56776
56777 2006-10-05  Bruno Haible  <bruno@clisp.org>
56778
56779         * lib/gl_list.h (gl_sortedlist_search_from_to,
56780         gl_sortedlist_indexof_from_to): New declarations.
56781         (gl_list_implementation): New fields sortedlist_search_from_to,
56782         sortedlist_indexof_from_to.
56783         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
56784         inline functions.
56785         * lib/gl_list.c (gl_sortedlist_search_from_to,
56786         gl_sortedlist_indexof_from_to): New functions.
56787         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
56788         function.
56789         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
56790         (gl_array_sortedlist_search_from_to): New function.
56791         (gl_array_list_implementation): Update.
56792         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
56793         function.
56794         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
56795         (gl_carray_sortedlist_search_from_to): New function.
56796         (gl_carray_list_implementation): Update.
56797         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
56798         gl_linked_sortedlist_indexof_from_to): New functions.
56799         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56800         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56801         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
56802         gl_tree_sortedlist_indexof_from_to): New functions.
56803         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56804         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56805         Update.
56806         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56807         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
56808         Update.
56809
56810 2006-10-05  Bruno Haible  <bruno@clisp.org>
56811
56812         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
56813         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
56814         (struct gl_list_implementation): Add fields search_from_to,
56815         indexof_from_to. Remove fields search, indexof.
56816         (gl_list_search): Use the search_from_to method.
56817         (gl_list_search_from, gl_list_search_from_to): New functions.
56818         (gl_list_indexof): Use the indexof_from_to method.
56819         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56820         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
56821         (gl_list_search_from, gl_list_search_from_to): New functions.
56822         (gl_list_indexof): Use the indexof_from_to method.
56823         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
56824         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
56825         gl_array_indexof. Add start_index, end_index arguments.
56826         (gl_array_search_from_to): Renamed from gl_array_search. Add
56827         start_index, end_index arguments.
56828         (gl_array_remove, gl_array_list_implementation): Update.
56829         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
56830         gl_carray_indexof. Add start_index, end_index arguments.
56831         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
56832         start_index, end_index arguments.
56833         (gl_carray_remove, gl_carray_list_implementation): Update.
56834         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
56835         gl_linked_search. Add start_index, end_index arguments.
56836         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
56837         start_index, end_index arguments.
56838         (gl_linked_remove): Update.
56839         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
56840         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
56841         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
56842         field to 'size_t'.
56843         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
56844         gl_tree_search. Add start_index, end_index arguments.
56845         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56846         start_index, end_index arguments.
56847         (gl_tree_remove): Update.
56848         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
56849         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
56850         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
56851         function.
56852         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
56853         gl_tree_search. Add start_index, end_index arguments.
56854         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
56855         start_index, end_index arguments.
56856         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
56857         Update.
56858         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
56859
56860 2006-10-05  Bruno Haible  <bruno@clisp.org>
56861
56862         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
56863
56864         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
56865         fwriteerror_temp): New declarations.
56866         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
56867         (descriptors): New variable.
56868         (cleanup): First, close the descriptors.
56869         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
56870         fclose_temp, fwriteerror_temp): New functions.
56871
56872 2006-10-04  Jim Meyering  <jim@meyering.net>
56873
56874         * lib/fts.c (fts_open): Tiny comment change.
56875
56876 2006-10-04  Bruno Haible  <bruno@clisp.org>
56877
56878         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
56879         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
56880         gl_LOCK_BODY.
56881         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
56882         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
56883         gl_LOCK_EARLY_BODY.
56884         (gl_LOCK): Require gl_LOCK_BODY.
56885
56886 2006-10-04  Bruno Haible  <bruno@clisp.org>
56887
56888         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
56889         (gl_oset_search_atleast): New declaration.
56890         (struct gl_oset_implementation): Add field 'search_atleast'.
56891         (gl_oset_search_atleast): New inline function.
56892         * lib/gl_oset.c (gl_oset_search_atleast): New function.
56893         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
56894         (gl_array_oset_implementation): Update.
56895         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
56896         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
56897         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
56898
56899 2006-10-04  Bruno Haible  <bruno@clisp.org>
56900
56901         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
56902
56903 2006-10-03  Bruno Haible  <bruno@clisp.org>
56904
56905         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
56906         from gl_avltreehash_list_implementation.
56907
56908 2006-10-03  Bruno Haible  <bruno@clisp.org>
56909
56910         * lib/gl_oset.c (gl_oset_add): Fix return type.
56911
56912 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
56913
56914         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
56915
56916 2006-10-02  Eric Blake  <ebb9@byu.net>
56917
56918         * modules/strnlen (Depends-on): Add extensions.
56919
56920 2006-10-02  Eric Blake  <ebb9@byu.net>
56921
56922         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
56923         definition in 2.60+.
56924
56925 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
56926
56927         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
56928         checks.
56929
56930 2006-10-02  Bruno Haible  <bruno@clisp.org>
56931
56932         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
56933         to the AUTOMAKE_OPTIONS.
56934         Reported by Jim Meyering.
56935
56936 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
56937
56938         Work around bug in Solaris 10 /proc file system:
56939         /proc/self/fd/NNN/.. isn't the parent directory of
56940         the directory whose file descriptor is NNN.  This needs to
56941         be worked around at run time, not compile time, since a
56942         program might be built on Solaris 8, where things work, and
56943         run on Solaris 10.
56944         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
56945         to use the following interface instead:
56946         (OPENAT_BUFFER_SIZE): New macro.
56947         (openat_proc_name): New function.
56948         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
56949         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
56950         Likewise.
56951         * lib/openat-proc.c: New file.
56952         * modules/openat (Files): Add lib/openat-proc.c.
56953         (Depends-on): Add same-inode, stdbool.
56954         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
56955
56956 2006-09-29  Bruno Haible  <bruno@clisp.org>
56957
56958         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
56959         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
56960         argument. Set stdout_closed before testing for ferror, not after.
56961         (fwriteerror, fwriteerror_no_ebadf): New functions.
56962
56963 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56964
56965         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
56966
56967 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
56968
56969         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
56970         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
56971
56972 2006-09-28  Jim Meyering  <jim@meyering.net>
56973
56974         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
56975         Include <unistd.h>.
56976
56977 2006-09-28  Bruno Haible  <bruno@clisp.org>
56978
56979         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
56980         * modules/linkedhash-list (Depends-on): Likewise.
56981         * modules/rbtreehash-list (Depends-on): Likewise.
56982
56983 2006-09-28  Bruno Haible  <bruno@clisp.org>
56984
56985         * lib/strndup.h: Simplify the redefinition of strndup.
56986         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
56987         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
56988
56989 2006-09-28  Bruno Haible  <bruno@clisp.org>
56990
56991         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
56992         * lib/gl_linkedhash_list.c: Likewise.
56993         * lib/gl_rbtreehash_list.c: Likewise.
56994
56995 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
56996
56997         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
56998         getaddrinfo.
56999
57000         * lib/__fpending.h: Don't include <stdio_ext.h> unless
57001         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
57002         it causes <stdio_ext.h> to cause a compile-time error.
57003         Problem reported by Nelson H. F. Beebe.
57004         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
57005         of HAVE_DECL___PENDING.
57006
57007         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
57008         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
57009         declaration.
57010
57011 2006-09-27  Jim Meyering  <jim@meyering.net>
57012
57013         This file could end up with a definition for a function
57014         named __strndup, rather than rpl_strndup on a system with
57015         incomplete weak_alias support.
57016         * lib/strndup.c (strndup): Rename from __strndup.
57017         Remove #defines that used to map __strndup to strndup.
57018         Don't use K&R prototypes.
57019         Remove LIBC-related code, since this file is not sync'd with glibc.
57020         * lib/strndup.h: Revamp, accordingly.
57021         * m4/strndup.m4: Modernize.
57022
57023 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
57024
57025         * modules/savewd (Depends-on): Add 'raise'.
57026         * lib/savewd.c: Include <signal.h>, for 'raise'.
57027
57028 2006-09-26  Jim Meyering  <jim@meyering.net>
57029
57030         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
57031         when we detect Darwin 8.7.0's acl_get_file bug.
57032         Rearrange to perform the new (below) run-test while $LIBS
57033         contains any acl-related library.  Set USE_ACL at the end.
57034         (gl_ACL_GET_FILE): New function.
57035
57036 2006-09-26  Eric Blake  <ebb9@byu.net>
57037
57038         * lib/verror.c: Include <config.h> unconditionally.
57039
57040 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
57041
57042         * modules/clock-time (Maintainer): Add self.
57043         * modules/getlogin_r (Depends-on): Add extensions.
57044
57045 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57046
57047         * modules/clock-time: New module.
57048         * modules/nanosleep (Depends-on): Add clock-time.
57049         * modules/gethrxtime (Depends-on): Likewise.
57050         * modules/gettime (Depends-on): Likewise.
57051         * modules/settime (Depends-on): Likewise.
57052
57053         * modules/fts-lgpl: Depend on openat.
57054         * modules/mkancesdirs: Depend on savewd.
57055         * modules/mkdir-p: Likewise.
57056
57057 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57058
57059         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
57060
57061         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
57062         `gl_have_arbitrary_file_name_length_limit' to
57063         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
57064         actually works between configure runs.
57065
57066 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57067             Bruno Haible  <bruno@clisp.org>
57068
57069         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
57070
57071 2006-09-25  Jim Meyering  <jim@meyering.net>
57072
57073         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
57074         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
57075
57076 2006-09-25  Eric Blake  <ebb9@byu.net>
57077
57078         * gnulib-tool (func_import, func_create_testdir): Fix typos in
57079         exec's in 2006-09-18 patch when shuffling fds.
57080
57081 2006-09-25  Bruno Haible  <bruno@clisp.org>
57082
57083         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
57084         Reported by Jim Meyering.
57085
57086 2006-09-24  Jim Meyering  <jim@meyering.net>
57087
57088         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
57089         compare a pointer against a literal "0".  That caused failures with
57090         at least HP-UX's hpcc.
57091
57092 2006-09-22  Simon Josefsson  <jas@extundo.com>
57093
57094         * modules/gc-sha1:
57095         * modules/gc-md4:
57096         * modules/gc-hmac-sha1:
57097         * modules/gc-hmac-md5:
57098         * modules/gc-des:
57099         * modules/gc-arcfour: Distribute more files.
57100
57101 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57102
57103         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
57104         (gl_linked_iterator_from_to): Initialize struct completely.
57105         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
57106         (gl_tree_iterator_from_to): Likewise
57107         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
57108         * lib/gl_array_list.c [lint] (gl_array_iterator)
57109         (gl_array_iterator_from_to): Likewise.
57110         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
57111         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
57112         (gl_carray_iterator_from_to): Likewise.
57113
57114         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
57115         * lib/md4.c (md4_process_block): Remove unused variable.
57116         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
57117         parentheses for clarity.
57118
57119 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57120
57121         * modules/bison-i18n (Depends-on): Add gettext.
57122
57123 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57124
57125         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
57126         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
57127         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
57128         also add missing comma that caused broken test.
57129         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
57130         stdlib.h, for `abort'.
57131         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
57132         variables.
57133         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
57134         include unistd.h if present, for `rmdir'.
57135         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
57136         variables.
57137         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
57138         in the process include standard headers for prototypes.
57139         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
57140         gets declared on GNU/Linux.
57141         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
57142         unistd.h, for `rmdir'.
57143         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
57144
57145         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
57146         always true.
57147         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
57148
57149         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
57150
57151 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57152
57153         * gnulib-tool (func_version): Create output all at once.  This
57154         may help avoid triggering unnecessary SIGPIPEs, and at any
57155         rate it doesn't hurt.
57156
57157 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57158             Bruno Haible  <bruno@clisp.org>
57159
57160         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
57161         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
57162         * m4/signed.m4 (bh_C_SIGNED): Likewise.
57163
57164         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
57165         (gl_FUNC_VASPRINTF): Invoke it.
57166
57167 2006-09-22  Bruno Haible  <bruno@clisp.org>
57168
57169         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
57170         getloadavg.c as first argument.
57171
57172 2006-09-22  Bruno Haible  <bruno@clisp.org>
57173
57174         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
57175         at the beginning of the gl_INIT macro.
57176         * modules/getloadavg (configure.ac): Pass $gl_source_base to
57177         gl_GETLOADAVG.
57178
57179 2006-09-22  Bruno Haible  <bruno@clisp.org>
57180
57181         * gnulib-tool (func_create_megatestdir): Don't include the config-h
57182         module.
57183         Suggested by Ralf Wildenhues.
57184
57185 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
57186
57187         Import this patch from libc:
57188
57189         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
57190
57191         * lib/regex_internal.c (re_string_reconstruct): Handle
57192         offset < pstr->valid_raw_len && pstr->offsets_needed case.
57193         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
57194         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
57195         re_string_context_at.
57196
57197         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
57198         now requires it.
57199         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
57200         gl_REGEX now does it for us.
57201         (gl_REGEX): Add test taken from
57202         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
57203
57204         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
57205         Check that large offsets work.  Modernize Autoconf usages.
57206         Prefer "yes" to mean a good thing rather than a bad.
57207         Don't put "#define mkstemp" in config.h, as this might interfere
57208         with standard system headers that "#define mkstemp mkstemp64".
57209
57210         * modules/mkstemp (Depends-on): Add extensions, so that
57211         mkstemp is visible on some platforms.
57212         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
57213         (Include): Change to "mkstemp.h" from <stdlib.h>.
57214         (Files): Add mkstemp.h.
57215
57216         * lib/mkstemp.h: New file, since some standard headers
57217         #define mkstemp.
57218         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
57219         Include "mkstemp.h".
57220         Make the _LIBC code resemble glibc original more,
57221         e.g., use K&R style.
57222         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
57223         (mkstemp): Remove, since mkstemp.h does this for us.
57224         * lib/stdlib--.h: Include mkstemp.h.
57225
57226         Import this patch from libc:
57227
57228         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57229
57230         * lib/tempname.c (__gen_tempname): Change attempts_min
57231         into a macro.  Use preprocessor to decide how to initialize
57232         attempts [Coverity CID 67].
57233
57234 2006-09-20  Bruno Haible  <bruno@clisp.org>
57235
57236         * lib/mkdtemp.c: Import from libc.
57237         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
57238                 * sysdeps/posix/tempname.c (__gen_tempname): Change
57239                 attempts_min into a macro.  Use preprocessor to decide how to
57240                 initialize attempts [Coverity CID 67].
57241         2001-11-27  Paul Eggert  <eggert@twinsun.com>
57242                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
57243                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
57244
57245 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57246
57247         * gnulib-tool (func_exit): New function, to allow to pass the
57248         exit status portably through the trap.  Use everywhere.
57249         (--help, --version): Signal a write error.
57250         (trap): catch SIGPIPE, for write errors.
57251         Exit at the end of the trap, with the correct exit status.
57252
57253 2006-09-19  Karl Berry  <karl@gnu.org>
57254
57255         * doc/gnulib.texi: note about the license texinfo files.
57256
57257 2006-09-19  Eric Blake  <ebb9@byu.net>
57258
57259         * gnulib-tool: Avoid space-tab.
57260
57261 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57262
57263         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
57264         that prevented coreutils 6.1 from building.  Problem reported
57265         by Petter Reinholdtsen.
57266
57267 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
57268
57269         * gnulib-tool (avoidlist): Fix typo that broke options like
57270         --avoid=lock that are used by coreutils bootstrap.
57271
57272 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
57273
57274         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
57275         more systematically.
57276
57277 2006-09-18  Jim Meyering  <jim@meyering.net>
57278
57279         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
57280
57281 2006-09-18  Bruno Haible  <bruno@clisp.org>
57282
57283         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
57284
57285 2006-09-18  Bruno Haible  <bruno@clisp.org>
57286
57287         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
57288         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
57289         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
57290         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
57291         * m4/gettext.m4: Require autoconf >= 2.52.
57292         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
57293         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
57294         of gl_cv_header_inttypes_h.
57295
57296 2006-09-18  Bruno Haible  <bruno@clisp.org>
57297
57298         * lib/javaversion.c: Include configmake.h.
57299
57300 2006-09-18  Bruno Haible  <bruno@clisp.org>
57301
57302         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
57303         avoid that the while loops be executed in a subshell.
57304
57305 2006-09-18  Bruno Haible  <bruno@clisp.org>
57306
57307         * MODULES.html.sh (func_module): Break long lines.
57308         Suggested by Bruce Korb <bkorb@gnu.org>.
57309
57310 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57311
57312         Speed up by a factor of 1.12.
57313         * gnulib-tool (nl): New variable.
57314         (func_import): Rewrite include directive extraction to only read each
57315         directive once.
57316
57317 2006-09-17  Bruno Haible  <bruno@clisp.org>
57318
57319         * modules/javaversion (Makefile.am): Remove DEFS setting.
57320         (Depends-on): Add configmake, for PKGDATADIR definition.
57321
57322 2006-09-17  Bruno Haible  <bruno@clisp.org>
57323
57324         * gnulib-tool (func_create_testdir): Rewrite all files at once.
57325
57326 2006-09-17  Bruno Haible  <bruno@clisp.org>
57327
57328         * gnulib-tool (func_append): New function, stolen from libtool.m4.
57329         (func_modules_transitive_closure, func_modules_add_dummy,
57330         func_modules_to_filelist, func_import, func_create_testdir,
57331         func_create_megatestdir, ...): Use it wherever possible.
57332         Suggested by Ralf Wildenhues.
57333
57334 2006-09-16  Karl Berry  <karl@gnu.org>
57335
57336         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
57337         to avoid sectioning errors.
57338         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
57339         [ifinfo]: blank line after @center-ed titles.
57340         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
57341         Spell FSF address consistently with others.
57342         (These changes approved by rms.)
57343
57344 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57345
57346         Speed up by a factor of 1.61.
57347         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
57348         already checked module names again.
57349
57350 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57351
57352         Speed up by a factor of 1.13.
57353         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
57354         for new_files, and the input to func_add_or_update.
57355
57356 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57357
57358         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
57359         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
57360
57361 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57362
57363         * modules/mkancesdirs (Depends-on): Add fcntl.
57364         * modules/savewd: New file.
57365         * MODULES.html.sh (File system functions): Add savewd.
57366
57367         * modules/configmake (Makefile.am): Add support for the
57368         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
57369
57370 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57371
57372         * m4/savewd.m4: New file.
57373
57374 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
57375
57376         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
57377         (dirchownmod): New arg FD.  All callers changed.
57378         Use FD rather than opening the directory ourself, as opening is
57379         now the caller's responsibility.
57380         * lib/dirchownmod.h: Likewise.
57381         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
57382         hosts that require <sys/types.h> before <sys/stat.h>.  Include
57383         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
57384         (test_dir): Remove.
57385         (mkancesdirs): Return length of prefix of FILE that has already
57386         been made, or -2 if there is a child doing the work.  Redo
57387         algorithm so that it is O(N) rather than O(N**2).  Optimize away
57388         ".", and treat ".." specially since it might stray back into
57389         already-created areas.  Use a subprocess if necessary.  New arg
57390         WD; all users changed.  MAKE_DIR function should now return 1
57391         if it creates a directory that is not readable.  Return -2 if
57392         a child process is spun off.
57393         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
57394         Adjust signature to match code.
57395         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
57396         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
57397         all users changed.
57398         * lib/savewd.c, lib/savewd.h: New files.
57399
57400 2006-09-15  Jim Meyering  <jim@meyering.net>
57401
57402         * modules/rename-dest-slash: New module.
57403         * MODULES.html.sh (posix_compat): Add it here.
57404
57405         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
57406
57407 2006-09-15  Jim Meyering  <jim@meyering.net>
57408
57409         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
57410         file.
57411
57412         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
57413
57414 2006-09-15  Jim Meyering  <jim@meyering.net>
57415
57416         * lib/rename-dest-slash.c (has_trailing_slash): Use
57417         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
57418         (rpl_rename_dest_slash): Perform the cheaper trailing slash
57419         test before testing whether SRC is a directory.
57420         Suggestions from Bruno Haible.
57421
57422         Avoid a warning about an unused variable.
57423         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
57424         into the #ifdef block where it's used.
57425
57426         * lib/rename-dest-slash.c: New file.
57427
57428 2006-09-14  Bruno Haible  <bruno@clisp.org>
57429
57430         * lib/allocsa.c: Include <config.h> unconditionally.
57431         * lib/asnprintf.c: Likewise.
57432         * lib/asprintf.c: Likewise.
57433         * lib/c-strcasecmp.c: Likewise.
57434         * lib/c-strcasestr.c: Likewise.
57435         * lib/c-strncasecmp.c: Likewise.
57436         * lib/c-strstr.c: Likewise.
57437         * lib/classpath.c: Likewise.
57438         * lib/clean-temp.c: Likewise.
57439         * lib/concatpath.c: Likewise.
57440         * lib/copy-file.c: Likewise.
57441         * lib/csharpcomp.c: Likewise.
57442         * lib/csharpexec.c: Likewise.
57443         * lib/execute.c: Likewise.
57444         * lib/fatal-signal.c: Likewise.
57445         * lib/findprog.c: Likewise.
57446         * lib/fwriteerror.c: Likewise.
57447         * lib/gl_array_list.c: Likewise.
57448         * lib/gl_array_oset.c: Likewise.
57449         * lib/gl_avltree_list.c: Likewise.
57450         * lib/gl_avltree_oset.c: Likewise.
57451         * lib/gl_avltreehash_list.c: Likewise.
57452         * lib/gl_carray_list.c: Likewise.
57453         * lib/gl_linked_list.c: Likewise.
57454         * lib/gl_linkedhash_list.c: Likewise.
57455         * lib/gl_list.c: Likewise.
57456         * lib/gl_oset.c: Likewise.
57457         * lib/gl_rbtree_list.c: Likewise.
57458         * lib/gl_rbtree_oset.c: Likewise.
57459         * lib/gl_rbtreehash_list.c: Likewise.
57460         * lib/imaxabs.c: Likewise.
57461         * lib/imaxdiv.c: Likewise.
57462         * lib/javacomp.c: Likewise.
57463         * lib/javaexec.c: Likewise.
57464         * lib/javaversion.c: Likewise.
57465         * lib/linebreak.c: Likewise.
57466         * lib/localcharset.c: Likewise.
57467         * lib/lock.c: Likewise.
57468         * lib/mbchar.c: Likewise.
57469         * lib/mbswidth.c: Likewise.
57470         * lib/mkdtemp.c: Likewise.
57471         * lib/pipe.c: Likewise.
57472         * lib/printf-args.c: Likewise.
57473         * lib/printf-parse.c: Likewise.
57474         * lib/progname.c: Likewise.
57475         * lib/progreloc.c: Likewise.
57476         * lib/readlink.c: Likewise.
57477         * lib/sh-quote.c: Likewise.
57478         * lib/stpcpy.c: Likewise.
57479         * lib/stpncpy.c: Likewise.
57480         * lib/strcasecmp.c: Likewise.
57481         * lib/strcasestr.c: Likewise.
57482         * lib/strcspn.c: Likewise.
57483         * lib/striconv.c: Likewise.
57484         * lib/strncasecmp.c: Likewise.
57485         * lib/strnlen1.c: Likewise.
57486         * lib/strstr.c: Likewise.
57487         * lib/strtok_r.c: Likewise.
57488         * lib/tls.c: Likewise.
57489         * lib/tmpdir.c: Likewise.
57490         * lib/unicodeio.c: Likewise.
57491         * lib/unsetenv.c: Likewise.
57492         * lib/vasnprintf.c: Likewise.
57493         * lib/vasprintf.c: Likewise.
57494         * lib/wait-process.c: Likewise.
57495         * lib/xallocsa.c: Likewise.
57496         * lib/xsetenv.c: Likewise.
57497         * lib/xstriconv.c: Likewise.
57498
57499 2006-09-13  Simon Josefsson  <jas@extundo.com>
57500
57501         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
57502         that internally, suggested by Ralf Wildenhues
57503         <Ralf.Wildenhues@gmx.de>.
57504
57505 2006-09-13  Simon Josefsson  <jas@extundo.com>
57506
57507         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
57508         @LIBOBJS@.
57509         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57510
57511 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
57512
57513         * lib/_fpending.c: Include <config.h> unconditionally, since we no
57514         longer worry about uses that don't define HAVE_CONFIG_H.
57515         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
57516         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
57517         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
57518         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
57519         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
57520         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
57521         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
57522         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
57523         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
57524         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
57525         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
57526         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
57527         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
57528         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
57529         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
57530         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
57531         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
57532         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
57533         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
57534         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
57535         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
57536         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
57537         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
57538         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
57539         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
57540         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
57541         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
57542         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
57543         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
57544         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
57545         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
57546         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
57547         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
57548         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
57549         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
57550         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
57551         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
57552         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
57553         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
57554         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
57555         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
57556         Likewise.
57557
57558 2006-09-13  Eric Blake  <ebb9@byu.net>
57559
57560         * lib/getopt.c: Fix typo in last commit.
57561
57562 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
57563
57564         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
57565         dgettext.
57566
57567 2006-09-12  Jim Meyering  <jim@meyering.net>
57568
57569         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
57570         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
57571         Reported by Nelson H. F. Beebe.
57572
57573 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57574
57575         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
57576         program_invocation_name and program_invocation_short_name are
57577         initialized.
57578         * lib/argp-namefrob.h: Move declarations of program_invocation_name
57579         and program_invocation_short_name to argp.h, so they are visible
57580         to user programs.
57581         * lib/argp.h: Likewise
57582
57583 2006-09-10  Bruno Haible  <bruno@clisp.org>
57584
57585         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
57586         m4/inttypes_h.m4, m4/uintmax_t.m4.
57587
57588 2006-09-10  Bruno Haible  <bruno@clisp.org>
57589
57590         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
57591         gl_AC_TYPE_UINTMAX_T.
57592
57593 2006-09-10  Bruno Haible  <bruno@clisp.org>
57594
57595         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
57596
57597 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57598
57599         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
57600         convention.  Text proposed by Bruno Haible.
57601         (struct argp_option): Document the use of N_() wrappers.
57602
57603         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
57604         '\v', and translate the two parts separately, instead of feeding
57605         the whole string to gettext.  This allows to exclude
57606         '\v' from the strings visible to the translator by writing doc
57607         strings as N_("..") "\v" N_("..").
57608
57609 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
57610
57611         * config/srclist.txt: Undo latest change; the bug was fixed.
57612
57613 2006-09-09  Bruno Haible  <bruno@clisp.org>
57614
57615         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
57616         assignments if building a library without libtool.
57617         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
57618         in func_emit_lib_Makefile_am.
57619         (func_import): When building a static library libfoo.a, arrange to
57620         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
57621         (func_create_testdir): Likewise.
57622         * modules/gc (configure.ac, Makefile.am): If building statically,
57623         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
57624         * modules/iconvme (configure.ac, Makefile.am): Likewise.
57625         * modules/striconv (configure.ac, Makefile.am): Likewise.
57626         Based on a suggestion by Ralf Wildenhues.
57627
57628 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57629
57630         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
57631         Check for unistd.h too, since Autoconf doesn't assume POSIX.
57632         Also:
57633
57634         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57635         Add year_2050_test to catch glibc bug 2821
57636         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
57637
57638         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57639         Prefer #ifdef to #if.
57640
57641         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
57642         Return from 'main' instead of calling 'exit'.
57643
57644 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57645
57646         * lib/mktime.c (guess_time_tm): Fix bug where mktime
57647         returned the maximum time_t value rather than (time_t) -1.
57648         Problem originally reported by William Bardwell
57649         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
57650
57651         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
57652         Moved to here ...
57653         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
57654         ... from here.
57655
57656 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
57657
57658         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
57659         2821 is fixed.
57660
57661 2006-09-08  Jim Meyering  <jim@meyering.net>
57662
57663         Don't make generated files read-only.  That would bother too many
57664         people.  However, do retain the ability to work when targets are
57665         read-only: remove the destination and temporary files before writing
57666         them (when generated via sed or echo), or by using the -f option for
57667         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
57668         * modules/alloca-opt, modules/argz, modules/arpa_inet:
57669         * modules/byteswap, modules/configmake, modules/fcntl:
57670         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
57671         * modules/localcharset, modules/netinet_in, modules/poll:
57672         * modules/stdbool, modules/stdint, modules/sys_select:
57673         * modules/sys_socket, modules/sys_stat, modules/sysexits:
57674
57675 2006-09-08  Jim Meyering  <jim@meyering.net>
57676
57677         Avoid new build failure on FreeBSD 6.0.
57678         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
57679         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
57680         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
57681
57682 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57683
57684         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
57685
57686 2006-09-07  Jim Meyering  <jim@meyering.net>
57687
57688         Fix global typo in last change: use chmod u-w, not chmod u-x.
57689         Spotted by Paul Eggert and Bruce Korb.
57690         * modules/alloca-opt, modules/argz, modules/arpa_inet:
57691         * modules/byteswap, modules/configmake, modules/fcntl:
57692         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
57693         * modules/localcharset, modules/netinet_in, modules/poll:
57694         * modules/stdbool, modules/stdint, modules/sys_select:
57695         * modules/sys_socket, modules/sys_stat, modules/sysexits:
57696
57697 2006-09-06  Jim Meyering  <jim@meyering.net>
57698
57699         Make generated files be read-only.
57700         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
57701         Ensure that each generated file is now read-only.
57702         * modules/argz: Likewise.
57703         * modules/arpa_inet: Likewise.
57704         * modules/byteswap: Likewise.
57705         * modules/configmake: Likewise.
57706         * modules/fcntl: Likewise.
57707         * modules/fnmatch: Likewise.
57708         * modules/getopt: Likewise.
57709         * modules/glob: Likewise.
57710         * modules/inttypes: Likewise.
57711         * modules/netinet_in: Likewise.
57712         * modules/poll: Likewise.
57713         * modules/stdbool: Likewise.
57714         * modules/stdint: Likewise.
57715         * modules/sys_select: Likewise.
57716         * modules/sys_socket: Likewise.
57717         * modules/sys_stat: Likewise.
57718         * modules/sysexits: Likewise.
57719         * modules/localcharset: Same as above, but continue using temporary
57720         file named "t-$@" (why different?) rather than the "$@-t" used
57721         everywhere else.
57722
57723         * modules/sysexits (Makefile.am): Replace literal occurrences
57724         of "sysexit.h" more readable, and more consistent, "$@".
57725
57726 2006-09-06  Bruno Haible  <bruno@clisp.org>
57727
57728         * modules/striconv: New file.
57729         * modules/xstriconv: New file.
57730         * MODULES.html.sh (Internationalization functions): Add striconv,
57731         xstriconv.
57732
57733 2006-09-06  Bruno Haible  <bruno@clisp.org>
57734
57735         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
57736         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
57737         not using libtool correctly.
57738
57739 2006-09-06  Bruno Haible  <bruno@clisp.org>
57740
57741         * lib/striconv.h: New file.
57742         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
57743         iconvstring.c.
57744         * lib/xstriconv.h: New file.
57745         * lib/xstriconv.c: New file.
57746
57747 2006-09-06  Bruno Haible  <bruno@clisp.org>
57748
57749         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
57750         lib_..._LDFLAGS.
57751
57752 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57753
57754         * lib/argz_.h: Sync from Libtool.
57755
57756         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
57757                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
57758
57759         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
57760
57761 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57762
57763         * modules/trim: New file.
57764
57765 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
57766
57767         * lib/trim.h: New file.
57768         * lib/trim.c: New file.
57769
57770 2006-09-05  Bruno Haible  <bruno@clisp.org>
57771
57772         * MODULES.html.sh (String handling): Add trim.
57773
57774 2006-09-04  Karl Berry  <karl@gnu.org>
57775
57776         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
57777         until next release.
57778
57779 2006-09-03  Bruno Haible  <bruno@clisp.org>
57780
57781         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
57782         correctly.
57783
57784 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57785
57786         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
57787         not gl_GETLOADAVG.  Omit unneeded semicolons.
57788         Problems reported by Ralf Wildenhues in
57789         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57790         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
57791         at the end, which is the usual gnulib style.
57792
57793         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
57794         of doing all the work ourselves.
57795         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
57796         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
57797
57798 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57799
57800         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
57801         Problem reported by Ralf Wildenhues in
57802         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
57803
57804         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
57805         HAVE_STRUCT_STATFS_F_FSTYPENAME.
57806
57807 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
57808
57809         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
57810         yesterday's patch by changing test -n to test -z.
57811
57812 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57813
57814         * modules/getloadavg (Files): Add m4/getloadavg.m4.
57815         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
57816         the former is now obsolescent.
57817
57818         * modules/chdir-long (Depends-on): Add fcntl.
57819
57820 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57821
57822         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
57823         obsolescent, and programs should use gnulib instead.
57824         * m4/getloadavg.m4: New file, with contents taken from Autoconf
57825         but with prefixes changed.
57826
57827 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
57828
57829         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
57830         or stdbool.h, because they might not exist while configuring.
57831
57832         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
57833         Don't include unistd.h or limits.h; not needed, since chdir-long.h
57834         does that for us.
57835         (O_DIRECTORY): Remove.
57836
57837 2006-08-31  Eric Blake  <ebb9@byu.net>
57838
57839         * gnulib-tool: Don't let emacs change spaces to TAB.
57840
57841 2006-08-31  Bruno Haible  <bruno@clisp.org>
57842
57843         * gnulib-tool: When calling func_import more than once, do it in a
57844         subshell.
57845         Reported by Eric Blake <ebb9@byu.net>.
57846
57847 2006-08-31  Bruno Haible  <bruno@clisp.org>
57848
57849         * gnulib-tool (nl): Remove variable.
57850         (sed_transform_lib_file): Use more robust test for config-h module.
57851         (func_import): Fix typo in 2006-08-25 patch.
57852
57853 2006-08-31  Bruno Haible  <bruno@clisp.org>
57854
57855         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
57856         specified, augment Makefile.am variables instead of assigning them.
57857
57858 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57859
57860         Work around a bug in both the Linux and SunOS 64-bit kernels:
57861         nanosleep mishandles sleeps for longer than 2**31 seconds.
57862         Problem reported by Frank v Waveren in
57863         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57864         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
57865         Check for nanosleep bug.
57866         (LIB_NANOSLEEP): Append clock_gettime library if needed.
57867
57868 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57869
57870         Work around a bug in both the Linux and SunOS 64-bit kernels:
57871         nanosleep mishandles sleeps for longer than 2**31 seconds.
57872         Problem reported by Frank v Waveren in
57873         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
57874         * lib/nanosleep.c (BILLION): New constant.
57875         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
57876         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
57877         implementation.
57878
57879 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57880
57881         * modules/nanosleep (Depends-on): Add gettime.
57882
57883 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
57884         and Simon Josefsson  <jas@extundo.com>
57885         and Oskar Liljeblad  <oskar@osk.mine.nu>
57886
57887         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
57888         * gnulib-tool (func_import): New license type 'unmodifiable license
57889         text'.
57890         * modules/fdl: Use it.  Longer description.
57891         * module/gpl, module/lgpl: New files.
57892
57893 2006-08-30  Jim Meyering  <jim@meyering.net>
57894
57895         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
57896         shadowing the parameter.
57897
57898 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57899
57900         Sync from Libtool:
57901
57902         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57903
57904         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
57905         sharing with gnulib.  Report by Eric Blake.
57906
57907 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57908
57909         * modules/isapipe: New file.
57910         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
57911
57912 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57913
57914         * modules/configmake (Makefile.am): Add a comment, and omit
57915         the CONFIGMAKE_ prefix from generated macro names.  Suggested
57916         by Bruno Haible.
57917
57918 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57919
57920         * m4/isapipe.m4: New file.
57921
57922 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
57923
57924         * lib/isapipe.c, lib/isapipe.h: New files.
57925
57926 2006-08-29  Jim Meyering  <jim@meyering.net>
57927
57928         * modules/configmake (Makefile.am): Make configmake.h depend on
57929         Makefile.  Otherwise, a stale configmake.h could hang around.
57930
57931 2006-08-29  Eric Blake  <ebb9@byu.net>
57932
57933         * lib/error.c (error_at_line, print_errno_message): Match libc, after
57934         resolution of upstream bug 3044.
57935
57936 2006-08-29  Bruno Haible  <bruno@clisp.org>
57937
57938         * modules/localcharset (Depends-on): Add configmake.
57939         (Makefile.am): Remove setting of LIBDIR through DEFS.
57940
57941 2006-08-29  Bruno Haible  <bruno@clisp.org>
57942
57943         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
57944         defined.
57945
57946 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57947
57948         * modules/fcntl: New file.
57949         * modules/chdir-safer (Depends-on): Add fcntl.
57950         * modules/fts: Likewise.
57951         * modules/mkdir-p: Likewise.
57952
57953         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
57954         This undoes the most recent change, since we're now addressing the
57955         problem in a different way.
57956
57957         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
57958         into output, since the output might be called Makefile.am even
57959         if $makefile_name is something different.
57960         (func_import): Use $makefile_am rather than
57961         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
57962         empty.
57963
57964         * modules/inttypes (Files): Add m4/inttypes-h.m4.
57965
57966 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57967
57968         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
57969         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
57970         recent change to stdint.m4, since we're now addressing the problem in a
57971         different way.
57972
57973 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57974
57975         * m4/fcntl_h.m4: New file.
57976
57977 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
57978
57979         * lib/fcntl_.h: New file.
57980         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
57981         the fcntl module.
57982         * lib/dirchownmod.c: Likewise.
57983         * lib/fts.c: Likewise.
57984
57985         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
57986         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
57987         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
57988         just before including <inttypes.h>, to avoid circular inclusion.
57989
57990 2006-08-28  Jim Meyering  <jim@meyering.net>
57991
57992         * doc/visibility.texi: Actually read and correct the grammar of the
57993         sentence affected by yesterday's change.
57994
57995 2006-08-28  Eric Blake  <ebb9@byu.net>
57996
57997         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
57998         needs wrapper.
57999
58000 2006-08-28  Eric Blake  <ebb9@byu.net>
58001
58002         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
58003
58004 2006-08-28  Eric Blake  <ebb9@byu.net>
58005
58006         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
58007
58008 2006-08-28  Bruno Haible  <bruno@clisp.org>
58009
58010         * modules/c-strstr: New file, from GNU gettext.
58011         * MODULES.html.sh (String handling): Add c-strstr.
58012
58013 2006-08-28  Bruno Haible  <bruno@clisp.org>
58014
58015         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
58016         macros.
58017         Reported by Eric Blake.
58018
58019 2006-08-28  Bruno Haible  <bruno@clisp.org>
58020
58021         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
58022         (VASNPRINTF): Return a string of length > INT_MAX without failing.
58023         * lib/vasprintf.c: Include errno.h, limits.h.
58024         (EOVERFLOW): New fallback definition.
58025         (vasprintf): Test here whether the string length is > INT_MAX.
58026         * lib/vsnprintf.c: Include errno.h, limits.h.
58027         (EOVERFLOW): New fallback definition.
58028         (vsnprintf): Fix bug when generated string was too long for the buffer.
58029         Test here whether the string length is > INT_MAX.
58030
58031 2006-08-28  Bruno Haible  <bruno@clisp.org>
58032
58033         * lib/inttypes_.h (SCNX*): Remove definitions.
58034         Reported by Eric Blake.
58035
58036 2006-08-28  Bruno Haible  <bruno@clisp.org>
58037
58038         * lib/c-strstr.h: New file, from GNU gettext.
58039         * lib/c-strstr.c: New file, from GNU gettext.
58040
58041 2006-08-28  Bruno Haible  <bruno@clisp.org>
58042
58043         * gnulib-tool: Reorder some statements.
58044
58045 2006-08-28  Bruno Haible  <bruno@clisp.org>
58046
58047         * gnulib-tool: New option --makefile-name.
58048         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
58049         $makefile_name.
58050         (func_import): Write $makefile_name to the cache file, and read it from
58051         there unless explicitly specified. Use $makefile_name as file name
58052         instead of Makefile.am. Adjust the recommendations accordingly.
58053
58054 2006-08-28  Bruno Haible  <bruno@clisp.org>
58055
58056         * gnulib-tool (func_verify_module): Check against misapplying patch.
58057
58058 2006-08-28  Bruno Haible  <bruno@clisp.org>
58059
58060         * gnulib-tool (func_relativize, func_relconcat): New functions.
58061         Give an error if --local-dir is given with --update.
58062         Remove trailing slashes from $local_gnulib_dir.
58063         (func_import): Store the relativized $local_gnulib_dir in
58064         gnulib-cache.m4, and read it from there if not specified explicitly.
58065
58066 2006-08-28  Bruno Haible  <bruno@clisp.org>
58067
58068         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
58069         is the current directory. Respect also $local_gnulib_dir.
58070
58071 2006-08-28  Bruno Haible  <bruno@clisp.org>
58072             Simon Josefsson  <jas@extundo.com>
58073
58074         BeOS portability.
58075         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
58076
58077 2006-08-27  Jim Meyering  <jim@meyering.net>
58078
58079         * doc/visibility.texi: Remove duplicate word: "pointer".
58080
58081 2006-08-26  Bruno Haible  <bruno@clisp.org>
58082
58083         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
58084         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
58085         (Makefile.am): Create inttypes.h from inttypes_.h.
58086         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
58087
58088         * modules/imaxabs: New file.
58089
58090         * modules/imaxdiv: New file.
58091
58092 2006-08-26  Bruno Haible  <bruno@clisp.org>
58093
58094         * m4/inttypes.m4: New file.
58095         * m4/_inttypes_h.m4: Remove file.
58096         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
58097         PRI_MACROS_BROKEN.
58098         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
58099
58100         * m4/imaxabs.m4: New file.
58101
58102         * m4/imaxdiv.m4: New file.
58103
58104 2006-08-26  Bruno Haible  <bruno@clisp.org>
58105
58106         * lib/inttypes_.h: New file.
58107         * lib/inttypes.h: Remove file.
58108         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
58109
58110         * lib/imaxabs.c: New file.
58111
58112         * lib/imaxdiv.c: New file.
58113
58114 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58115
58116         New config-h module, so that "make" output needn't be cluttered
58117         by -DHAVE_CONFIG_H.
58118         * MODULES.html.sh (Support for building libraries and executables):
58119         Add config-h.
58120         * modules/config-h: New file.
58121         * gnulib-tool (nl, sed_transform_lib_file): New vars.
58122         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
58123         the config-h module is used.
58124
58125         New configmake module, so that "make" output needn't be cluttered
58126         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
58127         * MODULES.html.sh (Support for building libraries and executables):
58128         Add configmake.
58129         * modules/configmake: New file.
58130
58131 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
58132
58133         * m4/config-h.m4: New file.
58134
58135 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58136
58137         * config/srclist.txt: Add elisp-comp.
58138
58139 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
58140
58141         * MODULES.html.sh (Support for building libraries and executables):
58142         Add elisp-comp.
58143         * build-aux/elisp-comp: New file.
58144         * modules/elisp-comp: New file.
58145
58146 2006-08-24  Bruno Haible  <bruno@clisp.org>
58147
58148         * gnulib-tool (func_create_testdir): Use non-default values of
58149         sourcebase and m4base.
58150
58151 2006-08-24  Bruno Haible  <bruno@clisp.org>
58152
58153         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
58154         HTML structure.
58155
58156 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
58157
58158         * modules/openat (Depends-on): Add lchown.
58159
58160 2006-08-23  Bruno Haible  <bruno@clisp.org>
58161
58162         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
58163         of gl_LOCK_EARLY instead of gl_LOCK.
58164
58165 2006-08-23  Bruno Haible  <bruno@clisp.org>
58166
58167         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
58168         on OSF/1 to no.
58169         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
58170
58171 2006-08-23  Bruno Haible  <bruno@clisp.org>
58172
58173         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
58174         as unusable.
58175
58176         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
58177         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
58178         (gl_LOCK): New macro.
58179
58180 2006-08-22  Simon Josefsson  <jas@extundo.com>
58181
58182         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
58183         to md5 module.
58184
58185 2006-08-22  Simon Josefsson  <jas@extundo.com>
58186
58187         * MODULES.html.sh: Add "Support for maintaining and release
58188         projects".
58189
58190         * build-aux/gnupload: New file, from coreutils.
58191
58192 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58193
58194         Avoid the need for AC_LIBSOURCES in m4 macros.
58195         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
58196         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
58197         * modules/check-version (EXTRA_DIST): Add check-version.h.
58198         * modules/crc (EXTRA_DIST): Add crc.h.
58199         * modules/des (EXTRA_DIST): Add des.h.
58200         * modules/gc (EXTRA_DIST): Add gc.h.
58201         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
58202         * modules/getline (EXTRA_DIST): Add getline.h.
58203         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
58204         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
58205         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
58206         * modules/md2 (EXTRA_DIST): Add md2.h.
58207         * modules/md4 (EXTRA_DIST): Add md4.h.
58208         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
58209         * modules/read-file (EXTRA_DIST): Add read-file.h.
58210         * modules/readline (EXTRA_DIST): Add readline.h.
58211         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
58212         rijndael-api-fst.h.
58213
58214 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58215
58216         * m4/rijndael.m4 (gl_ARCFOUR):
58217         * m4/arctwo.m4 (gl_ARCTWO):
58218         * m4/check-version.m4 (gl_CHECK_VERSION):
58219         * m4/crc.m4 (gl_CRC):
58220         * m4/des.m4 (gl_DES):
58221         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
58222         * m4/gc.m4 (gl_GC):
58223         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
58224         * m4/getline.m4 (gl_FUNC_GETLINE):
58225         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
58226         * m4/hmac-md5.m4 (gl_HMAC_MD5):
58227         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
58228         * m4/md2.m4 (gl_MD2):
58229         * m4/md4.m4 (gl_MD4):
58230         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
58231         * m4/read-file.m4 (gl_FUNC_READ_FILE):
58232         * m4/readline.m4 (gl_FUNC_READLINE):
58233         * m4/rijndael.m4 (gl_RIJNDAEL):
58234         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58235         to get the necessary .h files and whatnot.
58236
58237 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
58238
58239         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
58240         gnulib rather than the other way around.
58241         * config/srclistvars.sh (COREUTILS): Remove.
58242
58243 2006-08-22  Jim Meyering  <jim@meyering.net>
58244
58245         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
58246
58247         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
58248
58249 2006-08-22  Eric Blake  <ebb9@byu.net>
58250
58251         * modules/regexprops-generic: New file.
58252         * MODULES.html.sh (Support for building documentation): List it.
58253
58254 2006-08-22  Eric Blake  <ebb9@byu.net>
58255
58256         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
58257         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
58258         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
58259         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
58260
58261 2006-08-22  Bruno Haible  <bruno@clisp.org>
58262
58263         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
58264         and lib_LTLIBRARIES like the other lib_* variables.
58265
58266 2006-08-22  Bruno Haible  <bruno@clisp.org>
58267
58268         * build-aux/x-to-1.in: New file, from GNU gettext.
58269
58270 2006-08-22  Bruno Haible  <bruno@clisp.org>
58271
58272         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
58273         <utmpx.h> exists.
58274
58275 2006-08-22  Bruno Haible  <bruno@clisp.org>
58276
58277         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
58278         <utmpx.h> exists.
58279
58280 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58281
58282         BeOS portability.
58283         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
58284         exist.
58285         Problem reported by Bruno Haible.
58286
58287 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58288
58289         Avoid the need for AC_LIBSOURCES in m4 macros.
58290         * modules/acl (EXTRA_DIST): Add acl.h.
58291         * modules/argmatch (Files): Add m4/argmatch.m4.
58292         (configure.ac): Add gl_ARGMATCH.
58293         (EXTRA_DIST): Renamed from lib_SOURCES, for
58294         consistency with the other modules.  Remove argmatch.c.
58295         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
58296         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
58297         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
58298         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
58299         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
58300         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
58301         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
58302         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
58303         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
58304         * modules/closeout (EXTRA_DIST): Add closeout.h.
58305         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
58306         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
58307         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
58308         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
58309         dirname.h; remove basename.c and stripslash.c.
58310         * modules/exclude (EXTRA_DIST): Add exclude.h.
58311         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
58312         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
58313         * modules/file-type (EXTRA_DIST): Add file-type.h.
58314         * modules/filemode (EXTRA_DIST): Add filemode.h.
58315         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
58316         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58317         * modules/fpending (EXTRA_DIST): Add __fpending.h.
58318         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
58319         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
58320         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
58321         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
58322         * modules/getdate (EXTRA_DIST): Add getdate.c.
58323         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
58324         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
58325         * modules/getpass (EXTRA_DIST): Add getpass.h.
58326         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
58327         * modules/group-member (EXTRA_DIST): Add group-member.h.
58328         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
58329         * modules/hash (EXTRA_DIST): Add hash.h.
58330         * modules/human (EXTRA_DIST): Add human.h.
58331         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
58332         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
58333         * modules/lchown (EXTRA_DIST): Add lchown.h.
58334         * modules/long-options (EXTRA_DIST): Add long-options.h.
58335         * modules/lstat (EXTRA_DIST): Add lstat.h.
58336         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
58337         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
58338         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
58339         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
58340         * modules/memxor (EXTRA_DIST): Add memxor.h.
58341         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
58342         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
58343         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
58344         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
58345         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
58346         * modules/physmem (EXTRA_DIST): Add physmem.h.
58347         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
58348         * modules/posixver (EXTRA_DIST): Add posixver.h.
58349         * modules/quote (EXTRA_DIST): Add quote.h.
58350         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
58351         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
58352         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
58353         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
58354         regex_internal.h regexec.c.
58355         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
58356         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
58357         * modules/same (EXTRA_DIST): Add same.h.
58358         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
58359         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
58360         * modules/savedir (EXTRA_DIST): Add savedir.h.
58361         * modules/sha1 (EXTRA_DIST): Add sha1.h.
58362         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
58363         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
58364         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
58365         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
58366         * modules/strdup (EXTRA_DIST): Add strdup.h.
58367         * modules/strftime (EXTRA_DIST): Add strftime.h.
58368         * modules/strndup (EXTRA_DIST): Add strndup.h.
58369         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
58370         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
58371         * modules/time_r (EXTRA_DIST): Add time_r.h.
58372         * modules/timespec (EXTRA_DIST): Add timespec.h.
58373         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
58374         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
58375         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
58376         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
58377         * modules/userspec (EXTRA_DIST): Add userspec.h.
58378         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
58379         * modules/utimens (EXTRA_DIST): Add utimens.h.
58380         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
58381         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
58382         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
58383         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
58384         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
58385         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
58386         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
58387         * modules/yesno (EXTRA_DIST): Add yesno.h.
58388
58389 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
58390
58391         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
58392
58393         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
58394         * m4/dev-ino.m4, same-inode.m4: Remove.
58395
58396         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
58397         * m4/acl.m4 (AC_FUNC_ACL):
58398         * m4/backupfile.m4 (gl_BACKUPFILE):
58399         * m4/c-strtod.m4 (gl_C99_STRTOLD):
58400         * m4/canon-host.m4 (gl_CANON_HOST):
58401         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
58402         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
58403         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
58404         * m4/cloexec.m4 (gl_CLOEXEC):
58405         * m4/close-stream.m4 (gl_CLOSE_STREAM):
58406         * m4/closeout.m4 (gl_CLOSEOUT):
58407         * m4/dirfd.m4 (gl_FUNC_DIRFD):
58408         * m4/dirname.m4 (gl_DIRNAME):
58409         * m4/exclude.m4 (gl_EXCLUDE):
58410         * m4/exitfail.m4 (gl_EXITFAIL):
58411         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
58412         * m4/file-type.m4 (gl_FILE_TYPE):
58413         * m4/filemode.m4 (gl_FILEMODE):
58414         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
58415         * m4/fpending.m4 (gl_FUNC_FPENDING):
58416         * m4/fprintftime.m4 (gl_FPRINTFTIME):
58417         * m4/fts.m4 (gl_FUNC_FTS):
58418         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
58419         * m4/getdate.m4 (gl_GETDATE):
58420         * m4/gethrxtime.m4 (gl_GETHRXTIME):
58421         * m4/getpagesize.m4 (gl_GETPAGESIZE):
58422         * m4/getpass.m4 (gl_FUNC_GETPASS):
58423         * m4/gettime.m4 (gl_GETTIME):
58424         * m4/getugroups.m4 (gl_GETUGROUPS):
58425         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
58426         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
58427         * m4/hard-locale.m4 (gl_HARD_LOCALE):
58428         * m4/hash.m4 (gl_HASH):
58429         * m4/idcache.m4 (gl_IDCACHE):
58430         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
58431         * m4/lchown.m4 (gl_FUNC_LCHOWN):
58432         * m4/long-options.m4 (gl_LONG_OPTIONS):
58433         * m4/lstat.m4 (gl_FUNC_LSTAT):
58434         * m4/md5.m4 (gl_MD5):
58435         * m4/memcasecmp.m4 (gl_MEMCASECMP):
58436         * m4/memcoll.m4 (gl_MEMCOLL):
58437         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
58438         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
58439         * m4/memxor.m4 (gl_MEMXOR):
58440         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
58441         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
58442         * m4/modechange.m4 (gl_MODECHANGE):
58443         * m4/mountlist.m4 (gl_MOUNTLIST):
58444         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
58445         * m4/openat.m4 (gl_FUNC_OPENAT):
58446         * m4/pathmax.m4 (gl_PATHMAX):
58447         * m4/physmem.m4 (gl_PHYSMEM):
58448         * m4/posixtm.m4 (gl_POSIXTM):
58449         * m4/posixver.m4 (gl_POSIXVER):
58450         * m4/quote.m4 (gl_QUOTE):
58451         * m4/quotearg.m4 (gl_QUOTEARG):
58452         * m4/readtokens.m4 (gl_READTOKENS):
58453         * m4/readutmp.m4 (gl_READUTMP):
58454         * m4/regex.m4 (gl_REGEX):
58455         * m4/safe-read.m4 (gl_SAFE_READ):
58456         * m4/safe-write.m4 (gl_SAFE_WRITE):
58457         * m4/same.m4 (gl_SAME):
58458         * m4/save-cwd.m4 (gl_SAVE_CWD):
58459         * m4/savedir.m4 (gl_SAVEDIR):
58460         * m4/settime.m4 (gl_SETTIME):
58461         * m4/sha1.m4 (gl_SHA1):
58462         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
58463         * m4/stat-macros.m4 (gl_STAT_MACROS):
58464         * m4/stat-time.m4 (gl_STAT_TIME):
58465         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
58466         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
58467         * m4/strdup.m4 (gl_FUNC_STRDUP):
58468         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
58469         * m4/strndup.m4 (gl_FUNC_STRNDUP):
58470         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
58471         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
58472         * m4/time_r.m4 (gl_TIME_R):
58473         * m4/timespec.m4 (gl_TIMESPEC):
58474         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
58475         * m4/unlinkdir.m4 (gl_UNLINKDIR):
58476         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
58477         * m4/userspec.m4 (gl_USERSPEC):
58478         * m4/utimecmp.m4 (gl_UTIMECMP):
58479         * m4/utimens.m4 (gl_UTIMENS):
58480         * m4/xalloc.m4 (gl_XALLOC):
58481         * m4/xgetcwd.m4 (gl_XGETCWD):
58482         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
58483         * m4/xreadlink.m4 (gl_XREADLINK):
58484         * m4/xstrtod.m4 (gl_XSTRTOD):
58485         * m4/yesno.m4 (gl_YESNO):
58486         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
58487         to get the necessary .h files and whatnot.
58488
58489 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
58490             Bruno Haible  <bruno@clisp.org>
58491
58492         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
58493         /bin/sh understanding of '!' conditional negation.
58494
58495 2006-08-21  Jim Meyering  <jim@meyering.net>
58496
58497         * modules/openat (Depends-on): Really alphabetize.
58498
58499         * modules/acl (Depends-on): Add error and quote.
58500
58501         * check-module (find_included_lib_files): Add at-func.c to the
58502         ok-to-include-more-than-once white list.
58503
58504         * modules/openat (Depends-on): Add lstat.  Alphabetize.
58505
58506 2006-08-21  Bruno Haible  <bruno@clisp.org>
58507
58508         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
58509         Emit a pkgdata_DATA variable only if some snippets add contents to it.
58510         Reported by Martin Lambers <marlam@marlam.de>.
58511
58512 2006-08-21  Bruno Haible  <bruno@clisp.org>
58513
58514         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
58515         specify an installation location, don't emit a noinst_LIBRARIES or
58516         noinst_LTLIBRARIES assignment.
58517
58518 2006-08-21  Bruno Haible  <bruno@clisp.org>
58519
58520         BeOS portability.
58521         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
58522         BeOS has mbrtowc() but no <wctype.h>.
58523
58524 2006-08-21  Bruno Haible  <bruno@clisp.org>
58525
58526         BeOS portability.
58527         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
58528         exist.
58529
58530 2006-08-21  Bruno Haible  <bruno@clisp.org>
58531
58532         BeOS portability.
58533         * lib/mbchar.h: Include <wctype.h> only if it exists.
58534
58535 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58536
58537         Remove files that are no longer needed by their respective modules.
58538         * m4/obstack.m4: Remove.
58539         * m4/strerror_r.m4: Remove.
58540         * m4/uint32_t.m4: Remove.
58541         * m4/uintptr_t.m4: Remove.
58542         * m4/ullong_max.m4: Remove.
58543         * m4/xstrtoimax.m4: Remove.
58544         * m4/xstrtoumax.m4: Remove.
58545
58546         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
58547         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
58548         dependencies now capture this.
58549
58550         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
58551         Do not use AC_LIBSOURCES, since gnulib modules now do this.
58552         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
58553         * m4/human.m4 (gl_HUMAN): Likewise.
58554         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
58555         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
58556
58557         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
58558
58559         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
58560         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
58561         stdint.
58562         * m4/human.m4 (gl_HUMAN): Likewise.
58563         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
58564         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
58565         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
58566         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
58567         * m4/xstrtol (gl_XSTRTOL): Likewise.
58568
58569         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
58570         AC_TYPE_LONG_LONG_INT.
58571         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
58572         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
58573         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
58574         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
58575
58576         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
58577         on stdbool.
58578
58579         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
58580         (gl_PREREQ_XSTRTOUL): Remove.
58581
58582         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
58583
58584         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
58585         mode.
58586
58587 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58588
58589         Add and change modules to make it easier for coreutils to use
58590         gnulib-tool.
58591         * modules/backupfile (Files): Remove m4/d-ino.m4.
58592         (Depends-on): Add d-ino.
58593         * modules/cycle-check (Depends-on): Add stdint.
58594         (lib_SOURCES): Add cycle-check.h.
58595         * modules/d-ino: New module.
58596         * modules/d-type: New module.
58597         * modules/error (Files): Remove m4/strerror_r.m4.
58598         * modules/filemode (Files): Add m4/st_dm_mode.m4.
58599         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
58600         m4/inttypes_h.m4, m4/uintmax_t.m4.
58601         (Depends-on): Add stdint.
58602         (lib_SOURCES): Add fsusage.h.
58603         * modules/getcwd (Files): Remove d-ino.m4.
58604         (Depends-on): Add d-ino.
58605         * modules/getndelim2 (Depends-on): Add stdint.
58606         * modules/glob (Files): Remove m4/d-type.m4.
58607         (Depends-on): Add d-type.
58608         * modules/host-os: New module.
58609         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
58610         m4/inttypes_h.m4, m4/uintmax_t.m4.
58611         * Depends-on: Add stdint.
58612         (lib_SOURCES): Add human.h.
58613         * modules/inttostr (Files): Remove m4/intmax_t.m4,
58614         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
58615         m4/uintmax_t.m4, m4/ulonglong.m4.
58616         (Depends-on): Add stdint.
58617         (EXTRA_DIST): Add inttostr.h.
58618         * modules/lchmod: New module.
58619         * modules/link-follow: New module.
58620         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
58621         (Depends-on): Add lchmod.
58622         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
58623         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
58624         (Depends-on): Add stdint.
58625         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
58626         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
58627         (Depends-on): Add stdint.
58628         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
58629         * modules/perl: New module.
58630         * modules/regex (Depends-on): Add stdint.
58631         * modules/rmdir-errno: New module.
58632         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
58633         m4/intmax_t.m4.
58634         (Depends-on): Add stdint.
58635         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
58636         m4/uintmax_t.m4.
58637         (Depends-on): Add stdint.
58638         * modules/unlink-busy: New module.
58639         * modules/utimecmp (Depends-on): Add stdint.
58640         * modules/uptime: New module.
58641         * modules/winsz-ioctl: New module.
58642         * modules/winsz-termios: New module.
58643         * modules/xnanosleep (Depends-on): Add nanosleep.
58644         * modules/ullong_max: Remove.
58645         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
58646         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
58647         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
58648         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
58649         (Depends-on): Add inttypes.
58650         (lib_SOURCES): Add xstrtol.h.
58651         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
58652         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
58653         * MODULES.html.sh: Move 'assert' into the assert section.
58654         Move 'dummy' into the linking section.
58655         Remove ullong_max.
58656         Add section for compatibility checks for POSIX:2001 functions,
58657         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
58658         winsz-ioctl, and winsz-termios into it.
58659         Add lchmod.
58660         Add top-level Misc section and put host-os, perl, and uptime
58661         into it.
58662
58663 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
58664
58665         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
58666         now assume the stdint module.  Do not include inttypes.h.
58667         * lib/fsusage.h: Likewise.
58668         * lib/getndelim2.c: Likewise.
58669         * lib/human.h: Likewise.
58670         * lib/inttostr.h: Likewise.
58671         * lib/obstack.c: Likewise.
58672         * lib/regex_internal.h: Likewise.
58673         * lib/tempname.c: Likewise.
58674         * lib/utimecmp.c: Likewise.
58675         * lib/xstrtol.h: Likewise.
58676
58677         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
58678
58679         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
58680         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
58681         * lib/xtime.h: Likewise.
58682
58683 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58684
58685         * modules/openat (Files): Add lib/fchmodat.c.
58686         Fixes problem reported by Jay Youngman.
58687
58688 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
58689
58690         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
58691         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
58692
58693 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
58694             Bruno Haible  <bruno@clisp.org>
58695
58696         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
58697         and is a script that invokes bison. Tighten the code. Add comments.
58698
58699 2006-08-18  Jim Meyering  <jim@meyering.net>
58700
58701         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
58702         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
58703         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
58704         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
58705
58706 2006-08-18  Bruno Haible  <bruno@clisp.org>
58707
58708         * modules/bison-i18n: New file.
58709         * MODULES.html.sh (Internationalization functions): Add it.
58710
58711 2006-08-18  Bruno Haible  <bruno@clisp.org>
58712
58713         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
58714         sys/statvfs.h. When getmntinfo was found, check its declaration and
58715         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
58716
58717 2006-08-18  Bruno Haible  <bruno@clisp.org>
58718
58719         * m4/bison-i18n.m4: New file, from bison.
58720
58721 2006-08-18  Bruno Haible  <bruno@clisp.org>
58722
58723         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
58724         (ME_DUMMY): Treat "kernfs" as a dummy.
58725         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
58726
58727 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58728
58729         Update from coreutils.
58730
58731         2006-08-15  Jim Meyering  <jim@meyering.net>
58732
58733         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
58734
58735         2006-01-17  Jim Meyering  <jim@meyering.net>
58736
58737         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
58738
58739         2006-01-11  Jim Meyering  <jim@meyering.net>
58740
58741         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
58742         Check for the lchmod function.
58743
58744 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
58745
58746         Update from coreutils.
58747
58748         * lib/__fpending.h: Add copyright notice.
58749         * lib/fprintftime.h: Likewise.
58750         * lib/savedir.c: Use (C) in copyright notice.
58751         * lib/savedir.h: Likewise.
58752
58753         2006-08-15  Jim Meyering  <jim@meyering.net>
58754
58755         * lib/at-func.c: New file, with the logic of all emulated at-functions.
58756         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
58757         in support of the EXPECTED_ERRNO macro.
58758         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
58759         definitions.  Instead, define the appropriate symbols and include
58760         "at-func.c".
58761         * lib/mkdirat.c (mkdirat): Likewise.
58762         * lib/fchmodat.c (fchmodat): Likewise.
58763         (ENOSYS): Remove definition.
58764         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
58765         it.  Don't include "unistd--.h" -- it wasn't ever used.
58766
58767         2006-01-17  Jim Meyering  <jim@meyering.net>
58768
58769         Rewrite fts.c not to change the current working directory,
58770         by using openat, fstatat, fdopendir, etc..
58771
58772         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
58773         (HAVE_OPENAT_SUPPORT): Define.
58774         [_LIBC] (fchdir): Don't undef or define; no longer used.
58775         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
58776         Now, this `function' always succeeds, and consumes its file descriptor
58777         parameter -- so callers must not close such FDs.  Update callers.
58778         (diropen_fd, opendirat, cwd_advance_fd): New functions.
58779         (diropen): Add parameter, SP.  Adjust all callers.
58780         Implement using diropen_fd, rather than open.
58781         (fts_open): Initialize new member, fts_cwd_fd.
58782         Remove fts_rft-setting code.
58783         (fts_close): Close fts_cwd_fd, if necessary.
58784         (__opendir2): Define in terms of opendir or opendirat,
58785         depending on whether the FST_NOCHDIR flag is set.
58786         (fts_build): Since fts_safe_changedir consumes its FD, and since
58787         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
58788         and close the dup'd file descriptor upon failure.
58789         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
58790         (fts_safe_changedir): Tweak semantics to reflect that this function
58791         now calls cwd_advance_fd and hence consumes its FD argument.
58792         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
58793         [struct FTS] (fts_rft): Remove now-unused member.
58794         [struct FTS] (fts_cycle.state): Improve comment.
58795
58796         * lib/openat.c (openat_needs_fchdir): New function.
58797         * lib/openat.h (openat_needs_fchdir): Declare it.
58798
58799 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
58800
58801         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
58802         Problem and fix reported by Pádraig Brady in
58803         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
58804
58805 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58806
58807         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
58808
58809 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58810
58811         * lib/memcoll.c (memcoll): Optimize for the common case where the
58812         arguments are bytewise equal.
58813
58814 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58815
58816         * doc/regexprops-generic.texi: Add a copyright notice.
58817
58818 2006-08-15  Bruno Haible  <bruno@clisp.org>
58819
58820         * modules/tmpdir (License): Change to LGPL.
58821
58822 2006-08-15  Bruno Haible  <bruno@clisp.org>
58823
58824         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
58825         module.
58826
58827 2006-08-14  Simon Josefsson  <jas@extundo.com>
58828
58829         * config/srclist.txt: Add gnupload.
58830
58831 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58832
58833         Change copyright notice from LGPL 2 to GPL 2, since that's the
58834         standard form used in the gnulib repository.
58835         * tests/test-lock.c: Likewise.
58836         * tests/test-stdint.c: Likewise.
58837         * tests/test-tls.c: Likewise.
58838
58839         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
58840         prelude-manager.  User shorter URLs for GNU projects, without '?'.
58841         Add copyright notice.
58842
58843         * check-module: Add copyright notice.  Output a copyright
58844         notice if "--version" is specified.
58845         * modules/COPYING: New file.
58846         * tests/test-getaddrinfo.c: Add copyright notice.
58847         * tests/test-verify.c: Likewise.
58848
58849 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58850
58851         Change copyright notice from LGPL 2 to GPL 2, since that's the
58852         standard form used in the gnulib repository.
58853         * lib/lock.c: LGPL -> GPL.
58854         * lib/lock.h: Likewise.
58855         * lib/strnlen1.c: Likewise.
58856         * lib/strnlen1.h: Likewise.
58857         * lib/tls.c: Likewise.
58858         * lib/tls.h: Likewise.
58859         * lib/tmpdir.c: Likewise.
58860
58861         * lib/TODO: Remove; this belongs only in coreutils.
58862
58863 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58864
58865         Add copyright notices to long-enough files that lack them, since
58866         otherwise the files aren't clearly free.  Use the same notice that
58867         getdate.texi already uses.
58868         * doc/alloca-opt.texi: Add copyright notice.
58869         * doc/alloca.texi: Likewise.
58870         * doc/ctime.texi: Likewise.
58871         * doc/functions.texi: Likewise.
58872         * doc/gcd.texi: Likewise.
58873         * doc/gnulib-tool.texi: Likewise.
58874         * doc/inet_ntoa.texi: Likewise.
58875         * doc/visibility.texi: Likewise.
58876
58877         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
58878         * doc/quote.texi: Add copyright notice.
58879
58880         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
58881         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
58882         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
58883         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
58884         is now obsolete, and give a pointer to the Sun list.
58885         Add copyright notice.
58886
58887 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
58888
58889         * config/srclistvars.sh: Add copyright notice.
58890
58891 2006-08-14  Eric Blake  <ebb9@byu.net>
58892
58893         Import the following change from libc:
58894
58895         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
58896
58897         Upstream bug 2997.
58898         * lib/misc/error.c: Add space between program name and message if file
58899         name is missing.
58900
58901 2006-08-12  Karl Berry  <karl@gnu.org>
58902
58903         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
58904         remove, these originate in gnulib now.
58905
58906 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58907
58908         * doc/Makefile (standards.info standards.html standards.dvi):
58909         Also depend on make-stds.texi.
58910
58911 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
58912
58913         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
58914         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
58915
58916         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
58917         in wchar_t.  Problem reported by Eric Blake.
58918
58919         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
58920         LEN is smaller than SIZE.  Suggested by Bruno Haible.
58921         Also, help the compiler to keep LEN in a register.
58922
58923 2006-08-11  Eric Blake  <ebb9@byu.net>
58924
58925         * users.txt: Sort.  Add tar.
58926
58927 2006-08-11  Bruno Haible  <bruno@clisp.org>
58928
58929         * users.txt: New file.
58930
58931 2006-08-11  Bruno Haible  <bruno@clisp.org>
58932
58933         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
58934         before <wchar.h>. Needed for OSF/1 and BSD/OS.
58935
58936 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58937
58938         * modules/snprintf (Depends-on): Remove minmax.
58939         (Maintainer): Add self and Bruno.
58940
58941 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
58942
58943         * lib/.cppi-disable: Add snprintf.h, socket_.h.
58944         * lib/snprintf.c: Include <errno.h> and <limits.h>.
58945         (EOVERFLOW): Define if the system does not.
58946         Do not include "minmax.h"; it wasn't used.
58947         (snprintf): Don't assume size_t promotes to an unsigned type.
58948         Fix bug when generated string was too long for the buffer: the
58949         buffer's contents are supposed to be the initial prefix of the
58950         output.  Don't assume vasnprintf returns EOVERFLOW if the size
58951         exceeds INT_MAX; do the check ourselves.
58952
58953         Import the following changes from libc:
58954
58955         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
58956
58957         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
58958         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
58959         set wc to the byte which couldn't be converted.
58960         (re_string_reconstruct): Don't clear valid_raw_len before calling
58961         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
58962         tip_context using re_string_context_at.
58963
58964         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
58965
58966         * lib/posix/regex.h: g++ still cannot handled [restrict].
58967
58968         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
58969
58970         * lib/posix/regex.h: Remove special handling for VMS.
58971
58972 2006-08-10  Jim Meyering  <jim@meyering.net>
58973
58974         * modules/same-inode: New module.
58975         * modules/dev-ino: New module.
58976         * modules/cycle-check: Depend on these modules, rather than simply
58977         including their .h files.
58978         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
58979         required via m4/cycle-check.m4.
58980         * modules/same: Depend on new same-inode module, rather than
58981         including same-inode.h.
58982         * modules/chdir-safer: New file.
58983
58984         * modules/chown (Depends-on): Add stat-macros.
58985
58986 2006-08-10  Jim Meyering  <jim@meyering.net>
58987
58988         * m4/cycle-check.m4: New file.
58989         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
58990         * m4/dev-ino.m4, m4/same-inode.m4: New files.
58991
58992 2006-08-10  Eric Blake  <ebb9@byu.net>
58993
58994         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
58995         in from original proposal.
58996
58997 2006-08-10  Eric Blake  <ebb9@byu.net>
58998         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58999
59000         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
59001         namespace.
59002
59003 2006-08-10  Bruno Haible  <bruno@clisp.org>
59004
59005         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
59006         as well.
59007
59008 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59009
59010         Sync from coreutils.
59011
59012         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
59013
59014         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
59015         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
59016
59017 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59018
59019         * modules/restrict: Remove; no longer needed now that we assume
59020         Autoconf 2.59 or later.
59021         * MODULES.html.sh: Remove 'restrict'.
59022         * modules/argp (Depends-on): Remove 'restrict'.
59023         * modules/base64 (Depends-on): Likewise.
59024         * modules/gc (Depends-on): Likewise.
59025         * modules/getaddrinfo (Depends-on): Likewise.
59026         * modules/glob (Depends-on): Likewise.
59027         * modules/inet_ntop (Depends-on): Likewise.
59028         * modules/inet_pton (Depends-on): Likewise.
59029         * modules/memxor (Depends-on): Likewise.
59030         * modules/regex (Depends-on): Likewise.
59031         * modules/strtok_r (Depends-on): Likewise.
59032         * modules/time_r (Depends-on): Likewise.
59033
59034 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59035
59036         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
59037         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
59038         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59039         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
59040         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
59041         * m4/memxor.m4 (gl_MEMXOR): Likewise.
59042         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
59043         gl_C_RESTRICT replaced by AC_C_RESTRICT.
59044
59045         Merge from coreutils.
59046         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
59047         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
59048         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
59049         * m4/time_r.m4 (gl_TIME_R): Likewise.
59050
59051 2006-08-09  Karl Berry  <karl@gnu.org>
59052
59053         * config/srclist.txt: no more gettext-tools, per Bruno.
59054
59055 2006-08-08  Eric Blake  <ebb9@byu.net>
59056
59057         * modules/verror: New module.
59058         * MODULES.html.sh: Document it.
59059
59060 2006-08-08  Eric Blake  <ebb9@byu.net>
59061
59062         * lib/verror.h, lib/verror.c: New files.
59063
59064 2006-08-08  Eric Blake  <ebb9@byu.net>
59065
59066         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
59067         verror_at_line output complies with GNU Coding Standards even when
59068         file is NULL.
59069
59070 2006-08-07  Bruno Haible  <bruno@clisp.org>
59071
59072         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
59073         versions of AIX.
59074         Reported by Ralf Wildenhues.
59075
59076 2006-08-07  Bruno Haible  <bruno@clisp.org>
59077
59078         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
59079         in an AC_DEFUN. Needed so that the autoconf snippets can use
59080         AC_REQUIRE.
59081
59082 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59083
59084         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59085         Initialize pkgdata_DATA.
59086         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
59087         overriding it.
59088
59089 2006-08-06  Eric Blake  <ebb9@byu.net>
59090
59091         * lib/error.h: Fold in some upstream changes from glibc.
59092         * lib/error.c: Likewise.
59093
59094 2006-08-04  Bruno Haible  <bruno@clisp.org>
59095
59096         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59097         Make the mostlyclean-local rule depend on mostlyclean-generic.
59098         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
59099
59100 2006-07-31  Bruno Haible  <bruno@clisp.org>
59101
59102         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
59103         <stdlib.h>, <string.h>.
59104
59105 2006-07-30  Bruno Haible  <bruno@clisp.org>
59106
59107         * modules/readlink (License): Change to LGPL.
59108
59109 2006-07-30  Bruno Haible  <bruno@clisp.org>
59110
59111         * modules/javaversion (Makefile.am): Distribute javaversion.java and
59112         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
59113         set PKGDATADIR to point to it.
59114
59115 2006-07-30  Bruno Haible  <bruno@clisp.org>
59116
59117         * modules/csharpexec (configure.ac): Comment out macro invocation.
59118         * modules/javaexec (configure.ac): Likewise.
59119         * modules/javacomp-script (configure.ac): Likewise.
59120
59121         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
59122
59123 2006-07-30  Bruno Haible  <bruno@clisp.org>
59124
59125         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
59126         linked-list.
59127
59128 2006-07-30  Bruno Haible  <bruno@clisp.org>
59129
59130         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
59131
59132 2006-07-30  Bruno Haible  <bruno@clisp.org>
59133
59134         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59135         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
59136         get removed.
59137
59138 2006-07-29  Bruno Haible  <bruno@clisp.org>
59139
59140         Make it possible for gnulib-tool to work with locally modified or
59141         augmented gnulib repositories.
59142         * gnulib-tool (func_usage): Document --local-dir option.
59143         (local_gnulib_dir): New variable.
59144         Handle --local-dir option.
59145         (func_lookup_file): New function.
59146         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
59147         (func_get_description, func_get_filelist, func_get_description,
59148         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
59149         func_get_automake_snippet, func_get_include_directive,
59150         func_get_license, func_get_maintainer): Use func_lookup_file.
59151         (func_import, func_create_testdir): Use func_lookup_file.
59152
59153 2006-07-29  Bruno Haible  <bruno@clisp.org>
59154
59155         * modules/setenv (Depends-on): Add unistd.
59156
59157 2006-07-29  Bruno Haible  <bruno@clisp.org>
59158
59159         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
59160
59161 2006-07-29  Bruno Haible  <bruno@clisp.org>
59162
59163         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
59164
59165 2006-07-29  Bruno Haible  <bruno@clisp.org>
59166
59167         * gnulib-tool (import, update): If there is no Makefile.am, look at
59168         aclocal.m4, instead of bailing out.
59169
59170 2006-07-29  Bruno Haible  <bruno@clisp.org>
59171
59172         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
59173         Categorize the options by when they are useful.
59174
59175 2006-07-29  Bruno Haible  <bruno@clisp.org>
59176
59177         * gnulib-tool (func_usage): Document option --no-libtool.
59178         Handle option --no-libtool.
59179         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
59180         for changed semantics of $libtool variable.
59181         (func_import): Likewise. If libtool is not used, show this through
59182         an option --no-libtool.
59183         (func_create_testdir): Update.
59184
59185 2006-07-29  Bruno Haible  <bruno@clisp.org>
59186
59187         * gnulib-tool (func_import): Extend error message about missing
59188         --doc-base.
59189
59190 2006-07-29  Bruno Haible  <bruno@clisp.org>
59191
59192         * gnulib-tool (func_import): Don't create the $docbase directory if
59193         there is no file to store there.
59194
59195 2006-07-29  Bruno Haible  <bruno@clisp.org>
59196
59197         * gnulib-tool (autoconf_minversion): If a --dir option is given and
59198         relevant, look for configure.ac there, not in the current directory.
59199         Also use a simple search for AC_PREREQ, not "autoconf --trace".
59200
59201 2006-07-29  Bruno Haible  <bruno@clisp.org>
59202
59203         * gnulib-tool (SORT): New variable.
59204         (func_usage): Undocument --assume-autoconf option.
59205         Remove --assume-autoconf option handling.
59206         (autoconf_minversion): Determine from the contents of configure.ac.
59207         (func_import): Remove autoconf_minversion handling.
59208         Suggested by Eric Blake.
59209
59210 2006-07-29  Bruno Haible  <bruno@clisp.org>
59211
59212         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
59213
59214 2006-07-29  Bruno Haible  <bruno@clisp.org>
59215
59216         * config/srclist.txt (*setenv.[ch]): Remove rules.
59217
59218 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59219
59220         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
59221
59222 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59223
59224         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
59225         arpa/inet.h.
59226
59227 2006-07-28  Simon Josefsson  <jas@extundo.com>
59228
59229         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
59230         * modules/inet_pton (Depends-on): Likewise.
59231
59232 2006-07-28  Simon Josefsson  <jas@extundo.com>
59233
59234         * m4/netinet_in_h.m4: New file.
59235
59236 2006-07-28  Simon Josefsson  <jas@extundo.com>
59237
59238         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
59239         #include's.
59240
59241 2006-07-28  Simon Josefsson  <jas@extundo.com>
59242
59243         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
59244         #include's.
59245
59246 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
59247
59248         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
59249         setgid on directories only if they set these bits.
59250         * lib/modechange.h: Remove obsolete comment about masks.
59251
59252 2006-07-28  Eric Blake  <ebb9@byu.net>
59253
59254         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
59255         macro expansion.
59256
59257 2006-07-28  Bruno Haible  <bruno@clisp.org>
59258
59259         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
59260
59261 2006-07-28  Bruno Haible  <bruno@clisp.org>
59262
59263         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
59264
59265 2006-07-28  Bruno Haible  <bruno@clisp.org>
59266
59267         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59268         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59269         Define fallbacks.
59270         Avoids link error on FreeBSD 4.x.
59271         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59272
59273         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
59274         encoding.
59275         * lib/mbswidth.c (iswcntrl): Likewise.
59276
59277 2006-07-27  Bruno Haible  <bruno@clisp.org>
59278
59279         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
59280         test.
59281
59282 2006-07-27  Bruno Haible  <bruno@clisp.org>
59283
59284         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
59285         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
59286         defined.
59287
59288 2006-07-26  Eric Blake  <ebb9@byu.net>
59289
59290         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
59291
59292 2006-07-26  Eric Blake  <ebb9@byu.net>
59293
59294         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
59295         like mingw that lack mkstemp.
59296         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
59297         avoid compilation warning on mingw.
59298
59299 2006-07-26  Bruno Haible  <bruno@clisp.org>
59300
59301         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
59302         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
59303         INT_FAST*_MIN, INTPTR_MIN.
59304
59305 2006-07-25  Bruno Haible  <bruno@clisp.org>
59306
59307         * modules/version-etc (Depends-on): Add stdarg.
59308
59309 2006-07-25  Bruno Haible  <bruno@clisp.org>
59310
59311         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
59312         complex commands.
59313
59314 2006-07-25  Bruno Haible  <bruno@clisp.org>
59315
59316         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
59317         defined in <stdarg.h> or config.h.
59318
59319 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59320
59321         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
59322         (gl_STDIO_SAFER): Remove.
59323
59324 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
59325
59326         * MODULES.html.sh (File stream based Input/Output):
59327         Add fopen-safer, tmpfile-safer; remove stdio-safer.
59328         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
59329         * modules/fopen-safer, modules/tmpfile-safer: New files.
59330         * modules/stdio-safer: Remove.
59331
59332 2006-07-24  Bruno Haible  <bruno@clisp.org>
59333
59334         * modules/tmpdir: New file.
59335         * MODULES.html.sh (File system functions): Add it.
59336
59337 2006-07-24  Bruno Haible  <bruno@clisp.org>
59338
59339         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
59340         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
59341
59342 2006-07-24  Bruno Haible  <bruno@clisp.org>
59343
59344         * modules/clean-temp: New file.
59345
59346 2006-07-24  Bruno Haible  <bruno@clisp.org>
59347
59348         * m4/tmpdir.m4: New file, from GNU gettext.
59349
59350 2006-07-24  Bruno Haible  <bruno@clisp.org>
59351
59352         * lib/tmpdir.h: New file, from GNU gettext.
59353         * lib/tmpdir.c: New file, from GNU gettext.
59354
59355 2006-07-24  Bruno Haible  <bruno@clisp.org>
59356
59357         * lib/clean-temp.h: New file, from GNU gettext.
59358         * lib/clean-temp.c: New file, from GNU gettext.
59359
59360 2006-07-23  Eric Blake  <ebb9@byu.net>
59361
59362         * modules/stdio-safer (Files): Add tmpfile-safer.c.
59363         (Depends-on): Add binary-io.
59364
59365 2006-07-23  Eric Blake  <ebb9@byu.net>
59366
59367         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
59368
59369 2006-07-23  Eric Blake  <ebb9@byu.net>
59370
59371         * lib/tmpfile-safer.c: New file.
59372         * lib/stdio-safer.h (fopen_safer): Add prototype.
59373         * lib/stdio--.h (tmpfile): Make safer.
59374
59375 2006-07-23  Bruno Haible  <bruno@clisp.org>
59376
59377         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
59378         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
59379         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
59380         gl_linked_remove_at): Use it.
59381
59382 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
59383         and Simon Josefsson <jas@extundo.com>
59384
59385         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
59386
59387         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
59388
59389 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59390
59391         * modules/close-stream: New file.
59392         * modules/closeout (Description): Make it clear that it exits
59393         with a diagnostic on error.
59394         (Depends-on): Add close-stream.  Remove fpending, stdbool.
59395         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
59396
59397 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59398
59399         * m4/close-stream.m4: New file.
59400
59401 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
59402
59403         * lib/close-stream.c, lib/close-stream.h: New files.
59404
59405 2006-07-22  Bruno Haible  <bruno@clisp.org>
59406
59407         Merge from GNU gettext 0.15.
59408
59409         2006-05-01  Bruno Haible  <bruno@clisp.org>
59410
59411                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
59412
59413         2006-07-22  Bruno Haible  <bruno@clisp.org>
59414
59415                 * modules/javaversion: New file.
59416                 * MODULES.html.sh (Java): Add javaversion.
59417
59418         2006-03-12  Bruno Haible  <bruno@clisp.org>
59419
59420                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
59421
59422         2005-12-04  Bruno Haible  <bruno@clisp.org>
59423
59424                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
59425                 (untested).
59426
59427         2006-06-21  Bruno Haible  <bruno@clisp.org>
59428
59429                 Avoid warnings from recent versions of mcs.
59430                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
59431                 -o, -L, -r any more. Use options documented since mcs-1.0
59432                 instead. Similarly for -g.
59433
59434         2005-12-04  Bruno Haible  <bruno@clisp.org>
59435
59436                 * build-aux/csharpcomp.sh.in: Suffix for resources is
59437                 .resources, not .resource.
59438
59439         2005-07-09  Bruno Haible  <bruno@clisp.org>
59440
59441                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
59442                 add a .dll suffix.
59443                 Reported by Mark Junker <mjscod@gmx.de>.
59444
59445         2006-07-22  Bruno Haible  <bruno@clisp.org>
59446
59447                 * modules/gettext: Upgrade to gettext-0.15.
59448                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
59449                 m4/visibility.m4.
59450                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
59451
59452 2006-07-22  Bruno Haible  <bruno@clisp.org>
59453
59454         Merge from GNU gettext 0.15.
59455
59456         2006-03-25  Bruno Haible  <bruno@clisp.org>
59457
59458                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
59459
59460         2006-07-21  Bruno Haible  <bruno@clisp.org>
59461
59462                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
59463                 "1.1".
59464
59465         2006-05-09  Bruno Haible  <bruno@clisp.org>
59466
59467                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
59468                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
59469                 for the conftestver execution.
59470
59471         2006-05-01  Bruno Haible  <bruno@clisp.org>
59472
59473                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
59474                 optional target-version argument. Verify that the compiler
59475                 groks source of the specified source-version, or add -source
59476                 option as necessary. Verify that the compiler produces
59477                 bytecode in the specified target-version, or add -target and
59478                 -source options as necessary. Make the result of the test
59479                 available as variable CONF_JAVAC. Also log error output in
59480                 config.log.
59481
59482         2006-03-11  Bruno Haible  <bruno@clisp.org>
59483
59484                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
59485
59486         2006-05-09  Bruno Haible  <bruno@clisp.org>
59487
59488                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
59489                 CLASSPATH_SEPARATOR to a semicolon.
59490
59491         2006-03-12  Bruno Haible  <bruno@clisp.org>
59492
59493                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
59494                 available as variable CONF_JAVA, for subsequent autoconf
59495                 tests. Also log error output in config.log.
59496
59497         2006-07-19  Bruno Haible  <bruno@clisp.org>
59498
59499                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
59500                 that getline works on glibc2 systems. Needed to avoid trouble
59501                 in relocatable.c.
59502                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
59503
59504         2005-12-04  Bruno Haible  <bruno@clisp.org>
59505
59506                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
59507                 launcher (untested).
59508
59509         2005-12-04  Bruno Haible  <bruno@clisp.org>
59510
59511                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
59512
59513         2006-07-22  Bruno Haible  <bruno@clisp.org>
59514
59515                 * gettext.m4: Update from GNU gettext-0.15.
59516                 * nls.m4: Likewise.
59517                 * po.m4: Likewise.
59518                 * inttypes-pri.m4: Likewise.
59519                 * inttypes-h.m4: Renamed from inttypes.m4.
59520                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
59521
59522 2006-07-22  Bruno Haible  <bruno@clisp.org>
59523
59524         Merge from GNU gettext 0.15.
59525
59526         2005-07-05  Bruno Haible  <bruno@clisp.org>
59527
59528                 * printf-args.c (printf_fetchargs): Work around broken
59529                 definition of wint_t on mingw.
59530
59531         2005-02-12  Bruno Haible  <bruno@clisp.org>
59532
59533                 * xallocsa.h: Add extern "C" for C++.
59534
59535         2006-05-17  Bruno Haible  <bruno@clisp.org>
59536
59537                 Cygwin portability.
59538                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
59539
59540         2006-04-30  Bruno Haible  <bruno@clisp.org>
59541
59542                 * progreloc.c: Include <mach-o/dyld.h> if available.
59543                 (find_executable): Use _NSGetExecutablePath when possible.
59544
59545         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
59546
59547                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
59548                 function.
59549
59550         2005-12-29  Bruno Haible  <bruno@clisp.org>
59551
59552                 * progreloc.c (set_program_name_and_installdir): Fix
59553                 compilation error.
59554
59555         2005-12-04  Bruno Haible  <bruno@clisp.org>
59556
59557                 Cygwin portability.
59558                 * progreloc.c: Include <windows.h> also on Cygwin.
59559                 (find_executable): Add support for Cygwin.
59560                 (set_program_name_and_installdir): Handle also platforms with
59561                 nonempty EXEEXT.
59562
59563         2006-07-11  Bruno Haible  <bruno@clisp.org>
59564
59565                 * javacomp.c: Fix a comment.
59566                 Reported by Jim Meyering.
59567
59568         2006-04-30  Bruno Haible  <bruno@clisp.org>
59569
59570                 * javacomp.h (compile_java_class): Add source_version,
59571                 target_version arguments.
59572                 * javacomp.c: Rewritten to choose only a compiler that
59573                 respects the specified source_version and target_version.
59574
59575         2006-06-27  Bruno Haible  <bruno@clisp.org>
59576
59577                 Assume correct S_ISDIR macro.
59578                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
59579
59580         2006-07-22  Bruno Haible  <bruno@clisp.org>
59581
59582                 * javaversion.h: New file, from GNU gettext.
59583                 * javaversion.c: New file, from GNU gettext.
59584                 * javaversion.java: New file, from GNU gettext.
59585                 * javaversion.class: New file, from GNU gettext.
59586
59587         2006-05-17  Bruno Haible  <bruno@clisp.org>
59588
59589                 Cygwin portability.
59590                 * javaexec.c (execute_java_class): Test for jview program
59591                 also on Cygwin.
59592
59593         2006-04-09  Bruno Haible  <bruno@clisp.org>
59594
59595                 * fatal-signal.c: Don't include string.h.
59596                 (at_fatal_signal): Use a copying loop instead of memcpy.
59597
59598         2005-12-04  Bruno Haible  <bruno@clisp.org>
59599
59600                 * csharpexec.c: Add support for 'clix' launcher (untested).
59601                 (execute_csharp_using_sscli): New function.
59602                 (execute_csharp_program): Call it.
59603
59604         2006-06-21  Bruno Haible  <bruno@clisp.org>
59605
59606                 Avoid warnings from recent versions of mcs.
59607                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
59608                 -o, -L, -r any more. Use options documented since mcs-1.0
59609                 instead. Similarly for -g.
59610
59611         2005-07-09  Bruno Haible  <bruno@clisp.org>
59612
59613                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
59614                 add a .dll suffix.
59615                 Reported by Mark Junker <mjscod@gmx.de>.
59616
59617         2006-06-17  Bruno Haible  <bruno@clisp.org>
59618
59619                 * config.charset: Update for NetBSD 3.0.
59620
59621         2006-05-17  Bruno Haible  <bruno@clisp.org>
59622
59623                 Cygwin portability.
59624                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
59625
59626         2006-05-16  Bruno Haible  <bruno@clisp.org>
59627
59628                 * localcharset.c [CYGWIN]: Include <windows.h>.
59629                 (get_charset_aliases): For Cygwin, return the same CPxxx
59630                 aliases list as under WIN32.
59631                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
59632                 the environment variables. Fall back to GetACP().
59633
59634         2006-04-05  Bruno Haible  <bruno@clisp.org>
59635
59636                 * config.charset: Update Juan Manuel Guerrero's address.
59637
59638         2005-02-12  Bruno Haible  <bruno@clisp.org>
59639
59640                 * allocsa.h: Add extern "C" for C++.
59641
59642         2005-02-10  Bruno Haible  <bruno@clisp.org>
59643
59644                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
59645                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
59646
59647         2006-07-22  Bruno Haible  <bruno@clisp.org>
59648
59649                 * gettext.h: Update to GNU gettext-0.15.
59650
59651 2006-07-22  Bruno Haible  <bruno@clisp.org>
59652
59653         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
59654         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
59655         lib-prefix.m4, longdouble.m4, ssize_t.m4.
59656
59657 2006-07-21  Eric Blake  <ebb9@byu.net>
59658
59659         * modules/stdlib-safer: New file.
59660         * MODULES.html.sh (File stream based Input/Output): Add
59661         stdlib-safer.
59662
59663 2006-07-21  Eric Blake  <ebb9@byu.net>
59664
59665         * lib/stdlib-safer.h: New file from coreutils, required by
59666         stdlib--.h.
59667
59668 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
59669
59670         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
59671
59672 2006-07-20  Bruno Haible  <bruno@clisp.org>
59673
59674         * gnulib-tool: Recognize new option --assume-autoconf.
59675         (autoconf_minversion): New variable.
59676         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
59677
59678 2006-07-20  Bruno Haible  <bruno@clisp.org>
59679
59680         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
59681
59682 2006-07-19  Derek R. Price  <derek@ximbiot.com>
59683
59684         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
59685         Reindent and repaginate.
59686
59687 2006-07-19  Derek Price  <derek@ximbiot.com>
59688
59689         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
59690         Correct grammar.
59691
59692 2006-07-17  Bruno Haible  <bruno@clisp.org>
59693
59694         * modules/list: New file.
59695         * modules/array-list: New file.
59696         * modules/carray-list, modules/carray-list-tests: New files.
59697         * modules/linked-list, modules/linked-list-tests: New files.
59698         * modules/avltree-list, modules/avltree-list-tests: New files.
59699         * modules/rbtree-list, modules/rbtree-list-tests: New files.
59700         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
59701         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
59702         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
59703         * modules/oset: New file.
59704         * modules/array-oset: New file.
59705         * modules/avltree-oset, modules/avltree-oset-tests: New files.
59706         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
59707         * tests/test-carray_list.c: New file.
59708         * tests/test-linked_list.c: New file.
59709         * tests/test-avltree_list.c: New file.
59710         * tests/test-rbtree_list.c: New file.
59711         * tests/test-linkedhash_list.c: New file.
59712         * tests/test-avltreehash_list.c: New file.
59713         * tests/test-rbtreehash_list.c: New file.
59714         * tests/test-avltree_oset.c: New file.
59715         * tests/test-rbtree_oset.c: New file.
59716         * MODULES.html.sh (Container data structures): New section.
59717
59718 2006-07-17  Bruno Haible  <bruno@clisp.org>
59719
59720         * m4/gl_list.m4: New file.
59721
59722 2006-07-17  Bruno Haible  <bruno@clisp.org>
59723
59724         * lib/gl_list.h: New file.
59725         * lib/gl_list.c: New file.
59726         * lib/gl_array_list.h: New file.
59727         * lib/gl_array_list.c: New file.
59728         * lib/gl_carray_list.h: New file.
59729         * lib/gl_carray_list.c: New file.
59730         * lib/gl_linked_list.h: New file.
59731         * lib/gl_linked_list.c: New file.
59732         * lib/gl_anylinked_list1.h: New file.
59733         * lib/gl_anylinked_list2.h: New file.
59734         * lib/gl_avltree_list.h: New file.
59735         * lib/gl_avltree_list.c: New file.
59736         * lib/gl_anyavltree_list1.h: New file.
59737         * lib/gl_anyavltree_list2.h: New file.
59738         * lib/gl_rbtree_list.h: New file.
59739         * lib/gl_rbtree_list.c: New file.
59740         * lib/gl_anyrbtree_list1.h: New file.
59741         * lib/gl_anyrbtree_list2.h: New file.
59742         * lib/gl_anytree_list1.h: New file.
59743         * lib/gl_anytree_list2.h: New file.
59744         * lib/gl_linkedhash_list.h: New file.
59745         * lib/gl_linkedhash_list.c: New file.
59746         * lib/gl_anyhash_list1.h: New file.
59747         * lib/gl_anyhash_list2.h: New file.
59748         * lib/gl_avltreehash_list.h: New file.
59749         * lib/gl_avltreehash_list.c: New file.
59750         * lib/gl_rbtreehash_list.h: New file.
59751         * lib/gl_rbtreehash_list.c: New file.
59752         * lib/gl_anytreehash_list1.h: New file.
59753         * lib/gl_anytreehash_list2.h: New file.
59754
59755         * lib/gl_oset.h: New file.
59756         * lib/gl_oset.c: New file.
59757         * lib/gl_array_oset.h: New file.
59758         * lib/gl_array_oset.c: New file.
59759         * lib/gl_avltree_oset.h: New file.
59760         * lib/gl_avltree_oset.c: New file.
59761         * lib/gl_rbtree_oset.h: New file.
59762         * lib/gl_rbtree_oset.c: New file.
59763         * lib/gl_anytree_oset.h: New file.
59764
59765 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59766
59767         * m4/mkancesdirs.m4: New file.
59768         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
59769         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
59770         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
59771         it.
59772
59773 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59774
59775         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
59776         * lib/mkancesdirs.h: New files.
59777         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
59778         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
59779         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
59780         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
59781         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
59782         callers changed.  Revamp internals significantly, by not
59783         attempting to create directories that are temporarily more
59784         permissive than the final results.  Do not attempt to use
59785         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
59786         This removes some race conditions, fixes some bugs, and simplifies
59787         things.  Use new dirchownmod function to do owner and mode changes.
59788         * lib/mkdir-p.h: Likewise.
59789         * lib/modechange.c (octal_to_mode): New function.
59790         (struct mode_change): New member mentioned.
59791         (make_node_op_equals): New arg mentioned.  All callers changed.
59792         (mode_compile): Keep track of which mode bits the user has explicitly
59793         mentioned.
59794         (mode_adjust): New arg DIR, so that we implement the X op correctly.
59795         New arg PMODE_BITS, to keep track of which mode bits the user
59796         mentioned; it treats S_ISUID and S_ISGID speciall.
59797         All callers changed.
59798         * lib/modechange.h: Likewise.
59799
59800 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
59801
59802         * MODULES.html.sh: Add mkancestors.
59803         * modules/mkancesdirs: New module.
59804         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
59805         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
59806         The chdir-safer and afs files are now orphans; I'll remove them
59807         unless someone speaks up.
59808         Add lib/dirchownmod.c, lib/dirchownmod.h.
59809         (Depends-on): Remove alloca, chown, save-cwd, dirname.
59810         Add lchown, mkancesdirs.
59811         (Maintainer): Add self.
59812
59813 2006-07-15  Karl Berry  <karl@gnu.org>
59814
59815         * gnulib-tool: help message wording/arrangement.
59816
59817 2006-07-14  Simon Josefsson  <jas@extundo.com>
59818
59819         * doc/gnulib.texi (Libtool and Windows): New section.
59820
59821 2006-07-12  Simon Josefsson  <jas@extundo.com>
59822
59823         * modules/gendocs (License): Fix license, approved by Karl.
59824
59825 2006-07-12  Eric Blake  <ebb9@byu.net>
59826
59827         * MODULES.html.sh: Add gendocs.
59828
59829 2006-07-11  Eric Blake  <ebb9@byu.net>
59830
59831         * modules/fdl: New module, to install doc/fdl.texi.
59832         * MODULES.html.sh: Add new section for documentation modules.
59833         * gnulib-tool: Avoid space-tab.
59834         (--doc-base): New option, to manage files from doc.
59835
59836 2006-07-11  Eric Blake  <ebb9@byu.net>
59837
59838         * m4/absolute-header.m4: Fix comments to match recent change.
59839
59840 2006-07-11  Eric Blake  <ebb9@byu.net>
59841
59842         * gnulib-tool: List --doc-base before --tests-base.
59843
59844 2006-07-11  Derek R. Price  <derek@ximbiot.com>
59845
59846         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
59847
59848 2006-07-11  Bruno Haible  <bruno@clisp.org>
59849
59850         * README: Mention where to put documentation.
59851
59852 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59853
59854         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
59855
59856 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59857
59858         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
59859         to stdint.m4.
59860
59861 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
59862
59863         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
59864         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
59865         "no/such/file/stdint.h" when there is no such file, so that
59866         the resulting C code can be parsed by dodgy compilers.
59867         Problems reported by Bob Proulx.
59868
59869 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59870
59871         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
59872         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59873         macros into the GNU _D_EXACT_NAMLEN.
59874         * lib/savedir.c:  Likewise.
59875         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
59876
59877 2006-07-10  Derek R. Price  <derek@ximbiot.com>
59878         and Paul Eggert  <eggert@cs.ucla.edu>
59879
59880         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
59881         * m4/savedir.m4:
59882         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
59883         macros into the GNU _D_EXACT_NAMLEN.
59884
59885 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59886
59887         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
59888         around the absolute name, to work around a problem with the HP-UX
59889         11.23 native C compiler, reported by Bob Proulx.
59890
59891 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59892
59893         * doc/maintain.texi, make-stds.texi: Sync from
59894         <http://savannah.gnu.org/projects/gnustandards>.
59895
59896 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59897
59898         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
59899
59900 2006-07-09  Jim Meyering  <jim@meyering.net>
59901
59902         * m4/glob.m4: Remove a doubled word in a comment.
59903
59904 2006-07-09  Jim Meyering  <jim@meyering.net>
59905
59906         * lib/argp-pv.c: Remove a doubled word in a comment.
59907         * lib/check-version.c (check_version): Likewise.
59908         * lib/javacomp.c (compile_java_class): Likewise.
59909
59910 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
59911
59912         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
59913         for the benefit of people using Autoconf 2.60.  If you want to
59914         support older Autoconf versions you can copy m4/onceonly_2_57.m4
59915         (or m4/onceonly.m4, if pre-2.57) manually.
59916
59917 2006-07-08  Jim Meyering  <jim@meyering.net>
59918
59919         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
59920         comment.
59921         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
59922         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
59923         comment.
59924
59925 2006-07-08  Jim Meyering  <jim@meyering.net>
59926
59927         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
59928
59929 2006-07-07  Simon Josefsson  <jas@extundo.com>
59930
59931         * tests/test-crc.c: Change expected crc value, the test vector
59932         were probably computed using the old broken crc.c?
59933
59934 2006-07-06  Simon Josefsson  <jas@extundo.com>
59935
59936         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
59937         now the canonical place for the M4 file).
59938
59939         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
59940         from the sys_socket dependency now.
59941
59942         * modules/inet_pton (Files): Ditto.
59943
59944         * modules/inet_ntop (Files): Ditto.
59945
59946 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
59947
59948         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
59949         not gl_PREREQ_GETUSERSHELL.
59950
59951 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59952
59953         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
59954         with only one argument, for Autoconf 2.60.
59955         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
59956         expand to nothing, so add a shell command to avoid syntax error.
59957         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
59958
59959 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59960
59961         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
59962
59963 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59964
59965         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
59966         no longer needed.  Check for isblank decl.
59967         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
59968         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
59969         of existence.
59970
59971 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59972
59973         * lib/getloadavg.c: Use __VMS, not VMS.
59974         * lib/getopt.c: Likewise.
59975         * lib/getpagesize.h: Likewise.
59976         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
59977         and probably does not work.
59978
59979 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
59980
59981         * lib/.cppi-disable: Add wcwidth.
59982         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
59983         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
59984         (ISGRAPH): Remove.  All uses changed to isgraph.
59985         (FOLD) [!defined _LIBC]: Remove special case.
59986         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
59987         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
59988         HAVE_ISBLANK.
59989         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
59990         case.
59991
59992 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
59993
59994         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
59995         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
59996         brackets.  Other minor changes to suppress some compiler
59997         warnings.
59998
59999 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60000         and Paul Eggert  <eggert@cs.ucla.edu>
60001
60002         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
60003         of invoking obsolescent AC_HEADER_DIRENT macro.
60004         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
60005         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
60006         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
60007         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
60008         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
60009         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60010         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
60011         * m4/readdir.m4: Remove; no longer needed.
60012
60013 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60014         and Paul Eggert  <eggert@cs.ucla.edu>
60015
60016         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
60017         Don't worry about this obsolete case any more.
60018         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
60019         directories.
60020         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
60021         worry about this obsolete case any more.
60022         * lib/fts.c: Likewise.
60023         * lib/getcwd.c: Likewise.
60024         * lib/glob.h: Likewise.
60025         * lib/savedir.c: Likewise.
60026
60027 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60028
60029         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
60030         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
60031         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
60032         needed.
60033         All uses removed.
60034         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60035         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60036         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
60037         needed.
60038         * m4/getdate.m4 (gl_GETDATE): Likewise.
60039         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60040         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60041         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60042         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60043         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60044         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60045         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
60046         needed.
60047
60048 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60049
60050         * lib/memcasecmp.c: Include <limits.h>.
60051         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
60052         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
60053         Don't assume isdigit succeeds only on '0' through '9'.
60054
60055 2006-07-05  Eric Blake  <ebb9@byu.net>
60056
60057         * modules/getaddrinfo (Depends-on): Add snprintf.
60058
60059 2006-07-05  Eric Blake  <ebb9@byu.net>
60060
60061         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
60062         to avoid 'header present but could not be compiled' on cygwin.
60063
60064 2006-07-05  Eric Blake  <ebb9@byu.net>
60065
60066         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
60067         missing from netdb.h.
60068         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
60069
60070 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60071
60072         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
60073         no longer needed.
60074         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
60075         * m4/getdate.m4 (gl_GETDATE): Likewise.
60076         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60077         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60078         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
60079         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60080         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
60081
60082 2006-07-05  Derek R. Price  <derek@ximbiot.com>
60083
60084         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
60085         All uses of is_space replaced by isspace.
60086         * lib/exit.h: Don't talk about STDC_HEADERS.
60087         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
60088         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
60089         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
60090         replaced by isprint etc.
60091         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
60092         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60093         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
60094         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
60095         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
60096         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
60097
60098 2006-07-05  Bruno Haible  <bruno@clisp.org>
60099
60100         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
60101         the function exists, before testing against AIX.
60102         Reported by Martin Lambers <marlam@marlam.de>.
60103
60104 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60105
60106         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
60107         From Mark D. Baushke.
60108
60109 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
60110
60111         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
60112         to the absolute name, not just one, to bypass Sun C 5.8's
60113         "warning: #include of /usr/include/... may be non-portable".
60114
60115 2006-07-04  Eric Blake  <ebb9@byu.net>
60116
60117         * modules/dirname-tests: New test module.
60118         * tests/test-dirname.c: New file, replacing dirname.c
60119         TEST_DIRNAME section that was recently deleted.
60120
60121 2006-07-04  Bruno Haible  <bruno@clisp.org>
60122
60123         Assume ANSI C header files and <ctype.h> functions.
60124         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
60125         (mbsnwidth): Use isprint, iscntrl instead.
60126
60127 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60128
60129         Merge from coreutils.
60130         * MODULES.html.sh: Add xstrtold.
60131         * modules/xstrtold: New file.
60132         * modules/cycle-check (Files): Add lib/same-inode.h.
60133         * modules/dirname (Files): Add m4/double-slash-root.m4.
60134         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
60135         * modules/mkdir-p (Files): Add lib/same-inode.h.
60136         * modules/same (Files): Add lib/same-inode.h.
60137
60138 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60139
60140         * m4/absolute-header.m4: Renamed from full-header-path.m4.
60141         This is to keep the terminology clean; POSIX talks about
60142         "absolute pathnames", not "full pathnames", but the GNU
60143         Coding Standards say to use "path" for something else;
60144         so use "absolute" to keep both sides happy.
60145         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
60146         Set gl_absolute_header, not gl_full_header_path.
60147         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
60148         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
60149         All uses changed.
60150
60151         Merge from coreutils.
60152
60153         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60154
60155         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
60156         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
60157         want to require the building of c-strtod.o.
60158         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
60159         needs -lm directly.
60160         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
60161
60162         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60163
60164         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
60165         --as-needed option if available.  Problem reported by Albert Chin in
60166         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
60167         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
60168         cc merely issues a bunch of annoying warnings for --as-needed
60169         (this problem was reported by Bob Proulx).  Also, try linking with
60170         -lm to detect a bug in binutils 2.16 (this problem was reported
60171         by Ralf Wildenhues).
60172
60173         2006-06-18  Jim Meyering  <jim@meyering.net>
60174
60175         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
60176         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
60177         macro.
60178         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
60179         also check for glibc-2.4's abort-inducing bug.
60180
60181         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
60182         Low-probability clean-up should be to use rmdir to get rid of
60183         the just-created directory, not unlink.
60184
60185         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
60186         configure fail, and request a bug report to inform us about it.
60187         Add a comment that, barring reports to the contrary, in 2007 we'll
60188         assume ftruncate is universally available.
60189
60190         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60191
60192         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
60193
60194         2006-03-12  Jim Meyering  <jim@meyering.net>
60195
60196         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
60197         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
60198         * m4/same.m4 (gl_SAME): Likewise.
60199         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
60200
60201         2006-03-11  Eric Blake  <ebb9@byu.net>
60202
60203         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
60204         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
60205         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
60206         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
60207
60208 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60209
60210         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
60211         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
60212         reported by Mark D. Baushke, one in
60213         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
60214
60215         Merge from coreutils.
60216
60217         * lib/.cppi-disable: Add stdint_.h.
60218         * lib/.cvsignore: Add stdint.h.
60219
60220         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
60221
60222         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
60223         both double and long double versions.
60224         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
60225         * lib/xstrtold.c: New file.
60226         * lib/xstrtod.h (xstrtold): New decl.
60227
60228         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
60229
60230         * lib/filemode.c (setst): Remove.
60231         (strmode): Rewrite to avoid setst.  This makes the code shorter,
60232         (arguably) clearer, and the generated code is a bit smaller on my
60233         Debian GNU/Linux stable x86 host.
60234
60235         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
60236
60237         * lib/filemode.c: Include "filemode.h" first, to test the interface.
60238         Assume that filemode.h includes sys/types.h and sys/stat.h.
60239         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
60240         (ftypelet): Reorder to put common cases first, for efficiency.
60241         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
60242         to do 'M'.
60243         (strmode): Renamed from mode_string, and now stores 12 bytes instead
60244         of 10, for compatibility with FreeBSD.  All callers changed.
60245         (filemodestring): Now stores 12 bytes instead of 10, and sets file
60246         types that can't be deduced solely from st_mode.  First arg is now a
60247         const pointer.
60248         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
60249         (strmode): Renamed from mode_string.
60250         (filemodestring): New decl.
60251         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
60252         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
60253         needed.
60254         (S_ISPORT, S_ISWHT): New macros, if not already defined.
60255
60256         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
60257
60258         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
60259         fsusage.h now does that.  Include fsusage.h first, to test interface.
60260         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
60261         at most one method (the old code could have generated decls that
60262         didn't conform to C89, not that this was ever exercised).
60263         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
60264
60265         2006-03-19  Jim Meyering  <jim@meyering.net>
60266
60267         Work even in a chroot where d_ino values for entries in "/"
60268         don't match the stat.st_ino values for the same names.
60269         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
60270         number, iterate through all entries again, using lstat instead.
60271         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
60272         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
60273
60274         * lib/getcwd.c (__getcwd): Clarify a comment.
60275         Use memcpy in place of a call to strcpy.
60276
60277         2006-03-12  Jim Meyering  <jim@meyering.net>
60278
60279         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
60280         matches that of the current directory (which we're about to chdir ".."
60281         out of), then save the dev-ino of the parent, instead.
60282
60283         * lib/same-inode.h (SAME_INODE): New file/macro.
60284         * lib/chdir-safer.c (SAME_INODE): Remove definition.
60285         Include "same-inode.h", instead.
60286         * lib/same.c: Likewise.
60287         * lib/cycle-check.h: Include "same-inode.h".
60288         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
60289         * lib/cycle-check.c (SAME_INODE): Remove definition.
60290         * lib/root-dev-ino.h: Include "same-inode.h".
60291
60292         2006-03-11  Eric Blake  <ebb9@byu.net>
60293
60294         * lib/same.c (same_name): s/base_name/last_component/
60295         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
60296         * lib/filenamecat.c (file_name_concat): Likewise.
60297
60298         2006-03-11  Eric Blake  <ebb9@byu.net>,
60299                     Paul Eggert  <eggert@cs.ucla.edu>
60300
60301         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
60302         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
60303         drive prefix.
60304         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
60305         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
60306         (last_component): New method.
60307         * lib/dirname.c (dir_len): Determine when drive letters need a
60308         subsequent slash.  Preserve // when it is special.
60309         (dir_name): Don't append dot when drive letter is absolute.
60310         [TEST_DIRNAME]: Move into a full-blown gnulib test.
60311         * lib/basename.c (base_name): New semantics - malloc the result.
60312         Preserve // when it is special.  Preserve relative files that look
60313         like drive letters.
60314         (base_len): Preserve // when it is special.
60315         (last_component): New method, similar to old base_name semantics.
60316         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
60317         base_name.  Strip redundant slashes from ///.
60318
60319 2006-07-03  Jim Meyering  <jim@meyering.net>
60320
60321         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
60322         macro is used before the first cycle_check call.
60323
60324 2006-07-03  Eric Blake  <ebb9@byu.net>
60325
60326         * modules/dirname (Depends-on): Add xstrndup.
60327
60328 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60329
60330         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
60331         test cases, so that config.log is a bit easier to follow.
60332
60333 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
60334
60335         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
60336         both are 64 bits, since this seems to be the tradition, and this
60337         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
60338         we ever run into a host that prefers long long to long in this
60339         case, we'll need another configure-time test.  Problem reported by
60340         Jim Meyering.
60341
60342 2006-07-02  Eric Blake  <ebb9@byu.net>
60343
60344         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
60345
60346 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60347
60348         * modules/inttypes (Depends-on): No longer depends on stdint.
60349         * modules/stdint (Description): Say more about assumptions.
60350         Say that the fast types might differ.  Say macros are used.
60351         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
60352         (Makefile.am): Revise list of substituted symbols to match
60353         new stdint.m4.
60354         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
60355         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
60356         * tests/test-stdint.c (verify_same_types)
60357         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
60358         the code conforms to C99/C89.
60359         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
60360         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
60361
60362 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60363
60364         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
60365         but fix a bug, by requiring at least 64 bits.
60366         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
60367         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
60368         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
60369         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
60370
60371         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
60372         changes.  Make 2.59 a prerequisite.  Check and substitute for
60373         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
60374         inttypes.h.  Do not use special include files; just use the
60375         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
60376         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
60377         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
60378         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
60379         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
60380         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
60381         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
60382         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
60383         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
60384         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
60385         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
60386         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
60387         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
60388         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
60389         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
60390         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
60391         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
60392         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
60393         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
60394         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
60395         WINT_MAX.  Check for C99 conformance more strictly, by detecting
60396         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
60397         not check for things that C99 does not require, e.g., int8_t.  If
60398         a test isn't needed unless <stdint.h> isn't working, and is
60399         unlikely to be needed for any other reason, then don't do it
60400         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
60401         size_t, since we assume C89 freestanding at least.  Do not check
60402         for sig_atomic_t, wchar_t, or wint_t, since the code now does
60403         the right thing even if the types are not defined.  Instead use:
60404         (gl_STDINT_TYPE_PROPERTIES): New macro.
60405         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
60406         testing whether <sys/types.h> clashes, as Autoconf does this for
60407         us now.  All uses removed.
60408         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
60409         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
60410         (gl_CHECK_TYPE_SAME):
60411         Remove; no longer needed.
60412         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
60413         exists, since we'll return 0 anyway in that case.
60414         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
60415
60416 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60417
60418         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
60419         possible collision with system files.
60420         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
60421         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
60422         WCHAR_MIN and WCHAR_MAX in this case.
60423         (<stddef.h>): Do not include; no longer needed.
60424         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
60425         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
60426         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
60427         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
60428         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
60429         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
60430         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
60431         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
60432         !defined(__c99))]: Include in this case too, since it's harmless
60433         now.
60434         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
60435         dangerous to do so.
60436         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
60437         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
60438         (_STDINT_MIN, _STDINT_MAX): New macros.
60439         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
60440         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
60441         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
60442         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
60443         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
60444         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
60445         macros, not typedefs; this simplifies things quite a bit.
60446         Use long int for all types narrower than int64_t.
60447         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
60448         Define in terms of long long int or int64_t or long int,
60449         not int64_t or int32_t.  This saves some compile-time testing.
60450         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
60451         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
60452         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
60453         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
60454         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
60455         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
60456         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
60457         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
60458         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
60459         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
60460         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60461         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60462         undef any previous version and define our own version, for
60463         simplicity and consistency with the new macros for types.
60464         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
60465         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
60466         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
60467         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
60468         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
60469         @WINT_T_SUFFIX@ to keep things simple here.
60470         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
60471         Simplify by assuming typical 8/16/32/64 host, since we're
60472         already doing that elsewhere anyway.
60473         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
60474         and assume long long int is 64 bits if available.  This
60475         speeds up 'configure'.
60476
60477 2006-07-01  Eric Blake  <ebb9@byu.net>
60478
60479         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
60480         Reported by Andreas Buening.
60481
60482 2006-07-01  Eric Blake  <ebb9@byu.net>
60483
60484         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
60485
60486 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60487
60488         * lib/getaddrinfo.c: fixed typo
60489
60490 2006-06-29  Jim Meyering  <jim@meyering.net>
60491
60492         * modules/strftime (Maintainer): Add my name, since with the
60493         FPRINTFTIME changes strftime.c has forked from glibc.
60494
60495 2006-06-29  Eric Blake  <ebb9@byu.net>
60496
60497         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
60498
60499 2006-06-29  Eric Blake  <ebb9@byu.net>
60500
60501         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
60502
60503 2006-06-29  Eric Blake  <ebb9@byu.net>
60504
60505         * lib/stat_.h: New file.
60506
60507 2006-06-29  Eric Blake  <ebb9@byu.net>
60508
60509         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
60510         unused static function.
60511
60512 2006-06-29  Eric Blake  <ebb9@byu.net>
60513
60514         * doc/functions.texi (Function Portability): Document missing lstat
60515         on mingw.
60516
60517 2006-06-29  Eric Blake  <ebb9@byu.net>
60518
60519         * MODULES.html.sh: Add sys_stat.
60520         * modules/sys_stat: New module.
60521         * modules/mkstemp (Depends-on): Add sys_stat.
60522
60523 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60524
60525         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
60526
60527 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60528
60529         * m4/c-bs-a.m4: Removed.
60530
60531 2006-06-29  Derek R. Price  <derek@ximbiot.com>
60532
60533         * lib/strftime.c: Assume strftime() exists.
60534
60535 2006-06-29  Derek Price  <derek@ximbiot.com>
60536
60537         * modules/c-bs-a: Removed - \a is C89.
60538         * MODULES.html.sh: Remove c-bs-a.
60539
60540 2006-06-29  Bruno Haible  <bruno@clisp.org>
60541
60542         * modules/wcwidth (License): Change to LGPL.
60543
60544 2006-06-28  Simon Josefsson  <jas@extundo.com>
60545
60546         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
60547         on _WIN32.
60548
60549         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
60550         getnameinfo.
60551
60552 2006-06-28  Simon Josefsson  <jas@extundo.com>
60553
60554         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
60555
60556 2006-06-28  Simon Josefsson  <jas@extundo.com>
60557
60558         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
60559         functions there.  It will succeed on Windows XP, but on Windows
60560         2000 and (presumably) earlier, it will fail, and use the internal
60561         re-implementation.
60562         (use_win32_p): New function.
60563         (getaddrinfo): Use strtoul on servname, to support numeric ports.
60564         Support AI_NUMERICSERV to disable getservbyname.
60565         (getnameinfo): New function, only supports
60566         NI_NUMERICHOST|NI_NUMERICSERV for now.
60567
60568         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
60569         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
60570         getnameinfo.
60571
60572 2006-06-28  Eric Blake  <ebb9@byu.net>
60573
60574         * modules/wcwidth: New file.
60575         * modules/mbchar (Depends-on): Add wcwidth.
60576         * modules/mbswidth (Depends-on): Add wcwidth.
60577         * MODULES.html.sh: Add wcwidth.
60578
60579 2006-06-28  Eric Blake  <ebb9@byu.net>
60580
60581         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
60582         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
60583
60584 2006-06-28  Eric Blake  <ebb9@byu.net>
60585
60586         * lib/xvasprintf.h: Fix comments.
60587
60588 2006-06-28  Eric Blake  <ebb9@byu.net>
60589
60590         * lib/mbchar.h (wcwidth): Include wcwidth.h.
60591         * lib/mbswidth.c (wcwidth): Move from here...
60592         * lib/wcwidth.h: ...to this new file.
60593
60594 2006-06-28  Derek R. Price  <derek@ximbiot.com>
60595
60596         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
60597
60598         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
60599         it's obsolete.
60600         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
60601
60602 2006-06-28  Derek R. Price  <derek@ximbiot.com>
60603
60604         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
60605         Autoconf 2.60 says this stuff was obsolete.
60606
60607 2006-06-28  Bruno Haible  <bruno@clisp.org>
60608
60609         * modules/wcwidth (Files): Add m4/wchar_t.m4.
60610
60611 2006-06-28  Bruno Haible  <bruno@clisp.org>
60612
60613         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
60614         gt_TYPE_WCHAR_T.
60615
60616 2006-06-28  Bruno Haible  <bruno@clisp.org>
60617
60618         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
60619         declaration for wcwidth.
60620         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
60621
60622 2006-06-28  Bruno Haible  <bruno@clisp.org>
60623
60624         * lib/mkdtemp.c [MINGW]: Include <io.h>.
60625         (mkdir): Define using _mkdir.
60626
60627 2006-06-28  Bruno Haible  <bruno@clisp.org>
60628
60629         * lib/getaddrinfo.h: Fix POSIX URL.
60630         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
60631         _WIN32.
60632         (use_win32_p): Make static.
60633         (getaddrinfo): Reject service name if it is empty or does not consist
60634         solely of decimal digits, or if its value is > 65535.
60635         (getnameinfo): Remove useless casts.
60636
60637 2006-06-27  Simon Josefsson  <jas@extundo.com>
60638
60639         * modules/sys_select: New file, suggested by Bruno Haible, Paul
60640         Eggert and Martin Lambers.
60641
60642 2006-06-27  Simon Josefsson  <jas@extundo.com>
60643
60644         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
60645         Eggert and Martin Lambers.
60646
60647 2006-06-27  Bruno Haible  <bruno@clisp.org>
60648
60649         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
60650         result to 0, not to empty.
60651         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
60652
60653 2006-06-27  Bruno Haible  <bruno@clisp.org>
60654
60655         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
60656
60657 2006-06-26  Simon Josefsson  <jas@extundo.com>
60658
60659         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
60660         present.
60661
60662 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
60663
60664         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
60665         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
60666         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
60667
60668 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
60669
60670         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
60671
60672 2006-06-26  Bruno Haible  <bruno@clisp.org>
60673
60674         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
60675
60676 2006-06-26  Bruno Haible  <bruno@clisp.org>
60677
60678         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
60679
60680 2006-06-26  Bruno Haible  <bruno@clisp.org>
60681
60682         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
60683         SGI C compiler in pre-C99 mode.
60684         Suggested by Mark D. Baushke and Larry Jones.
60685
60686 2006-06-26  Bruno Haible  <bruno@clisp.org>
60687
60688         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
60689         WCHAR_MAX.
60690         Reported by Mark D. Baushke and Larry Jones.
60691
60692 2006-06-26  Bruno Haible  <bruno@clisp.org>
60693
60694         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
60695         in pre-C99 mode.
60696         Suggested by Mark D. Baushke and Larry Jones.
60697
60698 2006-06-23  Simon Josefsson  <jas@extundo.com>
60699             Bruno Haible  <bruno@clisp.org>
60700
60701         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
60702         Emit mostlyclean-local rule.
60703         (func_emit_tests_Makefile_am): Likewise.
60704         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
60705
60706 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
60707
60708         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
60709
60710 2006-06-23  Bruno Haible  <bruno@clisp.org>
60711
60712         * tests/test-stdint.c: Update to match ISO C 99 Technical
60713         Corrigendum 1.
60714
60715 2006-06-23  Bruno Haible  <bruno@clisp.org>
60716
60717         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
60718
60719 2006-06-23  Bruno Haible  <bruno@clisp.org>
60720
60721         * lib/stdint_.h: Treat IRIX like OpenBSD.
60722
60723 2006-06-23  Bruno Haible  <bruno@clisp.org>
60724
60725         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
60726         ISO C 99 Technical Corrigendum 1.
60727
60728 2006-06-22  Simon Josefsson  <jas@extundo.com>
60729
60730         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
60731         MinGW.
60732
60733 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
60734
60735         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
60736         needed.  Some compiler complained about some of them.  Problem reported
60737         by Larry Jones in
60738         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
60739
60740 2006-06-21  Simon Josefsson  <jas@extundo.com>
60741
60742         * tests/test-getaddrinfo.c: New file.
60743
60744         * modules/getaddrinfo-tests: New file.
60745
60746         * MODULES.html.sh: Add inet_pton.
60747
60748         * modules/inet_pton: New file.
60749
60750 2006-06-21  Simon Josefsson  <jas@extundo.com>
60751
60752         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
60753         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
60754         of using the (limited) gnulib implementation on Windows XP.
60755
60756         * m4/inet_pton.m4: New file.
60757
60758 2006-06-21  Simon Josefsson  <jas@extundo.com>
60759
60760         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
60761         variable.
60762
60763         * lib/socket_.h: Don't define WINVER.
60764
60765         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
60766         slightly modified to work in gnulib.
60767
60768 2006-06-21  Simon Josefsson  <jas@extundo.com>
60769
60770         * doc/gnulib.texi (Windows sockets): Add.
60771
60772 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
60773
60774         * lib/read-file.c (fread_file): Start with buffer allocation of
60775         0 bytes rather than 1 byte; this simplifies the code.
60776         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
60777         code to free buffer and save/restore errno.
60778         (internal_read_file): Remove unused local.
60779
60780 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
60781
60782         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
60783         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
60784         Problem reported by Denis Excoffier in
60785         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
60786
60787 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60788
60789         * modules/sys_socket, modules/socklen: Include sys/types since
60790         FreeBSD 4.x's sys/socket.h needs it.
60791
60792 2006-06-19  Simon Josefsson  <jas@extundo.com>
60793
60794         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
60795
60796 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
60797
60798         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
60799
60800 2006-06-19  Bruno Haible  <bruno@clisp.org>
60801
60802         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
60803         and FULL_PATH_INTTYPES_H in angle brackets.
60804         Reported by Mark D. Baushke <mdb@gnu.org>.
60805
60806 2006-06-17  Eric Blake  <ebb9@byu.net>
60807
60808         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
60809         errno.
60810
60811 2006-06-17  Bruno Haible  <bruno@clisp.org>
60812
60813         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
60814         <sys/inttypes.h>.
60815
60816 2006-06-17  Bruno Haible  <bruno@clisp.org>
60817
60818         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
60819         whether errno is declared. Assume <errno.h> declares errno.
60820
60821 2006-06-17  Bruno Haible  <bruno@clisp.org>
60822
60823         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
60824
60825 2006-06-17  Bruno Haible  <bruno@clisp.org>
60826
60827         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
60828         problem on Solaris 2.5.1.
60829
60830 2006-06-16  Eric Blake  <ebb9@byu.net>
60831
60832         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
60833         * lib/unicodeio.c [!defined errno]: Likewise.
60834         * lib/strtol.c [!defined errno]: Likewise.
60835         * lib/strtod.c [!defined errno]: Likewise.
60836
60837 2006-06-15  Eric Blake  <ebb9@byu.net>
60838
60839         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
60840
60841 2006-06-15  Eric Blake  <ebb9@byu.net>
60842
60843         * config/srclist.txt (ssize_t.m4): Lose sync.
60844
60845 2006-06-15  Bruno Haible  <bruno@clisp.org>
60846
60847         * modules/stdint (Files): Include m4/full-header-path.m4,
60848         m4/size_max.m4, m4/wchar_t.m4.
60849         (Makefile.am): Many more substitutions.
60850         * modules/stdint-tests: New file.
60851         * tests/test-stdint.c: New file.
60852
60853 2006-06-15  Bruno Haible  <bruno@clisp.org>
60854
60855         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
60856         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
60857         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
60858         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
60859         gl_CHECK_TYPE_SAME): New macros.
60860
60861 2006-06-15  Bruno Haible  <bruno@clisp.org>
60862
60863         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
60864
60865 2006-06-15  Bruno Haible  <bruno@clisp.org>
60866
60867         * lib/stdint_.h: Rewritten to be fully auto-configured.
60868         Fixes bug on HP-UX/IA64.
60869
60870 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
60871
60872         * lib/getdate.y (__attribute__): Don't define if already defined.
60873         Problem reported by Larry Jones.
60874         * lib/utimens.c (__attribute__): Likewise.
60875
60876 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
60877
60878         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
60879         reported by Andreas Schwab.
60880
60881 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60882             Bruno Haible  <bruno@clisp.org>
60883
60884         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
60885         check for the declaration of strnlen and a run test that exposes the
60886         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
60887         rpl_strndup.
60888
60889 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60890             Bruno Haible  <bruno@clisp.org>
60891
60892         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
60893
60894 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60895
60896         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
60897         compile test, for Tru64 4.0D.
60898
60899 2006-05-28  Karl Berry  <karl@gnu.org>
60900
60901         * config/srclist.txt (printf-args.c): lose sync.
60902
60903 2006-05-26  Martin Lambers  <marlam@marlam.de>
60904
60905         * lib/getpass.c: Updates the test for the native W32 API, and adds
60906         missing includes, thus fixing compilation warnings.
60907
60908 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
60909
60910         * lib/exclude.c (exclude_fnmatch): New function.
60911         (excluded_file_name): Call exclude_fnmatch.
60912         * lib/exclude.h (excluded_file_name): New prototype
60913
60914 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
60915
60916         * lib/tempname.c (small_open, large_open): New macros.
60917         (__open, __open64) [!_LIBC]: Remove.
60918         (__gen_tempname): Use small_open and large_open instead of __open
60919         and __open64.  This fixes a portability bug on HP-UX 11.11i
60920         reported by Simon Wing-Tang in
60921         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
60922
60923 2006-05-24  Bruno Haible  <bruno@clisp.org>
60924
60925         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
60926         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
60927         Reported by Thorsten Maerz <torte@netztorte.de> via
60928         Aaron Stone <aaron@serendipity.cx>.
60929
60930 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60931
60932         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
60933         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
60934         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
60935         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
60936         not really conditional on the cache.
60937         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
60938
60939 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
60940
60941         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
60942         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
60943         (my_usleep): Don't mishandle maximum value.
60944
60945 2006-05-19  Jim Meyering  <jim@meyering.net>
60946
60947         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
60948
60949 2006-05-17  Bruno Haible  <bruno@clisp.org>
60950
60951         Cygwin portability.
60952         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
60953
60954 2006-05-17  Bruno Haible  <bruno@clisp.org>
60955
60956         * lib/stdint_.h: Fix recognition of Cygwin.
60957
60958 2006-05-15  Bruno Haible  <bruno@clisp.org>
60959
60960         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
60961         on libtool patch by Ralf Wildenhues.
60962
60963 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60964
60965         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
60966         test for C99 conformance; (bool) 0.5 is an integer constant
60967         expression, but (bool) -0.5 is not.  Problem reported by Fedor
60968         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
60969
60970 2006-05-11  Simon Josefsson  <jas@extundo.com>
60971
60972         * m4/xvasprintf.m4: Fix obvious typo.
60973
60974 2006-05-11  Jim Meyering  <jim@meyering.net>
60975
60976         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
60977         James Lemley.
60978
60979 2006-05-10  Simon Josefsson  <jas@extundo.com>
60980
60981         * lib/md4.c: Typo fix, update copyright years.
60982         (K1, K2): Don't use L because it turn computations into 64-bit on
60983         64-bit platforms.
60984
60985 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
60986
60987         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
60988         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
60989         unwanted sign propagation, e.g., on hosts with 64-bit int.
60990         There still are some problems with reeelly weird theoretical hosts
60991         (e.g., 33-bit int) but it's not worth worrying about now.
60992         * lib/sha1.c (rol): Likewise.
60993         (K1, K2, K3, K4): Remove unnecessary L suffix.
60994
60995 2006-05-10  Bruno Haible  <bruno@clisp.org>
60996
60997         * lib/des.c: Cast to avoid warnings.
60998
60999 2006-05-09  Bruno Haible  <bruno@clisp.org>
61000
61001         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
61002         (Depends-on): Depend also on xsize, stdarg.
61003         (configure.ac): Add gl_XVASPRINTF.
61004
61005 2006-05-09  Bruno Haible  <bruno@clisp.org>
61006
61007         * m4/xvasprintf.m4: New file.
61008
61009 2006-05-09  Bruno Haible  <bruno@clisp.org>
61010
61011         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
61012         (EOVERFLOW): Define fallback value.
61013         (xstrcat): New function.
61014         (xvasprintf): Recognize the special case of a string concatenation.
61015
61016 2006-05-08  Eric Blake  <ebb9@byu.net>
61017
61018         * gnulib-tool (func_version): Base copyright year on CVS date.
61019         (func_emit_copyright_notice): New function.
61020         (func_emit_lib_Makefile_am): Use it.
61021         (func_emit_tests_Makefile_am): Likewise.
61022         (func_import): Likewise.
61023
61024 2006-05-08  Bruno Haible  <bruno@clisp.org>
61025
61026         * modules/stdarg: New file.
61027         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
61028
61029 2006-05-08  Bruno Haible  <bruno@clisp.org>
61030
61031         * m4/stdarg.m4: New file, from GNU gettext.
61032
61033 2006-05-08  Bruno Haible  <bruno@clisp.org>
61034
61035         * config/srclist.txt (build-aux/config.rpath): different from latest
61036         release.
61037
61038 2006-05-08  Bruno Haible  <bruno@clisp.org>
61039
61040         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
61041
61042 2006-05-05  Jim Meyering  <jim@meyering.net>
61043
61044         * m4/warning.m4: New file, derived from bison's file by the same name.
61045
61046 2006-05-03  Bruno Haible  <bruno@clisp.org>
61047
61048         * lib/stdint_.h: Shorter URL.
61049         * lib/inttypes.h: Likewise.
61050
61051 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61052
61053         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
61054
61055 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61056
61057         * lib/verify.h: Document the internals better.  Most of this change
61058         was written by Bruno Haible.
61059
61060 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
61061
61062         * doc/verify.texi: New file, partly based on a proposal by
61063         Bruno Haible.
61064
61065 2006-05-02  Bruno Haible  <bruno@clisp.org>
61066
61067         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
61068         test from here...
61069         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
61070
61071 2006-04-29  Bruno Haible  <bruno@clisp.org>
61072
61073         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
61074         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
61075
61076 2006-04-29  Bruno Haible  <bruno@clisp.org>
61077
61078         * gnulib-tool: Make --update option actually work.
61079
61080 2006-04-29  Bruno Haible  <bruno@clisp.org>
61081
61082         * doc/gcd.texi: New file.
61083         * doc/gnulib.texi: Include it.
61084
61085 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
61086
61087         * lib/getdate.y (get_date): When adding relative date, start with the
61088         initial time, not with the result of the first mktime call.
61089
61090 2006-04-25  Bruno Haible  <bruno@clisp.org>
61091
61092         * gnulib-tool (func_import): Output the include directives in three
61093         blocks, sorted separately.
61094         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61095
61096 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61097
61098         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
61099         to define main with arguments, for C++.  Reported by Eric Blake.
61100         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
61101         Prefer 'int main ()' to 'int main (void)', for C++.
61102         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
61103         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
61104         for 'main', for C99 and C++.
61105
61106 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
61107
61108         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
61109         Don't assume that exit status -1 is valid.
61110         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61111         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
61112         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
61113         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
61114         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
61115         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
61116         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
61117         functions can be used without declaring them, or that you can
61118         exit with status -1.
61119         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
61120
61121 2006-04-24  Karl Berry  <karl@gnu.org>
61122
61123         * config/srclist.txt (longdouble.m4): sync lost.
61124
61125 2006-04-24  Eric Blake  <ebb9@byu.net>
61126
61127         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
61128
61129 2006-04-24  Bruno Haible  <bruno@clisp.org>
61130
61131         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
61132         poll() implementation in AIX.
61133         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61134
61135 2006-04-24  Bruno Haible  <bruno@clisp.org>
61136
61137         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
61138         assigned exactly once.
61139
61140 2006-04-23  Claudio Fontana  <claudio@gnu.org>
61141             Bruno Haible  <bruno@clisp.org>
61142
61143         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
61144         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
61145         for AM_CPPFLAGS.
61146
61147 2006-04-23  Bruno Haible  <bruno@clisp.org>
61148
61149         * modules/copy-file: Depend on unistd.
61150         * modules/execute: Likewise.
61151         * modules/fatal-signal: Likewise.
61152         * modules/findprog: Likewise.
61153         * modules/mkdtemp : Likewise.
61154         * modules/pipe: Likewise.
61155         * modules/wait-process: Likewise.
61156
61157 2006-04-23  Bruno Haible  <bruno@clisp.org>
61158
61159         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
61160         condition was already detected.
61161         Reported by Ben Pfaff <blp@cs.stanford.edu>.
61162
61163 2006-04-23  Bruno Haible  <bruno@clisp.org>
61164
61165         * lib/copy-file.c: Include <unistd.h> unconditionally.
61166         * lib/execute.c: Likewise.
61167         * lib/fatal-signal.c: Likewise.
61168         * lib/findprog.c: Likewise.
61169         * lib/mkdtemp.c: Likewise.
61170         * lib/pipe.h: Likewise.
61171         * lib/pipe.c: Likewise.
61172         * lib/wait-process.h: Likewise.
61173
61174 2006-04-23  Bruno Haible  <bruno@clisp.org>
61175
61176         * gnulib-tool (func_usage): Fix --import description. Document
61177         --update.
61178         (func_import): Create temporary file in a temporary directory, if
61179         --dry-run is specified. Silence errors from 'grep' when there are no
61180         m4 files in $m4dir.
61181         (func_create_testdir): Silence errors from 'grep' when there are no
61182         m4 files in $m4dir.
61183         Reported by Karl Berry <karl@freefriends.org>.
61184
61185 2006-04-20  Bruno Haible  <bruno@clisp.org>
61186
61187         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
61188         one argument, so that the code will be portable to Autoconf 2.60.
61189         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
61190         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
61191         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
61192
61193 2006-04-19  Derek Price  <derek@ximbiot.com>
61194             Eric Blake  <ebb9@byu.net>
61195
61196         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
61197         rather than "/full/path.h".  Update comment to match.  Shorten &
61198         generalize m4_translit call via AS_TR_CPP.
61199
61200 2006-04-19  Derek Price  <derek@ximbiot.com>
61201             Eric Blake  <ebb9@byu.net>
61202
61203         * lib/inttypes.h: Correct grammar in comment.
61204
61205 2006-04-18  Derek Price  <derek@ximbiot.com>
61206             Paul Eggert  <eggert@cs.ucla.edu>
61207
61208         * modules/inttypes: New file.
61209         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
61210
61211 2006-04-18  Derek Price  <derek@ximbiot.com>
61212             Paul Eggert  <eggert@cs.ucla.edu>
61213
61214         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
61215         New files.
61216
61217 2006-04-18  Derek Price  <derek@ximbiot.com>
61218             Paul Eggert  <eggert@cs.ucla.edu>
61219
61220         * lib/inttypes.h: New file.
61221         * lib/strtoimax.c: Assume <inttypes.h>.
61222
61223 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
61224
61225         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
61226         isn't mounted.  Problem reported by Kir Kolyshkin.
61227
61228 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
61229
61230         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
61231         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
61232         Derek R. Price.
61233         * lib/regex.h (RE_DUP_MAX): Update comment to match current
61234         implementation.
61235
61236 2006-04-12  Eric Blake  <ebb9@byu.net>
61237
61238         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
61239         is now done automatically by the corresponding Autoconf macro.
61240
61241 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
61242
61243         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
61244         time_r.h.
61245
61246 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61247
61248         Merge regex changes from libc, removing some of our
61249         POSIX-conformance changes that were rejected and redoing them in a
61250         less-intrusive way.
61251
61252         * lib/regcomp.c (re_compile_internal, init_dfa):
61253         Length arg is now size_t, not Idx.  All uses changed.
61254         (peek_token): Forward decl now says internal_function.
61255         (__re_error_msgid, __re_error_msgid_idx):
61256         Now static rather than extern with attribute_hidden.
61257         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
61258         For some reason libc prefers K&R style defns for external functions.
61259         (regerror) [!defined _LIBC]: Likewise.
61260         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
61261         (seek_collating_symbol_entry, lookup_collation_sequence_value):
61262         (build_range_exp, build_collating_symbol):
61263         Use K&R-style defn.
61264         (re_compile_fastmap): Use '\0' to memset, not 0.
61265         (utf8_sb_map): Make the calculations more obvious.
61266         (init_dfa, parse_bracket_exp, build_charclass_op):
61267         Call calloc and cast result, as glibc does.
61268         (init_word_char, fetch_token, peek_token, peek_token_bracket):
61269         (build_range_exp, build_collating_symbol):
61270         Now internal functions.
61271
61272         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
61273
61274         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
61275         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
61276         Don't depend on VMS; depend on __VMS instead, for POSIX
61277         namespace cleanness.
61278         (regoff_t): Define to ssize_t, not long int.
61279
61280         Remove the REG_ macros named below.  Instead, make the old names
61281         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
61282         __USE_GNU_REGEX.
61283         (REG_BACKSLASH_ESCAPE_IN_LISTS):
61284         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
61285         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
61286         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
61287         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
61288         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
61289         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
61290         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
61291         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
61292         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
61293         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
61294         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
61295         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
61296         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
61297         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
61298         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
61299         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
61300         (REG_NREGS):
61301         Remove.  All uses replaced by the old RE_* names.
61302         (RE_BACKSLASH_ESCAPE_IN_LISTS):
61303         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
61304         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
61305         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
61306         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
61307         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
61308         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
61309         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
61310         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
61311         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
61312         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
61313         Don't bother having these macros be independent of each others'
61314         values, since they no longer exist in the POSIX name space.
61315
61316         Rename the following member names back to their old names,
61317         unless !__USE_GNU_REGEX.  All uses changed back.
61318         (buffer): Renamed from re_buffer.
61319         (allocated): Renamed from re_allocated.
61320         (used): Renamed from re_used.
61321         (syntax): Renamed from re_syntax.
61322         (fastmap): Renamed from re_fastmap.
61323         (translate): Renamed from re_translate.
61324         (can_be_null): Renamed from re_can_be_null.
61325         (regs_allocated): Renamed from re_regs_allocated.
61326         (fastmap_accurate): Renamed from re_fastmap_accurate.
61327         (no_sub): Renamed from re_no_sub.
61328         (not_bol): Renamed from re_not_bol.
61329         (not_eol): Renamed from re_not_eol.
61330         (newline_anchor): Renamed from re_newline_anchor.
61331         (num_regs): Renamed from rm_num_regs.
61332         (start): Renamed from rm_start.
61333         (end): Renamed from rm_end.
61334
61335         (free_state): Move up a bit.
61336
61337         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
61338         #define to be empty.
61339         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
61340         when that is what is intended.
61341         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
61342         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
61343         (MAX): New macro.
61344         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
61345         All uses changed back to re_malloc, etc.  It's now the caller's
61346         responsibility to check for overflow; all callers changed.
61347         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
61348         (re_x2nrealloc): Remove.
61349         (free_state): Remove decl.
61350
61351         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
61352         (re_set_registers, re_exec):
61353         Use K&R-style defn.
61354
61355         2006-01-31  Roland McGrath  <roland@redhat.com>
61356
61357         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
61358         Reported by Mike Frysinger <vapier@gentoo.org>.
61359
61360         2006-01-15  Andreas Jaeger  <aj@suse.de>
61361
61362         [BZ #1950]
61363         * lib/regex_internal.c (re_string_reconstruct): Adjust for
61364         build_wcs_upper_buffer change.
61365         (build_wcs_upper_buffer): Change return type.
61366
61367         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
61368
61369         * lib/regex_internal.h: Include <stdint.h> if available.
61370
61371         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
61372
61373         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
61374
61375         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
61376
61377         * lib/regcomp.c: Adjust for changed secondary hash function.
61378
61379         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
61380
61381         * lib/regex.h: Pretty printing.
61382         Clean up namespace a bit.
61383
61384         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
61385
61386         * lib/regexec.c (update_cur_sifted_state, check_arrival,
61387         check_arrival_add_next_nodes): Avoid using uninitialized variable.
61388
61389         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61390                     Ulrich Drepper  <drepper@redhat.com>
61391
61392         [BZ #1302]
61393         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
61394         changed.
61395         (bitset_word_t): Renamed from bitset_word.  All uses changed.
61396
61397         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
61398
61399         [BZ #281]
61400         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
61401         * lib/regcomp.c: Remove unnecessary uses of
61402         unsigned RE_TRANSLATE_TYPE.
61403         * lib/regex_internal.h: Likewise.
61404         * lib/regex_internal.c: Likewise.
61405         * lib/regexec.c: Likewise.
61406         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
61407
61408         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
61409
61410         * lib/regexec.c (find_recover_state): Remove unnecessary
61411         initialization.
61412         (transit_state_bkref): Make DFA a const pointer.
61413         (get_subexp): Likewise.
61414         (check_arrival): Likewise.
61415         (update_cur_sifted_state): Likewise.
61416         (re_search_internal): Likewise.
61417         (prune_impossible_nodes): Likewise.
61418         (acquire_init_state_context): Likewise.
61419         (proceed_next_node): Likewise.
61420         (set_regs): Likewise.
61421         (free_fail_stack_return): Likewise.
61422         (check_arrival_expand_ecl): Mark DFA parameter as const.
61423         (check_arrival_expand_ecl_sub): Likewise.
61424         (check_subexp_limits): Likewise.
61425         (sub_epsilon_src_nodes):  Likewise.
61426         (add_epsilon_src_nodes):  Likewise.
61427         (merge_state_array): Likewise.
61428         (update_regs): Likewise.
61429         (build_trtable): Likewise.
61430         (sift_states_backward): Mark MCTX parameter as const.
61431         (build_sifted_states): Likewise.
61432         (update_cur_sifted_state): Likewise.
61433         (sift_states_mkref): Likewise.
61434         (check_arrival_expand_ecl): Mark eclosure as const.
61435         (check_dst_limits_calc_pos_1): Likewise.
61436         * lib/regex_internal.h (re_match_context_t): Make dfa a const
61437         pointer.
61438
61439         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
61440
61441         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
61442         (transit_state_sb): Likewise.
61443         (transit_state_mb): Likewise.
61444         (sift_states_iter_mb): Likewise.
61445         (check_arrival_add_next_nodes): Likewise.
61446         (check_node_accept_bytes): Change first parameter to pointer-to-const.
61447         [_LIBC] (re_search_2_stub): Use mempcpy.
61448
61449         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
61450         mbrtowc for very simple UTF-8 case.
61451
61452         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
61453         a pointer-to-const.
61454         (re_acquire_state_context): Likewise.
61455         * lib/regex_internal.h: Adjust prototypes.
61456
61457         * lib/regex.c: Prevent using C++ compilers.
61458
61459         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
61460         (re_acquire_state_context): Likewise.
61461
61462 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61463
61464         * modules/regex (Depends-on): Add ssize_t.
61465
61466 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61467
61468         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
61469         translation table.
61470
61471 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
61472
61473         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
61474
61475 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
61476             Bruno Haible  <bruno@clisp.org>
61477
61478         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
61479         <sys/types.h> and <inttypes.h>.
61480
61481 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61482
61483         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
61484         `__error_t_defined', so argp.h will not typedef the former.
61485
61486 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
61487
61488         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
61489         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
61490         glibc names.  Even if glibc is changed to conform to POSIX, the
61491         traditional names will be available anyway, since regex depends on
61492         the extensions module.  Also, fix a longstanding typo in the
61493         implementation of Spencer ERE test #75 from grep 2.3.  Problems
61494         reported by Emanuele Giaquinta.  Also, change sense of cached
61495         variable, so that the message makes sense.
61496
61497 2006-03-24  Simon Josefsson  <jas@extundo.com>
61498
61499         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
61500         including some doc fixes.
61501         (base64_encode_alloc): Fix +1 bug on allocation failures.
61502
61503 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61504
61505         * lib/base64.c (base64_encode): Do not read past end of array with
61506         unsanitized input on systems with CHAR_BIT > 8.
61507
61508 2006-03-24  Eric Blake  <ebb9@byu.net>
61509
61510         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
61511
61512 2006-03-22  Karl Berry  <karl@gnu.org>
61513
61514         * config/srclist.txt (*setenv.[ch]): get from coreutils.
61515         * config/srclistvars.sh (COREUTILS): new var.
61516
61517 2006-03-17  Jim Meyering  <jim@meyering.net>
61518
61519         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
61520         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
61521
61522 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
61523
61524         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
61525         no longer needs it.  Instead, check that regoff_t is as least
61526         as wide as ptrdiff_t.
61527
61528         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
61529         so that our regex.h stays compatible with the installed regex.
61530         This is helpful for installers who configure --without-included-regex.
61531         Problem reported by Emanuele Giaquinta.
61532
61533 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
61534
61535         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
61536         Typedef to long int, not to off_, as POSIX will likely change
61537         in that direction.
61538
61539 2006-03-15  Eric Blake  <ebb9@byu.net>
61540
61541         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
61542
61543 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61544
61545         * lib/argp-help.c (validate_uparams): Fix typo
61546         * lib/argp-parse.c (argp_default_options): Consistently begin help
61547         messages with a lowercase letter.
61548
61549 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
61550
61551         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
61552         overrun buffers and shouldn't be used (much as gets shouldn't be
61553         used).
61554         * lib/time_r.c (asctime_r, ctime_r): Likewise.
61555
61556 2006-03-08  Simon Josefsson  <jas@extundo.com>
61557
61558         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
61559         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61560
61561 2006-03-08  Simon Josefsson  <jas@extundo.com>
61562
61563         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
61564         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61565
61566 2006-03-08  Simon Josefsson  <jas@extundo.com>
61567
61568         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
61569         signal that configure disabled the device.
61570
61571 2006-03-08  Simon Josefsson  <jas@extundo.com>
61572
61573         * build-aux/maint.mk: Fix refresh-po, to handle no translated
61574         languages.
61575
61576 2006-03-07  Simon Josefsson  <jas@extundo.com>
61577
61578         * modules/getopt (Depends-on): Add unistd.
61579
61580         * modules/unistd: New file.
61581
61582 2006-03-07  Simon Josefsson  <jas@extundo.com>
61583
61584         * modules/gc-random: New file.
61585
61586 2006-03-07  Simon Josefsson  <jas@extundo.com>
61587
61588         * m4/unistd_h.m4: New file.
61589
61590 2006-03-07  Simon Josefsson  <jas@extundo.com>
61591
61592         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
61593         test to be side-effect free by storing the result in the cache
61594         variable gl_cv_lib_readline, and moving the assignment of
61595         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
61596         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61597
61598 2006-03-07  Simon Josefsson  <jas@extundo.com>
61599
61600         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
61601         error on missing devices (the functions will return an error).
61602
61603         * m4/gc.m4: Move random stuff to gc-random.m4
61604
61605 2006-03-07  Simon Josefsson  <jas@extundo.com>
61606
61607         * lib/unistd_.h: New file.
61608
61609 2006-03-07  Simon Josefsson  <jas@extundo.com>
61610
61611         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
61612
61613 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61614
61615         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
61616         Problem reported by Juan Manuel Guerrero.
61617
61618 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61619
61620         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
61621         the unistd module.
61622         * lib/getlogin_r.c: Likewise.
61623         * lib/getlogin_r.h: Likewise.
61624         * lib/glob.c: Likewise.
61625         * lib/pagealign_alloc.c: Likewise.
61626         * lib/unistd_.h: Remove; no longer needed.
61627
61628 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
61629
61630         * MODULES.html.sh (Support for systems lacking POSIX:2001):
61631         Add unistd.
61632         * modules/c-stack (Depends-on): Add unistd.
61633         * modules/getlogin_r: Likewise.
61634         * modules/glob: Likewise.
61635         * modules/pagealign_alloc: Likewise.
61636         * modules/unistd (Files): Remove lib/unistd_.h.
61637         (EXTRA_DIST): Remove.
61638         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
61639         need unistd_.h.
61640         (MOSTLYCLEANFILES): Remove unistd.h-t.
61641
61642 2006-03-03  Simon Josefsson  <jas@extundo.com>
61643
61644         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
61645
61646 2006-03-03  Simon Josefsson  <jas@extundo.com>
61647
61648         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
61649         libidn and bison.
61650
61651 2006-03-03  Simon Josefsson  <jas@extundo.com>
61652
61653         * build-aux/maint.mk: Add indent target.
61654
61655 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
61656
61657         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
61658         our replacement poll.h in any case, to avoid a differing
61659         declaration from a system header.  Seen on AIX.
61660
61661 2006-03-01  Simon Josefsson  <jas@extundo.com>
61662
61663         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
61664         <kasal@ucw.cz>.
61665
61666 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61667
61668         * modules/gettime (Depends-on): Add extensions module.
61669         * modules/nanosleep (Depends-on): Likewise.
61670         * modules/settime (Depends-on): Likewise.
61671
61672 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61673
61674         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
61675         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
61676         pedantically.
61677         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
61678         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
61679
61680         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
61681         not "==".  Reported by Ralf Wildenhues.
61682
61683 2006-03-01  Karl Berry  <karl@gnu.org>
61684
61685         * doc/Copyright/request-*: new files, synced from gnuorg.
61686
61687 2006-03-01  Karl Berry  <karl@gnu.org>
61688
61689         * config/srclist.txt (Copyright/*): new entries.
61690
61691 2006-02-28  Simon Josefsson  <jas@extundo.com>
61692
61693         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
61694
61695 2006-02-27  Simon Josefsson  <jas@extundo.com>
61696
61697         * lib/base64.h: Indent #define's.  From Jim Meyering
61698         <jim@meyering.net>.
61699
61700 2006-02-27  Jim Meyering  <jim@meyering.net>
61701
61702         Revert the change of 2006-02-24, so these files can continue
61703         to be sync'd from gettext.
61704         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
61705         of `config.h'.
61706
61707 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
61708
61709         * modules/intprops: New file.
61710         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
61711         Add intprops.
61712         * modules/getloadavg (Files): Remove lib/intprops.h.
61713         (Depends-on): Add intprops.
61714         * modules/human: Likewise.
61715         * modules/inttostr: Likewise.
61716         * modules/openat: Likewise.
61717         * modules/sig2str: Likewise.
61718         * modules/userspec: Likewise.
61719         * modules/utimecmp: Likewise.
61720         * modules/xnanosleep: Likewise.
61721         * modules/xstrtol: Likewise.
61722
61723 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
61724
61725         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
61726         * modules/lock-tests (TESTS): Use $(EXEEXT).
61727         * modules/tls-tests: Likewise.
61728         * modules/argp-tests: Likewise.
61729         (check_PROGRAMS): New var, replacing...
61730         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
61731
61732 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61733
61734         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
61735         `config.h'.
61736
61737 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
61738
61739         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
61740
61741 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61742
61743         Sync from coreutils.
61744         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
61745         gl_CHDIR_SAFER.
61746
61747 2006-02-22  Jim Meyering  <jim@meyering.net>
61748
61749         Sync from coreutils.
61750         * m4/chdir-safer.m4: New file.
61751
61752 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
61753
61754         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
61755         AT_FDCWD exceeds INT_MAX.
61756         * lib/openat.h (AT_FDCWD): Likewise.
61757
61758 2006-02-17  Eric Blake  <address@hidden>
61759
61760         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
61761
61762 2006-02-16  Simon Josefsson  <jas@extundo.com>
61763
61764         * modules/getaddrinfo (Depends-on): Add sys_socket.
61765
61766 2006-02-15  Simon Josefsson  <jas@extundo.com>
61767
61768         * build-aux/maint.mk: Add dsyntax-check rule.
61769
61770 2006-02-15  Eric Blake  <ebb9@byu.net>
61771
61772         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
61773         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
61774         'present but cannot compile' warnings on cygwin.
61775         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
61776         use ws2tcpip.h if sys/socket.h works.
61777         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
61778         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
61779
61780 2006-02-14  Simon Josefsson  <jas@extundo.com>
61781
61782         * modules/maintainer-makefile (Files): Rename.
61783
61784         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
61785         and (the local) Makefile.cfg to maint-cfg.mk.
61786
61787         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
61788         to the latter.
61789
61790         * modules/maintainer-makefile: New module.
61791
61792         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
61793         severaly stripped to make it possible to build it up from scratch
61794         with reliable tests.
61795
61796         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
61797         fixes to permit overriding the default actions when configure and
61798         makefile are not available.
61799
61800 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
61801
61802         Sync from coreutils.
61803         * modules/lstat (Depends-on): Don't depend on xalloc.
61804         (License): Change from GPL to LGPL, since this is now simply a
61805         replacement for a libc function.
61806
61807 2006-02-14  Jim Meyering  <jim@meyering.net>
61808
61809         Sync from coreutils.
61810
61811         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
61812         failure on deficient systems, and simplify gnulib lgpl dependencies.
61813         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
61814         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
61815
61816         * lib/xalloc-die.c: Remove unused definition of N_.
61817
61818 2006-02-14  Jim Meyering  <jim@meyering.net>
61819
61820         Sync from coreutils.
61821         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
61822         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
61823         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
61824         double-quote uses of that variable, to accommodate the rare case in
61825         which getmntent is available in none of the libraries checked.  This
61826         happens at least on FreeBSD 5.0.
61827
61828 2006-02-13  Simon Josefsson  <jas@extundo.com>
61829
61830         * gnulib-tool (Usage): Fix --import, from
61831         karl@freefriends.org (Karl Berry).
61832
61833 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
61834
61835         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
61836
61837 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
61838
61839         * lib/argp-namefrob.h: Restore changes accidentally lost during the
61840         "autoupdate" on 2005-12-12.
61841
61842 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61843
61844         * modules/closeout (Depends-on): Remove atexit.
61845
61846 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61847
61848         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
61849         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
61850
61851 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
61852
61853         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
61854         __EXTENSIONS__ if this causes compilation to fail.  Problem
61855         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
61856         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
61857
61858 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
61859
61860         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
61861         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
61862         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
61863         All uses changed.
61864
61865 2006-01-26  Simon Josefsson  <jas@extundo.com>
61866
61867         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
61868         prototype is visible on mingw32.
61869
61870         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
61871         for mingw32.
61872
61873         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
61874         mingw32).
61875
61876 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
61877
61878         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
61879         attempt to open for write; this always fails, at least on POSIX
61880         hosts.  This reinstates the 2006-01-09 change, which was
61881         inadvertently removed.
61882
61883 2006-01-26  Bruno Haible  <bruno@clisp.org>
61884
61885         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
61886         Reported by Paul Eggert.
61887
61888 2006-01-26  Bruno Haible  <bruno@clisp.org>
61889             Paul Eggert  <eggert@cs.ucla.edu>
61890
61891         * lib/stdbool_.h (_Bool)
61892         [(! (defined __cplusplus || defined __BEOS__)
61893           && !defined __GNUC__
61894           && !(defined __HP_cc || defined __xlc__
61895                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
61896                || defined __sgi))]:
61897         #define to signed char in these cases too; this simplifies
61898         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
61899         etc., separately) and makes it more conservative.
61900
61901 2006-01-25  Simon Josefsson  <jas@extundo.com>
61902
61903         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
61904         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
61905         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
61906
61907 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61908
61909         * lib/argp-namefrob.h: Bugfix. Remove stray #
61910
61911 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61912
61913         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
61914         so that we test the test.
61915         Check for yet another HP-UX cc bug involving *bool |= bool.
61916
61917 2006-01-25  Karl Berry  <karl@gnu.org>
61918
61919         * config/srclist.txt (vasnprintf.c): sync lost.
61920
61921 2006-01-25  Jim Meyering  <jim@meyering.net>
61922
61923         Sync from the stable (b5) branch of coreutils:
61924
61925         * lib/fts.c (fts_children): Don't let close() clobber errno from
61926         failed fchdir().
61927
61928         * lib/fts.c (fts_stat): When following a symlink-to-directory,
61929         don't necessarily interpret stat-fails+lstat-succeeds as indicating
61930         a dangling symlink.  That can also happen at least for ELOOP.
61931         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
61932         FYI, this bug predates the inclusion of fts.c in coreutils.
61933
61934         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
61935         in their own block, so pre-c99 compilers don't object.
61936
61937         Avoid the double-free (first in fts_read, second in fts_close) that
61938         would occur when an `active' directory is made inaccessible (e.g.,
61939         via chmod a-x) during a traversal.
61940         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
61941         before returning.  Reproduce this failure by
61942         mkdir -p a/b; cd a; chmod a-x . b
61943         Reported by Stavros Passas.
61944
61945 2006-01-25  Jim Meyering  <jim@meyering.net>
61946
61947         * lib/fileblocks.c: Remove more useless parentheses.
61948         * lib/readutmp.h: Likewise.
61949
61950 2006-01-25  Bruno Haible  <bruno@clisp.org>
61951
61952         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
61953         warnings.
61954         Reported by Paul Eggert.
61955
61956 2006-01-25  Bruno Haible  <bruno@clisp.org>
61957
61958         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
61959         rid of a trap command. For Solaris sh.
61960         Reported by Mark D. Baushke <mdb@gnu.org>.
61961
61962 2006-01-24  Simon Josefsson  <jas@extundo.com>
61963
61964         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
61965         Bruno.
61966
61967 2006-01-24  Karl Berry  <karl@gnu.org>
61968
61969         * config/srclist.txt (argp-namefrob.h): sync lost.
61970
61971 2006-01-24  Jim Meyering  <jim@meyering.net>
61972
61973         * modules/openat (Files): Add lib/intprops.h.
61974         From Mark D. Baushke.
61975
61976 2006-01-24  Jim Meyering  <jim@meyering.net>
61977
61978         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
61979         Reported by Mark D. Baushke.
61980
61981 2006-01-24  Jim Meyering  <jim@meyering.net>
61982
61983         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
61984
61985 2006-01-24  Bruno Haible  <bruno@clisp.org>
61986
61987         * modules/strnlen (Maintainer): Change from glibc to all.
61988
61989 2006-01-24  Bruno Haible  <bruno@clisp.org>
61990
61991         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
61992         Patch by Paul Eggert.
61993
61994 2006-01-24  Bruno Haible  <bruno@clisp.org>
61995
61996         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
61997         already has it.
61998         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
61999         2005-11-26.
62000
62001         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
62002         'signed char' to avoid problems with the built-in _Bool type.
62003         Reported by Paul Eggert on 2005-11-26.
62004
62005 2006-01-24  Bruno Haible  <bruno@clisp.org>
62006
62007         * gnulib-tool (func_import): Avoid constructing complicated sed
62008         expressions inside backquote.
62009         Report and solution by Mark D. Baushke <mdb@gnu.org>.
62010
62011 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
62012
62013         These changes imported from libc.
62014         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
62015         test and two separate function calls.
62016         * lib/strndup.c (__strndup): Add libc_hidden_def.
62017
62018 2006-01-23  Simon Josefsson  <jas@extundo.com>
62019
62020         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
62021         Remove the test_*_SOURCES variable: automake infers it by default.
62022         * modules/tls-tests: Likewise.
62023
62024 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62025
62026         Work around porting bugs reported by Dieter in
62027         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
62028         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
62029         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
62030         Include "getopt.h" first, to check interface.
62031         (getenv): Declare only if defined HAVE_DECL_GETENV &&
62032         !HAVE_DECL_GETENV.
62033         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
62034         (__strndup): Revert to K&R-style function dfns, the glibc style.
62035         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
62036         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
62037         Include strnlen.h first, to get prototype properly.
62038         (strnlen): Renamed from __strnlen.
62039         Remove weak alias.
62040
62041 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62042
62043         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
62044
62045 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62046
62047         * config/srclist.txt: Adjust to reflect glibc reorganization.
62048         This affects only comments.
62049
62050 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
62051
62052          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
62053          Reported by Bruce Korb <bkorb@gnu.org>.
62054
62055 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
62056
62057         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
62058         to pacify gcc -Wswitch-default.
62059
62060 2006-01-22  Bruno Haible  <bruno@clisp.org>
62061
62062         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
62063         temporary buffer for sprintf, take into account the precision also
62064         for 'd', 'i', 'u', 'o', 'x', 'X'.
62065
62066 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62067
62068         * modules/argp-tests: New module
62069         * tests/test-argp.c: New file
62070         * tests/test-argp-2.sh: New file
62071
62072 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
62073
62074         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
62075         (__argp_base_name): Removed
62076         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
62077         typo.
62078         (__argp_base_name): Provide macro definition or extern declaration
62079         depending on the configuration
62080
62081 2006-01-20  Simon Josefsson  <jas@extundo.com>
62082
62083         * modules/inet_ntop (Depends-on): Depend on sys_socket.
62084
62085 2006-01-20  Simon Josefsson  <jas@extundo.com>
62086
62087         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
62088
62089 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
62090
62091         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
62092         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
62093         Suggested by Bruno Haible.
62094
62095 2006-01-20  Karl Berry  <karl@gnu.org>
62096
62097         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
62098         until changes propagate, I guess.
62099
62100 2006-01-19  Simon Josefsson  <jas@extundo.com>
62101
62102         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
62103
62104 2006-01-19  Simon Josefsson  <jas@extundo.com>
62105
62106         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
62107
62108 2006-01-19  Simon Josefsson  <jas@extundo.com>
62109
62110         * gnulib-tool: Set check_PROGRAMS.
62111
62112         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62113         modules/des-tests, modules/gc-arcfour-tests,
62114         modules/gc-arctwo-tests, modules/gc-des-tests,
62115         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62116         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62117         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62118         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62119         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62120         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
62121         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
62122         test_*_SOURCES.
62123
62124 2006-01-18  Simon Josefsson  <jas@extundo.com>
62125
62126         * modules/socklen (Depends-on): Depend on sys_socket.
62127
62128 2006-01-18  Simon Josefsson  <jas@extundo.com>
62129
62130         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
62131         modules/des-tests, modules/gc-arcfour-tests,
62132         modules/gc-arctwo-tests, modules/gc-des-tests,
62133         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
62134         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
62135         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
62136         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
62137         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
62138         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
62139         $(EXEEXT) to automake TESTS variable, for mingw32.
62140
62141 2006-01-17  Simon Josefsson  <jas@extundo.com>
62142
62143         * modules/socklen (Include): Need sys/socket.h.
62144
62145 2006-01-17  Bruno Haible  <bruno@clisp.org>
62146
62147         * modules/ssize_t (Include): Add <sys/types.h>.
62148
62149 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
62150
62151         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
62152         it's not portable and it doesn't work with cross-compiles.
62153         Problem reported by Bruno Haible.  Fix missing-$ typo in
62154         'test "gl_cv_ignore_unused_libraries" ...' that prevented
62155         -zignore from being used with Sun's C compiler.
62156
62157 2006-01-12  Simon Josefsson  <jas@extundo.com>
62158
62159         * lib/base64.c: Fix warning, reported by Bruno Haible
62160         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
62161
62162 2006-01-12  Bruno Haible  <bruno@clisp.org>
62163
62164         * modules/ldd: New file.
62165         * build-aux/ldd.sh.in: New file.
62166         * MODULES.html.sh (Support for building libraries and executables): Add
62167         ldd.
62168
62169 2006-01-12  Bruno Haible  <bruno@clisp.org>
62170
62171         * m4/ldd.m4: New file.
62172
62173 2006-01-12  Bruno Haible  <bruno@clisp.org>
62174
62175         * gnulib-tool (func_import, func_create_testdir): Don't go into an
62176         endless loop while replacing $auxdir with build-aux.
62177
62178 2006-01-11  Simon Josefsson  <jas@extundo.com>
62179
62180         * lib/stdint_.h (SIZE_MAX): Add missing (.
62181
62182 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
62183
62184         Sync from coreutils.
62185         * lib/md5.c: Fix commentary typos.
62186         (alignof, UNALIGNED_P): No need for a GCC-specific version.
62187         * lib/md5.h (__attribute__): Remove; unused.
62188         * lib/sha1.c: Fix commentary to match md5 better.
62189         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
62190         so that we don't need to worry about alignment.  All uses changed.
62191         This merges the 2005-10-28 md5 change into sha1.
62192
62193 2006-01-11  Jim Meyering  <jim@meyering.net>
62194
62195         Sync from coreutils.
62196         * lib/md5.c (OP): Fix spacing.
62197
62198 2006-01-11  Bruno Haible  <bruno@clisp.org>
62199
62200         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62201         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
62202         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
62203
62204 2006-01-11  Bruno Haible  <bruno@clisp.org>
62205
62206         Ensure automatic ordering between gl_LOCK and gl_ARGP.
62207         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
62208         the "early" section as well.
62209
62210 2006-01-11  Bruno Haible  <bruno@clisp.org>
62211
62212         Avoid "ar: no archive members specified" error on MacOS X.
62213         * gnulib-tool (func_modules_add_dummy): New function.
62214         (func_import, func_create_testdir): Invoke it.
62215
62216 2006-01-11  Bruno Haible  <bruno@clisp.org>
62217
62218         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
62219         with $auxdir in AC_CONFIG_FILES statements.
62220
62221 2006-01-11  Bruno Haible  <bruno@clisp.org>
62222
62223         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62224         Initialize also noinst_HEADERS to empty.
62225
62226 2006-01-11  Bruno Haible  <bruno@clisp.org>
62227
62228         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
62229         variables.
62230         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
62231         autoreconf.
62232
62233 2006-01-11  Bruno Haible  <bruno@clisp.org>
62234
62235         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
62236         overridable by the user.
62237         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62238
62239 2006-01-10  Simon Josefsson  <jas@extundo.com>
62240
62241         * modules/sys_socket: New file.
62242
62243 2006-01-10  Simon Josefsson  <jas@extundo.com>
62244
62245         * m4/sys_socket_h.m4: New file.
62246
62247 2006-01-10  Simon Josefsson  <jas@extundo.com>
62248
62249         * lib/socket_.h: New file.
62250
62251 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62252
62253         * modules/readutmp (Maintainer): Add myself.
62254
62255 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62256
62257         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
62258         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
62259         People who are still concerned with buggy memcmp implementations
62260         can invoke gl_FUNC_MEMCMP themselves.
62261
62262 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
62263
62264         * lib/regex_internal.h (BITSET_WORD_BITS):
62265         Work around a bug in 64-bit PGC (before version 6.1-2), where the
62266         preprocessor mishandles large unsigned values as if they were signed.
62267         Problem reported by Claudio Fontana in
62268         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
62269
62270 2006-01-10  Jim Meyering  <jim@meyering.net>
62271
62272         Avoid the double-free (first in fts_read, second in fts_close) that
62273         would occur when an `active' directory is made inaccessible (e.g.,
62274         via chmod a-x) during a traversal.
62275         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62276         before returning.  Reproduce this failure by
62277         mkdir -p a/b; cd a; chmod a-x . b
62278         Reported by Stavros Passas.
62279
62280         Sync from coreutils.
62281         * lib/sha1.c: Tweak grammar in a comment.
62282
62283 2006-01-10  Jim Meyering  <jim@meyering.net>
62284
62285         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
62286         Patch by Joerg Sonnenberger.
62287
62288 2006-01-10  Bruno Haible  <bruno@clisp.org>
62289
62290         * modules/readutmp: Depend on module free.
62291         * modules/strtok_r: Depend on module restrict.
62292
62293 2006-01-10  Bruno Haible  <bruno@clisp.org>
62294
62295         * modules/gettext (configure.ac): Add an invocation of
62296         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
62297
62298 2006-01-10  Bruno Haible  <bruno@clisp.org>
62299
62300         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
62301         Reported by Werner Lemberg <wl@gnu.org>.
62302
62303 2006-01-10  Bruno Haible  <bruno@clisp.org>
62304
62305         * lib/localcharset.c: Update from GNU gettext.
62306
62307 2006-01-10  Bruno Haible  <bruno@clisp.org>
62308
62309         * lib/argp.h (__const): Remove macro. Use const instead.
62310         * lib/argp-fmtstream.h (__const): Likewise.
62311         * lib/glob_.h (__const): Remove macro.
62312         * lib/glob-libc.h: Use const instead of __const.
62313
62314 2006-01-10  Bruno Haible  <bruno@clisp.org>
62315
62316         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
62317         variable.
62318         Needed to avoid an automake error regarding the 'gettext' module.
62319
62320 2006-01-09  Simon Josefsson  <jas@extundo.com>
62321
62322         * modules/inet_ntop (Depends-on): Add restrict.
62323
62324 2006-01-09  Simon Josefsson  <jas@extundo.com>
62325
62326         * modules/gc-rijndael-tests (License): Put under LGPL.
62327
62328         * modules/gc-des-tests (License): Likewise.
62329
62330         * modules/gc-arcfour-tests (License): Likewise.
62331
62332         * modules/gc-arctwo-tests (License): Likewise.
62333
62334         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
62335
62336         * modules/gc-hmac-sha1-tests (Files): Likewise.
62337
62338         * modules/gc-hmac-md5-tests (License): Likewise.
62339
62340         * modules/gc-sha1-tests (License): Likewise.
62341
62342         * modules/gc-md5-tests (License): Likewise.
62343
62344         * modules/gc-md4-tests (License): Likewise.
62345
62346         * modules/gc-md2-tests (License): Likewise.
62347
62348         * modules/gc-tests (License): Likewise.
62349
62350         * modules/des-tests (License): Likewise.
62351
62352         * modules/md4-tests (License): Likewise.
62353
62354         * modules/md2-tests (License): Likewise.
62355
62356 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62357
62358         Sync from coreutils:
62359
62360         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
62361         * modules/lib-ignore: New file.
62362         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
62363         chdir-safer.m4, lchmod.m4.
62364         * modules/openat: Add mkdirat.c, openat-priv.h.
62365
62366 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62367
62368         Sync from coreutils.
62369         * m4/lib-ignore.m4: New file.
62370         * m4/lchmod.m4: New file.
62371
62372 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62373
62374         Sync from coreutils.
62375         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
62376         for write access: POSIX says that must fail.
62377         * lib/fts.c (diropen): Likewise.
62378         * lib/save-cwd.c (save_cwd): Likewise.
62379         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
62380         well, for minor improvements on hosts that lack O_DIRECTORY.
62381         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
62382         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
62383         Fall back on chown if open failed with EACCES.
62384
62385         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
62386         Report an error at compile-time if only a 1-second nominal clock
62387         resolution is found.
62388
62389         * lib/lchmod.h: New file.
62390         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
62391         (make_dir_parents): Use lchown rather than chown, and
62392         lchmod rather than chmod.
62393
62394         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
62395         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
62396         "proc" reported by n0dalus.
62397
62398         * lib/mountlist.c: Include <limits.h>.
62399         (dev_from_mount_options)
62400         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
62401         New function.  It no longer assumes "dev=" has the System V meaning
62402         on Linux (since it doesn't).  It also parses "dev=" more carefully.
62403         (read_file_system_list)
62404         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
62405         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
62406         dev= in that case.
62407
62408         * lib/posixtm.h (PDS_PRE_2000): New macro.
62409         * lib/posixtm.c (year): Arg is now syntax_bits rather than
62410         allow_century.  All usages changed.  Reject dates outside the range
62411         1969-1999 if PDS_PRE_2000 is used.
62412
62413 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62414
62415         Sync from coreutils.
62416         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
62417         (Time of day items): Mention the possibility of leap seconds.
62418         Problem reported by Dr. David Alan Gilbert.
62419
62420 2006-01-09  Jim Meyering  <jim@meyering.net>
62421
62422         Sync from coreutils.
62423
62424         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
62425
62426         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
62427
62428         * lib/modechange.c (mode_compile): Reject an invalid mode string
62429         that starts with an octal digit.  From Andreas Gruenbacher.
62430
62431         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
62432         and dup to open_safer and dup_safer, respectively.
62433         (openat_permissive): Fix typo in comment.
62434
62435         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
62436         "gettext.h"; either no longer needed or are guaranteed by openat.h.
62437         (_): Remove; no longer needed.
62438         (openat): Renamed from rpl_openat; no need for rpl_openat
62439         since openat.h renames openat for us.
62440         Replace most of the body with a call to openat_permissive,
62441         to avoid duplicate code.
62442         Port to (probably hypothetical) environments were mode_t is
62443         wider than int.
62444         (openat_permissive): Require mode arg, so that we can check
62445         types better.  Put it just after flags.  Change cwd failure
62446         indicator from pointer-to-bool to pointer-to-errno-value.
62447         All callers changed.
62448         Invoke openat_save_fail and/or openat_restore_fail if
62449         cwd_errno is null, so that openat can call us.
62450         (openat_permissive, fdopendir, fstatat, unlinkat):
62451         Simplify errno handling to avoid some duplicate code,
62452         as it's OK to set errno on success.
62453         * lib/openat.h: Revamp code so that function macros depend on
62454         __OPENAT_PREFIX only, not also on AT_FDCWD.
62455         (openat_ro): Remove.  Caller changed to use openat_permissive.
62456         (openat_permissive): Now a macro, if not a function.
62457         (openat_restore_fail, openat_save_fail): Now always functions,
62458         since mkdirat needs them even if __OPENAT_PREFIX is defined.
62459
62460         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
62461         and openat.c.
62462         * lib/mkdirat.c: Include openat-priv.h.
62463         Remove definitions of macros defined therein.
62464         * lib/openat.c: Likewise.
62465
62466         * lib/mkdirat.c (mkdirat): New file and function.
62467         * lib/openat.h (mkdirat): Declare.
62468
62469         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
62470
62471         * lib/openat.h (openat_permissive): Declare.
62472         (openat_ro): Define.
62473
62474         * lib/openat.c (EXPECTED_ERRNO): New macro.
62475         (openat_permissive): New function -- used in remove.c rewrite.
62476         (all functions): Set errno just before returning, only if there
62477         was an actual failure.
62478         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
62479
62480         Emulate openat-family functions using Linux's procfs, if possible.
62481         Idea and some code based on Ulrich Drepper's glibc changes.
62482
62483         * lib/openat.c: (BUILD_PROC_NAME): New macro.
62484         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
62485         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
62486         before falling back on save_cwd and restore_cwd.
62487         (fdopendir, fstatat, unlinkat): Likewise.
62488
62489         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
62490         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
62491
62492         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
62493         as second argument to va_arg.  Otherwise, some versions of gcc
62494         warn that `if this code is reached, the program will abort'.
62495
62496 2006-01-09  Jim Meyering  <jim@meyering.net>
62497
62498         Sync from coreutils.
62499         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
62500         Require openat-priv.h.
62501
62502 2006-01-09  Bruno Haible  <bruno@clisp.org>
62503
62504         * modules/strnlen (Include): Use strnlen.h.
62505
62506 2006-01-09  Bruno Haible  <bruno@clisp.org>
62507
62508         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
62509
62510 2006-01-09  Bruno Haible  <bruno@clisp.org>
62511
62512         * lib/sysexit_.h (EX_OK): New macro.
62513         Suggested by Martin Lambers <marlam@marlam.de>.
62514
62515 2006-01-09  Bruno Haible  <bruno@clisp.org>
62516
62517         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
62518         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
62519
62520 2006-01-09  Bruno Haible  <bruno@clisp.org>
62521
62522         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
62523         numbers.
62524
62525 2006-01-09  Bruno Haible  <bruno@clisp.org>
62526
62527         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
62528         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
62529         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
62530         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
62531
62532 2006-01-09  Bruno Haible  <bruno@clisp.org>
62533
62534         * build-aux/javacomp.sh.in: New file, moved from lib/.
62535         * modules/javacomp-script (Files): Update.
62536         (configure.ac): Add AC_CONFIG_FILES invocation.
62537         (EXTRA_DIST): Remove variable.
62538
62539         * build-aux/javaexec.sh.in: New file, moved from lib/.
62540         * modules/javaexec (Files): Update.
62541         (configure.ac): Add AC_CONFIG_FILES invocation.
62542         (EXTRA_DIST): Remove javaexec.sh.in.
62543
62544         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
62545         * modules/csharpcomp-script (Files): Update.
62546         (configure.ac): Add AC_CONFIG_FILES invocation.
62547         (EXTRA_DIST): Remove variable.
62548
62549         * build-aux/csharpexec.sh.in: New file, moved from lib/.
62550         * modules/csharpexec (Files): Update.
62551         (configure.ac): Add AC_CONFIG_FILES invocation.
62552         (EXTRA_DIST): Remove csharpexec.sh.in.
62553
62554 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
62555
62556         Sync from coreutils.
62557
62558         Add POSIX ACL support
62559         * lib/acl.h (copy_acl, set_acl): Add declarations.
62560         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
62561         systems other than Linux.
62562         (chmod_or_fchmod): New function: use fchmod when possible,
62563         and chmod otherwise.
62564         (file_has_acl): Add a POSIX ACL implementation, with a
62565         Linux-specific subcase.
62566         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
62567         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
62568         acls are unsupported.
62569         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
62570         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
62571         are unsupported.
62572
62573 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
62574
62575         Sync from coreutils.
62576         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
62577
62578 2006-01-07  Bruno Haible  <bruno@clisp.org>
62579
62580         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
62581         gl_EARLY.
62582
62583 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
62584
62585         * lib/strftime.c (tzname): Don't declare if it is already #defined.
62586         Problem reported for Mingw by Mark Junker.
62587
62588 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
62589
62590         * README: Gnulib normally doesn't generate a tarball.
62591
62592 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
62593
62594         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
62595         long int, not int, for nanosecond counts, so that people who are
62596         used to POSIX struct timespec won't be surprised.  Reported by Jim
62597         Meyering.
62598
62599 2005-12-28  Bruno Haible  <bruno@clisp.org>
62600
62601         * build-aux/config.rpath: Update from GNU gettext.
62602
62603 2005-12-16  Jim Meyering  <jim@meyering.net>
62604
62605         * modules/fprintftime: New module.
62606         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
62607
62608 2005-12-16  Jim Meyering  <jim@meyering.net>
62609
62610         * m4/fprintftime.m4: New file.
62611
62612 2005-12-16  Jim Meyering  <jim@meyering.net>
62613
62614         * lib/fprintftime.c, lib/fprintftime.h: New files.
62615
62616 2005-12-15  Simon Josefsson  <jas@extundo.com>
62617
62618         * modules/socklen (configure.ac): Fix M4 macro name, to align with
62619         new m4/socklen.m4.
62620
62621 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62622
62623         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
62624         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
62625
62626 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
62627
62628         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
62629         * lib/argp-help.c (fill_in_uparams): Check if the constructed
62630         struct uparams is valid. Fall back to the default values if it is
62631         not.
62632
62633 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62634
62635         * modules/argp (Files): Add argp-pin.c
62636         (Depends-on): dirname
62637         (lib_SOURCES): Add argp-pin.c
62638
62639 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62640
62641         * m4/argp.m4:  Check if program_invocation_name and
62642         program_invocation_short_name are declared and define appropriate
62643         macros if they are not.
62644
62645 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
62646
62647         * lib/argp-help.c (__argp_base_name): New function
62648         (__argp_short_program_name): Rewrite using __argp_base_name
62649         * lib/argp-namefrob.h: Define program_invocation_name and
62650         program_invocation_short_name if requested
62651         (__argp_base_name): Add prototype
62652         * lib/argp-parse.c (argp_def): Use gettext wrappers
62653         (argp_default_parser): Use __argp_base_name
62654         * lib/argp-pin.c: New file. Defines program_invocation_name and
62655         program_invocation_short_name on systems that lack them.
62656
62657 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
62658
62659         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
62660         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
62661         porting problem reported by Georg Schwarz in
62662         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
62663
62664 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
62665
62666         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
62667         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
62668         porting problem reported by Georg Schwarz in
62669         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
62670
62671 2005-12-05  Bruno Haible  <bruno@clisp.org>
62672
62673         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
62674         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
62675         Reported by Mark Junker <mjscod@gmx.de>.
62676
62677 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
62678
62679         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
62680         Use implementation from Albert Chin, with some
62681         comments/corrections by Stepan Kasal and myself.
62682
62683 2005-12-02  Bruno Haible  <bruno@clisp.org>
62684
62685         * gnulib-tool (func_import): Accept GPLed build tool modules when
62686         --lgpl is given.
62687         * modules/csharpcomp-script: New file.
62688         * modules/csharpcomp: Depend on it.
62689         * modules/javacomp-script: New file.
62690         * modules/javacomp: Depend on it.
62691         Suggested by Simon Josefsson.
62692
62693 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
62694
62695         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
62696         statement, to work around an HP-UX 10.20 compiler bug reported by
62697         Peter O'Gorman.
62698
62699 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62700
62701         * modules/savedir (Depends-on): Add openat.
62702
62703 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
62704
62705         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
62706         (uintmax_t) [defined uintmax_t]: Do not declare.
62707         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
62708         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
62709         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
62710         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
62711         sake of portability to weird hosts that C allows (though we don't
62712         know of any practical examples).
62713
62714         * lib/savedir.h (fdsavedir): New decl.
62715         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
62716         contains most of the former guts of savedir.
62717         (savedir): Use savedirstream.
62718         Include "openat.h".
62719
62720 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62721
62722         * modules/obstack (Files): Add m4/ulonglong.m4.
62723         Problem reported by Davide Angelocola.
62724
62725 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62726
62727         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
62728         coreutils no longer futzes with rounding modes.
62729
62730 2005-11-14  Jim Meyering  <jim@meyering.net>
62731
62732         * lib/mkstemp-safer.c: Include <config.h>, required for possible
62733         replacement of mkstemp.
62734
62735 2005-11-10  Simon Josefsson  <jas@extundo.com>
62736
62737         * lib/readline.c: Remove EOL.
62738
62739 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62740
62741         * modules/gethrxtime (Depends-on): Add gettime.
62742
62743 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62744
62745         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
62746         or gettimeofday; no longer needed.
62747
62748 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62749
62750         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
62751         time business.
62752         (gethrxtime) [! (HAVE_NANOUPTIME
62753         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
62754         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
62755         our own approximation.
62756
62757 2005-11-08  Eric Blake  <ebb9@byu.net>
62758
62759         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62760
62761 2005-11-08  Eric Blake  <ebb9@byu.net>
62762
62763         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
62764
62765 2005-11-04  Bruno Haible  <bruno@clisp.org>
62766
62767         * gnulib-tool: Implement --update mode.
62768
62769 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62770
62771         Fix porting problem reported by Theodoros V. Kalamatianos.
62772         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
62773         Don't assume that futimes failing means we must fail.
62774
62775 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62776
62777         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
62778         variables to suggest the intended function of the PATH_MAX check.
62779
62780 2005-10-30  Kean Johnston  <jkj@sco.com>
62781
62782         Trivial changes to support SCO systems.
62783         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
62784         as PATH_MAX.
62785         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
62786         where __ptr is null when no I/O is pending.
62787
62788 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62789
62790         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
62791         leave errno alone.  Problem reported by Dmitry V. Levin.
62792
62793 2005-10-28  Simon Josefsson  <jas@extundo.com>
62794
62795         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
62796         Test more.
62797
62798         * tests/test-gc-md2.c, tests/test-md2.c: New files.
62799
62800         * modules/md2, modules/md2-tests: New files.
62801
62802 2005-10-28  Simon Josefsson  <jas@extundo.com>
62803
62804         * m4/inet_ntop.m4: More tests.
62805
62806         * m4/gc-md2.m4, md2.m4: New file.
62807
62808 2005-10-28  Simon Josefsson  <jas@extundo.com>
62809
62810         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
62811         "restrict" keywords, as per POSIX.  Protect the function
62812         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
62813         Don't use K&R prototypes.  Check the sprintf return values.
62814         Re-define EAFNOSUPPORT if not present.  Indent.
62815
62816         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
62817         suggested by Bruno Haible <bruno@clisp.org>.
62818
62819         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
62820
62821         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
62822
62823         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
62824         libgcrypt).
62825
62826         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
62827
62828         * lib/md2.h, lib/md2.c: New files.
62829
62830 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
62831
62832         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
62833         errno alone.  Problem reported by Frederic Jolliton.
62834
62835 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
62836
62837         * modules/verify (License): Change from GPL to LGPL.  This is a
62838         tiny module and there are apparently near-equivalents that are
62839         under the BSD license.
62840
62841 2005-10-24  Simon Josefsson  <jas@extundo.com>
62842
62843         * modules/sha1: Relicense to LGPL.
62844
62845 2005-10-24  Simon Josefsson  <jas@extundo.com>
62846
62847         * lib/md4.h: Shrink buffer size, now that we changed the type.
62848
62849 2005-10-23  Simon Josefsson  <jas@extundo.com>
62850
62851         * gnulib-tool (func_import): Fix --tests-base.
62852
62853 2005-10-22  Simon Josefsson  <jas@extundo.com>
62854
62855         * modules/arcfour (Depends-on): Need stdint.
62856
62857 2005-10-22  Simon Josefsson  <jas@extundo.com>
62858
62859         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
62860         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
62861
62862 2005-10-22  Simon Josefsson  <jas@extundo.com>
62863
62864         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
62865         suggested by Bruno Haible <bruno@clisp.org>.
62866
62867 2005-10-22  Simon Josefsson  <jas@extundo.com>
62868
62869         * lib/crc.h: Include stddef.h, for size_t.
62870
62871 2005-10-22  Simon Josefsson  <jas@extundo.com>
62872
62873         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
62874         arcfour_context struct (simplify test vector testing in GNU
62875         Shishi).
62876
62877 2005-10-21  Simon Josefsson  <jas@extundo.com>
62878
62879         * modules/des, modules/des-tests: New files.
62880
62881         * modules/gc-des, modules/gc-des-tests: New files.
62882
62883         * tests/test-des.c, tests/test-gc-des.c: New file.
62884
62885 2005-10-21  Simon Josefsson  <jas@extundo.com>
62886
62887         * modules/arctwo, modules/arctwo-tests: New files.
62888
62889         * tests/test-arctwo.c: New file.
62890
62891         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
62892
62893         * tests/test-gc-arctwo.c: New file.
62894
62895 2005-10-21  Simon Josefsson  <jas@extundo.com>
62896
62897         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
62898         Bruno Haible <bruno@clisp.org>.
62899
62900         * m4/gc-des.m4: New file.
62901
62902 2005-10-21  Simon Josefsson  <jas@extundo.com>
62903
62904         * m4/arctwo.m4: New file.
62905
62906         * m4/gc-arctwo.m4: New file.
62907
62908 2005-10-21  Simon Josefsson  <jas@extundo.com>
62909
62910         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
62911         block.
62912
62913 2005-10-21  Simon Josefsson  <jas@extundo.com>
62914
62915         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
62916         <bruno@clisp.org>.
62917
62918         * lib/hmac-sha1.c (hmac_sha1): Likewise.
62919
62920         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
62921         Bruno Haible <bruno@clisp.org>.
62922
62923         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
62924         <bruno@clisp.org>.
62925
62926 2005-10-21  Simon Josefsson  <jas@extundo.com>
62927
62928         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
62929
62930 2005-10-21  Simon Josefsson  <jas@extundo.com>
62931
62932         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
62933
62934 2005-10-21  Simon Josefsson  <jas@extundo.com>
62935
62936         * lib/des.h, lib/des.c: New files.
62937
62938         * lib/gc-gnulib.c: Support DES.c
62939
62940 2005-10-21  Simon Josefsson  <jas@extundo.com>
62941
62942         * lib/arctwo.h, lib/arctwo.c: New files.
62943
62944         * lib/gc-gnulib.c: Support ARCTWO.
62945
62946 2005-10-21  Simon Josefsson  <jas@extundo.com>
62947
62948         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
62949         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62950
62951 2005-10-21  Simon Josefsson  <jas@extundo.com>
62952
62953         * gnulib-tool (func_import, func_create_testdir): Define automake
62954         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
62955         Makefile.am snippet),
62956         suggested by Bruno Haible <bruno@clisp.org>.
62957
62958         * modules/gc (Makefile.am): Use it.
62959
62960 2005-10-21  Bruno Haible  <bruno@clisp.org>
62961
62962         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
62963         patch.
62964
62965 2005-10-19  Simon Josefsson  <jas@extundo.com>
62966
62967         * tests/test-gc-rijndael.c: New file.
62968
62969         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
62970
62971 2005-10-19  Simon Josefsson  <jas@extundo.com>
62972
62973         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
62974         interface too.
62975
62976 2005-10-19  Simon Josefsson  <jas@extundo.com>
62977
62978         * tests/test-gc-arcfour.c: New file.
62979
62980         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
62981
62982 2005-10-19  Simon Josefsson  <jas@extundo.com>
62983
62984         * modules/gc-md4, modules/gc-md4-tests: New file.
62985
62986         * tests/test-gc-md4.c: New file.
62987
62988 2005-10-19  Simon Josefsson  <jas@extundo.com>
62989
62990         * m4/gc-md4.m4: New file.
62991
62992 2005-10-19  Simon Josefsson  <jas@extundo.com>
62993
62994         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
62995         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
62996         <kasal@ucw.cz>.
62997
62998 2005-10-19  Simon Josefsson  <jas@extundo.com>
62999
63000         * m4/gc-arcfour.m4: New file.
63001
63002         * m4/gc-rijndael.m4: New file.
63003
63004 2005-10-19  Simon Josefsson  <jas@extundo.com>
63005
63006         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
63007
63008 2005-10-19  Simon Josefsson  <jas@extundo.com>
63009
63010         * lib/gc-gnulib.c: Support ARCFOUR.
63011
63012 2005-10-19  Simon Josefsson  <jas@extundo.com>
63013
63014         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
63015         support.
63016
63017         * lib/gc.h: Add ECB enum type.
63018
63019         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
63020
63021 2005-10-18  Simon Josefsson  <jas@extundo.com>
63022
63023         * tests/test-md5.c: New file.
63024
63025         * modules/md5-tests: New file.
63026
63027 2005-10-18  Simon Josefsson  <jas@extundo.com>
63028
63029         * tests/test-md4.c: New file.
63030
63031         * modules/md4, modules/md4-tests: New files.
63032
63033 2005-10-18  Simon Josefsson  <jas@extundo.com>
63034
63035         * m4/md4.m4: New file.
63036
63037 2005-10-18  Simon Josefsson  <jas@extundo.com>
63038
63039         * lib/md4.h, lib/md4.c: New files, based on md5.?.
63040
63041 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
63042
63043         * gnulib-tool (func_create_testdir): Omit the second check whether
63044         BUILT_SOURCES in nonempty.
63045
63046 2005-10-17  Simon Josefsson  <jas@extundo.com>
63047
63048         * tests/test-rijndael.c: New file.
63049
63050 2005-10-17  Simon Josefsson  <jas@extundo.com>
63051
63052         * modules/sha1: Depend on stdint instead of md5.
63053
63054         * modules/md5: Depend on stdint, remove uint32_t.
63055
63056 2005-10-17  Simon Josefsson  <jas@extundo.com>
63057
63058         * modules/gc-sha1-tests: New file.
63059
63060         * tests/test-gc-sha1.c: New file.
63061
63062 2005-10-17  Simon Josefsson  <jas@extundo.com>
63063
63064         * m4/md5.m4: Remove call to uint32_t.m4.
63065
63066 2005-10-17  Simon Josefsson  <jas@extundo.com>
63067
63068         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
63069
63070         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
63071         md5.h.
63072
63073         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
63074
63075         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
63076
63077 2005-10-17  Simon Josefsson  <jas@extundo.com>
63078
63079         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
63080
63081 2005-10-17  Simon Josefsson  <jas@extundo.com>
63082
63083         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
63084
63085 2005-10-17  Simon Josefsson  <jas@extundo.com>
63086
63087         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
63088
63089         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
63090
63091 2005-10-17  Bruno Haible  <bruno@clisp.org>
63092
63093         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
63094         that it can also be used in a test.
63095
63096 2005-10-16  Bruno Haible  <bruno@clisp.org>
63097
63098         * gnulib-tool (func_emit_tests_Makefile_am): Also define
63099         TESTS_ENVIRONMENT, so that individual tests can augment it.
63100
63101         * gnulib-tool (func_create_testdir): Use an intermediate target for
63102         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
63103         macros, like $(ALLOCA_H), which cannot be passed through the command
63104         line.
63105
63106 2005-10-15  Simon Josefsson  <jas@extundo.com>
63107
63108         * modules/rijndael-tests: New file.
63109
63110         * modules/rijndael: New file.
63111
63112 2005-10-15  Simon Josefsson  <jas@extundo.com>
63113
63114         * m4/rijndael.m4: New file.
63115
63116 2005-10-15  Simon Josefsson  <jas@extundo.com>
63117
63118         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
63119
63120         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
63121
63122 2005-10-14  Simon Josefsson  <jas@extundo.com>
63123
63124         * tests/test-arcfour.c: New file.
63125
63126         * modules/arcfour, modules/arcfour-tests: New files.
63127
63128 2005-10-14  Simon Josefsson  <jas@extundo.com>
63129
63130         * m4/arcfour.m4: New file.
63131
63132 2005-10-14  Simon Josefsson  <jas@extundo.com>
63133
63134         * lib/arcfour.h, lib/arcfour.c: New files.
63135
63136 2005-10-14  Roland McGrath  <roland@redhat.com>
63137
63138         Import from libc.  [BZ #1331]
63139         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
63140         macro argument.
63141         Reported by Matej Vela <vela@debian.org>.
63142
63143 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63144
63145         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
63146         include <wchar.h>; no longer needed.
63147
63148 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
63149
63150         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
63151
63152 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
63153         and  Ulrich Drepper  <drepper@redhat.com>
63154
63155         Import from libc.
63156         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
63157         instead of inline stream orientation test and two separate
63158         function calls.  Pay no attention to USE_IN_LIBIO.
63159
63160 2005-10-13  Simon Josefsson  <jas@extundo.com>
63161
63162         * modules/gc-hmac-md5-tests: New file.
63163
63164         * tests/test-gc-hmac-sha1.c: New file.
63165
63166         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
63167
63168         * modules/gc-hmac-md5-tests: New file.
63169
63170         * tests/test-gc-md5.c: New file.
63171
63172         * modules/gc-md5-tests: New file.
63173
63174 2005-10-13  Simon Josefsson  <jas@extundo.com>
63175
63176         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
63177         Move memory allocation outside of loop.
63178
63179 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
63180
63181         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
63182         intermediate directory is in a read-only file system.  Problem
63183         reported by Eric Blake.
63184
63185 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
63186
63187         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
63188
63189 2005-10-12  Simon Josefsson  <jas@extundo.com>
63190
63191         * tests/test-hmac-sha1.c: New file.
63192
63193         * modules/hmac-sha1-tests: New file.
63194
63195         * modules/hmac-sha1: New file.
63196
63197 2005-10-12  Simon Josefsson  <jas@extundo.com>
63198
63199         * modules/gc-sha1: New file.
63200
63201 2005-10-12  Simon Josefsson  <jas@extundo.com>
63202
63203         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
63204
63205         * tests/test-gc-pbkdf2-sha1.c: New file.
63206
63207 2005-10-12  Simon Josefsson  <jas@extundo.com>
63208
63209         * modules/gc-md5, modules/gc-hmac-md5: New files.
63210
63211         * modules/gc (Files): Remove md5, memxor and hmac files.
63212
63213 2005-10-12  Simon Josefsson  <jas@extundo.com>
63214
63215         * m4/gc-pbkdf2-sha1.m4: New file.
63216
63217         * m4/gc-hmac-sha1.m4: New file.
63218
63219         * m4/gc-sha1: New file.
63220
63221         * m4/hmac-sha1.m4: New file.
63222
63223 2005-10-12  Simon Josefsson  <jas@extundo.com>
63224
63225         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
63226
63227         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
63228
63229 2005-10-12  Simon Josefsson  <jas@extundo.com>
63230
63231         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
63232         suggested by Bruno Haible <bruno@clisp.org>.
63233
63234 2005-10-12  Simon Josefsson  <jas@extundo.com>
63235
63236         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
63237
63238 2005-10-12  Simon Josefsson  <jas@extundo.com>
63239
63240         * lib/gc-pbkdf2-sha1.c: New file.
63241
63242         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
63243
63244 2005-10-12  Simon Josefsson  <jas@extundo.com>
63245
63246         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
63247
63248         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
63249
63250 2005-10-12  Simon Josefsson  <jas@extundo.com>
63251
63252         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
63253         GC_USE_HMAC_MD5, respectively.
63254
63255         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
63256         (gc_md5): Fix typo.
63257
63258         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
63259
63260         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
63261
63262         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
63263
63264 2005-10-12  Bruno Haible  <bruno@clisp.org>
63265
63266         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
63267         Reported by Stepan Kasal <kasal@ucw.cz>.
63268
63269 2005-10-11  Simon Josefsson  <jas@extundo.com>
63270
63271         * tests/test-crc.c: New file.
63272
63273         * modules/crc, modules/crc-tests: New files.
63274
63275 2005-10-11  Simon Josefsson  <jas@extundo.com>
63276
63277         * m4/crc.m4: New file.
63278
63279 2005-10-11  Simon Josefsson  <jas@extundo.com>
63280
63281         * lib/gc.h: Add gc_hash and gc_hash_buffer.
63282
63283         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
63284
63285         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
63286
63287 2005-10-11  Simon Josefsson  <jas@extundo.com>
63288
63289         * lib/crc.h, lib/crc.c: New files.
63290
63291         * lib/gc.h (gc_hash_buffer): Add doc.
63292
63293 2005-10-11  Bruno Haible  <bruno@clisp.org>
63294
63295         * modules/c-strcasestr: New file.
63296         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
63297
63298 2005-10-11  Bruno Haible  <bruno@clisp.org>
63299
63300         * modules/c-strcase: New file.
63301         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
63302
63303 2005-10-11  Bruno Haible  <bruno@clisp.org>
63304
63305         * lib/strcasecmp.c: Include limits.h.
63306         (strcasecmp): Avoid integer overflow on exotic platforms.
63307         * lib/strncasecmp.c: Include limits.h.
63308         (strncasecmp): Avoid integer overflow on exotic platforms.
63309         Reported by Paul Eggert.
63310
63311 2005-10-11  Bruno Haible  <bruno@clisp.org>
63312
63313         * lib/c-strcasestr.h: New file, from GNU gettext.
63314         * lib/c-strcasestr.c: New file, from GNU gettext.
63315
63316 2005-10-11  Bruno Haible  <bruno@clisp.org>
63317
63318         * lib/c-strcase.h: New file, from GNU gettext.
63319         * lib/c-strcasecmp.c: New file, from GNU gettext.
63320         * lib/c-strncasecmp.c: New file, from GNU gettext.
63321
63322 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63323
63324         * modules/mempcpy (License): GPL -> LGPL.
63325         * modules/strchrnul (License): Likewise.
63326         * modules/sysexits (License): Likewise.
63327
63328 2005-10-08  Simon Josefsson  <jas@extundo.com>
63329
63330         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
63331
63332 2005-10-07  Simon Josefsson  <jas@extundo.com>
63333
63334         * m4/memxor.m4: Remove gl_C_RESTRICT call.
63335
63336 2005-10-06  Simon Josefsson  <jas@extundo.com>
63337
63338         * tests/test-hmac-md5.c: New file.
63339
63340         * modules/hmac-md5-tests: New file.
63341
63342         * modules/hmac-md5: New file.
63343
63344 2005-10-06  Simon Josefsson  <jas@extundo.com>
63345
63346         * m4/hmac-md5.m4: New file.
63347
63348         * m4/memxor.m4: Require gl_C_RESTRICT.
63349
63350 2005-10-06  Simon Josefsson  <jas@extundo.com>
63351
63352         * lib/memxor.c (memxor): Avoid casts and warnings.
63353
63354 2005-10-06  Simon Josefsson  <jas@extundo.com>
63355
63356         * lib/hmac-md5.c: New file.
63357
63358         * lib/hmac.h: New file.
63359
63360 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
63361
63362         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
63363         promotes to int, not unsigned int, to catch the AIX 5.3
63364         compiler bug.
63365
63366 2005-10-05  Simon Josefsson  <jas@extundo.com>
63367
63368         * modules/memxor: New file.
63369
63370         * modules/iconv (Files): Move config.rpath to havelib, it is used
63371         there.
63372
63373         * modules/havelib (Files): Add config.rpath.
63374
63375 2005-10-05  Simon Josefsson  <jas@extundo.com>
63376
63377         * m4/memxor.m4: New file.
63378
63379 2005-10-05  Simon Josefsson  <jas@extundo.com>
63380
63381         * lib/memxor.c (memxor): Fix compiler error.
63382
63383         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
63384         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
63385
63386         * lib/memxor.h, lib/memxor.c: New files.
63387
63388         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
63389         we assume all systems have it, suggested by Jim Meyering
63390         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
63391         any systems lack sys/socket.h; mingw32 is known to lack it, but we
63392         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
63393         same reasons.
63394
63395 2005-10-05  Simon Josefsson  <jas@extundo.com>
63396
63397         * config/srclist.txt: Add glibc bug 1423 for md5.h.
63398
63399 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
63400
63401         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
63402         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
63403         needed, since the source code now assumes these .h files.
63404
63405 2005-10-05  Derek Price  <derek@ximbiot.com>
63406
63407         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
63408
63409 2005-10-05  Bruno Haible  <bruno@clisp.org>
63410
63411         * modules/stdint (License): Change to LGPL.
63412
63413 2005-10-04  Simon Josefsson  <jas@extundo.com>
63414
63415         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
63416         D. Baushke" <mdb@gnu.org>.
63417
63418 2005-10-04  Bruno Haible  <bruno@clisp.org>
63419
63420         * lib/verify.h (verify_true): Provide alternative definition for C++.
63421
63422 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
63423
63424         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
63425         (SSIZE_MAX): New macro, if not already defined.
63426         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
63427         than 2 GiB.
63428
63429 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63430
63431         Sync from coreutils.
63432         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
63433         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
63434         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
63435         ULLONG_MAX doesn't work with 2.7.2.1.
63436
63437 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63438
63439         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
63440         From Ben Pfaff.
63441
63442         * modules/exclude (Depends-on): Depend on verify.
63443         * modules/strtoimax (Depends-on): Likewise.
63444         * modules/utimecmp (Depends-on): Likewise.
63445
63446 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
63447
63448         * lib/exclude.c: Include verify.h.
63449         (verify): Remove.  All callers changed to use verify.h's version.
63450         * lib/strtoimax.c: Likewise.
63451         * lib/utimecmp.c: Likewis.e
63452
63453         Sync from coreutils.
63454         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
63455         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
63456         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
63457         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
63458         bother returning ENOSYS if settimeofday or stime fails; just let
63459         them return whatever errno they want to return.
63460         * lib/utimens.c: Include unistd.h, for dup2.
63461         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
63462         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
63463
63464 2005-10-02  Jim Meyering  <jim@meyering.net>
63465
63466         Sync from coreutils.
63467         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
63468         from glibc-2.2.5 that fails for read-only files.
63469
63470 2005-10-02  Jim Meyering  <jim@meyering.net>
63471
63472         Sync from coreutils.
63473         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
63474         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
63475         `#if HAVE_CONFIG_H'.
63476         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
63477         Remove AT_FDCWD test.
63478         Do not consume the fd unless successful.
63479         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
63480         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
63481         block, so that we don't even try to compile it if settimeofday is
63482         available.  This works around a compilation failure on OSF1 V5.1,
63483         due to stime requiring a `long int*' while tv_sec is `int'.
63484
63485 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
63486
63487         Sync from coreutils.
63488         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
63489         against `yes', rather than just testing for nonempty.
63490
63491 2005-10-01  Simon Josefsson  <jas@extundo.com>
63492
63493         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
63494         and Darwin.
63495
63496         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
63497         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
63498         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
63499         freeaddrinfo and gai_strerror are declared by the POSIX headers.
63500         Check if struct addrinfo is declared.
63501
63502 2005-10-01  Simon Josefsson  <jas@extundo.com>
63503
63504         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
63505         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
63506         AI_* and EAI_* definitions.  Protect function declarations.
63507
63508 2005-10-01  Jim Meyering  <jim@meyering.net>
63509
63510         Sync from coreutils.
63511
63512         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
63513         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
63514         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
63515         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
63516         in the inet and nsl libraries.  Required on Solaris 5.7.
63517
63518 2005-10-01  Jim Meyering  <jim@meyering.net>
63519
63520         Sync from coreutils.
63521         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
63522         in the inet and nsl libraries.  Required on Solaris 5.7.
63523
63524 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
63525
63526         * lib/getdelim.c (getdelim): Remove unused variables.
63527
63528 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
63529
63530         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
63531         so that the code works even with ancient cpp.  Portability problem
63532         with GCC 2.7.2.1 reported by Thomas M.Ott.
63533
63534 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
63535
63536         * modules/regex (Depends-on): Add strcase.
63537
63538         * modules/gethostname (Licence): Change from GPL to LGPL, since
63539         gethostname.c is a trivial implementation of a standard library
63540         function.
63541         * modules/poll (License): Change from GPL to LGPL, since it's
63542         derived from LGPL code.
63543
63544 2005-09-27  Jim Meyering  <jim@meyering.net>
63545
63546         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
63547         HAVE_CONFIG_H.
63548
63549         * lib/intprops.h (signed_type_or_expr__): Define.
63550         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
63551         for unsigned types.
63552
63553 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
63554
63555         * lib/verify.h (verify_expr): Remove, replacing with:
63556         (verify_true): New macro that returns true instead of void.
63557         (verify_type__): Remove.
63558         (verify): Use verify_true rather than verify_type__.
63559
63560 2005-09-26  Bruno Haible  <bruno@clisp.org>
63561
63562         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
63563         is necessary.
63564         (lib_SOURCES): Remove mbchar.c.
63565         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
63566         (Files): Add m4/mbrtowc.m4.
63567         * modules/mbiter: Likewise.
63568         * modules/mbuiter: Likewise.
63569
63570 2005-09-26  Bruno Haible  <bruno@clisp.org>
63571
63572         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
63573         compile mbchar.c if they are not both present.
63574         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
63575         * m4/mbiter.m4 (gl_MBITER): Likewise.
63576         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
63577         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
63578         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
63579
63580 2005-09-25  Jim Meyering  <jim@meyering.net>
63581
63582         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
63583         also uses socklen_t.
63584
63585 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
63586
63587         * lib/utimens.c (ENOSYS): Define if not already defined.
63588         (futimens): Support having a null PATH if the file descriptor
63589         is nonnegative.
63590
63591         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
63592         Remove.
63593         (__attribute): Define to empty unless GCC 3.1 or later.
63594         This works around a core dump on OpenBSD 3.4, which has GCC
63595         2.95.3, which dumps core when given __attribute__(()).  It also
63596         simplifies other tests, since we really don't want to bother with
63597         worrying about which ancient version of GCC supported what.
63598         Original problem reported by Yoann Vandoorselaere, with part of
63599         the fix suggested by Derek Price.
63600
63601 2005-09-24  Jim Meyering  <jim@meyering.net>
63602
63603         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
63604         so we can once again use a positive bitfield width of 1 -- now we
63605         don't have to explain why we were using a bitfield width of 2.
63606
63607 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
63608
63609         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
63610         and similarly for the other external symbols.  Problem reported
63611         by James Gallager.
63612
63613         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
63614         bug reported by Jim Meyering.
63615
63616         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
63617         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
63618         not needed, since socklen is a prerequisite module.
63619
63620 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
63621
63622         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
63623         Problem reported by Eric Blake.
63624         (getaddrinfo): Initialize se so that it's not garbage.
63625         Redo internal storage allocation so that it doesn't make unportable
63626         assumptions about alignment.
63627         Fix a memory leak.
63628
63629         * lib/utimens.c (futimens): Use futimesat if available.
63630         Prefer it to futimes since it doesn't have the futimes bug.
63631
63632         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
63633         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
63634         Instead, declare a function that returns a pointer to an array,
63635         and use verify_type__ to declare the size of the array.
63636         Problem and germ of a solution reported by Bruno Haible.
63637         (verify_type__): Use 2, not 1, for bitfield size, to avoid
63638         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
63639
63640 2005-09-23  Jim Meyering  <jim@meyering.net>
63641
63642         Sync from coreutils.
63643         Correct build failure (socklen_t not defined) on at least
63644         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
63645         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
63646
63647 2005-09-23  Jim Meyering  <jim@meyering.net>
63648
63649         * modules/getaddrinfo (Depends-on): Add socklen.
63650
63651 2005-09-23  Bruno Haible  <bruno@clisp.org>
63652
63653         * tests/test-verify.c: New file.
63654
63655 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63656
63657         Sync from coreutils.
63658
63659         * modules/argmatch (Depends-on): Add verify.
63660         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
63661         unistd-safer.
63662         * modules/save-cwd (Depends-on): Likewise.
63663
63664         * modules/openat (Files): Add lib/openat-die.c.
63665         (Depends-on): Remove error, exitfail.
63666         Add dirname.
63667
63668         * modules/verify: New file.
63669         * MODULES.html.sh (Diagnostics <assert.h>): New section,
63670         with "verify" module.
63671
63672 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63673
63674         Sync from coreutils.
63675
63676         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
63677         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
63678         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
63679         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
63680         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
63681         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
63682         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
63683         Don't bother checking for string.h, stdlib.h, unistd.h.
63684         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
63685         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
63686         module's job.
63687         * m4/jm-macros.m4 (gl_MACROS): Likewise.
63688         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
63689
63690         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
63691         (gl_GETDATE): Use it.
63692
63693         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
63694
63695 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63696
63697         Sync from coreutils.
63698
63699         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
63700         stat-time.h.
63701         * lib/argmatch.h: Include verify.h
63702         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
63703         (ARGMATCH_ASSERT): Remove; unused.
63704         * lib/canonicalize.c: Assume STDC_HEADERS.
63705         * lib/exclude.c: Include "strcase.h".
63706         * lib/regex_internal.h [!defined _LIBC]: Likewise.
63707         * lib/getusershell.c: Include stdio--.h rather than stdio.h
63708         and stdio-safer.h.
63709         (getusershell): Call fopen, not fopen_safer.
63710         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
63711         Do not include unistd-safer.h.
63712         (save_cwd): Don't call fd_safer; no longer needed
63713         now that we include fcntl--.h.
63714
63715         * lib/getdate.y (relative_time): New type.
63716         (RELATIVE_TIME_0): New constant.
63717         (parser_control): Use relative_time instead of doing it ourselves.
63718         (%union): Add new relative_time rel member.
63719         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
63720         Now typeless.
63721         (relunit, relunit_snumber): Now of type rel.
63722         (zone, rel, relunit, get_date): Adjust to above changes.
63723
63724         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
63725         Do not include unistd-safer.h.
63726         (getloadavg): Don't call fd_safer; no longer needed
63727         now that we include fcntl--.h.
63728
63729         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
63730         (make_dir_parents): Treat ENOSYS like EEXIST.
63731
63732         Improve quality of diagnostics on restore_cwd failure.
63733         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
63734         (make_dir_parents): Last arg is now int * (for errno), not bool *.
63735         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
63736         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
63737         each time through the loop.  Do not diagnose restore_cwd failure;
63738         that is the caller's job (and perhaps the caller does not care).
63739
63740         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
63741         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
63742         If the file already exists but is not a directory, don't bother
63743         to try to make its parents.
63744         Close potential file descriptor leak if we can't chdir("/") (!).
63745         Don't always return true if chdir($PWD) fails; return true only
63746         if the requested action was done successfully (except for the
63747         chdir($PWD)).
63748         Don't log final directory unless we actually made it.
63749         Refactor to avoid duplicate code to fix up permissions.
63750         Don't attempt to fix up parent permissions if chdir($PWD) fails.
63751
63752         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
63753         to make it a bit faster and (I hope) clearer.
63754         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
63755         Fix bug in formats like %2N.
63756
63757         * lib/verify.h: New file.
63758
63759 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
63760
63761         Sync from coreutils.
63762         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
63763
63764 2005-09-22  Jim Meyering  <jim@meyering.net>
63765
63766         Sync from coreutils.
63767
63768         * m4/lstat.m4 (gl_FUNC_LSTAT):
63769         Use AC_LIBSOURCES to require lstat.c and lstat.h.
63770         Remove obsolete comment.
63771         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
63772         * m4/xstrtod.m4: Likewise.
63773
63774         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
63775
63776 2005-09-22  Jim Meyering  <jim@meyering.net>
63777
63778         Sync from coreutils.
63779
63780         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
63781
63782         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
63783         the .tm_year member, since otherwise gcc-4.0 would now warn about
63784         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
63785
63786         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
63787         order to avoid an unsuppressible warning from gcc on 64-bit systems.
63788
63789         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
63790         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
63791         when run in a time zone for which daylight savings time is in effect
63792         for the starting date.
63793
63794         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
63795         stop us from restricting permissions of just-created absolute-named
63796         directories.
63797         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
63798         to restore initial working directory.
63799         * lib/mkdir-p.c (make_dir_parents): New parameter:
63800         different_working_dir, to tell caller if/when we change the working
63801         directory and are unable to return to the initial one.
63802         * lib/mkdir-p.h (make_dir_parents): Update prototype.
63803         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
63804         `return false'.  This fixes a bug introduced on 2004-07-30.
63805
63806         * lib/openat.c (fdopendir): Be sure to close the supplied
63807         file descriptor before returning.  This makes our replacement
63808         implementation a little closer to Solaris's, where fdopendir
63809         ties the file descriptor to the returned DIR* pointer.
63810         * lib/openat.c (unlinkat): New function.
63811         * lib/openat.h (unlinkat): Add prototype.
63812         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
63813         (openat_restore_fail): Rename from openat_restore_die.
63814         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
63815
63816         Provide an alternative to exiting immediately upon save_cwd or
63817         restore_cwd failure.  Now, an application can arrange e.g.,
63818         to perform a longjump in that case.
63819         * lib/openat.c: Include dirname.h.
63820         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
63821         (rpl_openat, fdopendir, fstatat): Call openat_save_die
63822         and openat_restore_die rather than calling error directly.
63823         Don't include "error.h" or "exitfail.h"; they're no longer needed.
63824
63825         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
63826         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
63827         define.
63828
63829         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
63830         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
63831                             int utc, int nanoseconds);
63832         Background:
63833         date should not have to allocate a megabyte of virtual memory to
63834         handle a format argument like +%1048575T.  When implemented with
63835         strftime, it must allocate such a buffer, use strftime to fill it
63836         in, print it, then free it.
63837         With fprintftime, it simply prints everything and exits.
63838         With no need for memory allocation, that's one fewer way to fail.
63839         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
63840         optional field width, not before, so we accept %9:z, not %:9z.
63841         (my_strftime): Be sure to use L_('x') for literals.
63842
63843         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
63844         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
63845         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
63846         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
63847         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
63848         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
63849         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
63850         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
63851         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
63852         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
63853         * lib/xgethostname.c, lib/xreadlink.c:
63854         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
63855
63856         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
63857         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
63858         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
63859         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
63860         and don't include <sys/file.h>).
63861
63862 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
63863
63864         Sync from coreutils.
63865
63866         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
63867         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
63868         [!LDAV_DONE]: Avoid unused variable warning.
63869
63870 2005-09-21  Bruno Haible  <bruno@clisp.org>
63871
63872         * lib/unicodeio.h (unicode_to_mb): New declaration.
63873
63874 2005-09-20  Derek Price  <derek@ximbiot.com>
63875
63876         * lib/getaddrinfo.c: Don't include <netdb.h> included from
63877         getaddrinfo.h.
63878
63879 2005-09-20  Bruno Haible  <bruno@clisp.org>
63880
63881         * gnulib-tool: Remove trailing slashes from the values specified for
63882         --source-base, --m4-base, --tests-base, --aux-dir.
63883         Suggested by Simon Josefsson <jas@extundo.com>.
63884
63885 2005-09-20  Bruno Haible  <bruno@clisp.org>
63886
63887         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
63888         func_modules_to_filelist, func_import, func_create_testdir): Make all
63889         sorting results locale-independent, so that gnulib-cache.m4 doesn't
63890         change when gnulib-tool is invoked in a different locale.
63891
63892 2005-09-19  Simon Josefsson  <jas@extundo.com>
63893
63894         * m4/socklen.m4: Fix typo.
63895
63896 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63897
63898         Use a consistent style for including <config.h>.
63899         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
63900         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
63901         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
63902         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
63903         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
63904         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
63905         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
63906         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
63907         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
63908         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
63909         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
63910         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
63911         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
63912         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
63913         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
63914         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
63915         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
63916         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
63917         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
63918         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
63919         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
63920         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
63921         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
63922         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
63923         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
63924         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
63925         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
63926         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
63927         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
63928         lib/xstrtoumax.c, lib/yesno.c:
63929         Standardize inclusion of config.h.
63930         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
63931         lib/inttostr.h:  Removed inclusion of config.h from header files.
63932         * lib/inttostr.c:  Adjusted in-tree users.
63933         * lib/timespec.h: Remove superfluous warning to include config.h.
63934         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
63935         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
63936         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
63937         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
63938         config.h with HAVE_CONFIG_H.
63939
63940 2005-09-19  Jim Meyering  <jim@meyering.net>
63941
63942         * modules/pathmax (License): Change to LGPL.
63943
63944 2005-09-19  Derek Price  <derek@ximbiot.com>
63945
63946         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
63947
63948 2005-09-19  Bruno Haible  <bruno@clisp.org>
63949
63950         * gnulib-tool (import): Provide default for --tests-base.
63951
63952 2005-09-19  Bruno Haible  <bruno@clisp.org>
63953
63954         * doc/quote.texi: New file, extracted from gnulib.texi.
63955         * doc/ctime.texi: New file, extracted from gnulib.texi.
63956         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
63957         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
63958         * doc/gnulib.texi: Include them.
63959
63960 2005-09-18  Bruno Haible  <bruno@clisp.org>
63961
63962         Portability fix.
63963         * gnulib-tool (func_readlink): New function.
63964         (func_ln_if_changed): Use it.
63965
63966 2005-09-18  Bruno Haible  <bruno@clisp.org>
63967
63968         * gnulib-tool: Support --with-tests also with --import.
63969         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
63970         (func_import): Use variables $testsbase and $inctests. Emit a
63971         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
63972         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
63973         SUBDIRS += $testsdir.
63974         (func_create_testdir): Update.
63975
63976 2005-09-18  Bruno Haible  <bruno@clisp.org>
63977
63978         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
63979         instead of $dry_run.
63980         (func_cp_if_changed, func_mv_if_changed): Remove functions.
63981         (func_ln_if_changed): Don't handle dry-run here.
63982         (func_import): In dry-run mode, detect more precisely which actions
63983         would be performed, and don't use "...ing" verbs.
63984
63985 2005-09-18  Bruno Haible  <bruno@clisp.org>
63986
63987         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
63988         (func_import): Use join on two temporary files instead of three nested
63989         loops, in order to determine which files are new or old.
63990
63991 2005-09-18  Bruno Haible  <bruno@clisp.org>
63992
63993         * gnulib-tool (func_import): Comment out code that spits out the
63994         new files with --dry-run.
63995
63996 2005-09-18  Bruno Haible  <bruno@clisp.org>
63997
63998         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
63999
64000 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64001
64002         * lib/stat-time.h: New file.
64003         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
64004         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
64005         in a different way.
64006         (timespec_cmp): New function.
64007         * lib/utimecmp.c: Include stat-time.h.
64008         (SYSCALL_RESOLUTION): Depend on whether various struct stat
64009         members exist, not on the obsolescent ST_MTIM_NSEC.
64010         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
64011
64012 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64013
64014         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
64015
64016 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64017
64018         * MODULES.html.sh (File system functions): Add stat-time.
64019         * modules/stat-time: New file.
64020         * modules/timespec (Files): Remove m4/st_mtim.m4; this
64021         is now done in a different way, by the stat-time module.
64022         * modules/utimecmp (Depends-on): Add stat-time.
64023
64024 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64025
64026         * m4/st_mtim.m4: Remove.  Superseded by...
64027         * m4/stat-time.m4: New file.
64028         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
64029         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
64030
64031 2005-09-15  Derek Price  <derek@ximbiot.com>
64032
64033         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
64034
64035 2005-09-15  Derek Price  <derek@ximbiot.com>
64036
64037         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
64038         * lib/regex_internal.c: Ditto, using this...
64039         (__GNUC_PREREQ): ...new macro.
64040         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
64041         using...
64042         (__GNUC_PREREQ): ...this new macro.
64043
64044         * lib/strstr.h: Include string.h. Define strstr as a macro here.
64045
64046 2005-09-15  Derek Price  <derek@ximbiot.com>
64047             Paul Eggert  <eggert@cs.ucla.edu>
64048
64049         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
64050         changes, consolidating in...
64051         * lib/regex_internal.h: ...this file.
64052
64053 2005-09-13  Jim Meyering  <jim@meyering.net>
64054
64055         * lib/canon-host.c: Filter through gnu indent and reword comments
64056         slightly.
64057         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
64058
64059 2005-09-13  Derek Price  <derek@ximbiot.com>
64060
64061         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
64062         failure.
64063         Reported by Jim Meyering  <jim@meyering.net>.
64064
64065 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
64066
64067         * lib/base64.c: Typo.
64068         (base64_encode): Put b64str in initialized data section.
64069
64070 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
64071
64072         Merge glibc and coreutils changes into gnulib, plus a few
64073         extra fixes.
64074         * lib/md5.c: Use #error rather than a string.
64075         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
64076         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
64077         (__attribute__): Define to empty for non recent-GCC.
64078         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
64079         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
64080         Renamed from their non-__ counterparts, with new macros replacing
64081         them if not _LIBC.  Add __THROW attribute.
64082         (rol): Remove.
64083         (struct md5_ctx): Align buffer if using GCC.
64084         * lib/sha1.h (struct sha1_ctx): Likewise.
64085         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
64086         The old name was backwards.
64087         (NOTSWAP): Remove; not used.
64088         (rol): New macro, moved here from md5.h.
64089         (sha1_process_block): Remove a FIXME that doesn't make sense.
64090
64091 2005-09-12  Derek Price  <derek@ximbiot.com>
64092
64093         Return usable errors from canon-host.
64094         * lib/canon-host.h: New file.
64095         * lib/canon-host.c (canon_host): Wrap...
64096         (canon_host_r): ...this new function, which now relies exclusively on
64097         getaddrinfo.
64098         (ch_strerror): New function.
64099         (last_cherror): New global.
64100         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
64101         interface.
64102         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
64103         void *.
64104         (freeaddrinfo): Free ai->ai_canonname when set.
64105
64106 2005-09-12  Derek Price  <derek@ximbiot.com>
64107
64108         Make canon-host require getaddrinfo.
64109         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
64110         AC_LIBSOURCE canon-host.h.  Call...
64111         (gl_PREREQ_CANON_HOST): ...this new function, which requires
64112         gl_GETADDRINFO.
64113         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
64114
64115 2005-09-12  Derek Price  <derek@ximbiot.com>
64116
64117         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
64118         LGPL.
64119         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
64120
64121 2005-09-12  Derek Price  <derek@ximbiot.com>
64122
64123         * lib/gai_strerror.c: Include config.h when available.  Include
64124         getaddrinfo.h before other headers to test interface.
64125         Reported by Larry Jones <lawrence.jones@ugs.com>.
64126
64127 2005-09-12  Derek Price  <derek@ximbiot.com>
64128             Paul Eggert  <eggert@cs.ucla.edu>
64129
64130         * modules/glob (Files): Add glob-libc.h.
64131
64132 2005-09-12  Derek Price  <derek@ximbiot.com>
64133             Paul Eggert  <eggert@cs.ucla.edu>
64134
64135         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
64136         glob_.h, glob-libc.h.
64137         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
64138
64139 2005-09-12  Derek Price  <derek@ximbiot.com>
64140             Paul Eggert  <eggert@cs.ucla.edu>
64141
64142         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
64143         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
64144         protecting things that should be done only in gnulib contexts.
64145         * lib/glob_.h: New file, containing only the glob things needed for
64146         gnulib.
64147         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
64148         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
64149         (glob, globfree, glob_pattern_p): Now defined simply in terms of
64150         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
64151         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
64152         and to respect the namespace rules better.
64153
64154 2005-09-08  Simon Josefsson  <jas@extundo.com>
64155
64156         * modules/socklen: New file.
64157
64158 2005-09-08  Simon Josefsson  <jas@extundo.com>
64159
64160         * m4/socklen.m4: New file.
64161
64162 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64163
64164         * modules/utimens (Files): Add m4/utimbuf.m4, since
64165         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
64166         Reported by Sergey Poznyakoff.
64167
64168 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64169
64170         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
64171         definitions, since that's the preferred style in glibc.
64172         Fix a minor spacing issue, and update copyright notice to match
64173         glibc's.
64174
64175 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
64176
64177         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
64178
64179 2005-09-06  Simon Josefsson  <jas@extundo.com>
64180
64181         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
64182         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
64183
64184 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64185
64186         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
64187         warning.
64188
64189 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64190
64191         * config/srclist.txt: Add glibc bug 1302.
64192
64193 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
64194
64195         Change bitset word type from unsigned int to unsigned long int,
64196         as this has better performance on typical 64-bit hosts.
64197         Port bitset code to hosts with unusual word sizes.
64198         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
64199         (build_collating_symbol):
64200         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
64201         argument is a bitset.  This is merely a style issue, but it makes
64202         it clearer that an entire array is expected.
64203         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
64204         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
64205         Port to the case where bitset_word is not the same as unsigned int.
64206         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64207         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
64208         Likewise.
64209         * lib/regexec.c (check_dst_limits_calc_pos_1,
64210         check_subexp_matching_top):
64211         (build_trtable, group_nodes_into_DFAstates):
64212         Likewise.
64213         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
64214         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
64215         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
64216         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
64217         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
64218         * lib/regcomp.c (optimize_subexps, lower_subexp):
64219         Work even if bitset_word has holes in its bitwise representation.
64220         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
64221         * lib/regexec.c (check_dst_limits_calc_pos_1,
64222         check_subexp_matching_top):
64223         Likewise.
64224         * lib/regex_internal.c (re_string_reconstruct):
64225         Don't assume UCHAR_MAX == 255.
64226         * lib/regex_internal.h (bitset_set_all): Likewise.
64227         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
64228         All uses changed.
64229         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
64230         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
64231         All uses changed.
64232         (BITSET_WORD_MAX): New macro.
64233         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
64234         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
64235         (bitset_empty, bitset_copy):
64236         Prefer sizeof (bitset) to multiplying it out ourselves.
64237         (bitset_not_merge): Remove; unused.
64238         (bitset_contain): Return bool, not unsigned int with one bit on.
64239         All callers changed.
64240         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
64241         alignment than re_node_set; do this by defining a new internal
64242         type struct dests_alloc and using it to allocate memory.
64243
64244 2005-09-05  Bruno Haible  <bruno@clisp.org>
64245
64246         * gnulib-tool (func_import): Fix comparison in handling of symbolic
64247         links.
64248
64249 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
64250
64251         * modules/size_max (Makefile.am): Add size_max.h
64252
64253 2005-09-04  Derek Price  <derek@ximbiot.com>
64254
64255         * gnulib-tool (func_import): Fix reversed $symbolic logic.
64256
64257 2005-09-03  Simon Josefsson  <jas@extundo.com>
64258
64259         * gnulib-tool: Fix typo.
64260
64261 2005-09-03  Simon Josefsson  <jas@extundo.com>
64262
64263         * config/srclist.txt: Add glibc bug 1293.
64264
64265 2005-09-03  Derek Price  <derek@ximbiot.com>
64266
64267         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
64268         From Larry Jones <lawrence.jones@ugs.com>.
64269
64270 2005-09-02  Simon Josefsson  <jas@extundo.com>
64271
64272         * modules/socklen: New file.
64273
64274 2005-09-02  Simon Josefsson  <jas@extundo.com>
64275
64276         * modules/havelib: New module.
64277
64278         * modules/gettext, modules/iconv, modules/lock, modules/readline:
64279         Use havelib.
64280
64281 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64282
64283         Check for arithmetic overflow when calculating sizes, to prevent
64284         some buffer-overflow issues.  These patches are conservative, in the
64285         sense that when I couldn't determine whether an overflow was possible,
64286         I inserted a run-time check.
64287         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
64288         macros.
64289         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
64290         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
64291         (re_xnrealloc, re_x2nrealloc): New inline functions.
64292         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
64293         parse_bracket_exp):
64294         (build_equiv_class, build_charclass): Check for arithmetic overflow
64295         in size expression calculations.
64296         * lib/regex_internal.c (re_string_realloc_buffers):
64297         (build_wcs_upper_buffer, re_node_set_add_intersect):
64298         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
64299         (re_dfa_add_node, register_state): Likewise.
64300         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
64301         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
64302         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
64303         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
64304
64305 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
64306
64307         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
64308         m4/ulonglong.m4.  Problem reported by Martin Lambers.
64309
64310 2005-09-02  Bruno Haible  <bruno@clisp.org>
64311
64312         Support for lib vs. lib64 distinction on biarch platforms.
64313         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
64314         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
64315         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
64316
64317 2005-09-02  Bruno Haible  <bruno@clisp.org>
64318
64319         * gnulib-tool (import): In the other first-use case, provide defaults
64320         as well.
64321
64322 2005-09-02  Bruno Haible  <bruno@clisp.org>
64323
64324         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
64325         patches not yet found in the latest gettext release.
64326
64327 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64328
64329         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
64330         to avoid a collision with bits/local_lim.h in glibc.
64331         All uses changed.  Problem reported by Dmitry V. Levin in
64332         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
64333
64334         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
64335         bugs in int versus size_t comparisons.
64336         (re_string_context_at): Fix bug where the code assumed that
64337         Idx is signed.
64338
64339         Use bool where appropriate.
64340         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
64341         All callers changed.
64342         (calc_eclosure_iter): Likewise, for ROOT arg.
64343         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
64344         (build_charclass_op): Likewise, for NON_MATCH arg.
64345         * lib/regex_internal.c (re_string_allocate, re_string_construct):
64346         (re_string_construct_common): Likewise, for ICASE arg.
64347         * lib/regexec.c (re_search_2_stub, re_search_stub):
64348         Likewise, for RET_LEN arg.
64349         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
64350         (set_regs): Likewise, for FL_BACKTRACK arg.
64351         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
64352         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
64353         (calc_eclosure_iter, parse_bracket_exp):
64354         Use bool for internal variables that are booleans.
64355         * lib/regexec.c (re_search_internal, check_matching,
64356         proceed_next_node):
64357         (set_regs, build_sifted_states, sift_states_bkref):
64358         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
64359         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
64360         (find_collation_sequence_value):
64361         Likewise.
64362         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
64363         (re_node_set_compare):
64364         Return bool, not int. All callers changed.
64365         * lib/regexec.c (check_halt_node_context, check_dst_limits):
64366         (build_trtable, check_node_accept): Likewise.
64367         * lib/regex_internal.h: Include stdbool.h.
64368
64369         Fix bugs uncovered when converting to bool.
64370         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
64371         failure instead of charging ahead blindly.
64372         * lib/regex_internal.c (register_state): Likewise.
64373         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
64374         for freeing internal storage.
64375         (group_nodes_into_DFA_states): Use unsigned int, not int, for
64376         bitset pieces used as boolean, to avoid undefined behavior
64377         on hosts that do int overflow checking.
64378
64379 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
64380
64381         * config/srclist.txt: Add glibc bugs 1285-1287.
64382
64383 2005-09-01  Jim Meyering  <jim@meyering.net>
64384
64385         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
64386         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
64387         Require gl_STAT_MACROS, too.
64388
64389 2005-09-01  Bruno Haible  <bruno@clisp.org>
64390
64391         * gnulib-tool (import): In the first-use case, provide defaults.
64392
64393 2005-09-01  Bruno Haible  <bruno@clisp.org>
64394
64395         * gnulib-tool (func_import): Remove the .tmp files.
64396
64397 2005-09-01  Bruno Haible  <bruno@clisp.org>
64398
64399         * gnulib-tool (func_import): Fix handling of symbolic links.
64400
64401 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64402
64403         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
64404         old glibc regex code mishandles strings longer than 2**31 bytes.
64405         This patch fixes this when the regex code is used in gnulib
64406         (i.e., outside glibc).
64407
64408         This patch should not affect the use of the regex code inside
64409         glibc.  No doubt this problem also needs to be handled for glibc
64410         as well, but the result will be an incompatible change to the
64411         glibc ABI, and the old ABI will have to be supported too.  That
64412         can be the the subject for another patch.
64413
64414         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
64415         governing whether the rest of this patch is active.  By default,
64416         the macro is disabled and the patch has no effect.
64417         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
64418         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
64419         (struct re_pattern_buffer, re_search, re_search_2, re_match):
64420         (re_match_2, re_set_registers): Use the new types.
64421         * lib/regex_internal.h (Idx, re_hashval_t): New types.
64422         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
64423         New macros.
64424         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
64425         (re_string_context_at, bin_tree_t, re_dfastate_t):
64426         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
64427         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
64428         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
64429         (re_string_char_size_at, re_string_wchar_at):
64430         (re_string_elem_size_at):
64431         Use the new types and macros to port to 64-bit hosts.
64432         Use unsigned types for internal values, so that the code
64433         mostly works even for arrays larger than SSIZE_MAX.
64434         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
64435         (search_duplicated_node, calc_eclosure_iter, fetch_number):
64436         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
64437         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
64438         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
64439         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
64440         (calc_inveclosure, parse_dup_op, build_range_exp):
64441         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
64442         (fetch_number, create_token_tree, mark_opt_subexp):
64443         Likewise.
64444         * lib/regex_internal.c (re_string_construct_common,
64445         create_ci_newstate):
64446         (create_cd_newstate, re_string_allocate, re_string_construct):
64447         (re_string_realloc_buffers, build_wcs_upper_buffer):
64448         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
64449         (re_string_reconstruct, re_string_peek_byte_case):
64450         (re_string_fetch_byte_case, re_string_context_at):
64451         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
64452         (re_node_set_init_copy, re_node_set_add_intersect):
64453         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64454         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64455         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
64456         (re_acquire_state, re_acquire_state_context, register_state):
64457         Likewise.
64458         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
64459         search_cur_bkref_entry):
64460         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
64461         (re_search_internal, re_search_2_stub, re_search_stub)
64462         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
64463         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
64464         (update_cur_sifted_state, check_dst_limits):
64465         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
64466         (check_subexp_limits, sift_states_bkref, merge_state_array):
64467         (check_subexp_matching_top, get_subexp, get_subexp_sub):
64468         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
64469         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
64470         (expand_bkref_cache, check_node_accept_bytes):
64471         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
64472         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
64473         (acquire_init_state_context, check_halt_node_context):
64474         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
64475         (sift_states_backward, clean_state_log_if_needed):
64476         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
64477         (find_recover_state, transit_state_sb, transit_state_mb):
64478         (transit_state_bkref, build_trtable, match_ctx_clean):
64479         Likewise.
64480         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
64481         to work around an assumption that REG_MISSING is negative.
64482
64483         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
64484         (seek_collating_symbol_entry) [defined _LIBC]:
64485         (lookup_collation_sequence_value) [defined _LIBC]:
64486         (build_range_exp, build_collating_symbol) [defined _LIBC]:
64487         Use prototypes rather than old-style function definitions.
64488         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
64489         (transit_state_sb) [0]:
64490         (find_collation_sequence_value) [defined _LIBC]: Likewise.
64491
64492         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
64493         rm_eo.
64494
64495         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
64496         (optimize_subexps, lower_subexp):
64497         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
64498         since the signed shift might overflow.  Use 1u<<31 instead.
64499         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
64500         Likewise.
64501         * lib/regexec.c (check_dst_limits_calc_pos_1,
64502         check_subexp_matching_top): Likewise.
64503
64504         * lib/regcomp.c (optimize_subexps, lower_subexp):
64505         Use CHAR_BIT rather than 8, for clarity.
64506         * lib/regexec.c (check_dst_limits_calc_pos_1):
64507         (check_subexp_matching_top): Likewise.
64508         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
64509         have to worry about portability issues when shifting it left.
64510         Remove no-longer-needed test for table_size > 0.
64511         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
64512         in a word, as the resulting behavior is undefined.
64513         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
64514         in one case, a <= should have been an <, and in another case the
64515         whole test was missing.
64516         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
64517         the standard name CHAR_BIT.
64518         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
64519         this is not true on one's complement and signed-magnitude hosts.
64520
64521         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
64522         next_last_offset.
64523         (struct re_dfa_t): Remove unused member states_alloc.
64524         * lib/regcomp.c (init_dfa): Don't initialize unused members.
64525
64526 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64527
64528         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
64529         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
64530         and large-file glibc and in 32-bit large-file Solaris.
64531
64532 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64533
64534         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
64535         lengths fit in regoff_t; this isn't true if regoff_t is the same
64536         width as size_t.
64537         * lib/regex.c (re_search_internal): 5th arg is LAST_START
64538         (= START + RANGE) instead of RANGE.  This avoids overflow
64539         problems when regoff_t is the same width as size_t.
64540         All callers changed.
64541         (re_search_2_stub): Check for overflow when adding the
64542         sizes of the two strings.
64543         (re_search_stub): Check for overflow when adding START
64544         to RANGE; if it occurs, substitute the extreme value.
64545
64546 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
64547
64548         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
64549
64550 2005-08-31  Jim Meyering  <jim@meyering.net>
64551
64552         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
64553         a pointer-to-const.
64554         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
64555         (register_state): Likewise.
64556         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
64557         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
64558         (group_nodes_into_DFAstates): Likewise.
64559
64560 2005-08-31  Jim Meyering  <jim@meyering.net>
64561
64562         * check-module: Add a FIXME comment.
64563
64564 2005-08-31  Eric Blake  <ebb9@byu.net>
64565
64566         * modules/unistd-safer (Files): Add unistd--.h.
64567         * modules/stdio-safer (Files): Add stdio--.h.
64568
64569 2005-08-31  Derek Price  <derek@ximbiot.com>
64570
64571         * lib/getdelim.c (getdelim): Return EOF on EOF.
64572         Reported by Larry Jones <lawrence.jones@ugs.com>.
64573
64574 2005-08-31  Bruno Haible  <bruno@clisp.org>
64575
64576         Avoid unnecessary diffs in the generated lib/Makefile.am.
64577         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
64578         the generated files.
64579         (func_import): Don't set cmd.
64580
64581 2005-08-31  Bruno Haible  <bruno@clisp.org>
64582
64583         * lib/strstr.c: Include <stddef.h>, for NULL.
64584         * lib/strcasestr.c: Likewise.
64585         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
64586
64587 2005-08-31  Bruno Haible  <bruno@clisp.org>
64588
64589         * gnulib-tool: New option --macro-prefix.
64590         (func_import): Use macro_prefix.
64591         (import): Handle option --macro-prefix.
64592
64593 2005-08-31  Bruno Haible  <bruno@clisp.org>
64594
64595         * gnulib-tool (import): Rename most ac_* variables to cached_*.
64596         Also use new variables cached_lgpl, cached_libtool.
64597
64598 2005-08-31  Bruno Haible  <bruno@clisp.org>
64599
64600         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
64601         always instantiating them.
64602
64603 2005-08-31  Bruno Haible  <bruno@clisp.org>
64604
64605         * gnulib-tool (func_import): Read the previous cached settings
64606         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
64607         earlier added by gnulib but are now dropped. Warn when a gnulib file
64608         overwrites a non-gnulib file.
64609
64610 2005-08-31  Bruno Haible  <bruno@clisp.org>
64611
64612         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
64613         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
64614         projects that don't keep autogenerated files in CVS. Put into
64615         actioncmd only the specified modules, not the transitive closure.
64616
64617 2005-08-31  Bruno Haible  <bruno@clisp.org>
64618
64619         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
64620         Create directories that shall be filled.
64621         (import): Don't look for gl_* macros in configure.ac. Recurse across
64622         all directories containing a gnulib-cache.m4 files, if meaningful.
64623
64624 2005-08-31  Bruno Haible  <bruno@clisp.org>
64625
64626         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
64627         (import): Set seen_libtool when we see gl_LIBTOOL.
64628
64629 2005-08-31  Bruno Haible  <bruno@clisp.org>
64630
64631         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
64632         declaration macro definitions from generated gnulib.m4.
64633
64634 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
64635
64636         * lib/iconvme.h: Add prototype for iconv_alloc.
64637
64638 2005-08-29  Simon Josefsson  <jas@extundo.com>
64639
64640         * lib/iconvme.c: Fix errno.
64641
64642 2005-08-29  Bruno Haible  <bruno@clisp.org>
64643
64644         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
64645         that it works when the directory contains spaces.
64646
64647 2005-08-29  Bruno Haible  <bruno@clisp.org>
64648
64649         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
64650
64651 2005-08-29  Bruno Haible  <bruno@clisp.org>
64652
64653         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
64654         Emit more advice.
64655
64656 2005-08-29  Bruno Haible  <bruno@clisp.org>
64657         and Stepan Kasal  <kasal@ucw.cz>
64658
64659         * check-module: If more parameters are given, check each of them
64660         separately; add more exceptions, as noted by Jim Meyering.
64661         (check_module): New procedure.
64662         (%exempt_header): Now contains all exceptions.
64663
64664 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
64665
64666         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
64667
64668 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
64669
64670         * lib/iconvme.c: Split iconv_string into iconv_alloc.
64671
64672 2005-08-28  Bruno Haible  <bruno@clisp.org>
64673
64674         * m4/gnulib-tool.m4: New file.
64675
64676 2005-08-27  Jim Meyering  <jim@meyering.net>
64677
64678         * modules/unistd-safer (Files): Add pipe-safer.c.
64679         * modules/fcntl-safer (Files): Add creat-safer.c.
64680
64681 2005-08-27  Jim Meyering  <jim@meyering.net>
64682
64683         * m4/stdlib-safer.m4: New file.  From coreutils.
64684         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
64685         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
64686         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
64687         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
64688         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
64689
64690 2005-08-27  Jim Meyering  <jim@meyering.net>
64691
64692         * lib/fopen-safer.c: Merge minor changes from coreutils.
64693         * lib/dup-safer.c: Likewise.
64694         * lib/fd-safer.c: Likewise.
64695
64696         Merge from coreutils.
64697         * lib/stdio--.h: New file.
64698         * lib/stdlib--.h: New file.
64699         * lib/mkstemp-safer.c: New file.
64700
64701         GNU tar needs these.
64702         * lib/pipe-safer.c: New file.
64703         * lib/creat-safer.c: New file.
64704         * lib/fcntl--.h (creat): Define to creat_safer.
64705         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
64706         * lib/unistd--.h (pipe): Define to pipe_safer.
64707         * lib/unistd-safer.h: Declare pipe_safer.
64708
64709 2005-08-26  Simon Josefsson  <jas@extundo.com>
64710
64711         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
64712         Haible <bruno@clisp.org>.
64713
64714 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
64715
64716         * lib/regex_internal.h: Remove all references to
64717         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
64718         or better.
64719         (bitset_not, bitset_merge, bitset_not_merge):
64720         (bitset_mask, re_string_allocate, re_string_construct):
64721         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
64722         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
64723         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
64724         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
64725         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
64726         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
64727         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
64728         (re_acquire_state_context):
64729         Remove unnecessary forward decls.
64730         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
64731         Put __attribute at function definition,
64732         now that the function decl has been removed.
64733         * lib/regex_internal.c (re_string_peek_byte_case):
64734         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
64735         Likewise.
64736
64737 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
64738
64739         * m4/regex.m4: Add AC_PREREQ(2.50).
64740         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
64741
64742 2005-08-25  Simon Josefsson  <jas@extundo.com>
64743
64744         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
64745         __fsetlocking.
64746
64747 2005-08-25  Simon Josefsson  <jas@extundo.com>
64748
64749         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
64750         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
64751         GLIBC specific code.
64752
64753 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64754
64755         Make regex safe for g++.  This fixes one real bug (an "err"
64756         that should have been "*err").  g++ problem reported by
64757         Sam Steingold.
64758         * lib/regex_internal.h (re_calloc): New macro, consistent with
64759         re_malloc etc.  All callers of calloc changed to use re_calloc.
64760         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
64761         not int.  All callers changed.
64762         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
64763         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
64764         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
64765         (find_recover_state): Change "err" to "*err"; this fixes what
64766         appears to be a real bug.
64767         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
64768         versus int.
64769
64770 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64771
64772         * modules/regex (Depends-on): Add malloc, since the code
64773         assumes that !malloc(0) means failure.
64774
64775 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64776
64777         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
64778
64779         alloca modernization/simplification for regex.
64780         * lib/regex.c: Remove portability cruft for alloca.  This no longer
64781         needs to be at the start of the file, and can be moved into
64782         regex_internal.h and simplified.
64783         * lib/regex_internal.h: Include <alloca.h>.
64784         (__libc_use_alloca) [!defined _LIBC]: New macro.
64785         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
64786         now works outside glibc.
64787
64788 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
64789
64790         * config/srclist.txt: Add glibc bugs 1241, 1245.
64791
64792 2005-08-25  Jim Meyering  <jim@meyering.net>
64793
64794         * lib/open-safer.c: Include <config.h>.
64795         Otherwise, we'd lose LARGEFILE support in any file using
64796         e.g. "fcntl--.h"
64797
64798 2005-08-25  Bruno Haible  <bruno@clisp.org>
64799
64800         * m4/minmax.m4: Require autoconf 2.52.
64801         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
64802         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
64803         alternatives of translit over the alphabet.
64804         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
64805
64806 2005-08-24  Simon Josefsson  <jas@extundo.com>
64807
64808         * tests/test-getpass.c: New file.
64809
64810 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64811
64812         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
64813         for GNU regex features.
64814
64815 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64816
64817         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
64818         * lib/regex.h (regerror): Likewise.
64819
64820         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
64821         requires this.  (The code never needed it.)
64822
64823         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
64824         All uses of recently-renamed identifiers changed to use the new,
64825         POSIX-compliant names.  The code will build and run just fine
64826         without these changes, but it's better to eat our own dog food
64827         and use the standard-conforming names.
64828
64829         * lib/regex.h: Fix a multitude of POSIX name space violations.
64830         These changes have an effect only for programs that define
64831         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
64832         do not change anything for programs compiled in the normal way.
64833         Also, there is no effect on the ABI.
64834
64835         (_REGEX_SOURCE): New macro.
64836         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
64837         defined and _GNU_SOURCE is not; this fixes a name space violation.
64838
64839         Rename the following macros to obey POSIX requirements.
64840         The old names are still visible as macros if _REGEX_SOURCE is defined.
64841         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
64842         RE_BACKSLASH_ESCAPE_IN_LISTS.
64843         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
64844         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
64845         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
64846         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
64847         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
64848         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
64849         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
64850         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
64851         (REG_INTERVALS): renamed from RE_INTERVALS.
64852         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
64853         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
64854         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
64855         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
64856         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
64857         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
64858         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
64859         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
64860         RE_UNMATCHED_RIGHT_PAREN_ORD.
64861         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
64862         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
64863         (REG_DEBUG): renamed from RE_DEBUG.
64864         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
64865         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
64866         unusual, since we can't clash with the POSIX REG_ICASE.
64867         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
64868         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
64869         (REG_NO_SUB): renamed from RE_NO_SUB.
64870         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
64871         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
64872         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
64873         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
64874         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
64875         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
64876         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
64877         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
64878         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
64879         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
64880         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
64881         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
64882         RE_SYNTAX_POSIX_MINIMAL_BASIC.
64883         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
64884         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
64885         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
64886         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
64887         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
64888         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
64889         (REG_FIXED): Renamed from REGS_FIXED.
64890         (REG_NREGS): Renamed from RE_NREGS.
64891
64892         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
64893         of other REG_* macros, since POSIX says the user is allowed to
64894         #undef these macros selectively.
64895
64896         (reg_errcode_t): Update comment stating what other tables need
64897         to be consistent.
64898
64899         Rename the following enum values to obey POSIX requirements.
64900         The old names are still visible as macros.
64901         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
64902         is not defined, since GNU is supposed to be a superset of POSIX as
64903         much as possible, and since we want reg_errcode_t to be a signed
64904         type for implementation consistency.
64905         (_REG_NOERROR): Renamed from REG_NOERROR.
64906         (_REG_NOMATCH): Renamed from REG_NOMATCH.
64907         (_REG_BADPAT): Renamed from REG_BADPAT.
64908         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
64909         (_REG_ECTYPE): Renamed from REG_ECTYPE.
64910         (_REG_EESCAPE): Renamed from REG_EESCAPE.
64911         (_REG_ESUBREG): Renamed from REG_ESUBREG.
64912         (_REG_EBRACK): Renamed from REG_EBRACK.
64913         (_REG_EPAREN): Renamed from REG_EPAREN.
64914         (_REG_EBRACE): Renamed from REG_EBRACE.
64915         (_REG_BADBR): Renamed from REG_BADBR.
64916         (_REG_ERANGE): Renamed from REG_ERANGE.
64917         (_REG_ESPACE): Renamed from REG_ESPACE.
64918         (_REG_BADRPT): Renamed from REG_BADRPT.
64919         (_REG_EEND): Renamed from REG_EEND.
64920         (_REG_ESIZE): Renamed from REG_ESIZE.
64921         (_REG_ERPAREN): Renamed from REG_ERPAREN.
64922         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
64923         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
64924         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
64925         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
64926
64927         (_REG_RE_NAME, _REG_RM_NAME): New macros.
64928         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
64929         changed.  But support the old name if the new one is not defined
64930         and if _REGEX_SOURCE.
64931
64932         Change the following member names in struct re_pattern_buffer.
64933         The old names are still supported if !_REGEX_SOURCE.
64934         The new names are always supported, regardless of _REGEX_SOURCE.
64935         (re_buffer): Renamed from buffer.
64936         (re_allocated): Renamed from allocated.
64937         (re_used): Renamed from used.
64938         (re_syntax): Renamed from syntax.
64939         (re_fastmap): Renamed from fastmap.
64940         (re_translate): Renamed from translate.
64941         (re_can_be_null): Renamed from can_be_null.
64942         (re_regs_allocated): Renamed from regs_allocated.
64943         (re_fastmap_accurate): Renamed from fastmap_accurate.
64944         (re_no_sub): Renamed from no_sub.
64945         (re_not_bol): Renamed from not_bol.
64946         (re_not_eol): Renamed from not_eol.
64947         (re_newline_anchor): Renamed from newline_anchor.
64948
64949         Change the following member names in struct re_registers.
64950         The old names are still supported if !_REGEX_SOURCE.
64951         The new names are always supported, regardless of _REGEX_SOURCE.
64952         (rm_num_regs): Renamed from num_regs.
64953         (rm_start): Renamed from start.
64954         (rm_end): Renamed from end.
64955
64956         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
64957         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
64958         Prepend __ to parameter names.
64959
64960         Undo yesterday's changes.
64961
64962 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
64963
64964         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
64965         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
64966         lib/regex.c.
64967
64968 2005-08-24  Jim Meyering  <jim@meyering.net>
64969
64970         Sync from coreutils.
64971         * m4/fcntl-safer.m4: New file.
64972
64973         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
64974         and object files for this module.
64975
64976 2005-08-24  Jim Meyering  <jim@meyering.net>
64977
64978         Sync from coreutils.
64979         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
64980
64981 2005-08-24  Jim Meyering  <jim@meyering.net>
64982
64983         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
64984         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
64985
64986 2005-08-24  Jim Meyering  <jim@meyering.net>
64987
64988         * modules/fcntl-safer: New module.
64989         * modules/fts (Depends-on): Add fcntl-safer.
64990         * MODULES.html.sh (File descriptor based Input/Output):
64991         Add fcntl-safer.
64992
64993 2005-08-24  Bruno Haible  <bruno@clisp.org>
64994
64995         Support for unit test modules.
64996         * modules/README: Mention tests modules.
64997         * modules/TEMPLATE-TESTS: New file.
64998         * gnulib-tool: New options --extract-tests-module, --with-tests and
64999         --tests-base (unused for the moment).
65000         (testsbase, inctests): New variables.
65001         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
65002         (func_verify_module): Exclude TEMPLATE-TESTS.
65003         (func_verify_nontests_module, func_verify_tests_module): New functions.
65004         (func_get_dependencies): Add implicit dependency for tests modules.
65005         (func_get_tests_module): New function.
65006         (func_modules_transitive_closure): When --with-tests was specified,
65007         include the unit tests as well, unless explicitly avoided.
65008         (func_emit_lib_Makefile_am): Ignore the tests modules here.
65009         (func_emit_tests_Makefile_am): New function.
65010         (func_create_testdir): When --with-tests was specified, emit a
65011         tests/ directory.
65012         * MODULES.html.sh (Future developments): Update.
65013
65014 2005-08-24  Bruno Haible  <bruno@clisp.org>
65015
65016         * modules/tls-tests: New file.
65017         * tests/test-tls.c: New file, from GNU gettext.
65018
65019 2005-08-24  Bruno Haible  <bruno@clisp.org>
65020
65021         * modules/lock-tests: New file.
65022         * tests/test-lock.c: New file, from GNU gettext.
65023
65024 2005-08-24  Bruno Haible  <bruno@clisp.org>
65025
65026         * lib/lock.h: Add multiple inclusion guard.
65027         * lib/tls.h: Add multiple inclusion guard.
65028
65029 2005-08-24  Bruno Haible  <bruno@clisp.org>
65030
65031         * gnulib-tool: Add support for the --aux-dir option to
65032         --create-testdir, --create-megatestdir, --test, --megatest.
65033         (func_create_testdir, func_create_megatestdir): Optionally emit a
65034         AC_CONFIG_AUX_DIR directive.
65035         (create-testdir, create-megatestdir, test, megatest): Provide a
65036         default value for $auxdir.
65037
65038 2005-08-24  Bruno Haible  <bruno@clisp.org>
65039
65040         * gnulib-tool (import): Use compound statement instead of subshell
65041         where possible.
65042
65043 2005-08-24  Bruno Haible  <bruno@clisp.org>
65044
65045         * gnulib-tool (import): Change --aux-dir default to "build-aux".
65046
65047 2005-08-24  Bruno Haible  <bruno@clisp.org>
65048
65049         * gnulib-tool (func_version): Update.
65050
65051 2005-08-24  Bruno Haible  <bruno@clisp.org>
65052
65053         * gnulib-tool (func_import, func_create_testdir,
65054         func_create_megatestdir): Quote all autoconf macro arguments.
65055
65056 2005-08-24  Bruno Haible  <bruno@clisp.org>
65057
65058         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
65059         option --force, because --force causes the aclocal.m4 of each
65060         subdirectory to be newer than the corresponding config.h.in.
65061
65062 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65063
65064         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
65065         All contents moved to gl_REGEX.
65066         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
65067         assume that it does.
65068
65069 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65070
65071         * lib/regex.h (REG_NOSYS)
65072         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
65073         Define, since POSIX requires it as of 2001.
65074         (_REG_ENOSYS)
65075         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
65076         New private symbol, used to keep the enum signed in all cases.
65077         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
65078         Youngman in
65079         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
65080
65081         * lib/regex_internal.c (re_string_skip_chars, register_state):
65082         (calc_state_hash):
65083         Remove forward decls; no longer needed now that we use prototypes.
65084         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
65085         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
65086         (clean_state_log_if_needed): Likewise.
65087
65088 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65089
65090         * config/srclist.txt: Add glibc bugs 1231-1233.
65091
65092 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65093
65094         Fix problems reported by Sam Steingold in
65095         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
65096         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
65097         assumed that reg_errcode_t is a signed type, which is not
65098         necessarily true if _XOPEN_SOURCE is not defined.
65099         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
65100         since some compilers warn about it otherwise.
65101
65102 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65103
65104         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
65105         (init_word_char, create_initial_state, duplicate_node_closure):
65106         (fetch_token, peek_token_bracket, build_range_exp):
65107         (build_collating_symbol): Remove forward decls; no longer needed
65108         now that we use prototypes.
65109
65110         * lib/regcomp.c:
65111         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
65112         (re_compile_fastmap_iter, regcomp, regerror, regfree):
65113         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
65114         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
65115         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
65116         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
65117         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
65118         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
65119         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
65120         (build_range_exp, build_collating_symbol, parse_bracket_exp):
65121         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
65122         (build_charclass, build_charclass_op, fetch_number, create_tree):
65123         (create_token_tree, mark_opt_subexp, duplicate_tree):
65124         Use prototypes rather than old-style definitions.
65125
65126         * lib/regex_internal.c:
65127         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
65128         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
65129         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
65130         (re_string_reconstruct, re_string_peek_byte_case):
65131         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
65132         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
65133         (re_node_set_init_copy, re_node_set_add_intersect):
65134         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65135         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65136         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
65137         (re_acquire_state, re_acquire_state_context, register_state):
65138         (create_ci_newstate, create_cd_newstate, free_state):
65139         Likewise.
65140         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
65141         re_search_2):
65142         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
65143         (re_search_internal, prune_impossible_nodes):
65144         (acquire_init_state_context, check_matching, static):
65145         (check_halt_node_context, check_halt_state_context, proceed_next_node):
65146         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
65147         (update_regs, sift_states_backward, build_sifted_states):
65148         (clean_state_log_if_needed, merge_state_array):
65149         (update_cur_sifted_state, add_epsilon_src_nodes):
65150         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
65151         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
65152         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
65153         (find_recover_state, check_subexp_matching_top, transit_state_mb):
65154         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
65155         (check_arrival, check_arrival_add_next_nodes):
65156         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
65157         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65158         (check_node_accept_bytes, check_node_accept, extend_buffers):
65159         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
65160         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
65161         (sift_ctx_init):
65162         Likewise.
65163
65164         * lib/regex_internal.h:
65165         (re_string_allocate, re_string_construct, re_string_reconstruct):
65166         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
65167         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
65168         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
65169         (re_string_context_at, re_string_peek_byte_case):
65170         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
65171         is defined, since we now use prototypes always.
65172
65173         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
65174         C89 or better.  All uses removed.
65175
65176 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
65177
65178         * config/srclist.txt: Add glibc bugs 1220-1227.
65179
65180 2005-08-20  Jim Meyering  <jim@meyering.net>
65181
65182         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
65183         of unused local, dfa.
65184
65185 2005-08-20  Bruno Haible  <bruno@clisp.org>
65186
65187         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
65188
65189 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65190
65191         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
65192         (re_node_set_insert_last, re_dfa_add_node):
65193         Rename local variables to avoid GCC shadowing warnings.
65194
65195 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65196
65197         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
65198         [defined lint]: Suppress bogus uninitialized-variable warnings.
65199
65200         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
65201         and let the caller return REG_ESPACE if out of space.  This
65202         removes an uninitialied-variable warning with GCC 4.0.1, and also
65203         avoids taking the address of a local variable.  All callers
65204         changed.
65205
65206 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
65207
65208         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
65209         $LIBCSRC/posix/regexec.c.
65210         Add glibc bug 1217 for regcomp.c.
65211
65212 2005-08-19  Jim Meyering  <jim@meyering.net>
65213
65214         * lib/regexec.c (proceed_next_node): Redo local variables to
65215         avoid GCC shadowing warnings.
65216
65217 2005-08-18  Bruno Haible  <bruno@clisp.org>
65218
65219         * lib/strstr.c (strstr): Fix return value in multibyte case.
65220         * lib/strcasestr.c (strcasestr): Likewise.
65221
65222 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
65223
65224         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
65225
65226 2005-08-17  Jim Meyering  <jim@meyering.net>
65227
65228         Make the %s format (seconds since the epoch) work for a negative
65229         number and when used with a zero-padded field width, e.g. %015s.
65230
65231         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
65232         label so that it precedes the code to set `digits'.  Otherwise,
65233         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
65234         print `00-22'.  Now, it prints `-0022', as it should.
65235
65236 2005-08-17  Bruno Haible  <bruno@clisp.org>
65237
65238         * modules/strstr (Files): Add m4/mbrtowc.m4.
65239         (Depends-on): Add mbuiter.
65240
65241 2005-08-17  Bruno Haible  <bruno@clisp.org>
65242
65243         * modules/strcasestr: New file.
65244         * MODULES.html.sh (String handling, based on ANSI C 89): Add
65245         strcasestr.
65246
65247 2005-08-17  Bruno Haible  <bruno@clisp.org>
65248
65249         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
65250
65251 2005-08-17  Bruno Haible  <bruno@clisp.org>
65252
65253         * modules/mbuiter: New file.
65254         * MODULES.html.sh (Extended multibyte and wide character utilities):
65255         Add mbuiter.
65256
65257 2005-08-17  Bruno Haible  <bruno@clisp.org>
65258
65259         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
65260         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
65261
65262 2005-08-17  Bruno Haible  <bruno@clisp.org>
65263
65264         * m4/strcasestr.m4: New file.
65265
65266 2005-08-17  Bruno Haible  <bruno@clisp.org>
65267
65268         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
65269         * lib/strstr.c: Completely rewritten, with multibyte locale support.
65270
65271 2005-08-17  Bruno Haible  <bruno@clisp.org>
65272
65273         * lib/strcasestr.h: New file.
65274         * lib/strcasestr.c: New file.
65275
65276 2005-08-17  Bruno Haible  <bruno@clisp.org>
65277
65278         * lib/strcasecmp.c: Use mbuiter.h.
65279
65280 2005-08-17  Bruno Haible  <bruno@clisp.org>
65281
65282         * lib/mbuiter.h: New file.
65283
65284 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
65285
65286         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
65287         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
65288         and gl_GETOPT are both invoked via different paths (as happens
65289         with GNU tar CVS because it uses both argp and getopt), the former
65290         wins.
65291
65292 2005-08-16  Bruno Haible  <bruno@clisp.org>
65293
65294         * modules/tls: New file.
65295         * MODULES.html.sh (Multithreading): Add tls.
65296
65297 2005-08-16  Bruno Haible  <bruno@clisp.org>
65298
65299         * modules/strnlen1: New file.
65300         * MODULES.html.sh (String handling): Add strnlen1.
65301
65302 2005-08-16  Bruno Haible  <bruno@clisp.org>
65303
65304         * modules/strcase (Files): Add m4/mbrtowc.m4.
65305         (Depends-on): Add strnlen1, mbchar.
65306
65307 2005-08-16  Bruno Haible  <bruno@clisp.org>
65308
65309         * modules/mbiter: New file.
65310         * MODULES.html.sh (Extended multibyte and wide character utilities):
65311         Add mbiter.
65312
65313 2005-08-16  Bruno Haible  <bruno@clisp.org>
65314
65315         * modules/mbfile: New file.
65316         * MODULES.html.sh (Extended multibyte and wide character utilities):
65317         Add mbfile.
65318
65319 2005-08-16  Bruno Haible  <bruno@clisp.org>
65320
65321         * modules/mbchar: New file.
65322         * MODULES.html.sh (Extended multibyte and wide character utilities):
65323         New section.
65324
65325 2005-08-16  Bruno Haible  <bruno@clisp.org>
65326
65327         * m4/tls.m4: New file, from GNU gettext.
65328
65329 2005-08-16  Bruno Haible  <bruno@clisp.org>
65330
65331         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
65332         always.
65333         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
65334
65335 2005-08-16  Bruno Haible  <bruno@clisp.org>
65336
65337         * m4/mbiter.m4: New file.
65338
65339 2005-08-16  Bruno Haible  <bruno@clisp.org>
65340
65341         * m4/mbfile.m4: New file.
65342
65343 2005-08-16  Bruno Haible  <bruno@clisp.org>
65344
65345         * m4/mbchar.m4: New file.
65346
65347 2005-08-16  Bruno Haible  <bruno@clisp.org>
65348
65349         * lib/tls.h: New file, from GNU gettext.
65350         * lib/tls.c: New file, from GNU gettext.
65351
65352 2005-08-16  Bruno Haible  <bruno@clisp.org>
65353
65354         * lib/strnlen1.h: New file.
65355         * lib/strnlen1.c: New file.
65356
65357 2005-08-16  Bruno Haible  <bruno@clisp.org>
65358
65359         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
65360         (mbi_init): Update.
65361         (mbi_avail, mbi_advance): Let the iteration end before the terminating
65362         NUL byte, not after it.
65363
65364 2005-08-16  Bruno Haible  <bruno@clisp.org>
65365
65366         * lib/strcase.h (strcasecmp): Add note in comments.
65367         * lib/strncasecmp.c: Use code from strcasecmp.c.
65368         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
65369         (strcasecmp): Work correctly in multibyte locales.
65370
65371 2005-08-16  Bruno Haible  <bruno@clisp.org>
65372
65373         * lib/mbiter.h: New file.
65374
65375 2005-08-16  Bruno Haible  <bruno@clisp.org>
65376
65377         * lib/mbfile.h: New file.
65378
65379 2005-08-16  Bruno Haible  <bruno@clisp.org>
65380
65381         * lib/mbchar.h: New file.
65382         * lib/mbchar.c: New file.
65383
65384 2005-08-16  Bruno Haible  <bruno@clisp.org>
65385
65386         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
65387         the valid ones. Makes the comparison operations transitive:
65388         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
65389         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
65390
65391 2005-08-15  Simon Josefsson  <jas@extundo.com>
65392
65393         * modules/ssize_t (License): Change to 'unlimited'.
65394
65395         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
65396
65397 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
65398
65399         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
65400         Add comments for each pending glibc patch.
65401
65402 2005-08-15  Bruno Haible  <bruno@clisp.org>
65403
65404         * lib/regex.h (__restrict_arr): Don't define to __restrict if
65405         __cplusplus is defined.
65406
65407 2005-08-14  Jim Meyering  <jim@meyering.net>
65408
65409         Sync from coreutils.
65410
65411         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
65412         Use the hash-table-based cycle-detection code not just when
65413         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
65414         Reported by James Youngman in
65415         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
65416         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
65417         FTS_TIGHT_CYCLE_CHECK.
65418         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
65419         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
65420         once again.
65421         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
65422         * lib/fts.c (fd_safer): Remove decl.
65423         Include fcntl--.h rather than unistd-safer.h
65424         (fts_safe_changedir): Don't call fd_safer; no longer needed
65425         now that we include fcntl--.h.
65426
65427 2005-08-12  Simon Josefsson  <jas@extundo.com>
65428
65429         * modules/getndelim2: Use ssize_t module.
65430         * modules/getnline: Likewise.
65431         * modules/safe-read: Likewise.
65432         * modules/xreadlink: Likewise.
65433
65434         * modules/ssize_t: New file.
65435
65436 2005-08-12  Simon Josefsson  <jas@extundo.com>
65437
65438         * m4/readline.m4: Look for termcap, curses or ncurses if required.
65439
65440 2005-08-12  Simon Josefsson  <jas@extundo.com>
65441
65442         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
65443         ssize_t.
65444
65445 2005-08-12  Simon Josefsson  <jas@extundo.com>
65446
65447         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
65448         readline, getdelim and check_version.
65449         (Support for systems lacking ISO C 99: Sizes of integer types):
65450         Add size_max.
65451
65452 2005-08-12  Bruno Haible  <bruno@clisp.org>
65453
65454         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
65455
65456 2005-08-11  Simon Josefsson  <jas@extundo.com>
65457
65458         * modules/readline: New file.
65459
65460         * modules/strnlen (Files): Add strnlen.h.
65461
65462 2005-08-11  Simon Josefsson  <jas@extundo.com>
65463
65464         * m4/readline.m4: New file.
65465
65466 2005-08-11  Simon Josefsson  <jas@extundo.com>
65467
65468         * lib/readline.h, readline.c: New file.
65469
65470 2005-08-11  Simon Josefsson  <jas@extundo.com>
65471
65472         * doc/gnulib.texi (Initial import, Finishing touches): Mention
65473         gl_AVOID.
65474
65475 2005-08-11  Bruno Haible  <bruno@clisp.org>
65476
65477         * lib/strnlen.h (strnlen): Change parameter name to match comment.
65478
65479 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
65480
65481         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
65482
65483 2005-08-10  Simon Josefsson  <jas@extundo.com>
65484
65485         * tests/test-iconvme.c: New file.
65486
65487 2005-08-10  Simon Josefsson  <jas@extundo.com>
65488
65489         * m4/strnlen.m4: New file.
65490
65491         * m4/strndup.m4: Don't check for strnlen declaration, done in
65492         strnlen.m4.
65493
65494 2005-08-10  Simon Josefsson  <jas@extundo.com>
65495
65496         * lib/strndup.c: Use strnlen.h.
65497
65498         * lib/strnlen.h: New file.
65499
65500 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65501
65502         * README: Typos.
65503
65504 2005-08-02  Simon Josefsson  <jas@extundo.com>
65505
65506         * modules/readline: New file.
65507
65508 2005-08-02  Simon Josefsson  <jas@extundo.com>
65509
65510         * modules/getdelim: New file.
65511
65512         * modules/getline: Rewrite, don't use getndelim2.
65513
65514 2005-08-02  Simon Josefsson  <jas@extundo.com>
65515
65516         * m4/getline.m4: Separate out getdelim stuff into separate module.
65517
65518         * m4/getdelim.m4: New file.
65519
65520 2005-08-02  Simon Josefsson  <jas@extundo.com>
65521
65522         * lib/getline.h, getline.c: Rewrite.
65523
65524         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
65525
65526 2005-07-31  Bruno Haible  <bruno@clisp.org>
65527
65528         * lib/lock.h (gl_lock_initializer): New macro.
65529         (gl_lock_define_initialized): Use it.
65530         (gl_rwlock_initializer): New macro.
65531         (gl_rwlock_define_initialized): Use it.
65532         (gl_recursive_lock_initializer): New macro.
65533         (gl_recursive_lock_define_initialized): Use it.
65534
65535 2005-07-30  Karl Berry  <karl@gnu.org>
65536
65537         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
65538         Report from Ben Pfaff, regarding getopt.
65539
65540 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
65541
65542         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
65543         normal way.
65544         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
65545         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
65546         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
65547         (gl_GETOPT): Use the new macros.  Most of the implementation
65548         is moved to the new macros.  This is for programs like Emacs
65549         that don't want all the functionality of gl_GETOPT.
65550
65551 2005-07-26  Bruno Haible  <bruno@clisp.org>
65552
65553         * m4/lock.m4: Update from GNU gettext.
65554
65555 2005-07-26  Bruno Haible  <bruno@clisp.org>
65556
65557         * lib/lock.h: Update from GNU gettext.
65558         * lib/lock.c: Update from GNU gettext.
65559
65560 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
65561
65562         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
65563         obsolescent AC_TRY_RUN.  Include the default includes files, for
65564         'exit'.
65565
65566 2005-07-24  Bruno Haible  <bruno@clisp.org>
65567
65568         * modules/visibility: New file.
65569         * MODULES.html.sh (Misc): Add visibility.
65570
65571 2005-07-24  Bruno Haible  <bruno@clisp.org>
65572
65573         * m4/visibility.m4: New file.
65574
65575 2005-07-24  Bruno Haible  <bruno@clisp.org>
65576
65577         * doc/visibility.texi: New file.
65578
65579 2005-07-22  Bruno Haible  <bruno@clisp.org>
65580
65581         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
65582         $(ALLOCA_H), redundant through BUILT_SOURCES.
65583         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
65584         redundant through BUILT_SOURCES.
65585         * modules/byteswap (Makefile.am): Remove explicit dependency on
65586         $(BYTESWAP_H), redundant through BUILT_SOURCES.
65587         * modules/fnmatch (Makefile.am): Remove explicit dependency on
65588         $(FNMATCH_H), redundant through BUILT_SOURCES.
65589         * modules/getopt (Makefile.am): Remove explicit dependency on
65590         $(GETOPT_H), redundant through BUILT_SOURCES.
65591         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
65592         redundant through BUILT_SOURCES.
65593         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
65594         redundant through BUILT_SOURCES.
65595         * modules/stdbool (Makefile.am): Remove explicit dependency on
65596         $(STDBOOL_H), redundant through BUILT_SOURCES.
65597         * modules/stdint (Makefile.am): Remove explicit dependency on
65598         $(STDINT_H), redundant through BUILT_SOURCES.
65599         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
65600         Remove explicit dependency on $(SYSEXITS_H).
65601         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
65602
65603 2005-07-18  Simon Josefsson  <jas@extundo.com>
65604
65605         * lib/check-version.c (check_version): Accept identical versions too.
65606
65607 2005-07-18  Bruno Haible  <bruno@clisp.org>
65608
65609         * modules/lock: New file.
65610         * MODULES.html.sh (Multithreading): New section.
65611
65612 2005-07-18  Bruno Haible  <bruno@clisp.org>
65613
65614         * m4/lock.m4: New file, from GNU gettext.
65615
65616 2005-07-18  Bruno Haible  <bruno@clisp.org>
65617
65618         * lib/lock.h: New file, from GNU gettext.
65619         * lib/lock.c: New file, from GNU gettext.
65620
65621 2005-07-18  Bruno Haible  <bruno@clisp.org>
65622
65623         * lib/lock.h (gl_once_t): New type.
65624         (gl_once_define, gl_once): New macros.
65625         * lib/lock.c (fresh_once): New variable.
65626         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
65627         functions.
65628
65629 2005-07-16  Simon Josefsson  <jas@extundo.com>
65630
65631         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
65632         workaround, suggested by Bruno.
65633
65634 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
65635
65636         * modules/xalloc (Depends-on): Add xalloc-die.
65637         * modules/xvasprintf (Depends-on): Add xalloc-die.
65638
65639 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
65640
65641         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
65642         with a minor change.
65643
65644 2005-07-15  Bruno Haible  <bruno@clisp.org>
65645
65646         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
65647         When using lib/poll.c, define poll as rpl_poll.
65648
65649 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
65650
65651         * modules/argp (Depends-on): Remove unlocked-io.
65652
65653 2005-07-14  Derek Price  <derek@ximbiot.com>
65654
65655         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
65656         for glob symlink bug.
65657
65658 2005-07-14  Bruno Haible  <bruno@clisp.org>
65659
65660         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
65661         Instead, test for *_unlocked function declarations directly.
65662
65663 2005-07-11  Simon Josefsson  <jas@extundo.com>
65664
65665         * modules/size_max: New file.
65666
65667         * modules/xsize: Depend on size_max module for size_max.m4.
65668
65669 2005-07-11  Simon Josefsson  <jas@extundo.com>
65670
65671         * lib/size_max.h: New file.
65672
65673 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
65674
65675         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
65676         copyright symbol and the year.
65677         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
65678         (version_etc_va): Use parameterized copyright notice.
65679         Reword to conform to the current GNU coding standards.
65680
65681 2005-07-11  Karl Berry  <karl@gnu.org>
65682
65683         * doc/gnulib.texi (Quoting): new node.
65684         (Initial import): more info, from Patrice.
65685
65686 2005-07-11  Bruno Haible  <bruno@clisp.org>
65687
65688         * gnulib-tool (func_usage): Document option --avoid.
65689         (Command line options): Handle --avoid.
65690         (func_acceptable): New function.
65691         (func_modules_transitive_closure): Use it.
65692
65693 2005-07-11  Bruno Haible  <bruno@clisp.org>
65694
65695         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
65696         Reported by Jim Meyering.
65697
65698 2005-07-10  Bruno Haible  <bruno@clisp.org>
65699
65700         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
65701         Needed when size_t is smaller than 'unsigned int'.
65702         Reported by Paul Eggert.
65703
65704 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65705
65706         * modules/argp (Depends-on): Add unlocked-io
65707
65708 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
65709
65710         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
65711         block of defines.
65712
65713 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
65714
65715         * config/srclist.txt: Comment out regcomp.c, since we have a porting
65716         fix now.
65717
65718 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
65719         and Paul Eggert  <eggert@cs.ucla.edu>
65720
65721         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
65722         in wint_t, not wchar_t.  Remove now-unnecessary cast.
65723
65724 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65725
65726         * modules/regex (Files): Add lib/regex_internal.c,
65727         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
65728         (Depends-on): Add extensions.
65729         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
65730
65731 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65732
65733         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
65734         pathconf.
65735         * m4/same.m4 (gl_SAME): Likewise.
65736         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
65737
65738         * m4/regex.m4: Adjust to new libc regex implementation.
65739         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
65740         all the .c and .h parts of (the new) regex.
65741         Quote the m4 stuff better.
65742         Check for RE_ICASE bug of old gnulib.
65743         Check for REG_STARTEND of recent libc.
65744         Rename local variables from jm_* to gl_*.
65745         Quote operand of "test -f".
65746         Say "recent enough" version of libc, not "version 2".
65747         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
65748         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
65749         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
65750         Remove check for btowc, isascii.
65751         Require AM_LANGINFO_CODESET.
65752
65753 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65754
65755         * lib/regex.c, regex.h: Sync from libc.
65756         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
65757         * lib/regexec.c:
65758         New files, synced from libc, except that regex_internal.h
65759         currently has a small porting fix.
65760
65761 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
65762
65763         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
65764         regex_internal.c, regexec.c.
65765         Add regex_internal.h too, but as a comment, since the libc version
65766         is currently broken in gnulib mode.
65767
65768 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
65769
65770         Support programs like Emacs that use gnulib but not gettext.
65771         * MODULES.html.sh (Internationalization functions): Add gettext-h.
65772         * modules/gettext-h: New file.
65773         * modules/gettext (Files): Remove lib/gettext.h.
65774         (Depends-on): Add gettext-h.
65775         (Makefile.am): Remove lib_SOURCES.
65776         * modules/argmatch, modules/c-stack, modules/closeout:
65777         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
65778         * modules/execute, modules/file-type, modules/getaddrinfo:
65779         * modules/getopt, modules/human, modules/javacomp:
65780         * modules/javaexec, modules/mkdir-p, modules/obstack:
65781         * modules/openat, modules/pagealign_alloc, modules/pipe:
65782         * modules/quotearg, modules/regex, modules/rpmatch:
65783         * modules/unicodeio, modules/userspec, modules/version-etc:
65784         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
65785         * modules/xsetenv:
65786         Depend on gettext-h, not gettext.
65787
65788 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
65789
65790         * gnulib-tool (func_import): Add support for 'public domain' license.
65791         * modules/alloca, modules/atexit, modules/memmove:
65792         Now public domain, not GPL.
65793         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
65794         * modules/realloc, modules/strerror, modules/strtod:
65795         Now LGPL, not GPL.
65796
65797 2005-07-05  Bruno Haible  <bruno@clisp.org>
65798
65799         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
65800         autoconf CVS. Needed for mingw.
65801
65802 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65803
65804         Remove the dependency of the strftime module on the tzset module.
65805         * modules/strftime (Depends-on): Remove dependency on tzset.
65806
65807 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65808
65809         Remove the dependency of the strftime module on the tzset module.
65810         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
65811         gl_FUNC_TZSET_CLOBBER.
65812
65813 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
65814
65815         Remove the dependency of the strftime module on the tzset module.
65816         * lib/strftime.c (my_strftime)
65817         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
65818         Copy the input structure, to work around some of the bug with
65819         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
65820         Solaris releases, you should also use the tzset module, but we won't
65821         require it as a dependency any more since we don't want LGPLed code
65822         to depend on GPLed code.
65823
65824 2005-07-02  Jim Meyering  <jim@meyering.net>
65825
65826         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
65827         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
65828         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
65829         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
65830
65831 2005-07-02  Jim Meyering  <jim@meyering.net>
65832
65833         * lib/backupfile.c (backup_args): Change a `0' to NULL.
65834
65835 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
65836
65837         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
65838         declares only 'struct timespec;' (!).
65839
65840 2005-07-01  Jim Meyering  <jim@meyering.net>
65841
65842         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
65843         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
65844         * lib/save-cwd.c, tempname.c:
65845         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
65846         and don't include <sys/file.h>).
65847
65848 2005-06-29  Jim Meyering  <jim@meyering.net>
65849
65850         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
65851         type name.  Use the variable name instead.
65852         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
65853         Likewise.
65854
65855 2005-06-28  Simon Josefsson  <jas@extundo.com>
65856
65857         * modules/check-version (Files): Add check-version.m4.
65858
65859 2005-06-28  Simon Josefsson  <jas@extundo.com>
65860
65861         * m4/check-version.m4: New file, suggested by Jim Meyering
65862         <jim@meyering.net>.
65863
65864 2005-06-28  Simon Josefsson  <jas@extundo.com>
65865
65866         * lib/check-version.h, lib/check-version.c: New files.
65867
65868 2005-06-28  Simon Josefsson  <jas@extundo.com>
65869
65870         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
65871         collision with global variable.  Better indentation.  Don't
65872         increment buffer pointer beyond buffer end.  Based on comments
65873         from Paul Eggert <eggert@cs.ucla.edu>.
65874
65875         * lib/base64.h: Indent.
65876
65877 2005-06-28  Simon Josefsson  <jas@extundo.com>
65878
65879         * doc/gnulib.texi (Library version handling): New section.
65880
65881 2005-06-28  Jim Meyering  <jim@meyering.net>
65882
65883         * check-module (find_included_lib_files): Hard-code another
65884         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
65885         but modules/fts-lgpl (correctly) does not list those files.
65886
65887         * modules/canonicalize (Files): Add lib/pathmax.h.
65888
65889 2005-06-25  Simon Josefsson  <jas@extundo.com>
65890
65891         * modules/check-version: New file.
65892
65893 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
65894
65895         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
65896         initializer of struct addrinfo, as an indication that we don't
65897         care how many members the structure has.
65898
65899 2005-06-24  Derek Price  <derek@ximbiot.com>
65900         and Bruno Haible  <bruno@clisp.org>
65901
65902         Remove stat module & update lstat.
65903         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
65904         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
65905         * m4/stat.m4: Remove this file.
65906
65907 2005-06-24  Derek Price  <derek@ximbiot.com>
65908         and Bruno Haible  <bruno@clisp.org>
65909
65910         Remove stat module & update lstat.
65911         * lib/stat.c: Remove this file...
65912         (slash_aware_lstat): ...moving this content and its support...
65913         * lib/lstat.c (rpl_lstat): ...into here.
65914         * lib/lstat.h: New file.
65915
65916 2005-06-24  Derek Price  <derek@ximbiot.com>
65917         and Bruno Haible  <bruno@clisp.org>
65918
65919         Remove stat module & update lstat.
65920         * config/srclist.txt (libc sources): Remove stat.
65921
65922 2005-06-24  Derek Price  <derek@ximbiot.com>
65923         and Bruno Haible  <bruno@clisp.org>
65924
65925         Remove stat module & update lstat.
65926         * MODULES.html.sh (stat): Remove.
65927         * MODULES.html: Regenerated.
65928         * modules/lstat (Description): Correct function name.
65929         (Files): Add "lstat.h".
65930         (Depends-on): Remove stat, add xalloc, stat-macros.
65931         * modules/stat: Remove this file.
65932         (Include): Add "lstat.h", remove <sys/stat.h>.
65933
65934 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65935
65936         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
65937         (ranged_convert): Don't save conversion in a temporary struct.
65938         This causes a warning with GCC 4.0.0, and anyway in the typical
65939         case it's not worth the extra 100 bytes or so of code.
65940         (ranged_convert, __mktime_internal): When calling a function via a
65941         pointer P, use P () rather than (*P) (), as we now assume C89 or
65942         better.
65943
65944 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
65945
65946         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
65947         "who -r" failed to give output.  Problem reported by Tim Waugh.
65948
65949         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
65950         (xcalloc): Use it to avoid needless tests.
65951         Problem reported by Jim Meyering.
65952
65953 2005-06-20  Derek Price  <derek@ximbiot.com>
65954
65955         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
65956         unnecessary for Autoconfs > 2.59c.
65957
65958 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
65959
65960         * lib/argp.h (__option_is_short): Check upper limit of
65961         __key. Isprint() requires its argument to have the value
65962         of an unsigned char or EOF.
65963
65964 2005-06-16  Jim Meyering  <jim@meyering.net>
65965
65966         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
65967         when either N or S is zero.
65968
65969 2005-06-16  Derek Price  <derek@ximbiot.com>
65970
65971         * m4/bison.m4: Declare YACC & YFLAGS precious.
65972
65973 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
65974
65975         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
65976         multibyte string or pattern, fall back on unibyte matching.
65977         Problem reported by James Youngman.
65978
65979 2005-06-08  Bruno Haible  <bruno@clisp.org>
65980
65981         * modules/csharpcomp: New file.
65982         * MODULES.html.sh (C#): Add csharpcomp.
65983
65984 2005-06-08  Bruno Haible  <bruno@clisp.org>
65985
65986         * m4/csharpcomp.m4: New file, from GNU gettext.
65987
65988 2005-06-08  Bruno Haible  <bruno@clisp.org>
65989
65990         * lib/csharpcomp.h: New file, from GNU gettext.
65991         * lib/csharpcomp.c: New file, from GNU gettext.
65992         * lib/csharpcomp.sh.in: New file, from GNU gettext.
65993
65994 2005-06-08  Bruno Haible  <bruno@clisp.org>
65995
65996         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
65997         warning on mingw.
65998
65999 2005-06-07  Derek Price  <derek@ximbiot.com>
66000
66001         Sync from CVS.
66002         * lib/glob_.h: Indent nested #ifdef.
66003
66004 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66005
66006         Sync from coreutils.
66007         Use "file name" when talking about file names, instead of "filename"
66008         or "path", as per the GNU coding standards.
66009         * lib/mkdir-p.c: Renamed from makepath.c.
66010         (make_dir_parents): Renamed from make_path.  All callers changed.
66011         * lib/mkdir-p.h: Likewise.  All includers changed.
66012         * lib/filenamecat.c: Renamed from path-concat.c.
66013         (file_name_concat): Renamed from path_concat.  All callers changed.
66014         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
66015         * lib/filenamecat.h: Likewise.  All includers changed.
66016         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
66017         in comments or local variable names.
66018         * lib/basename.c: Likewise.
66019         * lib/canonicalize.c, canonicalize.h: Likewise.
66020         * lib/dirname.c, dirname.h: Likewise.
66021         * lib/euidaccess.c: Likewise.
66022         * lib/exclude.c: Likewise
66023         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
66024         * lib/fsusage.c, fsuage.h: Likewise.
66025         * lib/fts.c, fts_.h: Likewise.
66026         * lib/getcwd.c: Likewise.
66027         * lib/getloadavg.c: Likewise.
66028         * lib/mkstemp.c: Likewise.
66029         * lib/mountlist.c, mountlist.h: Likewise.
66030         * lib/openat.c, openat.h: Likewise.
66031         * lib/readlink-stub.c: Likewise.
66032         * lib/readutmp.c, readutmp.h: Likewise.
66033         * lib/rename.c: Likewise.
66034         * lib/rmdir.c: Likewise.
66035         * lib/same.c: Likewise.
66036         * lib/savedir.c: Likewise.
66037         * lib/stripslash.c: Likewise.
66038         * lib/tempname.c: Likewise.
66039         * lib/xreadlink.c: Likewise.
66040         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
66041         All uses changed.
66042         * lib/exclude.h: Likewise.
66043
66044         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
66045         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66046         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
66047         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66048         * lib/pathmax.h: Include <limits.h> unconditionally, since other
66049         files have been getting away with it for years (MORE/BSD 4.3
66050         is extinct now).
66051         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
66052         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
66053
66054         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
66055         Define to 256, not 255, as per modern POSIX.
66056
66057 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66058
66059         Sync from coreutils.
66060         Use "file name" when talking about file names, instead of "filename"
66061         or "path", as per the GNU coding standards.
66062         * MODULES.html.sh: mkdir-p renamed from makepath.
66063         filenamecat renamed from path-concat.
66064         * modules/filenamecat: Renamed from modules/path-concat.
66065         (Files): filenamecat.h and filenamecat.c renamed from
66066         path-concat.h and path-concat.c.
66067         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
66068         (Include): filenamecat.h, not path-concat.h.
66069         * modules/mkdir-p: Renamed from modules/makepath.
66070         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
66071         makepath.c.
66072         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
66073         (Include): mkdir-p.h, not makepath.h.
66074
66075 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66076
66077         Sync from coreutils.
66078         * m4/mkdir-p.m4: Renamed from makepath.m4.
66079         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
66080         Rename files from makepath.c to mkdir-p.c, and from
66081         makepath.h to mkdir-p.h.
66082         * m4/filenamecat.m4: Renamed from path-concat.m4.
66083         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
66084         Rename files from path-concat.c to filenamecat.c,
66085         and from path-concat.h to filenamecat.h.
66086         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
66087         "file name" in local variables or comments.
66088         * m4/rename.m4: Likewise.
66089
66090 2005-06-01  Bruno Haible  <bruno@clisp.org>
66091
66092         * modules/csharpexec: New file.
66093         * MODULES.html.sh (C#): New section.
66094
66095 2005-06-01  Bruno Haible  <bruno@clisp.org>
66096
66097         * m4/csharp.m4: New file, from GNU gettext.
66098         * m4/csharpexec.m4: New file, from GNU gettext.
66099
66100 2005-06-01  Bruno Haible  <bruno@clisp.org>
66101
66102         * lib/csharpexec.h: New file, from GNU gettext.
66103         * lib/csharpexec.c: New file, from GNU gettext.
66104         * lib/csharpexec.sh.in: New file, from GNU gettext.
66105
66106 2005-05-31  Derek Price  <derek@ximbiot.com>
66107             Paul Eggert  <eggert@cs.ucla.edu>
66108
66109         Sync from cvs.
66110         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66111
66112 2005-05-31  Derek Price  <derek@ximbiot.com>
66113             Paul Eggert  <eggert@cs.ucla.edu>
66114
66115         Sync from cvs.
66116         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
66117
66118 2005-05-29  Derek Price  <derek@ximbiot.com>
66119
66120         * config/srclist.txt (glob_.h, glob.c): Add these files.
66121
66122 2005-05-29  Derek Price  <derek@ximbiot.com>
66123
66124         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
66125         * modules/glob: New file.
66126         * modules/getlogin_r: Add link to POSIX spec in description.
66127
66128 2005-05-29  Derek Price  <derek@ximbiot.com>
66129             Paul Eggert  <eggert@cs.ucla.edu>
66130
66131         * m4/glob.m4: New file.
66132
66133 2005-05-29  Derek Price  <derek@ximbiot.com>
66134             Paul Eggert  <eggert@cs.ucla.edu>
66135
66136         * lib/glob_.h, lib/glob.c: New files.
66137
66138 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66139
66140         * modules/fts (Files): Remove m4/inttypes-pri.m4.
66141         * modules/fts-lgpl (Depends-on): Remove gettext.
66142
66143 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66144
66145         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
66146         and don't require gt_INTTYPES_PRI.
66147
66148 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
66149
66150         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
66151
66152         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
66153         the configuration hassle isn't worth it.
66154         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
66155         (LONGEST_MODIFIER, PRIuMAX): Remove.
66156
66157 2005-05-27  Bruno Haible  <bruno@clisp.org>
66158
66159         * lib/getlogin_r.h: Remove second include of <stddef.h>.
66160
66161 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
66162
66163         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
66164         _POSIX_PTHREAD_SEMANTICS for Solaris.
66165
66166 2005-05-25  Derek Price  <derek@ximbiot.com>
66167
66168         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
66169
66170 2005-05-25  Derek Price  <derek@ximbiot.com>
66171             Paul Eggert  <eggert@cs.ucla.edu>
66172
66173         * modules/getlogin_r, m4/getlogin_r.m4: New files.
66174         * lib/getlogin_r.c, getlogin_r.h: New files.
66175
66176 2005-05-25  Bruno Haible  <bruno@clisp.org>
66177             Derek Price  <derek@ximbiot.com>
66178
66179         * lib/getlogin_r.h: Simplify API documentation.
66180
66181 2005-05-23  Derek Price  <derek@ximbiot.com>
66182
66183         * modules/minmax (Files): Add m4/minmax.m4.
66184         (configure.ac): Add gl_MINMAX.
66185
66186 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
66187
66188         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
66189         so that unistd-safer.h (GPL'ed code) need not be included.
66190
66191 2005-05-22  Bruno Haible  <bruno@clisp.org>
66192
66193         * m4/minmax.m4: New file.
66194         Based on a patch by Derek Price <derek@ximbiot.com>.
66195
66196 2005-05-22  Bruno Haible  <bruno@clisp.org>
66197
66198         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
66199         (INT64_MIN): Fix definition.
66200         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
66201
66202         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
66203         NEED_SIGNED_INT_TYPES.
66204
66205         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
66206         HAVE_SYSTEM_INTTYPES.
66207
66208 2005-05-22  Bruno Haible  <bruno@clisp.org>
66209
66210         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
66211         Also include <sys/param.h> if it defines MIN, MAX.
66212         Based on a patch by Derek Price <derek@ximbiot.com>.
66213
66214 2005-05-21  Jim Meyering  <jim@meyering.net>
66215
66216         * modules/fts (Files): Add m4/inttypes-pri.m4.
66217         (Depends-on): Add lstat and remove gettext.  Alphabetize.
66218
66219 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66220
66221         New fts module.
66222         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
66223         (setup_dir, free_dir): New functions.
66224         (enter_dir, leave_dir): Define trivial
66225         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
66226         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
66227         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
66228         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
66229         Move to fts-cycle.c.
66230         (fts_open): Use setup_dir.
66231         (fts_close): Use free_dir.
66232         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
66233         This adds a label and some gotos, but the alternatives were messier.
66234         Check for memory allocation failure when entering a dir.
66235         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
66236         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
66237         (FTS): New member fts_cycle, that is a union that contains the
66238         old active_dir_ht and cycle_state.  All uses changed to mention
66239         fts_cycle.ht and fts_cycle.state.
66240         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
66241         fts.c, with the following changes:
66242         (setup_dir, free_dir): New functions.
66243         (enter_dir): Now returns bool.  Return true if successful, false
66244         if memory exhausted.  All callers changed.
66245         Do not bother partly cleaning up on
66246         memory allocation failure; that is free_dir's job.
66247         However, free ad if hash_insert fails, to avoid memory leak.
66248         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
66249         fts->fts_options to see which union member to use.
66250
66251 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66252
66253         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
66254         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
66255
66256 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
66257
66258         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
66259
66260 2005-05-20  Jim Meyering  <jim@meyering.net>
66261
66262         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
66263         Now a macro, to pacify GCC.
66264
66265 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66266
66267         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
66268         of -1.
66269
66270 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
66271
66272         * lib/chown.c (rpl_chown): Return -1 on failure.
66273
66274 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66275
66276         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
66277         Don't check for stddef.h.
66278         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
66279         don't use its results.
66280         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
66281         since we include them unconditionally.  Don't require
66282         AM_STDBOOL_H, since stdbool is a prerequisite.
66283         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
66284         since we assume C89 or better.
66285         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
66286         as we don't use their results.
66287         Don't check for fchdir, memmove, memset, strrchr, as we use
66288         them unconditionally.
66289         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
66290         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
66291
66292 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
66293
66294         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
66295         Include <stddef.h> unconditionally, since we assume C89 now.
66296         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
66297         * lib/fts.c: Include fts_.h first, to check interface.
66298         Do not include intprops.h; no longer needed.
66299         Include cycle-check.h and hash.h, since fts_.h no longer does.
66300         Remove unnecessary casts of closedir to void.
66301         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
66302         decide whether to decrement nlinks.
66303         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
66304         (FTS): Use struct hash_table * instead of Hash_table, so that
66305         we no longer need to include hash.h here.
66306
66307 2005-05-18  Jim Meyering  <jim@meyering.net>
66308
66309         * modules/dirfd (License): Change to LGPL.  Most of the code
66310         is already in the public domain.
66311
66312 2005-05-18  Jim Meyering  <jim@meyering.net>
66313
66314         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
66315         Reported by Yoann Vandoorselaere.
66316
66317 2005-05-17  Jim Meyering  <jim@meyering.net>
66318
66319         * m4/fts.m4: New file, from coreutils.
66320
66321 2005-05-17  Jim Meyering  <jim@meyering.net>
66322
66323         * lib/fts.c, lib/fts_.h: New files, from coreutils.
66324
66325 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66326
66327         Sync from coreutils.
66328         * m4/unlinkdir.m4: New file.
66329
66330 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66331
66332         Sync from coreutils.
66333         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
66334         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
66335         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
66336         White space changes only.
66337         * lib/makepath.c (make_path): Port to hosts where leading "//" is
66338         special.
66339         * lib/yesno.c: Include getline.h, not ctype.h.
66340         (yesno): Don't remove leading white space; POSIX doesn't allow it.
66341         Use getline to remove arbitrary restriction on response length.
66342
66343 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
66344
66345         * config/srclist-update: Spell out "Street" in FSF postal
66346         mail address; this is the style the FSF seems to prefer.
66347
66348         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
66349         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
66350         this updates FSF postal mail address.
66351
66352         Sync from coreutils.
66353         * modules/unlinkdir: New file.
66354         * modules/yesno (Depends-on): Add getline.
66355         * MODULES.html.sh (File system functions): Add unlinkdir.
66356
66357 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66358
66359         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
66360         lib/strsep.h:
66361         Change the initial comment to refer to GPL, not LGPL.
66362         gnulib-tool will change it to LGPL as needed.
66363
66364         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
66365         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
66366         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
66367         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
66368         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
66369         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
66370         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
66371         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
66372         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
66373         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
66374         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
66375         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
66376         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
66377         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
66378         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
66379         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
66380         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
66381         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
66382         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
66383         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
66384         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
66385         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
66386         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
66387         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
66388         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
66389         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
66390         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
66391         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
66392         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
66393         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
66394         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
66395         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
66396         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
66397         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
66398         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
66399         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
66400         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
66401         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
66402         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
66403         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
66404         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
66405         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
66406         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
66407         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
66408         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
66409         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
66410         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
66411         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
66412         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
66413         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
66414         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
66415         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
66416         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
66417         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
66418         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
66419         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
66420         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
66421         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
66422         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
66423         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
66424         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
66425         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
66426         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
66427         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
66428         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
66429         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
66430         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
66431         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
66432         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
66433         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
66434         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
66435         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
66436         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
66437         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
66438         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
66439         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
66440         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
66441         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
66442         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
66443         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
66444         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
66445         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
66446         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
66447         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
66448         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
66449         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
66450         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
66451         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
66452         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
66453         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
66454         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
66455         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
66456         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
66457         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
66458         lib/yesno.c, lib/yesno.h:
66459         Update FSF postal mail address.
66460
66461 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
66462
66463         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
66464         tests/test-memmem.c, tests/test-stpncpy.c:
66465         Update FSF postal mail address.
66466
66467 2005-05-13  Bruno Haible  <bruno@clisp.org>
66468
66469         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
66470         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
66471         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
66472         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
66473         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
66474         Add support for 64-bit integers in the MSVC compiler.
66475
66476 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66477
66478         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
66479
66480 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
66481
66482         * gnulib-tool (func_import): Sort and uniquify recommended includes.
66483
66484 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
66485
66486         * doc/getdate.texi (General date syntax): Don't say that date
66487         date --iso-8601=ns generates acceptable dates; it doesn't yet.
66488         Problem reported by Nic Ferrier.
66489
66490 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66491
66492         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
66493         specified in ai_socktype. Fix invalid ai_protocol
66494         check. ai_protocol is usually set to 0 or depending on
66495         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
66496         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
66497         ai_socktype / ai_protocol in the returned addrinfo structure.
66498
66499 2005-05-10  Simon Josefsson  <jas@extundo.com>
66500
66501         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
66502         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
66503
66504 2005-05-10  Karl Berry  <karl@gnu.org>
66505
66506         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
66507         (from http://www.gnu.org/licenses).
66508         * doc/COPYING.LIB: also rename to COPYING.LESSER.
66509         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
66510         fdl.texi suffices.
66511
66512 2005-05-10  Karl Berry  <karl@gnu.org>
66513
66514         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
66515         (COPYING.DOC): remove.
66516
66517         * config/srclist-update: new FSF address.
66518
66519 2005-05-10  Derek Price  <derek@ximbiot.com>
66520
66521         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
66522         possible.
66523
66524 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66525             Bruno Haible  <bruno@clisp.org>
66526
66527         * modules/inet_ntop: New file.
66528         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66529         inet_ntop.
66530
66531 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66532             Bruno Haible  <bruno@clisp.org>
66533
66534         * m4/inet_ntop.m4: New file.
66535
66536 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66537             Bruno Haible  <bruno@clisp.org>
66538
66539         * lib/inet_ntop.h: New file.
66540         * lib/inet_ntop.c: New file, from glibc with modifications.
66541
66542 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
66543
66544         * modules/time_r (License): Change to LGPL.
66545         * modules/extensions (License): Change to LGPL.  Actually,
66546         the license is more permissive than that, but currently gnulib-tool
66547         doesn't know how to handle more-permissive licenses.
66548
66549         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
66550         Problem reported by Dave Love.
66551
66552 2005-05-08  Jim Meyering  <jim@meyering.net>
66553
66554         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
66555         blank.
66556
66557 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
66558
66559         * modules/argmatch (Depends-on): Add stdbool.
66560         * modules/backupfile (Depends-on): Likewise.
66561         * modules/chdir-long (Depends-on): Likewise.
66562         * modules/closeout (Depends-on): Likewise.
66563         * modules/cycle-check (Depends-on): Likewise.
66564         * modules/dirname (Depends-on): Likewise.
66565         * modules/fnmatch (Depends-on): Likewise.
66566         * modules/fsusage (Depends-on): Likewise.
66567         * modules/fwriteerror (Depends-on): Likewise.
66568         * modules/getcwd (Depends-on): Likewise.
66569         * modules/getloadavg (Depends-on): Likewise.
66570         * modules/hard-locale (Depends-on): Likewise.
66571         * modules/makepath (Depends-on): Likewise.
66572         * modules/mountlist (Depends-on): Likewise.
66573         * modules/nanosleep (Depends-on): Likewise.
66574         * modules/posixtm (Depends-on): Likewise.
66575         * modules/quotearg (Depends-on): Likewise.
66576         * modules/readtokens (Depends-on): Likewise.
66577         * modules/readtokens0 (Depends-on): Likewise.
66578         * modules/readutmp (Depends-on): Likewise.
66579         * modules/save-cwd (Depends-on): Likewise.
66580         * modules/strftime (Depends-on): Likewise.
66581         * modules/userspec (Depends-on): Likewise.
66582         * modules/utimecmp (Depends-on): Likewise.
66583         * modules/xgetcwd (Depends-on): Likewise.
66584         * modules/xnanosleep (Depends-on): Likewise.
66585         * modules/xstrtod (Depends-on): Likewise.
66586         * modules/yesno (Depends-on): Likewise.
66587
66588 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
66589
66590         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
66591         needless checks.
66592
66593 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66594
66595         Merge from coreutils.  Among other things,
66596         add bulletproofing for cases where stdin, stdout, or stderr are closed.
66597         * lib/fd-safer.c: New file.
66598         * lib/fcntl-safer.h, open-safer.c: Remove.
66599         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
66600         * lib/dup-safer.c: Include unistd-safer.h first.
66601         Don't include errno.h.
66602         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
66603         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
66604         * lib/file-type.c: Rely on file-type.h change.
66605         * lib/getloadavg.c: Include unistd-safer.h.
66606         (getloadavg): Use safer open.
66607         * lib/getusershell.c: Include "stdio-safer.h".
66608         (getusershell): Use safer fopen.
66609         * lib/long-options.c (long_options): Use NULL rather than 0.
66610         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
66611         'free'.
66612         * lib/modechange.c: Likewise.
66613         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
66614         (MODE_DONE): New constant.
66615         (struct mode_change): Remove 'next' member.
66616         (make_node_op_equals): New function; like the old one of the
66617         same name, except it allocates an array.
66618         (mode_compile, mode_create_from_ref): Use it.
66619         (mode_compile): Allocate result as an array, not a linked list.
66620         Parse octal string ourself, so that we catch mistakes like "+0".
66621         (mode_adjust): Arg is an array, not a linked list.
66622         * lib/modechange.c: Include stat-macros.h, xalloc.h.
66623         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
66624         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
66625         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
66626         Remove.  This is now stat-macros.h's job.
66627         (talloc): Remove.  All callers replaced by xalloc, so that
66628         our invokers don't have to worry about reporting memory failures.
66629         (make_node_op_equals): Remove.
66630         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
66631         New constants.
66632         (struct mode_change): Moved here from modechange.h.
66633         (mode_append_entry): Remove.
66634         (mode_compile): Remove MASKED_OPS arg, since it encouraged
66635         apps to have incorrect behavior.  Use simpler algorithm for head
66636         and tail.  Don't futz with umask; that's now the job of mode_adjust.
66637         Detect more invalid usages rather than having somewhat-random behavior.
66638         Don't insert an "a=" action, as that leads to incorrect behavior.
66639         (mode_compile, mode_create_from_ref): Return NULL on error instead
66640         of an enum, since now there's only one way to have an error.  All
66641         callers changed.
66642         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
66643         at the correct time.  Simplify calculation of "+u" and its ilk.
66644         Don't mishandle "+X".
66645         (mode_free): Remove "register" and localize decls.
66646         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
66647         (struct mode_change): Move to modechange.c; callers don't
66648         need to see this stuff.
66649         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
66650         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
66651         (mode_change, mode_adjust): Reflect the new signatures noted above.
66652         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
66653         that might redefine system include files.
66654         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
66655         (my_usleep): Use NULL rather than (void *) 0.
66656         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
66657         Use siginterrupt to specify that system calls should be interrupted.
66658         (rpl_nanosleep): Move initialization of suspended closer to call of
66659         my_usleep.
66660         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
66661         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
66662         (desirable_utmp_entry): New function.
66663         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
66664         using x2nrealloc, to simplify logic.
66665         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
66666         size calculation.  Do not assume utmp file is a regular file.
66667         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
66668         (READ_UTMP_CHECK_PIDS): New constant.
66669         * lib/save-cwd.c: Include unistd-safer.h.
66670         (save_cwd): Use fd_safer.
66671         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
66672         [!_LIBC] Include "stat-macros.h" instead.
66673         * lib/unistd-safer.h (fd_safer): New decl.
66674
66675 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66676
66677         * modules/getloadavg (Depends-on): Add unistd-safer.
66678         * modules/getusershell (Depends-on): Add stdio-safer.
66679         * modules/lstat (Depends-on): Remove xalloc.
66680         * modules/mkstemp (Depends-on): Add stat-macros.
66681         * modules/modechange (Depends-on): Remove xstrtol.
66682         Add stat-macros, xalloc.
66683         * modules/save-cwd (Depends-on): Add unistd-safer.
66684         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
66685         * modules/unistd-safer (Files): Add lib/fd-safer.c
66686         (Makefile.am): Remove lib_SOURCES.
66687
66688         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
66689         Remove fcntl-safer; unistd-safer supersedes it.
66690
66691 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66692
66693         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
66694         AC_HEADER_STAT.
66695         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
66696         (gl_PREREQ_CHOWN): Remove.
66697         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
66698         it.  Don't require AC_HEADER_STAT.
66699         (gl_PREREQ_LSTAT): Remove.
66700         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
66701         Don't require AC_HEADER_STAT.
66702         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
66703         (gl_PREREQ_RMDIR): Remove.
66704         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
66705         mention stat-macros.h or AC_HEADER_STAT, since we'll make
66706         the stat-macros module a prerequisite.
66707         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
66708         * m4/filemode.m4 (gl_FILEMODE): Likewise.
66709         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
66710         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
66711         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
66712         variable names.
66713         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
66714         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
66715         variable prefixes.
66716         * m4/fcntl-safer.m4: Remove.
66717         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
66718         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
66719         Invoke gl_PREREQ_FD_SAFER.
66720         (gl_PREREQ_FD_SAFER): New macro.
66721         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
66722         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
66723         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
66724         Remove duplicate call to AC_LIBOBJ(readutmp).
66725         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
66726
66727         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
66728         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
66729
66730 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
66731
66732         * MODULES.html.sh (Misc): Add byteswap.
66733
66734 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66735
66736         * modules/getcwd (Depends-on): Add extensions.
66737         * modules/openat (Depends-on): Likewise.
66738
66739 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66740
66741         * modules/byteswap: New file.
66742
66743 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66744
66745         * m4/byteswap.m4: New file.
66746
66747 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
66748
66749         * lib/byteswap_.h: New file.
66750
66751 2005-04-25  Karl Berry  <karl@gnu.org>
66752
66753         * m4/gettext.m4: Update from GNU gettext 0.14.4.
66754
66755 2005-04-25  Albert Chin  <china@thewrittenword.com>
66756
66757         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
66758         Toolkit C bug.
66759
66760 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
66761
66762         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
66763         (func_ln_if_changed) Remove forcibly for no error message
66764         in case file does not exist.
66765
66766 2005-04-19  Simon Josefsson  <jas@extundo.com>
66767
66768         * gnulib-tool (Options): Make --symlink mean --symbolic.
66769
66770 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
66771
66772         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
66773
66774 2005-04-16  Simon Josefsson  <jas@extundo.com>
66775
66776         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
66777
66778 2005-04-15  Simon Josefsson  <jas@extundo.com>
66779
66780         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
66781
66782 2005-04-15  Simon Josefsson  <jas@extundo.com>
66783
66784         * gnulib-tool: Rename --symlink to --symbolic.
66785
66786 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
66787
66788         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
66789         symbolic links to files instead of copying/moving.  Add --aux-dir,
66790         specifying directory relative --dir where auxiliary build tools
66791         are placed.
66792
66793 2005-04-14  Bruno Haible  <bruno@clisp.org>
66794
66795         * modules/allocsa (License): Change to LGPL.
66796         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
66797
66798 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
66799
66800         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
66801         that "UTC +1 second" continues to work.  Problem reported
66802         by Dmitry V. Levin.
66803         (relunit_snumber): New rule.
66804         (relunit): Use it.
66805
66806 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
66807
66808         * lib/getdate.y (universal_time_zone_table): New constant.
66809         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
66810         universal_time_zone_table.
66811         (lookup_zone): Prefer universal_time_zone_table to
66812         local_time_zone_table, so that "GMT" time stamps are allowed in
66813         London during the summer.  Problem reported by Ian Abbott.
66814
66815 2005-04-12  Jim Meyering  <jim@meyering.net>
66816
66817         * lib/human.c (humblock): Set *options even when returning due to
66818         xstrtoumax conversion failure.  Thanks to a used-uninitialized
66819         warning from gcc-4.
66820
66821 2005-04-09  Jim Meyering  <jim@meyering.net>
66822
66823         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
66824         -Wuninitialized: initialize tm0.tm_year.
66825
66826 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
66827
66828         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
66829         count, since there's no maximum.  All uses changed.
66830         Add member dsts_seen.
66831         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
66832         not being INT_MAX.
66833         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
66834         Use pc_rels_seen to decide whther a date is absolute.
66835
66836         * lib/getdate.y (number): Don't overwrite year.
66837         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
66838         check.
66839
66840 2005-04-02  Simon Josefsson  <jas@extundo.com>
66841
66842         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
66843         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
66844
66845 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
66846
66847         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
66848         where no absolute path name can be longer than PATH_MAX.
66849
66850 2005-03-27  Jim Meyering  <jim@meyering.net>
66851
66852         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
66853
66854 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
66855
66856         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
66857         "one's complement" -> "ones' complement" in comment, as per Knuth.
66858         "value of type" -> "type or expression" in comment.
66859         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
66860
66861 2005-03-26  Jim Meyering  <jim@meyering.net>
66862
66863         Comment nits.
66864         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
66865         Correct typos: s/or/of/.
66866
66867 2005-03-26  Jim Meyering  <jim@meyering.net>
66868
66869         * modules/check-include-files: Move to ../ and rename to...
66870         * check-module: ...this.
66871
66872 2005-03-25  Jim Meyering  <jim@meyering.net>
66873
66874         * modules/xvasprintf (Files): Add xalloc.h.
66875
66876 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
66877
66878         * modules/gettext (Files): config/config.rpath ->
66879         build-aux/config.rpath
66880         * modules/iconv (Files): Likewise.
66881         Problem reported by Oskar Liljeblad.
66882
66883 2005-03-23  Jim Meyering  <jim@meyering.net>
66884
66885         * modules/check-include-files: New script to check for
66886         missing dependencies, multiple includes, etc.
66887
66888         * modules/c-strtold (Depends-on): Add xalloc.
66889         * modules/c-strtod (Depends-on): Add xalloc.
66890         * modules/hash (Depends-on): Add xalloc.
66891         (Files): Remove lib/xalloc.h.
66892
66893         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
66894         * modules/userspec (Files): Add lib/inttostr.h.
66895
66896 2005-03-23  Jim Meyering  <jim@meyering.net>
66897
66898         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
66899
66900 2005-03-22  Jim Meyering  <jim@meyering.net>
66901
66902         * modules/stat-macros: New module.
66903         * modules/canonicalize, modules/euidaccess, modules/file-type,
66904         * modules/filemode, modules/lchown, modules/makepath,
66905         * modules/rmdir, modules/stat: Depend on new stat-macros module
66906         rather than listing lib/stat-macros.h manually.
66907         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
66908
66909 2005-03-22  Jim Meyering  <jim@meyering.net>
66910
66911         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
66912
66913 2005-03-22  Bruno Haible  <bruno@clisp.org>
66914
66915         * config/srclist.txt: Replace target directory 'config' with
66916         'build-aux'.
66917         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
66918         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
66919         ../build-aux/.
66920
66921 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
66922
66923         * modules/chdir-long (Depends-on): Add mempcpy.
66924
66925         * modules/acl, modules/backupfile, modules/c-strtod,
66926         modules/c-strtold, modules/canon-host, modules/canonicalize,
66927         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
66928         modules/exclude, modules/exitfail, modules/file-type,
66929         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
66930         modules/getdate, modules/getline, modules/getpagesize,
66931         modules/getpass, modules/getugroups, modules/group-member,
66932         modules/hard-locale, modules/hash, modules/human, modules/idcache,
66933         modules/inttostr, modules/long-options, modules/makepath,
66934         modules/md5, modules/memcasecmp, modules/memcoll,
66935         modules/modechange, modules/mountlist, modules/path-concat,
66936         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
66937         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
66938         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
66939         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
66940         modules/strftime, modules/strndup, modules/strverscmp,
66941         modules/timespec, modules/unlocked-io, modules/userspec,
66942         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
66943         modules/yesno:
66944         Remove lib_SOURCES line from Makefile.am section, as this is now
66945         done automatically by the corresponding Autoconf macro.
66946
66947 2005-03-21  Jim Meyering  <jim@meyering.net>
66948
66949         Changes imported from coreutils.
66950
66951         * lib/cycle-check.c: Don't include xalloc.h.
66952
66953         * lib/path-concat.c: Don't include assert.h.
66954         (path_concat): Remove assertion that would have triggered
66955         for ABASE starting with more than one slash.
66956         Reported by Andreas Schwab.
66957
66958         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
66959         properly when ABASE is an absolute file name.
66960         Correct the description of this function.
66961         Include <assert.h>.
66962         Add an assertion and a test driver.
66963         This fixes a bug introduced on 2004-07-02.
66964         Andreas Schwab reported the resulting failure of cp --parents:
66965         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
66966
66967 2005-03-21  Jim Meyering  <jim@meyering.net>
66968
66969         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
66970         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
66971
66972 2005-03-21  Jim Meyering  <jim@meyering.net>
66973         and  Paul Eggert  <eggert@cs.ucla.edu>
66974
66975         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
66976         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
66977         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
66978         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
66979         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
66980         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
66981         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
66982         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
66983         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
66984         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
66985         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
66986         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
66987         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
66988         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
66989         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
66990         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
66991         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
66992         for these modules.
66993
66994 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
66995
66996         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
66997         (which shouldn't happen), generate nothing instead of returning 0
66998         immediately, so that nstrftime (NULL, ...) doesn't return 0.
66999
67000 2005-03-16  Bruno Haible  <bruno@clisp.org>
67001
67002         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
67003         HAVE_LONGLONG_64BIT.
67004
67005 2005-03-16  Bruno Haible  <bruno@clisp.org>
67006
67007         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
67008         HAVE_LONGLONG_64BIT.
67009
67010 2005-03-16  Bruno Haible  <bruno@clisp.org>
67011
67012         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
67013         HAVE_LONGLONG_64BIT.
67014
67015 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67016
67017         * lib/strftime.c (my_strftime): Prepend space to format so that we can
67018         reliably distinguish strftime failure from empty output on POSIX
67019         hosts.
67020
67021 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67022
67023         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
67024         (iconv_string): Don't guess a size-zero buffer, as that might cause
67025         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
67026         result would be 'too large', where 'too large' is (heuristically)
67027         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
67028         overflow concerns.  This will prevent some unwanted malloc failures
67029         when the inputs are very large.
67030
67031 2005-03-15  Karl Berry  <karl@gnu.org>
67032
67033         * config/srclist.txt (config.rpath): from gettext.
67034         * config/config.rpath: update.
67035
67036 2005-03-15  Bruno Haible  <bruno@clisp.org>
67037
67038         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
67039         to 'negate'.
67040
67041         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
67042         variable.
67043
67044         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
67045         results.
67046
67047 2005-03-14  Simon Josefsson  <jas@extundo.com>
67048
67049         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
67050         <fx@gnu.org>.
67051
67052 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
67053
67054         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
67055         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
67056         intprops.h.
67057         * lib/strtol.c: Likewise.
67058
67059 2005-03-14  Jim Meyering  <jim@meyering.net>
67060
67061         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
67062         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
67063         to be nonzero so that we (and caller) can detect the difference
67064         between a valid zero-length expansion and an error return, even
67065         when the underlying strftime fails before writing anything into
67066         that location.
67067
67068 2005-03-14  Bruno Haible  <bruno@clisp.org>
67069
67070         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
67071         Update from GNU gettext 0.14.3.
67072
67073 2005-03-10  Jim Meyering  <jim@meyering.net>
67074
67075         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
67076
67077 2005-03-10  Jim Meyering  <jim@meyering.net>
67078
67079         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
67080         so that this module works on systems without fchdir.
67081
67082 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
67083
67084         Factor int-properties macros into a single file, except for
67085         glibc-related files.
67086         * lib/intprops.h: New file.
67087         * lib/getloadavg.c: Include it instead of limits.h.
67088         (INT_STRLEN_BOUND): Remove.
67089         * lib/human.c: Include intprops.h.
67090         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
67091         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
67092         302/1000.
67093         * lib/inttostr.h: Include intprops.h instead of limits.h.
67094         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
67095         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
67096         for consistency with intprops.h.
67097         (time_t_is_integer, twos_complement_arithmetic): Use them.
67098         * lib/sig2str.h: Include <signal.h>, intprops.h.
67099         (INT_STRLEN_BOUND): Remove.
67100         * lib/strftime.c (TYPE_SIGNED): Remove.
67101         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
67102         * lib/strtol.c: Adjust comments to match intprops.h.
67103         * lib/userspec.c: Include intprops.h.
67104         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
67105         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
67106         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
67107         instead of rolling our own expressions.
67108         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
67109
67110         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
67111         instead of int.
67112         (my_strftime): Do not mishandle years close to INT_MAX, by doing
67113         the right thing even if adding 1900 would overflow.  Similarly
67114         for tm_mon + 1 and tm_yday + 1.
67115         Make %Y always equivalent to %C%y, and similarly for %G and %g.
67116         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
67117         (DO_SIGNED_NUMBER): New macro.
67118         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
67119
67120 2005-03-07  Bruno Haible  <bruno@clisp.org>
67121
67122         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
67123
67124 2005-03-07  Bruno Haible  <bruno@clisp.org>
67125
67126         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
67127
67128 2005-03-04  Derek R. Price  <derek@ximbiot.com>
67129
67130         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
67131         (func_import): Only replace files via --import when they have actually
67132         changed.
67133
67134 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67135
67136         * m4/mmap-anon.m4: New file.
67137         * m4/pagealign_alloc.m4: New file.
67138
67139 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67140             Bruno Haible  <bruno@clisp.org>
67141
67142         * modules/pagealign_alloc: New file.
67143         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
67144
67145 2005-03-03  Derek R. Price  <derek@ximbiot.com>
67146             Bruno Haible  <bruno@clisp.org>
67147
67148         * lib/pagealign_alloc.h: New file.
67149         * lib/pagealign_alloc.c: New file.
67150
67151 2005-03-03  Bruno Haible  <bruno@clisp.org>
67152
67153         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
67154         Use an all-permissive copyright notice, recommended by RMS.
67155
67156 2005-03-02  Bruno Haible  <bruno@clisp.org>
67157
67158         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
67159         of AIX, the replacement has to be done only after <string.h> is
67160         included, therefore not in config.h. stpncpy.h does the replacement,
67161         and stpncpy.c uses it.
67162
67163 2005-03-02  Bruno Haible  <bruno@clisp.org>
67164
67165         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
67166         stpncpy.c uses it.
67167
67168 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67169
67170         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
67171         The workaround isn't strictly needed for POSIX conformance, and
67172         it's too much of a pain to configure and maintain.  We'll ask
67173         people to fix their kernels instead.
67174         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
67175         (NANOSLEEP_BUG_WORKAROUND): Remove.
67176         (xnanosleep): Remove the workaround.
67177
67178 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67179
67180         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
67181         Reported by Derek Price.
67182         (Include): Add "timespec.h".
67183
67184         * modules/xnanosleep (Depends-on): Remove gethrxtime.
67185
67186 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
67187
67188         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
67189         to detect nanosleep bug.
67190
67191 2005-03-01  Bruno Haible  <bruno@clisp.org>
67192
67193         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
67194
67195 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
67196
67197         * modules/gethrxtime: New file.
67198         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
67199         (Depends-on): Add gethrxtime.
67200         (configure.ac): Add gl_XNANOSLEEP.
67201         (Makefile.am): Remove lib_SOURCES line.
67202
67203 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67204
67205         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
67206         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
67207
67208 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
67209
67210         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
67211         * lib/timespec.h (gettime): Return void, since it always
67212         succeeds now.  All uses changed.
67213         * lib/gettime.c (gettime) Likewise.
67214         [HAVE_NANOTIME]: Prefer nanotime.
67215         Assume gettimeofday succeeds, as POSIX requires.
67216         Assime time () succeeds, since other code already does.
67217         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
67218         (timespec_subtract): Remove.
67219         (NANOSLEEP_BUG_WORKAROUND): New constant.
67220         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
67221         things considerably.  Use it only on GNU/Linux hosts, since the
67222         workaround shouldn't be needed elsewhere.
67223
67224 2005-02-24  Bruno Haible  <bruno@clisp.org>
67225
67226         * modules/gettext (Files): Add m4/glibc2.m4.
67227
67228 2005-02-24  Bruno Haible  <bruno@clisp.org>
67229
67230         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
67231         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
67232         * m4/progtest.m4:
67233         Update from GNU gettext 0.14.2.
67234         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
67235
67236 2005-02-24  Bruno Haible  <bruno@clisp.org>
67237
67238         * lib/localcharset.c: Update from GNU gettext 0.14.2.
67239         * lib/config.charset: Update from GNU gettext 0.14.2.
67240
67241 2005-02-24  Bruno Haible  <bruno@clisp.org>
67242
67243         * lib/gettext.h: Update from GNU gettext 0.14.2.
67244
67245 2005-02-23  Simon Josefsson  <jas@extundo.com>
67246
67247         * m4/iconvme.m4: New file.
67248
67249 2005-02-23  Jim Meyering  <jim@meyering.net>
67250
67251         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
67252         change.
67253         Thanks to Bruno Haible for catching it.
67254
67255 2005-02-22  Simon Josefsson  <jas@extundo.com>
67256
67257         * modules/iconvme: New file.
67258
67259         * MODULES.html.sh: Add iconvme.
67260
67261 2005-02-22  Simon Josefsson  <jas@extundo.com>
67262
67263         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
67264
67265 2005-02-22  Simon Josefsson  <jas@extundo.com>
67266
67267         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
67268
67269 2005-02-22  Jim Meyering  <jim@meyering.net>
67270
67271         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
67272         s/ifndef/ifdef/.
67273
67274 2005-02-20  Neil Conway  <neilc@samurai.com>
67275
67276         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
67277         returned by OSX/Darwin if the specified buffer is not large
67278         enough for the hostname.
67279
67280 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67281
67282         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
67283         pass it to _help, otherwise the latter coredumps trying to
67284         dereference state.root_argp.
67285
67286 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67287
67288         * modules/chdir-long (Depends-on): Add memrchr.
67289         * modules/memrchr (Files): Add lib/memrchr.h.
67290         (Include): "memrchr.h".
67291
67292 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67293
67294         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
67295
67296 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67297
67298         * lib/memrchr.h: New file.
67299         * lib/chdir-long.c: Include it.
67300         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
67301         Don't bother including stddef.h.
67302
67303 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67304
67305         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
67306         inclusion.
67307         Include <sys/types.h>, for dev_t.
67308         (ME_DUMMY, ME_REMOTE): Move from here....
67309         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
67310         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
67311         Dmitry V. Levin.
67312         Include mountlist.h first, to test the interface.
67313
67314 2005-01-29  Bruno Haible  <bruno@clisp.org>
67315
67316         * lib/progname.c (program_name): Initialize.
67317         Needed when linking statically on MacOS X.
67318
67319 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67320
67321         Sync from coreutils.
67322         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
67323         (Depends-on): Add c-strtod.
67324         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
67325
67326 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67327
67328         Sync from coreutils.
67329         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
67330
67331         Remove files that are specific to coreutils.
67332         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
67333
67334 2005-01-28  Bruno Haible  <bruno@clisp.org>
67335
67336         * modules/javacomp: New file.
67337         * MODULES.html.sh (Java): Add javacomp.
67338
67339 2005-01-28  Bruno Haible  <bruno@clisp.org>
67340
67341         * m4/javacomp.m4: New file, from GNU gettext.
67342
67343 2005-01-28  Bruno Haible  <bruno@clisp.org>
67344
67345         * lib/javacomp.sh.in: New file, from GNU gettext.
67346         * lib/javacomp.h: New file, from GNU gettext.
67347         * lib/javacomp.c: New file, from GNU gettext.
67348
67349 2005-01-26  Simon Josefsson  <jas@extundo.com>
67350
67351         * lib/gai_strerror.c: Use GPL in header.
67352
67353 2005-01-26  Bruno Haible  <bruno@clisp.org>
67354
67355         * modules/javaexec: New file.
67356         * MODULES.html.sh (Java): Add javaexec.
67357
67358 2005-01-26  Bruno Haible  <bruno@clisp.org>
67359
67360         * m4/javaexec.m4: New file, from GNU gettext.
67361
67362 2005-01-26  Bruno Haible  <bruno@clisp.org>
67363
67364         * lib/javaexec.sh.in: New file, from GNU gettext.
67365         * lib/javaexec.h: New file, from GNU gettext.
67366         * lib/javaexec.c: New file, from GNU gettext.
67367
67368 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67369
67370         * modules/lchown (Depends-on): Remove lchown.h
67371
67372 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67373
67374         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
67375         must be defined if the header file was not found, in order
67376         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
67377
67378 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67379
67380         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
67381         initializers for struct pentry_state.
67382         (__argp_error): Check return value of __asprintf
67383         (__argp_failure): Translate error message
67384
67385         * lib/argp-parse.c: Removed braces around the expansion of N_()
67386
67387 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
67388
67389         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
67390         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
67391         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
67392         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
67393         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
67394         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
67395         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
67396         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
67397         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
67398         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
67399         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
67400         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
67401         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
67402         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
67403         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
67404         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
67405         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
67406         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
67407         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
67408         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
67409         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
67410         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
67411         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
67412         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
67413         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
67414         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
67415         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
67416         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
67417         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
67418         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
67419         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
67420         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
67421         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
67422         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
67423         xstrtol.m4, xstrtoumax.m4, yesno.m4:
67424         Use an all-permissive copyright notice, recommended by RMS.
67425
67426 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
67427
67428         * modules/chdir-long (Depends-on): Remove mempcpy.
67429
67430 2005-01-21  Jim Meyering  <jim@meyering.net>
67431
67432         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
67433         same value as for Solaris 9.
67434
67435         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
67436         component length.  This included changing the parameter to be
67437         of type `char *' rather than `char const *'.
67438         * lib/chdir-long.h (chdir_long): Update prototype.
67439
67440         * lib/openat.c (fdopendir, fstatat): New functions.
67441         * lib/openat.h: Include headers required for use of DIR and struct
67442         stat.
67443         [AT_SYMLINK_NOFOLLOW]: Define.
67444         (fdopendir, fstatat): Add prototypes.
67445
67446 2005-01-21  Bruno Haible  <bruno@clisp.org>
67447
67448         * modules/classpath: New file.
67449         * MODULES.html.sh (Java): Add classpath.
67450
67451 2005-01-21  Bruno Haible  <bruno@clisp.org>
67452
67453         * lib/classpath.h: New file, from GNU gettext.
67454         * lib/classpath.c: New file, from GNU gettext.
67455
67456 2005-01-20  Simon Josefsson  <jas@extundo.com>
67457
67458         * modules/version-etc-fsf: New file.
67459
67460 2005-01-20  Simon Josefsson  <jas@extundo.com>
67461
67462         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
67463         * lib/version-etc.c: Remove version_etc_copyright.
67464         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
67465         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
67466
67467 2005-01-20  Simon Josefsson  <jas@extundo.com>
67468
67469         * lib/base64.h (isbase64): Add.
67470
67471         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
67472         using a unsigned prototype, don't inline.
67473         (base64_decode): Use it.
67474
67475 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67476
67477         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
67478         it.
67479
67480 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67481
67482         * lib/save-cwd.c (save_cwd): Remove code to support the case
67483         where fchdir is missing or flaky.
67484
67485 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
67486
67487         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
67488
67489 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
67490
67491         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
67492         AC_LIBSOURCES now does this.
67493         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
67494         with new ullong_max module.
67495
67496 2005-01-19  Bruno Haible  <bruno@clisp.org>
67497
67498         * modules/sh-quote: New file.
67499         * MODULES.html.sh (Executing programs): Add sh-quote.
67500
67501 2005-01-19  Bruno Haible  <bruno@clisp.org>
67502
67503         * lib/sh-quote.h: New file, from GNU gettext.
67504         * lib/sh-quote.c: New file, from GNU gettext.
67505
67506 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67507
67508         Merge from coreutils.
67509         * m4/ullong_max.m4: New file.
67510         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
67511         (gl_MACROS): Assume localeconv exists.
67512
67513 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67514
67515         Merge changes from coreutils, as described below in several
67516         changelogs dated today.
67517
67518         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
67519         (O_DIRECTORY): Remove; not needed here, since "." must be
67520         a directory.  All uses removed.
67521         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
67522         universal on Suns, and we also need to test for IRIX.
67523         Revamp code to use 'if' rather than '#if'.
67524         Avoid unnecessary comparison of cwd->desc to 0.
67525
67526         * lib/utimens.c (futimens): Robustify the previous patch, by checking
67527         for known valid error numbers rather than observed invalid ones.
67528
67529 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
67530
67531         * modules/ullong_max: New file.
67532
67533         * modules/chdir-long, modules/openat: New files.
67534         * modules/save-cwd (Depends-on): Depend on chdir-long.
67535         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
67536
67537 2005-01-18  Jim Meyering  <jim@meyering.net>
67538
67539         Merge from coreutils.
67540         * m4/chdir-long.m4, m4/openat.m4: New files.
67541         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
67542         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
67543         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
67544         is sane and DOES follow symlinks.  Besides, testing 20 different
67545         systems found no broken chown implementations.
67546         Prompted by a change in rsync's copy of this macro.
67547         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
67548
67549         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
67550
67551         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
67552         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
67553         NULL-means-set-to-current-time semantics.
67554         Remove temporary file immediately, rather than waiting
67555         for configure's at-exit trap code to do it.
67556
67557 2005-01-18  Jim Meyering  <jim@meyering.net>
67558
67559         * lib/version-etc.c (version_etc_copyright): Update copyright date.
67560
67561         * lib/utimens.c (futimens): Account for the fact that futimes
67562         can also fail with errno == ENOSYS or errno == ENOENT.
67563         Patch from Dmitry V. Levin.
67564
67565         Change the name of the robust chdir function from chdir to chdir_long.
67566         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
67567         (restore_cwd): Use chdir_long, not chdir.
67568         * lib/chdir-long.c: Renamed from chdir.c.
67569         * lib/chdir-long.h: Renamed from chdir.h.
67570         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
67571         Hurd.
67572
67573 2005-01-18  Bruno Haible  <bruno@clisp.org>
67574
67575         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
67576         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
67577         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
67578         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
67579         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
67580         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
67581         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
67582         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
67583         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
67584         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
67585         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
67586         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
67587         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
67588         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
67589         Use an all-permissive copyright notice, recommended by RMS.
67590
67591 2005-01-18  Bob Proulx  <bob@proulx.com>
67592
67593         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
67594         simplify offsetof() macro construct to avoid compile failure with
67595         native HP-UX 11.0 ANSI C compiler.
67596
67597 2005-01-17  Bruno Haible  <bruno@clisp.org>
67598
67599         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
67600         redundant because stpncpy.m4 takes care of it.
67601
67602 2005-01-17  Bruno Haible  <bruno@clisp.org>
67603
67604         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
67605
67606 2005-01-17  Bruno Haible  <bruno@clisp.org>
67607
67608         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
67609         used.
67610
67611 2005-01-17  Bruno Haible  <bruno@clisp.org>
67612
67613         * lib/fwriteerror.h (fwriteerror): Change specification to include
67614         fclose.
67615         * lib/fwriteerror.c: Include <stdbool.h>.
67616         (fwriteerror): At the end, close the file stream. Record whether
67617         stdout was already closed.
67618
67619 2005-01-17  Bruno Haible  <bruno@clisp.org>
67620
67621         * lib/execute.c (environ): Declare if needed.
67622         * lib/pipe.c (environ): Likewise.
67623         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
67624
67625 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67626
67627         * modules/argp: Depend on vsnprintf
67628
67629 2005-01-10  Jim Meyering  <jim@meyering.net>
67630
67631         * modules/closeout (Depends-on): Add atexit.
67632
67633 2005-01-06  Bruno Haible  <bruno@clisp.org>
67634
67635         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
67636
67637 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
67638
67639         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
67640         definitions to be after all include files, to avoid collisions.
67641         Problem reported by Bob Proulx.
67642
67643 2005-01-04  Jim Meyering  <jim@meyering.net>
67644
67645         Changes imported from coreutils.
67646         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
67647         as the mkstemp template, use a temporary directory and an
67648         8.3-friendly template to avoid trouble on systems like DJGPP.
67649         Reported by Juan M. Guerrero via Stepan Kasal.
67650         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
67651         close. Remove the temporary directory right away, rather than waiting
67652         for configure's at-exit trap code to do it.
67653         Suggestion from Stepan Kasal.
67654
67655 2005-01-01  Simon Josefsson  <jas@extundo.com>
67656
67657         * gnulib-tool: Print #include directives when --import'ing.
67658
67659 2004-12-28  Simon Josefsson  <jas@extundo.com>
67660
67661         * tests/test-base64.c: Include required header files.  Remove
67662         unused variables.
67663
67664 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67665
67666         * modules/error (Depends-on): Remove gettext.
67667
67668 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
67669
67670         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
67671         not needed.  This removes a dependency on the gettext module.
67672         [defined _LIBC]: Do not include <libintl.h>; not needed.
67673
67674 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
67675
67676         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
67677         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
67678
67679 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
67680
67681         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
67682         HAVE_DECL_STRTOLD.
67683
67684 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67685
67686         * modules/getdate (Depends-on): Remove alloca-opt.
67687
67688 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67689
67690         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
67691
67692 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
67693
67694         * lib/argp-parse.c: Include <stddef.h>.
67695         (alignof, alignto): New macros.
67696         (parser_init): Don't assume that void * is aligned sufficiently
67697         for struct option.
67698
67699         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
67700         need to extend the stack.
67701         (YYINITDEPTH): New macro, so that the initial stack isn't overly
67702         large.
67703
67704 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67705
67706         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
67707
67708 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67709
67710         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
67711         (2004-10-24) change.  Apparently this was a false alarm.
67712
67713         * modules/getdate: Depend on alloca-opt, not alloca.
67714
67715 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
67716
67717         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
67718         Remove now-obsolete comment about AIX.
67719         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
67720         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
67721         (YYMAXDEPTH): New macro.
67722
67723 2004-12-18  Simon Josefsson  <jas@extundo.com>
67724
67725         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
67726
67727 2004-12-18  Bruno Haible  <bruno@clisp.org>
67728
67729         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
67730
67731 2004-12-18  Bruno Haible  <bruno@clisp.org>
67732
67733         * lib/fatal-signal.c (fatal_signals): Make non-const.
67734         (init_fatal_signals): New function.
67735         (uninstall_handlers, install_handlers): Ignore signals that were set to
67736         SIG_IGN.
67737         (at_fatal_signal): Call init_fatal_signals.
67738         (init_fatal_signal_set): Likewise. Ignore signals that were set to
67739         SIG_IGN.
67740         Reported by Paul Eggert.
67741
67742 2004-12-18  Bruno Haible  <bruno@clisp.org>
67743
67744         * doc/alloca.texi: New file.
67745         * doc/alloca-opt.texi: New file.
67746
67747 2004-12-17  Jim Meyering  <jim@meyering.net>
67748
67749         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
67750         Otherwise, install-sh could exit with improper exit status when
67751         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
67752
67753 2004-12-16  Simon Josefsson  <jas@extundo.com>
67754
67755         * tests/test-base64.c: Add license.
67756
67757 2004-12-15  Stepan Kasal  <address@hidden>
67758
67759         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
67760
67761 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
67762
67763         * modules/getcwd (Files): Add m4/d-ino.m4.
67764         Suggested by Mark D. Baushke.
67765
67766 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67767
67768         * lib/getdate.y (textint): New member "negative".
67769         (time_zone_hhmm): New function.
67770         Expect 14 shift-reduce conflicts, not 13.
67771         (o_colon_minutes): New rule.
67772         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
67773         (yylex): Set the "negative" member of signed numbers.
67774
67775 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
67776
67777         * doc/getdate.texi (Time of day items, Time zone items):
67778         Describe new formats +00:00, UTC+00:00.
67779
67780 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
67781
67782         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
67783         spurious "-l"s.  Problem reported by Stepan Kasal.
67784
67785 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
67786
67787         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
67788         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
67789
67790 2004-12-04  Simon Josefsson  <jas@extundo.com>
67791
67792         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
67793         Vandoorselaere <yoann@prelude-ids.org>.
67794
67795 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67796
67797         Changes imported from coreutils.
67798         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
67799         exist.
67800         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
67801
67802 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67803
67804         Changes imported from coreutils.
67805         * lib/hard-locale.c: Assume <locale.h> exists.
67806         Include "strdup.h".
67807         (GLIBC_VERSION): New macro.
67808         (hard_locale): Assume setlocale exists.
67809         Rewrite to avoid #ifdef.
67810         Use strdup rather than malloc + strcpy.
67811         * lib/human.c: Assume <locale.h> exists.
67812         (human_readable): Assume localeconv exists.
67813
67814 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
67815
67816         * modules/hard-locale (Depends-on): Add strdup.
67817
67818 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
67819
67820         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
67821         convert T2, not T.  (Imported from libc.)
67822
67823 2004-11-30  Simon Josefsson  <jas@extundo.com>
67824
67825         * modules/restrict (License): Change to LGPL.
67826
67827 2004-11-30  Simon Josefsson  <jas@extundo.com>
67828
67829         * m4/restrict.m4: Add copyright and copying conditions.
67830
67831 2004-11-30  Simon Josefsson  <jas@extundo.com>
67832
67833         * m4/base64.m4: New file.
67834
67835 2004-11-30  Simon Josefsson  <jas@extundo.com>
67836
67837         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
67838         base64.
67839
67840         * tests/test-base64.c: New file.
67841
67842         * modules/base64: New file.
67843
67844 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67845
67846         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
67847         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
67848
67849         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
67850
67851 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
67852
67853         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
67854         (__getcwd.c): Don't restore errno; glibc doesn't.
67855         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
67856         first, falling back to our code only if its results look suspicious.
67857         Ensure that the resulting buffer is only as large as necessary.
67858
67859         * lib/readutmp.c: Include readutmp.h first.
67860         Include <errno.h>, since readutmp.h no longer does that.
67861         * lib/readutmp.h: Don't include <errno.h>,
67862         <sys/param.h>, <time.h>; not needed to establish interface.
67863         (errno): Remove decl.
67864         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
67865         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
67866         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
67867
67868 2004-11-28  Simon Josefsson  <jas@extundo.com>
67869
67870         * lib/base64.h, base64.c: New file.
67871
67872 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
67873
67874         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
67875
67876 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
67877
67878         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
67879         (Depends-on): Remove pathmax, same.  Add mempcpy.
67880         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
67881         (Makefile.am): Append getcwd.h to lib_SOURCES.
67882         (Include): Add getcwd.h.
67883         (Maintainer): Change from Jim Meyering to "all, glibc",
67884         since getdate now uses intended-for-glibc code.
67885         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
67886         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
67887
67888 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67889
67890         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
67891         HP's ANSI C compiler.
67892         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
67893         Declaring int functions causes warnings on some modern systems and
67894         shouldn't be needed to compile on ancient ones.
67895         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
67896         defined.
67897
67898         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
67899         with the following changes.
67900         (__set_errno): Parenthesize properly.
67901         Include <stdbool.h>.
67902         (MIN, MAX, MATCHING_INO): New macros.
67903         (__getcwd): Define with prototype, not K&R form.
67904         Use heuristics to allocate default buffer on stack if possible.
67905         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
67906         behavior, and to avoid the PATH_MAX limit when computing
67907         ../../../../...
67908         Use MATCHING_INO to compare inode number to file.
67909         Check for arithmetic overflow in size calculations.
67910         Fix bug in reallocation of dot array that caused getcwd to fail
67911         on directories nested deeper than 75.
67912         Be more careful about saving errno on error.
67913         Do not use realloc; use only free+malloc, as this is a bit
67914         more flexible and avoids a needless copy operation.
67915         Do not inspect st_dev and st_ino for symbolic links; POSIX
67916         doesn't specify the latter.
67917         Check for closedir errors.
67918         Avoid needless casts.
67919         Use "#ifdef weak_alias" around weak_alias, to be like other
67920         glibc code.
67921         The following changes to getcwd.c have effect only when used in
67922         gnulib; they have no effect inside glibc proper.
67923         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
67924         as alloca isn't used.
67925         (alloca, __alloca): Likewise.
67926         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
67927         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
67928         unconditionally, as gnulib assumes C89 or better.
67929         Do not include <sys/param.h>.
67930         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
67931         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
67932         better.
67933         (NULL) [!defined NULL]: Remove; we assume C89 or better.
67934         Include <dirent.h> in a way that is compatible with modern Autoconf.
67935         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
67936         New macros, if not already defined.
67937         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
67938         Use "_LIBC", not "defined _LIBC", for consistency.
67939         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
67940         a mempcpy module.
67941         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
67942         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
67943         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
67944         credit only to Jim Meyering and adjust the copyright dates.
67945         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
67946         <stdlib.h>, <unistd.h>, "pathmax.h".
67947         Instead, include "xgetcwd.h" (first) and "getcwd.h".
67948         (INITIAL_BUFFER_SIZE): Remove.
67949         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
67950
67951 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
67952
67953         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
67954         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
67955         Use the _ONCE methods, for efficiency.
67956         Check for fcntl.h.  In test program, include <errno.h>
67957         and <fcntl.h> if available.  Remove old K&R cruft from
67958         test program.  Check for common errors in GNU/Linux,
67959         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
67960         don't do AC_LIBOBJ, as that's getcwd.m4's job.
67961         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
67962         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
67963         name accordingly.
67964         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
67965         accommodate new getcwd.c.
67966         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
67967         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
67968         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
67969         that's all we need now.
67970
67971 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67972
67973         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
67974         argp-parse.c depends on getopt internals, that means we should
67975         always use our getopt, to be on the safe side.
67976         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
67977         order not to spoil the result of an eventual previous invocation
67978         of gl_GETOPT_SUBSTITUTE.
67979
67980 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67981
67982         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
67983         redefinition warnings. To avoid them, include the defines
67984         in `#if !defined __need_getopt ... #endif'. The only place
67985         where __getopt_argv_const is used is in definitions
67986         of getopt_long and getopt_long_only below, which are as well
67987         protected by `#ifndef __need_getopt'.
67988         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
67989         __need_getopt after including <stdio.h> and <unistd.h> These
67990         headers might have defined it.
67991
67992 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67993
67994         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
67995
67996 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
67997
67998         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
67999         (futimens): New function, which uses futimes if available.
68000         (futimens, utimens): Support timespec==NULL, with same semantics
68001         as utime and utimens.
68002         * lib/utimens.h (futimens): New decl.
68003
68004 2004-11-23  Jim Meyering  <jim@meyering.net>
68005
68006         * lib/getopt_.h: Remove trailing blanks.
68007
68008 2004-11-23  Jim Meyering  <jim@meyering.net>
68009
68010         * lib/__fpending.c: Add comment.
68011
68012 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
68013
68014         * modules/canonicalize (Depends-on): Add xreadlink.
68015         Problem reported by James Youngman.
68016
68017 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68018
68019         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
68020         New macros.
68021         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
68022         optopt): Use them instead of invoking ## directly; otherwise, the
68023         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
68024
68025 2004-11-19  Bruno Haible  <bruno@clisp.org>
68026
68027         * lib/strtok_r.c: Move comments from here...
68028         * lib/strtok_r.h: ... to here.
68029
68030 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68031
68032         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
68033         implementations that mishandle size_t overflow.
68034
68035 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68036
68037         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
68038         might fail.  Problem reported by Yoann Vandoorselaere.
68039         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
68040         implementations that mishandle size_t overflow.
68041
68042 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68043
68044         * modules/canon-host (Depends-on): Add strdup.
68045
68046 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68047
68048         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
68049
68050 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68051
68052         * lib/canon-host.c: Include "strdup.h".
68053         (canon_host): Use getaddrinfo if available, so that IPv6 works.
68054         Use strdup instead of malloc/strcpy to duplicate strings.
68055
68056         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
68057         (human_space_before_unit): New constant.
68058         * lib/human.c (human_readable): Support it.
68059
68060         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
68061         (xgetcwd): Set errno correctly when failing.
68062         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
68063         the failure is actually due to a PATH_MAX problem.
68064
68065         Further getopt changes to make it more likely that glibc will
68066         buy the changes back.
68067         * lib/getopt.c (POSIXLY_CORRECT): New constant.
68068         (getopt): Use it, so to preserve glibc semantic
68069         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
68070         when compiling for libc.
68071         * lib/getopt_.h (__getopt_argv_const): Bring it back.
68072         (getopt_long, getopt_long_only): Use it.
68073
68074         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68075         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
68076         (getopt): Argv is now char * const *, as per standard.
68077         (_getopt_internal_r, _getopt_internal): Argv is now char **,
68078         not char *__getopt_argv_const *.
68079         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68080         _getopt_long_only_r): Likewise.
68081         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
68082         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68083         _getopt_long_r, _getopt_long_only_r): Likewise.
68084         * lib/getopt_.h (__getopt_argv_const): Remove.
68085         (getopt): Argv is now char * const *, as per standard.
68086
68087         * lib/getdate.y (tORDINAL): New token.
68088         (day, relunit): Allow it for relative times.
68089         (relative_time_table): Use tORDINAL for ordinals.
68090
68091 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
68092
68093         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
68094         Document that "second" isn't allowed as an ordinal number.
68095
68096 2004-11-16  Jim Meyering  <jim@meyering.net>
68097
68098         * modules/closeout (Depends-on): Add fpending.
68099
68100 2004-11-15  Jim Meyering  <jim@meyering.net>
68101
68102         * lib/closeout.c: Include "__fpending.h" once again.
68103         Include <stdbool.h>.
68104         (close_stdout): Don't fail just because stdout was closed initially,
68105         since some programs don't write to stdout in the normal course of
68106         operation (other than --version and --help), and we don't want this
68107         function to make e.g. `touch file >&-' fail.
68108         But do fail if it was closed and someone has tried to write to it.
68109         E.g., `printf foo >&-' must fail.
68110
68111 2004-11-13  Jim Meyering  <jim@meyering.net>
68112
68113         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
68114
68115 2004-11-12  Simon Josefsson  <jas@extundo.com>
68116
68117         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
68118         small doc fix is still pending.
68119
68120 2004-11-11  Simon Josefsson  <jas@extundo.com>
68121
68122         * modules/strtok_r: New file.
68123
68124         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68125         strtok_r.
68126
68127 2004-11-11  Simon Josefsson  <jas@extundo.com>
68128
68129         * m4/strtok_r.m4: New file.
68130
68131         * m4/getopt.m4: Replace opterr.
68132
68133 2004-11-11  Simon Josefsson  <jas@extundo.com>
68134
68135         * lib/strtok_r.h, strtok_r.c: New file.
68136
68137 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68138
68139         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
68140         of replacing opterr, getopt, etc.  This should handle the
68141         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
68142
68143 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
68144
68145         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
68146         we can stop lying to compilers about the constness of argv when we
68147         are compiled outside glibc.
68148         (getopt, getopt_long, getopt_long_only): Use it.
68149         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
68150         _getopt_internal, getopt): Likewise.
68151         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
68152         _getopt_long_only_r): Likewise.
68153         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
68154         _getopt_long_r, _getopt_long_only_r): Likewise.
68155
68156         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
68157         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
68158         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
68159         the other external symbols.
68160         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
68161         declaration, since the above renaming now works around collisions.
68162
68163 2004-11-11  Jim Meyering  <jim@meyering.net>
68164
68165         * lib/linebreak.c: Remove trailing blanks.
68166         * lib/alloca_.h: Likewise.
68167         * lib/acosl.c: Likewise.
68168         * lib/euidaccess.c: Likewise.
68169         * lib/allocsa.h: Likewise.
68170
68171 2004-11-10  Simon Josefsson  <jas@extundo.com>
68172
68173         * m4/getaddrinfo.m4: New file.
68174
68175 2004-11-10  Simon Josefsson  <jas@extundo.com>
68176
68177         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
68178
68179 2004-11-10  Simon Josefsson  <jas@extundo.com>
68180
68181         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
68182         getaddrinfo.
68183
68184         * modules/getaddrinfo: New file.
68185
68186 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68187
68188         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
68189
68190 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
68191
68192         * lib/mktime.c (SHR): New macro, which is a portable
68193         substitute for >> that should work even on Crays.
68194         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
68195         Problem reported by Mark D. Baushke in
68196         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
68197         * lib/getdate.y (SHR): Likewise.
68198         (tm_diff): Use it.
68199         * lib/strftime.c (SHR): Likewise.
68200         (tm_diff): Use it.
68201         * lib/quotearg.c (struct quoting_options): Use unsigned int for
68202         quote_these_too, so that right shifts are well defined.  All uses
68203         changed.
68204
68205 2004-11-10  Jim Meyering  <jim@meyering.net>
68206
68207         Ensure that no close failure goes unreported.
68208         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
68209         return early when it seems there's nothing to flush.
68210         Don't include __fpending.h.
68211
68212 2004-11-10  Jim Meyering  <jim@meyering.net>
68213
68214         * modules/closeout (Depends-on): Remove fpending.
68215
68216 2004-11-10  Jim Meyering  <jim@meyering.net>
68217
68218         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
68219
68220 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68221
68222         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
68223         gl_FUNC_STRFTIME.
68224         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
68225         and AC_REQUIRE when possible, to avoid duplicate checks.
68226         Check for <wchar.h>.
68227
68228 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
68229
68230         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
68231
68232 2004-11-09  Bruno Haible  <bruno@clisp.org>
68233
68234         * m4/sockpfaf.m4: New file.
68235
68236 2004-11-05  Bruno Haible  <bruno@clisp.org>
68237
68238         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
68239         Reported by Mark D. Baushke <mdb@cvshome.org>.
68240
68241 2004-11-04  Bruno Haible  <bruno@clisp.org>
68242
68243         2004-09-11  Bruno Haible  <bruno@clisp.org>
68244                 * allocsa.valgrind: New file.
68245         2004-02-06  Bruno Haible  <bruno@clisp.org>
68246                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
68247                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
68248                 Reported by Christopher Seip <chris.seip@hp.com>.
68249
68250 2004-11-04  Bruno Haible  <bruno@clisp.org>
68251
68252         * modules/allocsa (Files): Add lib/allocsa.valgrind.
68253         (Makefile.am): Distribute it.
68254
68255 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
68256
68257         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
68258         with errno == ERANGE if the buffer is too small.
68259         Problem reported by Mark D. Baushke.
68260
68261 2004-11-03  Albert Chin  <china@thewrittenword.com>
68262             Paul Eggert  <eggert@cs.ucla.edu>
68263
68264         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
68265         equivalent, substitute $ac_type for equivalent type rather than
68266         blindly using uint32_t *always* which won't work if uint32_t is not
68267         available.  Define _UINT32_T to work around typedef of uint32_t if
68268         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
68269         2.5.1.
68270
68271 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68272
68273         * m4/jm-macros.m4: Sync from coreutils.
68274         (gl_MACROS): Check for mbrlen, for pathchk.
68275         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
68276
68277 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68278
68279         * lib/xreadlink.c (MAXSIZE): New macro.
68280         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
68281         size does not exceed MAXSIZE.  Avoid cast.
68282         As suggested by Mark D. Baushke in
68283         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
68284         if readlink fails with buffer size just under MAXSIZE, try again
68285         with MAXSIZE.
68286
68287 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
68288
68289         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
68290
68291 2004-11-02  Derek R. Price  <derek@ximbiot.com>
68292         and  Paul Eggert  <eggert@cs.ucla.edu>
68293
68294         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
68295         (get_date): Overparenthesize to avoid GCC warning.
68296
68297 2004-11-02  Bruno Haible  <bruno@clisp.org>
68298
68299         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
68300         returns void.
68301
68302 2004-11-02  Bruno Haible  <bruno@clisp.org>
68303
68304         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
68305         function returns void.
68306
68307 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68308
68309         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
68310         fflush_unlocked, flockfile, funlockfile, funlockfile,
68311         fputs_unlocked, putc_unlocked.
68312
68313 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
68314
68315         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68316         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
68317         already declared.
68318
68319 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68320
68321         * modules/getdate (Files): Add doc/getdate.texi.
68322         (Depends-on): Add setenv, xalloc.
68323
68324 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68325
68326         * lib/getdate.y: Add support for TZ="foo" within a date string.
68327         Fix some bugs near time_t boundaries.  Reject dates with
68328         out-of-range components, e.g., "Sept 31".
68329         Include <stdlib.h>, "setenv.h", "xalloc.h".
68330         (ISDIGIT_LOCALE): Remove; unused.
68331         Note that the TZ and time functions used here are not reentrant.
68332         (mktime_ok, get_tz): New functions.
68333         (TZBUFSIZE): New constant.
68334         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
68335         This requires that we sometimes generate our own TZ="XXX..." setting.
68336
68337 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
68338
68339         * doc/getdate.texi: New file, from coreutils with modifications for
68340         the new TZ parsing.
68341
68342 2004-10-27  Derek R. Price  <derek@ximbiot.com>
68343
68344         * lib/mktime.c (not_equal_tm): Remove redundant check.
68345
68346 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68347
68348         * modules/regex (lib_SOURCES): Add regex.c.
68349         Reported by James Youngman in
68350         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
68351
68352 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
68353
68354         * lib/getdate.y: Use Bison 1.875 features, and some minor
68355         code cleanups.  This change does not affect semantics.
68356         Don't include <stdlib.h>; no longer needed.
68357         Don't include unlocked-io.h; only the "#if TEST" code uses
68358         stdio, and performance isn't crucial there.
68359         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
68360         Bison 1.875 features as described below.
68361         All uses of "PC." replaced by "pc->".
68362         (YYSTYPE): Add a forward declaration.
68363         (yylex, yyerror): Use full prototypes in forward decls.
68364         Use "%pure-parser" rather than obsolescent "%pure_parser".
68365         Use %parse-param and %lex-param instead of obsolescent
68366         YYPARSE_PARAM and YYLEX_PARAM.
68367         (meridian_table, month_and_day_table, time_units_table,
68368         relative_time_table, time_zone_table, military_table,
68369         lookup_zone, lookup_word, get_date):
68370         Use NULL instead of 0 where appropriate.
68371         (to_hour): Avoid abort (), to avoid a dependency on
68372         stdlib.h.
68373         (yyerror, yylex): Now accepts parser_control * arg.
68374         (main) [TEST]: Use '\0' rather than 0 for char.
68375
68376 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68377
68378         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
68379
68380 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
68381
68382         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
68383         It's now the caller's responsibility to handle the case where
68384         !HAVE_GETPAGESIZE && !defined getpagesize.
68385
68386         * lib/mktime.c (leapyear): Arg is long int, not int.
68387
68388 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
68389
68390         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
68391
68392 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
68393
68394         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
68395         missing.  Problem reported by James Youngman.
68396
68397 2004-10-16  Simon Josefsson  <jas@extundo.com>
68398
68399         * gnulib-tool: Fix comments.  Fix parse problem.
68400         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
68401
68402 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
68403
68404         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
68405         implementation of getopt_long.  Problem reported by Alexander Taler in:
68406         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
68407
68408 2004-10-15  Bruno Haible  <bruno@clisp.org>
68409
68410         * gnulib-tool: Untabify. Initialize supplied_libname.
68411         (func_usage): More homogenous output.
68412         (func_modules_transitive_closure, func_modules_to_filelist,
68413         func_emit_lib_Makefile_am): New functions.
68414         (func_import): New function, extracted from big case statement. Use
68415         func_get_license, func_modules_transitive_closure,
68416         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
68417         opt_lgpl. Don't use test -a, as it's not portable.
68418         (func_create_testdir): Use func_modules_transitive_closure,
68419         func_modules_to_filelist, func_emit_lib_Makefile_am.
68420
68421 2004-10-15  Bruno Haible  <bruno@clisp.org>
68422
68423         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
68424
68425 2004-10-15  Bruno Haible  <bruno@clisp.org>
68426
68427         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
68428         the portions belonging to each module.
68429         Suggested by Derek Robert Price <derek@ximbiot.com>.
68430
68431 2004-10-12  Simon Josefsson  <jas@extundo.com>
68432
68433         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
68434         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
68435         to real functions.
68436
68437 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68438
68439         * modules/vsnprintf: New file.
68440
68441 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68442
68443         * m4/vsnprintf.m4: New file.
68444
68445 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68446
68447         * lib/vsnprintf.h: New file.
68448         * lib/vsnprintf.c: New file.
68449
68450 2004-10-11  Bruno Haible  <bruno@clisp.org>
68451
68452         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
68453         vsnprintf.
68454
68455 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
68456
68457         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
68458
68459 2004-10-07  Bruno Haible  <bruno@clisp.org>
68460
68461         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
68462         fits into the provided buffer.
68463
68464 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
68465
68466         * lib/diacrit.c, diacrit.h: Add GPL notice.
68467
68468         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
68469         notice.
68470         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
68471         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
68472         This avoids a potential constant-folding bug.
68473
68474 2004-10-05  Bruno Haible  <bruno@clisp.org>
68475
68476         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
68477         for the declaration of strsep.
68478
68479 2004-10-05  Bruno Haible  <bruno@clisp.org>
68480
68481         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
68482
68483 2004-10-04  Simon Josefsson  <jas@extundo.com>
68484
68485         * modules/memmem: New file.
68486         * tests/test-memmem.c: New file.
68487         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
68488
68489 2004-10-04  Simon Josefsson  <jas@extundo.com>
68490
68491         * m4/memmem.m4: New file.
68492
68493 2004-10-04  Simon Josefsson  <jas@extundo.com>
68494
68495         * lib/memmem.h: New file.
68496         * lib/memmem.c: New file, taken from glibc.
68497
68498 2004-10-04  Simon Josefsson  <jas@extundo.com>
68499
68500         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
68501         '#ifdef USE_UNLOCKED_IO'.
68502
68503 2004-10-04  Simon Josefsson  <jas@extundo.com>
68504
68505         * config/srclist.txt: Add memmem from glibc.
68506
68507 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68508
68509         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
68510
68511         * modules/argmatch, modules/argp, modules/closeout, modules/error,
68512         modules/exclude, modules/getdate, modules/getline,
68513         modules/getndelim2, modules/getpass, modules/getpass-gnu,
68514         modules/getusershell, modules/linebuffer, modules/md5,
68515         modules/mountlist, modules/posixtm, modules/readtokens,
68516         modules/readutmp, modules/regex, modules/sha1,
68517         modules/version-etc, modules/yesno:
68518         Remove dependency on unlocked-io.
68519
68520 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68521
68522         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
68523
68524         * m4/unlocked-io.m4: Add copyright notice.
68525         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
68526
68527 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68528
68529         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
68530         * lib/xmalloc.c (xmemdup): Likewise.
68531         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
68532         XFREE): Remove these long-obsolescent macros.
68533         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
68534         * lib/xstrdup.c: Remove.
68535
68536         * lib/regex.c (re_comp): Cast gettext return value to char *,
68537         Problem reported by Martin Neitzel via Mark D. Baushke.
68538
68539 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
68540
68541         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
68542         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
68543         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
68544         regex.c, sha1.c, version-etc.c, yesno.c:
68545         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
68546         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
68547         the includer's responsibility.
68548
68549         Sync from coreutils.
68550
68551         * lib/modechange.c (mode_compile): Don't decrement a pointer that
68552         points to the start of a string, as the C Standard says the
68553         resulting behavior is undefined.
68554
68555         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
68556         simple -> simple_backups, numbered_existing ->
68557         numbered_existing_backups, numbered -> numbered_backups
68558         to avoid shadowing problems.  All uses changed.
68559         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
68560         * lib/backupfile.c (check_extension, numbered_backup):
68561         Rename locals to avoid shadowing 'basename'.
68562         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
68563         once.
68564
68565         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
68566         * lib/.cvsignore: Add getopt.h.
68567
68568 2004-10-04  Bruno Haible  <bruno@clisp.org>
68569
68570         * modules/README: New file.
68571         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
68572         not a module.
68573
68574 2004-10-02  Jim Meyering  <jim@meyering.net>
68575
68576         * lib/dirfd.h, getpagesize.h: Add copyright notice.
68577
68578 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68579
68580         * modules/strsep: New file.
68581
68582 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68583
68584         * m4/strsep.m4: New file.
68585
68586 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
68587
68588         * lib/strsep.h: New file.
68589         * lib/strsep.c: New file.
68590
68591 2004-10-01  Simon Josefsson  <jas@extundo.com>
68592
68593         * lib/snprintf.c (snprintf): Handle size==0.
68594
68595 2004-10-01  Simon Josefsson  <jas@extundo.com>
68596             Bruno Haible  <bruno@clisp.org>
68597
68598         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
68599         (snprintf): Declare 'args'.
68600
68601 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
68602
68603         * lib/snprintf.c: Remove comments as to why each header is needed.
68604
68605 2004-10-01  Bruno Haible  <bruno@clisp.org>
68606
68607         * MODULES.html.sh: Add strsep.
68608
68609 2004-09-30  Simon Josefsson  <jas@extundo.com>
68610
68611         * modules/snprintf: New file.
68612
68613 2004-09-30  Simon Josefsson  <jas@extundo.com>
68614
68615         * m4/snprintf.m4: New file.
68616
68617 2004-09-30  Simon Josefsson  <jas@extundo.com>
68618
68619         * lib/snprintf.h, lib/snprintf.c: New files.
68620
68621 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68622
68623         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
68624         (hol_entry_help): Never translate an empty string.
68625         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
68626         * lib/argp.h (OPTION_NO_TRANS): New option.
68627
68628 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68629
68630         * modules/argp (Maintainer): Replace Simon Josefsson
68631         by Sergey Poznyakoff.
68632
68633 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68634
68635         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
68636         changes merged back into glibc.
68637
68638 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
68639
68640         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
68641
68642 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
68643
68644         * lib/xvasprintf.c: Include xalloc.h.
68645         (xvasprintf): Use xalloc_die, not xmalloc_die.
68646
68647 2004-09-29  Bruno Haible  <bruno@clisp.org>
68648
68649         * modules/alloca-opt: New file, derived from modules/alloca.
68650         * modules/allocsa: Depend on alloca-opt instead of alloca.
68651         * modules/setenv: Likewise.
68652         * modules/vasnprintf: Likewise.
68653         * MODULES.html.sh: Add alloca-opt.
68654
68655 2004-09-28  Simon Josefsson  <jas@extundo.com>
68656
68657         * gnulib-tool: New parameter --lgpl, to asseert that modules are
68658         LGPL, and to replace license template from GPL to LGPL.
68659
68660 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
68661
68662         * modules/dummy: Change license to LGPL.
68663
68664 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
68665
68666         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
68667
68668 2004-09-24  Simon Josefsson  <jas@extundo.com>
68669
68670         * modules/minmax (License): Change from GPL to LGPL.
68671
68672 2004-09-23  Simon Josefsson  <jas@extundo.com>
68673
68674         * gnulib-tool (--import): Typo.
68675
68676 2004-09-23  Simon Josefsson  <jas@extundo.com>
68677
68678         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
68679
68680 2004-09-22  Bruno Haible  <bruno@clisp.org>
68681
68682         * modules/*: Add 'License' field.
68683         * gnulib-tool: Accept --extract-license option.
68684         (func_get_license): New function.
68685
68686 2004-09-21  Bruno Haible  <bruno@clisp.org>
68687
68688         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
68689         Reported by Simon Josefsson.
68690
68691 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68692
68693         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
68694         gl_AC_TYPE_LONG_LONG.
68695
68696 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
68697
68698         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
68699
68700 2004-09-18  Simon Josefsson  <jas@extundo.com>
68701         and  Paul Eggert  <eggert@cs.ucla.edu>
68702
68703         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
68704         calls with autoreconf.  Define GL_LIB.
68705
68706 2004-09-14  Karl Berry  <karl@gnu.org>
68707
68708         * config/srclist.txt: unsync setenv.c, sigh.
68709
68710 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68711
68712         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
68713         Problem reported by Bruno Haible in:
68714         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
68715
68716 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
68717
68718         * config/srclist.txt: Comment out argp-pvh.c.
68719
68720 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
68721
68722         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
68723         in case some system header has #define'd it.  Problem reported by
68724         Soeren D. Schulze in
68725         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
68726
68727 2004-09-09  Karl Berry  <karl@gnu.org>
68728
68729         * regex.[ch]: delete from the root.  These were supposed to be
68730                 synced with emacs cvs, but this has not happened for about
68731                 a year, and anyway nothing else uses emacs regex.[ch].
68732                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
68733                 lib/regex[.ch] is untouched.
68734
68735 2004-09-09  Bruno Haible  <bruno@clisp.org>
68736
68737         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
68738
68739 2004-09-09  Bruno Haible  <bruno@clisp.org>
68740
68741         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
68742         modifications.
68743         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
68744
68745 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68746
68747         * modules/xvasprintf: New file.
68748         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
68749
68750 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
68751
68752         * lib/xvasprintf.h: New file.
68753         * lib/xvasprintf.c: New file.
68754         * lib/xasprintf.c: New file.
68755
68756 2004-09-08  Bruno Haible  <bruno@clisp.org>
68757
68758         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
68759
68760 2004-09-08  Bruno Haible  <bruno@clisp.org>
68761
68762         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
68763         length is > INT_MAX.
68764         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
68765         more.
68766
68767 2004-09-08  Bruno Haible  <bruno@clisp.org>
68768
68769         * lib/stdint_.h: New file, taken from GNU clisp.
68770
68771 2004-09-08  Bruno Haible  <bruno@clisp.org>
68772             Oskar Liljeblad  <oskar@osk.mine.nu>
68773
68774         * modules/stdint: New file.
68775         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
68776
68777 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68778
68779         Import from coreutils.
68780         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
68781         strings on unbounded length.  alloca's performance benefits aren't
68782         that important here.
68783         (V_STRDUP): Remove.
68784         (parse_with_separator): New function, with most of the internals
68785         of the old parse_user_spec.  Allow user to omit both user and group,
68786         for compatibility with FreeBSD.
68787         Clone only the user name, not the entire spec.
68788         Do not set *uid, *gid unless entirely successful.
68789         Avoid memory leak in some failing cases.
68790         Fix regression for USER.GROUP reported by Dmitry V. Levin in
68791         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
68792         (parse_user_spec): Rewrite to use parse_with_separator.
68793
68794 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68795
68796         * modules/userspec: Don't depend on alloca.
68797
68798 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
68799
68800         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
68801
68802 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
68803
68804         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
68805         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
68806         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
68807
68808 2004-08-16  Simon Josefsson  <jas@extundo.com>
68809
68810         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
68811         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
68812         Add --dry-run for --import.
68813         Let user provided command line parameters override configure.ac
68814         settings.
68815
68816 2004-08-12  Simon Josefsson  <jas@extundo.com>
68817
68818         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
68819         as discussed with Paul Eggert in threads rooted at
68820         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
68821         and
68822         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
68823         Before, the test was empty, and relied on ELIDE_CODE in source
68824         code.)
68825         (gl_PREREQ_GETOPT): New macro.
68826         (gl_GETOPT): Use them.
68827
68828 2004-08-12  Simon Josefsson  <jas@extundo.com>
68829
68830         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
68831         * lib/getopt_.h: Renamed from getopt.h.
68832
68833 2004-08-12  Simon Josefsson  <jas@extundo.com>
68834
68835         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
68836         Change default library name from libfoo to libgnu.
68837         Now, if you have a configure.ac that says:
68838                 gl_SOURCE_BASE(gl)
68839                 gl_M4_BASE(gl/m4)
68840                 gl_MODULES(error getopt etcetera)
68841                 gl_INIT
68842         you can import all you need by running:
68843                 ../gnulib/gnulib-tool --import
68844
68845         * modules/getopt (Files): Rename getopt.h to getopt_.h.
68846         (Makefile.am): Rewrite, use logic from argz.
68847         (Include): Use <getopt.h> instead of "getopt.h".
68848
68849 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68850
68851         * modules/argp (Files): Add m4/unlocked-io.m4.
68852         (Depends-on): Add extensions.
68853
68854 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68855
68856         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
68857         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
68858         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
68859         Check for program_invocation_name, program_invocation_short_name,
68860         flockfile, funlockfile, features.h, _getopt_long_only_r.
68861
68862 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68863
68864         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
68865         its complicated substitute.
68866         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
68867         and program_invocation_name.
68868         (__argp_basename) [!_LIBC]: Remove; the only use was
68869         replaced by its body.
68870         (__argp_short_program_name): Change condition from
68871         !defined __argp_short_program_name to
68872         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
68873         to match argp-namefrob.h.
68874         (__argp_failure): Don't assume strerror_r returns char *.
68875         * lib/argp-parse.c (N_): Define unconditionally.
68876         (argp_default_options): Fill out initializers with 0 to avoid
68877         gcc warnings.
68878
68879 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
68880
68881         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
68882         getopt1.c.
68883
68884 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68885
68886         Merge from coreutils.
68887
68888         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
68889
68890         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
68891         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
68892
68893 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68894
68895         Merge from coreutils.
68896
68897         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
68898         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
68899         for Reliant Unix 5.43.
68900
68901         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
68902         (union fooround): Use uintmax_t, not long int.
68903         The rest is a merge from libc:
68904         [defined _LIBC]: Include <shlib-compat.h>.
68905         (_obstack) [defined _LIBC]: Remove after 2.3.4.
68906
68907         * lib/settime.c (settime): Recode to avoid warning with
68908         Sun Forte C 6U2.
68909
68910         * lib/strverscmp.c: Convert to UTF-8.
68911
68912 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
68913
68914         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
68915         m4/uintmax_t.m4.
68916
68917 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68918
68919         * modules/xalloc-die: New file.
68920         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
68921
68922         * modules/md5 (Files): Add m4/uint32_t.m4.
68923         * modules/sha1: Renamed from modules/sha.
68924         (Files):
68925         Rename lib/sha.h to lib/sha1.h.
68926         Rename lib/sha.c to lib/sha1.c.
68927         Rename m4/sha.m4 to m4/sha1.m4.
68928         (lib_SOURCES): Likewise.
68929         (configure.ac): Rename gl_SHA to gl_SHA1.
68930         (Include): sha.h -> sha1.h.
68931
68932 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68933
68934         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
68935         * m4/sha1.m4: Renamed from sha.m4.
68936         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
68937
68938 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
68939
68940         * lib/obstack.h (obstack_empty_p):
68941         Don't assume that chunk->contents is suitably aligned.
68942         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
68943         Likewise. Problem reported by Benno in
68944         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
68945
68946         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
68947         readable.  This could be improved further but it'd take some work.
68948
68949 2004-08-08  Simon Josefsson  <jas@extundo.com>
68950
68951         * modules/xgethostname (Depends-on): Remove exit and error (not
68952         used).
68953
68954         * modules/getpass-gnu: Add getpass.h.
68955         (Depends-on): Add stdbool.
68956         * modules/getpass: Add getpass.h.
68957
68958 2004-08-08  Simon Josefsson  <jas@extundo.com>
68959
68960         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
68961         Check getpass declaration.
68962
68963 2004-08-08  Simon Josefsson  <jas@extundo.com>
68964
68965         * lib/xgethostname.c: Don't include error.h (not used).
68966
68967         * lib/getpass.h: Add.
68968         * lib/getpass.c: Include getpass.h first.
68969
68970 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
68971
68972         * lib/xalloc-die.c: New file.
68973         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
68974         All uses removed.
68975         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
68976         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
68977         xalloc-die.c.
68978         (_, N_, xalloc_die): Move to xalloc-die.c.
68979         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
68980         so that we needn't mess with xalloc_msg_memory_exhausted.
68981
68982         * lib/sha1.h: Renamed from sha.h.
68983         (SHA1_H): Renamed from _SHA_H.
68984         (sha1_ctx): Renamed from sha_ctx.
68985         (sha1_init_ctx): Renamed from sha_init_ctx.
68986         (sha1_process_block): Renamed from sha_process_block.
68987         (sha1_process_bytes): Renamed from sha_process_bytes.
68988         (sha1_finish_ctx): Renamed from sha_finish_ctx.
68989         (sha1_read_ctx): Renamed from sha_read_ctx.
68990         (sha1_stream): Renamed from sha_stream.
68991         (sha1_buffer): Renamed from sha_buffer.
68992         * lib/sha1.c: Likewise; renamed from sha.c.
68993         Do not include <sys/types.h>.
68994         Include <stddef.h> rather than <stdlib.h>.
68995
68996 2004-08-08  Bruno Haible  <bruno@clisp.org>
68997
68998         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
68999         FILESYSTEM_PREFIX_LEN.
69000         * lib/progreloc.c: Likewise.
69001         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
69002
69003 2004-08-06  Simon Josefsson  <jas@extundo.com>
69004
69005         * modules/progname (Depends-on): Don't depend on stdbool.
69006
69007 2004-08-06  Simon Josefsson  <jas@extundo.com>
69008
69009         * modules/getsubopt: New file.
69010         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69011         getsubopt.
69012
69013 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69014
69015         More merge from coreutils.
69016
69017         * m4/utimens.m4, m4/utimecmp.m4: New files.
69018         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
69019         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
69020         prereq.m4, sha.m4: Import changes from coreutils.
69021
69022 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69023
69024         More merge from coreutils.
69025         * modules/raise, modules/readtokens0, modules/utimens:
69026         * modules/utimecmp, module/xnanosleep: New files.
69027         * modules/strftime: Add lib/strftime.h.
69028         Change include from <time.h> to "strftime.h".
69029         * modules/yesno: Add lib/yesno.h.
69030         * modules/backupfile: Remove lib/addext.c.
69031         * modules/euidaccess: Add stat-macros.h.
69032         * modules/canonicalize, modules/euidaccess,
69033         modules/filemode, modules/lchown, modules/makepath,
69034         modules/rmdir, modules/stat: Likewise.
69035
69036 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69037
69038         Merge from tar.
69039         * lib/argp-help.c (make_hol, hol_append): Don't assume that
69040         SIZE_MAX is a valid preprocessor constant.
69041         (__argp_basename): Change from "#ifndef _LIBC"
69042         to "#ifndef __argp_short_program_name", so that
69043         we don't compile these functions for tar.
69044
69045         More merges from coreutils.
69046         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
69047         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
69048         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
69049         * lib/addext.c: Remove; no longer needed.
69050         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
69051         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
69052         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
69053         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
69054         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
69055         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
69056         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
69057         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
69058         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
69059         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
69060         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
69061         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
69062         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
69063         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
69064         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
69065         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
69066         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
69067         Import changes from coreutils.
69068
69069 2004-08-05  Simon Josefsson  <jas@extundo.com>
69070
69071         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
69072
69073 2004-08-05  Simon Josefsson  <jas@extundo.com>
69074
69075         * m4/getsubopt.m4: New file.
69076
69077 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69078
69079         Merge from coreutils.
69080
69081         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
69082         * m4/getcwd-path-max.m4: New files.
69083
69084         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
69085         FILESYSTEM_PREFIX_LEN ->
69086         FILE_SYSTEM_PREFIX_LEN.
69087         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
69088         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
69089         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
69090         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
69091
69092         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
69093         prerequisite modules now handle the DOS stuff.
69094         Don't check for unistd.h.
69095
69096 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69097
69098         Merge from coreutils.
69099
69100         * lib/.gdb-history: Remove; this doesn't belong here.
69101
69102         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
69103         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
69104         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
69105         * lib/getcwd.c: New files.
69106
69107         * lib/dirname.h: Include <stdbool.h>.
69108         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
69109         for consistency with POSIX terminology.  All uses changed.
69110         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
69111         (strip_trailing_slashes): Use bool for booleans.
69112         * lib/stripslash.c (strip_trailing_slashes): Likewise.
69113
69114         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
69115         sometimes returns a positive errno value even when it succeeds.
69116         (print_errno_message) [!LIBC]: Fall back on strerror if
69117         __strerror_r fails.
69118
69119         * lib/path-concat.c (mempcpy): Don't define if a system header defines
69120         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
69121         (longest_relative_suffix): New function.
69122         (path_concat): Use it.  Assume first argument is not NULL.
69123         Port to DOS.  Omit redundant separators.
69124         Report an error instead of returning NULL.
69125         Use mempcpy instead of memcpy.
69126         (xpath_concat): Remove: not declared or used.
69127
69128         * lib/same.h: Include <stdbool.h>
69129         (same_name): Return bool, not int.
69130         * lib/same.c (same_name): Likewise.
69131         (errno): Don't declare; we assume C89 or better now.
69132
69133         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
69134         if not already defined.
69135
69136         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
69137         * lib/dup-safer.c (errno): Likewise.
69138
69139 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
69140
69141         Merge from coreutils.
69142         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
69143         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
69144         * modules/path-concat: Don't depend on strdup.
69145
69146 2004-08-03  Simon Josefsson  <jas@extundo.com>
69147
69148         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
69149         * lib/progname.h: Don't include stdbool.h.
69150
69151 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69152
69153         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
69154         * MODULES.html.sh (func_all_modules): Remove fatal.
69155
69156 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69157
69158         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
69159
69160 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
69161
69162         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
69163         working.
69164
69165 2004-08-02  Simon Josefsson  <jas@extundo.com>
69166
69167         * lib/getsubopt.h: New file, with comments from Bruno Haible.
69168         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
69169         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
69170
69171 2004-08-01  Simon Josefsson  <jas@extundo.com>
69172
69173         * lib/xgetdomainname.c: Include stdlib.h, for free().
69174
69175 2004-07-19  Bruno Haible  <bruno@clisp.org>
69176
69177         * MODULES.html.sh (func_all_modules): Add dummy.
69178
69179 2004-07-16  Simon Josefsson  <jas@extundo.com>
69180
69181         * modules/dummy: New file.
69182
69183 2004-07-16  Simon Josefsson  <jas@extundo.com>
69184
69185         * lib/dummy.c: New file.
69186
69187 2004-07-16  Bruno Haible  <bruno@clisp.org>
69188
69189         * lib/backupfile.h: Add extern "C" for C++.
69190         * lib/closeout.h: Likewise.
69191         * lib/copy-file.h: Likewise.
69192         * lib/findprog.h: Likewise.
69193         * lib/full-write.h: Likewise.
69194         * lib/pathname.h: Likewise.
69195         * lib/progname.h: Likewise.
69196         * lib/stpcpy.h: Likewise.
69197         * lib/stpncpy.h: Likewise.
69198         * lib/strcase.h: Likewise.
69199         * lib/strstr.h: Likewise.
69200         * lib/xalloc.h: Likewise.
69201
69202         * lib/mbswidth.h: Add extern "C" for C++.
69203         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
69204
69205 2004-07-13  Robert Millan  <robertmh@gnu.org>
69206
69207         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
69208
69209 2004-07-09  Simon Josefsson  <jas@extundo.com>
69210
69211         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
69212         failed without this.)
69213
69214 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69215
69216         * modules/chown (Files): Add lib/fchown-stub.c, since
69217         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
69218
69219 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
69220
69221         * lib/fchown-stub.c: New file.
69222
69223 2004-06-24  Jim Meyering  <jim@meyering.net>
69224
69225         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
69226
69227 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69228
69229         * modules/argz: Omit "#include".
69230
69231         * MODULES.html.sh (func_all_modules): Add calloc, to match
69232         2004-06-01 addition of calloc module.
69233
69234 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69235
69236         * m4/argz.m4: New file, which is autoupdated from libtool.
69237
69238 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69239
69240         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
69241         libtool.
69242
69243 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
69244
69245         * config/srclist-update: Don't insist on "USA." before the
69246         close-comment, as libtool omits the period and puts the */ on a
69247         separate line.
69248         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
69249         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
69250
69251 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
69252
69253         * modules/argz: New file.
69254         * MODULES.html.sh (func_all_modules): Add argz.
69255
69256 2004-06-12  Jim Meyering  <jim@meyering.net>
69257         and  Paul Eggert  <eggert@cs.ucla.edu>
69258
69259         * modules/hash (Files): Add lib/xalloc.h.
69260         * modules/pipe (Depends-on): Add wait-process.
69261         * modules/stat (Depends-on): Add xalloc.
69262         * modules/userspec (Files): Add lib/userspec.h.
69263         * modules/xstrto
69264
69265         Upgrade from gettext-0.13.
69266         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
69267         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
69268         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
69269
69270 2004-06-10  Jim Meyering  <jim@meyering.net>
69271
69272         * lib/calloc.c: New file.
69273
69274 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
69275
69276         * lib/getdate.y (yylex): Allow space between sign and number.
69277         Problem reported by Dan Jacobson.
69278
69279 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69280
69281         Merge from coreutils CVS.
69282
69283         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
69284         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
69285         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
69286         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
69287         xstrtol.m4: Fix copyright date and/or serial number.
69288
69289         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
69290         See if we need an fchown replacement.
69291         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
69292         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
69293         and use the replacement function if we detect either defect.
69294
69295         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
69296         gl_UTIMECMP.
69297
69298 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
69299         and  Jim Meyering  <jim@meyering.net>
69300
69301         Merge from coreutils CVS.
69302
69303         * lib/stat-macros.h: New file, with contents from file-type.h
69304         and coreutils' system.h.
69305         * lib/file-type.c: Include "stat-macros.h".
69306         * lib/file-type.h (file_type): Move all macro definitions to new file,
69307         stat-macros.h.
69308
69309         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
69310         Wrap old code with this conditional.
69311         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
69312         function that does not dereference symlinks.
69313         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
69314
69315         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
69316         dependency problems.
69317         (xreadlink): Accept new arg SIZE, for efficiency.
69318         All decls and uses changed.
69319         * lib/xreadlink.h: Include <stddef.h>, for size_t.
69320
69321         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
69322         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
69323
69324         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
69325         sysexits.h.
69326
69327 2004-06-01  Jim Meyering  <jim@meyering.net>
69328
69329         * m4/calloc.m4: New file.
69330
69331 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
69332
69333         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
69334         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
69335         Also, fix a typo in a diagnostic.
69336
69337 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69338
69339         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
69340         or AC_FUNC_REALLOC.
69341
69342 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
69343
69344         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
69345         macros to be defined.
69346         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
69347         the allocator returns NULL because the requested size is zero.
69348
69349 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
69350
69351         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
69352         var.  Add comment explaining why libc still defines it.  This
69353         merges the following patch from glibc:
69354         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
69355
69356 2004-05-20  Andreas Schwab  <schwab@suse.de>
69357
69358         * m4/free.m4: Replace free if it not known to work, not the other
69359         way round.
69360
69361 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
69362
69363         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
69364         present in glibc since revision 1.1 of this file.
69365         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
69366         obstack_alignment_mask, obstack_alloc, obstack_base,
69367         obstack_blank, obstack_blank_fast, obstack_chunk_size,
69368         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
69369         obstack_grow0, obstack_init, obstack_int_grow,
69370         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
69371         obstack_next_free, obstack_object_size, obstack_ptr_grow,
69372         obstack_ptr_grow_fast, obstack_room): Remove declarations of
69373         nonexistent functions.
69374
69375 2004-05-18  Karl Berry  <karl@gnu.org>
69376
69377         * config/srclist.txt: break link for vasnprintf.c.
69378
69379 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69380
69381         Port obstack to the AS/400, where pointers are 16 bytes wide and
69382         you cannot cast an integer to a valid pointer.  This patch is
69383         currently waiting to be integrated into glibc; see
69384         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
69385
69386         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
69387         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
69388         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
69389         (struct obstack): temp member is now a union of a pointer and
69390         an integer, instead of an integer.  All integer uses changed.
69391         This does not affect the physical layout of struct obstack,
69392         except on hosts (like the AS/400) where the size or alignment of
69393         void * is greater than that of ptrdiff_t.
69394         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
69395         __STDC__)]: Store temporary in pointer member of union, not
69396         integer member.
69397         * lib/obstack.c: Include <stddef.h>, for offsetof.
69398         (struct fooalign): Remove; it doesn't need a name.
69399         (union fooround): Change double to long double, and add void *.
69400         (DEFAULT_ALIGNMENT): Use offsetof to compute.
69401         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
69402         not a macro.  Hence the values are always int; so remove all
69403         casts-to-int in uses.
69404
69405 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69406
69407         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
69408         we can get this patch merged into glibc.
69409
69410 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69411             Paul Eggert  <eggert@cs.ucla.edu>
69412
69413         * m4/argp: Depend on alloca.
69414
69415 2004-05-17  Derek R. Price  <derek@ximbiot.com>
69416             Paul Eggert  <eggert@cs.ucla.edu>
69417
69418         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
69419         freecoding.
69420
69421 2004-05-17  Bruno Haible  <bruno@clisp.org>
69422
69423         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
69424         precision that consists of a '.' followed by an empty digit string.
69425         Patch by Tor Lillqvist <tml@iki.fi>.
69426
69427 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69428
69429         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
69430         for backward compatibility with older code.  We need our own
69431         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
69432         it under some other name, and our alloca.h will define it.
69433
69434 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69435             Derek Price  <derek@ximbiot.com>
69436
69437         * lib/alloca.c: Include <alloca.h>, to get our interface.
69438         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
69439         include <alloca.h> first.  Use C89 prototype for alloca; this
69440         requires including <stddef.h> for size_t.  Use extern "C" if C++.
69441         Use #elif for simplicity, since we can assume C89 now.
69442         Don't try to source the system alloca.h since it will not be found
69443         and to prevent recursively including its replacement.
69444         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
69445         * lib/regex.c: Likewise.
69446
69447 2004-05-16  Derek Price  <derek@ximbiot.com>
69448             Paul Eggert  <eggert@cs.ucla.edu>
69449
69450         getline cleanup.  This changes the getndelim2 API: both order of
69451         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
69452         no delimiter).
69453
69454         * lib/getline.c: Don't include stddef.h or stdio.h, since our
69455         interface does that.
69456         (getline): Always use getdelim, so that we don't have two
69457         copies of this code.
69458         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
69459         if available.
69460         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
69461         (GETNDELIM2_MAXIMUM): New macro.
69462         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
69463         instead of the old practice of delim2==0.  All callers changed.
69464         Return -1 on overflow, instead of returning junk.
69465         Do not set *linesize unless allocation succeeds.
69466         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
69467         that we include sys/types.h.
69468         * lib/getnline.h: Likewise.
69469         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
69470         (getndelim2): Reorder arguments.
69471         * lib/getnline.c (getnline, getndelim):
69472         Don't discard the NMAX argument.
69473         (getnline): Invoke getndelim, to avoid code duplication.
69474         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
69475         of (size_t) -1 by callers of the getnline family.
69476
69477 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69478
69479         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
69480         Check for gettimeofday.
69481         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
69482         Check for settimeofday, stime.
69483
69484 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
69485
69486         * lib/nanosleep.c (suspended): Change its type from int to
69487         sig_atomic_t volatile.
69488         (first_call): Make it private to rpl_nanosleep, and have it
69489         be zero initially as that's a bit faster.
69490         (my_usleep): Round up fractional times instead of truncating them,
69491         as this is the usual meaning for 'sleep'.
69492
69493         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
69494         doesn't work.
69495         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
69496         (ENOSYS): Define if not defined.
69497         (settime): Fall back on stime if it exists and settimeofday fails.
69498         But don't bother with fallbacks if a method fails with errno == EPERM.
69499
69500 2004-05-11  Jim Meyering  <jim@meyering.net>
69501
69502         Prior to this change, the save_cwd caller required read access to the
69503         current directory on most systems (ones with the fchdir function).
69504
69505         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
69506         fails, try write-only, and finally, resort to using xgetcwd.
69507
69508 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
69509
69510         * lib/obstack.c, obstack.h: Import changes from libc.
69511
69512 2004-04-28  Bruno Haible  <bruno@clisp.org>
69513
69514         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
69515         also implicitly appends .exe to executables.
69516         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
69517         accepts Windows pathnames.
69518         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
69519         Treat Cygwin like Windows, since it now accepts Windows pathnames.
69520         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
69521         Treat Cygwin like Windows, since it now accepts Windows pathnames.
69522         Reported by Derek Robert Price <derek@ximbiot.com>.
69523
69524 2004-04-21  Karl Berry  <karl@gnu.org>
69525
69526         * config/srclist.txt (localcharset.c): break sync.
69527
69528 2004-04-20  Paul Eggert  <eggert@twinsun.com>
69529
69530         * m4/host-os.m4: Add a copyright notice.
69531
69532 2004-04-20  Jim Meyering  <jim@meyering.net>
69533
69534         Change UTILS_ to gl_ in AC_DEFINE'd names.
69535         Change utils_- and jm_-prefixed variables, too.
69536         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
69537         UTILS_FUNC_MKDIR_TRAILING_SLASH.
69538         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
69539
69540         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
69541         Don't emit trailing blanks.
69542         Also rename jm_-prefixed variables to have gl_ prefix.
69543
69544         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
69545         Also rename jm_-prefixed variables to have gl_ prefix.
69546
69547         * m4/jm-macros.m4: Reflect the renamings.
69548         * m4/prereq.m4: Likewise.
69549
69550 2004-04-20  Jim Meyering  <jim@meyering.net>
69551
69552         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
69553         memory.
69554
69555 2004-04-20  Jim Meyering  <jim@meyering.net>
69556             Bruno Haible  <bruno@clisp.org>
69557
69558         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
69559         memory when realloc fails.
69560
69561 2004-04-19  Jim Meyering  <jim@meyering.net>
69562
69563         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
69564         now that readutmp.c may call `free (0)'.
69565
69566 2004-04-19  Bruno Haible  <bruno@clisp.org>
69567
69568         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
69569         * m4/inttypes_h.m4: Likewise.
69570         * m4/stdint_h.m4: Likewise.
69571         * m4/intmax_t.m4: Likewise.
69572         * m4/uintmax_t.m4: Likewise.
69573
69574 2004-04-18  Jim Meyering  <jim@meyering.net>
69575
69576         * m4/prereq.m4: Don't forbid jm_ prefix.
69577
69578         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
69579         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
69580         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
69581         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
69582         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
69583         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
69584         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
69585         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
69586         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
69587         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
69588         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
69589         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
69590         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
69591         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
69592         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
69593         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
69594         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
69595         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
69596         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
69597
69598 2004-04-18  Jim Meyering  <jim@meyering.net>
69599
69600         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
69601         failure, don't leak memory and do call END_UTMP_ENT.
69602
69603 2004-04-16  Jim Meyering  <jim@meyering.net>
69604
69605         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
69606         coreutils' stat program.
69607         (gl_PREREQ): Don't require jm_PREREQ_STAT.
69608
69609 2004-04-11  Paul Eggert  <eggert@twinsun.com>
69610
69611         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
69612         C89.
69613         (CHAR_BIT): Remove, since we assume C89.
69614         Include <stdint.h> if available, as per current Autoconf CVS advice.
69615
69616 2004-03-31  Jim Meyering  <jim@meyering.net>
69617
69618         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
69619         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
69620         * m4/xalloc.m4: Likewise.
69621
69622 2004-03-30  Paul Eggert  <eggert@twinsun.com>
69623
69624         Merge from coreutils.
69625
69626         * m4/inttostr.m4: New file.
69627         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
69628         Require AM_STDBOOL_H and gl_TIMESPEC instead.
69629         Require gl_CLOCK_TIME.
69630         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
69631
69632 2004-03-30  Paul Eggert  <eggert@twinsun.com>
69633
69634         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
69635         not bool, to be more consistent with Unix conventions.
69636         Suggested by Bruno Haible.
69637
69638         Merge from coreutils.
69639
69640         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
69641         * lib/umaxtostr.c: New files.
69642
69643         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
69644         the usual <time.h> dance.
69645         (get_date): Change signature to support fractional time stamps.
69646         All callers changed.
69647         * lib/getdate.y: Include "getdate.h" first, as we can now
69648         assume C89 and don't need to worry about 'const'.
69649         Similarly, include "unlocked-io.h" near start, not in middle.
69650         Include <limits.h>.
69651         (textint.value): Use long int rather than int.
69652         (textint.digits): Use size_t rather than int.
69653         (BILLION, LOG10_BILLION): New constants.
69654         (parser_control): New member rel_ns.  Members day_ordinal,
69655         time_zone, month, day, hour, minutes, rel_year, rel_month,
69656         rel_day, rel_hour, rel_minutes, rel_seconds
69657         are now long int, not int.  Member seconds is now struct timespec,
69658         not int.  New member timespec_seen.  Members dates_seen, days_seen,
69659         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
69660         not int.
69661         (%union.intval): Now long int, not int.
69662         New member timespec.
69663         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
69664         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
69665         (spec): Now is a timespec or an item list.
69666         (timespec, items): New nonterminals.
69667         (time, rel, relunit, number, get_date):
69668         Add support for fractional seconds.
69669         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
69670         (gmtime, localtime, mktime): Remove decls; not needed with C89.
69671         (to_hour): First arg is now long int, not int.
69672         (to_year): Returns long int, not int.
69673         Don't treat year -70 like 70.
69674         (tm_diff): Returns long int, not int.
69675         (lookup_word): Use bool instead of int when appropriate.
69676         (yylex): Use size_t for count, not int.
69677         Detect overflow when parsing large integer constants.
69678         Add support for fractions.
69679         (get_date): Make pointers 'const' if possible.
69680         Use more-portable code to detect integer overflow.
69681         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
69682         Don't use ctime; it's not reliable if the year has >4 digits.
69683
69684         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
69685         This is for compatibility with BSD.
69686
69687         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
69688         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
69689         From coreutils' system.h.
69690
69691         * lib/userspec.c: Don't include "posixver.h".
69692         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
69693         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
69694         compatible extension.  Simplify code by removing a boolean int
69695         that was always nonzero if a string was nonnull.
69696
69697 2004-03-30  Jim Meyering  <jim@meyering.net>
69698
69699         Merge from coreutils.
69700
69701         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
69702         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
69703         on some systems one must include <grp.h> before it.
69704         Reported by Christian Krackowizer.
69705
69706 2004-03-30  Jim Meyering  <jim@meyering.net>
69707
69708         Merge from coreutils.
69709
69710         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
69711
69712         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
69713         an empty input stream.
69714
69715         * lib/readtokens.c: Include <stdbool.h>.
69716         (readtoken): Use `size_t' rather than int/long.
69717         All callers adjusted.
69718         Use `bool' rather than `int' where appropriate.
69719         Use memset rather than an explicit loop.
69720         Use x2nrealloc rather than xrealloc.
69721         Allow the use of `\0' as a delimiter.
69722         (readtokens): Likewise.
69723         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
69724
69725 2004-03-30  Jim Meyering  <jim@meyering.net>
69726
69727         * m4/realloc.m4: Remove file, since now it does no more than
69728         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
69729         the `configure.ac' section of module/realloc.
69730         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
69731
69732 2004-03-30  Bruno Haible  <bruno@clisp.org>
69733
69734         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
69735         nonnull.
69736
69737 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69738
69739         Merge changes to getloadavg.c from coreutils and Emacs.
69740
69741         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
69742         Define to an expression, not to the empty string.
69743         Include cloexec.h and xalloc.h.
69744         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
69745         Use set_cloexec_flag rather than rolling our own.
69746         * lib/cloexec.c, lib/cloexec.h: New files.
69747
69748 2004-03-29  Paul Eggert  <eggert@twinsun.com>
69749
69750         * m4/cloexec.m4: New file.
69751
69752 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69753
69754         * lib/getopt.h: Sync with libc CVS.
69755
69756 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69757             Bruno Haible  <bruno@clisp.org>
69758
69759         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
69760         mbswidth.
69761
69762 2004-03-18  Paul Eggert  <eggert@twinsun.com>
69763             Bruno Haible  <bruno@clisp.org>
69764
69765         * lib/mbswidth.h: Include <wchar.h> only if
69766         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
69767         <wchar.h>.
69768         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
69769
69770 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69771
69772         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
69773         Sync with libc CVS.
69774         * lib/getopt_int.h: New file, also synced from libc.
69775
69776 2004-03-09  Paul Eggert  <eggert@twinsun.com>
69777
69778         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
69779         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
69780         Bring back getopt.c, getopt.h, getopt1.c.
69781
69782 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69783
69784         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
69785         All uses changed.  Check for sa_sigaction member; this fixes
69786         a bug first reported by Jason Andrade in
69787         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69788
69789 2004-03-07  Paul Eggert  <eggert@twinsun.com>
69790
69791         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
69792         '#if' expressions.  Unlike the code it replaces, it does not
69793         depend on (defined _SC_PAGESIZE).  However, it does depend on
69794         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
69795         first reported by Jason Andrade in
69796         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
69797
69798 2004-02-25  Simon Josefsson  <jas@extundo.com>
69799
69800         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
69801
69802 2004-02-25  Simon Josefsson  <jas@extundo.com>
69803
69804         * lib/strdup.h: New file.
69805         * lib/strdup.c: Include it.
69806         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
69807         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
69808
69809 2004-02-23  Karl Berry  <karl@gnu.org>
69810
69811         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
69812         (from fencepost.gnu.org:/gd/gnuorg).
69813
69814 2004-02-23  Karl Berry  <karl@gnu.org>
69815
69816         * config/srclistvars.sh (GNUORG) [karl]: redefine.
69817         * config/srclist.txt: add maintain/standards documents.
69818
69819 2004-02-18  Bruno Haible  <bruno@clisp.org>
69820
69821         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
69822         Reported by Derek Robert Price <derek@ximbiot.com>.
69823
69824 2004-02-16  Karl Berry  <karl@gnu.org>
69825
69826         * config/mkinstalldirs, install-sh: update from automake.
69827
69828 2004-02-06  Karl Berry  <karl@gnu.org>
69829
69830         * m4/po.m4: update from gettext 0.14.1.
69831
69832 2004-02-06  Karl Berry  <karl@gnu.org>
69833
69834         * lib/config.charset: update from gettext 0.14.1.
69835
69836 2004-02-05  Paul Eggert  <eggert@twinsun.com>
69837
69838         Add comments and code, prompted by suggestions from Bruno Haible
69839         for sh-quote.
69840         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
69841         describing the enum quoting_style values.
69842         * lib/quotearg.c (quotearg_alloc): New function.
69843         (quotearg_buffer_restyled): Treat lone { and } as special.
69844         Treat = as special.  Work around bug with older shells
69845         that "see" a '\' that is really the 2nd byte of a multibyte char.
69846         Quote empty string with shell_quoting_style.
69847
69848 2004-02-03  Bruno Haible  <bruno@clisp.org>
69849
69850         * m4/pipe.m4: New file, from GNU gettext.
69851
69852 2004-02-03  Bruno Haible  <bruno@clisp.org>
69853
69854         * lib/pipe.h: New file, from GNU gettext.
69855         * lib/pipe.c: New file, from GNU gettext.
69856
69857 2004-01-27  Bruno Haible  <bruno@clisp.org>
69858
69859         * m4/execute.m4: New file, from GNU gettext.
69860
69861 2004-01-27  Bruno Haible  <bruno@clisp.org>
69862
69863         * lib/execute.h: New file, from GNU gettext.
69864         * lib/execute.c: New file, from GNU gettext.
69865         * lib/w32spawn.h: New file, from GNU gettext.
69866
69867 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69868
69869         Merge from diffutils.
69870
69871         * lib/file-type.c (file_type): Add typed memory objects.
69872         * lib/file-type.h (S_TYPEISTMO): New macro.
69873
69874         * lib/c-stack.h (c_stack_action): Remove argv argument.
69875         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
69876         (die): Don't calculate message unless segv_action returns.
69877         (get_stack_location, min_address_from_argv, max_address_from_argv,
69878         volatile stack_base, volatile_stack_size): Remove.
69879         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
69880         that every segmentation violation is a stack overflow.  (Ouch!)
69881         See Debian bug 136249 (still outstanding) for more info about why
69882         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
69883
69884 2004-01-24  Paul Eggert  <eggert@twinsun.com>
69885
69886         Exit-status fix from coreutils.
69887
69888         Use exit_failure consistently in place of EXIT_FAILURE,
69889         so that program exit statuses are consistent on failure.
69890
69891         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
69892         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
69893         * lib/argmatch.h: Comment fix to match the above.
69894         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
69895         Now a macro referring to exit_failure, instead of a separate
69896         variable.  Include "exitfail.h" to get it.
69897         * lib/xstrtol.h: Include "exitfail.h".
69898         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
69899
69900         * lib/long-options.c (parse_long_options): Use prototype
69901         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
69902         for clarity.
69903
69904 2004-01-21  Jim Meyering  <jim@meyering.net>
69905
69906         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
69907         so as not to conflict with a different-sized __mktime_internal
69908         function in GNU libc.
69909         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
69910         Problem building statically-linked `ls' reported by Michael Brunnbauer.
69911
69912 2004-01-20  Karl Berry  <karl@gnu.org>
69913
69914         * config/config.guess: update from config.
69915
69916         * config/srclistvars.sh: GNUWWWLICENSES for karl.
69917
69918 2004-01-20  Bruno Haible  <bruno@clisp.org>
69919
69920         Safer stack allocation.
69921         * lib/setenv.c: Include allocsa.h.
69922         (alloca): Remove fallback definition.
69923         (freea): Remove macro.
69924         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
69925         instead of freea.
69926
69927 2004-01-20  Bruno Haible  <bruno@clisp.org>
69928
69929         * m4/eealloc.m4: New file, from GNU gettext.
69930
69931 2004-01-20  Bruno Haible  <bruno@clisp.org>
69932
69933         * m4/allocsa.m4: New file, from GNU gettext.
69934
69935 2004-01-20  Bruno Haible  <bruno@clisp.org>
69936
69937         * lib/xallocsa.h: New file, from GNU gettext.
69938         * lib/xallocsa.c: New file, from GNU gettext.
69939
69940 2004-01-20  Bruno Haible  <bruno@clisp.org>
69941
69942         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
69943
69944 2004-01-20  Bruno Haible  <bruno@clisp.org>
69945
69946         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
69947         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
69948         specially.
69949
69950 2004-01-20  Bruno Haible  <bruno@clisp.org>
69951
69952         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
69953         patch.
69954
69955 2004-01-20  Bruno Haible  <bruno@clisp.org>
69956
69957         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
69958
69959 2004-01-20  Bruno Haible  <bruno@clisp.org>
69960
69961         * lib/eealloc.h: New file.
69962
69963 2004-01-20  Bruno Haible  <bruno@clisp.org>
69964
69965         * lib/binary-io.h: Avoid warnings on Cygwin.
69966
69967 2004-01-20  Bruno Haible  <bruno@clisp.org>
69968
69969         * lib/allocsa.h: New file, from GNU gettext.
69970         * lib/allocsa.c: New file, from GNU gettext.
69971
69972 2004-01-18  Karl Berry  <karl@gnu.org>
69973
69974         * doc/gpl.texi, doc/lgpl.texi: new files.
69975
69976 2004-01-18  Karl Berry  <karl@gnu.org>
69977
69978         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
69979         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
69980
69981 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69982
69983         Merge from coreutils.
69984
69985         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
69986         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
69987         (gl_DEFAULT_POSIX2_VERSION): Move
69988         the documentation from 'configure' into 'config.hin',
69989         so that 'configure --help' isn't burdened by it and
69990         we don't have to worry about its formatting there.
69991         Reword the documentation so that it's more succinct
69992         and can be run together into a single paragraph.
69993         * m4/same.m4 (gl_SAME): Check for pathconf.
69994
69995 2004-01-15  Paul Eggert  <eggert@twinsun.com>
69996
69997         Merge from coreutils.
69998
69999         * lib/posixver.c: Include posixver.h.
70000
70001         * lib/same.c: Include <stdbool.h>, <limits.h>.
70002         (_POSIX_NAME_MAX): Define if not defined.
70003         (MIN): New macro.
70004         (same_name): If file names are silently truncated, report
70005         that the file names are the same if they are the same after
70006         the silent truncation.
70007
70008         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
70009         conversion function.
70010         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
70011         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
70012         longer needed.
70013
70014 2004-01-15  Jim Meyering  <jim@meyering.net>
70015
70016         Merge from coreutils.
70017
70018         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
70019         if no library is required.
70020         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
70021         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
70022         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
70023         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
70024         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
70025         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
70026         value, $ac_cv_search_crypt, if it's "none required".
70027         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
70028         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
70029         not gl_FUNC_GETLOADAVG.
70030         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
70031         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
70032
70033 2004-01-15  Jim Meyering  <jim@meyering.net>
70034
70035         Merge from coreutils.
70036
70037         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
70038         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
70039         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
70040
70041         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
70042         optional configure-time default.
70043
70044         * lib/version-etc.c (version_etc_copyright): Update copyright date.
70045
70046         * lib/xreadlink.c (xreadlink): Correct outdated comment.
70047
70048 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
70049
70050         Merge from coreutils.
70051
70052         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
70053         value, $ac_cv_search_nanosleep, if it's "none required".
70054
70055 2004-01-14  Paul Eggert  <eggert@twinsun.com>
70056
70057         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
70058         with like-named macro in fnmatch.c.
70059         (EXT): Use an internal constant instead.
70060
70061         Merge fnmatch patches from glibc.
70062         * lib/fnmatch.c (mbsinit): Remove define.
70063         Add libc_hidden_ver (__fnmatch, fnmatch).
70064         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
70065         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
70066
70067 2004-01-14  Karl Berry  <karl@gnu.org>
70068
70069         * config/install-sh: update from automake.
70070
70071 2004-01-13  Karl Berry  <karl@gnu.org>
70072
70073         * config/install-sh: update from automake.
70074
70075 2004-01-09  Karl Berry  <karl@gnu.org>
70076
70077         * config/install-sh: update from automake.
70078
70079 2004-01-05  Karl Berry  <karl@gnu.org>
70080
70081         * config/config.{sub,guess}: update from config.
70082
70083 2003-12-31  Karl Berry  <karl@gnu.org>
70084
70085         * config/depcomp: update from automake.
70086
70087 2003-12-14  Karl Berry  <karl@gnu.org>
70088
70089         * lib/config.charset: update from gettext-runtime.
70090
70091 2003-12-03  Paul Eggert  <eggert@twinsun.com>
70092
70093         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
70094         Bug reported by Alfred M. Szmidt.
70095
70096 2003-12-03  Bruno Haible  <bruno@clisp.org>
70097
70098         * m4/gettext.m4: Upgrade from gettext-0.13.
70099         * m4/po.m4: Upgrade from gettext-0.13.
70100         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
70101         * m4/intmax.m4: New file, from gettext-0.13.
70102         * m4/printf-posix.m4: New file, from gettext-0.13.
70103
70104 2003-11-29  Karl Berry  <karl@gnu.org>
70105
70106         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
70107
70108 2003-11-25  Paul Eggert  <eggert@twinsun.com>
70109             Bruno Haible  <bruno@clisp.org>
70110
70111         * lib/printf-parse.h: Don't include sys/types.h.
70112         (ARG_NONE): New macro.
70113         (char_directive): Change type of *arg_index fields to size_t.
70114         * lib/printf-parse.c: Don't include sys/types.h.
70115         (SSIZE_MAX): Remove macro.
70116         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
70117         Remove unnecessary overflow check.
70118         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
70119         fields.
70120
70121 2003-11-25  Bruno Haible  <bruno@clisp.org>
70122
70123         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
70124
70125 2003-11-25  Bruno Haible  <bruno@clisp.org>
70126
70127         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
70128         gt_TYPE_SSIZE_T.
70129
70130 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70131
70132         * modules/alloca: Remove dependency on xalloc.
70133
70134 2003-11-24  Paul Eggert  <eggert@twinsun.com>
70135
70136         * lib/alloca.c: Remove dependency on xalloc module.
70137         (xalloc_die): Remove.
70138         (memory_full) [!defined emacs]: New macro.
70139         [!defined emacs]: Don't include xalloc.h.
70140         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
70141         address arithmetic overflows.  Change datatypes a bit to avoid
70142         unnecessary casts.
70143
70144 2003-11-22  Jim Meyering  <jim@meyering.net>
70145
70146         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
70147         s/size/size_t/.
70148
70149 2003-11-21  Karl Berry  <karl@gnu.org>
70150
70151         * config/config.{sub,guess}: update from config.
70152
70153 2003-11-18  Karl Berry  <karl@gnu.org>
70154
70155         * config/config.{sub,guess}: update from config.
70156
70157         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
70158
70159 2003-11-17  Paul Eggert  <eggert@twinsun.com>
70160
70161         * README: Mention that S+T cannot overflow if S is the size of
70162         an existing object and T is sufficiently small.
70163
70164 2003-11-17  Jim Meyering  <jim@meyering.net>
70165
70166         On systems without utime and without a utimes function capable of
70167         dealing with a NULL struct utimbuf* argument, this utime replacement
70168         could -- in unusual circumstances -- leak a file descriptor.
70169         * lib/utime.c: Include <unistd.h> and <errno.h>.
70170         (utime_null): Be sure to close `fd' and to preserve errno.
70171         Reported by Geoff Collyer via Arnold Robbins.
70172
70173 2003-11-17  Bruno Haible  <bruno@clisp.org>
70174
70175         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
70176         (Depends-on): Add xsize.
70177
70178 2003-11-17  Bruno Haible  <bruno@clisp.org>
70179
70180         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
70181
70182 2003-11-17  Bruno Haible  <bruno@clisp.org>
70183
70184         * lib/vasnprintf.c (alloca): Remove fallback definition.
70185         (freea): Remove definition.
70186         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
70187         Reported by Paul Eggert.
70188
70189 2003-11-16  Paul Eggert  <eggert@twinsun.com>
70190             Bruno Haible  <bruno@clisp.org>
70191
70192         Protect against address arithmetic overflow.
70193         * lib/printf-args.h: Include stddef.h.
70194         (arguments): Change type of field 'count' to size_t.
70195         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
70196         'unsigned int' where appropriate.
70197         * lib/printf-parse.h: Include sys/types.h.
70198         (char_directive): Change type of *arg_index fields to ssize_t.
70199         (char_directives): Change type of fields 'count', max_*_length to
70200         size_t.
70201         * lib/printf-parse.c: Include sys/types.h and xsize.h.
70202         (SSIZE_MAX): Define fallback value.
70203         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
70204         instead of 'int' where appropriate. Check a_allocated, d_allocated
70205         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
70206         * lib/vasnprintf.c: Include xsize.h.
70207         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
70208         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
70209         overflow. Avoid wraparound when converting a width or precision from
70210         decimal to binary.
70211
70212 2003-11-16  Bruno Haible  <bruno@clisp.org>
70213
70214         Update from GNU gettext.
70215         * lib/printf-parse.c: Generalize to it can be compiled for wide
70216         strings.
70217         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
70218         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
70219         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
70220         SNPRINTF): New macros.
70221         Don't include <alloca.h> if the file is used inside libintl.
70222         (local_wcslen): New function, for Solaris 2.5.1.
70223         (VASNPRINTF): Use it instead of wcslen.
70224
70225 2003-11-16  Bruno Haible  <bruno@clisp.org>
70226
70227         * lib/xsize.h (xmax): New function.
70228         (xsum, xsum3, xsum4): Declare as "pure" functions.
70229
70230 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70231
70232         * modules/xalloc (Files): Undo latest change, since xalloc.h
70233         no longer needs SIZE_MAX or PTRDIFF_MAX.
70234
70235 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70236
70237         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
70238         gl_PTRDIFF_MAX.
70239
70240 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70241
70242         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
70243         "return", to pacify some unknown compiler.  Problem reported
70244         by Joerg Schilling.
70245
70246 2003-11-12  Paul Eggert  <eggert@twinsun.com>
70247
70248         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
70249         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
70250         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
70251         heuristic is just as accurate as far as we know, and it removes a
70252         dependency on size_max.m4 and ptrdiff_max.m4.
70253
70254 2003-11-11  Bruno Haible  <bruno@clisp.org>
70255
70256         * modules/xsize (Files): Add m4/size_max.m4.
70257         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
70258
70259 2003-11-11  Bruno Haible  <bruno@clisp.org>
70260
70261         * m4/size_max.m4: New file.
70262         * m4/ptrdiff_max.m4: New file.
70263         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
70264         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
70265         (gl_XALLOC): Invoke it.
70266
70267 2003-11-11  Bruno Haible  <bruno@clisp.org>
70268
70269         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
70270         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
70271         defined.
70272
70273 2003-11-10  Paul Eggert  <eggert@twinsun.com>
70274
70275         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
70276         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
70277         rejected some allocations of exactly SIZE_MAX - 2 bytes.
70278         From Bruno Haible.
70279         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
70280         not (size_t) -1, since it's defined here.
70281
70282 2003-11-09  Karl Berry  <karl@gnu.org>
70283
70284         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
70285
70286 2003-11-06  Paul Eggert  <eggert@twinsun.com>
70287
70288         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
70289         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
70290         Reject sizes of exactly SIZE_MAX bytes.
70291         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
70292         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
70293
70294 2003-11-05  Bruno Haible  <bruno@clisp.org>
70295
70296         * lib/xsize.h: Include limits.h, to avoid a possible collision with
70297         SIZE_MAX defined in <limits.h> on Solaris.
70298
70299 2003-11-04  Jim Meyering  <jim@meyering.net>
70300
70301         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
70302         variable names, rather than @VAR@.
70303         * modules/poll: Likewise.
70304
70305 2003-11-04  Bruno Haible  <bruno@clisp.org>
70306
70307         * modules/xsize: New file.
70308         * modules/linebreak: Depend on xsize.
70309         * MODULES.html.sh (func_all_modules): Add xsize.
70310
70311 2003-11-04  Bruno Haible  <bruno@clisp.org>
70312
70313         * m4/xsize.m4: New file.
70314
70315 2003-11-04  Bruno Haible  <bruno@clisp.org>
70316
70317         * lib/xsize.h: New file.
70318         * lib/linebreak.c: Include xsize.h.
70319         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
70320         argument for overflow.
70321         Suggested by Paul Eggert.
70322
70323 2003-11-03  Karl Berry  <karl@gnu.org>
70324
70325         * config/config.{guess,sub}: update from config.
70326
70327 2003-11-03  Jim Meyering  <jim@meyering.net>
70328
70329         * modules/userspec (lib_SOURCES): Add userspec.h.
70330         (Include): Add "userspec.h".
70331         Improve description.
70332
70333 2003-11-03  Jim Meyering  <jim@meyering.net>
70334
70335         * lib/userspec.c: Include "userspec.h".
70336         * lib/userspec.h: New file.
70337
70338 2003-11-03  Bruno Haible  <bruno@clisp.org>
70339
70340         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
70341
70342 2003-11-03  Bruno Haible  <bruno@clisp.org>
70343
70344         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
70345         available, to avoid (extremely rare) race condition.
70346         Suggested by Paul Eggert.
70347
70348 2003-11-02  Karl Berry  <karl@gnu.org>
70349
70350         * config/srclist.txt (vasprintf.c): sync broken, sigh.
70351
70352 2003-10-31  Paul Eggert  <eggert@twinsun.com>
70353
70354         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
70355         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
70356         (read_filesystem_list): Set and use me_type_malloced.
70357         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
70358         whatever the type happens to be), for brevity and consistency.
70359         Check for size calculation overflow on Alphas running OSF/1.
70360
70361 2003-10-31  Jim Meyering  <jim@meyering.net>
70362
70363         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
70364
70365         * lib/linebuffer.c: Include <string.h> for declaration of memset.
70366
70367 2003-10-30  Paul Eggert  <eggert@twinsun.com>
70368             Bruno Haible  <bruno@clisp.org>
70369
70370         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
70371         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
70372
70373 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
70374
70375         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
70376         netbsd*-gnu*.  Suggested by Robert Millan.
70377
70378 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70379
70380         * modules/group-member: Depend on stdbool.
70381
70382 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70383
70384         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
70385
70386 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70387
70388         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
70389         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
70390         after the 'gnu' in these cases.  This fixes some bugs in the
70391         previous change, and is based on suggestions by Robert Millan.
70392
70393 2003-10-29  Paul Eggert  <eggert@twinsun.com>
70394
70395         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
70396         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
70397         no longer needed.
70398         * lib/quotearg.c (quotearg_n_options): Use it.
70399         * lib/group-member.c: Include <stdbool.h>.
70400         (free_group_info): Arg is now const *; don't free arg.
70401         (get_group_info): Now returns bool and accepts struct group_info *,
70402         rather than returning a malloc'ed struct group_info *.
70403         All uses changed.  Check for overflow in internal size calculation.
70404
70405         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
70406         rather than xmalloc/xrealloc.
70407         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
70408         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
70409         conformance bug: the old code used a pointer after freeing the
70410         storage that it addressed.
70411         * lib/hash.c (hash_initialize): Simplify the code by using
70412         xalloc_oversized rather than doing it by hand.
70413         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
70414         the buffer preserved.  Use free and xmalloc instead.
70415         * lib/quotearg.c (quotearg_n_options): Likewise.
70416         Use a simpler test for size overflow.  Don't use xalloc_oversized
70417         because unsigned int might be wider than size_t (!); this suggests
70418         that we should switch from unsigned int to size_t for slot numbers.
70419
70420 2003-10-28  Paul Eggert  <eggert@twinsun.com>
70421
70422         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
70423         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
70424         NetBSD kernels.  Requested by Richard Stallman.
70425
70426 2003-10-27  Paul Eggert  <eggert@twinsun.com>
70427
70428         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
70429         to allocate the returned structure.  Do not allocate a subarray,
70430         as x2nrealloc will do that.
70431         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
70432         instead of xnrealloc.
70433         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
70434
70435 2003-10-27  Bruno Haible  <bruno@clisp.org>
70436
70437         * lib/stdbool_.h: Better support for BeOS.
70438
70439 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70440
70441         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
70442         now uses inline.
70443
70444 2003-10-26  Paul Eggert  <eggert@twinsun.com>
70445
70446         * lib/xalloc.h (xalloc_oversized): New static inline function, for
70447         callers that want to do their own size-overflow checking.  Include
70448         <stdbool.h>, since xalloc_oversized returns bool.
70449         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
70450         to use xalloc_oversized.
70451
70452         Add two functions x2realloc, x2nrealloc, for programs that grow
70453         arrays dynamically by doubling their sizes.
70454         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
70455         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
70456         New functions.
70457
70458         Port to C99 semantics for 'inline' of external functions.
70459         Bug reported by Bruno Haible.
70460         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
70461         with the old contents of xnmalloc.
70462         (xnmalloc, xmalloc): Use it.
70463         (xnrealloc_inline): New static inline function,
70464         with the old contents of xnrealloc.
70465         (xnrealloc, xrealloc): Use it.
70466
70467         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
70468         that.
70469
70470 2003-10-26  Karl Berry  <karl@gnu.org>
70471
70472         * config/srclist.txt (COPYING.DOC): no longer available from
70473         /gd/gnuorg; don't know where the ultimate source is.
70474
70475 2003-10-25  Paul Eggert  <eggert@twinsun.com>
70476
70477         Fix several address-calculation bugs in the hash modules,
70478         plus some minor code cleanup.
70479
70480         * lib/hash.h: Include <stdbool.h>, for bool.
70481         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
70482         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
70483         hash_get_n_entries, hash_get_max_bucket_length,
70484         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
70485         hash_rehash): Use size_t rather than unsigned.
70486         * lib/hash.c (struct hash_table, hash_get_n_buckets,
70487         hash_get_n_buckets_used, hash_get_n_entries,
70488         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
70489         hash_get_entries, hash_do_for_each, hash_string, is_prime,
70490         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
70491         Likewise.
70492         (SIZE_MAX): Define if not defined.
70493         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
70494         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
70495         hash_print):
70496         Use const * when possible.
70497         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
70498         (check_tuning): Fix bug: if tuning parameters were very close to
70499         0 or 1, rounding errors could have caused subscript violations.
70500         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
70501         (hash_initialize): Add 'fail:' label
70502         to free table and return NULL, and use it to simplify code.
70503         Use calloc rather than clearing the storage ourself.
70504         (hash_initialize, hash_rehash): Check for arithmetic overflow in
70505         buffer size calculations.
70506         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
70507         Include <stddef.h>, for size_t.
70508         * lib/hash-pjw.c (hash_pjw): Likewise.
70509         Switch to method described by Bruno Haible.
70510         Include <limits.h>, for CHAR_BIT.
70511         (SIZE_BITS): New macro.
70512
70513 2003-10-23  Paul Eggert  <eggert@twinsun.com>
70514
70515         * m4/getline.m4 (AM_FUNC_GETLINE):
70516         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
70517         hosts.  Problem reported by Derek Robert Price in
70518         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
70519         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
70520         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
70521
70522 2003-10-21  Paul Eggert  <eggert@twinsun.com>
70523
70524         * lib/getndelim2.c (getndelim2): When size calculation overflows,
70525         ceiling the allocation at NMAX bytes rather than silently
70526         discarding input bytes before NMAX is reached.  This makes
70527         a difference only if NMAX exceeds SIZE_MAX / 2.
70528
70529         * lib/obstack.c: Merge from glibc.
70530         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
70531         Add libc_hidden_def (_obstack_newchunk).
70532         (_obstack_free) [! defined _LIBC]: Remove.
70533         [defined _LIBC]: Make a strong alias from obstack_free, rather than
70534         a clone of the function body.
70535         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
70536         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
70537
70538         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
70539         glibc.
70540         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
70541         arg to memcpy.
70542
70543         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
70544         (obstack_ptr_grow_fast, obstack_int_grow_fast):
70545         Don't use lvalue casts, as GCC plans to remove support for them
70546         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
70547         was also present in the non-GCC version, indicating that this
70548         code had always been buggy and had never been widely used.
70549         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
70550         Use the fast variant of each macro, rather than copying the
70551         definiens of the fast variant; that way, we'll be more likely to
70552         catch future bugs in the fast variants.
70553
70554 2003-10-20  Bruno Haible  <bruno@clisp.org>
70555
70556         * modules/wait-process: New file.
70557         * MODULES.html.sh (func_all_modules): Add wait-process.
70558
70559 2003-10-20  Bruno Haible  <bruno@clisp.org>
70560
70561         * m4/wait-process.m4: New file.
70562
70563 2003-10-20  Bruno Haible  <bruno@clisp.org>
70564
70565         * lib/wait-process.h: New file, from GNU gettext.
70566         * lib/wait-process.c: New file, from GNU gettext.
70567
70568 2003-10-19  Jim Meyering  <jim@meyering.net>
70569
70570         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
70571         HPUX 10.20.
70572
70573 2003-10-18  Karl Berry  <karl@gnu.org>
70574
70575         * config/config.guess: update from config.
70576
70577 2003-10-16  Paul Eggert  <eggert@twinsun.com>
70578
70579         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
70580         (getgroups): First arg is int, not size_t.
70581         Don't let 'free' mangle errno.
70582
70583 2003-10-16  Paul Eggert  <eggert@twinsun.com>
70584
70585         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
70586
70587 2003-10-16  Karl Berry  <karl@gnu.org>
70588
70589         * config/config.{guess,sub}: update from config.
70590
70591 2003-10-16  Jim Meyering  <jim@meyering.net>
70592
70593         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
70594         memcpy.
70595
70596 2003-10-15  Paul Eggert  <eggert@twinsun.com>
70597
70598         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
70599         (SIZE_MAX): Remove.
70600         (new_exclude, add_exclude_file): Initial size no longer needs to
70601         be a power of 2.
70602         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
70603         our own address arithmetic overflow checking.
70604
70605         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
70606         (fnmatch): Do not alloca more than 2000 wide characters;
70607         instead, use malloc for large buffers.
70608         Check for address arithmetic overflow, and return -1
70609         with errno set to ENOMEM in that case.
70610         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
70611         (NEW_PATTERN): Do not alloca more than 8000 bytes;
70612         instead, return -1.  Check for address arithmetic overflow.
70613
70614 2003-10-14  Paul Eggert  <eggert@twinsun.com>
70615
70616         Handle invalid suffixes and overflow independently, so that
70617         callers can treat them independently as needed.  Fix some bugs in
70618         suffix handling, e.g., "100k@" was not diagnosed as an invalid
70619         suffix for a human-readable blocksize.  The major caller-visible
70620         change is the addition of a new
70621         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
70622         that both overflow and suffix chars were found.
70623
70624         * lib/human.c (humblock): Don't check separately for invalid suffix
70625         char; that is xstrtoumax's job (now that its bug is fixed).
70626         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
70627         INTMAX_MAX]: New macros.
70628         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
70629         TYPE_MAXIMUM): New macros.
70630         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
70631         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
70632         if overflow occurs, as it's what __strtol does and it's more useful
70633         in practice.
70634         (__xstrtol): If __strtol reports some error other than ERANGE,
70635         reflect it to the caller as LONGINT_INVALID.  If it reports
70636         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
70637         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
70638         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
70639         value.
70640         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
70641         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
70642         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
70643         [defined UINTMAX_MAX]: New macros.
70644
70645 2003-10-14  Bruno Haible  <bruno@clisp.org>
70646
70647         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
70648
70649 2003-10-14  Bruno Haible  <bruno@clisp.org>
70650
70651         * m4/sig_atomic_t: New file, from GNU gettext.
70652         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
70653
70654 2003-10-14  Bruno Haible  <bruno@clisp.org>
70655
70656         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
70657         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
70658         Also use volatile where needed.
70659
70660 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70661
70662         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
70663         Change maintainer from Bruno Haible to 'all'.
70664
70665 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70666
70667         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
70668
70669 2003-10-12  Paul Eggert  <eggert@twinsun.com>
70670
70671         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
70672         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
70673         and define in terms of the other primitives.
70674         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
70675         (SIZE_MAX): Define if not already defined.
70676         (array_size_overflow): New function.
70677         (xalloc_die): Abort instead of exiting if 'error' returns.
70678         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
70679         (xmalloc, xrealloc): Use them.
70680         (xcalloc): Check for address arithmetic overflow.
70681         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
70682         a bit faster than strcpy.
70683
70684 2003-10-10  Simon Josefsson  <jas@extundo.com>
70685
70686         * modules/argp (Depends-on): Add restrict and strcase.
70687
70688 2003-10-10  Simon Josefsson  <jas@extundo.com>
70689
70690         * m4/argp.m4: Add AC_C_INLINE.
70691
70692 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70693
70694         Merge getpass from libc, plus a few fixes.
70695
70696         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
70697         Include <stdbool.h>.
70698         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
70699         __fsetlocking to empty.
70700         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
70701         do include <bits/libc-lock.h>.
70702         Do not include <fcntl.h>; not needed.
70703         [_LIBC]: Include <wchar.h>.
70704         (NOTCANCEL_MODE): New macro.
70705         (flockfile, funlockfile) [_LIBC]: New macros.
70706         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
70707         [!_LIBC]: New macros.
70708         (call_fclose): New function.
70709         (getpass): Use it.  Save tty stream separately; this simplifies the
70710         code and makes it more reliable if stdin happens to equal stdout.
70711         Invoke __fsetlocking on tty.
70712         Handle thread cancellation if needed.
70713         Namespace cleanup (use __tcgetattr, __getline).
70714         Use bool for Booleans.
70715         [USE_IN_LIBIO]: Handle wide streams.
70716         [!_LIBC]: Unconditionally do the fseek, since we don't know what
70717         stream might go where.
70718
70719         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
70720         doesn't have to include <stdio.h> before us.
70721         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
70722         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
70723         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
70724         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
70725         if not declared, so that we can use getpass.c code from libc without
70726         rewriting it.
70727         (flockfile, ftrylockfile, funlockfile): New macros.
70728
70729 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70730
70731         * modules/getpass: Depend on stdbool.
70732
70733 2003-10-08  Paul Eggert  <eggert@twinsun.com>
70734
70735         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
70736
70737 2003-10-07  Karl Berry  <karl@gnu.org>
70738
70739         * config/config.{guess,sub}: update from config.
70740
70741 2003-10-06  Jim Meyering  <jim@meyering.net>
70742             Bruno Haible  <bruno@clisp.org>
70743
70744         This lets translators provide better translations for the
70745         "Written by ..." part of --version output.
70746         * lib/version-etc.h: Include stdarg.h.
70747         (version_etc_copyright): Declare as readonly.
70748         (version_etc): Make this function variadic with a NULL-terminated list
70749         of author name strings.
70750         (version_etc_va): New declaration.
70751         * lib/version-etc.c: Include stdarg.h, stdlib.h.
70752         (version_etc_copyright): Declare as readonly.
70753         (version_etc_va): New function. Provide a different translatable string
70754         for each possible number of authors < 10. Abbreviate when there are 10
70755         authors or more.
70756         (version_etc): Make this function variadic. Call version_etc_va.
70757         Suggestion from Gary V. Vaughan.
70758
70759         * lib/long-options.h (parse_long_options): Change prototype: the
70760         authors string is moved to the end and becomes variadic.
70761         * lib/long-options.c: Include stdarg.h.
70762         (parse_long_options): Make this function variadic, too.
70763         Call version_etc_va, not version_etc.
70764
70765 2003-10-06  Bruno Haible  <bruno@clisp.org>
70766
70767         * modules/version-etc-2: Remove file.
70768         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
70769
70770 2003-10-06  Bruno Haible  <bruno@clisp.org>
70771
70772         * modules/fatal-signal: New file.
70773         * MODULES.html.sh (func_all_modules): Add fatal-signal.
70774
70775 2003-10-06  Bruno Haible  <bruno@clisp.org>
70776
70777         * m4/fatal-signal.m4: New file.
70778         * m4/signalblocking.m4: New file, from GNU gettext.
70779
70780 2003-10-06  Bruno Haible  <bruno@clisp.org>
70781
70782         * lib/version-etc-2.h: Remove file.
70783         * lib/version-etc-2.c: Remove file.
70784
70785 2003-10-06  Bruno Haible  <bruno@clisp.org>
70786
70787         * lib/fatal-signal.h: New file, from GNU gettext.
70788         * lib/fatal-signal.c: New file, from GNU gettext.
70789
70790 2003-10-05  Paul Eggert  <eggert@twinsun.com>
70791
70792         * README: Rework advice for preventing empty .o files.
70793         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
70794         not <sys/types.h>.
70795
70796 2003-10-04  Karl Berry  <karl@gnu.org>
70797
70798         * lib/argp*: update from libc.
70799
70800 2003-10-04  Karl Berry  <karl@gnu.org>
70801
70802         * config/config.{guess,sub}: update from config.
70803
70804 2003-10-02  Bruno Haible  <bruno@clisp.org>
70805
70806         * modules/lchown (Include): Add lchown.h.
70807         * modules/time_r (Include): Use "..." syntax.
70808         * modules/xgetdomainname (Include): Add xgetdomainname.h.
70809
70810 2003-10-01  Simon Josefsson  <jas@extundo.com>
70811
70812         * MODULES.html.sh (func_all_modules): Move gethostname from section
70813         'based on' to section 'lacking' POSIX:2001.
70814
70815 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
70816
70817         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
70818         to output mode on the same stream.
70819
70820 2003-09-29  Paul Eggert  <eggert@twinsun.com>
70821
70822         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
70823         Fix arg typo in previous patch.
70824
70825 2003-09-28  Jim Meyering  <jim@meyering.net>
70826
70827         * lib/error.c: Correct cpp indentation.
70828
70829 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70830
70831         * modules/free: New file.
70832
70833 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70834
70835         * m4/free.m4: New file.
70836
70837 2003-09-27  Paul Eggert  <eggert@twinsun.com>
70838
70839         * lib/minmax.h (MIN, MAX)
70840         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
70841         Omit the special code that used __typeof__, since we worry that
70842         it could be more trouble than it's worth.  See:
70843         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
70844         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
70845
70846         * lib/free.c: New file.
70847
70848 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
70849
70850         Trivial fixes to Makefile.am parts of module listings.
70851         * modules/strstr: Append strstr.h to lib_SOURCES.
70852         * modules/strcase: Likewise, for strcase.h.
70853
70854 2003-09-27  Karl Berry  <karl@gnu.org>
70855
70856         * config/mkinstalldirs: update from automake.
70857
70858 2003-09-26  Paul Eggert  <eggert@twinsun.com>
70859
70860         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
70861         (error_tail): Do not loop, reallocating temporary buffer, since
70862         the output cannot contain more wide characters than the input
70863         contains bytes, the size must be big enough already.  This avoids
70864         one potential size overflow calculation.  Check for size overflow
70865         when calculating temporary buffer size.  Free temporary buffer
70866         when done, if it was allocated with malloc; this plugs a memory
70867         leak.  Remove casts from void * to pointers, that are no longer
70868         needed now that we're assuming C89 or better.
70869
70870         Merge error changes from glibc.
70871
70872         * lib/error.c, error.h: Update copyright notice header to match glibc.
70873         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
70874         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
70875         Disable cancellation while printing error.
70876         * lib/error.h: Prepend __ to parameter names.
70877
70878 2003-09-26  Jim Meyering  <jim@meyering.net>
70879
70880         * lib/error.c (error_tail): Move some declarations
70881         into inner scope where the local variables are used.
70882
70883 2003-09-26  Bruno Haible  <bruno@clisp.org>
70884
70885         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
70886         stpncpy().
70887         Don't define stpncpy through config.h; it's now done through stpncpy.h.
70888
70889 2003-09-26  Bruno Haible  <bruno@clisp.org>
70890
70891         * lib/stpncpy.h (gnu_stpncpy): New declaration.
70892         (stpncpy): Define as alias for gnu_stpncpy.
70893         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
70894
70895 2003-09-25  Simon Josefsson  <jas@extundo.com>
70896
70897         * lib/xgetdomainname.h: New file.
70898         * lib/xgetdomainname.c: New file.
70899
70900 2003-09-25  Simon Josefsson  <jas@extundo.com>
70901             Bruno Haible  <bruno@clisp.org>
70902
70903         * modules/getdomainname: New file.
70904         * modules/xgetdomainname: New file.
70905         * MODULES.html.sh (func_all_modules): Add getdomainname,
70906         xgetdomainname.
70907
70908 2003-09-25  Simon Josefsson  <jas@extundo.com>
70909             Bruno Haible  <bruno@clisp.org>
70910
70911         * m4/getdomainname.m4: New file.
70912
70913 2003-09-25  Simon Josefsson  <jas@extundo.com>
70914             Bruno Haible  <bruno@clisp.org>
70915
70916         * lib/getdomainname.h: New file.
70917         * lib/getdomainname.c: New file.
70918
70919 2003-09-25  Karl Berry  <karl@gnu.org>
70920
70921         * lib/argp-fmtstream.c, argp-help.c: update from libc.
70922
70923 2003-09-25  Karl Berry  <karl@gnu.org>
70924
70925         * config/install-sh: update from automake.
70926
70927 2003-09-25  Bruno Haible  <bruno@clisp.org>
70928
70929         * modules/version-etc-2: New file, from modules/version-etc with
70930         modifications.
70931         * MODULES.html.sh (func_all_modules): Add version-etc-2.
70932
70933 2003-09-25  Bruno Haible  <bruno@clisp.org>
70934
70935         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
70936         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
70937
70938 2003-09-24  Simon Josefsson  <jas@extundo.com>
70939
70940         * modules/xgethostname: Add xgethostname.h.
70941
70942 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70943
70944         * lib/linebuffer.c (freebuffer): Don't free the argument, just
70945         the buffer associated with the argument.  Bug reported by
70946         Simon Josefsson.
70947
70948 2003-09-24  Paul Eggert  <eggert@twinsun.com>
70949
70950         * README: Document assumptions that 'int' is at least 32 bits
70951         wide, that integer arithmetic is 2's complement without overflow,
70952         that there are no holes in integer values, that adding sizes of
70953         two nonoverlapping objects can't overflow, and that all-bits-zero
70954         yields scalar zero.  Fix spelling and capitalization typos.
70955
70956 2003-09-19  Karl Berry  <karl@gnu.org>
70957
70958         * lib/argp.h: update from libc.
70959
70960 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70961
70962         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
70963         to avoid spurious warnings like "AC_RUN_IFELSE was called before
70964         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
70965
70966 2003-09-17  Paul Eggert  <eggert@twinsun.com>
70967
70968         * gnulib-tool: Use "test -h", not "test -L", for portability
70969         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
70970         (tags_regexp): Remove, since \| doesn't conform to POSIX.
70971         (sed_extract_prog): Issue s commands one-by-one, rather than
70972         using \| in one s command.
70973
70974 2003-09-16  Paul Eggert  <eggert@twinsun.com>
70975
70976         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
70977         input error, instead of returning NULL the next time we are called
70978         (and therefore losing track of errno).
70979
70980 2003-09-16  Bruno Haible  <bruno@clisp.org>
70981
70982         * gnulib-tool (func_create_testdir): Warn about duplicated
70983         dependencies.
70984
70985 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70986
70987         * modules/argmatch, modules/fatal, modules/obstack,
70988         modules/xalloc, modules/xgethostname: Sort dependencies by
70989         importance, not alphabetically.
70990
70991 2003-09-15  Paul Eggert  <eggert@twinsun.com>
70992
70993         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
70994         fails, so that the caller gets the proper errno.
70995
70996         * lib/readutmp.c (read_utmp): Likewise.
70997         Check for fstat error.  Close stream and free storage
70998         when failing.
70999
71000 2003-09-14  Karl Berry  <karl@gnu.org>
71001
71002         * config/srclist.txt (strdup.c): disable for c89 changes.
71003
71004 2003-09-14  Jim Meyering  <jim@meyering.net>
71005
71006         * lib/getloadavg.c: Correct cpp indentation.
71007         * lib/strdup.c: Likewise.
71008         * lib/vasnprintf.c: Likewise.
71009
71010 2003-09-14  Bruno Haible  <bruno@clisp.org>
71011
71012         * modules/fwriteerror: New file.
71013         * MODULES.html.sh (func_all_modules): Add fwriteerror.
71014
71015 2003-09-14  Bruno Haible  <bruno@clisp.org>
71016
71017         * lib/fwriteerror.h: New file.
71018         * lib/fwriteerror.c: New file.
71019
71020 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71021
71022         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
71023         modules/xgethostname, modules/xalloc: Depend on exit.
71024
71025 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71026
71027         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
71028
71029         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
71030         and AC_MINIX, too, so that their extensions are available.
71031
71032         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
71033         This macro has been superseded by gl_BACKUPFILE.
71034
71035         More patches to assume C89 or better.
71036
71037         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
71038
71039         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
71040         unconditionally.
71041         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
71042         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
71043         Include <string.h>, <stdlib.h> unconditionally.
71044         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
71045         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
71046         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
71047         headers or for string.h.
71048         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
71049         or strtoul.
71050
71051         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
71052         headers.
71053         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
71054         * m4/userspec.m4 (gl_USERSPEC): Likewise.
71055         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
71056         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
71057         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
71058         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
71059         memcpy, memset.
71060         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
71061         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
71062         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
71063         strtol.
71064         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
71065         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
71066         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
71067         strtoul.
71068
71069 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71070
71071         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
71072         * lib/obstack.c [!defined _LIBC]: Likewise.
71073         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
71074         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
71075         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
71076
71077         More changes to assume C89 or better.
71078
71079         * lib/error.c (error_tail): Assume vprintf.
71080
71081         * lib/argmatch.c (getenv): Remove decl.
71082         * lib/progreloc.c (get_full_program_name): Define via prototype.
71083         * lib/setenv.c (clearenv): Likewise.
71084         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
71085         needed.
71086         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
71087         (malloc, memcpy): Remove decls.
71088         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
71089         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
71090         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71091         (memcpy): Remove macro.
71092         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
71093         (__P): Remove.  All uses removed.
71094         (PTR): Remove.  All uses changed to void *.
71095         (CHAR_BIT, NULL): Remove.
71096         (spaces, zeros, memset_space, memset_zero)
71097         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
71098         Remove.
71099         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
71100         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
71101         Define with prototype.
71102         Remove now-unnecessary prototype decl.
71103         (extra_args_spec): Assume ANSI C.  All uses changed.
71104         (extra_args_spec_iso): Remove.
71105         (my_strftime, emacs_strftimeu): Define via prototype.
71106         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
71107         unconditionally.
71108         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
71109         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
71110         (strtoul, strtol): Remove decls.
71111         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
71112         LONG_MAX): Remove.
71113         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
71114         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
71115         (LOCALE_PARAM_PROTO): New macro.
71116         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
71117         (INTERNAL (strtol), strtol): Define with a prototype.
71118         (PARAMS): Remove.  All uses removed.
71119         * lib/tempname.c: Include <string.h> unconditionally.
71120         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
71121         * lib/xgethostname.c (main): Define with a prototype.
71122         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
71123         Include <stdlib.h> unconditionally.
71124         (calloc, malloc, realloc, free): Remove decls.
71125         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
71126         Include <stdlib.h> unconditionally.  Sort include file names.
71127         (strtod): Remove.
71128         (xstrtod): Define with a prototype.
71129         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
71130         (strtol, strtoul): Remove decls.
71131
71132 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71133
71134         More patches to assume C89 or better.
71135         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
71136         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
71137         string.h, memchr, STDC_HEADERS.
71138
71139 2003-09-11  Paul Eggert  <eggert@twinsun.com>
71140
71141         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
71142         Include <stdlib.h>, <string.h> unconditionally.
71143         Remove now-unnecessary cast to char *.
71144         * lib/strnlen.c: Include <string.h> unconditionally.
71145         * lib/yesno.c (yesno): Define with a prototype.
71146
71147 2003-09-11  Bruno Haible  <bruno@clisp.org>
71148
71149         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
71150
71151 2003-09-10  Jim Meyering  <jim@meyering.net>
71152
71153         * lib/error.c: Correct indentation of cpp directives.
71154
71155 2003-09-10  Bruno Haible  <bruno@clisp.org>
71156
71157         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
71158         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
71159         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
71160         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
71161         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
71162         <stdlib.h> and <string.h> checks.
71163         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
71164         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
71165
71166 2003-09-10  Bruno Haible  <bruno@clisp.org>
71167
71168         * lib/strcspn.c: Include <string.h> unconditionally.
71169         * lib/strpbrk.c: Include <string.h> unconditionally.
71170         * lib/strstr.c: Include <string.h> unconditionally.
71171         * lib/unicodeio.c: Include <string.h> unconditionally.
71172         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
71173         * lib/unsetenv.c: Likewise.
71174         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
71175         * lib/yesno.c: Include <stdlib.h> unconditionally.
71176         (rpmatch): Add prototype.
71177
71178 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71179
71180         More patches to assume C89 or better.
71181         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
71182         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
71183         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
71184         or for string.h.
71185         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
71186         stdlib.h.
71187         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
71188         C headers.
71189         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
71190         string.h.
71191         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
71192         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
71193         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
71194         or for string.h.
71195         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
71196         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
71197         C headers.
71198         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
71199         memcpy.
71200         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
71201         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
71202         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
71203         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
71204         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
71205         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
71206         string.h, free.
71207         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
71208         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
71209         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
71210         C headers, or for string.h.
71211         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
71212         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
71213         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
71214         headers, memory.h, stdlib.h, string.h, strings.h.
71215         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
71216         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
71217         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
71218         strchr.
71219         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
71220         headers, memory.h, string.h.
71221         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
71222         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
71223         free.
71224         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
71225         headers.
71226         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
71227         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
71228         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
71229         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
71230         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
71231
71232 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71233
71234         More K&R removal.
71235
71236         * lib/acosl.c (main): Use a prototype.
71237         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
71238         tanl.c: Likewise.
71239
71240         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
71241
71242         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
71243         (getopt, etopt_long, getopt_long_only, _getopt_internal)
71244         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
71245         with a prototype.
71246         * lib/getopt.c (const): Remove macro.
71247         Include <string.h> unconditionally.
71248         (my_index): Remove; all uses changed to strchr.
71249         (strlen): Remove decl.
71250         (exchange): Remove forward decl; no longer needed.
71251         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
71252         Define with prototype.
71253         * lib/getopt1.c (const): Remove macro.
71254         (getopt_long, getopt_long_only, main): Define with prototype.
71255
71256         * lib/getugroups.c: Include <string.h> unconditionally.
71257
71258         * lib/getusershell.c: Include <stdlib.h> unconditionally.
71259         (getusershell, setusershell, endusershell, readname, main):
71260         Define with prototypes.
71261
71262         * lib/group-member.c: Include group-member.h first.
71263         Include <stdlib.h> unconditionally.
71264
71265         * lib/hard-locale.c: Include hard-locale.h first.
71266         Include <stdlib.h>, <string.h> unconditionally.
71267
71268         * lib/hash.c (free, malloc): Remove decls.
71269         Include <stdlib.h> unconditionally.
71270
71271         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
71272         (getenv): Do not declare.
71273
71274         * lib/idcache.c: Include <string.h> unconditionally.
71275
71276         * lib/long-options.c: Include long-options.h first, to test interface.
71277         Include <stdlib.h> unconditionally.
71278
71279         * lib/makepath.c: Include makepath.h first, to test interface.
71280         Include <stdlib.h> and <string.h> unconditionally.
71281
71282         * lib/linebuffer.c: Include <stdlib.h>.
71283         (free): Remove decl.
71284
71285         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
71286         stddef.h. rpl_malloc returns void *, not char *.
71287         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
71288         prototype.
71289
71290         * lib/md5.h: Include <limits.h> unconditionally.
71291         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
71292         (__P): Remove; all uses removed.
71293         * lib/md5.c: Include "md5.h" first.
71294         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
71295         md5_buffer, md5_process_bytes, md5_process_block):
71296         Define with prototypes.
71297         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
71298         * lib/sha.c: Include "sha.h" first.
71299         Include <stdlib.h>, <string.h> unconditionally.
71300
71301         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
71302         * lib/memcmp.c (__ptr_t): Likewise.
71303         * lib/memrchr.c (__ptr_t): Likewise.
71304         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
71305         Include <string.h> unconditionally.
71306         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
71307         * lib/memchr.c: Include <stdlib.h> unconditionally.
71308         * lib/memchr.c (LONG_MAX): Remove.
71309         * lib/memrchr.c (LONG_MAX): Likewise.
71310         * lib/memchr.c (__memchr): Define via a prototype.
71311         * lib/memrchr.c (__memrchr): Likewise.
71312         * lib/memcmp.c (__P): Remove, and remove all uses.
71313         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
71314         Remove forward decls; no longer needed.
71315         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
71316         Use types required by C89 in prototype.
71317
71318         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
71319         * lib/savedir.c: Likewise.
71320         * lib/mkdir.c (free): Remove decl.
71321         * lib/rmdir.c (rmdir): Define with a prototype.
71322         * lib/savedir.c: Include savedir.h first, to test interface.
71323
71324         * lib/mktime.c (STDC_HEADERS): Remove.
71325         Include <stdlib.h>, <string.h> unconditionally.
71326
71327         * lib/modechange.c: Include <stdlib.h> unconditionally.
71328         (malloc): Remove decl.
71329
71330         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
71331         (free): Remove decl.
71332
71333         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
71334         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
71335         (This type really should be intptr_t, but that's a C99ism.)
71336         (_obstack_memcpy): Remove: all uses changed to memcpy.
71337         Include <string.h> unconditionally.
71338         (struct obstack): Assume __STDC__ for types of members
71339         chunkfun, freefun, extra_arg.
71340         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
71341         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
71342         obstack_begin, obstack_specify_allocation,
71343         obstack_specify_allocation_with_arg, obstack_chunkfun,
71344         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
71345         Remove unprototyped decls and the macros that use them.
71346         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
71347         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
71348         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
71349         (defined __STDC__ && __STDC__)]:
71350         Remove nonprototyped code.
71351         Include <stdlib.h> unconditionally.
71352         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
71353         _obstack_allocated_p, _obstack_free, obstack_free,
71354         _obstack_memory_used, print_and_abort):
71355         Define using prototypes.
71356         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
71357         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
71358         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
71359         obstack_next_free, obstack_object_size, obstack_room) [0]:
71360         Remove unused, unprototyped code.
71361
71362         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
71363
71364         * lib/physmem.c (physmem_total, physmem_available, main): Define
71365         with prototypes.
71366
71367         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
71368         (main): Define with a prototype.
71369
71370         * lib/posixver.c (getenv): Remove decl.
71371
71372         * lib/putenv.c (malloc): Returns void *, not char *.
71373         Include <string.h> unconditionally.
71374         (strchr, memcpy, NULL): Do not define.
71375
71376         * lib/readtokens.c: Include readtokens.h first, to test interface.
71377         Include <stdlib.h>, <string.h> unconditionally.
71378         (init_tokenbuffer): Define with a prototype.
71379
71380         * lib/regex.c (PARAMS): Remove.  All uses removed.
71381         All uses of _RE_ARGS removed, too.
71382         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
71383         unconditionally.
71384         (bzero): Assume memset exists.
71385         (memcmp, memcpy, NULL): Remove.
71386         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
71387         char, or assignments to local vars of type signed char.
71388         (init_syntax_once, PREFIX(extract_number_and_incr),
71389         PREFIX(print_partial_compiled_pattern),
71390         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
71391         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
71392         PREFIX(regex_grow_registers), PREFIX(regex_compile),
71393         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
71394         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
71395         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
71396         wcs_compile_range, byte_compile_range, truncate_wchar,
71397         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
71398         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
71399         count_mbs_length, wcs_re_match_2_internal,
71400         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
71401         PREFIX(alt_match_null_string_p),
71402         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
71403         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
71404         regfree, PREFIX(extract_number)): Define with prototype.  Remove
71405         now-unnecessary declaration, if any.
71406         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
71407         regcomp, regexec):
71408         Remove now-unnecessary casts among pointer types.
71409         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
71410
71411         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
71412         (free): Remove decl.
71413
71414         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
71415
71416         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
71417         (free): Remove decl.
71418
71419         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
71420         * lib/xgetcwd.c: Likewise.
71421
71422         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
71423         (free): Remove decl.
71424
71425         * lib/strchrnul.c (strchrnul): Define with a prototype.
71426         Fix bug: c_in was not converted to char before searching.
71427
71428         The following changes are not K&R related:
71429
71430         * lib/group-member.h: Include <sys/types.h>, so that this file is
71431         self-contained.
71432         * lib/makepath.h: Likewise.
71433
71434         * lib/getusershell.c (readname, default_index, line_size, readname):
71435         Use size_t, not int, for sizes.
71436         (readname): If the size overflows, report an error instead of
71437         looping forever.
71438
71439 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71440
71441         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
71442         libc.
71443
71444 2003-09-09  Paul Eggert  <eggert@twinsun.com>
71445
71446         * README: New section: portability guidelines.
71447
71448 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71449
71450         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
71451         C89 spec.
71452
71453 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
71454
71455         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
71456
71457 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71458
71459         Assume C89 or better; remove K&R cruft.
71460         A few of these changes were first proposed by Derek Robert Price
71461         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
71462
71463         * lib/addext.c: Include <string.h> unconditionally.
71464         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
71465         Don't declare getenv or malloc.
71466
71467         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
71468         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
71469         (NULL): Remove.
71470         (find_stack_direction, alloca): Use prototypes.
71471
71472         * lib/atexit.c (atexit): Define using a prototype.
71473
71474         * lib/basename.c, dirname.c, stripslash.c:
71475         Include <string.h> unconditionally.
71476
71477         * lib/bcopy.c: Include <stddef.h>.
71478         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
71479
71480         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
71481
71482         * lib/error.h (error, error_at_line, error_print_progname)
71483         [! (defined (__STDC__) && __STDC__)]: Remove decls.
71484         * lib/error.c: Include error.h first, to check interface.
71485         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71486         (VA_START): Remove; all uses changeed to va_start.
71487         (exit, strerror): Remove decls.
71488         (error_print_progname): Prototype uncondionally.
71489         Don't include <errno.h>; no longer needed.
71490         (private_strerror): Remove.
71491         (error_tail): Always define.
71492         (error, error_at_line): Assume C89 or better; always use prototypes.
71493         * lib/fatal.c: Include "fatal.h" first, to test interface.
71494         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
71495         (VA_START): Remove; all uses changed to va_start.
71496         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
71497         this case.
71498         (exit): Remove decl.
71499         (fatal): Prototype unconditionally.  Assume va_start works.
71500         Abort at end, to pacify gcc.
71501
71502         * lib/euidaccess.c (main): Define with a prototype.
71503
71504         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
71505
71506         * lib/exitfail.c: Include <stdlib.h> unconditionally.
71507
71508         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
71509         prototypes.
71510         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
71511         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
71512         (getenv): Remove decl.
71513         (fnmatch): Define using a prototype.
71514         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
71515         (FCT): Define using a prototype.
71516
71517         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
71518
71519         * lib/gethostname.c: Include <stddef.h>.
71520         (gethostname): Define with prototype.  Length is size_t, not int.
71521
71522 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71523
71524         Assume C89 or better; remove K&R cruft.
71525         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
71526         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
71527         string.h, getenv, malloc.
71528         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
71529         headers.
71530         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
71531         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
71532         do not check for strerror.
71533         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
71534         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
71535         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
71536         do not check for doprnt or vprintf.
71537         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
71538         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
71539
71540 2003-09-08  Paul Eggert  <eggert@twinsun.com>
71541
71542         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
71543         getversion.c should have been removed then, but was accidentally
71544         preserved.
71545
71546         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
71547         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
71548
71549 2003-09-08  Karl Berry  <karl@gnu.org>
71550
71551         * config/config.sub, config.guess, srclistvars.sh: update from savannah
71552                 config, forget about prep.
71553
71554         * config/depcomp, missing: update from automake.
71555
71556 2003-09-07  Paul Eggert  <eggert@twinsun.com>
71557
71558         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
71559         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
71560
71561 2003-09-07  Paul Eggert  <eggert@twinsun.com>
71562
71563         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
71564         copy_tm_result.  Bug reported by Simon Josefsson in
71565         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
71566
71567 2003-09-06  Paul Eggert  <eggert@twinsun.com>
71568
71569         * m4/time_r.m4: New file.
71570         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
71571         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
71572         is. Check for timegm declaration.
71573         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
71574         Do not check for gmtime_r.
71575         Replace mktime if __mktime_internal does not exist and if mktime
71576         hasn't been replaced already.
71577
71578 2003-09-06  Paul Eggert  <eggert@twinsun.com>
71579
71580         * lib/time_r.c, lib/time_r.h: New files.
71581
71582         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
71583         __localtime_r.
71584         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
71585         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
71586
71587         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
71588         __gmtime_r.
71589         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
71590         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
71591         Include <time_r.h>.
71592
71593         * lib/timegm.c: Switch to glibc implementation, with the following
71594         changes:
71595         [defined HAVE_CONFIG_H]: Include <config.h>.
71596         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
71597         (__mktime_internal) [!defined _LIBC]: New decl.
71598         (__gmtime_r) [!defined _LIBC]: New macro and function.
71599         (timegm): Use a prototype, since gnulib assumes C89.
71600         Do not bother declaring tmp to be const, as it's not really usefu.
71601         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
71602         (timegm): Declare only if HAVE_DECL_TIMEGM.
71603
71604 2003-09-06  Paul Eggert  <eggert@twinsun.com>
71605
71606         * MODULES.html.sh (func_all_modules): Add time_r.
71607         * modules/time_r: New file.
71608         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
71609         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
71610
71611 2003-09-03  Paul Eggert  <eggert@twinsun.com>
71612
71613         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
71614         Bug reported by Lute Kamstra in
71615         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
71616
71617         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
71618         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
71619         course with correspondingly smaller numbers for tomorrow and
71620         yesterday.  From Tadayoshi Funaba.  Originally installed into
71621         sh-utils on 1999-08-07, but the patch got lost (I guess during the
71622         coreutils merge?).
71623
71624 2003-08-31  Simon Josefsson  <jas@extundo.com>
71625
71626         * modules/timegm: New file.
71627         * MODULES.html.sh (func_all_modules): Add timegm.
71628
71629 2003-08-31  Simon Josefsson  <jas@extundo.com>
71630
71631         * m4/timegm.m4: New file.
71632
71633 2003-08-31  Simon Josefsson  <jas@extundo.com>
71634
71635         * lib/timegm.h: New file.
71636         * lib/timegm.c: New file.  Based on
71637         wget-1.8.2/src/http.c:mktime_from_utc.
71638
71639 2003-08-31  Karl Berry  <karl@gnu.org>
71640
71641         * lib/argp.h: update from libc.
71642
71643 2003-08-28  Bruno Haible  <bruno@clisp.org>
71644
71645         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
71646         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
71647         followed by '#define fnmatch fnmatch_posix' gives an error.
71648
71649 2003-08-28  Bruno Haible  <bruno@clisp.org>
71650
71651         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
71652         warning on QNX, which defines O_BINARY to 000000.
71653
71654 2003-08-27  Jim Meyering  <jim@meyering.net>
71655
71656         * m4/mkstemp.m4: Require that the system mkstemp be able to create
71657         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
71658         would fail after 32.  Reported by Danny Levinson.  Details here:
71659         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
71660
71661 2003-08-24  Bruno Haible  <bruno@clisp.org>
71662
71663         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
71664         MSVC7 <stdio.h> is included later.
71665
71666 2003-08-22  Simon Josefsson  <jas@extundo.com>
71667
71668         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
71669
71670 2003-08-20  Karl Berry  <karl@gnu.org>
71671
71672         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
71673
71674 2003-08-20  Bruno Haible  <bruno@clisp.org>
71675
71676         * modules/progname: New file.
71677         * MODULES.html.sh (func_all_modules): Add progname.
71678
71679 2003-08-20  Bruno Haible  <bruno@clisp.org>
71680
71681         * lib/progname.h: New file, from GNU gettext.
71682         * lib/progname.c: New file, from GNU gettext.
71683         * lib/progreloc.c: New file, from GNU gettext.
71684
71685 2003-08-19  Jim Meyering  <jim@meyering.net>
71686
71687         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
71688         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
71689
71690 2003-08-19  Bruno Haible  <bruno@clisp.org>
71691
71692         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
71693         more.
71694
71695 2003-08-19  Bruno Haible  <bruno@clisp.org>
71696
71697         * lib/xstrdup.c: Assume <string.h> exists.
71698
71699 2003-08-18  Paul Eggert  <eggert@twinsun.com>
71700
71701         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
71702         in makefile rules.
71703
71704 2003-08-18  Jim Meyering  <jim@meyering.net>
71705
71706         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
71707         * m4/lib-ld.m4: Likewise.
71708
71709 2003-08-18  Jim Meyering  <jim@meyering.net>
71710
71711         * lib/setenv.h: Indent nested cpp directive.
71712         * lib/vasnprintf.c: Remove trailing blanks.
71713
71714 2003-08-17  Simon Josefsson  <jas@extundo.com>
71715
71716         * modules/xstrndup: New file.
71717         * MODULES.html.sh (func_all_modules): Add xstrndup.
71718
71719 2003-08-17  Simon Josefsson  <jas@extundo.com>
71720
71721         * modules/argp: Fix autoconf macro name. Add more dependencies.
71722
71723 2003-08-17  Simon Josefsson  <jas@extundo.com>
71724
71725         * m4/xstrndup.m4: New file.
71726
71727 2003-08-17  Simon Josefsson  <jas@extundo.com>
71728
71729         * m4/argp.m4: New file.
71730
71731 2003-08-17  Simon Josefsson  <jas@extundo.com>
71732             Bruno Haible  <bruno@clisp.org>
71733
71734         * lib/xstrndup.h: New file.
71735         * lib/xstrndup.c: New file.
71736
71737 2003-08-17  Bruno Haible  <bruno@clisp.org>
71738
71739         * modules/strndup (Files, Include): Add lib/strndup.h.
71740
71741 2003-08-17  Bruno Haible  <bruno@clisp.org>
71742
71743         * modules/euidaccess (Files): Add lib/euidaccess.h.
71744
71745 2003-08-17  Bruno Haible  <bruno@clisp.org>
71746
71747         * lib/strndup.h: New file.
71748
71749 2003-08-17  Bruno Haible  <bruno@clisp.org>
71750
71751         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
71752         like AC_GNU_SOURCE.
71753         * modules/extensions (configure.ac): Comment out the invocation of
71754         gl_USE_SYSTEM_EXTENSIONS.
71755
71756 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71757
71758         Merges from coreutils, etc.
71759         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
71760         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
71761         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
71762         fixing a typo.
71763         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
71764         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
71765
71766 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71767
71768         Document merge from coreutils.
71769         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
71770         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
71771         * modules/utime: Add m4/utimes-null.m4.
71772
71773 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71774
71775         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
71776         space, undoing this 2003-08-12 change:
71777         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71778
71779 2003-08-16  Paul Eggert  <eggert@twinsun.com>
71780
71781         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
71782         strtoul.c from libc, undoing this 2003-08-12 change:
71783         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
71784
71785 2003-08-16  Jim Meyering  <jim@meyering.net>
71786
71787         Merges from coreutils.
71788         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
71789         prefix.  Adjust cache variables similarly.  Create 500 rather than
71790         just 300 files, to exercise bug on Darwin6.5, too.
71791         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
71792         $missing_dir.
71793         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
71794         AM_SYS_POSIX_TERMIOS.
71795         Reported by mkc@mathdogs.com.
71796         Also change use of $am_cv_sys_posix_termios
71797         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
71798         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
71799         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
71800         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
71801         in /proc/mounts until it finds one with matching device number.  This
71802         is unnecessary when the FILE argument *is* a mount point.  No stat call
71803         is necessary in that case.  So, disable the statvfs-testing code on
71804         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
71805         as RedHat bug# 84846.
71806         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71807         to 1MB, so as not to render systems with no stack size limit (e.g.,
71808         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71809         Include <unistd.h>.  On some systems,
71810         it is required for the definition of _SC_PAGESIZE.
71811
71812 2003-08-16  Jim Meyering  <jim@meyering.net>
71813
71814         Merge from coreutils.
71815         * lib/xstrtoimax.c: #else #if -> #elif.
71816         * lib/xstrtoumax.c: Likewise.
71817
71818 2003-08-16  Jim Meyering  <jim@meyering.net>
71819
71820         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
71821         * m4/utimes.m4: Removed.
71822         * m4/utimes-null.m4: Renamed from utimes.m4.
71823
71824         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
71825         to 1MB, so as not to render systems with no stack size limit (e.g.,
71826         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
71827         Include <unistd.h>.  On some systems,
71828         it is required for the definition of _SC_PAGESIZE.
71829
71830 2003-08-16  Jim Meyering  <jim@meyering.net>
71831         and Paul Eggert  <eggert@cs.ucla.edu>
71832
71833         Merges from coreutils, etc.
71834
71835         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
71836         using the latest version from cvs.  This avoids problems with #line
71837         directives using a vendor (Sun) compiler.
71838         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
71839         Don't set GETGROUPS_LIB here; now it's
71840         done via getgroups.m4's wrapper function.
71841         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
71842         rather than just in sh-util/configure.in, so that the
71843         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
71844         same.
71845         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
71846         AC_FUNC_GETLOADAVG where to find getloadavg.c.
71847         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
71848         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
71849         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
71850         Remove code that is now done by the newly-required macros.
71851         Append $(EXEEXT) to DF_PROG.
71852         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
71853         Do not invoke or require the following here,
71854         since prereq.m4 or some gnulib .m4 now does this for us:
71855         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
71856         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
71857         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
71858         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
71859         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
71860         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
71861         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
71862         AC_FUNC_OBSTACK.
71863         Do not replace the following functions, as this is now the job
71864         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
71865         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
71866         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
71867         atexit getpass, strdup, getpagesize.
71868         Replace 'raise'.
71869         Do not check for the following functions, as this is now the job
71870         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
71871         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
71872         setregid.
71873         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
71874         Check for sys/sysctl.h.
71875         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
71876         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
71877         of checking for ssize_t ourselves.
71878
71879         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
71880         Require every macro that gnulib/modules/* suggests for us.
71881         (jm_PREREQ_ADDEXT): New macro.
71882         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
71883         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
71884
71885         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
71886         (gl_PHYSMEM): Use it.
71887         Also check for `table' function.
71888         Check for new headers and functions.
71889         Add check for sys/sysmp.h.
71890         With suggestions from Kaveh Ghazi.
71891         Ignore headers that are present but cannot be compiled.  This
71892         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
71893         C 5.4.
71894
71895 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71896
71897         Document merge from coreutils.
71898         * modules/userspec: Depend on posixver.
71899         * modules/strftime: Depend on tzset.
71900
71901 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71902
71903         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
71904         rather than tab, after '#' in shell-script copyright notices.
71905         Suggested by Bruno Haible.
71906
71907 2003-08-15  Paul Eggert  <eggert@twinsun.com>
71908
71909         * config/srclist-update: Use three spaces, rather than tab, after '#'
71910         in shell-script copyright notices.  Suggested by Bruno Haible.
71911         Remove unnecessary parenthesization in regular expression.
71912
71913 2003-08-15  Jim Meyering  <jim@meyering.net>
71914
71915         Merge from coreutils.
71916         * lib/xgethostname.c: Include <stdlib.h>.
71917         (xghostname): Don't exit for anything other than memory-related
71918         failure; just return NULL.
71919         * lib/userspec.c: Include "posixver.h".
71920         (parse_user_spec): Accept `.' as a separator only
71921         in pre-POSIX-200112 mode.
71922         * lib/strtoimax.c: Use #elif rather than #else #if.
71923         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
71924         Remove function, now that we can rely on a working tzset function.
71925         [!_LIBC]: Ensure that the required autoconf test has been run.
71926         [!defined _NL_CURRENT && HAVE_STRFTIME]:
71927         Use underlying_strftime for %r.
71928         * lib/sha.c: Merge in some clean-up and optimization changes from
71929         glibc.
71930         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
71931         Ensure that it is a multiple of 64.
71932         Rearrange loop exit tests so as to avoid performing an
71933         additional fread after encountering an error or EOF.
71934         * lib/realloc.c: Update copyright date.
71935
71936 2003-08-15  Jim Meyering  <jim@meyering.net>
71937         and Paul Eggert  <eggert@twinsun.com>
71938
71939         Merge from coreutils.
71940         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
71941         member but strut utmpx does not.  Needed for AIX 4.3.3.
71942         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
71943
71944 2003-08-15  Jim Meyering  <jim@meyering.net>
71945         and Paul Eggert  <eggert@cs.ucla.edu>
71946
71947         Merges from coreutils, etc.
71948         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
71949         Require gl_FUNC_TZSET_CLOBBER.
71950         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
71951         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
71952         members.
71953
71954 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71955
71956         Help the merge from coreutils.
71957         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
71958         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
71959         * m4/tzset.m4: Use it too.
71960
71961 2003-08-14  Paul Eggert  <eggert@twinsun.com>
71962
71963         * modules/tzset: New file.
71964
71965 2003-08-14  Jim Meyering  <jim@meyering.net>
71966
71967         Merges from coreutils.
71968         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
71969         variable names, rather than @FNMATCH_H@.
71970         * modules/alloca: Likewise for $(ALLOCA_H).
71971
71972         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
71973         the three copies of the literal target, `fnmatch.h'.
71974         * modules/alloca (alloca.h): Likewise.
71975
71976 2003-08-14  Jim Meyering  <jim@meyering.net>
71977
71978         Merge from coreutils.
71979         * m4/tzset.m4: New file.
71980         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
71981         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
71982         otherwise, AIX 5.1 systems would end up using the latter.
71983         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
71984         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
71985         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
71986         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
71987
71988 2003-08-14  Jim Meyering  <jim@meyering.net>
71989
71990         Merge from coreutils.
71991         * lib/obstack.h: Whitespace changes.
71992         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
71993         and xcalloc return values.
71994         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
71995         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
71996         hang on OSF/1 5.1 for DIR on both local and remote file systems.
71997         Reported by (and fix confirmed by) Nelson H. F. Beebe.
71998         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
71999         error from mntctl.
72000         Use mntctl's return value to drive the entry-processing loop, since
72001         we can't rely on the value of the vmt_length member in the last
72002         entry.  On some systems doing so could result in exhausting
72003         virtual memory.  Based in part on a patch from Mike Jetzer.
72004
72005 2003-08-14  Jim Meyering  <jim@meyering.net>
72006         and Paul Eggert  <eggert@twinsun.com>
72007
72008         Merges from coreutils, plus other fixes.
72009         * lib/physmem.c: Merge in portability changes from gcc/libiberty
72010         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
72011         for credits and details.  Thanks to Kaveh Ghazi for helping
72012         to keep these files in sync.
72013         (ARRAY_SIZE): Define it.
72014         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
72015         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
72016         (memcasecmp): Don't assume size_t fits in unsigned int.
72017         Remove casts and duplicate code.
72018         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
72019         (memcpy): Remove definition.
72020         Merge in some clean-up and optimization changes from glibc.
72021         [BLOCKSIZE]: Move definition to top of file.
72022         Ensure that it is a multiple of 64.
72023         Rearrange loop exit tests so as to avoid performing an
72024         additional fread after encountering an error or EOF.
72025         * lib/md5.h (md5_uintptr): Define.
72026         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
72027         return to the initial working directory.  Preserve errno
72028         for caller.
72029         * lib/idcache.c: Include "xalloc.h".
72030         (xmalloc, xrealloc): Remove decls.
72031         (getuser): Remove casts no longer required in C89.
72032         * lib/human.c: Include stdio.h, for sprintf.
72033         * lib/group-member.c: Include "xalloc.h".
72034         (xmalloc, xrealloc): Remove decls.
72035         (get_group_info): Remove casts no longer required in C89.
72036         * lib/getusershell.c (readname): Remove casts no longer required in
72037         C89.
72038         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
72039         * lib/getline.c: Whitespace fix, from coreutils.
72040
72041 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72042
72043         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
72044         Check for isascii.
72045
72046         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
72047         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
72048         Undo previous (whitespace-only) change.
72049
72050 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72051
72052         * lib/exclude.c: Include <ctype.h>
72053         (IN_CTYPE_DOMAIN): New macro.
72054         (is_space): New fn.
72055         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
72056         and empty lines.
72057
72058         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72059         Undo previous (whitespace-only) change.
72060
72061 2003-08-13  Paul Eggert  <eggert@twinsun.com>
72062
72063         * config/srclist-update: Change update back to the old behavior,
72064         leaving whitespace alone.  Use one 'sed' command rather than a
72065         pipeline.
72066         (fixlicense): Now a variable, not a function.
72067         (remove_trailing_blanks): Remove.
72068         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
72069         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72070         Undo previous (whitespace-only) change.
72071
72072 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72073
72074         Merge from coreutils.
72075         * modules/euidaccess: Add lib_SOURCES, include for new
72076         file euidaccess.h
72077
72078 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72079
72080         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
72081         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
72082         Normalize leading white space and remove trailing white space.
72083
72084         Merge from coreutils
72085         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
72086
72087         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
72088         0.12.1.  These files are now being upgraded automatically by
72089         ../config/srclist-update.
72090
72091 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72092
72093         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
72094         Normalize leading white space and remove trailing white space.
72095         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
72096         notice, as per ../config/srclist-update.
72097
72098         Merge from coreutils.
72099         * lib/euidaccess.h: New file.
72100         * lib/euidaccess.c: Include it.
72101         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
72102         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
72103         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
72104
72105 2003-08-12  Paul Eggert  <eggert@twinsun.com>
72106
72107         * config/srclist-update: Add copyright notice.
72108         (remove_id_lines, remove_trailing_blanks): New constants.
72109         (fixfile): Use them to normalize spacing a bit in copied files.
72110         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
72111         Normalize leading white space and remove trailing white space.
72112
72113         * config/texinfo.tex: Sync with texinfo.
72114
72115         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
72116         strtoul.c from libc, to merge coreutils whitespace changes.
72117
72118         * config/srclist.txt: Get the following m4 files from gettext:
72119         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
72120         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
72121         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
72122         wint_t.m4.
72123
72124 2003-08-12  Karl Berry  <karl@gnu.org>
72125
72126         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
72127         been made.
72128
72129 2003-08-11  Paul Eggert  <eggert@twinsun.com>
72130
72131         * modules/gnu-source, m4/gnu-source.m4:
72132         Remove; we're assuming Autoconf 2.54 or later now.
72133         Suggested by Bruno Haible.
72134         * MODULES.html.sh (func_all_modules): Remove gnu-source.
72135
72136 2003-08-11  Bruno Haible  <bruno@clisp.org>
72137
72138         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
72139
72140 2003-08-11  Bruno Haible  <bruno@clisp.org>
72141
72142         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
72143         (vasnprintf): Use it instead of wcslen.
72144
72145 2003-08-11  Bruno Haible  <bruno@clisp.org>
72146
72147         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
72148         value to ensure that _Bool promotes to int. Use #define for _Bool when
72149         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
72150
72151 2003-08-10  Karl Berry  <karl@gnu.org>
72152
72153         * lib/regex.h: update from libc (whitespace fix).
72154
72155 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72156
72157         Merge some files from coreutils.  These changes were
72158         originally made by Jim Meyering.
72159         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
72160         many older Unixes require this.
72161         * lib/alloca.c (alloca): Remove cast to argument of free;
72162         no longer needed in C89.
72163         * lib/alloca_.h, regex.h: Fix white space to match
72164         what GNU indent does.
72165
72166 2003-08-09  Paul Eggert  <eggert@twinsun.com>
72167
72168         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
72169         apparently Emacs's Unicode mode got confused before my 2003-08-05
72170         checkin.
72171
72172 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72173
72174         * m4/extensions.m4: New file.
72175         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
72176         Require gl_USE_SYSTEM_EXTENSIONS.
72177         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
72178         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
72179
72180 2003-08-08  Paul Eggert  <eggert@twinsun.com>
72181
72182         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
72183         * modules/extensions, modules/gnu-source: New files.
72184         * modules/timespec, modules/unlocked-io: Depend on extensions.
72185
72186 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72187
72188         * modules/restrict: New file.
72189         * MODULES.html.sh (func_all_modules): Add restrict.
72190         * modules/regex: Depend on restrict.
72191
72192 2003-08-07  Paul Eggert  <eggert@twinsun.com>
72193
72194         * m4/restrict.m4: New file.
72195         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
72196
72197 2003-08-07  Bruno Haible  <bruno@clisp.org>
72198
72199         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
72200         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
72201
72202 2003-08-07  Bruno Haible  <bruno@clisp.org>
72203
72204         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
72205         makes the module 'getndelim2' compatible with the module 'getline'.
72206
72207 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72208
72209         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
72210         byte with "\201" to avoid glitches when editing that source file
72211         with multi-gnome-terminal.
72212
72213 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72214
72215         * lib/bumpalloc.h: Remove.
72216
72217 2003-08-05  Paul Eggert  <eggert@twinsun.com>
72218
72219         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
72220         * modules/bumpalloc: Remove.
72221
72222 2003-08-04  Paul Eggert  <eggert@twinsun.com>
72223
72224         * lib/getloadavg.c: Change copyright notice and spacing to conform to
72225         GNU coding style.
72226
72227         Merge from coreutils.
72228         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
72229         1. From glibc.
72230         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
72231         from Karl Berry, implemented by Jim Meyering.
72232         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
72233         from Dmitry V. Levin.
72234         Remove anachronistic cast of xrealloc.
72235         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
72236         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
72237         type. Otherwise, it wouldn't compile with at least /bin/cc on
72238         ymp-cray-unicos9.0.2.X.
72239         Combine two mostly-identical uses of alloca into one.
72240         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
72241
72242 2003-08-04  Dave Love  <d.love@dl.ac.uk>
72243
72244         [From Emacs.]
72245
72246         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
72247         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
72248         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
72249         obsolete NLIST_NAME_UNION.
72250         [__GNU__]: Undef BSD and FSCALE.
72251         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
72252
72253 2003-08-03  Paul Eggert  <eggert@twinsun.com>
72254
72255         * lib/stdbool_.h (_Bool): Make it signed char, instead of
72256         an enum type, so that it's guaranteed to promote to int.  See:
72257         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
72258
72259 2003-08-03  Karl Berry  <karl@gnu.org>
72260
72261         * config/depcomp: update from automake.
72262
72263 2003-07-31  Paul Eggert  <eggert@twinsun.com>
72264
72265         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
72266         (strerror): Don't assume that a printable int fits in 14 bytes.
72267
72268 2003-07-31  Bruno Haible  <bruno@clisp.org>
72269
72270         * modules/getpass-gnu: New file.
72271         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
72272
72273 2003-07-31  Bruno Haible  <bruno@clisp.org>
72274
72275         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
72276
72277 2003-07-24  Karl Berry  <karl@gnu.org>
72278
72279         * config/missing: update from automake.
72280
72281 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
72282             Bruno Haible  <bruno@clisp.org>
72283
72284         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
72285         * lib/getline.c (getline, getdelim): Likewise.
72286         Remove _GNU_SOURCE define; now it's defined in config.h through
72287         m4/getline.m4.
72288
72289 2003-07-23  Karl Berry  <karl@gnu.org>
72290
72291         * config/config.sub: update from prep.
72292
72293 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72294
72295         * modules/xalloc (Depends-on): Add exitfail.
72296         * modules/xmemcoll: Likewise.
72297
72298 2003-07-22  Paul Eggert  <eggert@twinsun.com>
72299
72300         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
72301         over-parenthesization in macros.
72302
72303         Sync with coreutils.
72304
72305         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
72306         required by C99.
72307
72308         Use `exit_failure' for xalloc and xmemcoll instead of their own
72309         private exit-failure variables.
72310         * lib/xalloc.h (xalloc_exit_failure): Remove.
72311         * lib/xmalloc.c: Likewise.  Include exitfail.h.
72312         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
72313         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
72314         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
72315         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
72316
72317 2003-07-20  Jim Meyering  <jim@meyering.net>
72318
72319         * modules/closeout (Depends-on): Add exitfail.
72320         Suggestion from Bruno Haible.
72321
72322 2003-07-19  Karl Berry  <karl@gnu.org>
72323
72324         * config/config.sub: update from prep.
72325
72326 2003-07-18  Paul Eggert  <eggert@twinsun.com>
72327
72328         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
72329         Remove.
72330         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
72331         to test that it can stand by itself.  Include "exitfail.h".
72332         Clients should set exit_failure instead.
72333         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
72334
72335 2003-07-18  Bruno Haible  <bruno@clisp.org>
72336
72337         * modules/getndelim2: New file.
72338         * modules/getline: Share files with module getndelim2.
72339         * modules/getnline: Depend on getndelim2 instead of sharing files with
72340         it. Add getnline.c to lib_SOURCES.
72341         * MODULES.html.sh (func_all_modules): Add getndelim2.
72342
72343 2003-07-18  Bruno Haible  <bruno@clisp.org>
72344
72345         * m4/getndelim2.m4: New file.
72346         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
72347         invoke gl_PREREQ_GETNDELIM2.
72348         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
72349         gl_PREREQ_GETNDELIM2.
72350         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
72351         gl_GETNDELIM2.
72352
72353 2003-07-18  Bruno Haible  <bruno@clisp.org>
72354
72355         * lib/getndelim2.h: New file.
72356         * lib/getndelim2.c: Make into a module of its own. Include config.h,
72357         getndelim2.h.
72358         (getndelim2): Make non-static. Change return type to ssize_t.
72359         * lib/getline.h: Change argument names.
72360         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
72361         * lib/getnline.c: Include getndelim2.h.
72362
72363 2003-07-18  Andreas Schwab  <schwab@suse.de>
72364
72365         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
72366
72367 2003-07-17  Karl Berry  <karl@gnu.org>
72368
72369         * config/config.sub: update from prep.
72370
72371 2003-07-17  Bruno Haible  <bruno@clisp.org>
72372
72373         * modules/getnline: New file.
72374         * modules/getline: Add lib/getndelim2.c to source file list.
72375         * MODULES.html.sh (func_all_modules): Add getnline.
72376
72377 2003-07-17  Bruno Haible  <bruno@clisp.org>
72378
72379         * m4/getnline.m4: New file.
72380
72381 2003-07-17  Bruno Haible  <bruno@clisp.org>
72382
72383         * m4/Makefile.am.in: Remove file.
72384         * m4/Makefile.am: Remove file.
72385         * m4/Makefile.in: Remove file.
72386
72387 2003-07-17  Bruno Haible  <bruno@clisp.org>
72388
72389         * lib/getnline.h: New file.
72390         * lib/getnline.c: New file.
72391         * lib/getndelim2.c: New file, extracted from getline.c.
72392         (getndelim2): Renamed from getdelim2, with added nmax argument.
72393         * lib/getline.c: Include getndelim2.c.
72394         (getdelim2): Moved out to getndelim2.c.
72395         (getline, getdelim): Update.
72396
72397 2003-07-17  Bruno Haible  <bruno@clisp.org>
72398
72399         * lib/Makefile.am: Remove file.
72400         * lib/Makefile.in: Remove file.
72401
72402 2003-07-17  Bruno Haible  <bruno@clisp.org>
72403
72404         * configure.in: Remove file.
72405         * Makefile.in: Remove file.
72406
72407 2003-07-17  Bruno Haible  <bruno@clisp.org>
72408
72409         * MODULES.html.sh: Put the </BODY> right before </HTML>.
72410
72411 2003-07-16  Karl Berry  <karl@gnu.org>
72412
72413         * config/srclist-update: was running fixlicense twice, which caused
72414                 texinfo.tex to be nullified for some reason.  Simplify,
72415                 $gplsrc is no longer needed as far as I can see?
72416
72417 2003-07-16  Jim Meyering  <jim@meyering.net>
72418
72419         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
72420
72421 2003-07-15  Paul Eggert  <eggert@twinsun.com>
72422
72423         * config/srclist.txt: Get the following files from gettext-runtime/intl
72424         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
72425         ref-del.sin.  From Bruno Haible.
72426         * config/srclist-update (fixfile): Change grep pattern again, since the
72427         previous fix didn't work (there was another trailing $).  Use
72428         '[$]' to escape the $s.
72429
72430 2003-07-15  Karl Berry  <karl@gnu.org>
72431
72432         * lib/vasnprintf.c: update from gettext.
72433
72434 2003-07-15  Karl Berry  <karl@gnu.org>
72435
72436         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
72437         gets expanded when surrounded by '$'.
72438
72439 2003-07-15  Jim Meyering  <jim@meyering.net>
72440
72441         * modules/save-cwd: Don't depend on error.  From Derek Price.
72442
72443 2003-07-15  Jim Meyering  <jim@meyering.net>
72444
72445         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
72446
72447 2003-07-14  Simon Josefsson  <jas@extundo.com>
72448
72449         * modules/mempcpy: New file.
72450         * MODULES.html.sh (func_all_modules): Add mempcpy.
72451
72452 2003-07-14  Simon Josefsson  <jas@extundo.com>
72453
72454         * m4/mempcpy.m4: New file.
72455
72456 2003-07-14  Simon Josefsson  <jas@extundo.com>
72457
72458         * lib/mempcpy.h: New file.
72459         * lib/mempcpy.c: New file.
72460
72461 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72462
72463         * modules/getdate, modules/posixtm: Depend on mktime.
72464
72465 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72466
72467         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
72468         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
72469         unicodeio.c, unicodeio.h, unlocked-io.h:
72470         Switch from LGPL to GPL.
72471
72472 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72473
72474         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
72475         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
72476         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
72477         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
72478         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
72479         updated automatically by ../config/srclist-update.  This changes
72480         their license from LPGL to GPL.
72481
72482 2003-07-14  Paul Eggert  <eggert@twinsun.com>
72483
72484         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
72485         assumed to refer to the root of the most recent stable gettext version.
72486         * config/srclistvars.sh: Add defaults for eggert.
72487         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
72488         Match "This program" as well as "The program".  This is needed
72489         for gettext.
72490
72491 2003-07-14  Jim Meyering  <jim@meyering.net>
72492
72493         Don't emit diagnostics.  Let callers do that.
72494         * lib/save-cwd.c: Don't include "error.h".
72495         (save_cwd): Don't call error.  Ensure that errno is valid
72496         when returning nonzero.
72497
72498         * lib/save-cwd.h (restore_cwd): Update prototype.
72499         * lib/save-cwd.c (restore_cwd): Remove two parameters.
72500         Simplify.  Don't call error upon failure.  Let callers do that.
72501         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
72502         when auditing is enabled.  But don't bother updating the #if.
72503
72504 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
72505
72506         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
72507         it breaks C++ compilation.
72508         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
72509
72510 2003-07-10  Simon Josefsson  <jas@extundo.com>
72511
72512         * modules/strchrnul (Makefile.am): Add strchrnul.h.
72513
72514 2003-07-10  Jim Meyering  <jim@meyering.net>
72515
72516         * m4/clock_time.m4: Remove trailing blank.
72517         * m4/intmax_t.m4: Likewise.
72518
72519 2003-07-10  Jim Meyering  <jim@meyering.net>
72520
72521         * lib/vasnprintf.c: Remove trailing blanks.
72522         Make cpp indentation consistent.
72523
72524 2003-07-09  Paul Eggert  <eggert@twinsun.com>
72525
72526         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
72527         posixver.c, strftime.c, strnlen.c, strverscmp.c:
72528         Switch from LGPL to GPL.
72529
72530 2003-07-09  Paul Eggert  <eggert@twinsun.com>
72531
72532         * config/srclist.txt: Sort sublists.  Add
72533         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
72534         that differ from gnulib for one reason or another; we'd like this list
72535         to be smaller but for now let's document what we have.
72536
72537 2003-07-08  Paul Eggert  <eggert@twinsun.com>
72538
72539         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
72540         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
72541         and sweeter "eval x=$x".
72542         * config/srclist.txt: Get lib/argp* from glibc.
72543
72544 2003-07-07  Paul Eggert  <eggert@twinsun.com>
72545
72546         * lib/mktime.c: Fix some boundary cases and remove need for floating
72547         point.
72548
72549         Issue a compile-time diagnostic if time_t is floating point, or if
72550         two's complement arithmetic is not in effect, or if arithmetic
72551         right shift does not propagate the sign.  These assumptions were
72552         all in the original code but they weren't checked.
72553
72554         (TIME_T_MIDPOINT, verify): New macros.
72555         (__isleap): Remove; it has integer overflow problems.
72556         (leapyear): New function, without those problems.
72557         (ydhms_tm_diff): Remove; splitting into two parts.
72558         (ydhms_diff): New function, containing the arithmetic part of
72559         the old ydhms_tm_diff function.  Issue a compile-time
72560         diagnostic if we are not using C99 integer division.
72561         Avoid casts when possible.
72562         (guess_time_tm): New function, containing the checking part of
72563         the old ydhms_tm_diff function.  Return the new value, rather than
72564         the difference between it and the old.  Accept a new argument T
72565         so that *T specifies the old value.  Check for overflow in the result.
72566
72567         (__mktime_internal): Use a time_t offset, not a long int offset.
72568         This undoes the 2003-06-04 change, which is no longer needed now
72569         that we have better overflow checking.
72570         (localtime_offset): Likewise.
72571
72572         (__mktime_internal): Avoid harmful overflow on hosts where time_t
72573         and long are 64-bit but int is only 32-bit.
72574         (ydhms_diff): Use long int to store year1 and yday1.
72575         Issue a compile-time diagnostic if long int is not wide enough.
72576
72577         (__mktime_internal): Use long int to store adjusted year and yday.
72578         Use plain C rather than preprocessor commands, if that doesn't
72579         affect efficiency.
72580         Check for overflow (and try to repair) after each probe
72581         rather than checking only at the very end.  This avoids some bugs
72582         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
72583         does not equal GMT offset at maximum time).
72584         Use integer to check for overflow rather than floating point; this
72585         is more portable to non-IEEE hosts, and is a tad faster.
72586         When we detect that we are oscillating between two values,
72587         don't check whether tm_isdst has the requested value, since
72588         we already know the answer.  When tm_isdst has the wrong value,
72589         use a different heuristic to find the right one, based on the
72590         extreme values actually observed in practice in tz2003a,
72591         rather than the (overly optimistic) "previous 3 calendar quarters".
72592
72593         (not_equal_tm, print_tm, check_result): Use "const T" rather than
72594         "T const" to accommodate glibc style.
72595         (check_result): Use less-confusing report format.  "long" -> "long int.
72596         (main): Likewise.
72597         Don't loop if the iteration overflows time_t.
72598         Allow a negative step in the iteration.
72599
72600 2003-07-06  Karl Berry  <karl@gnu.org>
72601
72602         * config/depcomp: update from automake.
72603         * config/config.sub: update from prep.
72604
72605 2003-07-03  Karl Berry  <karl@gnu.org>
72606
72607         * config/config.guess: update from prep.
72608
72609 2003-07-01  Paul Eggert  <eggert@twinsun.com>
72610
72611         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
72612         xreadlink.c now includes it unconditionally.
72613
72614 2003-07-01  Paul Eggert  <eggert@twinsun.com>
72615
72616         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
72617         having it depend on HAVE_SYS_TYPES_H.
72618
72619 2003-07-01  Bruno Haible  <bruno@clisp.org>
72620
72621         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
72622         <sys/types.h> should be sufficient.
72623         Reported by Paul Eggert.
72624
72625 2003-06-26  Karl Berry  <karl@gnu.org>
72626
72627         * config/depcomp: update from automake.
72628
72629 2003-06-26  Bruno Haible  <bruno@clisp.org>
72630
72631         * modules/human: Depend on module stdbool.
72632
72633 2003-06-25  Bruno Haible  <bruno@clisp.org>
72634
72635         * modules/readlink: New file.
72636         * modules/xreadlink: Depend on it.
72637         * MODULES.html.sh (func_all_modules): Add readlink.
72638
72639 2003-06-25  Bruno Haible  <bruno@clisp.org>
72640
72641         * m4/readlink.m4: New file.
72642
72643 2003-06-25  Bruno Haible  <bruno@clisp.org>
72644
72645         * lib/readlink.c: New file.
72646
72647 2003-06-22  Karl Berry  <karl@gnu.org>
72648
72649         * config/srclist.txt: update mkinstalldirs from automake.
72650         * config/mkinstalldirs: update.
72651
72652 2003-06-22  Bruno Haible  <bruno@clisp.org>
72653
72654         Portability to mingw32.
72655         * m4/ssize_t.m4: New file, from GNU gettext.
72656         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
72657         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
72658
72659 2003-06-22  Bruno Haible  <bruno@clisp.org>
72660
72661         * modules/safe-read: Add m4/ssize_t.m4.
72662         * modules/xreadlink: Add m4/ssize_t.m4.
72663
72664 2003-06-20  Bruno Haible  <bruno@clisp.org>
72665
72666         Assume C89, so PARAMS isn't needed.
72667         * lib/unicodeio.h (PARAMS): Remove.
72668         * lib/unicodeio.c: Don't use PARAMS.
72669
72670 2003-06-18  Karl Berry  <karl@gnu.org>
72671
72672         * config/config.{guess,sub}: update from prep.
72673
72674 2003-06-18  Jim Meyering  <jim@meyering.net>
72675
72676         Merge changes from coreutils.
72677         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
72678         Remove explicit declarations of xmalloc and realloc.
72679         Include xalloc.h.
72680         (read_utmp): Remove anachronistic cast of xmalloc.
72681
72682 2003-06-17  Paul Eggert  <eggert@twinsun.com>
72683
72684         Assume C89, so PARAMS isn't needed.
72685         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
72686         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
72687         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
72688         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
72689         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
72690         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
72691         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
72692         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
72693         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
72694         lib/xstrtod.h, lib/xstrtol.h: Likewise.
72695         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
72696         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
72697         no longer needed. Anyway, config.h should always be included before any
72698         other file.
72699
72700 2003-06-11  Simon Josefsson  <jas@extundo.com>
72701
72702         * modules/sysexits: New file.
72703         * MODULES.html.sh (func_all_modules): Add sysexits.
72704
72705 2003-06-11  Simon Josefsson  <jas@extundo.com>
72706
72707         * lib/sysexit_.h: New file.
72708
72709 2003-06-11  Derek Price  <derek@ximbiot.com>
72710
72711         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
72712         necessary.
72713
72714 2003-06-11  Bruno Haible  <bruno@clisp.org>
72715
72716         * m4/sysexits.m4: New file.
72717
72718 2003-06-10  Simon Josefsson  <jas@extundo.com>
72719
72720         * lib/argp.h: New file, from glibc.
72721         * lib/argp-ba.c: New file, from glibc.
72722         * lib/argp-eexst.c: New file, from glibc.
72723         * lib/argp-fmtstream.c: New file, from glibc.
72724         * lib/argp-fmtstream.h: New file, from glibc.
72725         * lib/argp-fs-xinl.c: New file, from glibc.
72726         * lib/argp-help.c: New file, from glibc.
72727         * lib/argp-namefrob.h: New file, from glibc.
72728         * lib/argp-parse.c: New file, from glibc.
72729         * lib/argp-pv.c: New file, from glibc.
72730         * lib/argp-pvh.c: New file, from glibc.
72731         * lib/argp-xinl.c: New file, from glibc.
72732
72733 2003-06-10  Simon Josefsson  <jas@extundo.com>
72734
72735         * modules/strchrnul: New file.
72736
72737 2003-06-10  Simon Josefsson  <jas@extundo.com>
72738
72739         * modules/argp: New file.
72740
72741 2003-06-10  Simon Josefsson  <jas@extundo.com>
72742
72743         * m4/strchrnul.m4: New file.
72744
72745 2003-06-10  Simon Josefsson  <jas@extundo.com>
72746
72747         * lib/strchrnul.h: New file.
72748         * lib/strchrnul.c: New file.
72749
72750 2003-06-10  Bruno Haible  <bruno@clisp.org>
72751
72752         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
72753
72754 2003-06-07  Karl Berry  <karl@gnu.org>
72755
72756         * config/config.{guess,sub}: update from prep.
72757
72758 2003-06-07  Jim Meyering  <jim@meyering.net>
72759
72760         * modules/strtod: Use $(...) notation, not @...@ for
72761         AC_REPLACE'd variables.
72762         * modules/localcharset: Likewise.
72763
72764 2003-06-07  Jim Meyering  <jim@meyering.net>
72765
72766         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
72767         in place of my name in the copyright comment.
72768         Remove definition and uses of __P.
72769
72770         From coreutils.
72771         * lib/stat.c: Don't declare xmalloc explicitly.
72772         Instead, include "xalloc.h".
72773         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
72774         xrealloc, and xcalloc return values.
72775         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
72776         Improve comment.
72777         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
72778
72779 2003-06-07  Bruno Haible  <bruno@clisp.org>
72780
72781         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
72782         avoid AC_CONFIG_LINKS.
72783         * modules/fnmatch (Makefile.am): Use explicit creation rule for
72784         fnmatch.h, to avoid AC_CONFIG_LINKS.
72785         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
72786
72787 2003-06-07  Bruno Haible  <bruno@clisp.org>
72788
72789         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
72790         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
72791         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72792         directory.
72793         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
72794         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
72795         directory.
72796
72797 2003-06-06  Jim Meyering  <jim@meyering.net>
72798
72799         Merge from coreutils.
72800         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
72801         Consolidate declarations and initializations of *_base* locals.
72802
72803         Merge from coreutils.
72804         This avoids a core dump on systems without GNU putenv,
72805         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
72806         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
72807         (unsetenv): New static function, from GNU libc.
72808         (rpl_putenv): Use it.
72809
72810         * lib/modechange.c: Remove trailing blanks.
72811
72812         Merge from coreutils.
72813         * lib/fsusage.c: Remove declaration of statfs.
72814         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
72815
72816         * lib/posixtm.c: Include <stdbool.h> unconditionally.
72817
72818 2003-06-06  Jim Meyering  <jim@meyering.net>
72819
72820         * lib/stdbool_.h: Renamed from stdbool.h.in.
72821
72822 2003-06-06  Jim Meyering  <jim@meyering.net>
72823             Bruno Haible  <bruno@clisp.org>
72824
72825         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
72826         Adjust Makefile.am snippet not to redirect directly to target.
72827         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
72828
72829 2003-06-05  Paul Eggert  <eggert@twinsun.com>
72830
72831         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
72832         mismatch, look in future quarters as well as past.  This fixes a
72833         bug when processing fall-backwards gaps immediately after a long
72834         period of daylight-saving time.
72835
72836         * lib/mktime.c: Assume freestanding C89 or better.
72837         (HAVE_LIMITS_H): Remove.  Assume it's 1.
72838         (__P): Remove; not used.
72839         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
72840         (mktime, not_equal_tm, print_tm, check_result,
72841         main): Use prototypes.  Use const * where appropriate.
72842         (main): Fix typo in testing code that uncovered by above changes.
72843         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
72844
72845 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72846
72847         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
72848         locale.h, localeconv.  This merges changes from coreutils.
72849
72850         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
72851         It can be removed after the next Autoconf is released.
72852         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
72853         needed.
72854
72855 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72856
72857         * lib/mktime.c: Fix Debian bug 177940
72858         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
72859         (localtime_offset): Now long int, not time_t, because we want it
72860         to be guaranteed to be signed.  All uses changed.
72861         (__mktime_internal): If overflow would occur when adding offset,
72862         don't add it.
72863
72864         Merge 'human' changes from coreutils.  Rewrite to support
72865         locale-specific notations like thousands separators.
72866         * lib/human.c: Simplify authorship notice.
72867         Include human.h immediately after config.h.
72868         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
72869         <limits.h>: Do not include, since human.h does.
72870         (SIZE_MAX, UINTMAX_MAX): New macros.
72871         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
72872         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
72873         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
72874         (power_letter): Renamed from suffixes.
72875         (generate_suffix_backwards): Remove.
72876         (adjust_value): Now takes int style (because of human.h changes)
72877         and long double value (for greater precision on some platforms).
72878         (group_number): New function.
72879         (human_readable): Use it.  Use integer options, not enum.
72880         Put the options before the sizes in the arg list.
72881         Support all the new options.
72882         The old human_readable function has been removed;
72883         use inttostr.h instead.
72884         (human_readable, default_block_size, humblock):
72885         Use uintmax_t, not int, for block sizes.
72886         (human_readable_inexact, block_size_types): Remove.
72887         (block_size_opts): New constant.
72888         (human_options): Renamed from human_block_size, with new signature
72889         that allows block sizes up to UINTMAX_MAX.  All callers changed.
72890         * lib/human.h: Add copyright and authorship notice.
72891         Include <limits.h> and <stdbool.h> unconditionally.
72892         (PARAMS): Remove.  All uses removed.
72893         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
72894         (enum human_inexact_style): Remove tag; now a nameless enum.
72895         (human_floor, human_ceiling, human_round_to_even): Now have
72896         values 2, 0, 1 rather than -1, 1, 0.
72897         (human_group_digits, human_suppress_point_zero, human_autoscale,
72898         human_base_1024, human_SI, human_B): New constants.
72899         (human_readable_inexact, human_block_size): Remove.
72900         (human_readable): Size args are now uintmax_t, not int.
72901         (human_options): New decl.
72902
72903         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
72904         unnecessary now that we assume C89 or better.  This change
72905         imported from coreutils.
72906
72907         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
72908         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
72909         in the 2003-05-30 sync from glibc.
72910
72911         .h files should stand alone, but we shouldn't include <sys/types.h>
72912         if we can get away with just <stddef.h>.
72913
72914         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
72915         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
72916         rather than <sys/types.h>, as we merely need size_t.
72917         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
72918         to get size_t.
72919         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
72920         Include <stdio.h>, to get FILE.
72921         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
72922         memcasecmp.h has included <stddef.h> and all we need is size_t.
72923         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
72924         our interface, instead of including <sys/types.h>
72925
72926 2003-06-04  Paul Eggert  <eggert@twinsun.com>
72927
72928         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
72929         now, as glibc mktime is buggy on non-glibc systems.
72930
72931 2003-06-03  Karl Berry  <karl@gnu.org>
72932
72933         * config/config.sub: update from prep.
72934
72935 2003-06-02  Paul Eggert  <eggert@twinsun.com>
72936
72937         [from coreutils]
72938         Fix some minor time-related bugs with POSIX time arguments.
72939         Some valid time stamps were being rejected (notably -1, and
72940         time stamps before 1900 on 64-bit hosts).  And some invalid
72941         time stamps were being accepted, e.g. September 31.
72942
72943         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
72944         that we can return (time_t) -1 successfully.
72945         * lib/posixtm.c: Likewise.
72946         [HAVE_STDBOOL_H]: Include <stdbool.h>.
72947         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
72948         (t): Remove static var.
72949         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
72950         of static var.  All uses changed.
72951         (year): Do not reject years before 1900; they can occur with
72952         64-bit time_t.
72953         (posix_time_parse): Do not check for out-of-range components;
72954         that is now the caller's responsibility, since our checks were
72955         only approximations.
72956         (posixtime): Use mktime to check for out-of-range components,
72957         since it knows them exactly.
72958         If mktime returns (time_t) -1, check whether an error actually occurred
72959         by invoking localtime on -1.
72960         (main) [TEST_POSIXTIME]: Check for input data errors, and report
72961         posixtime failures better.
72962         Improve the test data (in comments only).
72963
72964 2003-06-02  Karl Berry  <karl@gnu.org>
72965
72966         * config/mkinstalldirs (version): new variable.
72967         (--version): new option.
72968         (usage): improve message.
72969
72970 2003-05-30  Karl Berry  <karl@gnu.org>
72971
72972         * lib/mktime.c: update from libc.
72973
72974 2003-05-30  Bruno Haible  <bruno@clisp.org>
72975
72976         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
72977         * config/config.rpath: Upgrade to gettext-0.12.1.
72978
72979 2003-05-30  Bruno Haible  <bruno@clisp.org>
72980
72981         * m4/gettext.m4: Upgrade to gettext-0.12.1.
72982         * m4/nls.m4: New file, from gettext-0.12.1.
72983         * m4/po.m4: New file, from gettext-0.12.1.
72984         * m4/progtest.m4: Upgrade to gettext-0.12.1.
72985
72986 2003-05-30  Bruno Haible  <bruno@clisp.org>
72987
72988         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
72989         * lib/localcharset.h: Likewise.
72990         * lib/localcharset.c: Likewise.
72991
72992 2003-05-29  Karl Berry  <karl@gnu.org>
72993
72994         * config/config.rpath: update from gettext.
72995
72996 2003-05-28  Paul Eggert  <eggert@twinsun.com>
72997
72998         Assume the headers required for C89 freestanding compilers.
72999         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
73000         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
73001         * m4/human.m4 (gl_HUMAN): Likewise.
73002         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
73003         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
73004         * m4/userspec.m4 (gl_USERSPEC): Likewise.
73005         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
73006         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73007         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
73008
73009 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73010
73011         Assume the headers required for C89 freestanding compilers.
73012         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
73013         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
73014         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
73015         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
73016         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
73017         define, since <limits.h> is guaranteed to do that.
73018         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
73019         * lib/exclude.c: Include <stdbool.h> unconditionally.
73020         * lib/tempname.c: Include <stddef.h> unconditionally.
73021         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
73022         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
73023         <stddef.h> does that.
73024         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
73025         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
73026         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
73027         needed.
73028         * lib/xstrtol.c: Likewise.
73029         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
73030         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
73031
73032         * lib/addext.c (addext): Use assignment rather than cast, to avoid
73033         warnings on some platforms.
73034
73035         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73036         arbitrarily.
73037
73038 2003-05-26  Jim Meyering  <jim@meyering.net>
73039
73040         Merge in a change from coreutils:
73041         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
73042         that is guaranteed to be `no'.  Use `no_such_member' to indicate
73043         that condition, rather than `-1' which is slightly misleading.
73044         Change the name of the cache variable to have the gl_ prefix.
73045         Prompted by a patch from Richard Dawe for DJGPP.
73046
73047 2003-05-24  Karl Berry  <karl@gnu.org>
73048
73049         * config/config.guess: update from prep.
73050
73051 2003-05-22  Karl Berry  <karl@gnu.org>
73052
73053         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
73054
73055 2003-05-20  Karl Berry  <karl@gnu.org>
73056
73057         * config/config.guess: update from prep.
73058
73059 2003-05-18  Karl Berry  <karl@gnu.org>
73060
73061         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
73062         might actually be set by the user.
73063
73064         * config/depcomp, install-sh, mdate-sh: update from automake.
73065
73066 2003-05-17  Bruno Haible  <bruno@clisp.org>
73067
73068         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
73069         invalid expansion for AC_EGREP_CPP.
73070         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
73071         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
73072         Suggested by Akim Demaille <akim@epita.fr> in
73073         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
73074
73075 2003-05-12  Jim Meyering  <jim@meyering.net>
73076
73077         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
73078         the space-padded-by-default conversion specifiers, %e, %k, %l.
73079
73080 2003-05-12  Bruno Haible  <bruno@clisp.org>
73081
73082         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
73083         the string is longer than 4 KB.
73084
73085 2003-05-11  Karl Berry  <karl@gnu.org>
73086
73087         * config/config.{guess,sub}: update from prep.
73088
73089 2003-05-09  Bruno Haible  <bruno@clisp.org>
73090
73091         * modules/error: Add m4/strerror_r.m4 to file list.
73092
73093 2003-05-03  Bruno Haible  <bruno@clisp.org>
73094
73095         Upgrade to Unicode-4.0.
73096         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
73097         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
73098         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
73099         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
73100         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
73101         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
73102         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
73103         Change width of U+E0100..U+E01EF from 1 to 0.
73104
73105 2003-04-25  Jim Meyering  <jim@meyering.net>
73106
73107         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
73108         of type size_t, not int.
73109
73110 2003-04-25  Bruno Haible  <bruno@clisp.org>
73111
73112         * lib/copy-file.c: Include <stddef.h>, for size_t.
73113
73114 2003-04-21  Paul Eggert  <eggert@twinsun.com>
73115
73116         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
73117         code which expansion is under static control.  Patch imported from
73118         Akim Demaille's patch to Bison; see
73119         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
73120
73121 2003-04-14  Bruno Haible  <bruno@clisp.org>
73122
73123         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
73124
73125 2003-04-11  Jim Meyering  <jim@meyering.net>
73126
73127         Merge changes from Coreutils.
73128
73129         2003-03-22  Jim Meyering  <jim@meyering.net>
73130
73131         * lib/strftime.c (widen): Cast alloca return value to proper type.
73132
73133         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
73134
73135         From GNU libc.
73136         * lib/strftime.c (my_strftime): Handle very large width
73137         specifications for numeric values correctly.  Improve checks for
73138         overflow.
73139
73140         2003-01-19  Jim Meyering  <jim@meyering.net>
73141
73142         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
73143         definitions.
73144         (nl_get_alt_digit) [! defined my_strftime]: Define.
73145         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
73146         _nl_get_alt_digit and _nl_get_walt_digit.
73147
73148         * lib/strftime.c (my_strftime): Merge in locale-related changes from
73149         libc. These changes have no effect outside of _LIBC.
73150
73151 2003-04-10  Bruno Haible  <bruno@clisp.org>
73152
73153         * modules/findprog: New file.
73154         * MODULES.html.sh (func_all_modules): Add it.
73155
73156 2003-04-10  Bruno Haible  <bruno@clisp.org>
73157
73158         * m4/findprog.m4: New file.
73159         * m4/eaccess.m4: New file.
73160
73161 2003-04-10  Bruno Haible  <bruno@clisp.org>
73162
73163         * lib/findprog.h: New file, from GNU gettext.
73164         * lib/findprog.c: New file, from GNU gettext.
73165
73166 2003-04-05  Jim Meyering  <jim@meyering.net>
73167
73168         Merge changes from Coreutils.
73169
73170         * lib/exclude.h (PARAMS): Remove definition and uses.
73171         * lib/exclude.c: Remove uses of `PARAMS'.
73172
73173         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
73174         Add test-cases for DOS filenames. Declare program_name.
73175         (main): Set up program_name.  Patch by Rich Dawe.
73176
73177         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
73178         error from mntctl.
73179         Use mntctl's return value to drive the entry-processing loop, since
73180         we can't rely on the value of the vmt_length member in the last
73181         entry.  On some systems doing so could result in exhausting
73182         virtual memory.  Based in part on a patch from Mike Jetzer.
73183
73184 2003-04-04  Bruno Haible  <bruno@clisp.org>
73185
73186         * modules/linebreak: New file.
73187         * MODULES.html.sh (func_all_modules): Add it.
73188
73189 2003-04-04  Bruno Haible  <bruno@clisp.org>
73190
73191         * m4/linebreak.m4: New file.
73192
73193 2003-04-04  Bruno Haible  <bruno@clisp.org>
73194
73195         * lib/linebreak.h: New file, from GNU gettext.
73196         * lib/linebreak.c: New file, from GNU gettext with slight
73197         modifications.
73198         * lib/lbrkprop.h: New file, from GNU gettext.
73199
73200 2003-04-03  Bruno Haible  <bruno@clisp.org>
73201
73202         * modules/utf8-ucs4: New file.
73203         * modules/utf16-ucs4: New file.
73204         * modules/ucs4-utf8: New file.
73205         * modules/ucs4-utf16: New file.
73206         * MODULES.html.sh (func_all_modules): Add them.
73207
73208 2003-04-03  Bruno Haible  <bruno@clisp.org>
73209
73210         * m4/utf-ucs4.m4: New file.
73211         * m4/ucs4-utf.m4: New file.
73212
73213 2003-04-03  Bruno Haible  <bruno@clisp.org>
73214
73215         * lib/utf8-ucs4.h: New file, from GNU gettext.
73216         * lib/utf16-ucs4.h: New file, from GNU gettext.
73217         * lib/ucs4-utf8.h: New file, from GNU gettext.
73218         * lib/ucs4-utf16.h: New file, from GNU gettext.
73219
73220 2003-04-02  Bruno Haible  <bruno@clisp.org>
73221
73222         * modules/binary-io: New file.
73223         * MODULES.html.sh (func_all_modules): Add it.
73224
73225 2003-04-02  Bruno Haible  <bruno@clisp.org>
73226
73227         * lib/binary-io.h: New file, from GNU gettext.
73228
73229 2003-04-01  Bruno Haible  <bruno@clisp.org>
73230
73231         * modules/pathname: New file.
73232         * MODULES.html.sh (func_all_modules): Add it.
73233
73234 2003-04-01  Bruno Haible  <bruno@clisp.org>
73235
73236         * lib/pathname.h: New file, from GNU gettext.
73237         * lib/concatpath.c: New file, from GNU gettext.
73238
73239 2003-03-30  Bruno Haible  <bruno@clisp.org>
73240
73241         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
73242
73243 2003-03-30  Bruno Haible  <bruno@clisp.org>
73244
73245         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
73246         function chown() doesn't exist.
73247
73248 2003-03-28  Bruno Haible  <bruno@clisp.org>
73249
73250         * modules/copy-file: New file.
73251         * MODULES.html.sh (func_all_modules): Add it.
73252
73253 2003-03-28  Bruno Haible  <bruno@clisp.org>
73254
73255         * m4/copy-file.m4: New file.
73256
73257 2003-03-28  Bruno Haible  <bruno@clisp.org>
73258
73259         * lib/copy-file.h: New file, from GNU gettext.
73260         * lib/copy-file.c: New file, from GNU gettext.
73261
73262 2003-03-18  Jim Meyering  <jim@meyering.net>
73263
73264         * lib/quote.c (quote_n): Fix typo in comment.
73265
73266 2003-03-18  Bruno Haible  <bruno@clisp.org>
73267
73268         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
73269         checking.
73270         * m4/onceonly_2_57.m4: Likewise.
73271
73272 2003-03-17  Bruno Haible  <bruno@clisp.org>
73273
73274         * m4/onceonly.m4: Require autoconf 2.54 or newer.
73275         (m4_quote): Remove macro.
73276         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
73277
73278 2003-03-14  Jim Meyering  <jim@meyering.net>
73279
73280         Merge changes from Coreutils.
73281         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
73282         to be const, in order to avoid warnings.
73283         (obstack_room): Likewise.
73284         (obstack_empty_p): Likewise.
73285
73286 2003-03-14  Bruno Haible  <bruno@clisp.org>
73287
73288         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
73289         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
73290
73291 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73292
73293         Merge changes from Bison.
73294         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
73295         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
73296         when compiling Bison 1.875's `bitset bset = obstack_alloc
73297         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
73298         * lib/hash.c: Include <stdbool.h> unconditionally.
73299
73300 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73301
73302         * m4/onceonly.m4 (m4_quote): New macro.
73303         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
73304         Quote AC_FOREACH variable-expansions properly.
73305
73306 2003-03-13  Paul Eggert  <eggert@twinsun.com>
73307
73308         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
73309
73310 2003-03-09  Paul Eggert  <eggert@twinsun.com>
73311
73312         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
73313         Reported by Bruce Becker; see:
73314         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
73315
73316 2003-03-03  Paul Eggert  <eggert@twinsun.com>
73317             Bruno Haible  <bruno@clisp.org>
73318
73319         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
73320         Reported by John Hughes, see
73321         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
73322
73323 2003-02-20  Bruno Haible  <bruno@clisp.org>
73324
73325         * MODULES.html.sh (func_all_modules): Add poll.
73326
73327 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73328
73329         * modules/poll: New file.
73330
73331 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73332
73333         * lib/poll_.h: New file.
73334         * lib/poll.c: New file.
73335
73336 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
73337
73338         * m4/poll.m4: New file.
73339
73340 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73341
73342         * modules/mathl: New file.
73343
73344 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73345
73346         * lib/mathl.h: New file.
73347         * lib/acosl.c: New file.
73348         * lib/asinl.c: New file.
73349         * lib/atanl.c: New file.
73350         * lib/ceill.c: New file.
73351         * lib/cosl.c: New file.
73352         * lib/expl.c: New file.
73353         * lib/floorl.c: New file.
73354         * lib/frexpl.c: New file.
73355         * lib/ldexpl.c: New file.
73356         * lib/logl.c: New file.
73357         * lib/sincosl.c: New file.
73358         * lib/sinl.c: New file.
73359         * lib/sqrtl.c: New file.
73360         * lib/tanl.c: New file.
73361         * lib/trigl.c: New file.
73362         * lib/trigl.h: New file.
73363
73364 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
73365
73366         * m4/mathl.m4: New file.
73367
73368 2003-02-18  Bruno Haible  <bruno@clisp.org>
73369
73370         * MODULES.html.sh (func_all_modules): Add mathl.
73371
73372 2003-02-17  Bruno Haible  <bruno@clisp.org>
73373
73374         * modules/mkdtemp: New module.
73375         * MODULES.html.sh (func_all_modules): Add it.
73376
73377 2003-02-17  Bruno Haible  <bruno@clisp.org>
73378
73379         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
73380
73381 2003-02-17  Bruno Haible  <bruno@clisp.org>
73382
73383         * lib/mkdtemp.h: New file, from GNU gettext.
73384         * lib/mkdtemp.c: New file, from GNU gettext.
73385
73386 2003-02-02  Jim Meyering  <jim@meyering.net>
73387
73388         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
73389         e.g. glibc-2.2.93.
73390
73391 2003-01-31  Bruno Haible  <bruno@clisp.org>
73392
73393         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
73394         'rpl_rename'.
73395         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
73396         'rpl_strnlen'.
73397         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
73398         'rpl_strtod'.
73399         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
73400         'rpl_utime'.
73401
73402 2003-01-31  Bruno Haible  <bruno@clisp.org>
73403
73404         * lib/rename.c: #undef rename before defining rpl_rename.
73405         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
73406
73407 2003-01-30  Bruno Haible  <bruno@clisp.org>
73408
73409         * modules/vasnprintf, modules/vasprintf: New modules.
73410         * MODULES.html.sh (func_all_modules): Add them.
73411
73412 2003-01-30  Bruno Haible  <bruno@clisp.org>
73413
73414         * m4/signed.m4: New file, from GNU gettext.
73415         * m4/longdouble.m4: New file, from GNU gettext.
73416         * m4/wchar_t.m4: New file, from GNU gettext.
73417         * m4/wint_t.m4: New file, from GNU gettext.
73418         * m4/vasnprintf.m4: New file.
73419         * m4/vasprintf.m4: New file.
73420
73421 2003-01-30  Bruno Haible  <bruno@clisp.org>
73422
73423         * lib/printf-args.h: New file, from GNU gettext.
73424         * lib/printf-args.c: New file, from GNU gettext.
73425         * lib/printf-parse.h: New file, from GNU gettext.
73426         * lib/printf-parse.c: New file, from GNU gettext.
73427         * lib/vasnprintf.h: New file, from GNU gettext.
73428         * lib/vasnprintf.c: New file, from GNU gettext.
73429         * lib/asnprintf.c: New file, from GNU gettext.
73430         * lib/vasprintf.h: New file, from GNU gettext with modifications.
73431         * lib/vasprintf.c: New file, from GNU gettext.
73432         * lib/asprintf.c: New file, from GNU gettext.
73433
73434 2003-01-29  Bruno Haible  <bruno@clisp.org>
73435
73436         * modules/stpncpy: New module.
73437         * MODULES.html.sh (func_all_modules): Add it.
73438
73439 2003-01-29  Bruno Haible  <bruno@clisp.org>
73440
73441         * m4/stpncpy.m4: New file.
73442
73443 2003-01-29  Bruno Haible  <bruno@clisp.org>
73444
73445         * lib/stpncpy.h: New file, from GNU gettext with modifications.
73446         * lib/stpncpy.c: New file, from GNU gettext with modifications.
73447
73448 2003-01-28  Bruno Haible  <bruno@clisp.org>
73449
73450         * modules/c-ctype: New module.
73451         * MODULES.html.sh (func_all_modules): Add it.
73452
73453 2003-01-28  Bruno Haible  <bruno@clisp.org>
73454
73455         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
73456         Paul Eggert.
73457         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
73458         Paul Eggert.
73459
73460 2003-01-27  Bruno Haible  <bruno@clisp.org>
73461
73462         * modules/xsetenv: New module.
73463         * MODULES.html.sh (func_all_modules): Add it.
73464
73465 2003-01-27  Bruno Haible  <bruno@clisp.org>
73466
73467         * lib/xsetenv.h: New file, from GNU gettext.
73468         * lib/xsetenv.c: New file, from GNU gettext.
73469
73470 2003-01-23  Jim Meyering  <jim@meyering.net>
73471
73472         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
73473         from working on systems without dirfd (at least Irix and OSF1/Tru64).
73474
73475 2003-01-23  Bruno Haible  <bruno@clisp.org>
73476
73477         * modules/minmax: New module.
73478         * MODULES.html.sh (func_all_modules): Add it.
73479
73480 2003-01-23  Bruno Haible  <bruno@clisp.org>
73481
73482         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
73483         Eggert.
73484
73485 2003-01-22  Bruno Haible  <bruno@clisp.org>
73486
73487         * modules/exit: New module.
73488         * MODULES.html.sh (func_all_modules): Add it.
73489
73490 2003-01-22  Bruno Haible  <bruno@clisp.org>
73491
73492         * lib/exit.h: New file, from GNU gettext.
73493
73494 2003-01-19  Bruno Haible  <bruno@clisp.org>
73495
73496         * gnulib-tool: Recognize option --extract-maintainer.
73497         (func_get_maintainer): New function.
73498         * modules/*: Add Maintainer entry.
73499
73500 2003-01-16  Jim Meyering  <jim@meyering.net>
73501
73502         * m4/regex.m4: The `regex' struct is both input and output.
73503         Initialize it before each use.  Patch by Tim Waugh.
73504
73505 2003-01-16  Bruno Haible  <bruno@clisp.org>
73506
73507         * MODULES.html.sh: Add a table of contents. Add the module name as
73508         leftmost column. Add hyperlinks.
73509
73510 2003-01-15  Bruno Haible  <bruno@clisp.org>
73511
73512         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
73513
73514 2003-01-15  Bruno Haible  <bruno@clisp.org>
73515
73516         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
73517         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
73518         suffix.
73519
73520 2003-01-15  Bruno Haible  <bruno@clisp.org>
73521
73522         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
73523
73524 2003-01-15  Bruno Haible  <bruno@clisp.org>
73525
73526         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
73527         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
73528
73529 2003-01-14  Jim Meyering  <jim@meyering.net>
73530
73531         * lib/same.c (same_name): Tweak a comment.
73532
73533 2003-01-14  Bruno Haible  <bruno@clisp.org>
73534
73535         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
73536         when a string comparison is sufficient.
73537
73538 2003-01-14  Bruno Haible  <bruno@clisp.org>
73539
73540         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
73541         'unsigned int'.
73542
73543 2003-01-14  Bruno Haible  <bruno@clisp.org>
73544
73545         * lib/hash-pjw.c: Add comment about low quality of this function.
73546
73547 2003-01-13  Bruno Haible  <bruno@clisp.org>
73548
73549         * modules/stpcpy: Distribute lib/stpcpy.h.
73550         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
73551
73552 2003-01-13  Bruno Haible  <bruno@clisp.org>
73553
73554         * modules/*: Add a description.
73555         * modules/strpbrk: Fix Makefile.am snippet.
73556         * modules/strtoimax: Fix dependencies.
73557         * modules/strtoumax: Likewise.
73558
73559 2003-01-13  Bruno Haible  <bruno@clisp.org>
73560
73561         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
73562         * modules/alloca (Makefile.am): All object files depend on alloca.h.
73563         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
73564
73565 2003-01-13  Bruno Haible  <bruno@clisp.org>
73566
73567         * gnulib-tool (func_create_testdir): Store config/* files in the main
73568         directory.
73569         * config.rpath: Move to ...
73570         * config/config.rpath: ... here.
73571         * modules/gettext: Contains config/config.rpath, not config.rpath.
73572         * modules/iconv: Likewise.
73573
73574 2003-01-12  Paul Eggert  <eggert@twinsun.com>
73575
73576         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
73577         to avoid collisions with libcurses and libreadline.
73578
73579         * m4/getstr.m4: Remove.
73580         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
73581
73582 2003-01-12  Paul Eggert  <eggert@twinsun.com>
73583
73584         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
73585         to avoid collisions with libcurses and libreadline.
73586
73587         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
73588         * lib/getstr.h, getstr.c: Remove.
73589         * lib/getline.c: Include "getline.h", to check interface.
73590         Move body of old getstr.c here: this defines MIN_CHUNK and
73591         declares getdelim2, which is renamed from getstr.
73592         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
73593
73594         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
73595         All uses changed.
73596         * lib/linebuffer.h: Likewise.
73597         (readline): Remove backward-compatibility macro.
73598
73599 2003-01-12  Paul Eggert  <eggert@twinsun.com>
73600
73601         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
73602         to avoid collisions with libcurses and libreadline.
73603         * getstr: Remove.
73604         * MODULES.html.sh: Remove getstr.
73605         * modules/getline: Depend on unlocked-io, not getstr.
73606
73607 2003-01-12  Jim Meyering  <jim@meyering.net>
73608
73609         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
73610
73611 2003-01-10  Bruno Haible  <bruno@clisp.org>
73612
73613         * modules/alloca: Change Makefile.am requirements. Simplify Include
73614         requirements. Add lib/alloca_.h to file list.
73615
73616 2003-01-10  Bruno Haible  <bruno@clisp.org>
73617
73618         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
73619
73620 2003-01-10  Bruno Haible  <bruno@clisp.org>
73621
73622         * lib/alloca_.h: New file.
73623         * lib/getdate.y: Unconditionally include alloca.h.
73624         * lib/makepath.c: Likewise.
73625         * lib/setenv.c: Likewise.
73626         * lib/userspec.c: Likewise.
73627
73628 2003-01-09  Karl Berry  <karl@gnu.org>
73629
73630         * MODULES.html.sh: include `dirname $0` in PATH, to find
73631         gnulib-tool.
73632
73633 2003-01-09  Bruno Haible  <bruno@clisp.org>
73634
73635         * modules/stdbool: Change configure.ac, Makefile.am requirements.
73636         Simplify Include requirements. Add lib/stdbool.h.in to file list.
73637
73638 2003-01-09  Bruno Haible  <bruno@clisp.org>
73639
73640         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
73641
73642 2003-01-09  Bruno Haible  <bruno@clisp.org>
73643
73644         * lib/stdbool.h.in: New file.
73645
73646 2003-01-09  Bruno Haible  <bruno@clisp.org>
73647
73648         * gnulib-tool (func_all_modules): Ignore files ending in ~.
73649         * MODULES.html.sh: Likewise.
73650
73651 2003-01-08  Jim Meyering  <jim@meyering.net>
73652
73653         * lib/full-write.c: Undefine and define-away `const' after inclusion
73654         of errno.h, not before.  Suggestion from Bruno Haible.
73655
73656 2003-01-08  Bruno Haible  <bruno@clisp.org>
73657
73658         * modules/full-read: Depend on full-write.
73659
73660 2003-01-08  Bruno Haible  <bruno@clisp.org>
73661
73662         * lib/safe-read.c: Include specification header first, to ensure its
73663         selfcontainedness.
73664         * lib/full-write.c: Likewise.
73665
73666 2003-01-07  Jim Meyering  <jim@meyering.net>
73667
73668         * lib/full-write.c: Rework so that it may serve to define full_read,
73669         too.
73670         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
73671
73672 2003-01-07  Bruno Haible  <bruno@clisp.org>
73673
73674         * lib/strtoimax.c: Include <stdint.h> as an alternative to
73675         <inttypes.h>.
73676         * lib/xstrtol.h: Likewise.
73677         * lib/xstrtoimax.c: Likewise.
73678         * lib/xstrtoumax.c: Likewise.
73679         * lib/human.h: Likewise.
73680
73681         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
73682         on systems that have <inttypes.h> but not <stdint.h>.
73683
73684 2003-01-07  Bruno Haible  <bruno@clisp.org>
73685
73686         * MODULES.html.sh: Add copyright notice.
73687         (missed_files): Omit CVS directory entries.
73688         (func_module): Make it work with sed-3.02.
73689         * MODULES.txt: Remove file.
73690
73691 2003-01-06  Jim Meyering  <jim@meyering.net>
73692
73693         * lib/version-etc.c: Update year in translatable copyright string.
73694
73695 2003-01-03  Karl Berry  <karl@gnu.org>
73696
73697         * config/config.{guess,sub}: update from prep.
73698
73699 2003-01-02  Karl Berry  <karl@gnu.org>
73700
73701         * doc/COPYING.DOC: belatedly updated to 1.2.
73702
73703 2003-01-01  Karl Berry  <karl@gnu.org>
73704
73705         * gnulib-tool (func_verify_module): report module name $module in
73706         error message, not $1.
73707         * gnulib-tool (create-testdir): don't complain if destdir couldn't
73708         be created, only if it doesn't exist.
73709         * gnulib-tool (last_checkin_date): don't expand the $Date here.
73710
73711 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73712
73713         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
73714
73715 2002-12-31  Paul Eggert  <eggert@twinsun.com>
73716
73717         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
73718         memcmp if strcoll doesn't work.
73719
73720 2002-12-31  Bruno Haible  <bruno@clisp.org>
73721
73722         * lib/utime.c (utime_null): No need to call ftruncate if the file was
73723         nonempty.
73724
73725 2002-12-31  Bruno Haible  <bruno@clisp.org>
73726
73727         * lib/memcoll.c (STRCOLL): New macro.
73728         (memcoll): Use it.
73729
73730 2002-12-31  Bruno Haible  <bruno@clisp.org>
73731
73732         * lib/localcharset.h: New file.
73733         * lib/localcharset.c: Include it.
73734         * lib/unicodeio.c: Likewise.
73735
73736 2002-12-31  Bruno Haible  <bruno@clisp.org>
73737
73738         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
73739         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
73740
73741 2002-12-31  Bruno Haible  <bruno@clisp.org>
73742
73743         * lib/getline.h: Include <stddef.h>, for size_t.
73744
73745         * lib/unicodeio.h: Include <stddef.h>, for size_t.
73746         * lib/unicodeio.c: Don't include <stddef.h>.
73747
73748 2002-12-31  Bruno Haible  <bruno@clisp.org>
73749
73750         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
73751         HAVE_TM_ZONE.
73752
73753 2002-12-24  Karl Berry  <karl@gnu.org>
73754
73755         * config/config.guess: update from prep.
73756
73757 2002-12-24  Bruno Haible  <bruno@clisp.org>
73758
73759         General infrasructure.
73760         * m4/README: Rewritten.
73761         * m4/onceonly.m4: New file.
73762         * m4/onceonly_2_57.m4: New file.
73763
73764         Module atexit.
73765         * m4/atexit.m4: New file.
73766
73767         Module strtod.
73768         * m4/strtod.m4: New file.
73769
73770         Module strtol.
73771         * m4/strtol.m4: New file.
73772
73773         Module strtoul.
73774         * m4/strtoul.m4: New file.
73775
73776         Module memchr.
73777         * m4/memchr.m4: New file.
73778
73779         Module memcmp.
73780         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
73781         (jm_FUNC_MEMCMP): Invoke it.
73782
73783         Module memcpy.
73784         * m4/memcpy.m4: New file.
73785
73786         Module memmove.
73787         * m4/memmove.m4: New file.
73788
73789         Module memset.
73790         * m4/memset.m4: New file.
73791
73792         Module strcspn.
73793         * m4/strcspn.m4: New file.
73794
73795         Module strpbrk.
73796         * m4/strpbrk.m4: New file.
73797
73798         Module strstr.
73799         * m4/strstr.m4: New file.
73800
73801         Module strerror.
73802         * m4/strerror.m4: New file.
73803
73804         Module mktime.
73805         * m4/mktime.m4: Renamed from jm-mktime.m4.
73806         (gl_PREREQ_MKTIME): New macro.
73807         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
73808
73809         Module malloc.
73810         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
73811         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
73812         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
73813
73814         Module realloc.
73815         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
73816         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
73817         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
73818
73819         Module strftime.
73820         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
73821         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
73822         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
73823         gl_TM_GMTOFF.
73824         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
73825
73826         Module xalloc.
73827         * m4/xalloc.m4: New file.
73828
73829         Module alloca.
73830         * m4/alloca.m4: New file.
73831
73832         Module putenv.
73833         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
73834         (jm_FUNC_PUTENV): Invoke it.
73835
73836         Module setenv.
73837         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
73838         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
73839         when invoked twice.
73840         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
73841         gt_FUNC_SETENV.
73842
73843         Module memrchr.
73844         * m4/memrchr.m4: New file.
73845
73846         Module stpcpy.
73847         * m4/stpcpy.m4: New file.
73848
73849         Module strcase.
73850         * m4/strcase.m4: New file.
73851
73852         Module strdup.
73853         * m4/strdup.m4: New file.
73854
73855         Module strnlen.
73856         * m4/strnlen.m4: New file.
73857
73858         Module strndup.
73859         * m4/strndup.m4: New file.
73860
73861         Module xstrtod.
73862         * m4/xstrtod.m4: New file.
73863
73864         Module xstrtol.
73865         * m4/xstrtol.m4: New file.
73866
73867         Module getdate.
73868         * m4/getdate.m4: New file.
73869
73870         Module unlocked-io.
73871         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
73872         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
73873         * m4/jm-glibc-io.m4n: Remove file.
73874
73875         Module long-options.
73876         * m4/long-options.m4: New file.
73877
73878         Module md5.
73879         * m4/md5.m4: New file.
73880
73881         Module sha.
73882         * m4/sha.m4: New file.
73883
73884         Module getstr.
73885         * m4/getstr.m4: New file.
73886
73887         Module getline.
73888         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
73889         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
73890         <sys/types.h>, for size_t. Use the function name gnu_getline, not
73891         simply getline. Infoke gl_PREREQ_GETLINE.
73892
73893         Module obstack.
73894         * m4/obstack.m4: New file.
73895
73896         Module hash.
73897         * m4/hash.m4: New file.
73898
73899         Module readtokens.
73900         * m4/readtokens.m4: New file.
73901
73902         Module strverscmp.
73903         * m4/strverscmp.m4: New file.
73904
73905         Module stdbool.
73906         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
73907         OSF/1.
73908
73909         Module strtoll.
73910         * m4/strtoll.m4: New file.
73911
73912         Module strtoull.
73913         * m4/strtoull.m4: New file.
73914
73915         Module strtoimax.
73916         * m4/strtoimax.m4: New file.
73917
73918         Module strtoumax.
73919         * m4/strtoumax.m4: New file.
73920
73921         Module xstrtoimax.
73922         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
73923         jm_AC_PREREQ_XSTRTOIMAX.
73924         Moved the strtol prerequisites to strtol.m4.
73925         Moved the strtoll prerequisites to strtoll.m4.
73926         Moved the strtoimax prerequisites to strtoimax.m4.
73927
73928         Module xstrtoumax.
73929         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
73930         jm_AC_PREREQ_XSTRTOUMAX.
73931         Moved the strtoul prerequisites to strtoul.m4.
73932         Moved the strtoull prerequisites to strtoull.m4.
73933         Moved the strtoumax prerequisites to strtoumax.m4.
73934
73935         Module chown.
73936         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
73937         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
73938
73939         Module dup2.
73940         * m4/dup2.m4: New file.
73941
73942         Module ftruncate.
73943         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
73944         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
73945
73946         Module getgroups.
73947         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
73948         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
73949
73950         Module gettimeofday.
73951         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
73952         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
73953         gl_PREREQ_GETTIMEOFDAY.
73954
73955         Module mkdir.
73956         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
73957         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
73958
73959         Module mkstemp.
73960         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
73961         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
73962         jm_AC_TYPE_UINTMAX_T.
73963         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
73964
73965         Module stat.
73966         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
73967         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
73968
73969         Module lstat.
73970         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
73971         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
73972
73973         Module timespec.
73974         * m4/timespec.m4 (gl_TIMESPEC): New macro.
73975         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
73976         * m4/st_mtim.m4: Indentation.
73977
73978         Module nanosleep.
73979         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
73980         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
73981         gl_PREREQ_NANOSLEEP.
73982
73983         Module regex.
73984         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
73985         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
73986         (gl_REGEX): New macro.
73987
73988         Module rename.
73989         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
73990         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
73991
73992         Module rmdir.
73993         * m4/rmdir.m4: New file.
73994
73995         Module utime.
73996         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
73997         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
73998         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
73999
74000         Module dirname.
74001         * m4/dirname.m4: New file.
74002
74003         Module getopt.
74004         * m4/getopt.m4: New file.
74005
74006         Module unistd-safer.
74007         * m4/unistd-safer.m4: New file.
74008
74009         Module fnmatch.
74010         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
74011         declaration.
74012         (gl_PREREQ_FNMATCH_EXTRA): New macro.
74013         (gl_FUNC_FNMATCH_POSIX): New macro.
74014         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
74015         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
74016         simply fnmatch.
74017
74018         Module exclude.
74019         * m4/exclude.m4: New file.
74020
74021         Module human.
74022         * m4/human.m4: New file.
74023
74024         Module acl.
74025         * m4/acl.m4: Nop.
74026
74027         Module backupfile.
74028         * m4/backupfile.m4: New file.
74029         * m4/d-ino.m4: Indentation.
74030
74031         Module fsusage.
74032         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
74033         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
74034         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
74035
74036         Module dirfd.
74037         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
74038         requirements.
74039
74040         Module euidaccess.
74041         * m4/euidaccess.m4: New file.
74042
74043         Module file-type.
74044         * m4/file-type.m4: New file.
74045
74046         Module fileblocks.
74047         * m4/fileblocks.m4: New file.
74048
74049         Module filemode.
74050         * m4/filemode.m4: New file.
74051
74052         Module isdir.
74053         * m4/isdir.m4: New file.
74054
74055         Module lchown.
74056         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
74057         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
74058
74059         Module makepath.
74060         * m4/makepath.m4: New file.
74061
74062         Module modechange.
74063         * m4/modechange.m4: New file.
74064
74065         Module mountlist.
74066         * m4/mountlist.m4: New file.
74067         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
74068         Indentation.
74069
74070         Module path-concat.
74071         * m4/path-concat.m4: New file.
74072
74073         Module pathmax.
74074         * m4/pathmax.m4: New file.
74075
74076         Module same.
74077         * m4/same.m4: New file.
74078
74079         Module save-cwd.
74080         * m4/save-cwd.m4: New file.
74081
74082         Module savedir.
74083         * m4/savedir.m4: New file.
74084
74085         Module xgetcwd.
74086         * m4/xgetcwd.m4: New file.
74087         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
74088
74089         Module xreadlink.
74090         * m4/xreadlink.m4: New file.
74091
74092         Module safe-read.
74093         * m4/safe-read.m4: New file.
74094
74095         Module safe-write.
74096         * m4/safe-write.m4: New file.
74097
74098         Module closeout.
74099         * m4/closeout.m4: New file.
74100
74101         Module stdio-safer.
74102         * m4/stdio-safer.m4: New file.
74103
74104         Module getpass.
74105         * m4/getpass.m4: New file.
74106
74107         Module getugroups.
74108         * m4/getugroups.m4: New file.
74109
74110         Module group-member.
74111         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
74112         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
74113
74114         Module idcache.
74115         * m4/idcache.m4: New file.
74116
74117         Module userspec.
74118         * m4/userspec.m4: New file.
74119
74120         Module gettime.
74121         * m4/clock_time.m4: New file.
74122         * m4/gettime.m4: New file.
74123
74124         Module settime.
74125         * m4/settime.m4: New file.
74126
74127         Module posixtm.
74128         * m4/posixtm.m4: New file.
74129
74130         Module gethostname.
74131         * m4/gethostname.m4: New file.
74132
74133         Module canon-host.
74134         * m4/canon-host.m4: New file.
74135
74136         Module gettext.
74137         * m4/codeset.m4: New file, from gettext-0.11.5.
74138         * m4/gettext.m4: New file, from gettext-0.11.5.
74139         * m4/glibc21.m4: New file, from gettext-0.11.5.
74140         * m4/iconv.m4: New file, from gettext-0.11.5.
74141         * m4/intdiv0.m4: New file, from gettext-0.11.5.
74142         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
74143         * m4/inttypes.m4: New file, from gettext-0.11.5.
74144         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
74145         * m4/isc-posix.m4: New file, from gettext-0.11.5.
74146         * m4/lcmessage.m4: New file, from gettext-0.11.5.
74147         * m4/lib-ld.m4: New file, from gettext-0.11.5.
74148         * m4/lib-link.m4: New file, from gettext-0.11.5.
74149         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
74150         * m4/progtest.m4: New file, from gettext-0.11.5.
74151         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
74152         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
74153         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
74154
74155         Module localcharset.
74156         * m4/localcharset.m4: New file.
74157
74158         Module hard-locale.
74159         * m4/hard-locale.m4: New file.
74160
74161         Module mbswidth.
74162         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
74163         onceonly macros.
74164         * m4/mbrtowc.m4: Add comment.
74165
74166         Module memcasecmp.
74167         * m4/memcasecmp.m4: New file.
74168
74169         Module memcoll.
74170         * m4/memcoll.m4: New file.
74171
74172         Module unicodeio.
74173         * m4/unicodeio.m4: New file.
74174
74175         Module rpmatch.
74176         * m4/rpmatch.m4: New file.
74177
74178         Module yesno.
74179         * m4/yesno.m4: New file.
74180
74181         Module exitfail.
74182         * m4/exitfail.m4: New file.
74183
74184         Module c-stack.
74185         * m4/c-stack.m4 (gl_C_STACK): New macro.
74186         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
74187
74188         Module error.
74189         * m4/error.m4 (gl_ERROR): New macro.
74190         (jm_PREREQ_ERROR): Use onceonly macros.
74191
74192         Module fatal.
74193         * m4/fatal.m4: New file.
74194
74195         Module getloadavg.
74196         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
74197         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
74198
74199         Module getpagesize.
74200         * m4/getpagesize.m4: New file.
74201
74202         Module getusershell.
74203         * m4/getusershell.m4: New file.
74204
74205         Module physmem.
74206         * m4/physmem.m4: New file.
74207
74208         Module posixver.
74209         * m4/posixver.m4: New file.
74210
74211         Module quotearg.
74212         * m4/quotearg.m4: New file.
74213
74214         Module quote.
74215         * m4/quote.m4: New file.
74216
74217         Module readutmp.
74218         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
74219
74220         Module sig2str.
74221         * m4/sig2str.m4: New file.
74222
74223         Other.
74224         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
74225         ulonglong.m4.
74226         * m4/intmax_t.m4: New file.
74227         * m4/d-type.m4: Indentation.
74228         * m4/jm-macros.m4: Update.
74229         * m4/prereq.m4 (jm_PREREQ): Update.
74230         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
74231         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
74232         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
74233         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
74234         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
74235         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
74236         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
74237         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
74238         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
74239         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
74240         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
74241         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
74242         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
74243         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
74244         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
74245         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
74246         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
74247         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
74248         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
74249
74250 2002-12-24  Bruno Haible  <bruno@clisp.org>
74251
74252         * MODULES.txt: Update according to m4/ changes.
74253
74254         Module gettext.
74255         * config.rpath: New file, from gettext-0.11.5.
74256
74257         * modules/*: New module descriptions.
74258         * gnulib-tool: New file.
74259         * MODULES.html.sh: New file.
74260
74261 2002-12-21  Karl Berry  <karl@gnu.org>
74262
74263         * doc/fdl.texi: update to version 1.2.
74264
74265 2002-12-19  Karl Berry  <karl@gnu.org>
74266
74267         * config/config.guess: update from prep.
74268
74269 2002-12-18  Bruno Haible  <bruno@clisp.org>
74270
74271         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
74272         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
74273
74274 2002-12-17  Bruno Haible  <bruno@clisp.org>
74275
74276         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
74277         stdlib.h, string.h.
74278
74279 2002-12-17  Bruno Haible  <bruno@clisp.org>
74280
74281         * lib/canon-host.c (strdup): Remove unused declaration.
74282
74283         * lib/fsusage.c: Include full_read.h.
74284         (get_fs_usage): Use full_read instead of safe_read.
74285
74286         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
74287
74288 2002-12-12  Karl Berry  <karl@gnu.org>
74289
74290         * config/config.guess: update from prep.
74291
74292 2002-12-11  Bruno Haible  <bruno@clisp.org>
74293
74294         * m4/setenv.m4: New file, from gettext-0.11.5.
74295
74296 2002-12-11  Bruno Haible  <bruno@clisp.org>
74297
74298         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
74299         not unsetenv().
74300         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
74301         modifications:
74302
74303         2002-12-11  Bruno Haible  <bruno@clisp.org>
74304
74305                 * setenv.c (alloca): Fall back to malloc.
74306                 (freea): New macro.
74307                 (setenv): Use freea() to free memory allocated with alloca().
74308
74309         2002-11-13  Bruno Haible  <bruno@clisp.org>
74310
74311                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
74312                 function declarations.
74313                 * unsetenv.c (unsetenv): Likewise.
74314
74315         2002-03-04  Bruno Haible  <bruno@clisp.org>
74316
74317                 Portability to AIX 4.3.3.
74318                 * unsetenv.c: New file, extracted from setenv.c.
74319                 * setenv.c: Move the unsetenv() function to unsetenv.c.
74320
74321         2001-12-20  Bruno Haible  <bruno@clisp.org>
74322
74323                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
74324                 use malloc instead. For SunOS 4.
74325
74326         2001-12-11  Bruno Haible  <bruno@clisp.org>
74327
74328                 * setenv.c: Declare alloca.
74329                 (compar_fn_t): New typedef.
74330                 (KNOWN_VALUE, STORE_VALUE): Use it.
74331
74332         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
74333         setenv.h.
74334
74335 2002-12-10  Paul Eggert  <eggert@twinsun.com>
74336
74337         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
74338         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
74339         Choose values that are less likely to collide with system fnmatch
74340         options.
74341         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
74342         defined (e.g., a pure POSIX system).
74343         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
74344         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
74345
74346 2002-12-06  Paul Eggert  <eggert@twinsun.com>
74347
74348         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
74349         a pain in practice to deal with generated m4 files.  This change
74350         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
74351
74352         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
74353         and jm-glibc-io.m4, as they are no longer a special case.
74354         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
74355         kludge and the auto-generation stuff.  Check only whether the
74356         functions are declared, not whether they exist, since older hosts
74357         that don't declare the functions can't use the optimization anyway.
74358
74359 2002-12-06  Jim Meyering  <jim@meyering.net>
74360
74361         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
74362
74363         Merge in changes from libc's misc/error.c, in preparation
74364         for the merge of gnulib's changes back into libc.
74365
74366         * lib/error.c (_): Define only if not already defined.
74367         Move definition to follow all #include directives.
74368         Include unlocked-io.h only if !_LIBC.
74369         [_LIBC]: Include <libio/libioP.h>.
74370         [USE_IN_LIBIO]: Include <libio/iolibio.h>
74371         (fflush): Tweak definition to use INTUSE.
74372         (putc): Define.
74373
74374 2002-12-05  Paul Eggert  <eggert@twinsun.com>
74375
74376         * lib/alloca.c [defined emacs]: Include "lisp.h".
74377         (xalloc_die) [defined emacs]: New macro.
74378         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
74379         [! defined emacs]: Include <xalloc.h>.
74380         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
74381         (pointer): Typedef to POINTER_TYPE *.
74382         (malloc): Remove decl; we now always use xmalloc.
74383         (alloca): Use old-style definition, since Emacs needs this.
74384         Check for arithmetic overflow when computing combined size.
74385
74386 2002-12-04  Paul Eggert  <eggert@twinsun.com>
74387
74388         Do not generate unlocked-io.h automatically, since it's easier to
74389         maintain it by hand.
74390
74391         * lib/unlocked-io.h: New file, from GNU diffutils,
74392         but with proper copyright notice and attribution.
74393         * lib/gen-uio: Remove.
74394         * lib/Makefile.am: Add copyright notice.
74395         (libfetish_a_SOURCES): Add unlocked-io.h.
74396         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
74397         (DISTCLEANFILES, io_functions): Remove macros.
74398         (EXTRA_DIST): Remove gen_uio.
74399         (unlocked-io.h): Remove rule.
74400
74401 2002-12-04  Jim Meyering  <jim@meyering.net>
74402
74403         Reflect the fact that stat.c and lstat.c are no longer generated.
74404         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
74405         (DISTCLEANFILES): Likewise.
74406         (EXTRA_DIST): Likewise.
74407         (all_local): Don't depend on stat.c or lstat.c.
74408         (stat.c, lstat.c): Remove rules.
74409         (EXTRA_DIST): Remove xstat.in.
74410
74411         * lib/xstat.in: Remove file.  Contents moved into stat.c.
74412         * lib/stat.c: New file.  Contents mostly from xstat.in.
74413         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
74414         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
74415
74416         * lib/safe-read.c: Rework so that it may serve to define safe_write,
74417         too.
74418         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
74419
74420 2002-12-03  Jim Meyering  <jim@meyering.net>
74421
74422         * lib/safe-read.c, safe-write.c: Change variable names and comments,
74423         but not semantics, to minimize the differences between these two files.
74424         (safe_read): Change comment to mention SAFE_READ_ERROR.
74425
74426         * lib/safe-read.c (IS_EINTR): Define.
74427         (safe_read): Use IS_EINTR in place of in-function cpp directives.
74428
74429 2002-12-02  Jim Meyering  <jim@meyering.net>
74430
74431         * lib/safe-read.c (EINTR): Define.
74432         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
74433         (INT_MAX): Provide fallback.
74434         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
74435
74436         * lib/safe-read.h (SAFE_READ_ERROR): Define.
74437
74438 2002-12-02  Bruno Haible  <bruno@clisp.org>
74439
74440         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
74441         Define, taken from safe-read.c.
74442         (INT_MAX): Provide fallback.
74443         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
74444         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
74445
74446         * lib/safe-read.c (EINTR): Remove definition.
74447         (safe_read): Don't use EINTR if it is absent.
74448
74449 2002-12-01  Jim Meyering  <jim@meyering.net>
74450
74451         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
74452         zero.
74453         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
74454
74455 2002-11-27  Paul Eggert  <eggert@twinsun.com>
74456
74457         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
74458         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
74459         with `if (! (value < limit)) abort ();', for readability.
74460
74461 2002-11-26  Karl Berry  <karl@gnu.org>
74462
74463         * lib/strdup.c: copy from libc again, with jim's ok.
74464         * lib/.cppi-disable: re-add strdup.c
74465
74466 2002-11-25  Karl Berry  <karl@gnu.org>
74467
74468         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
74469         instead of "strtol.c".
74470
74471 2002-11-25  Karl Berry  <karl@gnu.org>
74472
74473         * config/install-sh: update from automake for variable quoting, $0 in
74474         error msgs, etc.
74475
74476         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
74477         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
74478         entry.
74479
74480 2002-11-25  Jim Meyering  <jim@meyering.net>
74481
74482         * lib/mktime.c: Sync from libc, now that it has the latest fix.
74483
74484 2002-11-24  Karl Berry  <karl@gnu.org>
74485
74486         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
74487         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
74488
74489 2002-11-24  Jim Meyering  <jim@meyering.net>
74490
74491         Update from coreutils:
74492
74493         * lib/mktime.c: Merge in changes from libc.
74494
74495         Avoid a link-time failure on some Linux systems.
74496         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
74497         (otherwise).
74498         (__mon_yday): Declare with the STATIC attribute.
74499         (__mktime_internal): Likewise.
74500         Based on a report from Greg Schafer.
74501
74502 2002-11-23  Jim Meyering  <jim@meyering.net>
74503
74504         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
74505         Use `unsigned', not `int', as type of index.
74506
74507         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
74508
74509         * lib/fsusage.c: Remove unneeded parentheses around operands of
74510         `defined'.
74511
74512 2002-11-22  Paul Eggert  <eggert@twinsun.com>
74513
74514         * lib/quotearg.h: Allow multiple inclusion by surrounding with
74515         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
74516         so that we can be included first.
74517         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
74518         * lib/quotearg.c: Include quotearg.h immediately after config.h.
74519         No need to include stddef.h or sys/types.h any more.
74520         Surround local include files with "", not "<>".
74521         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
74522         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
74523         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
74524         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
74525         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
74526         (ISPRINT): Remove; no longer needed now that we assume C89.
74527
74528         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
74529         Preserve errno.
74530
74531         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
74532         quotearg_char): Use SIZE_MAX rather than
74533         (size_t) -1 when we are talking about "infinity".
74534
74535         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
74536
74537 2002-11-22  Paul Eggert  <eggert@twinsun.com>
74538
74539         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
74540         hint that one should use `if (! x) abort ();' rather than `assert
74541         (x);', and anyway it's one less thing to worry about configuring.
74542         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
74543         hash_rehash, hash_insert): Use abort rather than assert.
74544
74545 2002-11-22  Bruno Haible  <bruno@clisp.org>
74546
74547         * lib/safe-read.h: Assume C89. Add comments.
74548         (safe_read): Change return type to size_t.
74549         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
74550         byte counts > SSIZE_MAX correctly.
74551         * lib/safe-write.h: New file.
74552         * lib/safe-write.c: New file.
74553         * lib/full-read.h: New file.
74554         * lib/full-read.c: New file.
74555         * lib/full-write.h: Assume C89. Add comments.
74556         * lib/full-write.c: Include safe-write.h.
74557         (full_write): Rewritten to use safe_write.
74558         Suggested by Jim Meyering and Paul Eggert.
74559
74560 2002-11-21  Jim Meyering  <jim@meyering.net>
74561
74562         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
74563
74564         Merge in changes from the coreutils.
74565
74566         2002-09-25  Paul Eggert  <eggert@twinsun.com>
74567         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
74568         <stdint.h>.
74569         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
74570         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
74571         int.  Work more efficiently if X is the same width as uintmax_t.
74572         Do not compare X to -1, to avoid bogus compiler warning.
74573         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
74574         Don't assume that f_frsize and f_bsize are the same type.
74575
74576         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
74577         warning on FreeBSD.
74578
74579         * lib/makepath.c (make_path): Restore umask *before* creating the final
74580         component.
74581         (make_path): Minor reformatting.
74582
74583         * lib/xmalloc.c: Adjust to work with new autoconf macros,
74584         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
74585         HAVE_MALLOC/HAVE_REALLOC.
74586
74587         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
74588         dummy ones.  At least on GNU/Linux systems, `auto' means something
74589         else.
74590         From Michael Stone.
74591
74592 2002-11-21  Bruno Haible  <bruno@clisp.org>
74593
74594         Remove case insensitive option matching.
74595         * lib/argmatch.h (argcasematch): Remove declaration.
74596         (ARGCASEMATCH): Remove macro.
74597         (__xargmatch_internal): Remove case_sensitive argument.
74598         (XARGMATCH): Update.
74599         (XARGCASEMATCH): Remove macro.
74600         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
74601         case_sensitive argument.
74602         (argcasematch): Remove function.
74603         (__xargmatch_internal): Remove case_sensitive argument.
74604         (main): Use XARGMATCH instead of XARGCASEMATCH.
74605
74606         * lib/xmalloc.c: Change compile-time error message. Add comment about
74607         required autoconf version.
74608
74609 2002-11-20  Paul Eggert  <eggert@twinsun.com>
74610
74611         Merge argmatch cleanups from Bison.  Assume C89.
74612
74613         * lib/argmatch.c: Include config.h here, not in argmatch.h.
74614         Include stdlib.h, for EXIT_FAILURE.
74615         Always include <string.h>, since we assume C89.
74616         (EXIT_FAILURE): Remove pre-C89 bug workaround.
74617         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
74618         Include <stddef.h> instead, since it's all we need for size_t.
74619         (PARAMS): Remove.  All uses removed.
74620         (ARRAY_CARDINALITY): Do not bother to #undef.
74621         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
74622         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
74623         Remove unnecessary parentheses.
74624         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
74625         Insert necessary parentheses.
74626         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
74627         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
74628
74629 2002-11-19  Bruno Haible  <bruno@clisp.org>
74630
74631         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
74632         * lib/mbswidth.h: Include <stddef.h>, for size_t.
74633
74634         * lib/mbswidth.h (PARAMS): Remove macro.
74635         (mbswidth, mbsnwidth): Use ANSI C function declarations.
74636         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
74637
74638         * lib/gcd.h (PARAMS): Remove macro.
74639         (gcd): Use ANSI C function declarations.
74640         * lib/gcd.c (gcd): Likewise.
74641
74642 2002-11-15  Bruno Haible  <bruno@clisp.org>
74643
74644         * lib/strcspn.c: Include <stddef.h>.
74645         (strcspn): Use ANSI C function declaration. Change return type to
74646         size_t. Use NULL.
74647         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
74648         (strpbrk): Use NULL.
74649         * lib/strpbrk.h (PARAMS): Remove macro.
74650         (strpbrk): Use ANSI C function declaration.
74651         * lib/strstr.c: Don't include <sys/types.h>.
74652         * lib/strstr.h (PARAMS): Remove macro.
74653         (strstr): Use ANSI C function declarations.
74654
74655 2002-11-14  Karl Berry  <karl@gnu.org>
74656
74657         * config/mkinstalldirs: `do' on separate line, instead of
74658         `for var; do'.
74659
74660 2002-11-06  Bruno Haible  <bruno@clisp.org>
74661
74662         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
74663         * lib/gcd.c (gcd): Likewise.
74664
74665 2002-11-05  Bruno Haible  <bruno@clisp.org>
74666
74667         * lib/gcd.h: New file, from gettext-0.11.5.
74668         * lib/gcd.c: New file, from gettext-0.11.5.
74669
74670 2002-11-05  Bruno Haible  <bruno@clisp.org>
74671
74672         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74673         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74674         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74675         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
74676
74677         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
74678         <libintl.h>.
74679         * lib/makepath.c: Include gettext.h instead of <locale.h> and
74680         <libintl.h>.
74681
74682         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
74683         * lib/human.c: Include gettext.h instead of <libintl.h>.
74684         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
74685         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
74686         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
74687         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
74688         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
74689         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
74690         (textdomain): Remove definition.
74691         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
74692
74693         * lib/long-options.c: Remove include of <libintl.h> and definition of
74694         _.
74695         * lib/same.c: Remove include of <libintl.h> and definition of _.
74696
74697 2002-11-04  Owen Taylor  <otaylor@redhat.com>
74698
74699         * lib/config.charset: A few additions for Solaris.
74700
74701 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74702
74703         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
74704         * lib/localcharset.c (locale_charset): Declare as extern "C".
74705
74706 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
74707
74708         * lib/config.charset: msdos in uk_UA uses CP1125.
74709
74710 2002-11-04  Bruno Haible  <bruno@clisp.org>
74711
74712         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
74713         * lib/strcase.h: New file, from GNU gettext-0.11.5.
74714         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
74715         * lib/strstr.h: New file, from GNU gettext-0.11.5.
74716         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
74717
74718 2002-11-04  Bruno Haible  <bruno@clisp.org>
74719
74720         * lib/localcharset.c (locale_charset): Don't return an empty string.
74721
74722 2002-11-04  Bruno Haible  <bruno@clisp.org>
74723
74724         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
74725         aliases.
74726
74727 2002-11-04  Bruno Haible  <bruno@clisp.org>
74728
74729         * lib/config.charset: Update for newest glibc. Add canonical names
74730         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
74731
74732 2002-11-04  Bruno Haible  <bruno@clisp.org>
74733
74734         * lib/config.charset: Add support for NetBSD.
74735
74736 2002-11-04  Bruno Haible  <bruno@clisp.org>
74737
74738         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
74739
74740 2002-11-01  Bruno Haible  <bruno@clisp.org>
74741
74742         * configure.in: Add AC_CONFIG_AUX_DIR call.
74743         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
74744         test/Makefile.
74745         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
74746
74747 2002-09-28  Karl Berry  <karl@gnu.org>
74748
74749         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
74750         installed automake until the next release, since changes have been
74751         made.
74752
74753 2002-09-25  Karl Berry  <karl@gnu.org>
74754
74755         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
74756         * lib/getopt*: copy from libc/posix.
74757         * lib/gettext.h: copy from gettext.
74758         * lib/.cppi-disable: add strdup.c, gettext.h.
74759
74760 2002-09-25  Karl Berry  <karl@gnu.org>
74761
74762         * config/srclist.txt: enable gettext.h check.
74763         * config/config.{guess,sub}: update from prep.
74764         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
74765                 from automake 1.6.3.
74766         See srclist*.
74767
74768 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
74769
74770         * regex.c (PATFETCH): Remove the translating fetch.
74771         (PATFETCH_RAW): Rename to PATFETCH.
74772         (set_image_of_range): New fun.
74773         (SET_RANGE_TABLE_WORK_AREA): Use it.
74774         (regex_compile): Don't translate the pattern chars so eagerly.
74775         Only do it when inserting an `exactn' bytecode or when handling
74776         a char-range.
74777         (mutually_exclusive_p): Avoid empty statement.
74778
74779 2002-07-06  Jim Meyering  <meyering@lucent.com>
74780
74781         * m4/README: Don't mention Makefile.am.in.
74782         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
74783
74784 2002-07-01  Jim Meyering  <meyering@lucent.com>
74785
74786         * lib/c-stack.c: Include sys/time.h.
74787         From Volker Borchert.
74788
74789 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74790
74791         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
74792
74793 2002-06-26  Paul Eggert  <eggert@twinsun.com>
74794
74795         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
74796         New macro.  Use it uniformly instead of
74797         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
74798         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
74799         reported by Vin Shelton.
74800
74801 2002-06-22  Paul Eggert  <eggert@twinsun.com>
74802
74803         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
74804         Do not assume SA_SIGINFO behavior.
74805         Bug reported by Jim Meyering on NetBSD 1.5.2.
74806
74807 2002-06-22  Jim Meyering  <meyering@lucent.com>
74808
74809         * m4/c-stack.m4: New file, from diffutils-2.8.2.
74810         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
74811
74812         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
74813         now that configure.ac uses AC_GNU_SOURCE.
74814         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
74815         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
74816
74817         Update to latest tools.  Suggestions from Paul Eggert.
74818         * m4/stdbool.m4: New file, from diffutils-2.8.2.
74819         * m4/gnu-source.m4: Update from diffutils-2.8.2.
74820         * m4/fnmatch.m4: Likewise.
74821         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
74822         to AC_HEADER_STDBOOL
74823
74824 2002-06-22  Jim Meyering  <meyering@lucent.com>
74825
74826         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
74827         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
74828
74829 2002-06-22  Jim Meyering  <meyering@lucent.com>
74830
74831         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
74832
74833         * lib/exitfail.c, exitfail.h: Likewise.
74834         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
74835
74836         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
74837         of fnmatch.h.
74838         (EXTRA_DIST): Add fnmatch_loop.c.
74839         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
74840
74841         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
74842         * lib/fnmatch.c: Update from diffutils-2.8.2.
74843         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
74844         * lib/fnmatch.h: Remove file.
74845
74846 2002-06-21  Jim Meyering  <meyering@lucent.com>
74847
74848         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
74849         * m4/mbrtowc.m4: Likewise.
74850
74851         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
74852         * m4/mbswidth.m4: Reflect name change:
74853         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
74854         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
74855
74856         * m4/lib-link.m4: Update from gettext-0.11.2.
74857         * m4/gettext.m4: Likewise.
74858
74859         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
74860         From Alfred M. Szmidt.
74861
74862 2002-06-18  Paul Eggert  <eggert@twinsun.com>
74863
74864         * lib/file-type.h: Report an error if neither S_ISREG nor
74865         S_IFREG is defined, instead of using a test specific to glibc
74866         2.2.  This should be safe, since POSIX requires S_ISREG and
74867         Unix Version 7 had S_IFREG.  We don't need to check for
74868         <sys/types.h> since we don't use any symbols that it defines.
74869
74870 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
74871
74872         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
74873         $@-t, so that each temporary file name is unique and valid in the first
74874         8 characters, for operation under DOS.
74875
74876 2002-06-15  Paul Eggert  <eggert@twinsun.com>
74877
74878         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
74879
74880 2002-06-15  Jim Meyering  <meyering@lucent.com>
74881
74882         Work even with DJGPP 2.03, which lacks support for symlinks.
74883         From Richard Dawe.
74884         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
74885         is defined.
74886         * lib/lchown.c (S_ISLNK): Likewise.
74887
74888 2002-06-15  Jim Meyering  <meyering@lucent.com>
74889
74890         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
74891         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
74892         have been included before this file.
74893
74894 2002-06-14  Jim Meyering  <meyering@lucent.com>
74895
74896         * lib/file-type.h: Use the version from diffutils-2.8.2.
74897         * lib/file-type.c: Likewise.
74898
74899 2002-06-07  Jim Meyering  <meyering@lucent.com>
74900
74901         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
74902         They're needed at least for NetBSD 1.5.2.
74903         ($statxfs_includes): Include those same headers.
74904         ($statxfs_includes): Include sys/vfs.h if available.
74905         ($statxfs_includes): Likewise for sys/statvfs.h.
74906         Check for the following members in both structs statfs and statvfs:
74907         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
74908
74909 2002-06-01  Jim Meyering  <meyering@lucent.com>
74910
74911         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
74912         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
74913
74914 2002-05-28  Jim Meyering  <meyering@lucent.com>
74915
74916         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
74917         Reported by Volker Borchert.
74918
74919 2002-05-27  Jim Meyering  <meyering@lucent.com>
74920
74921         Fix a problem seen only on nonconforming systems whereby ls.c's
74922         use of localtime, and then of gettimeofday would cause trouble:
74923         the localtime call used to initialize rpl_gettimeofday's save
74924         mechanism would clobber ls's current local time information so
74925         that in any long listing the first file would always be listed
74926         with date 1970-01-01.  Analysis by Volker Borchert.
74927
74928         * lib/gettimeofday.c (localtime): Undefine.
74929         (rpl_localtime): New function.
74930
74931 2002-05-27  Jim Meyering  <meyering@lucent.com>
74932
74933         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
74934         localtime.
74935
74936         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
74937         use the replacement function; it wouldn't resolve at link time.
74938         Reported by Volker Borchert.
74939
74940 2002-05-22  Jim Meyering  <meyering@lucent.com>
74941
74942         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
74943         file-type.h.
74944         * lib/file-type.h: New file.
74945         * lib/file-type.c (file_type): New file/function.  Extracted from
74946         diffutils.
74947
74948 2002-04-30  Jim Meyering  <meyering@lucent.com>
74949
74950         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
74951
74952 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74953
74954         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
74955
74956 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74957
74958         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
74959         Do not check for alloca.h (no longer used) or stdbool.h (was never
74960         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
74961
74962 2002-04-29  Paul Eggert  <eggert@twinsun.com>
74963
74964         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
74965
74966 2002-04-29  Jim Meyering  <meyering@lucent.com>
74967
74968         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
74969         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
74970         Use AC_FUNC_STRNLEN here instead.
74971
74972         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
74973         With autoconf-2.53a, it's part of AC_PROG_CC.
74974
74975 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74976
74977         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
74978         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
74979
74980 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74981
74982         * lib/sig2str.h, lib/sig2str.c: New files.
74983         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
74984
74985 2002-04-28  Paul Eggert  <eggert@twinsun.com>
74986
74987         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
74988         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
74989         of 127, since 64 is the largest conceivable number for ancient
74990         nonstandard hosts.
74991         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
74992
74993 2002-04-28  Jim Meyering  <meyering@lucent.com>
74994
74995         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
74996
74997 2002-04-24  Jim Meyering  <meyering@lucent.com>
74998
74999         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
75000         (jm_PREREQ): Use it.
75001
75002         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
75003         mach/mach.h fcntl.h.
75004         Check for this function: setlocale.
75005
75006 2002-04-24  Jim Meyering  <meyering@lucent.com>
75007
75008         * lib/gettext.h: New file, from Gettext.
75009         * lib/Makefile.am (INCLUDES): Remove -I../intl.
75010         (libfetish_a_SOURCES): Add gettext.h.
75011
75012 2002-04-16  Jim Meyering  <meyering@lucent.com>
75013
75014         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
75015         ut_pid, ut_id, ut_exit.
75016
75017 2002-04-16  Jim Meyering  <meyering@lucent.com>
75018
75019         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
75020         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
75021         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
75022
75023 2002-04-12  Jim Meyering  <meyering@lucent.com>
75024
75025         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
75026         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
75027         existence of the getmntinfo function.  Needed for Darwin 5.3.
75028
75029         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
75030         This is necessary at least on Darwin 5.3.
75031
75032         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
75033         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
75034         strnlen.o in the library, and that makes some versions of ranlib
75035         object.
75036
75037 2002-04-12  Jim Meyering  <meyering@lucent.com>
75038
75039         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
75040
75041 2002-04-09  Jim Meyering  <meyering@lucent.com>
75042
75043         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
75044         to be more precise.  Rather than saying we're checking whether the
75045         function `works', say what we're testing.
75046         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
75047         Reported by Bruno Haible.
75048
75049 2002-03-10  Jim Meyering  <meyering@lucent.com>
75050
75051         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
75052         Suggestion from Santiago Vila.
75053
75054 2002-03-08  Jim Meyering  <meyering@lucent.com>
75055
75056         * lib/rename.c: Mention that this wrapper is needed also on
75057         mips-dec-ultrix4.4 systems.
75058
75059 2002-03-02  Jim Meyering  <meyering@lucent.com>
75060
75061         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
75062         not HAVE_CLOCK_SETTIME.
75063
75064 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75065
75066         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
75067         Check for clock_settime.
75068
75069 2002-02-27  Paul Eggert  <eggert@twinsun.com>
75070
75071         * lib/nanosleep.h: Rename to....
75072         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
75073
75074         * lib/gettime.c: New file.
75075         * lib/settime.c: New file.
75076         * lib/stime.c: Remove.
75077
75078         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
75079         timespec.h.  Remove nanosleep.h.
75080
75081 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75082
75083         * m4/acl.m4: New file.
75084         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
75085         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
75086
75087 2002-02-25  Paul Eggert  <eggert@twinsun.com>
75088
75089         * lib/acl.c, lib/acl.h: New files.
75090         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
75091
75092 2002-02-24  Jim Meyering  <meyering@lucent.com>
75093
75094         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
75095         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
75096         cause trouble.  Reported by Nelson Beebe.
75097
75098 2002-02-23  Paul Eggert  <eggert@twinsun.com>
75099
75100         * lib/path-concat.c (xpath_concat): Reorder code to pacify
75101         compilers that don't know that xalloc_die never returns.
75102
75103 2002-02-20  Jim Meyering  <meyering@lucent.com>
75104
75105         * lib/getdate.c: Regenerate using bison-1.33.
75106
75107 2002-02-17  Jim Meyering  <meyering@lucent.com>
75108
75109         * config/config.guess (main): Don't use `head -1'; it's no longer
75110         portable. Use `sed 1q' instead.
75111
75112 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
75113
75114         * m4/codeset.m4: Upgrade to gettext-0.11.
75115         * m4/gettext.m4: Upgrade to gettext-0.11.
75116         * m4/glibc21.m4: Upgrade to gettext-0.11.
75117         * m4/iconv.m4: Upgrade to gettext-0.11.
75118         * m4/isc-posix.m4: Upgrade to gettext-0.11.
75119         * m4/lcmessage.m4: Upgrade to gettext-0.11.
75120         * m4/lib-ld.m4: New file, from gettext-0.11.
75121         * m4/lib-link.m4: New file, from gettext-0.11.
75122         * m4/lib-prefix.m4: New file, from gettext-0.11.
75123         * m4/progtest.m4: Upgrade to gettext-0.11.
75124
75125 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75126
75127         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
75128         (jm_PREREQ): Use it.
75129
75130 2002-02-15  Paul Eggert  <eggert@twinsun.com>
75131
75132         * lib/posixver.c, lib/posixver.h: New files.
75133         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75134
75135 2002-02-02  Paul Eggert  <eggert@twinsun.com>
75136             Bruno Haible  <bruno@clisp.org>
75137
75138         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
75139         (fwrite_success_callback): New declaration.
75140         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
75141         print_unicode_char. Call failure callback instead of error.
75142         (fwrite_success_callback): New function.
75143         (exit_failure_callback): New function.
75144         (fallback_failure_callback): New function.
75145         (print_unicode_char): Call unicode_to_mb.
75146
75147 2002-01-26  Jim Meyering  <meyering@lucent.com>
75148
75149         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
75150         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
75151
75152 2002-01-26  Jim Meyering  <meyering@lucent.com>
75153
75154         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
75155
75156 2002-01-22  Paul Eggert  <eggert@twinsun.com>
75157
75158         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
75159
75160 2002-01-22  Jim Meyering  <meyering@lucent.com>
75161
75162         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
75163         Otherwise, some versions of automake would omit the rule that makes
75164         Makefile from Makefile.in.
75165
75166 2002-01-21  Paul Eggert  <eggert@twinsun.com>
75167
75168         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
75169         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
75170         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
75171         (memcoll): Set errno to zero if there is no error.
75172
75173         * lib/quotearg.c (quotearg_buffer_restyled):
75174         Fix bug with quoting buffers containing NUL when backslashing escapes.
75175         This bug was exposed by the other changes in this patch.
75176         (quotearg_n_options): New arg ARGSIZE.
75177         All callers changed.
75178         (quoting_options_from_style): New function.
75179         (quotearg_n_style): Use it.
75180         (quotearg_n_style_mem): New function.
75181
75182         * lib/quotearg.h (quotearg_n_style_mem): New function.
75183
75184 2002-01-19  Jim Meyering  <meyering@lucent.com>
75185
75186         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
75187         Remove useless quotes: DF_PROG="df".
75188         * m4/strnlen.m4: New file.
75189
75190 2002-01-16  Paul Eggert  <eggert@twinsun.com>
75191
75192         * lib/backupfile.c (ISDIGIT): Comment fix.
75193         * lib/getdate.y (ISDIGIT): Likewise.
75194         * lib/posixtm.c (ISDIGIT, year): Likewise.
75195         * lib/strverscmp.c (ISDIGIT): Likewise.
75196         * lib/userspec.c (ISDIGIT): Likewise.
75197
75198 2002-01-16  Jim Meyering  <meyering@lucent.com>
75199
75200         * lib/getdate.y: Add three semicolons, each just before a closing
75201         brace. Bison (as of version 1.31) no longer papers over that mistake.
75202
75203 2002-01-05  Jim Meyering  <meyering@lucent.com>
75204
75205         * lib/version-etc.c (version_etc_copyright): Update copyright year.
75206
75207 2001-12-19  Paul Eggert  <eggert@twinsun.com>
75208
75209         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
75210         not silently exit merely because the output buffer happens to
75211         have nothing pending.
75212
75213 2001-12-18  Paul Eggert  <eggert@twinsun.com>
75214
75215         See the big note in ../ChangeLog.
75216         * lib/human.c (suffixes): Prefer K to k for 1024.
75217         (generate_suffix_backwards): New function.
75218         (human_readable_inexact): Use it.
75219         * lib/xstrtol.c (__xstrtol): If there is no number but there
75220         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
75221         Accept 'K' as well as 'k'.
75222
75223 2001-12-15  Jim Meyering  <meyering@lucent.com>
75224
75225         * lib/regex.h (__restrict_arr): Update from libc.
75226
75227         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
75228         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
75229         (STREQ): Define.
75230
75231 2001-12-14  Jim Meyering  <meyering@lucent.com>
75232
75233         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
75234         Suggestion from Bruno Haible.
75235
75236 2001-12-10  Jim Meyering  <meyering@lucent.com>
75237
75238         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
75239         xrealloc, Instead, include "xalloc.h".
75240         (initbuffer): Don't cast xmalloc return value to char*.
75241         (readline): Reword comment.
75242         Don't cast xrealloc return value to char*
75243         Return NULL, not 0.
75244
75245 2001-12-09  Jim Meyering  <meyering@lucent.com>
75246
75247         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
75248         about `signed and unsigned type in conditional expression'.
75249         * lib/posixtm.c (posix_time_parse): Likewise.
75250
75251         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
75252
75253         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
75254         to avoid a pedantic warning.
75255
75256         * lib/getstr.c: Don't include assert.h.
75257         (getstr): Remove warning-evoking assertions.
75258         Return -1 if offset parameter is out of bounds.
75259         Change the type of a local from int to size_t.
75260
75261         * lib/strftime.c (my_strftime_localtime_r): Include this function
75262         definition in the `#if ! HAVE_TM_GMTOFF' block.
75263
75264         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
75265         Include xalloc.h instead.
75266
75267 2001-12-02  Jim Meyering  <meyering@lucent.com>
75268
75269         * lib/tempname.c: Don't declare getenv, thus reverting the change of
75270         2001-11-18.  It's no longer necessary, now that stdlib.h is always
75271         included.
75272
75273         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
75274         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
75275
75276 2001-11-30  Akim Demaille  <akim@epita.fr>
75277
75278         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
75279         before being defined.
75280
75281 2001-11-27  Paul Eggert  <eggert@twinsun.com>
75282
75283         * lib/quotearg.h (quotearg_n, quotearg_n_style):
75284         First arg is int, not unsigned.
75285         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
75286         (SIZE_MAX, UINT_MAX): New macros.
75287         (quotearg_n_options): Abort if N is negative.
75288         Avoid overflow check on hosts where size_t is 64 bits and int
75289         is 32 bits, as overflow is impossible there.
75290         Fix off-by-one typo that caused unnecessary reallocation.
75291
75292 2001-11-27  Jim Meyering  <meyering@lucent.com>
75293
75294         * lib/tempname.c: Merge with version from libc.
75295         * lib/regex.c: Likewise.
75296
75297         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
75298         systems for which STDC_HEADERS is 0, it was not included, resulting in
75299         a warning about an integer-to-pointer conversion problem with getenv.
75300         Reported by Volker Borchert.
75301
75302 2001-11-26  Jim Meyering  <meyering@lucent.com>
75303
75304         * lib/gtod.h: Remove file.
75305         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
75306         * lib/gettimeofday.c: Don't include gtod.h.
75307         (GTOD_init): Remove function.
75308         (rpl_gettimeofday): Do its job here instead, rather than aborting.
75309         Suggestion from Volker Borchert.
75310
75311 2001-11-23  Jim Meyering  <meyering@lucent.com>
75312
75313         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
75314         it.
75315         * lib/hash.c (struct hash_table): Define it here instead.
75316
75317 2001-11-22  Jim Meyering  <meyering@lucent.com>
75318
75319         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
75320
75321 2001-11-20  Jim Meyering  <meyering@lucent.com>
75322
75323         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
75324         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
75325
75326 2001-11-19  Jim Meyering  <meyering@lucent.com>
75327
75328         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
75329         directory.  Use "conftestXXXXXX" as the template.
75330         Suggestion from Paul Eggert.
75331
75332         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
75333         immediately, so the test doesn't mistakenly hit the max-open-files
75334         limit.
75335
75336 2001-11-18  Paul Eggert  <eggert@twinsun.com>
75337
75338         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
75339         (TEMPORARIES): New macro.
75340         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
75341         removes an artificial limitation (e.g. HP-UX 10.20, where
75342         TMP_MAX is 17576).
75343
75344 2001-11-18  Jim Meyering  <meyering@lucent.com>
75345
75346         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
75347
75348 2001-11-18  Jim Meyering  <meyering@lucent.com>
75349
75350         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
75351         on SunOS 4.
75352
75353         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
75354         files will be created before anything else.
75355
75356 2001-11-17  Paul Eggert  <eggert@twinsun.com>
75357
75358         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
75359         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
75360
75361 2001-11-17  Jim Meyering  <meyering@lucent.com>
75362
75363         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
75364         Prompted by a report from Bob Proulx.
75365
75366         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
75367         Instead, require UTILS_FUNC_MKSTEMP.
75368
75369 2001-11-17  Jim Meyering  <meyering@lucent.com>
75370
75371         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
75372         Now, that's done as part of AC_FUNC_STRTOD.
75373
75374 2001-11-17  Jim Meyering  <meyering@lucent.com>
75375
75376         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
75377         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
75378         rather than group writable.  Patch by Juan F. Codagnone.
75379
75380         * lib/readtokens.c: Remove explicit declarations of xmalloc and
75381         xrealloc, Instead, include "xalloc.h".
75382
75383         * lib/mountlist.c: Include unlocked-io.h after all system headers.
75384         Remove explicit declarations of xmalloc, xrealloc,
75385         and xstrdup.  Instead, include "xalloc.h".
75386
75387         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
75388         unlocked-io.h.
75389         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
75390         Likewise.
75391         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
75392
75393         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
75394         Reported by Padraig Brady.
75395
75396         * lib/mkstemp.c: #undef mkstemp.
75397         Include config.h.
75398         (rpl_mkstemp): Rename from mkstemp.
75399         Protoize.
75400
75401 2001-11-16  Jim Meyering  <meyering@lucent.com>
75402
75403         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
75404         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
75405         determine the amount of total physical memory, use pstat_getstatic.
75406         HPUX-11 doesn't define _SC_PHYS_PAGES.
75407         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
75408         If sysconf couldn't be used to determine the amount of available
75409         physical memory, use both pstat_getstatic and pstat_getdynamic.
75410         Based on a patch from Bob Proulx.
75411
75412 2001-11-10  Jim Meyering  <meyering@lucent.com>
75413
75414         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
75415         (jm_PREREQ): Use it.
75416
75417 2001-11-09  Jim Meyering  <meyering@lucent.com>
75418
75419         * m4/jm-macros.m4: Require autoconf-2.52f.
75420         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
75421         Use these AC_-prefixed names, not the AM_-prefixed ones.
75422
75423         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
75424
75425 2001-11-05  Jim Meyering  <meyering@lucent.com>
75426
75427         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
75428
75429 2001-11-04  Jim Meyering  <meyering@lucent.com>
75430
75431         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
75432         $DEFS.
75433
75434 2001-11-03  Jim Meyering  <meyering@lucent.com>
75435
75436         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
75437         of AC_DEFUN.
75438
75439         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
75440         know the name of the variable in the macro definition.
75441
75442 2001-11-03  Jim Meyering  <meyering@lucent.com>
75443
75444         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
75445         in argmatch_to_argument call.
75446
75447         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
75448         argument.
75449
75450         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
75451         e.g., a fault due to an attempt to free a NULL pointer.
75452
75453 2001-11-01  Jim Meyering  <meyering@lucent.com>
75454
75455         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
75456         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
75457
75458 2001-11-01  Jim Meyering  <meyering@lucent.com>
75459
75460         * lib/dirfd.c, lib/dirfd.h: New files.
75461         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
75462
75463         * lib/hash.c (hash_print) [TESTING]: Clean up.
75464
75465 2001-10-22  Paul Eggert  <eggert@twinsun.com>
75466
75467         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
75468         to avoid a warning if -Wall.
75469
75470 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
75471
75472         * README: New file
75473         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
75474         (per RMS's instructions, this is now the canonical source)
75475         * lgpl/, gpl/: New directories.
75476
75477 2001-10-21  Paul Eggert  <eggert@twinsun.com>
75478
75479         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
75480
75481 2001-10-21  Jim Meyering  <meyering@lucent.com>
75482
75483         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
75484         this code would end up calling gettext even in packages built
75485         with --disable-nls.
75486         * lib/getopt.c (_): Likewise.
75487         * lib/regex.c (_): Likewise.
75488
75489 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75490
75491         * m4/error.m4 (jm_PREREQ_ERROR):
75492         Do not invoke AC_CHECK_FUNCS with strerror_r, as
75493         AC_FUNC_STRERROR_R does that.
75494         Check for strerror declaration.
75495
75496         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
75497         are supposed to have them these days.
75498         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
75499         Merge changes from latest Autoconf CVS.
75500         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
75501         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
75502         POSIX decided to standardize on the int flavor of strerror_r.
75503
75504 2001-10-20  Paul Eggert  <eggert@twinsun.com>
75505
75506         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
75507         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
75508         Use strerror_r that is only a macro, even if it is not a function.
75509         (strerror): Check for HAVE_DECL_STRERROR before declaring.
75510         (private_strerror): Use prototypes, not old-style function definition.
75511         (print_errno_message): New function.
75512         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
75513         char*-flavored one.
75514         (error_tail, error, error_at_line): Use it.
75515
75516 2001-10-11  Jim Meyering  <meyering@lucent.com>
75517
75518         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
75519         and quote_n (1, ... to avoid clobbering a buffer.
75520
75521 2001-10-05  Jim Meyering  <meyering@lucent.com>
75522
75523         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
75524         hash-pjw.h.
75525         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
75526         * lib/hash-pjw.h: New file.
75527
75528 2001-09-30  Jim Meyering  <meyering@lucent.com>
75529
75530         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
75531         `struct fsstat' has the `f_fstypename' member.
75532         Use that to define FS_TYPE, which is now used to make
75533         the getfsstat link test tighter.
75534
75535 2001-09-30  Jim Meyering  <meyering@lucent.com>
75536
75537         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
75538         Include <sys/ucred.h>, for Apple Darwin.
75539         Include sys/mount.h and sys/fs_types.h only if available.
75540         (FS_TYPE): Define.
75541         (read_filesystem_list): Use FS_TYPE.
75542
75543 2001-09-29  Paul Eggert  <eggert@twinsun.com>
75544
75545         * lib/exclude.c (excluded_filename): 0 -> false, since it's
75546         a boolean context.
75547
75548 2001-09-29  Jim Meyering  <meyering@lucent.com>
75549
75550         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
75551         [one-argument getmntent function]): Include stdio.h before mntent.h.
75552         SunOS 4.1.x needs it for the declaration of `FILE'.
75553         Patch by Volker Borchert.
75554
75555         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
75556         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
75557         sys/fs_types.h, and make the link-test for getfsstat guard #include
75558         directives with appropriate #if HAVE_*_H tests so that we can
75559         detect getfsstat on Apple Darwin1.3.7 systems.
75560         Reported by Nelson Beebe.
75561         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
75562
75563 2001-09-28  Paul Eggert  <eggert@twinsun.com>
75564
75565         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
75566         #defines strtoimax.  Also treat the other strto* functions
75567         like strtoimax.
75568
75569         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
75570         Check for strtoul and strtoumax,
75571         as those declarations are made even in the signed case.
75572         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
75573         Likewise, for strtol and strtoimax.
75574
75575 2001-09-28  Paul Eggert  <eggert@twinsun.com>
75576
75577         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
75578         #defines strtoimax.  Also treat the other strto* functions
75579         like strtoimax.
75580
75581         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
75582         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
75583         (strtoimax, strtoumax): Do not declare if already defined as a macro.
75584
75585 2001-09-26  Jim Meyering  <meyering@lucent.com>
75586
75587         Most macros in unlocked-io.h had the wrong number of arguments.
75588         * lib/gen-uio: New script.
75589         (USE_UNLOCKED_IO): Define to 1 if not already defined.
75590         * lib/unlocked-io.hin: Remove file.
75591         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
75592         rather than trying to embed it here.
75593         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
75594         Reported by Padraig Brady.
75595
75596 2001-09-25  Volker Borchert  <bt@teknon.de>
75597
75598         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
75599         `result'.
75600
75601 2001-09-24  Jim Meyering  <meyering@lucent.com>
75602
75603         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
75604
75605 2001-09-23  Jim Meyering  <meyering@lucent.com>
75606
75607         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
75608         instead of the mere test for existence of mntent.h.  The latter
75609         would get a false-positive on AIX 3.4 systems.
75610         In the outer getmntent if-block, don't die if neither of the getmntent
75611         tests succeeds.  Instead, just fall through and continue with the
75612         remaining tests.
75613
75614 2001-09-23  Jim Meyering  <meyering@lucent.com>
75615
75616         * lib/mountlist.c: Remove useless parentheses in #if directives.
75617         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
75618         the deprecated MOUNTED symbol is no longer defined in mntent.h.
75619
75620 2001-09-22  Jim Meyering  <meyering@lucent.com>
75621
75622         * m4/gettext.m4: New file.  From gettext.
75623         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
75624         * m4/progtest.m4: Likewise
75625         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
75626         * m4/glibc21.m4: Likewise.
75627
75628         * m4/libintl.m4: Remove.  No longer used.
75629
75630 2001-09-22  Jim Meyering  <meyering@lucent.com>
75631
75632         * lib/localcharset.c: Update from latest gettext.
75633         * lib/config.charset: Likewise.
75634
75635 2001-09-20  Jim Meyering  <meyering@lucent.com>
75636
75637         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
75638         strtoimax.
75639         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
75640         strtoumax.
75641
75642 2001-09-20  Jim Meyering  <meyering@lucent.com>
75643
75644         * lib/xstrtol.c (strtoimax): Guard declaration with
75645         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
75646         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
75647         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
75648         (strtoumax): Likewise, for completeness (it wasn't necessary).
75649
75650 2001-09-17  Paul Eggert  <eggert@twinsun.com>
75651
75652         * lib/strtoimax.c (HAVE_LONG_LONG):
75653         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
75654         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
75655         to work around bug in IBM C compiler.
75656
75657 2001-09-17  Jim Meyering  <meyering@lucent.com>
75658
75659         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
75660         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
75661         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
75662         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
75663         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
75664         whenever the right hand side need not be expanded by the shell.
75665
75666 2001-09-16  Paul Eggert  <eggert@twinsun.com>
75667
75668         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
75669         library.  It's not correct, as some older glibcs are buggy.
75670         fnmatch wasn't fixed until glibc 2.2.
75671
75672         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
75673         special shell magic here.
75674
75675 2001-09-16  Jim Meyering  <meyering@lucent.com>
75676
75677         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
75678         * m4/jm-macros.m4: Require it.
75679
75680 2001-09-16  Jim Meyering  <meyering@lucent.com>
75681
75682         * lib/mkdir.c: New file.
75683
75684 2001-09-15  Jim Meyering  <meyering@lucent.com>
75685
75686         * m4/jm-macros.m4: Check for help2man.
75687
75688 2001-09-11  Jim Meyering  <meyering@lucent.com>
75689
75690         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
75691         The body, by Paul Eggert, was moved here from configure.in.
75692         * m4/jm-macros.m4: Require UTILS_HOST_OS.
75693
75694 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75695
75696         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
75697         (jm_PREREQ): Use it.
75698
75699 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75700
75701         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
75702         Use ssize_t, not int, to store result of readlink.
75703         Check for ssize_t overflow as well as size_t overflow,
75704         as POSIX says the result of readlink is implementation-defined
75705         when ssize_t overflows.
75706         Remove unnecessary cast to char*.
75707         Use free+malloc instead of realloc, as the storage doesn't need
75708         to be preserved and it's clearer and can be more efficient that way.
75709         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
75710         * lib/xreadlink.h (xreadlink): Update prototype.
75711
75712 2001-09-04  Paul Eggert  <eggert@twinsun.com>
75713
75714         * lib/xgetcwd.c: Revert some of the previous change; intead,
75715         fix the HAVE_GETCWD_NULL code to behave more like the
75716         !HAVE_GETCWD_NULL code used to.
75717
75718         Include "xalloc.h".
75719         (xgetcwd): Do not return NULL when memory is exhausted; instead,
75720         invoke xalloc_die.
75721
75722 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75723
75724         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
75725         sys/param.h, as pathmax.h includes them.
75726
75727 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75728
75729         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
75730         (jm_PREREQ_XGETCWD): New macro.
75731
75732         * m4/getcwd.m4: New file.
75733
75734 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75735
75736         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
75737         like the HAVE_GETCWD_NULL code.
75738         Include pathmax.h if not HAVE_GETCWD.
75739         Do not include xalloc.h.
75740         (INITIAL_BUFFER_SIZE): New symbol.
75741         Do not use xmalloc / xrealloc, since the caller is responsible for
75742         handling errors.  Preserve errno around `free' during failure.
75743         Do not overrun buffer when using getwd.
75744
75745 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75746
75747         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
75748         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
75749         getcwd (NULL, 0).
75750
75751 2001-09-03  Paul Eggert  <eggert@twinsun.com>
75752
75753         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
75754         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
75755         spotted by Jim Meyering.
75756
75757 2001-09-03  Jim Meyering  <meyering@lucent.com>
75758
75759         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
75760         failure.
75761
75762 2001-09-02  Jim Meyering  <meyering@lucent.com>
75763
75764         * lib/error.c: Update from GNU libc.
75765
75766 2001-09-01  Jim Meyering  <meyering@lucent.com>
75767
75768         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
75769         Used by df.
75770
75771 2001-09-01  Jim Meyering  <meyering@lucent.com>
75772
75773         * lib/xreadlink.c: New file.
75774         * lib/xreadlink.h: New file.
75775         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
75776         xreadlink.h.
75777
75778         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
75779         doesn't conflict with sparc Solaris 7's definition in
75780         /usr/include/sys/int_types.h.
75781
75782         * lib/exclude.c: Use `""', not `<>' to #include non-system header
75783         files.
75784         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
75785         and strncasecmp as r-values.  Unixware didn't have declarations.
75786
75787 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75788
75789         * lib/xstrtol.h: Add copyright notice.
75790         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
75791         LONGINT_INVALID_SUFFIX_CHAR.
75792
75793 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75794
75795         * lib/xstrtol.c (strtoimax): New decl.
75796
75797 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75798
75799         * lib/xgetcwd.c: Don't include pathmax.h.
75800         Include stdlib.h and unistd.h if available.
75801         Include xalloc.h.
75802         (xmalloc, xstrdup, free): Remove decls.
75803         (xgetcwd): Don't assume sizes fit in unsigned.
75804         Check for overflow when computing sizes.
75805         Simplify reallocation code.
75806
75807 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75808
75809         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
75810         a directory's st_size can have an arbitrary value, so the old
75811         usage could waste an arbitrary amount of memory.  All uses
75812         changed.
75813         * lib/savedir.h: Update prototype.
75814
75815 2001-08-31  Paul Eggert  <eggert@twinsun.com>
75816
75817         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
75818
75819         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
75820         old strtoimax.c.
75821
75822         Also, make the following further changes to make this file's
75823         configuration more similar to that of strtol.c:
75824         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
75825         (strtoumax, uintmax_t, strtoull, strtol): Remove.
75826         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
75827         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
75828         changed to signed values.
75829
75830         And make the following changes as well:
75831         Fix copyright notice, as 1999 was missing.
75832         (verify): New macro.
75833         (strtoimax): Check sizes at compile-time, not run-time.
75834         Prefer strtol to strtoll if both work.
75835         (main): Remove; it was not that useful and was a pain to maintain.
75836
75837         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
75838
75839 2001-08-31  Jim Meyering  <meyering@lucent.com>
75840
75841         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
75842         Use an initial, malloc'd, buffer of length 128 rather than
75843         a statically allocated one of length 1024.
75844
75845 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75846
75847         Simplify code, partly by assuming autoconf 2.52 semantics.
75848
75849         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
75850
75851         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
75852         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
75853         All uses removed.
75854         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
75855         Move AC_REQUIRE to next-to-top level, to avoid confusion.
75856         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
75857         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
75858         jm_AC_HEADER_INTTYPES_H.
75859         * m4/jm-macros.m4 (jm_MACROS): Likewise.
75860
75861         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
75862
75863         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
75864         Quote first arg of AC_DEFUN.
75865         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
75866         since they are needed to parse the include file even if we need
75867         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
75868         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
75869         but with opposite signedness.
75870
75871 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75872
75873         Merge 'exclude' changes from tar 1.13.22.
75874         This fixes one or two unlikely storage allocation overflow bugs,
75875         but doesn't change user-visible behavior otherwise.
75876
75877 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75878
75879         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
75880         (jm_PREREQ_EXCLUDE): New macro.
75881
75882 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75883
75884         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
75885         tm to be declared.
75886
75887 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75888
75889         * lib/hash.c: Remove '2001' from copyright notice.
75890
75891 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75892
75893         * lib/full-write.h: New file.
75894         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
75895         * lib/full-write.c: Correct credits, as cccp.c no longer
75896         exists and anyway it was so heavily changed from the old cccp
75897         code as to be unrecognizable.  Include full-write.h.
75898         (full_write) Return size_t, with short writes meaning failure.
75899         All callers changed.  This fixes a bug with large buffers
75900         on 64-bit hosts.
75901         * lib/utime.c: Include full-write.h.
75902
75903 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75904
75905         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
75906         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
75907         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
75908         Include if available.
75909         (<xalloc.h>): Include
75910         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
75911         (verify): New macro.  Use it to verify that EXCLUDE macros do not
75912         collide with FNM macros.
75913         (struct patopts): New struct.
75914         (struct exclude): Use it, as exclude patterns now come with options.
75915         (new_exclude): Support above changes.
75916         (new_exclude, add_exclude_file):
75917         Initial size must now be a power of two to simplify overflow checking.
75918         (free_exclude, fnmatch_no_wildcards): New function.
75919         (excluded_filename): No longer requires options arg, as the options
75920         are determined by add_exclude.  Now returns bool, not int.
75921         (excluded_filename, add_exclude):
75922         Add support for the fancy new exclusion options.
75923         (add_exclude, add_exclude_file): Now takes int options arg.
75924         Check for arithmetic overflow when computing sizes.
75925         (add_exclude_file): xrealloc might modify errno, so don't
75926         realloc until after errno might be used.
75927
75928         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
75929         New macros.
75930         (free_exclude): New decl.
75931         (add_exclude, add_exclude_file): Now takes int options arg.
75932         (excluded_filename): No longer requires options arg, as the options
75933         are determined by add_exclude.  Now returns bool, not int.
75934
75935 2001-08-30  Paul Eggert  <eggert@twinsun.com>
75936
75937         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
75938
75939 2001-08-27  Jim Meyering  <meyering@lucent.com>
75940
75941         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
75942
75943         * lib/version-etc.c (N_): Remove definition.
75944         Revert most of last change.
75945         Instead, simply don't mark the `Copyright...' string for translation.
75946         Based on advice from Paul Eggert.
75947
75948         * lib/strtoxmax.c: Tweak comment.
75949
75950 2001-08-26  Jim Meyering  <meyering@lucent.com>
75951
75952         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
75953
75954         * m4/xstrtoimax.m4: New file.
75955         * m4/xstrtoumax.m4: Add comments explaining why we
75956         AC_REPLACE_FUNCS(strtol).
75957
75958 2001-08-26  Jim Meyering  <meyering@lucent.com>
75959
75960         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
75961         of copyright with `%s' so translators don't get an untranslated
75962         message in 2002.
75963         (COPYRIGHT_YEAR): Define.
75964         (version_etc): Use fprintf rather than fputs.
75965         Suggestion from Ulrich Drepper.
75966
75967         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
75968
75969         * lib/strtoll.c: New file, from GNU libc.
75970         * lib/xstrtoimax.c: New file.
75971
75972         * lib/xstrtol.h: Add xstrtoimax.
75973         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
75974         * lib/strtoimax.c: New file.  Likewise, but first define
75975         STRTOUXMAX_SIGNED.
75976
75977         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
75978         ...
75979         * lib/strtoxmax.c: ... then renamed to this.
75980
75981 2001-08-18  Paul Eggert  <eggert@twinsun.com>
75982
75983         * m4/inttypes.m4: Add AC_PREREQ(2.13).
75984         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
75985         (jm_AC_TYPE_INTMAX_T): New macro.
75986         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
75987
75988         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
75989
75990         * m4/longlong.m4: Renamed from ulonglong.m4.
75991         * m4/inttypes.m4: Renamed from inttypes_h.m4.
75992         * m4/uintmax_t.m4: Removed.
75993
75994 2001-08-13  Paul Eggert  <eggert@twinsun.com>
75995
75996         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
75997         Port to Solaris 8, where 'sed' requires a space after the 'r'
75998         command, and where sh dislikes "$/".  Clean up the spacing a bit.
75999         Redirect output to $tmp just once.
76000
76001 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
76002
76003         * lib/addext.c (<errno.h>): Include.
76004         (errno): Declare if not defined.
76005         (addext): Work correctly when pathconf returns -1 and leaves
76006         errno alone because there is no limit.  Also, work even if
76007         pathconf returns a value greater than SIZE_MAX.
76008
76009 2001-08-12  Jim Meyering  <meyering@lucent.com>
76010
76011         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
76012         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
76013         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
76014         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
76015         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
76016         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
76017         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
76018         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
76019         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
76020         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
76021         utime.m4, utimes.m4, xstrtoumax.m4:
76022         Quote the first argument in each use of AC_DEFUN.
76023
76024 2001-08-12  Jim Meyering  <meyering@lucent.com>
76025
76026         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
76027         Simply `return getcwd (NULL, 0);'.
76028         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
76029         Use 1300 as initial value for length, not PATH_MAX.
76030
76031         * lib/pathmax.h: Clean up cpp syntax.
76032
76033 2001-08-12  Jim Meyering  <meyering@lucent.com>
76034
76035         * lib/gettimeofday.c: New file.
76036         * lib/gtod.h: New file.
76037         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
76038
76039 2001-08-05  Jim Meyering  <meyering@lucent.com>
76040
76041         * m4/jm-macros.m4: Require autoconf-2.52.
76042
76043 2001-08-04  Jim Meyering  <meyering@lucent.com>
76044
76045         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
76046         stmt, to get in sync with glibc.
76047
76048 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76049
76050         The following changes are from gettext 0.10.39 as maintained by
76051         Bruno Haible.
76052
76053         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
76054         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
76055         with inverted sense.  All uses changed.
76056
76057         * lib/mbswidth.c: Don't include <limits.h>.
76058         Include <stdlib.h> and <string.h> unconditionally.
76059         (iswcntrl, mbsinit, ISCNTRL): New macros.
76060         (mbsnwidth): Use K&R style function declarations.
76061         Don't bother checking for MB_LEN_MAX == 1, since the compiler
76062         can optimize it when MB_CUR_MAX == 1.
76063         The width of control characters is zero, not 1.
76064
76065 2001-08-03  Paul Eggert  <eggert@twinsun.com>
76066
76067         The following changes are from gettext 0.10.39 as maintained by
76068         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
76069
76070         * m4/codeset.m4: Upgrade to serial AM1.
76071         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
76072         all uses changed.  Quote first arg of AC_DEFUN.
76073         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
76074
76075         * m4/iconv.m4: Upgrade to serial AM2.
76076         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
76077         Add --with-libconv-prefix.
76078         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
76079         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
76080         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
76081         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
76082         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
76083
76084         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
76085         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
76086         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
76087         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
76088         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
76089         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
76090         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
76091         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
76092         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
76093
76094         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
76095         string.h any more.
76096
76097         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
76098         not the default value.
76099
76100         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
76101         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
76102         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
76103         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
76104         Also check for iswcntrl, used for wcwidth fallback.
76105         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
76106         to Autoconf 2.13.
76107
76108 2001-08-03  Jim Meyering  <meyering@lucent.com>
76109
76110         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
76111         as it was in the original.  Reported by Paul Eggert.
76112
76113 2001-07-16  Jim Meyering  <meyering@lucent.com>
76114
76115         * m4/gettimeofday.m4: New file.
76116         Prompted by a report from Bernhard Baehr.
76117
76118 2001-07-15  Jim Meyering  <meyering@lucent.com>
76119
76120         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
76121         stuff. Now it's in ../Makefile.cfg.
76122
76123 2001-07-15  Jim Meyering  <meyering@lucent.com>
76124
76125         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
76126         (BUILT_SOURCES): Add unlocked-io.h.
76127         (io_functions): Define.
76128         (unlocked-io.h): New rule.
76129         (DISTCLEANFILES): Add unlocked-io.h.
76130         (all-local): Depend on unlocked-io.h, to ensure it is created.
76131
76132         * lib/unlocked-io.hin: New file
76133
76134         * lib/regex.c: Update from glibc.
76135
76136 2001-07-05  Jim Meyering  <meyering@lucent.com>
76137
76138         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
76139         recommendation.
76140         (libfetish_a_SOURCES): Put all .h files here instead.
76141         Remove a thus-exposed (better checks in automake) duplicate and
76142         two unnecessary .h files.
76143
76144 2001-07-04  Jim Meyering  <meyering@lucent.com>
76145
76146         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
76147         that generates jm-glibc-io.m4 so that it doesn't trigger any make
76148         distcheck failure.
76149
76150 2001-07-02  Jim Meyering  <meyering@lucent.com>
76151
76152         The following changes were prompted by suggestions from Bruno Haible.
76153
76154         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
76155         is now generated.
76156         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
76157         definition of EXTRA_DIST.
76158         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
76159         ensure that the generated file is created/updated whenever the list
76160         of $(unlocked_functions) is changed.
76161         (jm-glibc-io.m4): New rule.
76162         (unlocked-io.h): New rule -- currently unused.
76163
76164 2001-06-24  Jim Meyering  <meyering@lucent.com>
76165
76166         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
76167         unmatched right bracket, rather than kludging it with an extra,
76168         falsely-matching quote in a comment.  Patch by Akim Demaille.
76169
76170 2001-06-11  Jim Meyering  <meyering@lucent.com>
76171
76172         * lib/regex.c: Update from GNU libc.
76173
76174 2001-05-27  Jim Meyering  <meyering@lucent.com>
76175
76176         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
76177         Check for ut_type in struct utmp.
76178
76179 2001-05-27  Jim Meyering  <meyering@lucent.com>
76180
76181         * lib/readutmp.h (UT_TYPE): Define.
76182
76183 2001-05-24  Jim Meyering  <meyering@lucent.com>
76184
76185         * lib/argmatch.c: Include "quote.h".
76186         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
76187         quote function.  Reported by Göran Uddeborg.
76188
76189 2001-05-22  Jim Meyering  <meyering@lucent.com>
76190
76191         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
76192         now that we use the package-supplied version unconditionally.
76193         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
76194
76195 2001-05-21  Jim Meyering  <meyering@lucent.com>
76196
76197         * m4/regex.m4: Change a couple backticks to single quotes to avoid
76198         shell syntax errors.
76199
76200 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76201
76202         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
76203
76204 2001-05-20  Paul Eggert  <eggert@twinsun.com>
76205
76206         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
76207         Don't bother to check library strftime, since
76208         we'll be using our own my_strftime function anyway.
76209         Define my_strftime instead of strftime.
76210
76211 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
76212
76213         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
76214         which is not yet declared.
76215
76216 2001-05-15  Jim Meyering  <meyering@lucent.com>
76217
76218         * m4/regex.m4: Use proper quoting so brackets appear in the test
76219         program.
76220         Reported by, and with help from, Bruno Haible.
76221
76222 2001-05-13  Jim Meyering  <meyering@lucent.com>
76223
76224         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
76225         undefined.
76226
76227 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76228
76229         dirname code cleanup.  base_name now behaves more compatibly
76230         with POSIX basename when given file names that have trailing
76231         slashes, and similarly for dir_name.  Add new primitives
76232         base_len and dir_len.  Put the directory-name-related decls
76233         into dirname.h.
76234
76235         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
76236         * lib/backupfile.c (base_name): Likewise.
76237         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
76238         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
76239         * lib/makepath.c (strip_trailing_slashes): Likewise.
76240         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
76241         ISSLASH): Likewise.
76242         * lib/rename.c (strip_trailing_slashes): Likewise.
76243         * lib/same.c (base_name): Likewise.
76244         * lib/stripslash.c (ISSLASH): Likewise.
76245
76246         * lib/addext.c: Include <dirname.h> after size_t is defined.
76247         * lib/backupfile.c: Likewise.
76248
76249         * lib/addext.c (addext): Use base_len to trim redundant
76250         trailing slashes instead of doing it ourselves.
76251         But do not trim the last slash if it is not redundant.
76252
76253         * lib/backupfile.c (find_backup_file_name,
76254         max_backup_version): Use base_len instead of rolling it ourselves.
76255         Handle the case of "" and (on DOS) "C:" correctly.
76256
76257         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
76258         needed. Include <string.h>, <dirname.h>.
76259         (base_name): Allow file names ending in slashes, other than names
76260         that are all slashes.  In this case, return the basename followed
76261         by the slashes.  This is more general, and can be used in places
76262         where the original base_name purposely had an assertion failure.
76263         (base_len): New function.
76264
76265         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
76266         Do not include <assert.h>; no longer needed.
76267         Include xalloc.h.
76268         (memrchr): Remove decl.
76269         (dir_name_r): Remove.
76270         (dir_len): Renamed from dirlen.  All callers changed.
76271         Rewrite in terms of base_name, for simplicity and consistency.
76272         (dir_name): Never return NULL.  All callers changed.
76273         Do not include <stdlib.h> in test program; no longer needed.
76274         return 0; is fine for test program.
76275
76276         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
76277         New macros.
76278         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
76279
76280         * lib/path-concat.c (path_concat): Use base_len to compute
76281         base length, not strlen; this means we cannot rely on memcpy
76282         to null-terminate.
76283
76284         * lib/same.c (STREQ): Remove.
76285         (same_name): Handle the case where the basename ends in trailing '/'.
76286
76287         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
76288         a slash was stripped.  Do not strip the last slash after a
76289         file system prefix.
76290
76291 2001-05-11  Paul Eggert  <eggert@twinsun.com>
76292
76293         * lib/Makefile.am (libfetish_a_SOURCES):
76294         Add strftime.c, since we now compile it on all hosts.
76295
76296         * lib/strftime.c (my_strftime):
76297         Define to nstrftime if emacs, but only if my_strftime is not defined.
76298         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
76299         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
76300         Add one more extra argument: a nanoseconds value.
76301         All uses changed.
76302         (ns): New macro.
76303         (my_strftime function): Add %N format.
76304         (emacs_strftimeu): Renamed from emacs_strftime,
76305         with extra ut argument.
76306
76307 2001-05-09  Paul Eggert  <eggert@twinsun.com>
76308
76309         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
76310
76311 2001-04-21  Jim Meyering  <meyering@lucent.com>
76312
76313         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
76314         doesn't interfere.
76315
76316 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
76317
76318         * m4/ftruncate.m4: Check for chsize.
76319         Link with ftruncate.o unconditionally if ftruncate is missing.
76320         This was required when cross-compiling to i586-mingw32msvc.
76321
76322 2001-04-08  Jim Meyering  <meyering@lucent.com>
76323
76324         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
76325         recomputed; that's necessary when the offset spans a DST transition.
76326         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
76327
76328 2001-04-02  Jim Meyering  <meyering@lucent.com>
76329
76330         * lib/regex.h, regex.c: Update from GNU libc.
76331
76332 2001-03-24  Jim Meyering  <meyering@lucent.com>
76333
76334         * m4/jm-macros.m4: Require autoconf-2.49d.
76335
76336 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
76337
76338         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
76339
76340 2001-03-19  Paul Eggert  <eggert@twinsun.com>
76341
76342         * lib/version-etc.c (version_etc_copyright): Update to 2001.
76343
76344 2001-03-17  Jim Meyering  <meyering@lucent.com>
76345
76346         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
76347         now that the version in autoconf is equivalent.
76348         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
76349
76350         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
76351         Suggestion from Akim Demaille.
76352
76353         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
76354         (jm_PREREQ_TEMPNAME): New function.
76355
76356 2001-03-16  Paul Eggert  <eggert@twinsun.com>
76357
76358         * lib/tempname.c (uint64_t): Define to uintmax_t if
76359         not defined, and if UINT64_MAX is not defined.
76360         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
76361         Reported by John David Anglin.
76362
76363 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
76364
76365         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
76366         resolve alias if codeset is empty.
76367         * lib/config.charset (BeOS): Use wildcard syntax.
76368
76369 2001-03-13  Jim Meyering  <meyering@lucent.com>
76370
76371         * lib/path-concat.c (path_concat)
76372         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
76373         concatenating e.g., `C:' and `foo'.
76374         From Bruno Haible.
76375
76376 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76377
76378         * lib/localcharset.c (locale_charset): Don't use
76379         setlocale(LC_CTYPE,NULL). Don't return NULL.
76380         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
76381
76382 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
76383
76384         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
76385         support for DOS/DJGPP.
76386
76387 2001-03-01  Paul Eggert  <eggert@twinsun.com>
76388
76389         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
76390         lacks mkstemp.  Compile our own tempname.c if we compile our own
76391         mkstemp.c, as mkstemp relies on tempname.
76392
76393 2001-03-01  Jim Meyering  <meyering@lucent.com>
76394
76395         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
76396         AH_VERBATIM really does output its argument verbatim.
76397
76398 2001-02-28  Paul Eggert  <eggert@twinsun.com>
76399
76400         * lib/Makefile.am (libfetish_a_SOURCES):
76401         Add dup-safer.c, fopen-safer.c.
76402         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
76403
76404         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
76405         * lib/unistd-safer.h: New files.
76406
76407 2001-02-25  Paul Eggert  <eggert@twinsun.com>
76408
76409         The mkstemp replacement is taken from glibc 2.2.2, with some
76410         portability fixes for use outside glibc, as follows:
76411
76412         * lib/tempname.c (struct_stat64): New macro.
76413         (direxists, __gen_tempname): Use it.
76414         This avoids a portability problem with Solaris 8.
76415
76416         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
76417         (<stddef.h>, <stdint.h>, <string.h>):
76418         Include only if STDC_HEADERS || _LIBC.
76419         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
76420         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
76421         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
76422         (__set_errno): Define this macro if <errno.h> doesn't.
76423         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
76424         Define these macros if <stdio.h> doesn't.
76425         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
76426         Define these macros if <sys/stat.h>
76427         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
76428         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
76429         __xstat64): Define if not _LIBC.
76430         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
76431         (__gen_tempname): Invoke gettimeofday only if
76432         HAVE_GETTIMEOFDAY || _LIBC;
76433         otherwise, fall back on plain "time".
76434         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
76435
76436         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
76437
76438         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
76439
76440 2001-02-18  Paul Eggert  <eggert@twinsun.com>
76441
76442         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
76443
76444 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76445
76446         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
76447         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
76448         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
76449         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
76450
76451 2001-02-17  Paul Eggert  <eggert@twinsun.com>
76452
76453         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
76454         Remove workaround macros for hosts that have mbrtowc but not
76455         mbstate_t, as we now insist on proper declarations for both
76456         before using mbrtowc.
76457
76458 2001-02-17  Jim Meyering  <meyering@lucent.com>
76459
76460         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
76461         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
76462         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
76463         UnixWare 7.1.1.
76464
76465         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
76466         rather than AC_CACHE_VAL.
76467
76468 2001-02-17  Jim Meyering  <meyering@lucent.com>
76469
76470         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
76471         around included file name.
76472
76473         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
76474
76475         * lib/strftime.c: Update from GNU libc (the only changes were to
76476         comments).
76477
76478 2001-02-17  Jim Meyering  <meyering@lucent.com>
76479
76480         * lib/regex.c: Update from libc.
76481
76482 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
76483
76484         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
76485         clash.
76486
76487 2001-02-16  Paul Eggert  <eggert@twinsun.com>
76488
76489         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
76490         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
76491         Reported by Mark Hounschell via Paul Eggert.
76492
76493 2001-02-07  Jim Meyering  <meyering@lucent.com>
76494
76495         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
76496
76497 2001-02-05  Jim Meyering  <meyering@lucent.com>
76498
76499         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
76500         it includes the patch required for `large file' support with at least
76501         HP-UX's 10.20 /bin/cc.
76502
76503 2001-02-03  Jim Meyering  <meyering@lucent.com>
76504
76505         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
76506         AS_IF, now that it works once again (mysteriously).
76507         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
76508
76509 2001-01-30  Jim Meyering  <meyering@lucent.com>
76510
76511         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
76512         * m4/chown.m4: Rename conftestchown to conftest.chown.
76513         * m4/rename.m4: s/conftestdir/conftest.d1/ and
76514         s/conftestdir2/conftest.d2/.
76515         * m4/utimes.m4: s/conftestdata/conftest.data/
76516         Inspired by Pavel Roskin's change in autoconf.
76517
76518 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
76519
76520         * lib/config.charset: Update for FreeBSD 4.2.
76521
76522 2001-01-27  Jim Meyering  <meyering@lucent.com>
76523
76524         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
76525         a use of AS_IF.
76526         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
76527
76528 2001-01-26  Jim Meyering  <meyering@lucent.com>
76529
76530         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
76531         quotearg.c includes it.
76532
76533 2001-01-26  Jim Meyering  <meyering@lucent.com>
76534
76535         * lib/quotearg.c: Include stddef.h.
76536         * lib/quote.c: Include stddef.h.
76537         Reported by Axel Kittenberger.
76538
76539         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
76540         line in double quotes so that it evokes a better diagnostic.
76541         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
76542         Reported by Axel Kittenberger.
76543
76544 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
76545
76546         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
76547         as if it was a `charset'.
76548
76549 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
76550
76551         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
76552         has const.
76553
76554 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
76555
76556         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
76557         to avoid a warning.  Add back 'const' to inptr.
76558
76559 2001-01-20  Jim Meyering  <meyering@lucent.com>
76560
76561         Be sure that headers are checked before used in code compiled
76562         for the type checks.
76563         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
76564         In place of that, invoke jm_CHECK_ALL_TYPES.
76565         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
76566         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
76567         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
76568         The check for ssize_t was mistakenly run before the test for unistd.h.
76569
76570         The configure-time check for stdbool.h was missing.
76571         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
76572         (jm_PREREQ_HASH): New function.
76573
76574 2001-01-17  Jim Meyering  <meyering@lucent.com>
76575
76576         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
76577         for autoconf-2.49c.
76578         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
76579
76580 2001-01-16  Jim Meyering  <meyering@lucent.com>
76581
76582         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
76583         From Bruno Haible.
76584
76585 2001-01-14  Jim Meyering  <meyering@lucent.com>
76586
76587         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
76588         foo and bar.  Create conftestdir/ in the script, not in the C code.
76589         Remove directories in the script, not in the C code.
76590         Remove conftestdir{,2} before trying to create the directory.
76591         Make the entire configure script fail if the mkdir fails.
76592
76593 2001-01-14  Jim Meyering  <meyering@lucent.com>
76594
76595         * lib/rename.c: New file.  From Volker Borchert.
76596         Include stdlib.h, string.h or strings.h, and xalloc.h.
76597         Use strip_trailing_slashes rather than open-coding it.
76598
76599 2001-01-03  Paul Eggert  <eggert@twinsun.com>
76600
76601         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
76602
76603 2001-01-03  Jim Meyering  <meyering@lucent.com>
76604
76605         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
76606         of local `inptr' to avoid warning with some system declarations of
76607         iconv.
76608
76609 2001-01-02  Volker Borchert  <bt@teknon.de>
76610
76611         * m4/rename.m4: New file.
76612         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
76613
76614 2001-01-01  Jim Meyering  <meyering@lucent.com>
76615
76616         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
76617         even on systems with utmpx.h.  It's necessary for the declaration of
76618         utmp's ut_user member.  Reported by Andreas Jaeger.
76619
76620         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
76621         available. They are required for the declarations of getgrgid and
76622         getpwuid resp.
76623         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
76624         Reported by Andreas Jaeger.
76625
76626 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
76627
76628         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
76629         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
76630         so `make install' also works in VPATH builds.
76631
76632 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
76633
76634         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
76635         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
76636         can be used in subdirectories.
76637
76638 2000-12-29  Paul Eggert  <eggert@twinsun.com>
76639
76640         * lib/modechange.c: Do not assume that mode_t uses the
76641         traditional octal encoding.  E.g. "chmod 1 FOO" should set
76642         the other-execute bit of FOO even if S_IXOTH != 1.
76643
76644         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
76645         WOTH, XOTH, ALLM): New macros.
76646         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
76647          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
76648         Use them.
76649         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
76650         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
76651         (mode_compile):
76652         No need to use uintmax_t; unsigned long is long enough.
76653         Don't bother to get suffix since we don't use it.
76654
76655 2000-12-26  Jim Meyering  <meyering@lucent.com>
76656
76657         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
76658         better with autoheader.
76659
76660 2000-12-24  Jim Meyering  <meyering@lucent.com>
76661
76662         * lib/hash.c (is_prime): Return explicit boolean values.
76663         (hash_get_first): Return NULL to appease Irix5.6's 89.
76664         Reported by Nelson Beebe.
76665
76666 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
76667
76668         * lib/localcharset.c (locale_charset): Add support for Win32.
76669
76670 2000-12-18  Paul Eggert  <eggert@twinsun.com>
76671
76672         * lib/physmem.h, lib/physmem.c: New files.
76673
76674         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
76675         (noinst_HEADERS): Add physmem.h.
76676
76677         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
76678         't' for compatibility with Solaris 8 sort.
76679
76680 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
76681
76682         * lib/config.charset: Add support for BeOS.
76683
76684 2000-12-17  Jim Meyering  <meyering@lucent.com>
76685
76686         * m4/dos.m4 (jm_AC_DOS): New file and macro.
76687         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
76688
76689 2000-12-16  Jim Meyering  <meyering@lucent.com>
76690
76691         This bug had a serious impact on chown: `chown N:M FILE' (for integer
76692         N and M) would have treated it like `chown N:N FILE'.
76693
76694         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
76695
76696 2000-12-16  Jim Meyering  <meyering@lucent.com>
76697
76698         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
76699         SHELLS_FILE to a file name that's useful on djgpp systems.
76700         Include stdlib.h.
76701         (ADDITIONAL_DEFAULT_SHELLS): Define.
76702         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
76703         Based mostly on a patch from Prashant TR.
76704
76705 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
76706
76707         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
76708         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
76709         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
76710
76711 2000-12-08  Andreas Schwab  <schwab@suse.de>
76712
76713         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
76714         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
76715
76716 2000-12-07  Jim Meyering  <meyering@lucent.com>
76717
76718         * lib/stripslash.c (ISSLASH): Define.
76719         (strip_trailing_slashes): Use ISSLASH rather than comparing against
76720         `/'.
76721         From Prashant TR.
76722
76723         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
76724         (dir_name_r): Declare this function as static.
76725         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
76726         manifest itself on a name containing a mix of slashes and
76727         backslashes.
76728         Make this function work with names starting with a DOS-style
76729         drive letter and colon prefix.
76730         (dir_name): Append `.' if necessary.
76731         Based mostly on patches from Prashant TR and Eli Zaretskii.
76732
76733         * lib/dirname.h (dir_name_r): Remove prototype.
76734
76735 2000-12-06  Paul Eggert  <eggert@twinsun.com>
76736
76737         * m4/off_t-format.m4: Remove this file.
76738         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
76739
76740 2000-12-06  Jim Meyering  <meyering@lucent.com>
76741
76742         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
76743         replacement strtoull, we may well need the replacement strtoul, too.
76744         Check for declarations of strtoul and strtoull.
76745         Check for strtol.  Mainly as a cue to cause automake to include
76746         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
76747         Check for limits.h -- strtol.c needs it.
76748
76749 2000-12-05  Jim Meyering  <meyering@lucent.com>
76750
76751         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
76752
76753 2000-12-04  Jim Meyering  <meyering@lucent.com>
76754
76755         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
76756         Also include memory.h, stdlib.h, unistd.h if appropriate.
76757         Reported by Andreas Jaeger (conflicting declaration of malloc).
76758
76759 2000-12-02  Jim Meyering  <meyering@lucent.com>
76760
76761         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
76762         * m4/jm-macros.m4 (jm_MACROS): require it.
76763
76764 2000-12-02  Jim Meyering  <meyering@lucent.com>
76765
76766         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
76767
76768 2000-12-01  Paul Eggert  <eggert@twinsun.com>
76769
76770         * lib/memrchr.c: Include <config.h> before any system include file.
76771
76772 2000-11-30  Jim Meyering  <meyering@lucent.com>
76773
76774         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
76775
76776 2000-11-30  Jim Meyering  <meyering@lucent.com>
76777
76778         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
76779
76780 2000-11-29  Paul Eggert  <eggert@twinsun.com>
76781
76782         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
76783
76784 2000-11-26  Jim Meyering  <meyering@lucent.com>
76785
76786         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
76787
76788 2000-11-22  Paul Eggert  <eggert@twinsun.com>
76789
76790         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
76791         size of (size_t) -1; it's not portable.
76792
76793 2000-11-17  Jim Meyering  <meyering@lucent.com>
76794
76795         * lib/strstr.c: Update from GNU libc.
76796
76797 2000-11-17  Akim Demaille  <akim@epita.fr>
76798
76799         * lib/obstack.h: Formatting changes.
76800         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
76801         prevent type checking.
76802         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
76803         cast the value to (void *): assigning a `foo *' to a `void *'
76804         variable is valid.
76805         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
76806
76807 2000-11-16  Jim Meyering  <meyering@lucent.com>
76808
76809         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
76810
76811 2000-11-11  Jim Meyering  <meyering@lucent.com>
76812
76813         * lib/error.c: Add a couple #includes, merging from GNU libc version.
76814
76815 2000-11-10  Jim Meyering  <meyering@lucent.com>
76816
76817         * lib/obstack.h: Update from GNU libc.
76818         * lib/obstack.c: Likewise.
76819
76820 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
76821
76822         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
76823
76824 2000-11-06  Paul Eggert  <eggert@twinsun.com>
76825
76826         * lib/getusershell.c (setusershell): Use rewind rather than
76827         fseek/fseeko, to avoid configuration hassles with fseeko.
76828         Don't bother opening SHELLS_FILE if shellstream is NULL;
76829         it's not necessary.
76830
76831 2000-11-05  Jim Meyering  <meyering@lucent.com>
76832
76833         * lib/makepath.h (make_dir): Declare.
76834         * lib/makepath.c (make_dir): Remove `static' attribute.
76835         Tweak a comment.
76836
76837 2000-11-04  Jim Meyering  <meyering@lucent.com>
76838
76839         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
76840
76841 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
76842
76843         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
76844         last one in a bucket, advance to the next bucket.
76845
76846 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
76847
76848         * lib/fnmatch.c: Do not comment out all the code if we are using
76849         the GNU C library, because in some cases we are replacing buggy
76850         code in the GNU C library itself.
76851
76852 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
76853
76854         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
76855         (regex_compile): Catch bogus \(\1\).
76856
76857 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76858
76859         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
76860         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
76861         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
76862
76863 2000-10-30  Paul Eggert  <eggert@twinsun.com>
76864
76865         * lib/error.h, getline.h, modechange.h:
76866         Remove "2000" from Copyright line, as the file hasn't been
76867         changed this year other than in the copyright notice.
76868
76869         * lib/xalloc.h: Add "2000" to Copyright line, as this file
76870         was changed this year.
76871
76872 2000-10-29  Jim Meyering  <meyering@lucent.com>
76873
76874         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
76875         renaming.
76876         * m4/ls-mntd-fs.m4: Likewise
76877
76878 2000-10-29  Jim Meyering  <meyering@lucent.com>
76879
76880         * lib/xstat.in: Fix grammar in comment.
76881
76882 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
76883
76884         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
76885         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
76886         doesn't define __restrict_arr.
76887
76888 2000-10-28  Jim Meyering  <meyering@lucent.com>
76889
76890         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
76891         (jm_PREREQ_MEMCHR): New function.
76892
76893 2000-10-28  Jim Meyering  <meyering@lucent.com>
76894
76895         * lib/memchr.c: Update from libc.
76896         Adjust for portability:
76897         [HAVE_STDLIB_H]: Include stdlib.h.
76898         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
76899         Undef __memchr, too.
76900         [!weak_alias]: Define __memchr to memchr.
76901
76902         * lib/regex.c: Update from libc.
76903         * lib/regex.h: Likewise.
76904         * lib/getopt1.c: Likewise.
76905         * lib/memcmp.c: Likewise.
76906
76907         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
76908         Avoid using fseek, when possible -- it's broken by design.
76909         Patch by Ulrich Drepper.
76910
76911 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
76912
76913         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
76914         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
76915         Giving in to popular pressure to shut up the compiler with casts.
76916
76917 2000-10-26  Jim Meyering  <meyering@lucent.com>
76918
76919         * lib/strftime.c: Update from libc.
76920
76921 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
76922
76923         * regex.c: More `unsigned char' -> `re_char' changes.
76924         Also change several `int' into `re_wchar_t'.
76925         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
76926         (PUSH_FAILURE_POINTER): Don't cast any more.
76927         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
76928         We want GCC to complain, since this piece of code makes
76929         re_match non-reentrant, which *should* be fixed.
76930         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
76931         (EXTEND_BUFFER): Use RETALLOC.
76932         (SET_LIST_BIT): Don't cast.
76933         (re_wchar_t): New type.
76934         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
76935         that those two functions will always properly return.
76936         (IMMEDIATE_QUIT_CHECK): Cast to void.
76937         (analyse_first): Use recursion rather than an explicit stack.
76938         (re_compile_fastmap): Can't fail anymore.
76939         (re_search_2): Don't check re_compile_fastmap for failure.
76940         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
76941         Now also sets the new value (passed in a new argument).
76942         (re_match_2_internal): Use it.
76943         Also, use a new var `reg' of type size_t when looping through regs
76944         rather than reuse the inappropriate `mcnt'.
76945
76946 2000-10-25  Jim Meyering  <meyering@lucent.com>
76947
76948         * lib/obstack.c: Update from libc.
76949
76950 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
76951
76952         * regex.c (regex_compile): Change the way of handling a range from
76953         a char less than 256 to a char not less than 256.
76954
76955 2000-10-24  Andrew Innes  <andrewi@gnu.org>
76956
76957         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
76958         NT-Emacs only.
76959         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
76960         so that re_search functions only quit when callers expect them to.
76961
76962 2000-10-23  Jim Meyering  <meyering@lucent.com>
76963
76964         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
76965         wrong.  That set_locale call must not have any side effects.
76966         From Paul Eggert.
76967
76968 2000-10-22  Jim Meyering  <meyering@lucent.com>
76969
76970         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
76971         [CYCLIC]: Remove now-unused definition.
76972
76973         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
76974         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
76975         Suggestion from Ulrich Drepper.
76976
76977 2000-10-21  Jim Meyering  <meyering@lucent.com>
76978
76979         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
76980         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
76981         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
76982
76983 2000-10-21  Jim Meyering  <meyering@lucent.com>
76984
76985         * lib/dirname.c (memrchr): Declare if necessary.
76986         (dir_name): Remove the restriction that there be no
76987         trailing slashes.  Now, this code skips past them, effectively
76988         ignoring them.
76989         [TEST_DIRNAME] (main): New unit tests.
76990
76991         * lib/memrchr.c: New file from GNU libc.
76992         Undef __memrchr, too.
76993         [!weak_alias]: Define __memrchr to memrchr.
76994         Guard weak_alias use with `#ifdef weak_alias'.
76995
76996 2000-10-21  Jim Meyering  <meyering@lucent.com>
76997
76998         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
76999         (dir_name): Use dir_name_r.
77000         * lib/dirname.h (dir_name_r): Declare it.
77001
77002 2000-10-17  Jim Meyering  <meyering@lucent.com>
77003
77004         * lib/quote.h (PARAMS): Define and use.
77005         Reported by Akim Demaille.
77006
77007         * lib/getopt.c: Update from libc.
77008
77009 2000-10-16  Jim Meyering  <meyering@lucent.com>
77010
77011         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
77012         setlocale.
77013         From Jan Fedak.
77014
77015 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
77016
77017         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
77018
77019 2000-09-25  Jim Meyering  <meyering@lucent.com>
77020
77021         * lib/md5.h (rol): Define (from GnuPG).
77022
77023         * lib/sha.c: Give credit (GnuPG) where due.
77024         (M): Use rol rather than open-coding it.
77025         Add a FIXME comment.
77026
77027 2000-09-21  Jim Meyering  <meyering@lucent.com>
77028
77029         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
77030         Reported by Michael Stone.
77031
77032 2000-09-20  Jim Meyering  <meyering@lucent.com>
77033
77034         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
77035         (noinst_HEADERS): Add sha.h.
77036         Based on code from Scott G. Miller and from GnuPG.
77037
77038 2000-09-18  Jim Meyering  <meyering@lucent.com>
77039
77040         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
77041         LIBS. Otherwise, everyone ends up linking with -lelf for some
77042         configurations.
77043         Reported by Mike Stone.
77044
77045 2000-09-15  Jim Meyering  <meyering@lucent.com>
77046
77047         * lib/regex.c: Update from libc.
77048
77049 2000-09-10  Jim Meyering  <meyering@lucent.com>
77050
77051         * lib/getopt.c (_getopt_internal): Update from glibc.
77052
77053 2000-09-09  Jim Meyering  <meyering@lucent.com>
77054
77055         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
77056         think it should be used as a general replacement for isascii.
77057         * lib/fnmatch.c: Likewise.
77058         * lib/mbswidth.c: Likewise
77059         * lib/regex.c: Likewise.
77060
77061         Don't use atoi.
77062         * lib/userspec.c: Include sys/param.h and limits.h.
77063         Include xstrtol.h.
77064         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
77065         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
77066         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
77067         UID, GID.  Check range.
77068
77069 2000-09-06  Jim Meyering  <meyering@lucent.com>
77070
77071         * lib/getopt.c (_getopt_internal): Update from glibc.
77072
77073 2000-08-30  Jim Meyering  <meyering@lucent.com>
77074
77075         * lib/strftime.c: Merge in changes from GNU libc.
77076
77077 2000-08-26  Jim Meyering  <meyering@lucent.com>
77078
77079         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
77080         * m4/fpending.m4: New file.
77081
77082 2000-08-26  Jim Meyering  <meyering@lucent.com>
77083
77084         * lib/closeout.c: Include "__fpending.h".
77085         (close_stdout_status): Return right away if there's nothing to flush.
77086
77087         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
77088         * lib/__fpending.c: New file.
77089         * lib/__fpending.h: New file.
77090
77091 2000-08-20  Jim Meyering  <meyering@lucent.com>
77092
77093         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
77094         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
77095         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
77096
77097 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
77098
77099         Improve fileutils installation on systems where running
77100         programs (like install) can't be unlinked.
77101         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
77102         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
77103
77104 2000-08-07  Paul Eggert  <eggert@twinsun.com>
77105
77106         Standardize on "memory exhausted" instead of "Memory exhausted"
77107         or "virtual memory exhausted".
77108         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
77109         "virtual memory exhausted".
77110         * lib/same.c (same_name): Invoke xalloc_die instead of printing
77111         our own message.
77112         * lib/userspec.c (parse_user_spec): Likewise.
77113         * lib/bumpalloc.h: comment fix
77114         * lib/same.c, userspec.c: Include xalloc.h.
77115
77116         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
77117         not char *const and pointing to a constant array.
77118         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
77119         (xrealloc): Comment fix.
77120
77121         * lib/userspec.c (parse_user_spec):
77122         Don't translate a message until just before returning,
77123         to avoid unnecessary translation.
77124
77125 2000-08-07  Jim Meyering  <meyering@lucent.com>
77126
77127         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
77128         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
77129         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
77130         getgroups.c, gethostname.c, getopt.h, group-member.c,
77131         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
77132         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
77133         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
77134         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
77135         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
77136         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
77137         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
77138         yesno.c: Back out Copyright date changes for each file with no change
77139         this year.  This eases coordination with other programs using the same
77140         source code modules.  From Paul Eggert.
77141
77142 2000-08-06  Paul Eggert  <eggert@twinsun.com>
77143
77144         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
77145         not char, for compatibility with glibc 2.1.3 strftime.c.
77146
77147 2000-08-03  Greg McGary  <greg@mcgary.org>
77148
77149         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
77150         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
77151         (EXTEND_BUFFER): Use them.
77152
77153 2000-08-01  Jim Meyering  <meyering@lucent.com>
77154
77155         * lib/dirname.c (ISSLASH): Define.
77156         (BACKSLASH_IS_PATH_SEPARATOR): Define.
77157         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
77158         both `\' and `/' may be use as path separators.
77159         Based on a patch from Prashant TR.
77160
77161 2000-07-31  Paul Eggert  <eggert@twinsun.com>
77162
77163         * lib/quotearg.c (quotearg_n_options): Don't make the initial
77164         slot vector a constant, since it might get modified.
77165
77166 2000-07-31  Jim Meyering  <meyering@lucent.com>
77167
77168         * lib/xmalloc.c: Use `virtual memory exhausted', not
77169         `Memory exhausted'.
77170         * lib/obstack.c (print_and_abort): Likewise.
77171
77172 2000-07-30  Paul Eggert  <eggert@twinsun.com>
77173
77174         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
77175         buffer, so that the caller can always quote one small
77176         component of a "memory exhausted" message in slot 0.
77177         From a suggestion by Jim Meyering.
77178
77179 2000-07-30  Jim Meyering  <meyering@lucent.com>
77180
77181         * lib/makepath.c (make_path): Quote the other instance, too.
77182
77183         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
77184         (STATIC_BUF_SIZE): Define.
77185         (quotearg_n_options): Use only statically allocated storage when
77186         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
77187         than STATIC_BUF_SIZE.
77188
77189 2000-07-29  Jim Meyering  <meyering@lucent.com>
77190
77191         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
77192         * lib/dirname.c (dir_name): Likewise.
77193
77194         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
77195         `/'.
77196
77197         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
77198         (dir_name): Assert that there are no trailing slashes.
77199
77200 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
77201
77202         * lib/mbswidth.h (mbswidth): Add a flags argument.
77203         (mbswidth): New declaration.
77204         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
77205         * lib/mbswidth.c (mbswidth): Add a flags argument.
77206         (mbsnwidth): New function.
77207
77208 2000-07-24  Jim Meyering  <meyering@lucent.com>
77209
77210         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
77211
77212 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77213
77214         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
77215
77216 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77217
77218         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
77219         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
77220         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
77221         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
77222         invoke multibyte primitives.
77223
77224 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77225
77226         * lib/quotearg.c:
77227         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
77228         so that mbstate_t is always defined.
77229
77230         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
77231         be 1 in at least one GCC installation, and this configuration
77232         error is likely to be common.  Ignoring MB_LEN_MAX hurts
77233         performance on hosts that have mbrtowc but have only unibyte
77234         locales, but I assume these hosts are rare.
77235
77236 2000-07-23  Paul Eggert  <eggert@twinsun.com>
77237
77238         * lib/mbswidth.c (_XOPEN_SOURCE):
77239         Don't define; this causes problems on Solaris 7.
77240         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
77241
77242 2000-07-23  Jim Meyering  <meyering@lucent.com>
77243
77244         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
77245         too: getgrgid, getpwuid, getuid.
77246
77247 2000-07-23  Jim Meyering  <meyering@lucent.com>
77248
77249         * lib/basename.c (base_name): Add an assertion.
77250
77251 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
77252
77253         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
77254         shadow its mbsinit function.
77255
77256 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77257
77258         * lib/mbswidth.h: New file.
77259         * lib/mbswidth.c: New file.
77260         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
77261         (noinst_HEADERS): Add mbswidth.h.
77262
77263 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
77264
77265         * lib/config.charset: Add support for FreeBSD. Improve support for
77266         HP-UX and IRIX 6.
77267
77268 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
77269
77270         * m4/mbswidth.m4: New file.
77271         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
77272
77273 2000-07-15  Jim Meyering  <meyering@lucent.com>
77274
77275         * lib/makepath.c: Include quote.h.
77276         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
77277         corresponding argument in a `quote (...)' call.
77278         Give better diagnostics.
77279
77280         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
77281         (noinst_HEADERS): Add quote.h.
77282
77283         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
77284         from tar's src/misc.c.
77285         * lib/quote.h: New file.  Prototypes for same.
77286
77287 2000-07-14  Paul Eggert  <eggert@twinsun.com>
77288
77289         From a suggestion by Bruno Haible.
77290         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
77291         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
77292         to decide whether to define the BeOS workaround macro;
77293         this adjusts to the change to AC_MBSTATE_T.
77294
77295 2000-07-14  Jim Meyering  <meyering@lucent.com>
77296
77297         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
77298         jm_AC_TYPE_UINTMAX_T.
77299
77300 2000-07-13  Paul Eggert  <eggert@twinsun.com>
77301
77302         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
77303
77304         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
77305         quotearg_buffer_restyled): Add support for
77306         clocale_quoting_style.  Undo previous change to
77307         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
77308         and "{RIGHT QUOTATION MARK}" msgids.
77309
77310 2000-07-10  Paul Eggert  <eggert@twinsun.com>
77311
77312         From a suggestion by Bruno Haible.
77313         * m4/mbstate_t.m4 (AC_MBSTATE_T):
77314         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
77315         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
77316         and mbstate_t, to a single-part test that simply defines mbstate_t.
77317         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
77318         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
77319
77320 2000-07-10  Jim Meyering  <meyering@lucent.com>
77321
77322         * m4/strerror_r.m4: Mirror the correction made in autoconf.
77323
77324         * m4/gnu-source.m4: Output to confdefs.h directly.
77325         Suggestion from Akim Demaille.
77326
77327 2000-07-09  Paul Eggert  <eggert@twinsun.com>
77328
77329         The old behavior of quoting `like this' doesn't look good with
77330         newer, ISO-style fonts.  See:
77331         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
77332
77333         Instead, quote "like this" by default.  Let the translator
77334         tailor the locale-specific quoting behavior by providing
77335         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
77336
77337         * lib/quotearg.c (N_): New macro.
77338         (gettext_default): New function.
77339         (quotearg_buffer_restyled): Use
77340         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
77341         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
77342
77343 2000-07-09  Jim Meyering  <meyering@lucent.com>
77344
77345         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
77346         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
77347
77348         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
77349         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
77350
77351 2000-07-09  Jim Meyering  <meyering@lucent.com>
77352
77353         * lib/Most files: Update copyright dates to include 2000.
77354
77355 2000-07-08  Jim Meyering  <meyering@lucent.com>
77356
77357         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
77358         if not defined.
77359         (xgethostname): Remove now-unnecessary #ifdef.
77360         Move declaration of `err' into loop where it's used.
77361
77362 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77363         and Bruno Haible  <haible@clisp.cons.org>
77364
77365         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
77366         only if the test for an object-type mbstate_t fails.  This
77367         prevents us from mistakenly reporting that mbstate_t is a
77368         system object type after we "#define mbstate_t int" to work
77369         around its lack.
77370
77371 2000-07-05  Paul Eggert  <eggert@twinsun.com>
77372         and Bruno Haible  <haible@clisp.cons.org>
77373
77374         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
77375
77376 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77377
77378         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
77379         to strerror_r.
77380         Include <ctype.h> for use of isalpha.
77381
77382 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77383
77384         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
77385         by allocating a larger buffer. Test the gethostname return value for
77386         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
77387         returns an error and ENAMETOOLONG isn't defined.
77388
77389 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
77390
77391         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
77392         dimension.
77393
77394 2000-07-04  Jim Meyering  <meyering@lucent.com>
77395
77396         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
77397         of the deprecated AC_CHECKING.
77398
77399 2000-07-04  Jim Meyering  <meyering@lucent.com>
77400
77401         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
77402         Reported by Bruno Haible.
77403
77404 2000-07-04  Jim Meyering  <meyering@lucent.com>
77405
77406         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
77407         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
77408         lacks mbrtowc.
77409
77410 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77411
77412         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
77413         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
77414
77415 2000-07-03  Paul Eggert  <eggert@twinsun.com>
77416         and Bruno Haible  <haible@clisp.cons.org>
77417
77418         * lib/quotearg.c (mbrtowc):
77419         Assign to *pwc, and return 1 only if result is nonzero.
77420         (iswprint): Use ISPRINT when substituting our own mbrtowc.
77421
77422 2000-07-03  Jim Meyering  <meyering@lucent.com>
77423
77424         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
77425
77426 2000-07-03  Jim Meyering  <meyering@lucent.com>
77427
77428         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
77429         This is necessary to get a definition of e.g., UTMP_FILE on
77430         HP-UX 10.20.
77431         From Bob Proulx.
77432
77433 2000-07-02  Jim Meyering  <meyering@lucent.com>
77434
77435         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
77436
77437         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
77438         AC_LIBOBJ(function_name).
77439         * m4/chown.m4: Likewise.
77440         * m4/fnmatch.m4: Likewise.
77441         * m4/ftruncate.m4: Likewise.
77442         * m4/getgroups.m4: Likewise.
77443         * m4/getline.m4: Likewise.
77444         * m4/group-member.m4: Likewise.
77445         * m4/jm-macros.m4: Likewise.
77446         * m4/lstat.m4: Likewise.
77447         * m4/malloc.m4: Likewise.
77448         * m4/memcmp.m4: Likewise.
77449         * m4/nanosleep.m4: Likewise.
77450         * m4/putenv.m4: Likewise.
77451         * m4/realloc.m4: Likewise.
77452         * m4/regex.m4: Likewise.
77453         * m4/stat.m4: Likewise.
77454         * m4/strftime.m4: Likewise.
77455
77456 2000-07-02  Jim Meyering  <meyering@lucent.com>
77457
77458         * lib/quotearg.c (mbstate_t): Don't define here.
77459
77460 2000-07-02  Jim Meyering  <meyering@lucent.com>
77461
77462         * lib/nanosleep.c (SIGCONT): Define if not already defined.
77463
77464 2000-07-01  Jim Meyering  <meyering@lucent.com>
77465
77466         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
77467
77468 2000-07-01  Jim Meyering  <meyering@lucent.com>
77469
77470         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
77471         problem.
77472
77473 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77474
77475         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
77476         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
77477
77478 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
77479
77480         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
77481         per change in ../m4/ls-mntd-fs.m4.
77482         (read_filesystem_list): Ignore symbolic links.
77483
77484 2000-06-29  Jim Meyering  <meyering@lucent.com>
77485
77486         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
77487         for declaration of strcmp.
77488
77489         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
77490
77491         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
77492         Avoid warning by casting result to `char *' to remove `const'.
77493
77494 2000-06-28  Jim Meyering  <meyering@lucent.com>
77495
77496         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
77497         included by quotearg.c, for which we perform this test.  From
77498         Bruno Haible.
77499
77500 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77501
77502         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
77503         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
77504         <utmpx.h> exists, put readutmp.o into LIBOBJS.
77505
77506 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
77507
77508         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
77509
77510 2000-06-26  Paul Eggert  <eggert@twinsun.com>
77511
77512         savedir now sets errno on failure and invokes xmalloc to get memory.
77513         Fix a couple of other minor bugs while we're at it.
77514
77515         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
77516         (NAMLEN): Remove macro.
77517         (malloc, realloc): Remove decls.
77518         (stpcpy): Likewise.
77519         ("xalloc.h"): Include.
77520         (NAME_SIZE_DEFAULT): New macro.
77521         (savedir): Use xmalloc / xrealloc to allocate memory.
77522         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
77523         Skip "" directory entries.
77524         Use strlen to calculate directory entry length, since the old method
77525         is rarely used these days and isn't worth supporting.
77526         Don't use a pointer after freeing it.
77527         Check for integer overflow when calculating allocation size.
77528         Use memcpy to copy entries, instead of stpcpy.
77529         Set errno properly when returning NULL.
77530         Check for readdir error.
77531
77532 2000-06-26  Jim Meyering  <meyering@lucent.com>
77533
77534         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
77535
77536 2000-06-25  Jim Meyering  <meyering@lucent.com>
77537
77538         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
77539         Linux header bug when _XOPEN_SOURCE is defined to 500.
77540
77541 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
77542
77543         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
77544         deficiency.
77545
77546 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
77547
77548         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
77549         Include xalloc.h.
77550         Don't include <stdlib.h>.  Don't declare malloc, realloc.
77551
77552 2000-06-24  Jim Meyering  <meyering@lucent.com>
77553
77554         * m4/strerror_r.m4: Revive this file -- to try out an experimental
77555         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
77556         for which strerror does return char*, but which lacks a conveniently
77557         accessible declaration of the function.  If the compile-test says
77558         strerror_r doesn't work, then resort to a `run'-test that works on
77559         BeOS and segfaults on DEC Unix.
77560
77561 2000-06-24  Jim Meyering  <meyering@lucent.com>
77562
77563         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
77564
77565 2000-06-23  Paul Eggert  <eggert@twinsun.com>
77566
77567         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
77568         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
77569
77570 2000-06-23  Paul Eggert  <eggert@twinsun.com>
77571
77572         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
77573         (mbrtowc, mbstate_t): Define substitutes if
77574         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
77575         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
77576         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
77577
77578 2000-06-23  Jim Meyering  <meyering@lucent.com>
77579
77580         * m4/afs.m4: Add missing AC_MSG_RESULT.
77581         Reported by Bruno Haible.
77582
77583         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
77584         Suggestion from Bruno Haible.
77585
77586 2000-06-23  Jim Meyering  <meyering@lucent.com>
77587
77588         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
77589
77590 2000-06-21  Jim Meyering  <meyering@lucent.com>
77591
77592         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
77593
77594 2000-06-21  Jim Meyering  <meyering@lucent.com>
77595
77596         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
77597         (noinst_HEADERS): Add getstr.h.
77598
77599         * lib/getline.c (getstr): Move into a separate file.
77600         * lib/getstr.c (getstr): New file, extracted from getline.c, with
77601         the following changes: new parameter, delim2; both delim[12]
77602         parameters have type `int', not `char'.  The latter would lose
77603         with 8-bit delimiters.
77604         * lib/getstr.h: New file.
77605
77606 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
77607
77608         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
77609         than 1024, return a memory chunk of least possible size, instead
77610         of size PATH_MAX + 2. In the loop, increment the size proportionally.
77611         Use free/xmalloc instead of xrealloc to avoid copying for very long
77612         paths.
77613
77614 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
77615
77616         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
77617         the empty string.
77618
77619 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
77620
77621         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
77622         address, not strdup.  Include <stdlib.h> and don't declare free().
77623
77624 2000-06-19  Jim Meyering  <meyering@lucent.com>
77625
77626         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
77627
77628 2000-06-18  Jim Meyering  <meyering@lucent.com>
77629
77630         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
77631
77632         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
77633         `checking whether...' message to be consistent with that of the
77634         lstat test.
77635
77636 2000-06-18  Jim Meyering  <meyering@lucent.com>
77637
77638         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
77639         Besides, these days every porting target provides a mkdir function.
77640
77641         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
77642         needed. (this snippet comes from src/system.h).
77643
77644 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
77645
77646         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
77647
77648 2000-06-15  Paul Eggert  <eggert@twinsun.com>
77649
77650         * lib/human.c (adjust_value): New function.
77651         (human_readable_inexact): Apply rounding style even when
77652         printing approximate values.
77653
77654 2000-06-14  Paul Eggert  <eggert@twinsun.com>
77655
77656         * lib/human.c (human_readable_inexact): Allow an input block
77657         size that is not a multiple of the output block size, and vice versa.
77658         Reported by Piergiorgio Sartor.
77659
77660 2000-06-14  Paul Eggert  <eggert@twinsun.com>
77661
77662         * lib/getdate.y (get_date): Apply relative times after time
77663         zone indicator, not before.  Reported by Todd A. Jacobs.
77664
77665 2000-06-13  Jim Meyering  <meyering@lucent.com>
77666
77667         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
77668
77669         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
77670
77671 2000-06-12  Paul Eggert  <eggert@twinsun.com>
77672
77673         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
77674
77675 2000-06-12  Jim Meyering  <meyering@lucent.com>
77676
77677         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
77678         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
77679         optional argument.
77680         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
77681         the optional argument, `lib'.
77682
77683 2000-06-08  Jim Meyering  <meyering@lucent.com>
77684
77685         * m4/largefile.m4: Remove file (now that it's part of autoconf).
77686
77687 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77688
77689         Rewrite largefile configuration so that we don't need to run
77690         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
77691         AC_CANONICAL_HOST in configure.in -- jmm]
77692
77693         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
77694         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
77695         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
77696         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
77697         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
77698         All uses changed.
77699         Instead of inspecting the output of getconf, try to compile the
77700         test program without and with the macro definition.
77701         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
77702         for getconf.  Instead, check for the needed flags by compiling
77703         test programs.
77704
77705 2000-06-04  Paul Eggert  <eggert@twinsun.com>
77706
77707         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
77708
77709 2000-06-04  Jim Meyering  <meyering@lucent.com>
77710
77711         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
77712         SunOS 4.1.4 for which gid_t is an unsigned type.
77713
77714 2000-06-03  Jim Meyering  <meyering@lucent.com>
77715
77716         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
77717         now that autoconf requires that.
77718
77719         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
77720         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
77721         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
77722
77723 2000-06-03  Jim Meyering  <meyering@lucent.com>
77724
77725         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
77726
77727 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77728
77729         * m4/glibc21.m4: New file.
77730         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
77731
77732 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
77733
77734         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
77735         newer, don't install charset.alias.
77736         * lib/config.charset: Change the Linux/glibc rules so they become empty
77737         on glibc-2.1 or newer.
77738
77739 2000-06-02  Jim Meyering  <meyering@lucent.com>
77740
77741         * lib/mountlist.c: Back out last change.  Instead, do this...
77742         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
77743         me_dummy member using the same `ignore'-testing code.
77744         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
77745         fs_type strings.
77746         From Mark D. Roth.
77747
77748 2000-05-29  Jim Meyering  <meyering@lucent.com>
77749
77750         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
77751         mounts with the `ignore' attribute.  Based on a patch from
77752         Mark D. Roth.
77753
77754 2000-05-28  Jim Meyering  <meyering@lucent.com>
77755
77756         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
77757         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77758         * m4/stat.m4: Likewise.
77759         * m4/lstat.m4: Likewise.
77760         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
77761
77762         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
77763         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
77764
77765 2000-05-26  Jim Meyering  <meyering@lucent.com>
77766
77767         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
77768
77769 2000-05-24  Jim Meyering  <meyering@lucent.com>
77770
77771         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
77772         autoconf requires that.
77773         * m4/lib-check.m4: Likewise.
77774         * m4/jm-macros.m4: Likewise.
77775         * m4/strftime.m4: Likewise.
77776
77777         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
77778         AC_CHECK_DECLS, now that autoconf requires that.
77779
77780 2000-05-22  Jim Meyering  <meyering@lucent.com>
77781
77782         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
77783         * m4/lstat.m4: Likewise.
77784
77785 2000-05-22  Jim Meyering  <meyering@lucent.com>
77786
77787         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
77788
77789 2000-05-20  Jim Meyering  <meyering@lucent.com>
77790
77791         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
77792         (jm_PREREQ): Use it.
77793
77794 2000-05-18  Jim Meyering  <meyering@lucent.com>
77795
77796         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
77797         back, too, since it may have been modified by allocate_entry.
77798         (hash_delete): Rewrite to use neither the assignment operator
77799         nor the comma operator in an if-expression.
77800
77801 2000-05-15  Paul Eggert  <eggert@twinsun.com>
77802
77803         * lib/closeout.c:
77804         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
77805         Remove; no longer needed.
77806         "quotearg.h": Add include.
77807         (file_name): Do not bother to explicitly initialize to NULL; it's less
77808         efficient on some hosts.
77809         (close_stdout_status): Remove test as to whether stdout was already
77810         closed; it breaks for the case "echo x | sort >&-".
77811         Quote file name colons.
77812         Do not assume that _("write error") lacks format strings.
77813
77814 2000-05-15  Jim Meyering  <meyering@lucent.com>
77815
77816         * lib/version-etc.c (version_etc_copyright): Update the copyright
77817         string used in all --version output.
77818
77819 2000-05-14  Jim Meyering  <meyering@lucent.com>
77820
77821         * lib/closeout.c (close_stdout_set_file_name): New function.
77822         (close_stdout_status): Use new file-scoped global.
77823         Return right away if fstat says the stdout file descriptor is invalid.
77824         * lib/closeout.h (close_stdout_set_file_name): Declare.
77825
77826 2000-05-10  Jim Meyering  <meyering@lucent.com>
77827
77828         * lib/closeout.c [default_exit_status]: New file-scoped variable.
77829         (close_stdout_set_status): New function.
77830         * lib/closeout.h (close_stdout_set_status): Declare.
77831
77832 2000-05-09  Jim Meyering  <meyering@lucent.com>
77833
77834         * m4/gettext.m4: Rename this...
77835         * m4/libintl.m4: ...to this.
77836
77837 2000-05-08  Jim Meyering  <meyering@lucent.com>
77838
77839         * lib/long-options.c: Don't include closeout.h.
77840         (parse_long_options): Don't call close_stdout for --version.
77841
77842 2000-05-06  Paul Eggert  <eggert@twinsun.com>
77843
77844         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
77845         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
77846         2.1.3 bug.  This avoids a clash when files like regex.c define
77847         _GNU_SOURCE.
77848
77849 2000-05-06  Jim Meyering  <meyering@lucent.com>
77850
77851         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
77852         (AC_REPLACE_FUNCS): Add strnlen.
77853
77854         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
77855         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
77856
77857         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
77858         AC_SEARCH_LIBS call for nanosleep.
77859         (LIB_NANOSLEEP): Set and AC_SUBST.
77860
77861 2000-05-06  Jim Meyering  <meyering@lucent.com>
77862
77863         * lib/strnlen.c: Undefine __strnlen and strnlen.
77864         [!weak_alias]: Define __strnlen to strnlen.
77865
77866         * lib/atexit.c: New file, from libiberty.
77867
77868 2000-05-06  Jim Meyering  <meyering@lucent.com>
77869
77870         * lib/closeout.c (close_stdout_status): Also check for errors on the
77871         stderr stream.
77872
77873 2000-05-05  Jim Meyering  <meyering@lucent.com>
77874
77875         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
77876         AC_SEARCH_LIBS call for clock_gettime.
77877         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
77878
77879         * m4/search-libs.m4: Update from autoconf.
77880
77881         su doesn't work on Solaris 2.6.
77882         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
77883         <shadow.h>.  Reported by Dragos Harabor.
77884
77885 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
77886
77887         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
77888         memcpy instead of xmalloc, xrealloc, path_concat.
77889         (locale_charset): Treat empty environment variables as absent.
77890         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
77891
77892 2000-05-04  Jim Meyering  <meyering@lucent.com>
77893
77894         * lib/getopt.c: Update from glibc.
77895         * lib/obstack.c: Likewise.
77896         * lib/obstack.h: Likewise.
77897         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
77898         file
77899
77900         * lib/regex.h: Likewise.
77901         * lib/strndup.c: Likewise.
77902         * lib/strnlen.c: New file, from glibc.
77903
77904 2000-05-03  Jim Meyering  <meyering@lucent.com>
77905
77906         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
77907
77908 2000-05-02  Paul Eggert  <eggert@twinsun.com>
77909
77910         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
77911         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
77912         compile-time test, rather than inspecting host and OS, to
77913         decide whether to define _LARGEFILE_SOURCE.
77914
77915 2000-05-01  Jim Meyering  <meyering@lucent.com>
77916
77917         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
77918
77919         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
77920         Based on a patch from Bruno Haible.
77921
77922 2000-05-01  Jim Meyering  <meyering@lucent.com>
77923
77924         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
77925
77926 2000-04-29  Jim Meyering  <meyering@lucent.com>
77927
77928         * lib/path-concat.c: Declare strdup only if it's not defined.
77929         * lib/canon-host.c: Likewise.
77930
77931 2000-04-28  Jim Meyering  <meyering@lucent.com>
77932
77933         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
77934         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
77935         is included first, then limits.h is included by locale.h by libintl.h.
77936         From John David Anglin.
77937
77938 2000-04-25  Jim Meyering  <meyering@lucent.com>
77939
77940         * lib/makepath.c (S_IRWXUGO): Define.
77941         (make_path): Always perform explicit chmod if MODE specifies any
77942         of the `special' permission bits.  Prompted by a bug report against
77943         install from Mate Wierdl and Joost van Baal.
77944
77945 2000-04-18  Jim Meyering  <meyering@lucent.com>
77946
77947         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
77948         (jm_PREREQ): Use it.
77949
77950 2000-04-18  Jim Meyering  <meyering@lucent.com>
77951
77952         * lib/README: New file.
77953
77954         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
77955         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
77956
77957 2000-04-17  Jim Meyering  <meyering@lucent.com>
77958
77959         Get it right :-)
77960         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
77961         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
77962         Suggestion from Akim Demaille.
77963
77964 2000-04-17  Jim Meyering  <meyering@lucent.com>
77965
77966         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
77967         the definition of it to rpl_strftime also defined-away the system's
77968         declaration.
77969
77970 2000-04-15  Jim Meyering  <meyering@lucent.com>
77971
77972         Use `C' to denote so-called `contiguous' files, the same way
77973         that tar does.
77974         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
77975         (ftypelet): Use S_ISCTG.
77976         From Michael Deutschmann.
77977
77978 2000-04-14  Jim Meyering  <meyering@lucent.com>
77979
77980         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
77981         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
77982         clobbered.
77983
77984 2000-04-14  Jim Meyering  <meyering@lucent.com>
77985
77986         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
77987
77988 2000-04-13  Jim Meyering  <meyering@lucent.com>
77989
77990         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
77991         AH_VERBATIM to insert required #ifndef into config.h.in.
77992         Suggestion from Akim Demaille.
77993
77994 2000-04-12  Jim Meyering  <meyering@lucent.com>
77995
77996         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
77997         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
77998         Christian Krackowizer.
77999
78000         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
78001         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
78002         (AC_SYS_LARGEFILE): Require.
78003         (AM_C_PROTOTYPES): Require.
78004
78005 2000-04-08  Jim Meyering  <meyering@lucent.com>
78006
78007         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
78008         names don't conflict.  Reported by Eli Zaretskii.
78009
78010 2000-04-07  Jim Meyering  <meyering@lucent.com>
78011
78012         * lib/putenv.c: Move inclusion of errno.h so it follows that of
78013         sys/types.h, to work around system header problems on AIX 3.2.5.
78014         From Bruno Haible.
78015
78016 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
78017
78018         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
78019         bug.  Deal with the different error behavior of Irix iconv.
78020
78021 2000-04-05  Paul Eggert  <eggert@twinsun.com>
78022
78023         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
78024         IRIX if the installer said otherwise.
78025
78026 2000-04-05  Jim Meyering  <meyering@lucent.com>
78027
78028         Portability tweaks required for ultrix4.3.
78029         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
78030         (jm_CHECK_DECLS): Add getutent to the list of functions.
78031         (_jm_DECL_HEADERS): Add utmpx.h.
78032         From John David Anglin.
78033
78034         * m4/strftime.m4: Back out the 2000-04-02 change.
78035         Instead of that change, simply undefine putenv in the test program.
78036
78037 2000-04-05  Jim Meyering  <meyering@lucent.com>
78038
78039         Portability tweaks required for ultrix4.3.
78040         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
78041         getutent.
78042         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
78043         * lib/canon-host.c: Declare strdup.
78044         * lib/path-concat.c: Likewise.
78045         From John David Anglin.
78046
78047 2000-04-04  Jim Meyering  <meyering@lucent.com>
78048
78049         Be more DOS 8.3-friendly.
78050         * lib/ref-add.sin: Renamed from ref-add.sed.in.
78051         * lib/ref-del.sin: Renamed from ref-del.sed.in.
78052         * lib/Makefile.am: Reflect renaming.
78053         Reported by Eli Zaretskii.
78054
78055         Use a temporary file name that won't clash with `charset.alias'
78056         in the DOS 8.3 name space.
78057         * lib/Makefile.am (charset_tmp): Define.
78058         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
78059         (uninstall-local): Likewise.
78060         Reported by Eli Zaretskii.
78061
78062 2000-04-03  Jim Meyering  <meyering@lucent.com>
78063
78064         * m4/gettext.m4: Fix typo in comment.
78065
78066         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
78067         textutils/configure.in).  Suggestion from Paul Eggert.
78068         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
78069
78070 2000-04-02  Paul Eggert  <eggert@twinsun.com>
78071
78072         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
78073         variable in the shell rather than using putenv, which isn't
78074         portable.  This avoids the configure-time inter-test dependency
78075         on the potentially-renamed putenv function.
78076
78077 2000-03-30  Paul Eggert  <eggert@twinsun.com>
78078
78079         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
78080         before checking struct stat.st_blksize, so that
78081         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
78082
78083 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78084
78085         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
78086         since strftime.c uses HAVE_STRFTIME to decide whether to use
78087         the underlying strftime.
78088
78089 2000-03-29  Paul Eggert  <eggert@twinsun.com>
78090
78091         * lib/time/strftime.c (my_strftime): Make sure we call the system
78092         strftime, not ourselves, when invoking the underlying strftime.
78093
78094 2000-03-24  Jim Meyering  <meyering@lucent.com>
78095
78096         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
78097         (charset_alias): Define.
78098         (install-exec-local): Factor out common code.
78099         (uninstall-local): Split lines longer than 80.
78100         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
78101         (SUFFIXES): Define.
78102         (.sed.in.sed): New rule.  Don't redirect directly to $@.
78103         (CLEANFILES): Add ref-add.sed and ref-del.sed.
78104
78105 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
78106
78107         * lib/config.charset: Output a line containing "Packages using this
78108         file".
78109         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
78110         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
78111         ref-del.sed): New rules.
78112
78113 2000-03-17  Jim Meyering  <meyering@lucent.com>
78114
78115         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
78116         Otherwise, include <strings.h>
78117
78118 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
78119
78120         * lib/unicodeio.c (utf8_wctomb): New function.
78121         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
78122         format instead of in UCS-4 with platform dependent endianness.
78123
78124 2000-03-10  Jim Meyering  <meyering@lucent.com>
78125
78126         * m4/lib-check.m4: Look for getspnam in -lgen, too.
78127         From Marco Franzen.
78128
78129 2000-03-07  Paul Eggert  <eggert@twinsun.com>
78130
78131         * lib/savedir.c (savedir): Work even if directory size is
78132         negative; this can happen with some screwy NFS configurations.
78133
78134 2000-03-06  Jim Meyering  <meyering@lucent.com>
78135
78136         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
78137         if it's NULL (because we ran out of memory).  From Bruno Haible.
78138
78139 2000-03-05  Jim Meyering  <meyering@lucent.com>
78140
78141         * lib/localcharset.c ("path-concat.h"): Include.
78142         (get_charset_aliases): Use path_concat instead of ANSI string
78143         concatenation.
78144
78145         * lib/unicodeio.h (PARAMS): Define.
78146         Use it to guard prototype.
78147
78148 2000-03-04  Jim Meyering  <meyering@lucent.com>
78149
78150         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
78151         for lib/localcharset.c.
78152
78153 2000-03-04  Jim Meyering  <meyering@lucent.com>
78154
78155         * lib/Makefile.am (install-exec-local): Create $(libdir) before
78156         installing into it.
78157         (uninstall-local): Uncomment this rule so `make distcheck' works
78158         once again.
78159
78160         * lib/unicodeio.c (<errno.h>): Include it.
78161         (errno): Declare if not defined.
78162
78163         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
78164
78165         * lib/config.charset: New version, incorporating remarks from a linux
78166         i18n mailing list.  From Bruno Haible.
78167
78168 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
78169
78170         * m4/codeset.m4: New file.
78171         * m4/iconv.m4: New file.
78172         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
78173
78174 2000-03-03  Jim Meyering  <meyering@lucent.com>
78175
78176         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
78177
78178 2000-03-02  Jim Meyering  <meyering@lucent.com>
78179
78180         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
78181         the messages come out on separate lines.
78182
78183         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
78184         rather than jm_CHECK_DECLARATIONS.
78185         * m4/decl.m4: Remove now-unused file.
78186
78187         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
78188         geteuid.
78189
78190 2000-03-02  Jim Meyering  <meyering@lucent.com>
78191
78192         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
78193
78194 2000-03-01  Jim Meyering  <meyering@lucent.com>
78195
78196         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
78197         * lib/unicodeio.c: Likewise.
78198
78199 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
78200
78201         * lib/config.charset: New file.
78202         * lib/localcharset.c: New file.
78203         * lib/unicodeio.h, lib/unicodeio.c: New files.
78204         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
78205         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
78206         (noinst_HEADERS): Add unicodeio.h.
78207         (all-local, install-exec-local, charset.alias): New targets.
78208
78209 2000-02-28  Paul Eggert  <eggert@twinsun.com>
78210
78211         * lib/quotearg.c (ALERT_CHAR): New macro.
78212         (quotearg_buffer_restyled): Use it.
78213
78214 2000-02-27  Jim Meyering  <meyering@lucent.com>
78215
78216         * m4/check-decl.m4: Add getenv to the list.
78217
78218 2000-02-27  Jim Meyering  <meyering@lucent.com>
78219
78220         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
78221         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
78222
78223         * lib/backupfile.c: Guard inclusion of stdlib.h with
78224         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
78225         Declare malloc if needed.
78226
78227         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
78228         `#ifndef HAVE_DECL..'
78229         now that autoconf always defines the HAVE_DECL_ symbols.
78230         * lib/human.c: Likewise.
78231         * lib/same.c: Likewise.
78232         * lib/strtoumax.c: Likewise.
78233
78234         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
78235         declaration check was not run.
78236         * lib/hash.c: Likewise.
78237         * lib/human.c: Likewise.
78238         * lib/same.c: Likewise.
78239         * lib/strtoumax.c: Likewise.
78240
78241         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
78242         `.', then first look up the entire `.'-containing string as a login
78243         name.
78244
78245 2000-02-23  Jim Meyering  <meyering@lucent.com>
78246
78247         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
78248         in place of my hack.
78249
78250 2000-02-18  Paul Eggert  <eggert@twinsun.com>
78251
78252         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
78253         (textint): New typedef.
78254         (parser_control): Member year changed from int to textint.
78255         All uses changed.
78256         (YYSTYPE): Removed; replaced by %union with int and textint members.
78257         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
78258         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
78259         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
78260         (tSNUMBER, tUNUMBER): Now of type <textintval>.
78261         (date, number, to_year): Use width of number in digits, not its value,
78262         to determine whether it's a 2-digit year, or a 2-digit time.
78263         (yylex): Store number of digits of numeric tokens.
78264         Reported by John Kendall.
78265
78266         (parser_control): Changed from struct parser_control to typedef (for
78267         consistency).  All uses changed.
78268
78269         (tID): Removed; not used.
78270         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
78271
78272 2000-02-14  Paul Eggert  <eggert@twinsun.com>
78273
78274         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
78275         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
78276
78277 2000-02-12  Jim Meyering  <meyering@lucent.com>
78278
78279         * lib/userspec.c (ISDIGIT): Define it.
78280         (isdigit): Remove definition.
78281         (is_number): Use ISDIGIT, not isdigit.
78282         <libintl.h>: Include.
78283         (_ and N_): Define.
78284         (parse_user_spec): Mark translatable strings.
78285
78286 2000-02-10  Jim Meyering  <meyering@lucent.com>
78287
78288         With these changes, nanosleep.[ch] are finally enough like the other
78289         lib/* replacement files to compile on a few more losing systems.
78290
78291         * lib/nanosleep.h: Don't include config.h.
78292         Remove prototype from declaration of nanosleep.
78293         (PARAMS): Remove now-unneeded definition.
78294         * lib/nanosleep.c: #undef nanosleep.
78295         (rpl_nanosleep): Rename from nanosleep.
78296
78297 2000-02-10  Jim Meyering  <meyering@lucent.com>
78298
78299         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
78300         gnu_nanosleep to rpl_nanosleep.
78301
78302 2000-02-09  Jim Meyering  <meyering@lucent.com>
78303
78304         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
78305         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
78306
78307 2000-02-08  Akim Demaille  <akim@epita.fr>
78308
78309         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
78310         `[' and `]' and remove uses of `changequote'.
78311         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
78312         (AC_SYS_LARGEFILE): Likewise.
78313         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
78314         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
78315         of changequote.
78316         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
78317         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
78318         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
78319         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
78320
78321 2000-02-05  Jim Meyering  <meyering@lucent.com>
78322
78323         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
78324         Remove explicit use of AC_HEADER_TIME.  It is required by
78325         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
78326         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
78327         in autoconf whereby the expansion of the latter ended up preceding
78328         the expansion of its prerequisite, AC_HEADER_TIME.
78329         Reported by Volker Borchert.
78330
78331 2000-02-03  Jim Meyering  <meyering@lucent.com>
78332
78333         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
78334
78335 2000-02-03  Jim Meyering  <meyering@lucent.com>
78336
78337         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
78338         rather than with `#if HAVE_UTMPNAME'.
78339
78340 2000-02-02  Jim Meyering  <meyering@lucent.com>
78341
78342         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
78343         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
78344         Reported by Eli Zaretskii.
78345
78346 2000-02-01  Jim Meyering  <meyering@lucent.com>
78347
78348         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
78349
78350 2000-01-31  Jim Meyering  <meyering@lucent.com>
78351
78352         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
78353         functions.  Add the time.h and sys/time.h headers along with the
78354         AC_REQUIRE'ment of AC_HEADER_TIME.
78355
78356 2000-01-31  Jim Meyering  <meyering@lucent.com>
78357
78358         * lib/nanosleep.h (nanosleep): Guard declaration with
78359         `#if ! HAVE_DECL_NANOSLEEP'.
78360         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
78361         the declaration in that vendor's sys/timers.h.
78362         Reported by Christian Krackowizer.
78363
78364         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
78365         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
78366         (ISPRINT): Likewise.
78367         Reported by Tom Tromey.
78368
78369 2000-01-30  Jim Meyering  <meyering@lucent.com>
78370
78371         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
78372
78373         * m4/prereq.m4 (utmp_includes): Define.
78374         Check for ut_user and ut_name members in both struct utmpx
78375         and struct utmp.
78376
78377 2000-01-30  Jim Meyering  <meyering@lucent.com>
78378
78379         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
78380         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
78381         header files where only utmpx.ut_user is declared.
78382
78383         * lib/readutmp.h (UT_USER): Define.
78384
78385 2000-01-29  Jim Meyering  <meyering@lucent.com>
78386
78387         * m4/lib-check.m4: New file containing library-related checks from
78388         fileutils and sh-utils (textutils had none).
78389
78390 2000-01-28  Jim Meyering  <meyering@lucent.com>
78391
78392         * m4/perl.m4: Change format of warning message to look more like that
78393         from the missing script.  Suggestion from François Pinard.
78394
78395 2000-01-25  Jim Meyering  <meyering@lucent.com>
78396
78397         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
78398         well as time.h in the compile check.
78399         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
78400         Fix typo in cross-compiling case: s/yes/no/.
78401
78402 2000-01-23  Jim Meyering  <meyering@lucent.com>
78403
78404         * m4/jm-macros.m4: Move df-related tests here from
78405         fileutils/configure.in
78406
78407         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
78408         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
78409
78410         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
78411         s/space/ac_fsusage_space/.
78412         (jm_FILE_SYSTEM_USAGE): Take two parameters.
78413
78414         * m4/ftruncate.m4: New file (derived from part of
78415         fileutils/configure.in).
78416         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
78417         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
78418
78419         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
78420         AC_SUBST these here, rather than just in sh-util/configure.in, so
78421         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
78422         all the same.
78423         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
78424         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
78425         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
78426         (AC_SUBST(POW_LIBM)): Likewise.
78427         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
78428
78429 2000-01-23  Jim Meyering  <meyering@lucent.com>
78430
78431         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
78432         obstack.c.
78433
78434 2000-01-22  Jim Meyering  <meyering@lucent.com>
78435
78436         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
78437
78438         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
78439
78440         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
78441         configure.in
78442         (AC_CHECK_HEADERS): Likewise for sh-utils.
78443         (AC_CHECK_HEADERS): Likewise for textutils.
78444         Merge the three lists of headers.
78445
78446         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
78447         from fileutils' configure.in.
78448
78449         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
78450         code. Moved tests into their own function (_jm_DECL_HEADERS) in
78451         check-decl.m4.
78452
78453         * m4/check-decl.m4: Use #if rather than #ifdef.
78454         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
78455         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
78456         (_jm_DECL_HEADERS): Define new function.
78457         (jm_CHECK_DECLARATIONS): Require it.
78458
78459 2000-01-22  Jim Meyering  <meyering@lucent.com>
78460
78461         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
78462         [! HAVE_DECL_STRTOULL]: Declare strtoull.
78463         Required for some AIX systems.  Reported by Christian Krackowizer.
78464         [TESTING] (main): New function.
78465
78466         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
78467         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
78468         letters.
78469
78470         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
78471         iswprint.
78472
78473         * lib/strverscmp.c (ISDIGIT): Define.
78474         (strverscmp): Use ISDIGIT, not isdigit.
78475
78476 2000-01-19  Jim Meyering  <meyering@lucent.com>
78477
78478         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
78479         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
78480         defines `struct timespec' in <sys/time.h>
78481
78482         * m4/c-bs-a.m4: Remove uses of changequote altogether.
78483         Thanks to Akim for explaining.
78484
78485 2000-01-17  Paul Eggert  <eggert@twinsun.com>
78486
78487         * lib/nanosleep.c (nanosleep):
78488         Don't use SA_INTERRUPT to decide whether to call sigaction, as
78489         POSIX.1 doesn't require SA_INTERRUPT and some systems
78490         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
78491         it's been part of POSIX.1 since day 1 (in 1988).
78492
78493 2000-01-17  Jim Meyering  <meyering@lucent.com>
78494
78495         * lib/interlock: Remove unused file.  Reported by François Pinard.
78496
78497 2000-01-16  Paul Eggert  <eggert@twinsun.com>
78498
78499         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
78500         alert, backslash, formfeed, and vertical tab unnecessarily in
78501         shell quoting style.
78502
78503 2000-01-16  Jim Meyering  <meyering@lucent.com>
78504
78505         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
78506         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
78507         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
78508         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
78509
78510 2000-01-16  Jim Meyering  <meyering@lucent.com>
78511
78512         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
78513         because the latter didn't work.
78514
78515 2000-01-15  Jim Meyering  <meyering@lucent.com>
78516
78517         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
78518         (AC_REPLACE_FUNCS): Add memcpy and memset.
78519         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
78520         Add strpbrk.
78521         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
78522
78523 2000-01-12  Jim Meyering  <meyering@lucent.com>
78524
78525         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
78526         (jm_PREREQ): Use it.
78527         (jm_PREREQ_READUTMP): New macro.
78528         (jm_PREREQ): Use it.
78529
78530 2000-01-11  Paul Eggert  <eggert@twinsun.com>
78531
78532         Quote multibyte characters correctly.
78533         * m4/c-bs-a.m4: New file.
78534         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
78535         (jm_PREREQ): Use it.
78536
78537 2000-01-11  Paul Eggert  <eggert@twinsun.com>
78538
78539         * m4/uintmax_t.m4: Port to autoconf 2.13.
78540
78541 2000-01-08  Jim Meyering  <meyering@ascend.com>
78542
78543         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
78544         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
78545
78546 2000-01-04  Jim Meyering  <meyering@ascend.com>
78547
78548         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
78549         jm_STRUCT_DIRENT_D_TYPE.
78550         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
78551         jm_STRUCT_DIRENT_D_INO.
78552         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
78553         jm_STRUCT_UTIMBUF.
78554         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
78555         renamings.
78556         * m4/utime.m4: Likewise.
78557
78558         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
78559         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
78560
78561 2000-01-03  Paul Eggert  <eggert@twinsun.com>
78562
78563         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
78564         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
78565
78566 2000-01-02  Jim Meyering  <meyering@ascend.com>
78567
78568         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
78569         remember if this is necessary.
78570
78571 1999-12-26  Jim Meyering  <meyering@ascend.com>
78572
78573         * m4/jm-macros.m4: Use it here.
78574         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
78575
78576 1999-12-23  Jim Meyering  <meyering@ascend.com>
78577
78578         * m4/jm-macros.m4: Check for clock_gettime (moved from
78579         fileutils/configure.in)
78580         Check for gettimeofday.
78581
78582 1999-12-20  Jim Meyering  <meyering@ascend.com>
78583
78584         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
78585         autoconf-2.14a-1999-12-20.
78586
78587 1999-12-19  Jim Meyering  <meyering@ascend.com>
78588
78589         * m4/lstat-slash.m4: New file.
78590         * m4/jm-macros.m4: Use the new macro:
78591         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78592
78593 1999-12-07  Jim Meyering  <meyering@ascend.com>
78594
78595         * m4/perl.m4: Require that File::Compare be available, too.
78596         Too many systems seem to lack it.
78597
78598         * m4/strftime.m4: Add checks for most of the cpp macros tested in
78599         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
78600
78601 1999-11-18  Paul Eggert  <eggert@twinsun.com>
78602
78603         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
78604         problem with the QNX 4.25 shell, which doesn't propagate exit
78605         status of failed commands inside shell assignments.
78606
78607 1999-11-17  Jim Meyering  <meyering@ascend.com>
78608
78609         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
78610
78611 1999-11-07  Jim Meyering  <meyering@ascend.com>
78612
78613         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
78614
78615 1999-11-06  Jim Meyering  <meyering@ascend.com>
78616
78617         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
78618         * m4/jm-macros.m4 (jm_MACROS): Use it here.
78619
78620 1999-11-05  Jim Meyering  <meyering@ascend.com>
78621
78622         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
78623         configure.in of textutils, fileutils, and sh-utils into this one
78624         (shared between those packages) file.
78625         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
78626         AC_STRUCT_ST_BLKSIZE.
78627
78628 1999-11-03  Jim Meyering  <meyering@ascend.com>
78629
78630         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
78631         of AC_CHECK_TYPE checks includes unistd.h.
78632         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
78633         Suggestion from Akim Demaille.
78634
78635 1999-10-30  Jim Meyering  <meyering@ascend.com>
78636
78637         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
78638         m4-quoted string.
78639         * m4/ls-mntd-fs.m4: Likewise.
78640         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
78641         * m4/jm-winsz1.m4: Likewise.
78642
78643         * m4/const.m4: Remove file, since the fix made it into the experimental
78644         version of autoconf.
78645         * m4/mktime.m4: Likewise.
78646
78647         * m4/check-type.m4: Remove file, now that the latest version of
78648         AC_CHECK_TYPE takes a third arg to specify additional #includes.
78649
78650         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
78651         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
78652         AC_CHECK_TYPE.
78653
78654 1999-10-04  Jim Meyering  <meyering@ascend.com>
78655
78656         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
78657
78658 1999-09-22  Paul Eggert  <eggert@twinsun.com>
78659
78660         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
78661         2.95.1 bug with HP-UX 10.20.
78662
78663 1999-09-17  Jim Meyering  <meyering@ascend.com>
78664
78665         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
78666         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
78667         due to missing strdup (against sh-utils-2.0).
78668
78669 1999-08-29  Jim Meyering  <meyering@ascend.com>
78670
78671         * m4/jm-macros.m4: Require jm_BISON.
78672         * m4/bison.m4: New file.
78673
78674 1999-08-17  Paul Eggert  <eggert@twinsun.com>
78675
78676         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
78677         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
78678
78679 1999-08-05  Jim Meyering  <meyering@ascend.com>
78680
78681         * m4/getline.m4: Rename test file from conftestdata to conftest.data
78682         to avoid conflicts with `conftest' on 8+3 filesystems.
78683         Suggestion from Eli Zaretskii.
78684
78685 1999-08-04  Jim Meyering  <meyering@ascend.com>
78686
78687         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
78688         fileutils and sh-utils (textutils's getline test was inadequate).
78689         (AM_FUNC_GETLINE): Run this test.
78690         (AC_CHECK_FUNCS): Check for getdelim.
78691         Reported by Bob Proulx.
78692
78693 1999-08-02  Jim Meyering  <meyering@ascend.com>
78694
78695         * m4/jm-macros.m4: Add a comment.
78696
78697 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78698
78699         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
78700         <inttypes.h> defines strtoumax as a macro (and not as a
78701         function).
78702
78703 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78704
78705         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
78706         that we can shift, multiply and divide unsigned long long
78707         values; Ultrix cc can't do it.
78708
78709 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78710
78711         * m4/mktime.m4: New file, which is a preview of what should appear
78712         in the next public autoconf release.
78713
78714 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78715
78716         * m4/lfs.m4: Remove this file.
78717         * m4/largefile.m4: New file.  It contains the old contents of
78718         lfs.m4, except that all names with prefix AC_LFS have been
78719         changed to use the prefix AC_SYS_LARGEFILE instead, to be
78720         compatible with future autoconf versions.  Also, some minor m4
78721         quoting problems have been fixed.
78722
78723 1999-08-01  Paul Eggert  <eggert@twinsun.com>
78724
78725         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
78726         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
78727         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
78728         and simplify the shell code.
78729
78730 1999-08-01  Jim Meyering  <meyering@ascend.com>
78731
78732         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
78733         m4.
78734
78735 1999-07-20  Jim Meyering  <meyering@ascend.com>
78736
78737         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
78738
78739 1999-07-15  Jim Meyering  <meyering@ascend.com>
78740
78741         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
78742
78743 1999-05-22  Jim Meyering  <meyering@ascend.com>
78744
78745         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
78746
78747 1999-05-20  Jim Meyering  <meyering@ascend.com>
78748
78749         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
78750         Add a colon after each `then' in case $4 is empty.
78751
78752 1999-05-16  Jim Meyering  <meyering@ascend.com>
78753
78754         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
78755
78756 1999-05-10  Jim Meyering  <meyering@ascend.com>
78757
78758         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
78759
78760         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
78761         AC_FUNC_MKTIME.
78762
78763 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
78764
78765         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
78766
78767 1999-05-04  Paul Eggert  <eggert@twinsun.com>
78768
78769         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
78770         not CPPFLAGS, so that linking works correctly in IRIX.
78771
78772 1999-04-30  Paul Eggert  <eggert@twinsun.com>
78773
78774         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
78775
78776 1999-04-20  Paul Eggert  <eggert@twinsun.com>
78777
78778         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
78779         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
78780         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
78781         jm_AC_TYPE_UNSIGNED_LONG_LONG.
78782         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
78783
78784         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
78785
78786 1999-04-20  Jim Meyering  <meyering@ascend.com>
78787
78788         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
78789         AC_REPLACE xstroull if necessary.  From Paul Eggert.
78790         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
78791
78792 1999-04-18  Jim Meyering  <meyering@ascend.com>
78793
78794         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
78795         * m4/jm-macros.m4: Use it.
78796
78797 1999-04-06  Jim Meyering  <meyering@ascend.com>
78798
78799         * m4/strftime.m4: Remove test for %f.
78800
78801 1999-03-29  Jim Meyering  <meyering@ascend.com>
78802
78803         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
78804         superset of the AC_TYPE_* checks in the textutils, fileutils,
78805         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
78806         AC_TYPE_PID_T.
78807
78808 1999-03-28  Jim Meyering  <meyering@ascend.com>
78809
78810         * m4/jm-macros.m4: Define GNU_PACKAGE here.
78811         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
78812         replaced e.g., in the *.sh files of the sh-utils.
78813
78814 1999-03-20  Jim Meyering  <meyering@ascend.com>
78815
78816         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
78817         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
78818         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
78819
78820 1999-03-19  Jim Meyering  <meyering@ascend.com>
78821
78822         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
78823
78824 1999-03-12  Jim Meyering  <meyering@ascend.com>
78825
78826         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
78827
78828 1999-03-07  Jim Meyering  <meyering@ascend.com>
78829
78830         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
78831         declared.
78832
78833 1999-02-17  Jim Meyering  <meyering@ascend.com>
78834
78835         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
78836         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
78837
78838 1999-02-07  Jim Meyering  <meyering@ascend.com>
78839
78840         * m4/group-member.m4: New file -- extracted from sh-utils'
78841         configure.in.
78842
78843         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
78844         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
78845
78846 1999-02-06  Jim Meyering  <meyering@ascend.com>
78847
78848         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
78849         * m4/fnmatch.m4: Likewise.
78850         * m4/getgroups.m4: Likewise.
78851         * m4/lstat.m4: Likewise.
78852         * m4/malloc.m4: Likewise.
78853         * m4/putenv.m4: Likewise.
78854         * m4/realloc.m4: Likewise.
78855         * m4/regex.m4: Likewise.
78856         * m4/stat.m4: Likewise.
78857         * m4/strftime.m4: Likewise.
78858         Suggestion from Alain Magloire.
78859
78860         * m4/chown.m4: Use `.$ac_objext', not `.o'.
78861         * m4/fnmatch.m4: Likewise.
78862         * m4/getgroups.m4: Likewise.
78863         * m4/getline.m4: Likewise.
78864         * m4/lstat.m4: Likewise.
78865         * m4/malloc.m4: Likewise.
78866         * m4/memcmp.m4: Likewise.
78867         * m4/putenv.m4: Likewise.
78868         * m4/realloc.m4: Likewise.
78869         * m4/regex.m4: Likewise.
78870         * m4/stat.m4: Likewise.
78871         * m4/strftime.m4: Likewise.
78872         Suggestion from Alain Magloire.
78873
78874         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
78875         an argument.
78876
78877         * m4/regex.m4: Add a run-time Test for proper operation of
78878         re_compile_pattern.
78879
78880 1999-01-31  Jim Meyering  <meyering@ascend.com>
78881
78882         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
78883
78884 1999-01-30  Jim Meyering  <meyering@ascend.com>
78885
78886         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
78887
78888         * m4/jm-mktime.m4: Make this a wrapper around the official
78889         AM_FUNC_MKTIME rather than my private copy, now that the official one
78890         is up to date.
78891         * m4/mktime.m4: Remove file.
78892
78893         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
78894         * m4/uptime.m4: Likewise.
78895         * m4/uintmax_t.m4: Likewise.
78896
78897 1999-01-28  Jim Meyering  <meyering@ascend.com>
78898
78899         * m4/jm-macros.m4: Use jm_AFS.
78900         * m4/afs.m4: New file (from fileutils' configure.in).
78901
78902         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
78903         * m4/chown.m4: Likewise.
78904         * m4/d-ino.m4: Likewise.
78905         * m4/d-type.m4: Likewise.
78906         * m4/fnmatch.m4: Likewise.
78907         * m4/getgroups.m4: Likewise.
78908         * m4/gettext.m4: Likewise.
78909         * m4/jm-mktime.m4: Likewise.
78910         * m4/jm-winsz2.m4: Likewise.
78911         * m4/lcmessage.m4: Likewise.
78912         * m4/ls-mntd-fs.m4: Likewise.
78913         * m4/malloc.m4: Likewise.
78914         * m4/memcmp.m4: Likewise.
78915         * m4/putenv.m4: Likewise.
78916         * m4/realloc.m4: Likewise.
78917         * m4/st_mtim.m4: Likewise.
78918         * m4/strftime.m4: Likewise.
78919
78920 1999-01-16  Jim Meyering  <meyering@ascend.com>
78921
78922         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
78923         (ARGMATCH_DIE_DECL): Define.
78924
78925 1999-01-12  Jim Meyering  <meyering@ascend.com>
78926
78927         * m4/Makefile.am.in: Rewrite to avoid using fmt.
78928         Reported by Lars Hecking.
78929
78930 1999-01-10  Jim Meyering  <meyering@ascend.com>
78931
78932         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
78933         gross kludge.
78934         * m4/inttypes_h.m4: Likewise.
78935         * m4/lstat.m4: Likewise.
78936         * m4/malloc.m4: Likewise.
78937         * m4/readdir.m4: Likewise.
78938         * m4/realloc.m4: Likewise.
78939         * m4/st_dm_mode.m4: Likewise.
78940         * m4/stat.m4: Likewise.
78941         * m4/utimbuf.m4: Likewise.
78942         * m4/utimes.m4: Likewise.
78943
78944         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
78945         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
78946         comments in config.h.in are meaningful.
78947
78948         * m4/jm-macros.m4: Require autoconf-2.13 here.
78949
78950         * m4/regex.m4: By default, don't use the included regex.c on systems
78951         with glibc 2.  Suggestion from Uli Drepper.
78952
78953 1999-01-02  Jim Meyering  <meyering@ascend.com>
78954
78955         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
78956
78957 1998-12-18  Jim Meyering  <meyering@ascend.com>
78958
78959         * m4/Makefile.am.in (Makefile.am): Simplify rule.
78960         Based on a suggestion from Lars Hecking.
78961
78962 1998-11-16  Paul Eggert  <eggert@twinsun.com>
78963
78964         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
78965
78966 1998-11-16  Jim Meyering  <meyering@ascend.com>
78967
78968         * m4/lfs.m4: Double-quote the `uname...` expression.
78969
78970 1998-11-14  Jim Meyering  <meyering@ascend.com>
78971
78972         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
78973         * m4/stat.m4: Likewise.
78974
78975 1998-11-03  Jim Meyering  <meyering@ascend.com>
78976
78977         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
78978         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
78979
78980 1998-10-18  Jim Meyering  <meyering@ascend.com>
78981
78982         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
78983
78984 1998-10-17  Jim Meyering  <meyering@ascend.com>
78985
78986         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
78987         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
78988         calls for those previously hard-coded headers.  Instead, take a new
78989         parameter.
78990         (jm_CHECK_DECLARATIONS): Reflect interface change.
78991         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
78992         (jm_CHECK_DECL_LOCALTIME_R): New macro.
78993
78994         * m4/mktime.m4: Test for spring-forward gap before long-running test.
78995
78996 1998-10-14  Jim Meyering  <meyering@ascend.com>
78997
78998         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
78999         instead of "TZ=America/Vancouver".  From Paul Eggert.
79000
79001 1998-10-11  Jim Meyering  <meyering@ascend.com>
79002
79003         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
79004         This adds a test for a recently added compatibility fix for mktime.c.
79005         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
79006
79007 1998-09-27  Jim Meyering  <meyering@ascend.com>
79008
79009         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
79010
79011         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
79012         ../configure.in, including a change from Gordon Matzigkeit to allow
79013         cross-compiling for the Hurd.
79014
79015         * m4/glibc.m4: New file/macro to test for the GNU C Library
79016         versions 1 and 2.  From Gordon Matzigkeit.
79017         Indent.
79018
79019 1998-09-21  Jim Meyering  <meyering@ascend.com>
79020
79021         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
79022
79023 1998-08-18  Paul Eggert  <eggert@twinsun.com>
79024
79025         Port nanosecond-resolution times to UnixWare 2.1.2 and
79026         pedantic Solaris 2.6.
79027
79028         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
79029         AC_STRUCT_ST_MTIM.
79030         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
79031         Generate name of ns member, instead of just 1 or undef.
79032         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
79033
79034 1998-08-15  Jim Meyering  <meyering@ascend.com>
79035
79036         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
79037         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
79038         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
79039         instead of jm_TYPE_SSIZE_T.
79040
79041 1998-08-12  Jim Meyering  <meyering@ascend.com>
79042
79043         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
79044
79045 1998-08-02  Jim Meyering  <meyering@ascend.com>
79046
79047         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
79048         in acconfig.h manually.
79049
79050 1998-07-31  Paul Eggert  <eggert@twinsun.com>
79051
79052         * m4/st_mtim.m4: New file.
79053
79054 1998-07-28  Jim Meyering  <meyering@ascend.com>
79055
79056         * m4/utimes.m4: Undef stat.
79057
79058 1998-07-25  Jim Meyering  <meyering@ascend.com>
79059
79060         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
79061         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
79062
79063 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
79064
79065         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
79066         uid and gid actually remain unchanged.
79067
79068 1998-07-07  Jim Meyering  <meyering@ascend.com>
79069
79070         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
79071
79072 1998-07-04  Jim Meyering  <meyering@ascend.com>
79073
79074         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
79075         to prove that this macro can be used in packages without regex.c.
79076
79077 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
79078
79079         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
79080         is to be used.
79081
79082 1998-07-03  Jim Meyering  <meyering@ascend.com>
79083
79084         * m4/gettext.m4: Add -lintl if it's found to be necessary.
79085
79086         * m4/gettext.m4: New file -- from gettext-0.10.35.
79087         * m4/lcmessage.m4: Likewise.
79088         * m4/progtest.m4: Likewise.
79089
79090         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
79091         * m4/jm-macros.m4: Require the new macro.
79092
79093 1998-06-29  Jim Meyering  <meyering@ascend.com>
79094
79095         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
79096         for the definition of NGROUPS (used in a system header included
79097         by sys/mount.h).
79098
79099 1998-06-28  Jim Meyering  <meyering@ascend.com>
79100
79101         * m4/ls-mntd-fs.m4: New file.
79102         * m4/fstypename.m4: New file.
79103
79104         * m4/jm-macros.m4: Require the new macro.
79105         * m4/jm-glibc-io.m4: New file.
79106
79107 1998-05-19  Jim Meyering  <meyering@ascend.com>
79108
79109         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
79110         * m4/lchown.m4: New file.
79111
79112         * m4/Makefile.am.in: New file.
79113         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
79114
79115 1998-05-14  Jim Meyering  <meyering@ascend.com>
79116
79117         * m4/Makefile.am (EXTRA_DIST): Add them.
79118         * m4/jm-macros.m4: New file.
79119         * m4/utimbuf.m4: New file.
79120
79121 1998-05-12  Jim Meyering  <meyering@ascend.com>
79122
79123         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
79124
79125 1998-05-11  Jim Meyering  <meyering@ascend.com>
79126
79127         * m4/isc-posix.m4: New file.
79128
79129 1998-05-10  Jim Meyering  <meyering@ascend.com>
79130
79131         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
79132
79133 1998-05-09  Jim Meyering  <meyering@ascend.com>
79134
79135         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
79136         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
79137         with automake.
79138
79139         * m4/ssize_t.m4: New file.
79140         * m4/mktime.m4: Remove file -- the new automake has this now.
79141
79142 1998-04-26  Jim Meyering  <meyering@ascend.com>
79143
79144         * m4/assert.m4: New file.
79145         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
79146
79147 1998-04-05  Jim Meyering  <meyering@ascend.com>
79148
79149         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
79150         (jm_PREREQ): Use it here.
79151
79152 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
79153
79154         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
79155         in acconfig.h.
79156
79157 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
79158
79159         * m4/prereq.m4: New file.
79160         * m4/error.m4: New file.
79161         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
79162
79163 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
79164
79165         * m4/getline.m4: Don't set am_cv_func_working_getline before the
79166         cache-check for the same variable -- that defeated the purpose of
79167         the test; the test program was never run.  This was a problem only
79168         on systems with losing getline functions -- HP-UX 10.20 is one.
79169         Reported by Bjorn Helgaas.
79170
79171 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
79172
79173         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
79174
79175 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
79176
79177         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
79178
79179         * m4/const.m4: New file.  Use an initializer in this declaration
79180         typedef int charset[2]; const charset x;
79181         Reported by Bob Glickstein.
79182
79183 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
79184
79185         * m4/chown.m4: Fix reversed types on -1 args to chown.
79186         From Kaveh Ghazi.
79187
79188 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
79189
79190         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
79191         Add lseek and memchr.
79192
79193         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
79194         T.E.Dickey <dickey@clark.net> said that some older preprocessors
79195         have a 20-character limit on names.
79196
79197 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
79198
79199         * m4/inttypes_h.m4: New file.
79200         * m4/uintmax_t.m4: New file.
79201         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
79202
79203
79204         -----
79205
79206         Local Variables:
79207         coding: utf-8
79208         End:
79209
79210         Copyright (C) 1997-2011 Free Software Foundation, Inc.
79211
79212         Copying and distribution of this file, with or without
79213         modification, are permitted provided the copyright notice
79214         and this notice are preserved.